From 4b0c23e1589947ca7a37e5e1404ce52b9e83f547 Mon Sep 17 00:00:00 2001 From: Matthew Christopher Date: Wed, 6 Nov 2024 14:10:40 -0800 Subject: [PATCH] Add new 2024-09-01 containerservice API (#4419) - Fix issue in RepairSkippingProperties which could cause an issue when a type is reused among multiple resources, such as in a containerservice ManagedCluster and AgentPool. - Add new StripDocumentation pipeline stage, which can be used to strip descriptions off CRD types to reduce their size. - We don't want to do this in perpetuity, see #4418 which tracks removing some old versions of ManagedCluster so we can drop this in a future release. - Add support for 2024-09-01 version of AKS API. - Add support for MaintenanceConfiguration. --- docs/hugo/content/reference/_index.md | 11 + .../reference/containerservice/_index.md | 11 + ...nance_configuration_extension_types_gen.go | 20 + .../managed_cluster_extension_types_gen.go | 6 +- .../managed_cluster_extensions.go | 2 +- .../managed_cluster_extensions_test.go | 2 +- ...clusters_agent_pool_extension_types_gen.go | 6 +- .../managed_clusters_agent_pool_extensions.go | 3 +- .../customizations/structure.txt | 1 + ...access_role_binding_extension_types_gen.go | 6 +- .../arm/managed_cluster_spec_types_gen.go | 636 +- .../arm/managed_cluster_status_types_gen.go | 743 +- ...aged_clusters_agent_pool_spec_types_gen.go | 200 +- ...ed_clusters_agent_pool_status_types_gen.go | 200 +- .../managed_cluster_types_gen.go | 1360 +- .../managed_cluster_types_gen_test.go | 4 +- .../managed_clusters_agent_pool_types_gen.go | 395 +- ...aged_clusters_agent_pool_types_gen_test.go | 4 +- .../storage/managed_cluster_types_gen.go | 155 +- .../storage/managed_cluster_types_gen_test.go | 4 +- .../managed_clusters_agent_pool_types_gen.go | 8 - ...aged_clusters_agent_pool_types_gen_test.go | 4 +- .../arm/managed_cluster_spec_types_gen.go | 863 +- .../arm/managed_cluster_status_types_gen.go | 1023 +- ...aged_clusters_agent_pool_spec_types_gen.go | 207 +- ...ed_clusters_agent_pool_status_types_gen.go | 206 +- .../managed_cluster_types_gen.go | 1879 +- .../managed_cluster_types_gen_test.go | 4 +- .../managed_clusters_agent_pool_types_gen.go | 409 +- ...aged_clusters_agent_pool_types_gen_test.go | 4 +- .../storage/managed_cluster_types_gen.go | 261 +- .../storage/managed_cluster_types_gen_test.go | 217 +- .../managed_clusters_agent_pool_types_gen.go | 46 +- ...aged_clusters_agent_pool_types_gen_test.go | 33 +- .../managed_cluster_types_gen.go | 2536 +- .../managed_cluster_types_gen_test.go | 261 +- .../managed_clusters_agent_pool_types_gen.go | 635 +- ...aged_clusters_agent_pool_types_gen_test.go | 45 +- .../advanced_networking_status_types_gen.go | 215 + ...vanced_networking_status_types_gen_test.go | 225 + .../compat/advanced_networking_types_gen.go | 215 + .../advanced_networking_types_gen_test.go | 224 + ..._pool_security_profile_status_types_gen.go | 125 + ..._security_profile_status_types_gen_test.go | 124 + .../agent_pool_security_profile_types_gen.go | 125 + ...nt_pool_security_profile_types_gen_test.go | 124 + .../storage/compat/structure.txt | 29 + .../storage/compat/subpackage_info_gen.go | 9 + .../storage/compat/zz_generated.deepcopy.go | 196 + .../storage/managed_cluster_types_gen.go | 16775 +++++++++- .../storage/managed_cluster_types_gen_test.go | 5602 +++- .../managed_clusters_agent_pool_types_gen.go | 3337 +- ...aged_clusters_agent_pool_types_gen_test.go | 890 +- .../v1api20231001/storage/structure.txt | 151 + .../trusted_access_role_binding_types_gen.go | 415 +- ...sted_access_role_binding_types_gen_test.go | 170 + .../trusted_access_role_binding_types_gen.go | 59 +- ...sted_access_role_binding_types_gen_test.go | 11 +- .../arm/managed_cluster_spec_types_gen.go | 1224 +- .../arm/managed_cluster_status_types_gen.go | 1416 +- ...aged_clusters_agent_pool_spec_types_gen.go | 288 +- ...ed_clusters_agent_pool_status_types_gen.go | 292 +- .../managed_cluster_types_gen.go | 2624 +- .../managed_cluster_types_gen_test.go | 4 +- .../managed_clusters_agent_pool_types_gen.go | 565 +- ...aged_clusters_agent_pool_types_gen_test.go | 4 +- .../storage/managed_cluster_types_gen.go | 2607 +- .../storage/managed_cluster_types_gen_test.go | 685 +- .../managed_clusters_agent_pool_types_gen.go | 598 +- ...aged_clusters_agent_pool_types_gen_test.go | 210 +- .../storage/structure.txt | 14 + .../managed_cluster_types_gen_test.go | 4 +- ...aged_clusters_agent_pool_types_gen_test.go | 4 +- .../storage/managed_cluster_types_gen.go | 2059 +- .../storage/managed_cluster_types_gen_test.go | 173 +- ...aged_clusters_agent_pool_types_gen_test.go | 4 +- .../storage/structure.txt | 4 + .../trusted_access_role_binding_types_gen.go | 31 +- ...sted_access_role_binding_types_gen_test.go | 11 +- ...sted_access_role_binding_types_gen_test.go | 4 +- ...aintenance_configuration_spec_types_gen.go | 195 + ...nance_configuration_spec_types_gen_test.go | 752 + ...ntenance_configuration_status_types_gen.go | 239 + ...nce_configuration_status_types_gen_test.go | 831 + .../arm/managed_cluster_spec_types_gen.go | 1464 + .../managed_cluster_spec_types_gen_test.go | 4602 +++ .../arm/managed_cluster_status_types_gen.go | 1618 + .../managed_cluster_status_types_gen_test.go | 4996 +++ ...aged_clusters_agent_pool_spec_types_gen.go | 613 + ...clusters_agent_pool_spec_types_gen_test.go | 960 + ...ed_clusters_agent_pool_status_types_gen.go | 607 + ...usters_agent_pool_status_types_gen_test.go | 910 + .../v1api20240901/arm/structure.txt | 1341 + ...sted_access_role_binding_spec_types_gen.go | 38 + ...access_role_binding_spec_types_gen_test.go | 155 + ...ed_access_role_binding_status_types_gen.go | 54 + ...cess_role_binding_status_types_gen_test.go | 164 + v2/api/containerservice/v1api20240901/doc.go | 10 + .../v1api20240901/groupversion_info_gen.go | 32 + .../maintenance_configuration_types_gen.go | 3938 +++ ...aintenance_configuration_types_gen_test.go | 2475 ++ .../managed_cluster_types_gen.go | 27778 ++++++++++++++++ .../managed_cluster_types_gen_test.go | 15643 +++++++++ .../managed_clusters_agent_pool_types_gen.go | 8107 +++++ ...aged_clusters_agent_pool_types_gen_test.go | 2794 ++ .../storage/groupversion_info_gen.go | 32 + .../maintenance_configuration_types_gen.go | 390 + ...aintenance_configuration_types_gen_test.go | 1446 + .../storage/managed_cluster_types_gen.go | 1679 + .../storage/managed_cluster_types_gen_test.go | 9524 ++++++ .../managed_clusters_agent_pool_types_gen.go | 560 + ...aged_clusters_agent_pool_types_gen_test.go | 1663 + .../v1api20240901/storage/structure.txt | 1254 + .../trusted_access_role_binding_types_gen.go | 216 + ...sted_access_role_binding_types_gen_test.go | 223 + .../storage/zz_generated.deepcopy.go | 8767 +++++ .../v1api20240901/structure.txt | 1436 + .../trusted_access_role_binding_types_gen.go | 841 + ...sted_access_role_binding_types_gen_test.go | 397 + .../v1api20240901/zz_generated.deepcopy.go | 7449 +++++ v2/api/containerservice/versions_matrix.md | 796 +- v2/azure-arm.yaml | 61 + .../importable_arm_resource_test.go | 2 +- ...managedcluster_crud_v1api20240901_test.go} | 95 +- .../controllers/controller_resources_gen.go | 34 +- ...Test_AKS_ManagedCluster_20210501_CRUD.yaml | 3743 --- ...Test_AKS_ManagedCluster_20240901_CRUD.yaml | 6072 ++++ ...ice_v1api20240901_CreationAndDeletion.yaml | 4808 +++ .../refs/v1api20210401_storageaccount.yaml | 13 + .../refs/v1api20210401preview_vault.yaml | 28 + .../refs/v1api20210701_workspace.yaml | 23 + ...1api20240901_maintenanceconfiguration.yaml | 15 + .../v1api20240901_managedcluster.yaml | 18 + ...1api20240901_managedclustersagentpool.yaml | 12 + ...1api20240901_trustedaccessrolebinding.yaml | 14 + .../internal/codegen/code_generator.go | 1 + ...ns.go => improve_property_descriptions.go} | 0 .../pipeline/repair_skipping_properties.go | 10 +- .../codegen/pipeline/strip_descriptions.go | 108 + ...ratorFromConfigCreatesRightPipeline.golden | 1 + ...ratorFromConfigCreatesRightPipeline.golden | 1 + ...stCodeGeneratorCreatesRightPipeline.golden | 1 + .../config/object_model_configuration.go | 3 + .../internal/config/type_configuration.go | 17 +- 144 files changed, 163426 insertions(+), 22899 deletions(-) create mode 100644 v2/api/containerservice/customizations/maintenance_configuration_extension_types_gen.go create mode 100644 v2/api/containerservice/v1api20231001/storage/compat/advanced_networking_status_types_gen.go create mode 100644 v2/api/containerservice/v1api20231001/storage/compat/advanced_networking_status_types_gen_test.go create mode 100644 v2/api/containerservice/v1api20231001/storage/compat/advanced_networking_types_gen.go create mode 100644 v2/api/containerservice/v1api20231001/storage/compat/advanced_networking_types_gen_test.go create mode 100644 v2/api/containerservice/v1api20231001/storage/compat/agent_pool_security_profile_status_types_gen.go create mode 100644 v2/api/containerservice/v1api20231001/storage/compat/agent_pool_security_profile_status_types_gen_test.go create mode 100644 v2/api/containerservice/v1api20231001/storage/compat/agent_pool_security_profile_types_gen.go create mode 100644 v2/api/containerservice/v1api20231001/storage/compat/agent_pool_security_profile_types_gen_test.go create mode 100644 v2/api/containerservice/v1api20231001/storage/compat/structure.txt create mode 100644 v2/api/containerservice/v1api20231001/storage/compat/subpackage_info_gen.go create mode 100644 v2/api/containerservice/v1api20231001/storage/compat/zz_generated.deepcopy.go create mode 100644 v2/api/containerservice/v1api20240901/arm/maintenance_configuration_spec_types_gen.go create mode 100644 v2/api/containerservice/v1api20240901/arm/maintenance_configuration_spec_types_gen_test.go create mode 100644 v2/api/containerservice/v1api20240901/arm/maintenance_configuration_status_types_gen.go create mode 100644 v2/api/containerservice/v1api20240901/arm/maintenance_configuration_status_types_gen_test.go create mode 100644 v2/api/containerservice/v1api20240901/arm/managed_cluster_spec_types_gen.go create mode 100644 v2/api/containerservice/v1api20240901/arm/managed_cluster_spec_types_gen_test.go create mode 100644 v2/api/containerservice/v1api20240901/arm/managed_cluster_status_types_gen.go create mode 100644 v2/api/containerservice/v1api20240901/arm/managed_cluster_status_types_gen_test.go create mode 100644 v2/api/containerservice/v1api20240901/arm/managed_clusters_agent_pool_spec_types_gen.go create mode 100644 v2/api/containerservice/v1api20240901/arm/managed_clusters_agent_pool_spec_types_gen_test.go create mode 100644 v2/api/containerservice/v1api20240901/arm/managed_clusters_agent_pool_status_types_gen.go create mode 100644 v2/api/containerservice/v1api20240901/arm/managed_clusters_agent_pool_status_types_gen_test.go create mode 100644 v2/api/containerservice/v1api20240901/arm/structure.txt create mode 100644 v2/api/containerservice/v1api20240901/arm/trusted_access_role_binding_spec_types_gen.go create mode 100644 v2/api/containerservice/v1api20240901/arm/trusted_access_role_binding_spec_types_gen_test.go create mode 100644 v2/api/containerservice/v1api20240901/arm/trusted_access_role_binding_status_types_gen.go create mode 100644 v2/api/containerservice/v1api20240901/arm/trusted_access_role_binding_status_types_gen_test.go create mode 100644 v2/api/containerservice/v1api20240901/doc.go create mode 100644 v2/api/containerservice/v1api20240901/groupversion_info_gen.go create mode 100644 v2/api/containerservice/v1api20240901/maintenance_configuration_types_gen.go create mode 100644 v2/api/containerservice/v1api20240901/maintenance_configuration_types_gen_test.go create mode 100644 v2/api/containerservice/v1api20240901/managed_cluster_types_gen.go create mode 100644 v2/api/containerservice/v1api20240901/managed_cluster_types_gen_test.go create mode 100644 v2/api/containerservice/v1api20240901/managed_clusters_agent_pool_types_gen.go create mode 100644 v2/api/containerservice/v1api20240901/managed_clusters_agent_pool_types_gen_test.go create mode 100644 v2/api/containerservice/v1api20240901/storage/groupversion_info_gen.go create mode 100644 v2/api/containerservice/v1api20240901/storage/maintenance_configuration_types_gen.go create mode 100644 v2/api/containerservice/v1api20240901/storage/maintenance_configuration_types_gen_test.go create mode 100644 v2/api/containerservice/v1api20240901/storage/managed_cluster_types_gen.go create mode 100644 v2/api/containerservice/v1api20240901/storage/managed_cluster_types_gen_test.go create mode 100644 v2/api/containerservice/v1api20240901/storage/managed_clusters_agent_pool_types_gen.go create mode 100644 v2/api/containerservice/v1api20240901/storage/managed_clusters_agent_pool_types_gen_test.go create mode 100644 v2/api/containerservice/v1api20240901/storage/structure.txt create mode 100644 v2/api/containerservice/v1api20240901/storage/trusted_access_role_binding_types_gen.go create mode 100644 v2/api/containerservice/v1api20240901/storage/trusted_access_role_binding_types_gen_test.go create mode 100644 v2/api/containerservice/v1api20240901/storage/zz_generated.deepcopy.go create mode 100644 v2/api/containerservice/v1api20240901/structure.txt create mode 100644 v2/api/containerservice/v1api20240901/trusted_access_role_binding_types_gen.go create mode 100644 v2/api/containerservice/v1api20240901/trusted_access_role_binding_types_gen_test.go create mode 100644 v2/api/containerservice/v1api20240901/zz_generated.deepcopy.go rename v2/internal/controllers/{containerservice_managedcluster_crud_v1api20210501_test.go => containerservice_managedcluster_crud_v1api20240901_test.go} (61%) delete mode 100644 v2/internal/controllers/recordings/Test_AKS_ManagedCluster_20210501_CRUD.yaml create mode 100644 v2/internal/controllers/recordings/Test_AKS_ManagedCluster_20240901_CRUD.yaml create mode 100644 v2/internal/controllers/recordings/Test_Samples_CreationAndDeletion/Test_Containerservice_v1api20240901_CreationAndDeletion.yaml create mode 100644 v2/samples/containerservice/v1api20240901/refs/v1api20210401_storageaccount.yaml create mode 100644 v2/samples/containerservice/v1api20240901/refs/v1api20210401preview_vault.yaml create mode 100644 v2/samples/containerservice/v1api20240901/refs/v1api20210701_workspace.yaml create mode 100644 v2/samples/containerservice/v1api20240901/v1api20240901_maintenanceconfiguration.yaml create mode 100644 v2/samples/containerservice/v1api20240901/v1api20240901_managedcluster.yaml create mode 100644 v2/samples/containerservice/v1api20240901/v1api20240901_managedclustersagentpool.yaml create mode 100644 v2/samples/containerservice/v1api20240901/v1api20240901_trustedaccessrolebinding.yaml rename v2/tools/generator/internal/codegen/pipeline/{improve-property-descriptions.go => improve_property_descriptions.go} (100%) create mode 100644 v2/tools/generator/internal/codegen/pipeline/strip_descriptions.go diff --git a/docs/hugo/content/reference/_index.md b/docs/hugo/content/reference/_index.md index a12325b50d9..dd216fdf064 100644 --- a/docs/hugo/content/reference/_index.md +++ b/docs/hugo/content/reference/_index.md @@ -209,6 +209,17 @@ These resource(s) are available for use in the current release of ASO. Different To install the CRDs for these resources, your ASO configuration must include `containerservice.azure.com/*` as a one of the configured CRD patterns. See [CRD Management in ASO](https://azure.github.io/azure-service-operator/guide/crd-management/) for details on doing this for both [Helm](https://azure.github.io/azure-service-operator/guide/crd-management/#helm) and [YAML](https://azure.github.io/azure-service-operator/guide/crd-management/#yaml) based installations. +### Next Release + +Development of these new resources is complete and they will be available in the next release of ASO. + +| Resource | ARM Version | CRD Version | Supported From | Sample | +|--------------------------|-------------|---------------|----------------|---------------------------------------------------------------------------------------------------------------------------------------------------------| +| MaintenanceConfiguration | 2024-09-01 | v1api20240901 | v2.11.0 | [View](https://github.com/Azure/azure-service-operator/tree/main/v2/samples/containerservice/v1api20240901/v1api20240901_maintenanceconfiguration.yaml) | +| ManagedCluster | 2024-09-01 | v1api20240901 | v2.11.0 | [View](https://github.com/Azure/azure-service-operator/tree/main/v2/samples/containerservice/v1api20240901/v1api20240901_managedcluster.yaml) | +| ManagedClustersAgentPool | 2024-09-01 | v1api20240901 | v2.11.0 | [View](https://github.com/Azure/azure-service-operator/tree/main/v2/samples/containerservice/v1api20240901/v1api20240901_managedclustersagentpool.yaml) | +| TrustedAccessRoleBinding | 2024-09-01 | v1api20240901 | v2.11.0 | [View](https://github.com/Azure/azure-service-operator/tree/main/v2/samples/containerservice/v1api20240901/v1api20240901_trustedaccessrolebinding.yaml) | + ### Released These resource(s) are available for use in the current release of ASO. Different versions of a given resource reflect different versions of the Azure ARM API. diff --git a/docs/hugo/content/reference/containerservice/_index.md b/docs/hugo/content/reference/containerservice/_index.md index 24bb7ac806d..d270af4b2f3 100644 --- a/docs/hugo/content/reference/containerservice/_index.md +++ b/docs/hugo/content/reference/containerservice/_index.md @@ -5,6 +5,17 @@ no_list: true --- To install the CRDs for these resources, your ASO configuration must include `containerservice.azure.com/*` as a one of the configured CRD patterns. See [CRD Management in ASO](https://azure.github.io/azure-service-operator/guide/crd-management/) for details on doing this for both [Helm](https://azure.github.io/azure-service-operator/guide/crd-management/#helm) and [YAML](https://azure.github.io/azure-service-operator/guide/crd-management/#yaml) based installations. +### Next Release + +Development of these new resources is complete and they will be available in the next release of ASO. + +| Resource | ARM Version | CRD Version | Supported From | Sample | +|--------------------------|-------------|---------------|----------------|---------------------------------------------------------------------------------------------------------------------------------------------------------| +| MaintenanceConfiguration | 2024-09-01 | v1api20240901 | v2.11.0 | [View](https://github.com/Azure/azure-service-operator/tree/main/v2/samples/containerservice/v1api20240901/v1api20240901_maintenanceconfiguration.yaml) | +| ManagedCluster | 2024-09-01 | v1api20240901 | v2.11.0 | [View](https://github.com/Azure/azure-service-operator/tree/main/v2/samples/containerservice/v1api20240901/v1api20240901_managedcluster.yaml) | +| ManagedClustersAgentPool | 2024-09-01 | v1api20240901 | v2.11.0 | [View](https://github.com/Azure/azure-service-operator/tree/main/v2/samples/containerservice/v1api20240901/v1api20240901_managedclustersagentpool.yaml) | +| TrustedAccessRoleBinding | 2024-09-01 | v1api20240901 | v2.11.0 | [View](https://github.com/Azure/azure-service-operator/tree/main/v2/samples/containerservice/v1api20240901/v1api20240901_trustedaccessrolebinding.yaml) | + ### Released These resource(s) are available for use in the current release of ASO. Different versions of a given resource reflect different versions of the Azure ARM API. diff --git a/v2/api/containerservice/customizations/maintenance_configuration_extension_types_gen.go b/v2/api/containerservice/customizations/maintenance_configuration_extension_types_gen.go new file mode 100644 index 00000000000..28a3e180df1 --- /dev/null +++ b/v2/api/containerservice/customizations/maintenance_configuration_extension_types_gen.go @@ -0,0 +1,20 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package customizations + +import ( + v20240901 "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20240901" + storage "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20240901/storage" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime" +) + +type MaintenanceConfigurationExtension struct { +} + +// GetExtendedResources Returns the KubernetesResource slice for Resource versions +func (extension *MaintenanceConfigurationExtension) GetExtendedResources() []genruntime.KubernetesResource { + return []genruntime.KubernetesResource{ + &v20240901.MaintenanceConfiguration{}, + &storage.MaintenanceConfiguration{}} +} diff --git a/v2/api/containerservice/customizations/managed_cluster_extension_types_gen.go b/v2/api/containerservice/customizations/managed_cluster_extension_types_gen.go index f2de0be1ba6..1aff9751aa9 100644 --- a/v2/api/containerservice/customizations/managed_cluster_extension_types_gen.go +++ b/v2/api/containerservice/customizations/managed_cluster_extension_types_gen.go @@ -14,6 +14,8 @@ import ( v20231102ps "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20231102preview/storage" v20240402p "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20240402preview" v20240402ps "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20240402preview/storage" + v20240901 "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20240901" + v20240901s "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20240901/storage" "github.com/Azure/azure-service-operator/v2/pkg/genruntime" ) @@ -32,5 +34,7 @@ func (extension *ManagedClusterExtension) GetExtendedResources() []genruntime.Ku &v20231102p.ManagedCluster{}, &v20231102ps.ManagedCluster{}, &v20240402p.ManagedCluster{}, - &v20240402ps.ManagedCluster{}} + &v20240402ps.ManagedCluster{}, + &v20240901.ManagedCluster{}, + &v20240901s.ManagedCluster{}} } diff --git a/v2/api/containerservice/customizations/managed_cluster_extensions.go b/v2/api/containerservice/customizations/managed_cluster_extensions.go index 93ed54e9dfa..9a2fc4afc43 100644 --- a/v2/api/containerservice/customizations/managed_cluster_extensions.go +++ b/v2/api/containerservice/customizations/managed_cluster_extensions.go @@ -16,7 +16,7 @@ import ( v1 "k8s.io/api/core/v1" "sigs.k8s.io/controller-runtime/pkg/conversion" - containerservice "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20231001/storage" + containerservice "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20240901/storage" "github.com/Azure/azure-service-operator/v2/internal/genericarmclient" . "github.com/Azure/azure-service-operator/v2/internal/logging" "github.com/Azure/azure-service-operator/v2/internal/resolver" diff --git a/v2/api/containerservice/customizations/managed_cluster_extensions_test.go b/v2/api/containerservice/customizations/managed_cluster_extensions_test.go index 658e82f9c7c..b4021bfd518 100644 --- a/v2/api/containerservice/customizations/managed_cluster_extensions_test.go +++ b/v2/api/containerservice/customizations/managed_cluster_extensions_test.go @@ -11,7 +11,7 @@ import ( . "github.com/onsi/gomega" - containerservice "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20231001/storage" + containerservice "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20240901/storage" "github.com/Azure/azure-service-operator/v2/internal/reflecthelpers" testreflect "github.com/Azure/azure-service-operator/v2/internal/testcommon/reflect" ) diff --git a/v2/api/containerservice/customizations/managed_clusters_agent_pool_extension_types_gen.go b/v2/api/containerservice/customizations/managed_clusters_agent_pool_extension_types_gen.go index ca728511810..d2065c96e1f 100644 --- a/v2/api/containerservice/customizations/managed_clusters_agent_pool_extension_types_gen.go +++ b/v2/api/containerservice/customizations/managed_clusters_agent_pool_extension_types_gen.go @@ -14,6 +14,8 @@ import ( v20231102ps "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20231102preview/storage" v20240402p "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20240402preview" v20240402ps "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20240402preview/storage" + v20240901 "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20240901" + v20240901s "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20240901/storage" "github.com/Azure/azure-service-operator/v2/pkg/genruntime" ) @@ -32,5 +34,7 @@ func (extension *ManagedClustersAgentPoolExtension) GetExtendedResources() []gen &v20231102p.ManagedClustersAgentPool{}, &v20231102ps.ManagedClustersAgentPool{}, &v20240402p.ManagedClustersAgentPool{}, - &v20240402ps.ManagedClustersAgentPool{}} + &v20240402ps.ManagedClustersAgentPool{}, + &v20240901.ManagedClustersAgentPool{}, + &v20240901s.ManagedClustersAgentPool{}} } diff --git a/v2/api/containerservice/customizations/managed_clusters_agent_pool_extensions.go b/v2/api/containerservice/customizations/managed_clusters_agent_pool_extensions.go index d6390ff02fb..1a529649481 100644 --- a/v2/api/containerservice/customizations/managed_clusters_agent_pool_extensions.go +++ b/v2/api/containerservice/customizations/managed_clusters_agent_pool_extensions.go @@ -14,8 +14,7 @@ import ( "github.com/pkg/errors" "sigs.k8s.io/controller-runtime/pkg/conversion" - containerservice "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20231001/storage" - + containerservice "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20240901/storage" "github.com/Azure/azure-service-operator/v2/internal/genericarmclient" "github.com/Azure/azure-service-operator/v2/internal/resolver" "github.com/Azure/azure-service-operator/v2/internal/set" diff --git a/v2/api/containerservice/customizations/structure.txt b/v2/api/containerservice/customizations/structure.txt index 32683fdf849..0e05873f5a3 100644 --- a/v2/api/containerservice/customizations/structure.txt +++ b/v2/api/containerservice/customizations/structure.txt @@ -4,6 +4,7 @@ github.com/Azure/azure-service-operator/v2/api/containerservice/customizations FleetExtension: Object (0 properties) FleetsMemberExtension: Object (0 properties) FleetsUpdateRunExtension: Object (0 properties) +MaintenanceConfigurationExtension: Object (0 properties) ManagedClusterExtension: Object (0 properties) ManagedClustersAgentPoolExtension: Object (0 properties) TrustedAccessRoleBindingExtension: Object (0 properties) diff --git a/v2/api/containerservice/customizations/trusted_access_role_binding_extension_types_gen.go b/v2/api/containerservice/customizations/trusted_access_role_binding_extension_types_gen.go index 7688094f6bc..d3592447476 100644 --- a/v2/api/containerservice/customizations/trusted_access_role_binding_extension_types_gen.go +++ b/v2/api/containerservice/customizations/trusted_access_role_binding_extension_types_gen.go @@ -8,6 +8,8 @@ import ( v20231001s "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20231001/storage" v20240402p "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20240402preview" v20240402ps "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20240402preview/storage" + v20240901 "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20240901" + v20240901s "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20240901/storage" "github.com/Azure/azure-service-operator/v2/pkg/genruntime" ) @@ -20,5 +22,7 @@ func (extension *TrustedAccessRoleBindingExtension) GetExtendedResources() []gen &v20231001.TrustedAccessRoleBinding{}, &v20231001s.TrustedAccessRoleBinding{}, &v20240402p.TrustedAccessRoleBinding{}, - &v20240402ps.TrustedAccessRoleBinding{}} + &v20240402ps.TrustedAccessRoleBinding{}, + &v20240901.TrustedAccessRoleBinding{}, + &v20240901s.TrustedAccessRoleBinding{}} } diff --git a/v2/api/containerservice/v1api20210501/arm/managed_cluster_spec_types_gen.go b/v2/api/containerservice/v1api20210501/arm/managed_cluster_spec_types_gen.go index eaa609cf057..a5839ea7869 100644 --- a/v2/api/containerservice/v1api20210501/arm/managed_cluster_spec_types_gen.go +++ b/v2/api/containerservice/v1api20210501/arm/managed_cluster_spec_types_gen.go @@ -6,24 +6,13 @@ package arm import "github.com/Azure/azure-service-operator/v2/pkg/genruntime" type ManagedCluster_Spec struct { - // ExtendedLocation: The extended location of the Virtual Machine. - ExtendedLocation *ExtendedLocation `json:"extendedLocation,omitempty"` - - // Identity: The identity of the managed cluster, if configured. - Identity *ManagedClusterIdentity `json:"identity,omitempty"` - - // Location: Resource location - Location *string `json:"location,omitempty"` - Name string `json:"name,omitempty"` - - // Properties: Properties of a managed cluster. - Properties *ManagedClusterProperties `json:"properties,omitempty"` - - // Sku: The managed cluster SKU. - Sku *ManagedClusterSKU `json:"sku,omitempty"` - - // Tags: Resource tags - Tags map[string]string `json:"tags" serializationType:"explicitEmptyCollection"` + ExtendedLocation *ExtendedLocation `json:"extendedLocation,omitempty"` + Identity *ManagedClusterIdentity `json:"identity,omitempty"` + Location *string `json:"location,omitempty"` + Name string `json:"name,omitempty"` + Properties *ManagedClusterProperties `json:"properties,omitempty"` + Sku *ManagedClusterSKU `json:"sku,omitempty"` + Tags map[string]string `json:"tags" serializationType:"explicitEmptyCollection"` } var _ genruntime.ARMResourceSpec = &ManagedCluster_Spec{} @@ -43,157 +32,64 @@ func (cluster *ManagedCluster_Spec) GetType() string { return "Microsoft.ContainerService/managedClusters" } -// The complex type of the extended location. type ExtendedLocation struct { - // Name: The name of the extended location. - Name *string `json:"name,omitempty"` - - // Type: The type of the extended location. + Name *string `json:"name,omitempty"` Type *ExtendedLocationType `json:"type,omitempty"` } -// Identity for the managed cluster. type ManagedClusterIdentity struct { - // Type: For more information see [use managed identities in - // AKS](https://docs.microsoft.com/azure/aks/use-managed-identity). Type *ManagedClusterIdentity_Type `json:"type,omitempty"` UserAssignedIdentities map[string]UserAssignedIdentityDetails `json:"userAssignedIdentities,omitempty"` } -// Properties of the managed cluster. type ManagedClusterProperties struct { - // AadProfile: The Azure Active Directory configuration. - AadProfile *ManagedClusterAADProfile `json:"aadProfile,omitempty"` - - // AddonProfiles: The profile of managed cluster add-on. - AddonProfiles map[string]ManagedClusterAddonProfile `json:"addonProfiles"` - - // AgentPoolProfiles: The agent pool properties. - AgentPoolProfiles []ManagedClusterAgentPoolProfile `json:"agentPoolProfiles"` - - // ApiServerAccessProfile: The access profile for managed cluster API server. - ApiServerAccessProfile *ManagedClusterAPIServerAccessProfile `json:"apiServerAccessProfile,omitempty"` - - // AutoScalerProfile: Parameters to be applied to the cluster-autoscaler when enabled - AutoScalerProfile *ManagedClusterProperties_AutoScalerProfile `json:"autoScalerProfile,omitempty"` - - // AutoUpgradeProfile: The auto upgrade configuration. - AutoUpgradeProfile *ManagedClusterAutoUpgradeProfile `json:"autoUpgradeProfile,omitempty"` - - // DisableLocalAccounts: If set to true, getting static credentials will be disabled for this cluster. This must only be - // used on Managed Clusters that are AAD enabled. For more details see [disable local - // accounts](https://docs.microsoft.com/azure/aks/managed-aad#disable-local-accounts-preview). - DisableLocalAccounts *bool `json:"disableLocalAccounts,omitempty"` - DiskEncryptionSetID *string `json:"diskEncryptionSetID,omitempty"` - - // DnsPrefix: This cannot be updated once the Managed Cluster has been created. - DnsPrefix *string `json:"dnsPrefix,omitempty"` - - // EnablePodSecurityPolicy: (DEPRECATING) Whether to enable Kubernetes pod security policy (preview). This feature is set - // for removal on October 15th, 2020. Learn more at aka.ms/aks/azpodpolicy. - EnablePodSecurityPolicy *bool `json:"enablePodSecurityPolicy,omitempty"` - - // EnableRBAC: Whether to enable Kubernetes Role-Based Access Control. - EnableRBAC *bool `json:"enableRBAC,omitempty"` - - // FqdnSubdomain: This cannot be updated once the Managed Cluster has been created. - FqdnSubdomain *string `json:"fqdnSubdomain,omitempty"` - - // HttpProxyConfig: Configurations for provisioning the cluster with HTTP proxy servers. - HttpProxyConfig *ManagedClusterHTTPProxyConfig `json:"httpProxyConfig,omitempty"` - - // IdentityProfile: Identities associated with the cluster. - IdentityProfile map[string]UserAssignedIdentity `json:"identityProfile"` - - // KubernetesVersion: When you upgrade a supported AKS cluster, Kubernetes minor versions cannot be skipped. All upgrades - // must be performed sequentially by major version number. For example, upgrades between 1.14.x -> 1.15.x or 1.15.x -> - // 1.16.x are allowed, however 1.14.x -> 1.16.x is not allowed. See [upgrading an AKS - // cluster](https://docs.microsoft.com/azure/aks/upgrade-cluster) for more details. - KubernetesVersion *string `json:"kubernetesVersion,omitempty"` - - // LinuxProfile: The profile for Linux VMs in the Managed Cluster. - LinuxProfile *ContainerServiceLinuxProfile `json:"linuxProfile,omitempty"` - - // NetworkProfile: The network configuration profile. - NetworkProfile *ContainerServiceNetworkProfile `json:"networkProfile,omitempty"` - - // NodeResourceGroup: The name of the resource group containing agent pool nodes. - NodeResourceGroup *string `json:"nodeResourceGroup,omitempty"` - - // PodIdentityProfile: See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more - // details on AAD pod identity integration. - PodIdentityProfile *ManagedClusterPodIdentityProfile `json:"podIdentityProfile,omitempty"` - - // PrivateLinkResources: Private link resources associated with the cluster. - PrivateLinkResources []PrivateLinkResource `json:"privateLinkResources"` - - // ServicePrincipalProfile: Information about a service principal identity for the cluster to use for manipulating Azure - // APIs. - ServicePrincipalProfile *ManagedClusterServicePrincipalProfile `json:"servicePrincipalProfile,omitempty"` - - // WindowsProfile: The profile for Windows VMs in the Managed Cluster. - WindowsProfile *ManagedClusterWindowsProfile `json:"windowsProfile,omitempty"` + AadProfile *ManagedClusterAADProfile `json:"aadProfile,omitempty"` + AddonProfiles map[string]ManagedClusterAddonProfile `json:"addonProfiles"` + AgentPoolProfiles []ManagedClusterAgentPoolProfile `json:"agentPoolProfiles"` + ApiServerAccessProfile *ManagedClusterAPIServerAccessProfile `json:"apiServerAccessProfile,omitempty"` + AutoScalerProfile *ManagedClusterProperties_AutoScalerProfile `json:"autoScalerProfile,omitempty"` + AutoUpgradeProfile *ManagedClusterAutoUpgradeProfile `json:"autoUpgradeProfile,omitempty"` + DisableLocalAccounts *bool `json:"disableLocalAccounts,omitempty"` + DiskEncryptionSetID *string `json:"diskEncryptionSetID,omitempty"` + DnsPrefix *string `json:"dnsPrefix,omitempty"` + EnablePodSecurityPolicy *bool `json:"enablePodSecurityPolicy,omitempty"` + EnableRBAC *bool `json:"enableRBAC,omitempty"` + FqdnSubdomain *string `json:"fqdnSubdomain,omitempty"` + HttpProxyConfig *ManagedClusterHTTPProxyConfig `json:"httpProxyConfig,omitempty"` + IdentityProfile map[string]UserAssignedIdentity `json:"identityProfile"` + KubernetesVersion *string `json:"kubernetesVersion,omitempty"` + LinuxProfile *ContainerServiceLinuxProfile `json:"linuxProfile,omitempty"` + NetworkProfile *ContainerServiceNetworkProfile `json:"networkProfile,omitempty"` + NodeResourceGroup *string `json:"nodeResourceGroup,omitempty"` + PodIdentityProfile *ManagedClusterPodIdentityProfile `json:"podIdentityProfile,omitempty"` + PrivateLinkResources []PrivateLinkResource `json:"privateLinkResources"` + ServicePrincipalProfile *ManagedClusterServicePrincipalProfile `json:"servicePrincipalProfile,omitempty"` + WindowsProfile *ManagedClusterWindowsProfile `json:"windowsProfile,omitempty"` } -// The SKU of a Managed Cluster. type ManagedClusterSKU struct { - // Name: The name of a managed cluster SKU. Name *ManagedClusterSKU_Name `json:"name,omitempty"` - - // Tier: If not specified, the default is 'Free'. See [uptime SLA](https://docs.microsoft.com/azure/aks/uptime-sla) for - // more details. Tier *ManagedClusterSKU_Tier `json:"tier,omitempty"` } -// Profile for Linux VMs in the container service cluster. type ContainerServiceLinuxProfile struct { - // AdminUsername: The administrator username to use for Linux VMs. - AdminUsername *string `json:"adminUsername,omitempty"` - - // Ssh: The SSH configuration for Linux-based VMs running on Azure. - Ssh *ContainerServiceSshConfiguration `json:"ssh,omitempty"` + AdminUsername *string `json:"adminUsername,omitempty"` + Ssh *ContainerServiceSshConfiguration `json:"ssh,omitempty"` } -// Profile of network configuration. type ContainerServiceNetworkProfile struct { - // DnsServiceIP: An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address - // range specified in serviceCidr. - DnsServiceIP *string `json:"dnsServiceIP,omitempty"` - - // DockerBridgeCidr: A CIDR notation IP range assigned to the Docker bridge network. It must not overlap with any Subnet IP - // ranges or the Kubernetes service address range. - DockerBridgeCidr *string `json:"dockerBridgeCidr,omitempty"` - - // LoadBalancerProfile: Profile of the cluster load balancer. - LoadBalancerProfile *ManagedClusterLoadBalancerProfile `json:"loadBalancerProfile,omitempty"` - - // LoadBalancerSku: The default is 'standard'. See [Azure Load Balancer - // SKUs](https://docs.microsoft.com/azure/load-balancer/skus) for more information about the differences between load - // balancer SKUs. - LoadBalancerSku *ContainerServiceNetworkProfile_LoadBalancerSku `json:"loadBalancerSku,omitempty"` - - // NetworkMode: This cannot be specified if networkPlugin is anything other than 'azure'. - NetworkMode *ContainerServiceNetworkProfile_NetworkMode `json:"networkMode,omitempty"` - - // NetworkPlugin: Network plugin used for building the Kubernetes network. - NetworkPlugin *ContainerServiceNetworkProfile_NetworkPlugin `json:"networkPlugin,omitempty"` - - // NetworkPolicy: Network policy used for building the Kubernetes network. - NetworkPolicy *ContainerServiceNetworkProfile_NetworkPolicy `json:"networkPolicy,omitempty"` - - // OutboundType: This can only be set at cluster creation time and cannot be changed later. For more information see - // [egress outbound type](https://docs.microsoft.com/azure/aks/egress-outboundtype). - OutboundType *ContainerServiceNetworkProfile_OutboundType `json:"outboundType,omitempty"` - - // PodCidr: A CIDR notation IP range from which to assign pod IPs when kubenet is used. - PodCidr *string `json:"podCidr,omitempty"` - - // ServiceCidr: A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP - // ranges. - ServiceCidr *string `json:"serviceCidr,omitempty"` + DnsServiceIP *string `json:"dnsServiceIP,omitempty"` + DockerBridgeCidr *string `json:"dockerBridgeCidr,omitempty"` + LoadBalancerProfile *ManagedClusterLoadBalancerProfile `json:"loadBalancerProfile,omitempty"` + LoadBalancerSku *ContainerServiceNetworkProfile_LoadBalancerSku `json:"loadBalancerSku,omitempty"` + NetworkMode *ContainerServiceNetworkProfile_NetworkMode `json:"networkMode,omitempty"` + NetworkPlugin *ContainerServiceNetworkProfile_NetworkPlugin `json:"networkPlugin,omitempty"` + NetworkPolicy *ContainerServiceNetworkProfile_NetworkPolicy `json:"networkPolicy,omitempty"` + OutboundType *ContainerServiceNetworkProfile_OutboundType `json:"outboundType,omitempty"` + PodCidr *string `json:"podCidr,omitempty"` + ServiceCidr *string `json:"serviceCidr,omitempty"` } -// The type of extendedLocation. // +kubebuilder:validation:Enum={"EdgeZone"} type ExtendedLocationType string @@ -204,199 +100,74 @@ var extendedLocationType_Values = map[string]ExtendedLocationType{ "edgezone": ExtendedLocationType_EdgeZone, } -// For more details see [managed AAD on AKS](https://docs.microsoft.com/azure/aks/managed-aad). type ManagedClusterAADProfile struct { - // AdminGroupObjectIDs: The list of AAD group object IDs that will have admin role of the cluster. AdminGroupObjectIDs []string `json:"adminGroupObjectIDs"` - - // ClientAppID: The client AAD application ID. - ClientAppID *string `json:"clientAppID,omitempty"` - - // EnableAzureRBAC: Whether to enable Azure RBAC for Kubernetes authorization. - EnableAzureRBAC *bool `json:"enableAzureRBAC,omitempty"` - - // Managed: Whether to enable managed AAD. - Managed *bool `json:"managed,omitempty"` - - // ServerAppID: The server AAD application ID. - ServerAppID *string `json:"serverAppID,omitempty"` - - // ServerAppSecret: The server AAD application secret. - ServerAppSecret *string `json:"serverAppSecret,omitempty"` - - // TenantID: The AAD tenant ID to use for authentication. If not specified, will use the tenant of the deployment - // subscription. - TenantID *string `json:"tenantID,omitempty"` + ClientAppID *string `json:"clientAppID,omitempty"` + EnableAzureRBAC *bool `json:"enableAzureRBAC,omitempty"` + Managed *bool `json:"managed,omitempty"` + ServerAppID *string `json:"serverAppID,omitempty"` + ServerAppSecret *string `json:"serverAppSecret,omitempty"` + TenantID *string `json:"tenantID,omitempty"` } -// A Kubernetes add-on profile for a managed cluster. type ManagedClusterAddonProfile struct { - // Config: Key-value pairs for configuring an add-on. - Config map[string]string `json:"config"` - - // Enabled: Whether the add-on is enabled or not. - Enabled *bool `json:"enabled,omitempty"` + Config map[string]string `json:"config"` + Enabled *bool `json:"enabled,omitempty"` } -// Profile for the container service agent pool. type ManagedClusterAgentPoolProfile struct { - // AvailabilityZones: The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType - // property is 'VirtualMachineScaleSets'. - AvailabilityZones []string `json:"availabilityZones"` - - // Count: Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) - // for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1. - Count *int `json:"count,omitempty"` - - // EnableAutoScaling: Whether to enable auto-scaler - EnableAutoScaling *bool `json:"enableAutoScaling,omitempty"` - - // EnableEncryptionAtHost: This is only supported on certain VM sizes and in certain Azure regions. For more information, - // see: https://docs.microsoft.com/azure/aks/enable-host-encryption - EnableEncryptionAtHost *bool `json:"enableEncryptionAtHost,omitempty"` - - // EnableFIPS: See [Add a FIPS-enabled node - // pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more - // details. - EnableFIPS *bool `json:"enableFIPS,omitempty"` - - // EnableNodePublicIP: Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. - // A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine - // to minimize hops. For more information see [assigning a public IP per - // node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The - // default is false. - EnableNodePublicIP *bool `json:"enableNodePublicIP,omitempty"` - - // EnableUltraSSD: Whether to enable UltraSSD - EnableUltraSSD *bool `json:"enableUltraSSD,omitempty"` - - // GpuInstanceProfile: GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU. - GpuInstanceProfile *GPUInstanceProfile `json:"gpuInstanceProfile,omitempty"` - - // KubeletConfig: The Kubelet configuration on the agent pool nodes. - KubeletConfig *KubeletConfig `json:"kubeletConfig,omitempty"` - - // KubeletDiskType: Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral - // storage. - KubeletDiskType *KubeletDiskType `json:"kubeletDiskType,omitempty"` - - // LinuxOSConfig: The OS configuration of Linux agent nodes. - LinuxOSConfig *LinuxOSConfig `json:"linuxOSConfig,omitempty"` - - // MaxCount: The maximum number of nodes for auto-scaling - MaxCount *int `json:"maxCount,omitempty"` - - // MaxPods: The maximum number of pods that can run on a node. - MaxPods *int `json:"maxPods,omitempty"` - - // MinCount: The minimum number of nodes for auto-scaling - MinCount *int `json:"minCount,omitempty"` - - // Mode: A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool - // restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools - Mode *AgentPoolMode `json:"mode,omitempty"` - - // Name: Windows agent pool names must be 6 characters or less. - Name *string `json:"name,omitempty"` - - // NodeLabels: The node labels to be persisted across all nodes in agent pool. - NodeLabels map[string]string `json:"nodeLabels" serializationType:"explicitEmptyCollection"` - NodePublicIPPrefixID *string `json:"nodePublicIPPrefixID,omitempty"` - - // NodeTaints: The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule. - NodeTaints []string `json:"nodeTaints" serializationType:"explicitEmptyCollection"` - - // OrchestratorVersion: As a best practice, you should upgrade all node pools in an AKS cluster to the same Kubernetes - // version. The node pool version must have the same major version as the control plane. The node pool minor version must - // be within two minor versions of the control plane version. The node pool version cannot be greater than the control - // plane version. For more information see [upgrading a node - // pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). - OrchestratorVersion *string `json:"orchestratorVersion,omitempty"` - OsDiskSizeGB *int `json:"osDiskSizeGB,omitempty"` - - // OsDiskType: The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested - // OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral - // OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). - OsDiskType *OSDiskType `json:"osDiskType,omitempty"` - - // OsSKU: Specifies an OS SKU. This value must not be specified if OSType is Windows. - OsSKU *OSSKU `json:"osSKU,omitempty"` - - // OsType: The operating system type. The default is Linux. - OsType *OSType `json:"osType,omitempty"` - PodSubnetID *string `json:"podSubnetID,omitempty"` - - // ProximityPlacementGroupID: The ID for Proximity Placement Group. - ProximityPlacementGroupID *string `json:"proximityPlacementGroupID,omitempty"` - - // ScaleSetEvictionPolicy: This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is - // 'Delete'. - ScaleSetEvictionPolicy *ScaleSetEvictionPolicy `json:"scaleSetEvictionPolicy,omitempty"` - - // ScaleSetPriority: The Virtual Machine Scale Set priority. If not specified, the default is 'Regular'. - ScaleSetPriority *ScaleSetPriority `json:"scaleSetPriority,omitempty"` - - // SpotMaxPrice: Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any - // on-demand price. For more details on spot pricing, see [spot VMs - // pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing) - SpotMaxPrice *float64 `json:"spotMaxPrice,omitempty"` - - // Tags: The tags to be persisted on the agent pool virtual machine scale set. - Tags map[string]string `json:"tags" serializationType:"explicitEmptyCollection"` - - // Type: The type of Agent Pool. - Type *AgentPoolType `json:"type,omitempty"` - - // UpgradeSettings: Settings for upgrading the agentpool - UpgradeSettings *AgentPoolUpgradeSettings `json:"upgradeSettings,omitempty"` - - // VmSize: VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods - // might fail to run correctly. For more details on restricted VM sizes, see: - // https://docs.microsoft.com/azure/aks/quotas-skus-regions - VmSize *string `json:"vmSize,omitempty"` - VnetSubnetID *string `json:"vnetSubnetID,omitempty"` + AvailabilityZones []string `json:"availabilityZones"` + Count *int `json:"count,omitempty"` + EnableAutoScaling *bool `json:"enableAutoScaling,omitempty"` + EnableEncryptionAtHost *bool `json:"enableEncryptionAtHost,omitempty"` + EnableFIPS *bool `json:"enableFIPS,omitempty"` + EnableNodePublicIP *bool `json:"enableNodePublicIP,omitempty"` + EnableUltraSSD *bool `json:"enableUltraSSD,omitempty"` + GpuInstanceProfile *GPUInstanceProfile `json:"gpuInstanceProfile,omitempty"` + KubeletConfig *KubeletConfig `json:"kubeletConfig,omitempty"` + KubeletDiskType *KubeletDiskType `json:"kubeletDiskType,omitempty"` + LinuxOSConfig *LinuxOSConfig `json:"linuxOSConfig,omitempty"` + MaxCount *int `json:"maxCount,omitempty"` + MaxPods *int `json:"maxPods,omitempty"` + MinCount *int `json:"minCount,omitempty"` + Mode *AgentPoolMode `json:"mode,omitempty"` + Name *string `json:"name,omitempty"` + NodeLabels map[string]string `json:"nodeLabels" serializationType:"explicitEmptyCollection"` + NodePublicIPPrefixID *string `json:"nodePublicIPPrefixID,omitempty"` + NodeTaints []string `json:"nodeTaints" serializationType:"explicitEmptyCollection"` + OrchestratorVersion *string `json:"orchestratorVersion,omitempty"` + OsDiskSizeGB *int `json:"osDiskSizeGB,omitempty"` + OsDiskType *OSDiskType `json:"osDiskType,omitempty"` + OsSKU *OSSKU `json:"osSKU,omitempty"` + OsType *OSType `json:"osType,omitempty"` + PodSubnetID *string `json:"podSubnetID,omitempty"` + ProximityPlacementGroupID *string `json:"proximityPlacementGroupID,omitempty"` + ScaleSetEvictionPolicy *ScaleSetEvictionPolicy `json:"scaleSetEvictionPolicy,omitempty"` + ScaleSetPriority *ScaleSetPriority `json:"scaleSetPriority,omitempty"` + SpotMaxPrice *float64 `json:"spotMaxPrice,omitempty"` + Tags map[string]string `json:"tags" serializationType:"explicitEmptyCollection"` + Type *AgentPoolType `json:"type,omitempty"` + UpgradeSettings *AgentPoolUpgradeSettings `json:"upgradeSettings,omitempty"` + VmSize *string `json:"vmSize,omitempty"` + VnetSubnetID *string `json:"vnetSubnetID,omitempty"` } -// Access profile for managed cluster API server. type ManagedClusterAPIServerAccessProfile struct { - // AuthorizedIPRanges: IP ranges are specified in CIDR format, e.g. 137.117.106.88/29. This feature is not compatible with - // clusters that use Public IP Per Node, or clusters that are using a Basic Load Balancer. For more information see [API - // server authorized IP ranges](https://docs.microsoft.com/azure/aks/api-server-authorized-ip-ranges). - AuthorizedIPRanges []string `json:"authorizedIPRanges"` - - // EnablePrivateCluster: For more details, see [Creating a private AKS - // cluster](https://docs.microsoft.com/azure/aks/private-clusters). - EnablePrivateCluster *bool `json:"enablePrivateCluster,omitempty"` - - // EnablePrivateClusterPublicFQDN: Whether to create additional public FQDN for private cluster or not. - EnablePrivateClusterPublicFQDN *bool `json:"enablePrivateClusterPublicFQDN,omitempty"` - - // PrivateDNSZone: The default is System. For more details see [configure private DNS - // zone](https://docs.microsoft.com/azure/aks/private-clusters#configure-private-dns-zone). Allowed values are 'system' and - // 'none'. - PrivateDNSZone *string `json:"privateDNSZone,omitempty"` + AuthorizedIPRanges []string `json:"authorizedIPRanges"` + EnablePrivateCluster *bool `json:"enablePrivateCluster,omitempty"` + EnablePrivateClusterPublicFQDN *bool `json:"enablePrivateClusterPublicFQDN,omitempty"` + PrivateDNSZone *string `json:"privateDNSZone,omitempty"` } -// Auto upgrade profile for a managed cluster. type ManagedClusterAutoUpgradeProfile struct { - // UpgradeChannel: For more information see [setting the AKS cluster auto-upgrade - // channel](https://docs.microsoft.com/azure/aks/upgrade-cluster#set-auto-upgrade-channel). UpgradeChannel *ManagedClusterAutoUpgradeProfile_UpgradeChannel `json:"upgradeChannel,omitempty"` } -// Cluster HTTP proxy configuration. type ManagedClusterHTTPProxyConfig struct { - // HttpProxy: The HTTP proxy server endpoint to use. - HttpProxy *string `json:"httpProxy,omitempty"` - - // HttpsProxy: The HTTPS proxy server endpoint to use. - HttpsProxy *string `json:"httpsProxy,omitempty"` - - // NoProxy: The endpoints that should not go through proxy. - NoProxy []string `json:"noProxy"` - - // TrustedCa: Alternative CA cert to use for connecting to proxy servers. - TrustedCa *string `json:"trustedCa,omitempty"` + HttpProxy *string `json:"httpProxy,omitempty"` + HttpsProxy *string `json:"httpsProxy,omitempty"` + NoProxy []string `json:"noProxy"` + TrustedCa *string `json:"trustedCa,omitempty"` } // +kubebuilder:validation:Enum={"None","SystemAssigned","UserAssigned"} @@ -415,95 +186,36 @@ var managedClusterIdentity_Type_Values = map[string]ManagedClusterIdentity_Type{ "userassigned": ManagedClusterIdentity_Type_UserAssigned, } -// See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on pod -// identity integration. type ManagedClusterPodIdentityProfile struct { - // AllowNetworkPluginKubenet: Running in Kubenet is disabled by default due to the security related nature of AAD Pod - // Identity and the risks of IP spoofing. See [using Kubenet network plugin with AAD Pod - // Identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity#using-kubenet-network-plugin-with-azure-active-directory-pod-managed-identities) - // for more information. - AllowNetworkPluginKubenet *bool `json:"allowNetworkPluginKubenet,omitempty"` - - // Enabled: Whether the pod identity addon is enabled. - Enabled *bool `json:"enabled,omitempty"` - - // UserAssignedIdentities: The pod identities to use in the cluster. - UserAssignedIdentities []ManagedClusterPodIdentity `json:"userAssignedIdentities"` - - // UserAssignedIdentityExceptions: The pod identity exceptions to allow. + AllowNetworkPluginKubenet *bool `json:"allowNetworkPluginKubenet,omitempty"` + Enabled *bool `json:"enabled,omitempty"` + UserAssignedIdentities []ManagedClusterPodIdentity `json:"userAssignedIdentities"` UserAssignedIdentityExceptions []ManagedClusterPodIdentityException `json:"userAssignedIdentityExceptions"` } type ManagedClusterProperties_AutoScalerProfile struct { - // BalanceSimilarNodeGroups: Valid values are 'true' and 'false' - BalanceSimilarNodeGroups *string `json:"balance-similar-node-groups,omitempty"` - - // Expander: If not specified, the default is 'random'. See - // [expanders](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md#what-are-expanders) for more - // information. - Expander *ManagedClusterProperties_AutoScalerProfile_Expander `json:"expander,omitempty"` - - // MaxEmptyBulkDelete: The default is 10. - MaxEmptyBulkDelete *string `json:"max-empty-bulk-delete,omitempty"` - - // MaxGracefulTerminationSec: The default is 600. - MaxGracefulTerminationSec *string `json:"max-graceful-termination-sec,omitempty"` - - // MaxNodeProvisionTime: The default is '15m'. Values must be an integer followed by an 'm'. No unit of time other than - // minutes (m) is supported. - MaxNodeProvisionTime *string `json:"max-node-provision-time,omitempty"` - - // MaxTotalUnreadyPercentage: The default is 45. The maximum is 100 and the minimum is 0. - MaxTotalUnreadyPercentage *string `json:"max-total-unready-percentage,omitempty"` - - // NewPodScaleUpDelay: For scenarios like burst/batch scale where you don't want CA to act before the kubernetes scheduler - // could schedule all the pods, you can tell CA to ignore unscheduled pods before they're a certain age. The default is - // '0s'. Values must be an integer followed by a unit ('s' for seconds, 'm' for minutes, 'h' for hours, etc). - NewPodScaleUpDelay *string `json:"new-pod-scale-up-delay,omitempty"` - - // OkTotalUnreadyCount: This must be an integer. The default is 3. - OkTotalUnreadyCount *string `json:"ok-total-unready-count,omitempty"` - - // ScaleDownDelayAfterAdd: The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than - // minutes (m) is supported. - ScaleDownDelayAfterAdd *string `json:"scale-down-delay-after-add,omitempty"` - - // ScaleDownDelayAfterDelete: The default is the scan-interval. Values must be an integer followed by an 'm'. No unit of - // time other than minutes (m) is supported. - ScaleDownDelayAfterDelete *string `json:"scale-down-delay-after-delete,omitempty"` - - // ScaleDownDelayAfterFailure: The default is '3m'. Values must be an integer followed by an 'm'. No unit of time other - // than minutes (m) is supported. - ScaleDownDelayAfterFailure *string `json:"scale-down-delay-after-failure,omitempty"` - - // ScaleDownUnneededTime: The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than - // minutes (m) is supported. - ScaleDownUnneededTime *string `json:"scale-down-unneeded-time,omitempty"` - - // ScaleDownUnreadyTime: The default is '20m'. Values must be an integer followed by an 'm'. No unit of time other than - // minutes (m) is supported. - ScaleDownUnreadyTime *string `json:"scale-down-unready-time,omitempty"` - - // ScaleDownUtilizationThreshold: The default is '0.5'. - ScaleDownUtilizationThreshold *string `json:"scale-down-utilization-threshold,omitempty"` - - // ScanInterval: The default is '10'. Values must be an integer number of seconds. - ScanInterval *string `json:"scan-interval,omitempty"` - - // SkipNodesWithLocalStorage: The default is true. - SkipNodesWithLocalStorage *string `json:"skip-nodes-with-local-storage,omitempty"` - - // SkipNodesWithSystemPods: The default is true. - SkipNodesWithSystemPods *string `json:"skip-nodes-with-system-pods,omitempty"` + BalanceSimilarNodeGroups *string `json:"balance-similar-node-groups,omitempty"` + Expander *ManagedClusterProperties_AutoScalerProfile_Expander `json:"expander,omitempty"` + MaxEmptyBulkDelete *string `json:"max-empty-bulk-delete,omitempty"` + MaxGracefulTerminationSec *string `json:"max-graceful-termination-sec,omitempty"` + MaxNodeProvisionTime *string `json:"max-node-provision-time,omitempty"` + MaxTotalUnreadyPercentage *string `json:"max-total-unready-percentage,omitempty"` + NewPodScaleUpDelay *string `json:"new-pod-scale-up-delay,omitempty"` + OkTotalUnreadyCount *string `json:"ok-total-unready-count,omitempty"` + ScaleDownDelayAfterAdd *string `json:"scale-down-delay-after-add,omitempty"` + ScaleDownDelayAfterDelete *string `json:"scale-down-delay-after-delete,omitempty"` + ScaleDownDelayAfterFailure *string `json:"scale-down-delay-after-failure,omitempty"` + ScaleDownUnneededTime *string `json:"scale-down-unneeded-time,omitempty"` + ScaleDownUnreadyTime *string `json:"scale-down-unready-time,omitempty"` + ScaleDownUtilizationThreshold *string `json:"scale-down-utilization-threshold,omitempty"` + ScanInterval *string `json:"scan-interval,omitempty"` + SkipNodesWithLocalStorage *string `json:"skip-nodes-with-local-storage,omitempty"` + SkipNodesWithSystemPods *string `json:"skip-nodes-with-system-pods,omitempty"` } -// Information about a service principal identity for the cluster to use for manipulating Azure APIs. type ManagedClusterServicePrincipalProfile struct { - // ClientId: The ID for the service principal. ClientId *string `json:"clientId,omitempty"` - - // Secret: The secret password associated with the service principal in plain text. - Secret *string `json:"secret,omitempty"` + Secret *string `json:"secret,omitempty"` } // +kubebuilder:validation:Enum={"Basic"} @@ -530,60 +242,23 @@ var managedClusterSKU_Tier_Values = map[string]ManagedClusterSKU_Tier{ "paid": ManagedClusterSKU_Tier_Paid, } -// Profile for Windows VMs in the managed cluster. type ManagedClusterWindowsProfile struct { - // AdminPassword: Specifies the password of the administrator account. - // Minimum-length: 8 characters - // Max-length: 123 characters - // Complexity requirements: 3 out of 4 conditions below need to be fulfilled - // Has lower characters - // Has upper characters - // Has a digit - // Has a special character (Regex match [\W_]) - // Disallowed values: "abc@123", "P@$$w0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", - // "Password22", "iloveyou!" - AdminPassword *string `json:"adminPassword,omitempty"` - - // AdminUsername: Specifies the name of the administrator account. - // Restriction: Cannot end in "." - // Disallowed values: "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", - // "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", - // "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5". - // Minimum-length: 1 character - // Max-length: 20 characters - AdminUsername *string `json:"adminUsername,omitempty"` - - // EnableCSIProxy: For more details on CSI proxy, see the [CSI proxy GitHub - // repo](https://github.com/kubernetes-csi/csi-proxy). - EnableCSIProxy *bool `json:"enableCSIProxy,omitempty"` - - // LicenseType: The license type to use for Windows VMs. See [Azure Hybrid User - // Benefits](https://azure.microsoft.com/pricing/hybrid-benefit/faq/) for more details. - LicenseType *ManagedClusterWindowsProfile_LicenseType `json:"licenseType,omitempty"` -} - -// A private link resource -type PrivateLinkResource struct { - // GroupId: The group ID of the resource. - GroupId *string `json:"groupId,omitempty"` - Id *string `json:"id,omitempty"` - - // Name: The name of the private link resource. - Name *string `json:"name,omitempty"` + AdminPassword *string `json:"adminPassword,omitempty"` + AdminUsername *string `json:"adminUsername,omitempty"` + EnableCSIProxy *bool `json:"enableCSIProxy,omitempty"` + LicenseType *ManagedClusterWindowsProfile_LicenseType `json:"licenseType,omitempty"` +} - // RequiredMembers: The RequiredMembers of the resource +type PrivateLinkResource struct { + GroupId *string `json:"groupId,omitempty"` + Id *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` RequiredMembers []string `json:"requiredMembers"` - - // Type: The resource type. - Type *string `json:"type,omitempty"` + Type *string `json:"type,omitempty"` } -// Details about a user assigned identity. type UserAssignedIdentity struct { - // ClientId: The client ID of the user assigned identity. - ClientId *string `json:"clientId,omitempty"` - - // ObjectId: The object ID of the user assigned identity. + ClientId *string `json:"clientId,omitempty"` ObjectId *string `json:"objectId,omitempty"` ResourceId *string `json:"resourceId,omitempty"` } @@ -662,9 +337,7 @@ var containerServiceNetworkProfile_OutboundType_Values = map[string]ContainerSer "userdefinedrouting": ContainerServiceNetworkProfile_OutboundType_UserDefinedRouting, } -// SSH configuration for Linux-based VMs running on Azure. type ContainerServiceSshConfiguration struct { - // PublicKeys: The list of SSH public keys used to authenticate with Linux-based VMs. A maximum of 1 key may be specified. PublicKeys []ContainerServiceSshPublicKey `json:"publicKeys"` } @@ -688,54 +361,25 @@ var managedClusterAutoUpgradeProfile_UpgradeChannel_Values = map[string]ManagedC "stable": ManagedClusterAutoUpgradeProfile_UpgradeChannel_Stable, } -// Profile of the managed cluster load balancer. type ManagedClusterLoadBalancerProfile struct { - // AllocatedOutboundPorts: The desired number of allocated SNAT ports per VM. Allowed values are in the range of 0 to 64000 - // (inclusive). The default value is 0 which results in Azure dynamically allocating ports. - AllocatedOutboundPorts *int `json:"allocatedOutboundPorts,omitempty"` - - // EffectiveOutboundIPs: The effective outbound IP resources of the cluster load balancer. - EffectiveOutboundIPs []ResourceReference `json:"effectiveOutboundIPs"` - - // IdleTimeoutInMinutes: Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 - // (inclusive). The default value is 30 minutes. - IdleTimeoutInMinutes *int `json:"idleTimeoutInMinutes,omitempty"` - - // ManagedOutboundIPs: Desired managed outbound IPs for the cluster load balancer. - ManagedOutboundIPs *ManagedClusterLoadBalancerProfile_ManagedOutboundIPs `json:"managedOutboundIPs,omitempty"` - - // OutboundIPPrefixes: Desired outbound IP Prefix resources for the cluster load balancer. - OutboundIPPrefixes *ManagedClusterLoadBalancerProfile_OutboundIPPrefixes `json:"outboundIPPrefixes,omitempty"` - - // OutboundIPs: Desired outbound IP resources for the cluster load balancer. - OutboundIPs *ManagedClusterLoadBalancerProfile_OutboundIPs `json:"outboundIPs,omitempty"` + AllocatedOutboundPorts *int `json:"allocatedOutboundPorts,omitempty"` + EffectiveOutboundIPs []ResourceReference `json:"effectiveOutboundIPs"` + IdleTimeoutInMinutes *int `json:"idleTimeoutInMinutes,omitempty"` + ManagedOutboundIPs *ManagedClusterLoadBalancerProfile_ManagedOutboundIPs `json:"managedOutboundIPs,omitempty"` + OutboundIPPrefixes *ManagedClusterLoadBalancerProfile_OutboundIPPrefixes `json:"outboundIPPrefixes,omitempty"` + OutboundIPs *ManagedClusterLoadBalancerProfile_OutboundIPs `json:"outboundIPs,omitempty"` } -// Details about the pod identity assigned to the Managed Cluster. type ManagedClusterPodIdentity struct { - // BindingSelector: The binding selector to use for the AzureIdentityBinding resource. - BindingSelector *string `json:"bindingSelector,omitempty"` - - // Identity: The user assigned identity details. - Identity *UserAssignedIdentity `json:"identity,omitempty"` - - // Name: The name of the pod identity. - Name *string `json:"name,omitempty"` - - // Namespace: The namespace of the pod identity. - Namespace *string `json:"namespace,omitempty"` + BindingSelector *string `json:"bindingSelector,omitempty"` + Identity *UserAssignedIdentity `json:"identity,omitempty"` + Name *string `json:"name,omitempty"` + Namespace *string `json:"namespace,omitempty"` } -// See [disable AAD Pod Identity for a specific -// Pod/Application](https://azure.github.io/aad-pod-identity/docs/configure/application_exception/) for more details. type ManagedClusterPodIdentityException struct { - // Name: The name of the pod identity exception. - Name *string `json:"name,omitempty"` - - // Namespace: The namespace of the pod identity exception. - Namespace *string `json:"namespace,omitempty"` - - // PodLabels: The pod labels to match. + Name *string `json:"name,omitempty"` + Namespace *string `json:"namespace,omitempty"` PodLabels map[string]string `json:"podLabels"` } @@ -771,30 +415,22 @@ var managedClusterWindowsProfile_LicenseType_Values = map[string]ManagedClusterW "windows_server": ManagedClusterWindowsProfile_LicenseType_Windows_Server, } -// Contains information about SSH certificate public key data. type ContainerServiceSshPublicKey struct { - // KeyData: Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or - // without headers. KeyData *string `json:"keyData,omitempty"` } type ManagedClusterLoadBalancerProfile_ManagedOutboundIPs struct { - // Count: The desired number of outbound IPs created/managed by Azure for the cluster load balancer. Allowed values must be - // in the range of 1 to 100 (inclusive). The default value is 1. Count *int `json:"count,omitempty"` } type ManagedClusterLoadBalancerProfile_OutboundIPPrefixes struct { - // PublicIPPrefixes: A list of public IP prefix resources. PublicIPPrefixes []ResourceReference `json:"publicIPPrefixes"` } type ManagedClusterLoadBalancerProfile_OutboundIPs struct { - // PublicIPs: A list of public IP resources. PublicIPs []ResourceReference `json:"publicIPs"` } -// A reference to an Azure resource. type ResourceReference struct { Id *string `json:"id,omitempty"` } diff --git a/v2/api/containerservice/v1api20210501/arm/managed_cluster_status_types_gen.go b/v2/api/containerservice/v1api20210501/arm/managed_cluster_status_types_gen.go index 062b41d095d..5683ee7e062 100644 --- a/v2/api/containerservice/v1api20210501/arm/managed_cluster_status_types_gen.go +++ b/v2/api/containerservice/v1api20210501/arm/managed_cluster_status_types_gen.go @@ -3,219 +3,84 @@ // Licensed under the MIT license. package arm -// Managed cluster. type ManagedCluster_STATUS struct { - // ExtendedLocation: The extended location of the Virtual Machine. - ExtendedLocation *ExtendedLocation_STATUS `json:"extendedLocation,omitempty"` - - // Id: Resource Id - Id *string `json:"id,omitempty"` - - // Identity: The identity of the managed cluster, if configured. - Identity *ManagedClusterIdentity_STATUS `json:"identity,omitempty"` - - // Location: Resource location - Location *string `json:"location,omitempty"` - - // Name: Resource name - Name *string `json:"name,omitempty"` - - // Properties: Properties of a managed cluster. - Properties *ManagedClusterProperties_STATUS `json:"properties,omitempty"` - - // Sku: The managed cluster SKU. - Sku *ManagedClusterSKU_STATUS `json:"sku,omitempty"` - - // Tags: Resource tags - Tags map[string]string `json:"tags"` - - // Type: Resource type - Type *string `json:"type,omitempty"` + ExtendedLocation *ExtendedLocation_STATUS `json:"extendedLocation,omitempty"` + Id *string `json:"id,omitempty"` + Identity *ManagedClusterIdentity_STATUS `json:"identity,omitempty"` + Location *string `json:"location,omitempty"` + Name *string `json:"name,omitempty"` + Properties *ManagedClusterProperties_STATUS `json:"properties,omitempty"` + Sku *ManagedClusterSKU_STATUS `json:"sku,omitempty"` + Tags map[string]string `json:"tags"` + Type *string `json:"type,omitempty"` } -// The complex type of the extended location. type ExtendedLocation_STATUS struct { - // Name: The name of the extended location. - Name *string `json:"name,omitempty"` - - // Type: The type of the extended location. + Name *string `json:"name,omitempty"` Type *ExtendedLocationType_STATUS `json:"type,omitempty"` } -// Identity for the managed cluster. type ManagedClusterIdentity_STATUS struct { - // PrincipalId: The principal id of the system assigned identity which is used by master components. - PrincipalId *string `json:"principalId,omitempty"` - - // TenantId: The tenant id of the system assigned identity which is used by master components. - TenantId *string `json:"tenantId,omitempty"` - - // Type: For more information see [use managed identities in - // AKS](https://docs.microsoft.com/azure/aks/use-managed-identity). - Type *ManagedClusterIdentity_Type_STATUS `json:"type,omitempty"` - - // UserAssignedIdentities: The keys must be ARM resource IDs in the form: - // '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + PrincipalId *string `json:"principalId,omitempty"` + TenantId *string `json:"tenantId,omitempty"` + Type *ManagedClusterIdentity_Type_STATUS `json:"type,omitempty"` UserAssignedIdentities map[string]ManagedClusterIdentity_UserAssignedIdentities_STATUS `json:"userAssignedIdentities"` } -// Properties of the managed cluster. type ManagedClusterProperties_STATUS struct { - // AadProfile: The Azure Active Directory configuration. - AadProfile *ManagedClusterAADProfile_STATUS `json:"aadProfile,omitempty"` - - // AddonProfiles: The profile of managed cluster add-on. - AddonProfiles map[string]ManagedClusterAddonProfile_STATUS `json:"addonProfiles"` - - // AgentPoolProfiles: The agent pool properties. - AgentPoolProfiles []ManagedClusterAgentPoolProfile_STATUS `json:"agentPoolProfiles"` - - // ApiServerAccessProfile: The access profile for managed cluster API server. - ApiServerAccessProfile *ManagedClusterAPIServerAccessProfile_STATUS `json:"apiServerAccessProfile,omitempty"` - - // AutoScalerProfile: Parameters to be applied to the cluster-autoscaler when enabled - AutoScalerProfile *ManagedClusterProperties_AutoScalerProfile_STATUS `json:"autoScalerProfile,omitempty"` - - // AutoUpgradeProfile: The auto upgrade configuration. - AutoUpgradeProfile *ManagedClusterAutoUpgradeProfile_STATUS `json:"autoUpgradeProfile,omitempty"` - - // AzurePortalFQDN: The Azure Portal requires certain Cross-Origin Resource Sharing (CORS) headers to be sent in some - // responses, which Kubernetes APIServer doesn't handle by default. This special FQDN supports CORS, allowing the Azure - // Portal to function properly. - AzurePortalFQDN *string `json:"azurePortalFQDN,omitempty"` - - // DisableLocalAccounts: If set to true, getting static credentials will be disabled for this cluster. This must only be - // used on Managed Clusters that are AAD enabled. For more details see [disable local - // accounts](https://docs.microsoft.com/azure/aks/managed-aad#disable-local-accounts-preview). - DisableLocalAccounts *bool `json:"disableLocalAccounts,omitempty"` - - // DiskEncryptionSetID: This is of the form: - // '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}' - DiskEncryptionSetID *string `json:"diskEncryptionSetID,omitempty"` - - // DnsPrefix: This cannot be updated once the Managed Cluster has been created. - DnsPrefix *string `json:"dnsPrefix,omitempty"` - - // EnablePodSecurityPolicy: (DEPRECATING) Whether to enable Kubernetes pod security policy (preview). This feature is set - // for removal on October 15th, 2020. Learn more at aka.ms/aks/azpodpolicy. - EnablePodSecurityPolicy *bool `json:"enablePodSecurityPolicy,omitempty"` - - // EnableRBAC: Whether to enable Kubernetes Role-Based Access Control. - EnableRBAC *bool `json:"enableRBAC,omitempty"` - - // Fqdn: The FQDN of the master pool. - Fqdn *string `json:"fqdn,omitempty"` - - // FqdnSubdomain: This cannot be updated once the Managed Cluster has been created. - FqdnSubdomain *string `json:"fqdnSubdomain,omitempty"` - - // HttpProxyConfig: Configurations for provisioning the cluster with HTTP proxy servers. - HttpProxyConfig *ManagedClusterHTTPProxyConfig_STATUS `json:"httpProxyConfig,omitempty"` - - // IdentityProfile: Identities associated with the cluster. - IdentityProfile map[string]UserAssignedIdentity_STATUS `json:"identityProfile"` - - // KubernetesVersion: When you upgrade a supported AKS cluster, Kubernetes minor versions cannot be skipped. All upgrades - // must be performed sequentially by major version number. For example, upgrades between 1.14.x -> 1.15.x or 1.15.x -> - // 1.16.x are allowed, however 1.14.x -> 1.16.x is not allowed. See [upgrading an AKS - // cluster](https://docs.microsoft.com/azure/aks/upgrade-cluster) for more details. - KubernetesVersion *string `json:"kubernetesVersion,omitempty"` - - // LinuxProfile: The profile for Linux VMs in the Managed Cluster. - LinuxProfile *ContainerServiceLinuxProfile_STATUS `json:"linuxProfile,omitempty"` - - // MaxAgentPools: The max number of agent pools for the managed cluster. - MaxAgentPools *int `json:"maxAgentPools,omitempty"` - - // NetworkProfile: The network configuration profile. - NetworkProfile *ContainerServiceNetworkProfile_STATUS `json:"networkProfile,omitempty"` - - // NodeResourceGroup: The name of the resource group containing agent pool nodes. - NodeResourceGroup *string `json:"nodeResourceGroup,omitempty"` - - // PodIdentityProfile: See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more - // details on AAD pod identity integration. - PodIdentityProfile *ManagedClusterPodIdentityProfile_STATUS `json:"podIdentityProfile,omitempty"` - - // PowerState: The Power State of the cluster. - PowerState *PowerState_STATUS `json:"powerState,omitempty"` - - // PrivateFQDN: The FQDN of private cluster. - PrivateFQDN *string `json:"privateFQDN,omitempty"` - - // PrivateLinkResources: Private link resources associated with the cluster. - PrivateLinkResources []PrivateLinkResource_STATUS `json:"privateLinkResources"` - - // ProvisioningState: The current provisioning state. - ProvisioningState *string `json:"provisioningState,omitempty"` - - // ServicePrincipalProfile: Information about a service principal identity for the cluster to use for manipulating Azure - // APIs. - ServicePrincipalProfile *ManagedClusterServicePrincipalProfile_STATUS `json:"servicePrincipalProfile,omitempty"` - - // WindowsProfile: The profile for Windows VMs in the Managed Cluster. - WindowsProfile *ManagedClusterWindowsProfile_STATUS `json:"windowsProfile,omitempty"` + AadProfile *ManagedClusterAADProfile_STATUS `json:"aadProfile,omitempty"` + AddonProfiles map[string]ManagedClusterAddonProfile_STATUS `json:"addonProfiles"` + AgentPoolProfiles []ManagedClusterAgentPoolProfile_STATUS `json:"agentPoolProfiles"` + ApiServerAccessProfile *ManagedClusterAPIServerAccessProfile_STATUS `json:"apiServerAccessProfile,omitempty"` + AutoScalerProfile *ManagedClusterProperties_AutoScalerProfile_STATUS `json:"autoScalerProfile,omitempty"` + AutoUpgradeProfile *ManagedClusterAutoUpgradeProfile_STATUS `json:"autoUpgradeProfile,omitempty"` + AzurePortalFQDN *string `json:"azurePortalFQDN,omitempty"` + DisableLocalAccounts *bool `json:"disableLocalAccounts,omitempty"` + DiskEncryptionSetID *string `json:"diskEncryptionSetID,omitempty"` + DnsPrefix *string `json:"dnsPrefix,omitempty"` + EnablePodSecurityPolicy *bool `json:"enablePodSecurityPolicy,omitempty"` + EnableRBAC *bool `json:"enableRBAC,omitempty"` + Fqdn *string `json:"fqdn,omitempty"` + FqdnSubdomain *string `json:"fqdnSubdomain,omitempty"` + HttpProxyConfig *ManagedClusterHTTPProxyConfig_STATUS `json:"httpProxyConfig,omitempty"` + IdentityProfile map[string]UserAssignedIdentity_STATUS `json:"identityProfile"` + KubernetesVersion *string `json:"kubernetesVersion,omitempty"` + LinuxProfile *ContainerServiceLinuxProfile_STATUS `json:"linuxProfile,omitempty"` + MaxAgentPools *int `json:"maxAgentPools,omitempty"` + NetworkProfile *ContainerServiceNetworkProfile_STATUS `json:"networkProfile,omitempty"` + NodeResourceGroup *string `json:"nodeResourceGroup,omitempty"` + PodIdentityProfile *ManagedClusterPodIdentityProfile_STATUS `json:"podIdentityProfile,omitempty"` + PowerState *PowerState_STATUS `json:"powerState,omitempty"` + PrivateFQDN *string `json:"privateFQDN,omitempty"` + PrivateLinkResources []PrivateLinkResource_STATUS `json:"privateLinkResources"` + ProvisioningState *string `json:"provisioningState,omitempty"` + ServicePrincipalProfile *ManagedClusterServicePrincipalProfile_STATUS `json:"servicePrincipalProfile,omitempty"` + WindowsProfile *ManagedClusterWindowsProfile_STATUS `json:"windowsProfile,omitempty"` } -// The SKU of a Managed Cluster. type ManagedClusterSKU_STATUS struct { - // Name: The name of a managed cluster SKU. Name *ManagedClusterSKU_Name_STATUS `json:"name,omitempty"` - - // Tier: If not specified, the default is 'Free'. See [uptime SLA](https://docs.microsoft.com/azure/aks/uptime-sla) for - // more details. Tier *ManagedClusterSKU_Tier_STATUS `json:"tier,omitempty"` } -// Profile for Linux VMs in the container service cluster. type ContainerServiceLinuxProfile_STATUS struct { - // AdminUsername: The administrator username to use for Linux VMs. - AdminUsername *string `json:"adminUsername,omitempty"` - - // Ssh: The SSH configuration for Linux-based VMs running on Azure. - Ssh *ContainerServiceSshConfiguration_STATUS `json:"ssh,omitempty"` + AdminUsername *string `json:"adminUsername,omitempty"` + Ssh *ContainerServiceSshConfiguration_STATUS `json:"ssh,omitempty"` } -// Profile of network configuration. type ContainerServiceNetworkProfile_STATUS struct { - // DnsServiceIP: An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address - // range specified in serviceCidr. - DnsServiceIP *string `json:"dnsServiceIP,omitempty"` - - // DockerBridgeCidr: A CIDR notation IP range assigned to the Docker bridge network. It must not overlap with any Subnet IP - // ranges or the Kubernetes service address range. - DockerBridgeCidr *string `json:"dockerBridgeCidr,omitempty"` - - // LoadBalancerProfile: Profile of the cluster load balancer. - LoadBalancerProfile *ManagedClusterLoadBalancerProfile_STATUS `json:"loadBalancerProfile,omitempty"` - - // LoadBalancerSku: The default is 'standard'. See [Azure Load Balancer - // SKUs](https://docs.microsoft.com/azure/load-balancer/skus) for more information about the differences between load - // balancer SKUs. - LoadBalancerSku *ContainerServiceNetworkProfile_LoadBalancerSku_STATUS `json:"loadBalancerSku,omitempty"` - - // NetworkMode: This cannot be specified if networkPlugin is anything other than 'azure'. - NetworkMode *ContainerServiceNetworkProfile_NetworkMode_STATUS `json:"networkMode,omitempty"` - - // NetworkPlugin: Network plugin used for building the Kubernetes network. - NetworkPlugin *ContainerServiceNetworkProfile_NetworkPlugin_STATUS `json:"networkPlugin,omitempty"` - - // NetworkPolicy: Network policy used for building the Kubernetes network. - NetworkPolicy *ContainerServiceNetworkProfile_NetworkPolicy_STATUS `json:"networkPolicy,omitempty"` - - // OutboundType: This can only be set at cluster creation time and cannot be changed later. For more information see - // [egress outbound type](https://docs.microsoft.com/azure/aks/egress-outboundtype). - OutboundType *ContainerServiceNetworkProfile_OutboundType_STATUS `json:"outboundType,omitempty"` - - // PodCidr: A CIDR notation IP range from which to assign pod IPs when kubenet is used. - PodCidr *string `json:"podCidr,omitempty"` - - // ServiceCidr: A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP - // ranges. - ServiceCidr *string `json:"serviceCidr,omitempty"` + DnsServiceIP *string `json:"dnsServiceIP,omitempty"` + DockerBridgeCidr *string `json:"dockerBridgeCidr,omitempty"` + LoadBalancerProfile *ManagedClusterLoadBalancerProfile_STATUS `json:"loadBalancerProfile,omitempty"` + LoadBalancerSku *ContainerServiceNetworkProfile_LoadBalancerSku_STATUS `json:"loadBalancerSku,omitempty"` + NetworkMode *ContainerServiceNetworkProfile_NetworkMode_STATUS `json:"networkMode,omitempty"` + NetworkPlugin *ContainerServiceNetworkProfile_NetworkPlugin_STATUS `json:"networkPlugin,omitempty"` + NetworkPolicy *ContainerServiceNetworkProfile_NetworkPolicy_STATUS `json:"networkPolicy,omitempty"` + OutboundType *ContainerServiceNetworkProfile_OutboundType_STATUS `json:"outboundType,omitempty"` + PodCidr *string `json:"podCidr,omitempty"` + ServiceCidr *string `json:"serviceCidr,omitempty"` } -// The type of extendedLocation. type ExtendedLocationType_STATUS string const ExtendedLocationType_STATUS_EdgeZone = ExtendedLocationType_STATUS("EdgeZone") @@ -225,222 +90,78 @@ var extendedLocationType_STATUS_Values = map[string]ExtendedLocationType_STATUS{ "edgezone": ExtendedLocationType_STATUS_EdgeZone, } -// For more details see [managed AAD on AKS](https://docs.microsoft.com/azure/aks/managed-aad). type ManagedClusterAADProfile_STATUS struct { - // AdminGroupObjectIDs: The list of AAD group object IDs that will have admin role of the cluster. AdminGroupObjectIDs []string `json:"adminGroupObjectIDs"` - - // ClientAppID: The client AAD application ID. - ClientAppID *string `json:"clientAppID,omitempty"` - - // EnableAzureRBAC: Whether to enable Azure RBAC for Kubernetes authorization. - EnableAzureRBAC *bool `json:"enableAzureRBAC,omitempty"` - - // Managed: Whether to enable managed AAD. - Managed *bool `json:"managed,omitempty"` - - // ServerAppID: The server AAD application ID. - ServerAppID *string `json:"serverAppID,omitempty"` - - // ServerAppSecret: The server AAD application secret. - ServerAppSecret *string `json:"serverAppSecret,omitempty"` - - // TenantID: The AAD tenant ID to use for authentication. If not specified, will use the tenant of the deployment - // subscription. - TenantID *string `json:"tenantID,omitempty"` + ClientAppID *string `json:"clientAppID,omitempty"` + EnableAzureRBAC *bool `json:"enableAzureRBAC,omitempty"` + Managed *bool `json:"managed,omitempty"` + ServerAppID *string `json:"serverAppID,omitempty"` + ServerAppSecret *string `json:"serverAppSecret,omitempty"` + TenantID *string `json:"tenantID,omitempty"` } -// A Kubernetes add-on profile for a managed cluster. type ManagedClusterAddonProfile_STATUS struct { - // Config: Key-value pairs for configuring an add-on. - Config map[string]string `json:"config"` - - // Enabled: Whether the add-on is enabled or not. - Enabled *bool `json:"enabled,omitempty"` - - // Identity: Information of user assigned identity used by this add-on. + Config map[string]string `json:"config"` + Enabled *bool `json:"enabled,omitempty"` Identity *UserAssignedIdentity_STATUS `json:"identity,omitempty"` } -// Profile for the container service agent pool. type ManagedClusterAgentPoolProfile_STATUS struct { - // AvailabilityZones: The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType - // property is 'VirtualMachineScaleSets'. - AvailabilityZones []string `json:"availabilityZones"` - - // Count: Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) - // for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1. - Count *int `json:"count,omitempty"` - - // EnableAutoScaling: Whether to enable auto-scaler - EnableAutoScaling *bool `json:"enableAutoScaling,omitempty"` - - // EnableEncryptionAtHost: This is only supported on certain VM sizes and in certain Azure regions. For more information, - // see: https://docs.microsoft.com/azure/aks/enable-host-encryption - EnableEncryptionAtHost *bool `json:"enableEncryptionAtHost,omitempty"` - - // EnableFIPS: See [Add a FIPS-enabled node - // pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more - // details. - EnableFIPS *bool `json:"enableFIPS,omitempty"` - - // EnableNodePublicIP: Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. - // A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine - // to minimize hops. For more information see [assigning a public IP per - // node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The - // default is false. - EnableNodePublicIP *bool `json:"enableNodePublicIP,omitempty"` - - // EnableUltraSSD: Whether to enable UltraSSD - EnableUltraSSD *bool `json:"enableUltraSSD,omitempty"` - - // GpuInstanceProfile: GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU. - GpuInstanceProfile *GPUInstanceProfile_STATUS `json:"gpuInstanceProfile,omitempty"` - - // KubeletConfig: The Kubelet configuration on the agent pool nodes. - KubeletConfig *KubeletConfig_STATUS `json:"kubeletConfig,omitempty"` - - // KubeletDiskType: Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral - // storage. - KubeletDiskType *KubeletDiskType_STATUS `json:"kubeletDiskType,omitempty"` - - // LinuxOSConfig: The OS configuration of Linux agent nodes. - LinuxOSConfig *LinuxOSConfig_STATUS `json:"linuxOSConfig,omitempty"` - - // MaxCount: The maximum number of nodes for auto-scaling - MaxCount *int `json:"maxCount,omitempty"` - - // MaxPods: The maximum number of pods that can run on a node. - MaxPods *int `json:"maxPods,omitempty"` - - // MinCount: The minimum number of nodes for auto-scaling - MinCount *int `json:"minCount,omitempty"` - - // Mode: A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool - // restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools - Mode *AgentPoolMode_STATUS `json:"mode,omitempty"` - - // Name: Windows agent pool names must be 6 characters or less. - Name *string `json:"name,omitempty"` - - // NodeImageVersion: The version of node image - NodeImageVersion *string `json:"nodeImageVersion,omitempty"` - - // NodeLabels: The node labels to be persisted across all nodes in agent pool. - NodeLabels map[string]string `json:"nodeLabels"` - - // NodePublicIPPrefixID: This is of the form: - // /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} - NodePublicIPPrefixID *string `json:"nodePublicIPPrefixID,omitempty"` - - // NodeTaints: The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule. - NodeTaints []string `json:"nodeTaints"` - - // OrchestratorVersion: As a best practice, you should upgrade all node pools in an AKS cluster to the same Kubernetes - // version. The node pool version must have the same major version as the control plane. The node pool minor version must - // be within two minor versions of the control plane version. The node pool version cannot be greater than the control - // plane version. For more information see [upgrading a node - // pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). - OrchestratorVersion *string `json:"orchestratorVersion,omitempty"` - OsDiskSizeGB *int `json:"osDiskSizeGB,omitempty"` - - // OsDiskType: The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested - // OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral - // OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). - OsDiskType *OSDiskType_STATUS `json:"osDiskType,omitempty"` - - // OsSKU: Specifies an OS SKU. This value must not be specified if OSType is Windows. - OsSKU *OSSKU_STATUS `json:"osSKU,omitempty"` - - // OsType: The operating system type. The default is Linux. - OsType *OSType_STATUS `json:"osType,omitempty"` - - // PodSubnetID: If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). This is - // of the form: - // /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} - PodSubnetID *string `json:"podSubnetID,omitempty"` - - // PowerState: Describes whether the Agent Pool is Running or Stopped - PowerState *PowerState_STATUS `json:"powerState,omitempty"` - - // ProvisioningState: The current deployment or provisioning state. - ProvisioningState *string `json:"provisioningState,omitempty"` - - // ProximityPlacementGroupID: The ID for Proximity Placement Group. - ProximityPlacementGroupID *string `json:"proximityPlacementGroupID,omitempty"` - - // ScaleSetEvictionPolicy: This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is - // 'Delete'. - ScaleSetEvictionPolicy *ScaleSetEvictionPolicy_STATUS `json:"scaleSetEvictionPolicy,omitempty"` - - // ScaleSetPriority: The Virtual Machine Scale Set priority. If not specified, the default is 'Regular'. - ScaleSetPriority *ScaleSetPriority_STATUS `json:"scaleSetPriority,omitempty"` - - // SpotMaxPrice: Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any - // on-demand price. For more details on spot pricing, see [spot VMs - // pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing) - SpotMaxPrice *float64 `json:"spotMaxPrice,omitempty"` - - // Tags: The tags to be persisted on the agent pool virtual machine scale set. - Tags map[string]string `json:"tags"` - - // Type: The type of Agent Pool. - Type *AgentPoolType_STATUS `json:"type,omitempty"` - - // UpgradeSettings: Settings for upgrading the agentpool - UpgradeSettings *AgentPoolUpgradeSettings_STATUS `json:"upgradeSettings,omitempty"` - - // VmSize: VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods - // might fail to run correctly. For more details on restricted VM sizes, see: - // https://docs.microsoft.com/azure/aks/quotas-skus-regions - VmSize *string `json:"vmSize,omitempty"` - - // VnetSubnetID: If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is specified, - // this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: - // /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} - VnetSubnetID *string `json:"vnetSubnetID,omitempty"` + AvailabilityZones []string `json:"availabilityZones"` + Count *int `json:"count,omitempty"` + EnableAutoScaling *bool `json:"enableAutoScaling,omitempty"` + EnableEncryptionAtHost *bool `json:"enableEncryptionAtHost,omitempty"` + EnableFIPS *bool `json:"enableFIPS,omitempty"` + EnableNodePublicIP *bool `json:"enableNodePublicIP,omitempty"` + EnableUltraSSD *bool `json:"enableUltraSSD,omitempty"` + GpuInstanceProfile *GPUInstanceProfile_STATUS `json:"gpuInstanceProfile,omitempty"` + KubeletConfig *KubeletConfig_STATUS `json:"kubeletConfig,omitempty"` + KubeletDiskType *KubeletDiskType_STATUS `json:"kubeletDiskType,omitempty"` + LinuxOSConfig *LinuxOSConfig_STATUS `json:"linuxOSConfig,omitempty"` + MaxCount *int `json:"maxCount,omitempty"` + MaxPods *int `json:"maxPods,omitempty"` + MinCount *int `json:"minCount,omitempty"` + Mode *AgentPoolMode_STATUS `json:"mode,omitempty"` + Name *string `json:"name,omitempty"` + NodeImageVersion *string `json:"nodeImageVersion,omitempty"` + NodeLabels map[string]string `json:"nodeLabels"` + NodePublicIPPrefixID *string `json:"nodePublicIPPrefixID,omitempty"` + NodeTaints []string `json:"nodeTaints"` + OrchestratorVersion *string `json:"orchestratorVersion,omitempty"` + OsDiskSizeGB *int `json:"osDiskSizeGB,omitempty"` + OsDiskType *OSDiskType_STATUS `json:"osDiskType,omitempty"` + OsSKU *OSSKU_STATUS `json:"osSKU,omitempty"` + OsType *OSType_STATUS `json:"osType,omitempty"` + PodSubnetID *string `json:"podSubnetID,omitempty"` + PowerState *PowerState_STATUS `json:"powerState,omitempty"` + ProvisioningState *string `json:"provisioningState,omitempty"` + ProximityPlacementGroupID *string `json:"proximityPlacementGroupID,omitempty"` + ScaleSetEvictionPolicy *ScaleSetEvictionPolicy_STATUS `json:"scaleSetEvictionPolicy,omitempty"` + ScaleSetPriority *ScaleSetPriority_STATUS `json:"scaleSetPriority,omitempty"` + SpotMaxPrice *float64 `json:"spotMaxPrice,omitempty"` + Tags map[string]string `json:"tags"` + Type *AgentPoolType_STATUS `json:"type,omitempty"` + UpgradeSettings *AgentPoolUpgradeSettings_STATUS `json:"upgradeSettings,omitempty"` + VmSize *string `json:"vmSize,omitempty"` + VnetSubnetID *string `json:"vnetSubnetID,omitempty"` } -// Access profile for managed cluster API server. type ManagedClusterAPIServerAccessProfile_STATUS struct { - // AuthorizedIPRanges: IP ranges are specified in CIDR format, e.g. 137.117.106.88/29. This feature is not compatible with - // clusters that use Public IP Per Node, or clusters that are using a Basic Load Balancer. For more information see [API - // server authorized IP ranges](https://docs.microsoft.com/azure/aks/api-server-authorized-ip-ranges). - AuthorizedIPRanges []string `json:"authorizedIPRanges"` - - // EnablePrivateCluster: For more details, see [Creating a private AKS - // cluster](https://docs.microsoft.com/azure/aks/private-clusters). - EnablePrivateCluster *bool `json:"enablePrivateCluster,omitempty"` - - // EnablePrivateClusterPublicFQDN: Whether to create additional public FQDN for private cluster or not. - EnablePrivateClusterPublicFQDN *bool `json:"enablePrivateClusterPublicFQDN,omitempty"` - - // PrivateDNSZone: The default is System. For more details see [configure private DNS - // zone](https://docs.microsoft.com/azure/aks/private-clusters#configure-private-dns-zone). Allowed values are 'system' and - // 'none'. - PrivateDNSZone *string `json:"privateDNSZone,omitempty"` + AuthorizedIPRanges []string `json:"authorizedIPRanges"` + EnablePrivateCluster *bool `json:"enablePrivateCluster,omitempty"` + EnablePrivateClusterPublicFQDN *bool `json:"enablePrivateClusterPublicFQDN,omitempty"` + PrivateDNSZone *string `json:"privateDNSZone,omitempty"` } -// Auto upgrade profile for a managed cluster. type ManagedClusterAutoUpgradeProfile_STATUS struct { - // UpgradeChannel: For more information see [setting the AKS cluster auto-upgrade - // channel](https://docs.microsoft.com/azure/aks/upgrade-cluster#set-auto-upgrade-channel). UpgradeChannel *ManagedClusterAutoUpgradeProfile_UpgradeChannel_STATUS `json:"upgradeChannel,omitempty"` } -// Cluster HTTP proxy configuration. type ManagedClusterHTTPProxyConfig_STATUS struct { - // HttpProxy: The HTTP proxy server endpoint to use. - HttpProxy *string `json:"httpProxy,omitempty"` - - // HttpsProxy: The HTTPS proxy server endpoint to use. - HttpsProxy *string `json:"httpsProxy,omitempty"` - - // NoProxy: The endpoints that should not go through proxy. - NoProxy []string `json:"noProxy"` - - // TrustedCa: Alternative CA cert to use for connecting to proxy servers. - TrustedCa *string `json:"trustedCa,omitempty"` + HttpProxy *string `json:"httpProxy,omitempty"` + HttpsProxy *string `json:"httpsProxy,omitempty"` + NoProxy []string `json:"noProxy"` + TrustedCa *string `json:"trustedCa,omitempty"` } type ManagedClusterIdentity_Type_STATUS string @@ -459,98 +180,38 @@ var managedClusterIdentity_Type_STATUS_Values = map[string]ManagedClusterIdentit } type ManagedClusterIdentity_UserAssignedIdentities_STATUS struct { - // ClientId: The client id of user assigned identity. - ClientId *string `json:"clientId,omitempty"` - - // PrincipalId: The principal id of user assigned identity. + ClientId *string `json:"clientId,omitempty"` PrincipalId *string `json:"principalId,omitempty"` } -// See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on pod -// identity integration. type ManagedClusterPodIdentityProfile_STATUS struct { - // AllowNetworkPluginKubenet: Running in Kubenet is disabled by default due to the security related nature of AAD Pod - // Identity and the risks of IP spoofing. See [using Kubenet network plugin with AAD Pod - // Identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity#using-kubenet-network-plugin-with-azure-active-directory-pod-managed-identities) - // for more information. - AllowNetworkPluginKubenet *bool `json:"allowNetworkPluginKubenet,omitempty"` - - // Enabled: Whether the pod identity addon is enabled. - Enabled *bool `json:"enabled,omitempty"` - - // UserAssignedIdentities: The pod identities to use in the cluster. - UserAssignedIdentities []ManagedClusterPodIdentity_STATUS `json:"userAssignedIdentities"` - - // UserAssignedIdentityExceptions: The pod identity exceptions to allow. + AllowNetworkPluginKubenet *bool `json:"allowNetworkPluginKubenet,omitempty"` + Enabled *bool `json:"enabled,omitempty"` + UserAssignedIdentities []ManagedClusterPodIdentity_STATUS `json:"userAssignedIdentities"` UserAssignedIdentityExceptions []ManagedClusterPodIdentityException_STATUS `json:"userAssignedIdentityExceptions"` } type ManagedClusterProperties_AutoScalerProfile_STATUS struct { - // BalanceSimilarNodeGroups: Valid values are 'true' and 'false' - BalanceSimilarNodeGroups *string `json:"balance-similar-node-groups,omitempty"` - - // Expander: If not specified, the default is 'random'. See - // [expanders](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md#what-are-expanders) for more - // information. - Expander *ManagedClusterProperties_AutoScalerProfile_Expander_STATUS `json:"expander,omitempty"` - - // MaxEmptyBulkDelete: The default is 10. - MaxEmptyBulkDelete *string `json:"max-empty-bulk-delete,omitempty"` - - // MaxGracefulTerminationSec: The default is 600. - MaxGracefulTerminationSec *string `json:"max-graceful-termination-sec,omitempty"` - - // MaxNodeProvisionTime: The default is '15m'. Values must be an integer followed by an 'm'. No unit of time other than - // minutes (m) is supported. - MaxNodeProvisionTime *string `json:"max-node-provision-time,omitempty"` - - // MaxTotalUnreadyPercentage: The default is 45. The maximum is 100 and the minimum is 0. - MaxTotalUnreadyPercentage *string `json:"max-total-unready-percentage,omitempty"` - - // NewPodScaleUpDelay: For scenarios like burst/batch scale where you don't want CA to act before the kubernetes scheduler - // could schedule all the pods, you can tell CA to ignore unscheduled pods before they're a certain age. The default is - // '0s'. Values must be an integer followed by a unit ('s' for seconds, 'm' for minutes, 'h' for hours, etc). - NewPodScaleUpDelay *string `json:"new-pod-scale-up-delay,omitempty"` - - // OkTotalUnreadyCount: This must be an integer. The default is 3. - OkTotalUnreadyCount *string `json:"ok-total-unready-count,omitempty"` - - // ScaleDownDelayAfterAdd: The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than - // minutes (m) is supported. - ScaleDownDelayAfterAdd *string `json:"scale-down-delay-after-add,omitempty"` - - // ScaleDownDelayAfterDelete: The default is the scan-interval. Values must be an integer followed by an 'm'. No unit of - // time other than minutes (m) is supported. - ScaleDownDelayAfterDelete *string `json:"scale-down-delay-after-delete,omitempty"` - - // ScaleDownDelayAfterFailure: The default is '3m'. Values must be an integer followed by an 'm'. No unit of time other - // than minutes (m) is supported. - ScaleDownDelayAfterFailure *string `json:"scale-down-delay-after-failure,omitempty"` - - // ScaleDownUnneededTime: The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than - // minutes (m) is supported. - ScaleDownUnneededTime *string `json:"scale-down-unneeded-time,omitempty"` - - // ScaleDownUnreadyTime: The default is '20m'. Values must be an integer followed by an 'm'. No unit of time other than - // minutes (m) is supported. - ScaleDownUnreadyTime *string `json:"scale-down-unready-time,omitempty"` - - // ScaleDownUtilizationThreshold: The default is '0.5'. - ScaleDownUtilizationThreshold *string `json:"scale-down-utilization-threshold,omitempty"` - - // ScanInterval: The default is '10'. Values must be an integer number of seconds. - ScanInterval *string `json:"scan-interval,omitempty"` - - // SkipNodesWithLocalStorage: The default is true. - SkipNodesWithLocalStorage *string `json:"skip-nodes-with-local-storage,omitempty"` - - // SkipNodesWithSystemPods: The default is true. - SkipNodesWithSystemPods *string `json:"skip-nodes-with-system-pods,omitempty"` + BalanceSimilarNodeGroups *string `json:"balance-similar-node-groups,omitempty"` + Expander *ManagedClusterProperties_AutoScalerProfile_Expander_STATUS `json:"expander,omitempty"` + MaxEmptyBulkDelete *string `json:"max-empty-bulk-delete,omitempty"` + MaxGracefulTerminationSec *string `json:"max-graceful-termination-sec,omitempty"` + MaxNodeProvisionTime *string `json:"max-node-provision-time,omitempty"` + MaxTotalUnreadyPercentage *string `json:"max-total-unready-percentage,omitempty"` + NewPodScaleUpDelay *string `json:"new-pod-scale-up-delay,omitempty"` + OkTotalUnreadyCount *string `json:"ok-total-unready-count,omitempty"` + ScaleDownDelayAfterAdd *string `json:"scale-down-delay-after-add,omitempty"` + ScaleDownDelayAfterDelete *string `json:"scale-down-delay-after-delete,omitempty"` + ScaleDownDelayAfterFailure *string `json:"scale-down-delay-after-failure,omitempty"` + ScaleDownUnneededTime *string `json:"scale-down-unneeded-time,omitempty"` + ScaleDownUnreadyTime *string `json:"scale-down-unready-time,omitempty"` + ScaleDownUtilizationThreshold *string `json:"scale-down-utilization-threshold,omitempty"` + ScanInterval *string `json:"scan-interval,omitempty"` + SkipNodesWithLocalStorage *string `json:"skip-nodes-with-local-storage,omitempty"` + SkipNodesWithSystemPods *string `json:"skip-nodes-with-system-pods,omitempty"` } -// Information about a service principal identity for the cluster to use for manipulating Azure APIs. type ManagedClusterServicePrincipalProfile_STATUS struct { - // ClientId: The ID for the service principal. ClientId *string `json:"clientId,omitempty"` } @@ -576,62 +237,28 @@ var managedClusterSKU_Tier_STATUS_Values = map[string]ManagedClusterSKU_Tier_STA "paid": ManagedClusterSKU_Tier_STATUS_Paid, } -// Profile for Windows VMs in the managed cluster. type ManagedClusterWindowsProfile_STATUS struct { - // AdminUsername: Specifies the name of the administrator account. - // Restriction: Cannot end in "." - // Disallowed values: "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", - // "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", - // "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5". - // Minimum-length: 1 character - // Max-length: 20 characters - AdminUsername *string `json:"adminUsername,omitempty"` - - // EnableCSIProxy: For more details on CSI proxy, see the [CSI proxy GitHub - // repo](https://github.com/kubernetes-csi/csi-proxy). - EnableCSIProxy *bool `json:"enableCSIProxy,omitempty"` - - // LicenseType: The license type to use for Windows VMs. See [Azure Hybrid User - // Benefits](https://azure.microsoft.com/pricing/hybrid-benefit/faq/) for more details. - LicenseType *ManagedClusterWindowsProfile_LicenseType_STATUS `json:"licenseType,omitempty"` + AdminUsername *string `json:"adminUsername,omitempty"` + EnableCSIProxy *bool `json:"enableCSIProxy,omitempty"` + LicenseType *ManagedClusterWindowsProfile_LicenseType_STATUS `json:"licenseType,omitempty"` } -// Describes the Power State of the cluster type PowerState_STATUS struct { - // Code: Tells whether the cluster is Running or Stopped Code *PowerState_Code_STATUS `json:"code,omitempty"` } -// A private link resource type PrivateLinkResource_STATUS struct { - // GroupId: The group ID of the resource. - GroupId *string `json:"groupId,omitempty"` - - // Id: The ID of the private link resource. - Id *string `json:"id,omitempty"` - - // Name: The name of the private link resource. - Name *string `json:"name,omitempty"` - - // PrivateLinkServiceID: The private link service ID of the resource, this field is exposed only to NRP internally. - PrivateLinkServiceID *string `json:"privateLinkServiceID,omitempty"` - - // RequiredMembers: The RequiredMembers of the resource - RequiredMembers []string `json:"requiredMembers"` - - // Type: The resource type. - Type *string `json:"type,omitempty"` + GroupId *string `json:"groupId,omitempty"` + Id *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + PrivateLinkServiceID *string `json:"privateLinkServiceID,omitempty"` + RequiredMembers []string `json:"requiredMembers"` + Type *string `json:"type,omitempty"` } -// Details about a user assigned identity. type UserAssignedIdentity_STATUS struct { - // ClientId: The client ID of the user assigned identity. - ClientId *string `json:"clientId,omitempty"` - - // ObjectId: The object ID of the user assigned identity. - ObjectId *string `json:"objectId,omitempty"` - - // ResourceId: The resource ID of the user assigned identity. + ClientId *string `json:"clientId,omitempty"` + ObjectId *string `json:"objectId,omitempty"` ResourceId *string `json:"resourceId,omitempty"` } @@ -700,9 +327,7 @@ var containerServiceNetworkProfile_OutboundType_STATUS_Values = map[string]Conta "userdefinedrouting": ContainerServiceNetworkProfile_OutboundType_STATUS_UserDefinedRouting, } -// SSH configuration for Linux-based VMs running on Azure. type ContainerServiceSshConfiguration_STATUS struct { - // PublicKeys: The list of SSH public keys used to authenticate with Linux-based VMs. A maximum of 1 key may be specified. PublicKeys []ContainerServiceSshPublicKey_STATUS `json:"publicKeys"` } @@ -725,58 +350,27 @@ var managedClusterAutoUpgradeProfile_UpgradeChannel_STATUS_Values = map[string]M "stable": ManagedClusterAutoUpgradeProfile_UpgradeChannel_STATUS_Stable, } -// Profile of the managed cluster load balancer. type ManagedClusterLoadBalancerProfile_STATUS struct { - // AllocatedOutboundPorts: The desired number of allocated SNAT ports per VM. Allowed values are in the range of 0 to 64000 - // (inclusive). The default value is 0 which results in Azure dynamically allocating ports. - AllocatedOutboundPorts *int `json:"allocatedOutboundPorts,omitempty"` - - // EffectiveOutboundIPs: The effective outbound IP resources of the cluster load balancer. - EffectiveOutboundIPs []ResourceReference_STATUS `json:"effectiveOutboundIPs"` - - // IdleTimeoutInMinutes: Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 - // (inclusive). The default value is 30 minutes. - IdleTimeoutInMinutes *int `json:"idleTimeoutInMinutes,omitempty"` - - // ManagedOutboundIPs: Desired managed outbound IPs for the cluster load balancer. - ManagedOutboundIPs *ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS `json:"managedOutboundIPs,omitempty"` - - // OutboundIPPrefixes: Desired outbound IP Prefix resources for the cluster load balancer. - OutboundIPPrefixes *ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS `json:"outboundIPPrefixes,omitempty"` - - // OutboundIPs: Desired outbound IP resources for the cluster load balancer. - OutboundIPs *ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS `json:"outboundIPs,omitempty"` + AllocatedOutboundPorts *int `json:"allocatedOutboundPorts,omitempty"` + EffectiveOutboundIPs []ResourceReference_STATUS `json:"effectiveOutboundIPs"` + IdleTimeoutInMinutes *int `json:"idleTimeoutInMinutes,omitempty"` + ManagedOutboundIPs *ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS `json:"managedOutboundIPs,omitempty"` + OutboundIPPrefixes *ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS `json:"outboundIPPrefixes,omitempty"` + OutboundIPs *ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS `json:"outboundIPs,omitempty"` } -// Details about the pod identity assigned to the Managed Cluster. type ManagedClusterPodIdentity_STATUS struct { - // BindingSelector: The binding selector to use for the AzureIdentityBinding resource. - BindingSelector *string `json:"bindingSelector,omitempty"` - - // Identity: The user assigned identity details. - Identity *UserAssignedIdentity_STATUS `json:"identity,omitempty"` - - // Name: The name of the pod identity. - Name *string `json:"name,omitempty"` - - // Namespace: The namespace of the pod identity. - Namespace *string `json:"namespace,omitempty"` - ProvisioningInfo *ManagedClusterPodIdentity_ProvisioningInfo_STATUS `json:"provisioningInfo,omitempty"` - - // ProvisioningState: The current provisioning state of the pod identity. + BindingSelector *string `json:"bindingSelector,omitempty"` + Identity *UserAssignedIdentity_STATUS `json:"identity,omitempty"` + Name *string `json:"name,omitempty"` + Namespace *string `json:"namespace,omitempty"` + ProvisioningInfo *ManagedClusterPodIdentity_ProvisioningInfo_STATUS `json:"provisioningInfo,omitempty"` ProvisioningState *ManagedClusterPodIdentity_ProvisioningState_STATUS `json:"provisioningState,omitempty"` } -// See [disable AAD Pod Identity for a specific -// Pod/Application](https://azure.github.io/aad-pod-identity/docs/configure/application_exception/) for more details. type ManagedClusterPodIdentityException_STATUS struct { - // Name: The name of the pod identity exception. - Name *string `json:"name,omitempty"` - - // Namespace: The namespace of the pod identity exception. - Namespace *string `json:"namespace,omitempty"` - - // PodLabels: The pod labels to match. + Name *string `json:"name,omitempty"` + Namespace *string `json:"namespace,omitempty"` PodLabels map[string]string `json:"podLabels"` } @@ -823,31 +417,23 @@ var powerState_Code_STATUS_Values = map[string]PowerState_Code_STATUS{ "stopped": PowerState_Code_STATUS_Stopped, } -// Contains information about SSH certificate public key data. type ContainerServiceSshPublicKey_STATUS struct { - // KeyData: Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or - // without headers. KeyData *string `json:"keyData,omitempty"` } type ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS struct { - // Count: The desired number of outbound IPs created/managed by Azure for the cluster load balancer. Allowed values must be - // in the range of 1 to 100 (inclusive). The default value is 1. Count *int `json:"count,omitempty"` } type ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS struct { - // PublicIPPrefixes: A list of public IP prefix resources. PublicIPPrefixes []ResourceReference_STATUS `json:"publicIPPrefixes"` } type ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS struct { - // PublicIPs: A list of public IP resources. PublicIPs []ResourceReference_STATUS `json:"publicIPs"` } type ManagedClusterPodIdentity_ProvisioningInfo_STATUS struct { - // Error: Pod identity assignment error (if any). Error *ManagedClusterPodIdentityProvisioningError_STATUS `json:"error,omitempty"` } @@ -868,40 +454,23 @@ var managedClusterPodIdentity_ProvisioningState_STATUS_Values = map[string]Manag "updating": ManagedClusterPodIdentity_ProvisioningState_STATUS_Updating, } -// A reference to an Azure resource. type ResourceReference_STATUS struct { - // Id: The fully qualified Azure resource id. Id *string `json:"id,omitempty"` } -// An error response from the pod identity provisioning. type ManagedClusterPodIdentityProvisioningError_STATUS struct { - // Error: Details about the error. Error *ManagedClusterPodIdentityProvisioningErrorBody_STATUS `json:"error,omitempty"` } -// An error response from the pod identity provisioning. type ManagedClusterPodIdentityProvisioningErrorBody_STATUS struct { - // Code: An identifier for the error. Codes are invariant and are intended to be consumed programmatically. - Code *string `json:"code,omitempty"` - - // Details: A list of additional details about the error. + Code *string `json:"code,omitempty"` Details []ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled `json:"details"` - - // Message: A message describing the error, intended to be suitable for display in a user interface. - Message *string `json:"message,omitempty"` - - // Target: The target of the particular error. For example, the name of the property in error. - Target *string `json:"target,omitempty"` + Message *string `json:"message,omitempty"` + Target *string `json:"target,omitempty"` } type ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled struct { - // Code: An identifier for the error. Codes are invariant and are intended to be consumed programmatically. - Code *string `json:"code,omitempty"` - - // Message: A message describing the error, intended to be suitable for display in a user interface. + Code *string `json:"code,omitempty"` Message *string `json:"message,omitempty"` - - // Target: The target of the particular error. For example, the name of the property in error. - Target *string `json:"target,omitempty"` + Target *string `json:"target,omitempty"` } diff --git a/v2/api/containerservice/v1api20210501/arm/managed_clusters_agent_pool_spec_types_gen.go b/v2/api/containerservice/v1api20210501/arm/managed_clusters_agent_pool_spec_types_gen.go index eabf0b8199a..7903007e781 100644 --- a/v2/api/containerservice/v1api20210501/arm/managed_clusters_agent_pool_spec_types_gen.go +++ b/v2/api/containerservice/v1api20210501/arm/managed_clusters_agent_pool_spec_types_gen.go @@ -145,8 +145,6 @@ type ManagedClusterAgentPoolProfileProperties struct { VnetSubnetID *string `json:"vnetSubnetID,omitempty"` } -// A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool restrictions -// and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools // +kubebuilder:validation:Enum={"System","User"} type AgentPoolMode string @@ -161,7 +159,6 @@ var agentPoolMode_Values = map[string]AgentPoolMode{ "user": AgentPoolMode_User, } -// The type of Agent Pool. // +kubebuilder:validation:Enum={"AvailabilitySet","VirtualMachineScaleSets"} type AgentPoolType string @@ -176,16 +173,10 @@ var agentPoolType_Values = map[string]AgentPoolType{ "virtualmachinescalesets": AgentPoolType_VirtualMachineScaleSets, } -// Settings for upgrading an agentpool type AgentPoolUpgradeSettings struct { - // MaxSurge: This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it - // is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded - // up. If not specified, the default is 1. For more information, including best practices, see: - // https://docs.microsoft.com/azure/aks/upgrade-cluster#customize-node-surge-upgrade MaxSurge *string `json:"maxSurge,omitempty"` } -// GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU. // +kubebuilder:validation:Enum={"MIG1g","MIG2g","MIG3g","MIG4g","MIG7g"} type GPUInstanceProfile string @@ -206,49 +197,20 @@ var gPUInstanceProfile_Values = map[string]GPUInstanceProfile{ "mig7g": GPUInstanceProfile_MIG7G, } -// See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. type KubeletConfig struct { - // AllowedUnsafeSysctls: Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in `*`). - AllowedUnsafeSysctls []string `json:"allowedUnsafeSysctls"` - - // ContainerLogMaxFiles: The maximum number of container log files that can be present for a container. The number must be - // ≥ 2. - ContainerLogMaxFiles *int `json:"containerLogMaxFiles,omitempty"` - - // ContainerLogMaxSizeMB: The maximum size (e.g. 10Mi) of container log file before it is rotated. - ContainerLogMaxSizeMB *int `json:"containerLogMaxSizeMB,omitempty"` - - // CpuCfsQuota: The default is true. - CpuCfsQuota *bool `json:"cpuCfsQuota,omitempty"` - - // CpuCfsQuotaPeriod: The default is '100ms.' Valid values are a sequence of decimal numbers with an optional fraction and - // a unit suffix. For example: '300ms', '2h45m'. Supported units are 'ns', 'us', 'ms', 's', 'm', and 'h'. - CpuCfsQuotaPeriod *string `json:"cpuCfsQuotaPeriod,omitempty"` - - // CpuManagerPolicy: The default is 'none'. See [Kubernetes CPU management - // policies](https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/#cpu-management-policies) for more - // information. Allowed values are 'none' and 'static'. - CpuManagerPolicy *string `json:"cpuManagerPolicy,omitempty"` - - // FailSwapOn: If set to true it will make the Kubelet fail to start if swap is enabled on the node. - FailSwapOn *bool `json:"failSwapOn,omitempty"` - - // ImageGcHighThreshold: To disable image garbage collection, set to 100. The default is 85% - ImageGcHighThreshold *int `json:"imageGcHighThreshold,omitempty"` - - // ImageGcLowThreshold: This cannot be set higher than imageGcHighThreshold. The default is 80% - ImageGcLowThreshold *int `json:"imageGcLowThreshold,omitempty"` - - // PodMaxPids: The maximum number of processes per pod. - PodMaxPids *int `json:"podMaxPids,omitempty"` - - // TopologyManagerPolicy: For more information see [Kubernetes Topology - // Manager](https://kubernetes.io/docs/tasks/administer-cluster/topology-manager). The default is 'none'. Allowed values - // are 'none', 'best-effort', 'restricted', and 'single-numa-node'. - TopologyManagerPolicy *string `json:"topologyManagerPolicy,omitempty"` + AllowedUnsafeSysctls []string `json:"allowedUnsafeSysctls"` + ContainerLogMaxFiles *int `json:"containerLogMaxFiles,omitempty"` + ContainerLogMaxSizeMB *int `json:"containerLogMaxSizeMB,omitempty"` + CpuCfsQuota *bool `json:"cpuCfsQuota,omitempty"` + CpuCfsQuotaPeriod *string `json:"cpuCfsQuotaPeriod,omitempty"` + CpuManagerPolicy *string `json:"cpuManagerPolicy,omitempty"` + FailSwapOn *bool `json:"failSwapOn,omitempty"` + ImageGcHighThreshold *int `json:"imageGcHighThreshold,omitempty"` + ImageGcLowThreshold *int `json:"imageGcLowThreshold,omitempty"` + PodMaxPids *int `json:"podMaxPids,omitempty"` + TopologyManagerPolicy *string `json:"topologyManagerPolicy,omitempty"` } -// Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage. // +kubebuilder:validation:Enum={"OS","Temporary"} type KubeletDiskType string @@ -263,28 +225,13 @@ var kubeletDiskType_Values = map[string]KubeletDiskType{ "temporary": KubeletDiskType_Temporary, } -// See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. type LinuxOSConfig struct { - // SwapFileSizeMB: The size in MB of a swap file that will be created on each node. - SwapFileSizeMB *int `json:"swapFileSizeMB,omitempty"` - - // Sysctls: Sysctl settings for Linux agent nodes. - Sysctls *SysctlConfig `json:"sysctls,omitempty"` - - // TransparentHugePageDefrag: Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is - // 'madvise'. For more information see [Transparent - // Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). - TransparentHugePageDefrag *string `json:"transparentHugePageDefrag,omitempty"` - - // TransparentHugePageEnabled: Valid values are 'always', 'madvise', and 'never'. The default is 'always'. For more - // information see [Transparent - // Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). - TransparentHugePageEnabled *string `json:"transparentHugePageEnabled,omitempty"` + SwapFileSizeMB *int `json:"swapFileSizeMB,omitempty"` + Sysctls *SysctlConfig `json:"sysctls,omitempty"` + TransparentHugePageDefrag *string `json:"transparentHugePageDefrag,omitempty"` + TransparentHugePageEnabled *string `json:"transparentHugePageEnabled,omitempty"` } -// The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, -// defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral -// OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). // +kubebuilder:validation:Enum={"Ephemeral","Managed"} type OSDiskType string @@ -299,7 +246,6 @@ var oSDiskType_Values = map[string]OSDiskType{ "managed": OSDiskType_Managed, } -// Specifies an OS SKU. This value must not be specified if OSType is Windows. // +kubebuilder:validation:Enum={"CBLMariner","Ubuntu"} type OSSKU string @@ -314,7 +260,6 @@ var oSSKU_Values = map[string]OSSKU{ "ubuntu": OSSKU_Ubuntu, } -// The operating system type. The default is Linux. // +kubebuilder:validation:Enum={"Linux","Windows"} type OSType string @@ -329,8 +274,6 @@ var oSType_Values = map[string]OSType{ "windows": OSType_Windows, } -// The eviction policy specifies what to do with the VM when it is evicted. The default is Delete. For more information -// about eviction see [spot VMs](https://docs.microsoft.com/azure/virtual-machines/spot-vms) // +kubebuilder:validation:Enum={"Deallocate","Delete"} type ScaleSetEvictionPolicy string @@ -345,7 +288,6 @@ var scaleSetEvictionPolicy_Values = map[string]ScaleSetEvictionPolicy{ "delete": ScaleSetEvictionPolicy_Delete, } -// The Virtual Machine Scale Set priority. // +kubebuilder:validation:Enum={"Regular","Spot"} type ScaleSetPriority string @@ -360,89 +302,33 @@ var scaleSetPriority_Values = map[string]ScaleSetPriority{ "spot": ScaleSetPriority_Spot, } -// Sysctl settings for Linux agent nodes. type SysctlConfig struct { - // FsAioMaxNr: Sysctl setting fs.aio-max-nr. - FsAioMaxNr *int `json:"fsAioMaxNr,omitempty"` - - // FsFileMax: Sysctl setting fs.file-max. - FsFileMax *int `json:"fsFileMax,omitempty"` - - // FsInotifyMaxUserWatches: Sysctl setting fs.inotify.max_user_watches. - FsInotifyMaxUserWatches *int `json:"fsInotifyMaxUserWatches,omitempty"` - - // FsNrOpen: Sysctl setting fs.nr_open. - FsNrOpen *int `json:"fsNrOpen,omitempty"` - - // KernelThreadsMax: Sysctl setting kernel.threads-max. - KernelThreadsMax *int `json:"kernelThreadsMax,omitempty"` - - // NetCoreNetdevMaxBacklog: Sysctl setting net.core.netdev_max_backlog. - NetCoreNetdevMaxBacklog *int `json:"netCoreNetdevMaxBacklog,omitempty"` - - // NetCoreOptmemMax: Sysctl setting net.core.optmem_max. - NetCoreOptmemMax *int `json:"netCoreOptmemMax,omitempty"` - - // NetCoreRmemDefault: Sysctl setting net.core.rmem_default. - NetCoreRmemDefault *int `json:"netCoreRmemDefault,omitempty"` - - // NetCoreRmemMax: Sysctl setting net.core.rmem_max. - NetCoreRmemMax *int `json:"netCoreRmemMax,omitempty"` - - // NetCoreSomaxconn: Sysctl setting net.core.somaxconn. - NetCoreSomaxconn *int `json:"netCoreSomaxconn,omitempty"` - - // NetCoreWmemDefault: Sysctl setting net.core.wmem_default. - NetCoreWmemDefault *int `json:"netCoreWmemDefault,omitempty"` - - // NetCoreWmemMax: Sysctl setting net.core.wmem_max. - NetCoreWmemMax *int `json:"netCoreWmemMax,omitempty"` - - // NetIpv4IpLocalPortRange: Sysctl setting net.ipv4.ip_local_port_range. - NetIpv4IpLocalPortRange *string `json:"netIpv4IpLocalPortRange,omitempty"` - - // NetIpv4NeighDefaultGcThresh1: Sysctl setting net.ipv4.neigh.default.gc_thresh1. - NetIpv4NeighDefaultGcThresh1 *int `json:"netIpv4NeighDefaultGcThresh1,omitempty"` - - // NetIpv4NeighDefaultGcThresh2: Sysctl setting net.ipv4.neigh.default.gc_thresh2. - NetIpv4NeighDefaultGcThresh2 *int `json:"netIpv4NeighDefaultGcThresh2,omitempty"` - - // NetIpv4NeighDefaultGcThresh3: Sysctl setting net.ipv4.neigh.default.gc_thresh3. - NetIpv4NeighDefaultGcThresh3 *int `json:"netIpv4NeighDefaultGcThresh3,omitempty"` - - // NetIpv4TcpFinTimeout: Sysctl setting net.ipv4.tcp_fin_timeout. - NetIpv4TcpFinTimeout *int `json:"netIpv4TcpFinTimeout,omitempty"` - - // NetIpv4TcpKeepaliveProbes: Sysctl setting net.ipv4.tcp_keepalive_probes. - NetIpv4TcpKeepaliveProbes *int `json:"netIpv4TcpKeepaliveProbes,omitempty"` - - // NetIpv4TcpKeepaliveTime: Sysctl setting net.ipv4.tcp_keepalive_time. - NetIpv4TcpKeepaliveTime *int `json:"netIpv4TcpKeepaliveTime,omitempty"` - - // NetIpv4TcpMaxSynBacklog: Sysctl setting net.ipv4.tcp_max_syn_backlog. - NetIpv4TcpMaxSynBacklog *int `json:"netIpv4TcpMaxSynBacklog,omitempty"` - - // NetIpv4TcpMaxTwBuckets: Sysctl setting net.ipv4.tcp_max_tw_buckets. - NetIpv4TcpMaxTwBuckets *int `json:"netIpv4TcpMaxTwBuckets,omitempty"` - - // NetIpv4TcpTwReuse: Sysctl setting net.ipv4.tcp_tw_reuse. - NetIpv4TcpTwReuse *bool `json:"netIpv4TcpTwReuse,omitempty"` - - // NetIpv4TcpkeepaliveIntvl: Sysctl setting net.ipv4.tcp_keepalive_intvl. - NetIpv4TcpkeepaliveIntvl *int `json:"netIpv4TcpkeepaliveIntvl,omitempty"` - - // NetNetfilterNfConntrackBuckets: Sysctl setting net.netfilter.nf_conntrack_buckets. - NetNetfilterNfConntrackBuckets *int `json:"netNetfilterNfConntrackBuckets,omitempty"` - - // NetNetfilterNfConntrackMax: Sysctl setting net.netfilter.nf_conntrack_max. - NetNetfilterNfConntrackMax *int `json:"netNetfilterNfConntrackMax,omitempty"` - - // VmMaxMapCount: Sysctl setting vm.max_map_count. - VmMaxMapCount *int `json:"vmMaxMapCount,omitempty"` - - // VmSwappiness: Sysctl setting vm.swappiness. - VmSwappiness *int `json:"vmSwappiness,omitempty"` - - // VmVfsCachePressure: Sysctl setting vm.vfs_cache_pressure. - VmVfsCachePressure *int `json:"vmVfsCachePressure,omitempty"` + FsAioMaxNr *int `json:"fsAioMaxNr,omitempty"` + FsFileMax *int `json:"fsFileMax,omitempty"` + FsInotifyMaxUserWatches *int `json:"fsInotifyMaxUserWatches,omitempty"` + FsNrOpen *int `json:"fsNrOpen,omitempty"` + KernelThreadsMax *int `json:"kernelThreadsMax,omitempty"` + NetCoreNetdevMaxBacklog *int `json:"netCoreNetdevMaxBacklog,omitempty"` + NetCoreOptmemMax *int `json:"netCoreOptmemMax,omitempty"` + NetCoreRmemDefault *int `json:"netCoreRmemDefault,omitempty"` + NetCoreRmemMax *int `json:"netCoreRmemMax,omitempty"` + NetCoreSomaxconn *int `json:"netCoreSomaxconn,omitempty"` + NetCoreWmemDefault *int `json:"netCoreWmemDefault,omitempty"` + NetCoreWmemMax *int `json:"netCoreWmemMax,omitempty"` + NetIpv4IpLocalPortRange *string `json:"netIpv4IpLocalPortRange,omitempty"` + NetIpv4NeighDefaultGcThresh1 *int `json:"netIpv4NeighDefaultGcThresh1,omitempty"` + NetIpv4NeighDefaultGcThresh2 *int `json:"netIpv4NeighDefaultGcThresh2,omitempty"` + NetIpv4NeighDefaultGcThresh3 *int `json:"netIpv4NeighDefaultGcThresh3,omitempty"` + NetIpv4TcpFinTimeout *int `json:"netIpv4TcpFinTimeout,omitempty"` + NetIpv4TcpKeepaliveProbes *int `json:"netIpv4TcpKeepaliveProbes,omitempty"` + NetIpv4TcpKeepaliveTime *int `json:"netIpv4TcpKeepaliveTime,omitempty"` + NetIpv4TcpMaxSynBacklog *int `json:"netIpv4TcpMaxSynBacklog,omitempty"` + NetIpv4TcpMaxTwBuckets *int `json:"netIpv4TcpMaxTwBuckets,omitempty"` + NetIpv4TcpTwReuse *bool `json:"netIpv4TcpTwReuse,omitempty"` + NetIpv4TcpkeepaliveIntvl *int `json:"netIpv4TcpkeepaliveIntvl,omitempty"` + NetNetfilterNfConntrackBuckets *int `json:"netNetfilterNfConntrackBuckets,omitempty"` + NetNetfilterNfConntrackMax *int `json:"netNetfilterNfConntrackMax,omitempty"` + VmMaxMapCount *int `json:"vmMaxMapCount,omitempty"` + VmSwappiness *int `json:"vmSwappiness,omitempty"` + VmVfsCachePressure *int `json:"vmVfsCachePressure,omitempty"` } diff --git a/v2/api/containerservice/v1api20210501/arm/managed_clusters_agent_pool_status_types_gen.go b/v2/api/containerservice/v1api20210501/arm/managed_clusters_agent_pool_status_types_gen.go index 4e1f8ee5392..cf2d7694d4c 100644 --- a/v2/api/containerservice/v1api20210501/arm/managed_clusters_agent_pool_status_types_gen.go +++ b/v2/api/containerservice/v1api20210501/arm/managed_clusters_agent_pool_status_types_gen.go @@ -153,8 +153,6 @@ type ManagedClusterAgentPoolProfileProperties_STATUS struct { VnetSubnetID *string `json:"vnetSubnetID,omitempty"` } -// A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool restrictions -// and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools type AgentPoolMode_STATUS string const ( @@ -168,7 +166,6 @@ var agentPoolMode_STATUS_Values = map[string]AgentPoolMode_STATUS{ "user": AgentPoolMode_STATUS_User, } -// The type of Agent Pool. type AgentPoolType_STATUS string const ( @@ -182,16 +179,10 @@ var agentPoolType_STATUS_Values = map[string]AgentPoolType_STATUS{ "virtualmachinescalesets": AgentPoolType_STATUS_VirtualMachineScaleSets, } -// Settings for upgrading an agentpool type AgentPoolUpgradeSettings_STATUS struct { - // MaxSurge: This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it - // is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded - // up. If not specified, the default is 1. For more information, including best practices, see: - // https://docs.microsoft.com/azure/aks/upgrade-cluster#customize-node-surge-upgrade MaxSurge *string `json:"maxSurge,omitempty"` } -// GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU. type GPUInstanceProfile_STATUS string const ( @@ -211,49 +202,20 @@ var gPUInstanceProfile_STATUS_Values = map[string]GPUInstanceProfile_STATUS{ "mig7g": GPUInstanceProfile_STATUS_MIG7G, } -// See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. type KubeletConfig_STATUS struct { - // AllowedUnsafeSysctls: Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in `*`). - AllowedUnsafeSysctls []string `json:"allowedUnsafeSysctls"` - - // ContainerLogMaxFiles: The maximum number of container log files that can be present for a container. The number must be - // ≥ 2. - ContainerLogMaxFiles *int `json:"containerLogMaxFiles,omitempty"` - - // ContainerLogMaxSizeMB: The maximum size (e.g. 10Mi) of container log file before it is rotated. - ContainerLogMaxSizeMB *int `json:"containerLogMaxSizeMB,omitempty"` - - // CpuCfsQuota: The default is true. - CpuCfsQuota *bool `json:"cpuCfsQuota,omitempty"` - - // CpuCfsQuotaPeriod: The default is '100ms.' Valid values are a sequence of decimal numbers with an optional fraction and - // a unit suffix. For example: '300ms', '2h45m'. Supported units are 'ns', 'us', 'ms', 's', 'm', and 'h'. - CpuCfsQuotaPeriod *string `json:"cpuCfsQuotaPeriod,omitempty"` - - // CpuManagerPolicy: The default is 'none'. See [Kubernetes CPU management - // policies](https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/#cpu-management-policies) for more - // information. Allowed values are 'none' and 'static'. - CpuManagerPolicy *string `json:"cpuManagerPolicy,omitempty"` - - // FailSwapOn: If set to true it will make the Kubelet fail to start if swap is enabled on the node. - FailSwapOn *bool `json:"failSwapOn,omitempty"` - - // ImageGcHighThreshold: To disable image garbage collection, set to 100. The default is 85% - ImageGcHighThreshold *int `json:"imageGcHighThreshold,omitempty"` - - // ImageGcLowThreshold: This cannot be set higher than imageGcHighThreshold. The default is 80% - ImageGcLowThreshold *int `json:"imageGcLowThreshold,omitempty"` - - // PodMaxPids: The maximum number of processes per pod. - PodMaxPids *int `json:"podMaxPids,omitempty"` - - // TopologyManagerPolicy: For more information see [Kubernetes Topology - // Manager](https://kubernetes.io/docs/tasks/administer-cluster/topology-manager). The default is 'none'. Allowed values - // are 'none', 'best-effort', 'restricted', and 'single-numa-node'. - TopologyManagerPolicy *string `json:"topologyManagerPolicy,omitempty"` + AllowedUnsafeSysctls []string `json:"allowedUnsafeSysctls"` + ContainerLogMaxFiles *int `json:"containerLogMaxFiles,omitempty"` + ContainerLogMaxSizeMB *int `json:"containerLogMaxSizeMB,omitempty"` + CpuCfsQuota *bool `json:"cpuCfsQuota,omitempty"` + CpuCfsQuotaPeriod *string `json:"cpuCfsQuotaPeriod,omitempty"` + CpuManagerPolicy *string `json:"cpuManagerPolicy,omitempty"` + FailSwapOn *bool `json:"failSwapOn,omitempty"` + ImageGcHighThreshold *int `json:"imageGcHighThreshold,omitempty"` + ImageGcLowThreshold *int `json:"imageGcLowThreshold,omitempty"` + PodMaxPids *int `json:"podMaxPids,omitempty"` + TopologyManagerPolicy *string `json:"topologyManagerPolicy,omitempty"` } -// Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage. type KubeletDiskType_STATUS string const ( @@ -267,28 +229,13 @@ var kubeletDiskType_STATUS_Values = map[string]KubeletDiskType_STATUS{ "temporary": KubeletDiskType_STATUS_Temporary, } -// See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. type LinuxOSConfig_STATUS struct { - // SwapFileSizeMB: The size in MB of a swap file that will be created on each node. - SwapFileSizeMB *int `json:"swapFileSizeMB,omitempty"` - - // Sysctls: Sysctl settings for Linux agent nodes. - Sysctls *SysctlConfig_STATUS `json:"sysctls,omitempty"` - - // TransparentHugePageDefrag: Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is - // 'madvise'. For more information see [Transparent - // Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). - TransparentHugePageDefrag *string `json:"transparentHugePageDefrag,omitempty"` - - // TransparentHugePageEnabled: Valid values are 'always', 'madvise', and 'never'. The default is 'always'. For more - // information see [Transparent - // Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). - TransparentHugePageEnabled *string `json:"transparentHugePageEnabled,omitempty"` + SwapFileSizeMB *int `json:"swapFileSizeMB,omitempty"` + Sysctls *SysctlConfig_STATUS `json:"sysctls,omitempty"` + TransparentHugePageDefrag *string `json:"transparentHugePageDefrag,omitempty"` + TransparentHugePageEnabled *string `json:"transparentHugePageEnabled,omitempty"` } -// The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, -// defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral -// OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). type OSDiskType_STATUS string const ( @@ -302,7 +249,6 @@ var oSDiskType_STATUS_Values = map[string]OSDiskType_STATUS{ "managed": OSDiskType_STATUS_Managed, } -// Specifies an OS SKU. This value must not be specified if OSType is Windows. type OSSKU_STATUS string const ( @@ -316,7 +262,6 @@ var oSSKU_STATUS_Values = map[string]OSSKU_STATUS{ "ubuntu": OSSKU_STATUS_Ubuntu, } -// The operating system type. The default is Linux. type OSType_STATUS string const ( @@ -330,8 +275,6 @@ var oSType_STATUS_Values = map[string]OSType_STATUS{ "windows": OSType_STATUS_Windows, } -// The eviction policy specifies what to do with the VM when it is evicted. The default is Delete. For more information -// about eviction see [spot VMs](https://docs.microsoft.com/azure/virtual-machines/spot-vms) type ScaleSetEvictionPolicy_STATUS string const ( @@ -345,7 +288,6 @@ var scaleSetEvictionPolicy_STATUS_Values = map[string]ScaleSetEvictionPolicy_STA "delete": ScaleSetEvictionPolicy_STATUS_Delete, } -// The Virtual Machine Scale Set priority. type ScaleSetPriority_STATUS string const ( @@ -359,89 +301,33 @@ var scaleSetPriority_STATUS_Values = map[string]ScaleSetPriority_STATUS{ "spot": ScaleSetPriority_STATUS_Spot, } -// Sysctl settings for Linux agent nodes. type SysctlConfig_STATUS struct { - // FsAioMaxNr: Sysctl setting fs.aio-max-nr. - FsAioMaxNr *int `json:"fsAioMaxNr,omitempty"` - - // FsFileMax: Sysctl setting fs.file-max. - FsFileMax *int `json:"fsFileMax,omitempty"` - - // FsInotifyMaxUserWatches: Sysctl setting fs.inotify.max_user_watches. - FsInotifyMaxUserWatches *int `json:"fsInotifyMaxUserWatches,omitempty"` - - // FsNrOpen: Sysctl setting fs.nr_open. - FsNrOpen *int `json:"fsNrOpen,omitempty"` - - // KernelThreadsMax: Sysctl setting kernel.threads-max. - KernelThreadsMax *int `json:"kernelThreadsMax,omitempty"` - - // NetCoreNetdevMaxBacklog: Sysctl setting net.core.netdev_max_backlog. - NetCoreNetdevMaxBacklog *int `json:"netCoreNetdevMaxBacklog,omitempty"` - - // NetCoreOptmemMax: Sysctl setting net.core.optmem_max. - NetCoreOptmemMax *int `json:"netCoreOptmemMax,omitempty"` - - // NetCoreRmemDefault: Sysctl setting net.core.rmem_default. - NetCoreRmemDefault *int `json:"netCoreRmemDefault,omitempty"` - - // NetCoreRmemMax: Sysctl setting net.core.rmem_max. - NetCoreRmemMax *int `json:"netCoreRmemMax,omitempty"` - - // NetCoreSomaxconn: Sysctl setting net.core.somaxconn. - NetCoreSomaxconn *int `json:"netCoreSomaxconn,omitempty"` - - // NetCoreWmemDefault: Sysctl setting net.core.wmem_default. - NetCoreWmemDefault *int `json:"netCoreWmemDefault,omitempty"` - - // NetCoreWmemMax: Sysctl setting net.core.wmem_max. - NetCoreWmemMax *int `json:"netCoreWmemMax,omitempty"` - - // NetIpv4IpLocalPortRange: Sysctl setting net.ipv4.ip_local_port_range. - NetIpv4IpLocalPortRange *string `json:"netIpv4IpLocalPortRange,omitempty"` - - // NetIpv4NeighDefaultGcThresh1: Sysctl setting net.ipv4.neigh.default.gc_thresh1. - NetIpv4NeighDefaultGcThresh1 *int `json:"netIpv4NeighDefaultGcThresh1,omitempty"` - - // NetIpv4NeighDefaultGcThresh2: Sysctl setting net.ipv4.neigh.default.gc_thresh2. - NetIpv4NeighDefaultGcThresh2 *int `json:"netIpv4NeighDefaultGcThresh2,omitempty"` - - // NetIpv4NeighDefaultGcThresh3: Sysctl setting net.ipv4.neigh.default.gc_thresh3. - NetIpv4NeighDefaultGcThresh3 *int `json:"netIpv4NeighDefaultGcThresh3,omitempty"` - - // NetIpv4TcpFinTimeout: Sysctl setting net.ipv4.tcp_fin_timeout. - NetIpv4TcpFinTimeout *int `json:"netIpv4TcpFinTimeout,omitempty"` - - // NetIpv4TcpKeepaliveProbes: Sysctl setting net.ipv4.tcp_keepalive_probes. - NetIpv4TcpKeepaliveProbes *int `json:"netIpv4TcpKeepaliveProbes,omitempty"` - - // NetIpv4TcpKeepaliveTime: Sysctl setting net.ipv4.tcp_keepalive_time. - NetIpv4TcpKeepaliveTime *int `json:"netIpv4TcpKeepaliveTime,omitempty"` - - // NetIpv4TcpMaxSynBacklog: Sysctl setting net.ipv4.tcp_max_syn_backlog. - NetIpv4TcpMaxSynBacklog *int `json:"netIpv4TcpMaxSynBacklog,omitempty"` - - // NetIpv4TcpMaxTwBuckets: Sysctl setting net.ipv4.tcp_max_tw_buckets. - NetIpv4TcpMaxTwBuckets *int `json:"netIpv4TcpMaxTwBuckets,omitempty"` - - // NetIpv4TcpTwReuse: Sysctl setting net.ipv4.tcp_tw_reuse. - NetIpv4TcpTwReuse *bool `json:"netIpv4TcpTwReuse,omitempty"` - - // NetIpv4TcpkeepaliveIntvl: Sysctl setting net.ipv4.tcp_keepalive_intvl. - NetIpv4TcpkeepaliveIntvl *int `json:"netIpv4TcpkeepaliveIntvl,omitempty"` - - // NetNetfilterNfConntrackBuckets: Sysctl setting net.netfilter.nf_conntrack_buckets. - NetNetfilterNfConntrackBuckets *int `json:"netNetfilterNfConntrackBuckets,omitempty"` - - // NetNetfilterNfConntrackMax: Sysctl setting net.netfilter.nf_conntrack_max. - NetNetfilterNfConntrackMax *int `json:"netNetfilterNfConntrackMax,omitempty"` - - // VmMaxMapCount: Sysctl setting vm.max_map_count. - VmMaxMapCount *int `json:"vmMaxMapCount,omitempty"` - - // VmSwappiness: Sysctl setting vm.swappiness. - VmSwappiness *int `json:"vmSwappiness,omitempty"` - - // VmVfsCachePressure: Sysctl setting vm.vfs_cache_pressure. - VmVfsCachePressure *int `json:"vmVfsCachePressure,omitempty"` + FsAioMaxNr *int `json:"fsAioMaxNr,omitempty"` + FsFileMax *int `json:"fsFileMax,omitempty"` + FsInotifyMaxUserWatches *int `json:"fsInotifyMaxUserWatches,omitempty"` + FsNrOpen *int `json:"fsNrOpen,omitempty"` + KernelThreadsMax *int `json:"kernelThreadsMax,omitempty"` + NetCoreNetdevMaxBacklog *int `json:"netCoreNetdevMaxBacklog,omitempty"` + NetCoreOptmemMax *int `json:"netCoreOptmemMax,omitempty"` + NetCoreRmemDefault *int `json:"netCoreRmemDefault,omitempty"` + NetCoreRmemMax *int `json:"netCoreRmemMax,omitempty"` + NetCoreSomaxconn *int `json:"netCoreSomaxconn,omitempty"` + NetCoreWmemDefault *int `json:"netCoreWmemDefault,omitempty"` + NetCoreWmemMax *int `json:"netCoreWmemMax,omitempty"` + NetIpv4IpLocalPortRange *string `json:"netIpv4IpLocalPortRange,omitempty"` + NetIpv4NeighDefaultGcThresh1 *int `json:"netIpv4NeighDefaultGcThresh1,omitempty"` + NetIpv4NeighDefaultGcThresh2 *int `json:"netIpv4NeighDefaultGcThresh2,omitempty"` + NetIpv4NeighDefaultGcThresh3 *int `json:"netIpv4NeighDefaultGcThresh3,omitempty"` + NetIpv4TcpFinTimeout *int `json:"netIpv4TcpFinTimeout,omitempty"` + NetIpv4TcpKeepaliveProbes *int `json:"netIpv4TcpKeepaliveProbes,omitempty"` + NetIpv4TcpKeepaliveTime *int `json:"netIpv4TcpKeepaliveTime,omitempty"` + NetIpv4TcpMaxSynBacklog *int `json:"netIpv4TcpMaxSynBacklog,omitempty"` + NetIpv4TcpMaxTwBuckets *int `json:"netIpv4TcpMaxTwBuckets,omitempty"` + NetIpv4TcpTwReuse *bool `json:"netIpv4TcpTwReuse,omitempty"` + NetIpv4TcpkeepaliveIntvl *int `json:"netIpv4TcpkeepaliveIntvl,omitempty"` + NetNetfilterNfConntrackBuckets *int `json:"netNetfilterNfConntrackBuckets,omitempty"` + NetNetfilterNfConntrackMax *int `json:"netNetfilterNfConntrackMax,omitempty"` + VmMaxMapCount *int `json:"vmMaxMapCount,omitempty"` + VmSwappiness *int `json:"vmSwappiness,omitempty"` + VmVfsCachePressure *int `json:"vmVfsCachePressure,omitempty"` } diff --git a/v2/api/containerservice/v1api20210501/managed_cluster_types_gen.go b/v2/api/containerservice/v1api20210501/managed_cluster_types_gen.go index 64be7b9b91a..8f248ab2662 100644 --- a/v2/api/containerservice/v1api20210501/managed_cluster_types_gen.go +++ b/v2/api/containerservice/v1api20210501/managed_cluster_types_gen.go @@ -25,9 +25,6 @@ import ( // +kubebuilder:printcolumn:name="Severity",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].severity" // +kubebuilder:printcolumn:name="Reason",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].reason" // +kubebuilder:printcolumn:name="Message",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].message" -// Generator information: -// - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2021-05-01/managedClusters.json -// - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName} type ManagedCluster struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` @@ -338,9 +335,6 @@ func (cluster *ManagedCluster) OriginalGVK() *schema.GroupVersionKind { } // +kubebuilder:object:root=true -// Generator information: -// - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2021-05-01/managedClusters.json -// - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName} type ManagedClusterList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` @@ -353,83 +347,36 @@ type APIVersion string const APIVersion_Value = APIVersion("2021-05-01") type ManagedCluster_Spec struct { - // AadProfile: The Azure Active Directory configuration. - AadProfile *ManagedClusterAADProfile `json:"aadProfile,omitempty"` - - // AddonProfiles: The profile of managed cluster add-on. - AddonProfiles map[string]ManagedClusterAddonProfile `json:"addonProfiles,omitempty"` - - // AgentPoolProfiles: The agent pool properties. - AgentPoolProfiles []ManagedClusterAgentPoolProfile `json:"agentPoolProfiles,omitempty"` - - // ApiServerAccessProfile: The access profile for managed cluster API server. - ApiServerAccessProfile *ManagedClusterAPIServerAccessProfile `json:"apiServerAccessProfile,omitempty"` - - // AutoScalerProfile: Parameters to be applied to the cluster-autoscaler when enabled - AutoScalerProfile *ManagedClusterProperties_AutoScalerProfile `json:"autoScalerProfile,omitempty"` - - // AutoUpgradeProfile: The auto upgrade configuration. - AutoUpgradeProfile *ManagedClusterAutoUpgradeProfile `json:"autoUpgradeProfile,omitempty"` + AadProfile *ManagedClusterAADProfile `json:"aadProfile,omitempty"` + AddonProfiles map[string]ManagedClusterAddonProfile `json:"addonProfiles,omitempty"` + AgentPoolProfiles []ManagedClusterAgentPoolProfile `json:"agentPoolProfiles,omitempty"` + ApiServerAccessProfile *ManagedClusterAPIServerAccessProfile `json:"apiServerAccessProfile,omitempty"` + AutoScalerProfile *ManagedClusterProperties_AutoScalerProfile `json:"autoScalerProfile,omitempty"` + AutoUpgradeProfile *ManagedClusterAutoUpgradeProfile `json:"autoUpgradeProfile,omitempty"` // +kubebuilder:validation:MaxLength=63 // +kubebuilder:validation:MinLength=1 // +kubebuilder:validation:Pattern="^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" // AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it // doesn't have to be. - AzureName string `json:"azureName,omitempty"` - - // DisableLocalAccounts: If set to true, getting static credentials will be disabled for this cluster. This must only be - // used on Managed Clusters that are AAD enabled. For more details see [disable local - // accounts](https://docs.microsoft.com/azure/aks/managed-aad#disable-local-accounts-preview). - DisableLocalAccounts *bool `json:"disableLocalAccounts,omitempty"` - - // DiskEncryptionSetIDReference: This is of the form: - // '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}' - DiskEncryptionSetIDReference *genruntime.ResourceReference `armReference:"DiskEncryptionSetID" json:"diskEncryptionSetIDReference,omitempty"` - - // DnsPrefix: This cannot be updated once the Managed Cluster has been created. - DnsPrefix *string `json:"dnsPrefix,omitempty"` - - // EnablePodSecurityPolicy: (DEPRECATING) Whether to enable Kubernetes pod security policy (preview). This feature is set - // for removal on October 15th, 2020. Learn more at aka.ms/aks/azpodpolicy. - EnablePodSecurityPolicy *bool `json:"enablePodSecurityPolicy,omitempty"` - - // EnableRBAC: Whether to enable Kubernetes Role-Based Access Control. - EnableRBAC *bool `json:"enableRBAC,omitempty"` - - // ExtendedLocation: The extended location of the Virtual Machine. - ExtendedLocation *ExtendedLocation `json:"extendedLocation,omitempty"` - - // FqdnSubdomain: This cannot be updated once the Managed Cluster has been created. - FqdnSubdomain *string `json:"fqdnSubdomain,omitempty"` - - // HttpProxyConfig: Configurations for provisioning the cluster with HTTP proxy servers. - HttpProxyConfig *ManagedClusterHTTPProxyConfig `json:"httpProxyConfig,omitempty"` - - // Identity: The identity of the managed cluster, if configured. - Identity *ManagedClusterIdentity `json:"identity,omitempty"` - - // IdentityProfile: Identities associated with the cluster. - IdentityProfile map[string]UserAssignedIdentity `json:"identityProfile,omitempty"` - - // KubernetesVersion: When you upgrade a supported AKS cluster, Kubernetes minor versions cannot be skipped. All upgrades - // must be performed sequentially by major version number. For example, upgrades between 1.14.x -> 1.15.x or 1.15.x -> - // 1.16.x are allowed, however 1.14.x -> 1.16.x is not allowed. See [upgrading an AKS - // cluster](https://docs.microsoft.com/azure/aks/upgrade-cluster) for more details. - KubernetesVersion *string `json:"kubernetesVersion,omitempty"` - - // LinuxProfile: The profile for Linux VMs in the Managed Cluster. - LinuxProfile *ContainerServiceLinuxProfile `json:"linuxProfile,omitempty"` + AzureName string `json:"azureName,omitempty"` + DisableLocalAccounts *bool `json:"disableLocalAccounts,omitempty"` + DiskEncryptionSetIDReference *genruntime.ResourceReference `armReference:"DiskEncryptionSetID" json:"diskEncryptionSetIDReference,omitempty"` + DnsPrefix *string `json:"dnsPrefix,omitempty"` + EnablePodSecurityPolicy *bool `json:"enablePodSecurityPolicy,omitempty"` + EnableRBAC *bool `json:"enableRBAC,omitempty"` + ExtendedLocation *ExtendedLocation `json:"extendedLocation,omitempty"` + FqdnSubdomain *string `json:"fqdnSubdomain,omitempty"` + HttpProxyConfig *ManagedClusterHTTPProxyConfig `json:"httpProxyConfig,omitempty"` + Identity *ManagedClusterIdentity `json:"identity,omitempty"` + IdentityProfile map[string]UserAssignedIdentity `json:"identityProfile,omitempty"` + KubernetesVersion *string `json:"kubernetesVersion,omitempty"` + LinuxProfile *ContainerServiceLinuxProfile `json:"linuxProfile,omitempty"` // +kubebuilder:validation:Required - // Location: Resource location - Location *string `json:"location,omitempty"` - - // NetworkProfile: The network configuration profile. - NetworkProfile *ContainerServiceNetworkProfile `json:"networkProfile,omitempty"` - - // NodeResourceGroup: The name of the resource group containing agent pool nodes. - NodeResourceGroup *string `json:"nodeResourceGroup,omitempty"` + Location *string `json:"location,omitempty"` + NetworkProfile *ContainerServiceNetworkProfile `json:"networkProfile,omitempty"` + NodeResourceGroup *string `json:"nodeResourceGroup,omitempty"` // OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not // passed directly to Azure @@ -439,27 +386,13 @@ type ManagedCluster_Spec struct { // Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also // controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a // reference to a resources.azure.com/ResourceGroup resource - Owner *genruntime.KnownResourceReference `group:"resources.azure.com" json:"owner,omitempty" kind:"ResourceGroup"` - - // PodIdentityProfile: See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more - // details on AAD pod identity integration. - PodIdentityProfile *ManagedClusterPodIdentityProfile `json:"podIdentityProfile,omitempty"` - - // PrivateLinkResources: Private link resources associated with the cluster. - PrivateLinkResources []PrivateLinkResource `json:"privateLinkResources,omitempty"` - - // ServicePrincipalProfile: Information about a service principal identity for the cluster to use for manipulating Azure - // APIs. + Owner *genruntime.KnownResourceReference `group:"resources.azure.com" json:"owner,omitempty" kind:"ResourceGroup"` + PodIdentityProfile *ManagedClusterPodIdentityProfile `json:"podIdentityProfile,omitempty"` + PrivateLinkResources []PrivateLinkResource `json:"privateLinkResources,omitempty"` ServicePrincipalProfile *ManagedClusterServicePrincipalProfile `json:"servicePrincipalProfile,omitempty"` - - // Sku: The managed cluster SKU. - Sku *ManagedClusterSKU `json:"sku,omitempty"` - - // Tags: Resource tags - Tags map[string]string `json:"tags,omitempty" serializationType:"explicitEmptyCollection"` - - // WindowsProfile: The profile for Windows VMs in the Managed Cluster. - WindowsProfile *ManagedClusterWindowsProfile `json:"windowsProfile,omitempty"` + Sku *ManagedClusterSKU `json:"sku,omitempty"` + Tags map[string]string `json:"tags,omitempty" serializationType:"explicitEmptyCollection"` + WindowsProfile *ManagedClusterWindowsProfile `json:"windowsProfile,omitempty"` } var _ genruntime.ARMTransformer = &ManagedCluster_Spec{} @@ -1725,129 +1658,46 @@ func (cluster *ManagedCluster_Spec) OriginalVersion() string { // SetAzureName sets the Azure name of the resource func (cluster *ManagedCluster_Spec) SetAzureName(azureName string) { cluster.AzureName = azureName } -// Managed cluster. type ManagedCluster_STATUS struct { - // AadProfile: The Azure Active Directory configuration. - AadProfile *ManagedClusterAADProfile_STATUS `json:"aadProfile,omitempty"` - - // AddonProfiles: The profile of managed cluster add-on. - AddonProfiles map[string]ManagedClusterAddonProfile_STATUS `json:"addonProfiles,omitempty"` - - // AgentPoolProfiles: The agent pool properties. - AgentPoolProfiles []ManagedClusterAgentPoolProfile_STATUS `json:"agentPoolProfiles,omitempty"` - - // ApiServerAccessProfile: The access profile for managed cluster API server. - ApiServerAccessProfile *ManagedClusterAPIServerAccessProfile_STATUS `json:"apiServerAccessProfile,omitempty"` - - // AutoScalerProfile: Parameters to be applied to the cluster-autoscaler when enabled - AutoScalerProfile *ManagedClusterProperties_AutoScalerProfile_STATUS `json:"autoScalerProfile,omitempty"` - - // AutoUpgradeProfile: The auto upgrade configuration. - AutoUpgradeProfile *ManagedClusterAutoUpgradeProfile_STATUS `json:"autoUpgradeProfile,omitempty"` - - // AzurePortalFQDN: The Azure Portal requires certain Cross-Origin Resource Sharing (CORS) headers to be sent in some - // responses, which Kubernetes APIServer doesn't handle by default. This special FQDN supports CORS, allowing the Azure - // Portal to function properly. - AzurePortalFQDN *string `json:"azurePortalFQDN,omitempty"` + AadProfile *ManagedClusterAADProfile_STATUS `json:"aadProfile,omitempty"` + AddonProfiles map[string]ManagedClusterAddonProfile_STATUS `json:"addonProfiles,omitempty"` + AgentPoolProfiles []ManagedClusterAgentPoolProfile_STATUS `json:"agentPoolProfiles,omitempty"` + ApiServerAccessProfile *ManagedClusterAPIServerAccessProfile_STATUS `json:"apiServerAccessProfile,omitempty"` + AutoScalerProfile *ManagedClusterProperties_AutoScalerProfile_STATUS `json:"autoScalerProfile,omitempty"` + AutoUpgradeProfile *ManagedClusterAutoUpgradeProfile_STATUS `json:"autoUpgradeProfile,omitempty"` + AzurePortalFQDN *string `json:"azurePortalFQDN,omitempty"` // Conditions: The observed state of the resource - Conditions []conditions.Condition `json:"conditions,omitempty"` - - // DisableLocalAccounts: If set to true, getting static credentials will be disabled for this cluster. This must only be - // used on Managed Clusters that are AAD enabled. For more details see [disable local - // accounts](https://docs.microsoft.com/azure/aks/managed-aad#disable-local-accounts-preview). - DisableLocalAccounts *bool `json:"disableLocalAccounts,omitempty"` - - // DiskEncryptionSetID: This is of the form: - // '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}' - DiskEncryptionSetID *string `json:"diskEncryptionSetID,omitempty"` - - // DnsPrefix: This cannot be updated once the Managed Cluster has been created. - DnsPrefix *string `json:"dnsPrefix,omitempty"` - - // EnablePodSecurityPolicy: (DEPRECATING) Whether to enable Kubernetes pod security policy (preview). This feature is set - // for removal on October 15th, 2020. Learn more at aka.ms/aks/azpodpolicy. - EnablePodSecurityPolicy *bool `json:"enablePodSecurityPolicy,omitempty"` - - // EnableRBAC: Whether to enable Kubernetes Role-Based Access Control. - EnableRBAC *bool `json:"enableRBAC,omitempty"` - - // ExtendedLocation: The extended location of the Virtual Machine. - ExtendedLocation *ExtendedLocation_STATUS `json:"extendedLocation,omitempty"` - - // Fqdn: The FQDN of the master pool. - Fqdn *string `json:"fqdn,omitempty"` - - // FqdnSubdomain: This cannot be updated once the Managed Cluster has been created. - FqdnSubdomain *string `json:"fqdnSubdomain,omitempty"` - - // HttpProxyConfig: Configurations for provisioning the cluster with HTTP proxy servers. - HttpProxyConfig *ManagedClusterHTTPProxyConfig_STATUS `json:"httpProxyConfig,omitempty"` - - // Id: Resource Id - Id *string `json:"id,omitempty"` - - // Identity: The identity of the managed cluster, if configured. - Identity *ManagedClusterIdentity_STATUS `json:"identity,omitempty"` - - // IdentityProfile: Identities associated with the cluster. - IdentityProfile map[string]UserAssignedIdentity_STATUS `json:"identityProfile,omitempty"` - - // KubernetesVersion: When you upgrade a supported AKS cluster, Kubernetes minor versions cannot be skipped. All upgrades - // must be performed sequentially by major version number. For example, upgrades between 1.14.x -> 1.15.x or 1.15.x -> - // 1.16.x are allowed, however 1.14.x -> 1.16.x is not allowed. See [upgrading an AKS - // cluster](https://docs.microsoft.com/azure/aks/upgrade-cluster) for more details. - KubernetesVersion *string `json:"kubernetesVersion,omitempty"` - - // LinuxProfile: The profile for Linux VMs in the Managed Cluster. - LinuxProfile *ContainerServiceLinuxProfile_STATUS `json:"linuxProfile,omitempty"` - - // Location: Resource location - Location *string `json:"location,omitempty"` - - // MaxAgentPools: The max number of agent pools for the managed cluster. - MaxAgentPools *int `json:"maxAgentPools,omitempty"` - - // Name: Resource name - Name *string `json:"name,omitempty"` - - // NetworkProfile: The network configuration profile. - NetworkProfile *ContainerServiceNetworkProfile_STATUS `json:"networkProfile,omitempty"` - - // NodeResourceGroup: The name of the resource group containing agent pool nodes. - NodeResourceGroup *string `json:"nodeResourceGroup,omitempty"` - - // PodIdentityProfile: See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more - // details on AAD pod identity integration. - PodIdentityProfile *ManagedClusterPodIdentityProfile_STATUS `json:"podIdentityProfile,omitempty"` - - // PowerState: The Power State of the cluster. - PowerState *PowerState_STATUS `json:"powerState,omitempty"` - - // PrivateFQDN: The FQDN of private cluster. - PrivateFQDN *string `json:"privateFQDN,omitempty"` - - // PrivateLinkResources: Private link resources associated with the cluster. - PrivateLinkResources []PrivateLinkResource_STATUS `json:"privateLinkResources,omitempty"` - - // ProvisioningState: The current provisioning state. - ProvisioningState *string `json:"provisioningState,omitempty"` - - // ServicePrincipalProfile: Information about a service principal identity for the cluster to use for manipulating Azure - // APIs. + Conditions []conditions.Condition `json:"conditions,omitempty"` + DisableLocalAccounts *bool `json:"disableLocalAccounts,omitempty"` + DiskEncryptionSetID *string `json:"diskEncryptionSetID,omitempty"` + DnsPrefix *string `json:"dnsPrefix,omitempty"` + EnablePodSecurityPolicy *bool `json:"enablePodSecurityPolicy,omitempty"` + EnableRBAC *bool `json:"enableRBAC,omitempty"` + ExtendedLocation *ExtendedLocation_STATUS `json:"extendedLocation,omitempty"` + Fqdn *string `json:"fqdn,omitempty"` + FqdnSubdomain *string `json:"fqdnSubdomain,omitempty"` + HttpProxyConfig *ManagedClusterHTTPProxyConfig_STATUS `json:"httpProxyConfig,omitempty"` + Id *string `json:"id,omitempty"` + Identity *ManagedClusterIdentity_STATUS `json:"identity,omitempty"` + IdentityProfile map[string]UserAssignedIdentity_STATUS `json:"identityProfile,omitempty"` + KubernetesVersion *string `json:"kubernetesVersion,omitempty"` + LinuxProfile *ContainerServiceLinuxProfile_STATUS `json:"linuxProfile,omitempty"` + Location *string `json:"location,omitempty"` + MaxAgentPools *int `json:"maxAgentPools,omitempty"` + Name *string `json:"name,omitempty"` + NetworkProfile *ContainerServiceNetworkProfile_STATUS `json:"networkProfile,omitempty"` + NodeResourceGroup *string `json:"nodeResourceGroup,omitempty"` + PodIdentityProfile *ManagedClusterPodIdentityProfile_STATUS `json:"podIdentityProfile,omitempty"` + PowerState *PowerState_STATUS `json:"powerState,omitempty"` + PrivateFQDN *string `json:"privateFQDN,omitempty"` + PrivateLinkResources []PrivateLinkResource_STATUS `json:"privateLinkResources,omitempty"` + ProvisioningState *string `json:"provisioningState,omitempty"` ServicePrincipalProfile *ManagedClusterServicePrincipalProfile_STATUS `json:"servicePrincipalProfile,omitempty"` - - // Sku: The managed cluster SKU. - Sku *ManagedClusterSKU_STATUS `json:"sku,omitempty"` - - // Tags: Resource tags - Tags map[string]string `json:"tags,omitempty"` - - // Type: Resource type - Type *string `json:"type,omitempty"` - - // WindowsProfile: The profile for Windows VMs in the Managed Cluster. - WindowsProfile *ManagedClusterWindowsProfile_STATUS `json:"windowsProfile,omitempty"` + Sku *ManagedClusterSKU_STATUS `json:"sku,omitempty"` + Tags map[string]string `json:"tags,omitempty"` + Type *string `json:"type,omitempty"` + WindowsProfile *ManagedClusterWindowsProfile_STATUS `json:"windowsProfile,omitempty"` } var _ genruntime.ConvertibleStatus = &ManagedCluster_STATUS{} @@ -2961,15 +2811,12 @@ func (cluster *ManagedCluster_STATUS) AssignProperties_To_ManagedCluster_STATUS( return nil } -// Profile for Linux VMs in the container service cluster. type ContainerServiceLinuxProfile struct { // +kubebuilder:validation:Required // +kubebuilder:validation:Pattern="^[A-Za-z][-A-Za-z0-9_]*$" - // AdminUsername: The administrator username to use for Linux VMs. AdminUsername *string `json:"adminUsername,omitempty"` // +kubebuilder:validation:Required - // Ssh: The SSH configuration for Linux-based VMs running on Azure. Ssh *ContainerServiceSshConfiguration `json:"ssh,omitempty"` } @@ -3096,13 +2943,9 @@ func (profile *ContainerServiceLinuxProfile) AssignProperties_To_ContainerServic return nil } -// Profile for Linux VMs in the container service cluster. type ContainerServiceLinuxProfile_STATUS struct { - // AdminUsername: The administrator username to use for Linux VMs. - AdminUsername *string `json:"adminUsername,omitempty"` - - // Ssh: The SSH configuration for Linux-based VMs running on Azure. - Ssh *ContainerServiceSshConfiguration_STATUS `json:"ssh,omitempty"` + AdminUsername *string `json:"adminUsername,omitempty"` + Ssh *ContainerServiceSshConfiguration_STATUS `json:"ssh,omitempty"` } var _ genruntime.FromARMConverter = &ContainerServiceLinuxProfile_STATUS{} @@ -3193,46 +3036,23 @@ func (profile *ContainerServiceLinuxProfile_STATUS) AssignProperties_To_Containe return nil } -// Profile of network configuration. type ContainerServiceNetworkProfile struct { // +kubebuilder:validation:Pattern="^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$" - // DnsServiceIP: An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address - // range specified in serviceCidr. DnsServiceIP *string `json:"dnsServiceIP,omitempty"` // +kubebuilder:validation:Pattern="^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$" - // DockerBridgeCidr: A CIDR notation IP range assigned to the Docker bridge network. It must not overlap with any Subnet IP - // ranges or the Kubernetes service address range. - DockerBridgeCidr *string `json:"dockerBridgeCidr,omitempty"` - - // LoadBalancerProfile: Profile of the cluster load balancer. - LoadBalancerProfile *ManagedClusterLoadBalancerProfile `json:"loadBalancerProfile,omitempty"` - - // LoadBalancerSku: The default is 'standard'. See [Azure Load Balancer - // SKUs](https://docs.microsoft.com/azure/load-balancer/skus) for more information about the differences between load - // balancer SKUs. - LoadBalancerSku *ContainerServiceNetworkProfile_LoadBalancerSku `json:"loadBalancerSku,omitempty"` - - // NetworkMode: This cannot be specified if networkPlugin is anything other than 'azure'. - NetworkMode *ContainerServiceNetworkProfile_NetworkMode `json:"networkMode,omitempty"` - - // NetworkPlugin: Network plugin used for building the Kubernetes network. - NetworkPlugin *ContainerServiceNetworkProfile_NetworkPlugin `json:"networkPlugin,omitempty"` - - // NetworkPolicy: Network policy used for building the Kubernetes network. - NetworkPolicy *ContainerServiceNetworkProfile_NetworkPolicy `json:"networkPolicy,omitempty"` - - // OutboundType: This can only be set at cluster creation time and cannot be changed later. For more information see - // [egress outbound type](https://docs.microsoft.com/azure/aks/egress-outboundtype). - OutboundType *ContainerServiceNetworkProfile_OutboundType `json:"outboundType,omitempty"` + DockerBridgeCidr *string `json:"dockerBridgeCidr,omitempty"` + LoadBalancerProfile *ManagedClusterLoadBalancerProfile `json:"loadBalancerProfile,omitempty"` + LoadBalancerSku *ContainerServiceNetworkProfile_LoadBalancerSku `json:"loadBalancerSku,omitempty"` + NetworkMode *ContainerServiceNetworkProfile_NetworkMode `json:"networkMode,omitempty"` + NetworkPlugin *ContainerServiceNetworkProfile_NetworkPlugin `json:"networkPlugin,omitempty"` + NetworkPolicy *ContainerServiceNetworkProfile_NetworkPolicy `json:"networkPolicy,omitempty"` + OutboundType *ContainerServiceNetworkProfile_OutboundType `json:"outboundType,omitempty"` // +kubebuilder:validation:Pattern="^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$" - // PodCidr: A CIDR notation IP range from which to assign pod IPs when kubenet is used. PodCidr *string `json:"podCidr,omitempty"` // +kubebuilder:validation:Pattern="^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$" - // ServiceCidr: A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP - // ranges. ServiceCidr *string `json:"serviceCidr,omitempty"` } @@ -3608,43 +3428,17 @@ func (profile *ContainerServiceNetworkProfile) AssignProperties_To_ContainerServ return nil } -// Profile of network configuration. type ContainerServiceNetworkProfile_STATUS struct { - // DnsServiceIP: An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address - // range specified in serviceCidr. - DnsServiceIP *string `json:"dnsServiceIP,omitempty"` - - // DockerBridgeCidr: A CIDR notation IP range assigned to the Docker bridge network. It must not overlap with any Subnet IP - // ranges or the Kubernetes service address range. - DockerBridgeCidr *string `json:"dockerBridgeCidr,omitempty"` - - // LoadBalancerProfile: Profile of the cluster load balancer. - LoadBalancerProfile *ManagedClusterLoadBalancerProfile_STATUS `json:"loadBalancerProfile,omitempty"` - - // LoadBalancerSku: The default is 'standard'. See [Azure Load Balancer - // SKUs](https://docs.microsoft.com/azure/load-balancer/skus) for more information about the differences between load - // balancer SKUs. - LoadBalancerSku *ContainerServiceNetworkProfile_LoadBalancerSku_STATUS `json:"loadBalancerSku,omitempty"` - - // NetworkMode: This cannot be specified if networkPlugin is anything other than 'azure'. - NetworkMode *ContainerServiceNetworkProfile_NetworkMode_STATUS `json:"networkMode,omitempty"` - - // NetworkPlugin: Network plugin used for building the Kubernetes network. - NetworkPlugin *ContainerServiceNetworkProfile_NetworkPlugin_STATUS `json:"networkPlugin,omitempty"` - - // NetworkPolicy: Network policy used for building the Kubernetes network. - NetworkPolicy *ContainerServiceNetworkProfile_NetworkPolicy_STATUS `json:"networkPolicy,omitempty"` - - // OutboundType: This can only be set at cluster creation time and cannot be changed later. For more information see - // [egress outbound type](https://docs.microsoft.com/azure/aks/egress-outboundtype). - OutboundType *ContainerServiceNetworkProfile_OutboundType_STATUS `json:"outboundType,omitempty"` - - // PodCidr: A CIDR notation IP range from which to assign pod IPs when kubenet is used. - PodCidr *string `json:"podCidr,omitempty"` - - // ServiceCidr: A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP - // ranges. - ServiceCidr *string `json:"serviceCidr,omitempty"` + DnsServiceIP *string `json:"dnsServiceIP,omitempty"` + DockerBridgeCidr *string `json:"dockerBridgeCidr,omitempty"` + LoadBalancerProfile *ManagedClusterLoadBalancerProfile_STATUS `json:"loadBalancerProfile,omitempty"` + LoadBalancerSku *ContainerServiceNetworkProfile_LoadBalancerSku_STATUS `json:"loadBalancerSku,omitempty"` + NetworkMode *ContainerServiceNetworkProfile_NetworkMode_STATUS `json:"networkMode,omitempty"` + NetworkPlugin *ContainerServiceNetworkProfile_NetworkPlugin_STATUS `json:"networkPlugin,omitempty"` + NetworkPolicy *ContainerServiceNetworkProfile_NetworkPolicy_STATUS `json:"networkPolicy,omitempty"` + OutboundType *ContainerServiceNetworkProfile_OutboundType_STATUS `json:"outboundType,omitempty"` + PodCidr *string `json:"podCidr,omitempty"` + ServiceCidr *string `json:"serviceCidr,omitempty"` } var _ genruntime.FromARMConverter = &ContainerServiceNetworkProfile_STATUS{} @@ -3896,12 +3690,8 @@ func (profile *ContainerServiceNetworkProfile_STATUS) AssignProperties_To_Contai return nil } -// The complex type of the extended location. type ExtendedLocation struct { - // Name: The name of the extended location. - Name *string `json:"name,omitempty"` - - // Type: The type of the extended location. + Name *string `json:"name,omitempty"` Type *ExtendedLocationType `json:"type,omitempty"` } @@ -4006,12 +3796,8 @@ func (location *ExtendedLocation) AssignProperties_To_ExtendedLocation(destinati return nil } -// The complex type of the extended location. type ExtendedLocation_STATUS struct { - // Name: The name of the extended location. - Name *string `json:"name,omitempty"` - - // Type: The type of the extended location. + Name *string `json:"name,omitempty"` Type *ExtendedLocationType_STATUS `json:"type,omitempty"` } @@ -4093,29 +3879,14 @@ func (location *ExtendedLocation_STATUS) AssignProperties_To_ExtendedLocation_ST return nil } -// For more details see [managed AAD on AKS](https://docs.microsoft.com/azure/aks/managed-aad). type ManagedClusterAADProfile struct { - // AdminGroupObjectIDs: The list of AAD group object IDs that will have admin role of the cluster. AdminGroupObjectIDs []string `json:"adminGroupObjectIDs,omitempty"` - - // ClientAppID: The client AAD application ID. - ClientAppID *string `json:"clientAppID,omitempty"` - - // EnableAzureRBAC: Whether to enable Azure RBAC for Kubernetes authorization. - EnableAzureRBAC *bool `json:"enableAzureRBAC,omitempty"` - - // Managed: Whether to enable managed AAD. - Managed *bool `json:"managed,omitempty"` - - // ServerAppID: The server AAD application ID. - ServerAppID *string `json:"serverAppID,omitempty"` - - // ServerAppSecret: The server AAD application secret. - ServerAppSecret *string `json:"serverAppSecret,omitempty"` - - // TenantID: The AAD tenant ID to use for authentication. If not specified, will use the tenant of the deployment - // subscription. - TenantID *string `json:"tenantID,omitempty"` + ClientAppID *string `json:"clientAppID,omitempty"` + EnableAzureRBAC *bool `json:"enableAzureRBAC,omitempty"` + Managed *bool `json:"managed,omitempty"` + ServerAppID *string `json:"serverAppID,omitempty"` + ServerAppSecret *string `json:"serverAppSecret,omitempty"` + TenantID *string `json:"tenantID,omitempty"` } var _ genruntime.ARMTransformer = &ManagedClusterAADProfile{} @@ -4312,29 +4083,14 @@ func (profile *ManagedClusterAADProfile) AssignProperties_To_ManagedClusterAADPr return nil } -// For more details see [managed AAD on AKS](https://docs.microsoft.com/azure/aks/managed-aad). type ManagedClusterAADProfile_STATUS struct { - // AdminGroupObjectIDs: The list of AAD group object IDs that will have admin role of the cluster. AdminGroupObjectIDs []string `json:"adminGroupObjectIDs,omitempty"` - - // ClientAppID: The client AAD application ID. - ClientAppID *string `json:"clientAppID,omitempty"` - - // EnableAzureRBAC: Whether to enable Azure RBAC for Kubernetes authorization. - EnableAzureRBAC *bool `json:"enableAzureRBAC,omitempty"` - - // Managed: Whether to enable managed AAD. - Managed *bool `json:"managed,omitempty"` - - // ServerAppID: The server AAD application ID. - ServerAppID *string `json:"serverAppID,omitempty"` - - // ServerAppSecret: The server AAD application secret. - ServerAppSecret *string `json:"serverAppSecret,omitempty"` - - // TenantID: The AAD tenant ID to use for authentication. If not specified, will use the tenant of the deployment - // subscription. - TenantID *string `json:"tenantID,omitempty"` + ClientAppID *string `json:"clientAppID,omitempty"` + EnableAzureRBAC *bool `json:"enableAzureRBAC,omitempty"` + Managed *bool `json:"managed,omitempty"` + ServerAppID *string `json:"serverAppID,omitempty"` + ServerAppSecret *string `json:"serverAppSecret,omitempty"` + TenantID *string `json:"tenantID,omitempty"` } var _ genruntime.FromARMConverter = &ManagedClusterAADProfile_STATUS{} @@ -4481,13 +4237,10 @@ func (profile *ManagedClusterAADProfile_STATUS) AssignProperties_To_ManagedClust return nil } -// A Kubernetes add-on profile for a managed cluster. type ManagedClusterAddonProfile struct { - // Config: Key-value pairs for configuring an add-on. Config map[string]string `json:"config,omitempty"` // +kubebuilder:validation:Required - // Enabled: Whether the add-on is enabled or not. Enabled *bool `json:"enabled,omitempty"` } @@ -4591,15 +4344,9 @@ func (profile *ManagedClusterAddonProfile) AssignProperties_To_ManagedClusterAdd return nil } -// A Kubernetes add-on profile for a managed cluster. type ManagedClusterAddonProfile_STATUS struct { - // Config: Key-value pairs for configuring an add-on. - Config map[string]string `json:"config,omitempty"` - - // Enabled: Whether the add-on is enabled or not. - Enabled *bool `json:"enabled,omitempty"` - - // Identity: Information of user assigned identity used by this add-on. + Config map[string]string `json:"config,omitempty"` + Enabled *bool `json:"enabled,omitempty"` Identity *UserAssignedIdentity_STATUS `json:"identity,omitempty"` } @@ -4715,135 +4462,43 @@ func (profile *ManagedClusterAddonProfile_STATUS) AssignProperties_To_ManagedClu return nil } -// Profile for the container service agent pool. type ManagedClusterAgentPoolProfile struct { - // AvailabilityZones: The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType - // property is 'VirtualMachineScaleSets'. - AvailabilityZones []string `json:"availabilityZones,omitempty"` - - // Count: Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) - // for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1. - Count *int `json:"count,omitempty"` - - // EnableAutoScaling: Whether to enable auto-scaler - EnableAutoScaling *bool `json:"enableAutoScaling,omitempty"` - - // EnableEncryptionAtHost: This is only supported on certain VM sizes and in certain Azure regions. For more information, - // see: https://docs.microsoft.com/azure/aks/enable-host-encryption - EnableEncryptionAtHost *bool `json:"enableEncryptionAtHost,omitempty"` - - // EnableFIPS: See [Add a FIPS-enabled node - // pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more - // details. - EnableFIPS *bool `json:"enableFIPS,omitempty"` - - // EnableNodePublicIP: Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. - // A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine - // to minimize hops. For more information see [assigning a public IP per - // node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The - // default is false. - EnableNodePublicIP *bool `json:"enableNodePublicIP,omitempty"` - - // EnableUltraSSD: Whether to enable UltraSSD - EnableUltraSSD *bool `json:"enableUltraSSD,omitempty"` - - // GpuInstanceProfile: GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU. - GpuInstanceProfile *GPUInstanceProfile `json:"gpuInstanceProfile,omitempty"` - - // KubeletConfig: The Kubelet configuration on the agent pool nodes. - KubeletConfig *KubeletConfig `json:"kubeletConfig,omitempty"` - - // KubeletDiskType: Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral - // storage. - KubeletDiskType *KubeletDiskType `json:"kubeletDiskType,omitempty"` - - // LinuxOSConfig: The OS configuration of Linux agent nodes. - LinuxOSConfig *LinuxOSConfig `json:"linuxOSConfig,omitempty"` - - // MaxCount: The maximum number of nodes for auto-scaling - MaxCount *int `json:"maxCount,omitempty"` - - // MaxPods: The maximum number of pods that can run on a node. - MaxPods *int `json:"maxPods,omitempty"` - - // MinCount: The minimum number of nodes for auto-scaling - MinCount *int `json:"minCount,omitempty"` - - // Mode: A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool - // restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools - Mode *AgentPoolMode `json:"mode,omitempty"` + AvailabilityZones []string `json:"availabilityZones,omitempty"` + Count *int `json:"count,omitempty"` + EnableAutoScaling *bool `json:"enableAutoScaling,omitempty"` + EnableEncryptionAtHost *bool `json:"enableEncryptionAtHost,omitempty"` + EnableFIPS *bool `json:"enableFIPS,omitempty"` + EnableNodePublicIP *bool `json:"enableNodePublicIP,omitempty"` + EnableUltraSSD *bool `json:"enableUltraSSD,omitempty"` + GpuInstanceProfile *GPUInstanceProfile `json:"gpuInstanceProfile,omitempty"` + KubeletConfig *KubeletConfig `json:"kubeletConfig,omitempty"` + KubeletDiskType *KubeletDiskType `json:"kubeletDiskType,omitempty"` + LinuxOSConfig *LinuxOSConfig `json:"linuxOSConfig,omitempty"` + MaxCount *int `json:"maxCount,omitempty"` + MaxPods *int `json:"maxPods,omitempty"` + MinCount *int `json:"minCount,omitempty"` + Mode *AgentPoolMode `json:"mode,omitempty"` // +kubebuilder:validation:Pattern="^[a-z][a-z0-9]{0,11}$" - // Name: Windows agent pool names must be 6 characters or less. - Name *string `json:"name,omitempty"` - - // NodeLabels: The node labels to be persisted across all nodes in agent pool. - NodeLabels map[string]string `json:"nodeLabels,omitempty" serializationType:"explicitEmptyCollection"` - - // NodePublicIPPrefixIDReference: This is of the form: - // /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} + Name *string `json:"name,omitempty"` + NodeLabels map[string]string `json:"nodeLabels,omitempty" serializationType:"explicitEmptyCollection"` NodePublicIPPrefixIDReference *genruntime.ResourceReference `armReference:"NodePublicIPPrefixID" json:"nodePublicIPPrefixIDReference,omitempty"` - - // NodeTaints: The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule. - NodeTaints []string `json:"nodeTaints,omitempty" serializationType:"explicitEmptyCollection"` - - // OrchestratorVersion: As a best practice, you should upgrade all node pools in an AKS cluster to the same Kubernetes - // version. The node pool version must have the same major version as the control plane. The node pool minor version must - // be within two minor versions of the control plane version. The node pool version cannot be greater than the control - // plane version. For more information see [upgrading a node - // pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). - OrchestratorVersion *string `json:"orchestratorVersion,omitempty"` - OsDiskSizeGB *ContainerServiceOSDisk `json:"osDiskSizeGB,omitempty"` - - // OsDiskType: The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested - // OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral - // OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). - OsDiskType *OSDiskType `json:"osDiskType,omitempty"` - - // OsSKU: Specifies an OS SKU. This value must not be specified if OSType is Windows. - OsSKU *OSSKU `json:"osSKU,omitempty"` - - // OsType: The operating system type. The default is Linux. - OsType *OSType `json:"osType,omitempty"` - - // PodSubnetIDReference: If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more - // details). This is of the form: - // /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} - PodSubnetIDReference *genruntime.ResourceReference `armReference:"PodSubnetID" json:"podSubnetIDReference,omitempty"` - - // ProximityPlacementGroupID: The ID for Proximity Placement Group. - ProximityPlacementGroupID *string `json:"proximityPlacementGroupID,omitempty"` - - // ScaleSetEvictionPolicy: This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is - // 'Delete'. - ScaleSetEvictionPolicy *ScaleSetEvictionPolicy `json:"scaleSetEvictionPolicy,omitempty"` - - // ScaleSetPriority: The Virtual Machine Scale Set priority. If not specified, the default is 'Regular'. - ScaleSetPriority *ScaleSetPriority `json:"scaleSetPriority,omitempty"` - - // SpotMaxPrice: Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any - // on-demand price. For more details on spot pricing, see [spot VMs - // pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing) - SpotMaxPrice *float64 `json:"spotMaxPrice,omitempty"` - - // Tags: The tags to be persisted on the agent pool virtual machine scale set. - Tags map[string]string `json:"tags,omitempty" serializationType:"explicitEmptyCollection"` - - // Type: The type of Agent Pool. - Type *AgentPoolType `json:"type,omitempty"` - - // UpgradeSettings: Settings for upgrading the agentpool - UpgradeSettings *AgentPoolUpgradeSettings `json:"upgradeSettings,omitempty"` - - // VmSize: VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods - // might fail to run correctly. For more details on restricted VM sizes, see: - // https://docs.microsoft.com/azure/aks/quotas-skus-regions - VmSize *string `json:"vmSize,omitempty"` - - // VnetSubnetIDReference: If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is - // specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: - // /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} - VnetSubnetIDReference *genruntime.ResourceReference `armReference:"VnetSubnetID" json:"vnetSubnetIDReference,omitempty"` + NodeTaints []string `json:"nodeTaints,omitempty" serializationType:"explicitEmptyCollection"` + OrchestratorVersion *string `json:"orchestratorVersion,omitempty"` + OsDiskSizeGB *ContainerServiceOSDisk `json:"osDiskSizeGB,omitempty"` + OsDiskType *OSDiskType `json:"osDiskType,omitempty"` + OsSKU *OSSKU `json:"osSKU,omitempty"` + OsType *OSType `json:"osType,omitempty"` + PodSubnetIDReference *genruntime.ResourceReference `armReference:"PodSubnetID" json:"podSubnetIDReference,omitempty"` + ProximityPlacementGroupID *string `json:"proximityPlacementGroupID,omitempty"` + ScaleSetEvictionPolicy *ScaleSetEvictionPolicy `json:"scaleSetEvictionPolicy,omitempty"` + ScaleSetPriority *ScaleSetPriority `json:"scaleSetPriority,omitempty"` + SpotMaxPrice *float64 `json:"spotMaxPrice,omitempty"` + Tags map[string]string `json:"tags,omitempty" serializationType:"explicitEmptyCollection"` + Type *AgentPoolType `json:"type,omitempty"` + UpgradeSettings *AgentPoolUpgradeSettings `json:"upgradeSettings,omitempty"` + VmSize *string `json:"vmSize,omitempty"` + VnetSubnetIDReference *genruntime.ResourceReference `armReference:"VnetSubnetID" json:"vnetSubnetIDReference,omitempty"` } var _ genruntime.ARMTransformer = &ManagedClusterAgentPoolProfile{} @@ -5858,143 +5513,44 @@ func (profile *ManagedClusterAgentPoolProfile) AssignProperties_To_ManagedCluste return nil } -// Profile for the container service agent pool. type ManagedClusterAgentPoolProfile_STATUS struct { - // AvailabilityZones: The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType - // property is 'VirtualMachineScaleSets'. - AvailabilityZones []string `json:"availabilityZones,omitempty"` - - // Count: Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) - // for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1. - Count *int `json:"count,omitempty"` - - // EnableAutoScaling: Whether to enable auto-scaler - EnableAutoScaling *bool `json:"enableAutoScaling,omitempty"` - - // EnableEncryptionAtHost: This is only supported on certain VM sizes and in certain Azure regions. For more information, - // see: https://docs.microsoft.com/azure/aks/enable-host-encryption - EnableEncryptionAtHost *bool `json:"enableEncryptionAtHost,omitempty"` - - // EnableFIPS: See [Add a FIPS-enabled node - // pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more - // details. - EnableFIPS *bool `json:"enableFIPS,omitempty"` - - // EnableNodePublicIP: Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. - // A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine - // to minimize hops. For more information see [assigning a public IP per - // node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The - // default is false. - EnableNodePublicIP *bool `json:"enableNodePublicIP,omitempty"` - - // EnableUltraSSD: Whether to enable UltraSSD - EnableUltraSSD *bool `json:"enableUltraSSD,omitempty"` - - // GpuInstanceProfile: GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU. - GpuInstanceProfile *GPUInstanceProfile_STATUS `json:"gpuInstanceProfile,omitempty"` - - // KubeletConfig: The Kubelet configuration on the agent pool nodes. - KubeletConfig *KubeletConfig_STATUS `json:"kubeletConfig,omitempty"` - - // KubeletDiskType: Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral - // storage. - KubeletDiskType *KubeletDiskType_STATUS `json:"kubeletDiskType,omitempty"` - - // LinuxOSConfig: The OS configuration of Linux agent nodes. - LinuxOSConfig *LinuxOSConfig_STATUS `json:"linuxOSConfig,omitempty"` - - // MaxCount: The maximum number of nodes for auto-scaling - MaxCount *int `json:"maxCount,omitempty"` - - // MaxPods: The maximum number of pods that can run on a node. - MaxPods *int `json:"maxPods,omitempty"` - - // MinCount: The minimum number of nodes for auto-scaling - MinCount *int `json:"minCount,omitempty"` - - // Mode: A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool - // restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools - Mode *AgentPoolMode_STATUS `json:"mode,omitempty"` - - // Name: Windows agent pool names must be 6 characters or less. - Name *string `json:"name,omitempty"` - - // NodeImageVersion: The version of node image - NodeImageVersion *string `json:"nodeImageVersion,omitempty"` - - // NodeLabels: The node labels to be persisted across all nodes in agent pool. - NodeLabels map[string]string `json:"nodeLabels,omitempty"` - - // NodePublicIPPrefixID: This is of the form: - // /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} - NodePublicIPPrefixID *string `json:"nodePublicIPPrefixID,omitempty"` - - // NodeTaints: The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule. - NodeTaints []string `json:"nodeTaints,omitempty"` - - // OrchestratorVersion: As a best practice, you should upgrade all node pools in an AKS cluster to the same Kubernetes - // version. The node pool version must have the same major version as the control plane. The node pool minor version must - // be within two minor versions of the control plane version. The node pool version cannot be greater than the control - // plane version. For more information see [upgrading a node - // pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). - OrchestratorVersion *string `json:"orchestratorVersion,omitempty"` - OsDiskSizeGB *int `json:"osDiskSizeGB,omitempty"` - - // OsDiskType: The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested - // OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral - // OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). - OsDiskType *OSDiskType_STATUS `json:"osDiskType,omitempty"` - - // OsSKU: Specifies an OS SKU. This value must not be specified if OSType is Windows. - OsSKU *OSSKU_STATUS `json:"osSKU,omitempty"` - - // OsType: The operating system type. The default is Linux. - OsType *OSType_STATUS `json:"osType,omitempty"` - - // PodSubnetID: If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). This is - // of the form: - // /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} - PodSubnetID *string `json:"podSubnetID,omitempty"` - - // PowerState: Describes whether the Agent Pool is Running or Stopped - PowerState *PowerState_STATUS `json:"powerState,omitempty"` - - // ProvisioningState: The current deployment or provisioning state. - ProvisioningState *string `json:"provisioningState,omitempty"` - - // ProximityPlacementGroupID: The ID for Proximity Placement Group. - ProximityPlacementGroupID *string `json:"proximityPlacementGroupID,omitempty"` - - // ScaleSetEvictionPolicy: This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is - // 'Delete'. - ScaleSetEvictionPolicy *ScaleSetEvictionPolicy_STATUS `json:"scaleSetEvictionPolicy,omitempty"` - - // ScaleSetPriority: The Virtual Machine Scale Set priority. If not specified, the default is 'Regular'. - ScaleSetPriority *ScaleSetPriority_STATUS `json:"scaleSetPriority,omitempty"` - - // SpotMaxPrice: Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any - // on-demand price. For more details on spot pricing, see [spot VMs - // pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing) - SpotMaxPrice *float64 `json:"spotMaxPrice,omitempty"` - - // Tags: The tags to be persisted on the agent pool virtual machine scale set. - Tags map[string]string `json:"tags,omitempty"` - - // Type: The type of Agent Pool. - Type *AgentPoolType_STATUS `json:"type,omitempty"` - - // UpgradeSettings: Settings for upgrading the agentpool - UpgradeSettings *AgentPoolUpgradeSettings_STATUS `json:"upgradeSettings,omitempty"` - - // VmSize: VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods - // might fail to run correctly. For more details on restricted VM sizes, see: - // https://docs.microsoft.com/azure/aks/quotas-skus-regions - VmSize *string `json:"vmSize,omitempty"` - - // VnetSubnetID: If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is specified, - // this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: - // /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} - VnetSubnetID *string `json:"vnetSubnetID,omitempty"` + AvailabilityZones []string `json:"availabilityZones,omitempty"` + Count *int `json:"count,omitempty"` + EnableAutoScaling *bool `json:"enableAutoScaling,omitempty"` + EnableEncryptionAtHost *bool `json:"enableEncryptionAtHost,omitempty"` + EnableFIPS *bool `json:"enableFIPS,omitempty"` + EnableNodePublicIP *bool `json:"enableNodePublicIP,omitempty"` + EnableUltraSSD *bool `json:"enableUltraSSD,omitempty"` + GpuInstanceProfile *GPUInstanceProfile_STATUS `json:"gpuInstanceProfile,omitempty"` + KubeletConfig *KubeletConfig_STATUS `json:"kubeletConfig,omitempty"` + KubeletDiskType *KubeletDiskType_STATUS `json:"kubeletDiskType,omitempty"` + LinuxOSConfig *LinuxOSConfig_STATUS `json:"linuxOSConfig,omitempty"` + MaxCount *int `json:"maxCount,omitempty"` + MaxPods *int `json:"maxPods,omitempty"` + MinCount *int `json:"minCount,omitempty"` + Mode *AgentPoolMode_STATUS `json:"mode,omitempty"` + Name *string `json:"name,omitempty"` + NodeImageVersion *string `json:"nodeImageVersion,omitempty"` + NodeLabels map[string]string `json:"nodeLabels,omitempty"` + NodePublicIPPrefixID *string `json:"nodePublicIPPrefixID,omitempty"` + NodeTaints []string `json:"nodeTaints,omitempty"` + OrchestratorVersion *string `json:"orchestratorVersion,omitempty"` + OsDiskSizeGB *int `json:"osDiskSizeGB,omitempty"` + OsDiskType *OSDiskType_STATUS `json:"osDiskType,omitempty"` + OsSKU *OSSKU_STATUS `json:"osSKU,omitempty"` + OsType *OSType_STATUS `json:"osType,omitempty"` + PodSubnetID *string `json:"podSubnetID,omitempty"` + PowerState *PowerState_STATUS `json:"powerState,omitempty"` + ProvisioningState *string `json:"provisioningState,omitempty"` + ProximityPlacementGroupID *string `json:"proximityPlacementGroupID,omitempty"` + ScaleSetEvictionPolicy *ScaleSetEvictionPolicy_STATUS `json:"scaleSetEvictionPolicy,omitempty"` + ScaleSetPriority *ScaleSetPriority_STATUS `json:"scaleSetPriority,omitempty"` + SpotMaxPrice *float64 `json:"spotMaxPrice,omitempty"` + Tags map[string]string `json:"tags,omitempty"` + Type *AgentPoolType_STATUS `json:"type,omitempty"` + UpgradeSettings *AgentPoolUpgradeSettings_STATUS `json:"upgradeSettings,omitempty"` + VmSize *string `json:"vmSize,omitempty"` + VnetSubnetID *string `json:"vnetSubnetID,omitempty"` } var _ genruntime.FromARMConverter = &ManagedClusterAgentPoolProfile_STATUS{} @@ -6753,24 +6309,11 @@ func (profile *ManagedClusterAgentPoolProfile_STATUS) AssignProperties_To_Manage return nil } -// Access profile for managed cluster API server. type ManagedClusterAPIServerAccessProfile struct { - // AuthorizedIPRanges: IP ranges are specified in CIDR format, e.g. 137.117.106.88/29. This feature is not compatible with - // clusters that use Public IP Per Node, or clusters that are using a Basic Load Balancer. For more information see [API - // server authorized IP ranges](https://docs.microsoft.com/azure/aks/api-server-authorized-ip-ranges). - AuthorizedIPRanges []string `json:"authorizedIPRanges,omitempty"` - - // EnablePrivateCluster: For more details, see [Creating a private AKS - // cluster](https://docs.microsoft.com/azure/aks/private-clusters). - EnablePrivateCluster *bool `json:"enablePrivateCluster,omitempty"` - - // EnablePrivateClusterPublicFQDN: Whether to create additional public FQDN for private cluster or not. - EnablePrivateClusterPublicFQDN *bool `json:"enablePrivateClusterPublicFQDN,omitempty"` - - // PrivateDNSZone: The default is System. For more details see [configure private DNS - // zone](https://docs.microsoft.com/azure/aks/private-clusters#configure-private-dns-zone). Allowed values are 'system' and - // 'none'. - PrivateDNSZone *string `json:"privateDNSZone,omitempty"` + AuthorizedIPRanges []string `json:"authorizedIPRanges,omitempty"` + EnablePrivateCluster *bool `json:"enablePrivateCluster,omitempty"` + EnablePrivateClusterPublicFQDN *bool `json:"enablePrivateClusterPublicFQDN,omitempty"` + PrivateDNSZone *string `json:"privateDNSZone,omitempty"` } var _ genruntime.ARMTransformer = &ManagedClusterAPIServerAccessProfile{} @@ -6913,24 +6456,11 @@ func (profile *ManagedClusterAPIServerAccessProfile) AssignProperties_To_Managed return nil } -// Access profile for managed cluster API server. type ManagedClusterAPIServerAccessProfile_STATUS struct { - // AuthorizedIPRanges: IP ranges are specified in CIDR format, e.g. 137.117.106.88/29. This feature is not compatible with - // clusters that use Public IP Per Node, or clusters that are using a Basic Load Balancer. For more information see [API - // server authorized IP ranges](https://docs.microsoft.com/azure/aks/api-server-authorized-ip-ranges). - AuthorizedIPRanges []string `json:"authorizedIPRanges,omitempty"` - - // EnablePrivateCluster: For more details, see [Creating a private AKS - // cluster](https://docs.microsoft.com/azure/aks/private-clusters). - EnablePrivateCluster *bool `json:"enablePrivateCluster,omitempty"` - - // EnablePrivateClusterPublicFQDN: Whether to create additional public FQDN for private cluster or not. - EnablePrivateClusterPublicFQDN *bool `json:"enablePrivateClusterPublicFQDN,omitempty"` - - // PrivateDNSZone: The default is System. For more details see [configure private DNS - // zone](https://docs.microsoft.com/azure/aks/private-clusters#configure-private-dns-zone). Allowed values are 'system' and - // 'none'. - PrivateDNSZone *string `json:"privateDNSZone,omitempty"` + AuthorizedIPRanges []string `json:"authorizedIPRanges,omitempty"` + EnablePrivateCluster *bool `json:"enablePrivateCluster,omitempty"` + EnablePrivateClusterPublicFQDN *bool `json:"enablePrivateClusterPublicFQDN,omitempty"` + PrivateDNSZone *string `json:"privateDNSZone,omitempty"` } var _ genruntime.FromARMConverter = &ManagedClusterAPIServerAccessProfile_STATUS{} @@ -7041,10 +6571,7 @@ func (profile *ManagedClusterAPIServerAccessProfile_STATUS) AssignProperties_To_ return nil } -// Auto upgrade profile for a managed cluster. type ManagedClusterAutoUpgradeProfile struct { - // UpgradeChannel: For more information see [setting the AKS cluster auto-upgrade - // channel](https://docs.microsoft.com/azure/aks/upgrade-cluster#set-auto-upgrade-channel). UpgradeChannel *ManagedClusterAutoUpgradeProfile_UpgradeChannel `json:"upgradeChannel,omitempty"` } @@ -7131,10 +6658,7 @@ func (profile *ManagedClusterAutoUpgradeProfile) AssignProperties_To_ManagedClus return nil } -// Auto upgrade profile for a managed cluster. type ManagedClusterAutoUpgradeProfile_STATUS struct { - // UpgradeChannel: For more information see [setting the AKS cluster auto-upgrade - // channel](https://docs.microsoft.com/azure/aks/upgrade-cluster#set-auto-upgrade-channel). UpgradeChannel *ManagedClusterAutoUpgradeProfile_UpgradeChannel_STATUS `json:"upgradeChannel,omitempty"` } @@ -7204,19 +6728,11 @@ func (profile *ManagedClusterAutoUpgradeProfile_STATUS) AssignProperties_To_Mana return nil } -// Cluster HTTP proxy configuration. type ManagedClusterHTTPProxyConfig struct { - // HttpProxy: The HTTP proxy server endpoint to use. - HttpProxy *string `json:"httpProxy,omitempty"` - - // HttpsProxy: The HTTPS proxy server endpoint to use. - HttpsProxy *string `json:"httpsProxy,omitempty"` - - // NoProxy: The endpoints that should not go through proxy. - NoProxy []string `json:"noProxy,omitempty"` - - // TrustedCa: Alternative CA cert to use for connecting to proxy servers. - TrustedCa *string `json:"trustedCa,omitempty"` + HttpProxy *string `json:"httpProxy,omitempty"` + HttpsProxy *string `json:"httpsProxy,omitempty"` + NoProxy []string `json:"noProxy,omitempty"` + TrustedCa *string `json:"trustedCa,omitempty"` } var _ genruntime.ARMTransformer = &ManagedClusterHTTPProxyConfig{} @@ -7339,19 +6855,11 @@ func (config *ManagedClusterHTTPProxyConfig) AssignProperties_To_ManagedClusterH return nil } -// Cluster HTTP proxy configuration. type ManagedClusterHTTPProxyConfig_STATUS struct { - // HttpProxy: The HTTP proxy server endpoint to use. - HttpProxy *string `json:"httpProxy,omitempty"` - - // HttpsProxy: The HTTPS proxy server endpoint to use. - HttpsProxy *string `json:"httpsProxy,omitempty"` - - // NoProxy: The endpoints that should not go through proxy. - NoProxy []string `json:"noProxy,omitempty"` - - // TrustedCa: Alternative CA cert to use for connecting to proxy servers. - TrustedCa *string `json:"trustedCa,omitempty"` + HttpProxy *string `json:"httpProxy,omitempty"` + HttpsProxy *string `json:"httpsProxy,omitempty"` + NoProxy []string `json:"noProxy,omitempty"` + TrustedCa *string `json:"trustedCa,omitempty"` } var _ genruntime.FromARMConverter = &ManagedClusterHTTPProxyConfig_STATUS{} @@ -7442,14 +6950,8 @@ func (config *ManagedClusterHTTPProxyConfig_STATUS) AssignProperties_To_ManagedC return nil } -// Identity for the managed cluster. type ManagedClusterIdentity struct { - // Type: For more information see [use managed identities in - // AKS](https://docs.microsoft.com/azure/aks/use-managed-identity). - Type *ManagedClusterIdentity_Type `json:"type,omitempty"` - - // UserAssignedIdentities: The keys must be ARM resource IDs in the form: - // '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + Type *ManagedClusterIdentity_Type `json:"type,omitempty"` UserAssignedIdentities []UserAssignedIdentityDetails `json:"userAssignedIdentities,omitempty"` } @@ -7585,20 +7087,10 @@ func (identity *ManagedClusterIdentity) AssignProperties_To_ManagedClusterIdenti return nil } -// Identity for the managed cluster. type ManagedClusterIdentity_STATUS struct { - // PrincipalId: The principal id of the system assigned identity which is used by master components. - PrincipalId *string `json:"principalId,omitempty"` - - // TenantId: The tenant id of the system assigned identity which is used by master components. - TenantId *string `json:"tenantId,omitempty"` - - // Type: For more information see [use managed identities in - // AKS](https://docs.microsoft.com/azure/aks/use-managed-identity). - Type *ManagedClusterIdentity_Type_STATUS `json:"type,omitempty"` - - // UserAssignedIdentities: The keys must be ARM resource IDs in the form: - // '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + PrincipalId *string `json:"principalId,omitempty"` + TenantId *string `json:"tenantId,omitempty"` + Type *ManagedClusterIdentity_Type_STATUS `json:"type,omitempty"` UserAssignedIdentities map[string]ManagedClusterIdentity_UserAssignedIdentities_STATUS `json:"userAssignedIdentities,omitempty"` } @@ -7794,22 +7286,10 @@ func (operator *ManagedClusterOperatorSpec) AssignProperties_To_ManagedClusterOp return nil } -// See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on pod -// identity integration. type ManagedClusterPodIdentityProfile struct { - // AllowNetworkPluginKubenet: Running in Kubenet is disabled by default due to the security related nature of AAD Pod - // Identity and the risks of IP spoofing. See [using Kubenet network plugin with AAD Pod - // Identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity#using-kubenet-network-plugin-with-azure-active-directory-pod-managed-identities) - // for more information. - AllowNetworkPluginKubenet *bool `json:"allowNetworkPluginKubenet,omitempty"` - - // Enabled: Whether the pod identity addon is enabled. - Enabled *bool `json:"enabled,omitempty"` - - // UserAssignedIdentities: The pod identities to use in the cluster. - UserAssignedIdentities []ManagedClusterPodIdentity `json:"userAssignedIdentities,omitempty"` - - // UserAssignedIdentityExceptions: The pod identity exceptions to allow. + AllowNetworkPluginKubenet *bool `json:"allowNetworkPluginKubenet,omitempty"` + Enabled *bool `json:"enabled,omitempty"` + UserAssignedIdentities []ManagedClusterPodIdentity `json:"userAssignedIdentities,omitempty"` UserAssignedIdentityExceptions []ManagedClusterPodIdentityException `json:"userAssignedIdentityExceptions,omitempty"` } @@ -8029,22 +7509,10 @@ func (profile *ManagedClusterPodIdentityProfile) AssignProperties_To_ManagedClus return nil } -// See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on pod -// identity integration. type ManagedClusterPodIdentityProfile_STATUS struct { - // AllowNetworkPluginKubenet: Running in Kubenet is disabled by default due to the security related nature of AAD Pod - // Identity and the risks of IP spoofing. See [using Kubenet network plugin with AAD Pod - // Identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity#using-kubenet-network-plugin-with-azure-active-directory-pod-managed-identities) - // for more information. - AllowNetworkPluginKubenet *bool `json:"allowNetworkPluginKubenet,omitempty"` - - // Enabled: Whether the pod identity addon is enabled. - Enabled *bool `json:"enabled,omitempty"` - - // UserAssignedIdentities: The pod identities to use in the cluster. - UserAssignedIdentities []ManagedClusterPodIdentity_STATUS `json:"userAssignedIdentities,omitempty"` - - // UserAssignedIdentityExceptions: The pod identity exceptions to allow. + AllowNetworkPluginKubenet *bool `json:"allowNetworkPluginKubenet,omitempty"` + Enabled *bool `json:"enabled,omitempty"` + UserAssignedIdentities []ManagedClusterPodIdentity_STATUS `json:"userAssignedIdentities,omitempty"` UserAssignedIdentityExceptions []ManagedClusterPodIdentityException_STATUS `json:"userAssignedIdentityExceptions,omitempty"` } @@ -8226,66 +7694,23 @@ func (profile *ManagedClusterPodIdentityProfile_STATUS) AssignProperties_To_Mana } type ManagedClusterProperties_AutoScalerProfile struct { - // BalanceSimilarNodeGroups: Valid values are 'true' and 'false' - BalanceSimilarNodeGroups *string `json:"balance-similar-node-groups,omitempty"` - - // Expander: If not specified, the default is 'random'. See - // [expanders](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md#what-are-expanders) for more - // information. - Expander *ManagedClusterProperties_AutoScalerProfile_Expander `json:"expander,omitempty"` - - // MaxEmptyBulkDelete: The default is 10. - MaxEmptyBulkDelete *string `json:"max-empty-bulk-delete,omitempty"` - - // MaxGracefulTerminationSec: The default is 600. - MaxGracefulTerminationSec *string `json:"max-graceful-termination-sec,omitempty"` - - // MaxNodeProvisionTime: The default is '15m'. Values must be an integer followed by an 'm'. No unit of time other than - // minutes (m) is supported. - MaxNodeProvisionTime *string `json:"max-node-provision-time,omitempty"` - - // MaxTotalUnreadyPercentage: The default is 45. The maximum is 100 and the minimum is 0. - MaxTotalUnreadyPercentage *string `json:"max-total-unready-percentage,omitempty"` - - // NewPodScaleUpDelay: For scenarios like burst/batch scale where you don't want CA to act before the kubernetes scheduler - // could schedule all the pods, you can tell CA to ignore unscheduled pods before they're a certain age. The default is - // '0s'. Values must be an integer followed by a unit ('s' for seconds, 'm' for minutes, 'h' for hours, etc). - NewPodScaleUpDelay *string `json:"new-pod-scale-up-delay,omitempty"` - - // OkTotalUnreadyCount: This must be an integer. The default is 3. - OkTotalUnreadyCount *string `json:"ok-total-unready-count,omitempty"` - - // ScaleDownDelayAfterAdd: The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than - // minutes (m) is supported. - ScaleDownDelayAfterAdd *string `json:"scale-down-delay-after-add,omitempty"` - - // ScaleDownDelayAfterDelete: The default is the scan-interval. Values must be an integer followed by an 'm'. No unit of - // time other than minutes (m) is supported. - ScaleDownDelayAfterDelete *string `json:"scale-down-delay-after-delete,omitempty"` - - // ScaleDownDelayAfterFailure: The default is '3m'. Values must be an integer followed by an 'm'. No unit of time other - // than minutes (m) is supported. - ScaleDownDelayAfterFailure *string `json:"scale-down-delay-after-failure,omitempty"` - - // ScaleDownUnneededTime: The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than - // minutes (m) is supported. - ScaleDownUnneededTime *string `json:"scale-down-unneeded-time,omitempty"` - - // ScaleDownUnreadyTime: The default is '20m'. Values must be an integer followed by an 'm'. No unit of time other than - // minutes (m) is supported. - ScaleDownUnreadyTime *string `json:"scale-down-unready-time,omitempty"` - - // ScaleDownUtilizationThreshold: The default is '0.5'. - ScaleDownUtilizationThreshold *string `json:"scale-down-utilization-threshold,omitempty"` - - // ScanInterval: The default is '10'. Values must be an integer number of seconds. - ScanInterval *string `json:"scan-interval,omitempty"` - - // SkipNodesWithLocalStorage: The default is true. - SkipNodesWithLocalStorage *string `json:"skip-nodes-with-local-storage,omitempty"` - - // SkipNodesWithSystemPods: The default is true. - SkipNodesWithSystemPods *string `json:"skip-nodes-with-system-pods,omitempty"` + BalanceSimilarNodeGroups *string `json:"balance-similar-node-groups,omitempty"` + Expander *ManagedClusterProperties_AutoScalerProfile_Expander `json:"expander,omitempty"` + MaxEmptyBulkDelete *string `json:"max-empty-bulk-delete,omitempty"` + MaxGracefulTerminationSec *string `json:"max-graceful-termination-sec,omitempty"` + MaxNodeProvisionTime *string `json:"max-node-provision-time,omitempty"` + MaxTotalUnreadyPercentage *string `json:"max-total-unready-percentage,omitempty"` + NewPodScaleUpDelay *string `json:"new-pod-scale-up-delay,omitempty"` + OkTotalUnreadyCount *string `json:"ok-total-unready-count,omitempty"` + ScaleDownDelayAfterAdd *string `json:"scale-down-delay-after-add,omitempty"` + ScaleDownDelayAfterDelete *string `json:"scale-down-delay-after-delete,omitempty"` + ScaleDownDelayAfterFailure *string `json:"scale-down-delay-after-failure,omitempty"` + ScaleDownUnneededTime *string `json:"scale-down-unneeded-time,omitempty"` + ScaleDownUnreadyTime *string `json:"scale-down-unready-time,omitempty"` + ScaleDownUtilizationThreshold *string `json:"scale-down-utilization-threshold,omitempty"` + ScanInterval *string `json:"scan-interval,omitempty"` + SkipNodesWithLocalStorage *string `json:"skip-nodes-with-local-storage,omitempty"` + SkipNodesWithSystemPods *string `json:"skip-nodes-with-system-pods,omitempty"` } var _ genruntime.ARMTransformer = &ManagedClusterProperties_AutoScalerProfile{} @@ -8660,66 +8085,23 @@ func (profile *ManagedClusterProperties_AutoScalerProfile) AssignProperties_To_M } type ManagedClusterProperties_AutoScalerProfile_STATUS struct { - // BalanceSimilarNodeGroups: Valid values are 'true' and 'false' - BalanceSimilarNodeGroups *string `json:"balance-similar-node-groups,omitempty"` - - // Expander: If not specified, the default is 'random'. See - // [expanders](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md#what-are-expanders) for more - // information. - Expander *ManagedClusterProperties_AutoScalerProfile_Expander_STATUS `json:"expander,omitempty"` - - // MaxEmptyBulkDelete: The default is 10. - MaxEmptyBulkDelete *string `json:"max-empty-bulk-delete,omitempty"` - - // MaxGracefulTerminationSec: The default is 600. - MaxGracefulTerminationSec *string `json:"max-graceful-termination-sec,omitempty"` - - // MaxNodeProvisionTime: The default is '15m'. Values must be an integer followed by an 'm'. No unit of time other than - // minutes (m) is supported. - MaxNodeProvisionTime *string `json:"max-node-provision-time,omitempty"` - - // MaxTotalUnreadyPercentage: The default is 45. The maximum is 100 and the minimum is 0. - MaxTotalUnreadyPercentage *string `json:"max-total-unready-percentage,omitempty"` - - // NewPodScaleUpDelay: For scenarios like burst/batch scale where you don't want CA to act before the kubernetes scheduler - // could schedule all the pods, you can tell CA to ignore unscheduled pods before they're a certain age. The default is - // '0s'. Values must be an integer followed by a unit ('s' for seconds, 'm' for minutes, 'h' for hours, etc). - NewPodScaleUpDelay *string `json:"new-pod-scale-up-delay,omitempty"` - - // OkTotalUnreadyCount: This must be an integer. The default is 3. - OkTotalUnreadyCount *string `json:"ok-total-unready-count,omitempty"` - - // ScaleDownDelayAfterAdd: The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than - // minutes (m) is supported. - ScaleDownDelayAfterAdd *string `json:"scale-down-delay-after-add,omitempty"` - - // ScaleDownDelayAfterDelete: The default is the scan-interval. Values must be an integer followed by an 'm'. No unit of - // time other than minutes (m) is supported. - ScaleDownDelayAfterDelete *string `json:"scale-down-delay-after-delete,omitempty"` - - // ScaleDownDelayAfterFailure: The default is '3m'. Values must be an integer followed by an 'm'. No unit of time other - // than minutes (m) is supported. - ScaleDownDelayAfterFailure *string `json:"scale-down-delay-after-failure,omitempty"` - - // ScaleDownUnneededTime: The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than - // minutes (m) is supported. - ScaleDownUnneededTime *string `json:"scale-down-unneeded-time,omitempty"` - - // ScaleDownUnreadyTime: The default is '20m'. Values must be an integer followed by an 'm'. No unit of time other than - // minutes (m) is supported. - ScaleDownUnreadyTime *string `json:"scale-down-unready-time,omitempty"` - - // ScaleDownUtilizationThreshold: The default is '0.5'. - ScaleDownUtilizationThreshold *string `json:"scale-down-utilization-threshold,omitempty"` - - // ScanInterval: The default is '10'. Values must be an integer number of seconds. - ScanInterval *string `json:"scan-interval,omitempty"` - - // SkipNodesWithLocalStorage: The default is true. - SkipNodesWithLocalStorage *string `json:"skip-nodes-with-local-storage,omitempty"` - - // SkipNodesWithSystemPods: The default is true. - SkipNodesWithSystemPods *string `json:"skip-nodes-with-system-pods,omitempty"` + BalanceSimilarNodeGroups *string `json:"balance-similar-node-groups,omitempty"` + Expander *ManagedClusterProperties_AutoScalerProfile_Expander_STATUS `json:"expander,omitempty"` + MaxEmptyBulkDelete *string `json:"max-empty-bulk-delete,omitempty"` + MaxGracefulTerminationSec *string `json:"max-graceful-termination-sec,omitempty"` + MaxNodeProvisionTime *string `json:"max-node-provision-time,omitempty"` + MaxTotalUnreadyPercentage *string `json:"max-total-unready-percentage,omitempty"` + NewPodScaleUpDelay *string `json:"new-pod-scale-up-delay,omitempty"` + OkTotalUnreadyCount *string `json:"ok-total-unready-count,omitempty"` + ScaleDownDelayAfterAdd *string `json:"scale-down-delay-after-add,omitempty"` + ScaleDownDelayAfterDelete *string `json:"scale-down-delay-after-delete,omitempty"` + ScaleDownDelayAfterFailure *string `json:"scale-down-delay-after-failure,omitempty"` + ScaleDownUnneededTime *string `json:"scale-down-unneeded-time,omitempty"` + ScaleDownUnreadyTime *string `json:"scale-down-unready-time,omitempty"` + ScaleDownUtilizationThreshold *string `json:"scale-down-utilization-threshold,omitempty"` + ScanInterval *string `json:"scan-interval,omitempty"` + SkipNodesWithLocalStorage *string `json:"skip-nodes-with-local-storage,omitempty"` + SkipNodesWithSystemPods *string `json:"skip-nodes-with-system-pods,omitempty"` } var _ genruntime.FromARMConverter = &ManagedClusterProperties_AutoScalerProfile_STATUS{} @@ -8980,14 +8362,10 @@ func (profile *ManagedClusterProperties_AutoScalerProfile_STATUS) AssignProperti return nil } -// Information about a service principal identity for the cluster to use for manipulating Azure APIs. type ManagedClusterServicePrincipalProfile struct { // +kubebuilder:validation:Required - // ClientId: The ID for the service principal. - ClientId *string `json:"clientId,omitempty"` - - // Secret: The secret password associated with the service principal in plain text. - Secret *genruntime.SecretReference `json:"secret,omitempty"` + ClientId *string `json:"clientId,omitempty"` + Secret *genruntime.SecretReference `json:"secret,omitempty"` } var _ genruntime.ARMTransformer = &ManagedClusterServicePrincipalProfile{} @@ -9086,9 +8464,7 @@ func (profile *ManagedClusterServicePrincipalProfile) AssignProperties_To_Manage return nil } -// Information about a service principal identity for the cluster to use for manipulating Azure APIs. type ManagedClusterServicePrincipalProfile_STATUS struct { - // ClientId: The ID for the service principal. ClientId *string `json:"clientId,omitempty"` } @@ -9145,13 +8521,8 @@ func (profile *ManagedClusterServicePrincipalProfile_STATUS) AssignProperties_To return nil } -// The SKU of a Managed Cluster. type ManagedClusterSKU struct { - // Name: The name of a managed cluster SKU. Name *ManagedClusterSKU_Name `json:"name,omitempty"` - - // Tier: If not specified, the default is 'Free'. See [uptime SLA](https://docs.microsoft.com/azure/aks/uptime-sla) for - // more details. Tier *ManagedClusterSKU_Tier `json:"tier,omitempty"` } @@ -9271,13 +8642,8 @@ func (clusterSKU *ManagedClusterSKU) AssignProperties_To_ManagedClusterSKU(desti return nil } -// The SKU of a Managed Cluster. type ManagedClusterSKU_STATUS struct { - // Name: The name of a managed cluster SKU. Name *ManagedClusterSKU_Name_STATUS `json:"name,omitempty"` - - // Tier: If not specified, the default is 'Free'. See [uptime SLA](https://docs.microsoft.com/azure/aks/uptime-sla) for - // more details. Tier *ManagedClusterSKU_Tier_STATUS `json:"tier,omitempty"` } @@ -9372,37 +8738,13 @@ func (clusterSKU *ManagedClusterSKU_STATUS) AssignProperties_To_ManagedClusterSK return nil } -// Profile for Windows VMs in the managed cluster. type ManagedClusterWindowsProfile struct { - // AdminPassword: Specifies the password of the administrator account. - // Minimum-length: 8 characters - // Max-length: 123 characters - // Complexity requirements: 3 out of 4 conditions below need to be fulfilled - // Has lower characters - // Has upper characters - // Has a digit - // Has a special character (Regex match [\W_]) - // Disallowed values: "abc@123", "P@$$w0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", - // "Password22", "iloveyou!" AdminPassword *genruntime.SecretReference `json:"adminPassword,omitempty"` // +kubebuilder:validation:Required - // AdminUsername: Specifies the name of the administrator account. - // Restriction: Cannot end in "." - // Disallowed values: "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", - // "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", - // "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5". - // Minimum-length: 1 character - // Max-length: 20 characters - AdminUsername *string `json:"adminUsername,omitempty"` - - // EnableCSIProxy: For more details on CSI proxy, see the [CSI proxy GitHub - // repo](https://github.com/kubernetes-csi/csi-proxy). - EnableCSIProxy *bool `json:"enableCSIProxy,omitempty"` - - // LicenseType: The license type to use for Windows VMs. See [Azure Hybrid User - // Benefits](https://azure.microsoft.com/pricing/hybrid-benefit/faq/) for more details. - LicenseType *ManagedClusterWindowsProfile_LicenseType `json:"licenseType,omitempty"` + AdminUsername *string `json:"adminUsername,omitempty"` + EnableCSIProxy *bool `json:"enableCSIProxy,omitempty"` + LicenseType *ManagedClusterWindowsProfile_LicenseType `json:"licenseType,omitempty"` } var _ genruntime.ARMTransformer = &ManagedClusterWindowsProfile{} @@ -9562,24 +8904,10 @@ func (profile *ManagedClusterWindowsProfile) AssignProperties_To_ManagedClusterW return nil } -// Profile for Windows VMs in the managed cluster. type ManagedClusterWindowsProfile_STATUS struct { - // AdminUsername: Specifies the name of the administrator account. - // Restriction: Cannot end in "." - // Disallowed values: "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", - // "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", - // "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5". - // Minimum-length: 1 character - // Max-length: 20 characters - AdminUsername *string `json:"adminUsername,omitempty"` - - // EnableCSIProxy: For more details on CSI proxy, see the [CSI proxy GitHub - // repo](https://github.com/kubernetes-csi/csi-proxy). - EnableCSIProxy *bool `json:"enableCSIProxy,omitempty"` - - // LicenseType: The license type to use for Windows VMs. See [Azure Hybrid User - // Benefits](https://azure.microsoft.com/pricing/hybrid-benefit/faq/) for more details. - LicenseType *ManagedClusterWindowsProfile_LicenseType_STATUS `json:"licenseType,omitempty"` + AdminUsername *string `json:"adminUsername,omitempty"` + EnableCSIProxy *bool `json:"enableCSIProxy,omitempty"` + LicenseType *ManagedClusterWindowsProfile_LicenseType_STATUS `json:"licenseType,omitempty"` } var _ genruntime.FromARMConverter = &ManagedClusterWindowsProfile_STATUS{} @@ -9682,9 +9010,7 @@ func (profile *ManagedClusterWindowsProfile_STATUS) AssignProperties_To_ManagedC return nil } -// Describes the Power State of the cluster type PowerState_STATUS struct { - // Code: Tells whether the cluster is Running or Stopped Code *PowerState_Code_STATUS `json:"code,omitempty"` } @@ -9754,22 +9080,12 @@ func (state *PowerState_STATUS) AssignProperties_To_PowerState_STATUS(destinatio return nil } -// A private link resource type PrivateLinkResource struct { - // GroupId: The group ID of the resource. - GroupId *string `json:"groupId,omitempty"` - - // Name: The name of the private link resource. - Name *string `json:"name,omitempty"` - - // Reference: The ID of the private link resource. - Reference *genruntime.ResourceReference `armReference:"Id" json:"reference,omitempty"` - - // RequiredMembers: The RequiredMembers of the resource - RequiredMembers []string `json:"requiredMembers,omitempty"` - - // Type: The resource type. - Type *string `json:"type,omitempty"` + GroupId *string `json:"groupId,omitempty"` + Name *string `json:"name,omitempty"` + Reference *genruntime.ResourceReference `armReference:"Id" json:"reference,omitempty"` + RequiredMembers []string `json:"requiredMembers,omitempty"` + Type *string `json:"type,omitempty"` } var _ genruntime.ARMTransformer = &PrivateLinkResource{} @@ -9920,25 +9236,13 @@ func (resource *PrivateLinkResource) AssignProperties_To_PrivateLinkResource(des return nil } -// A private link resource type PrivateLinkResource_STATUS struct { - // GroupId: The group ID of the resource. - GroupId *string `json:"groupId,omitempty"` - - // Id: The ID of the private link resource. - Id *string `json:"id,omitempty"` - - // Name: The name of the private link resource. - Name *string `json:"name,omitempty"` - - // PrivateLinkServiceID: The private link service ID of the resource, this field is exposed only to NRP internally. - PrivateLinkServiceID *string `json:"privateLinkServiceID,omitempty"` - - // RequiredMembers: The RequiredMembers of the resource - RequiredMembers []string `json:"requiredMembers,omitempty"` - - // Type: The resource type. - Type *string `json:"type,omitempty"` + GroupId *string `json:"groupId,omitempty"` + Id *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + PrivateLinkServiceID *string `json:"privateLinkServiceID,omitempty"` + RequiredMembers []string `json:"requiredMembers,omitempty"` + Type *string `json:"type,omitempty"` } var _ genruntime.FromARMConverter = &PrivateLinkResource_STATUS{} @@ -10053,15 +9357,9 @@ func (resource *PrivateLinkResource_STATUS) AssignProperties_To_PrivateLinkResou return nil } -// Details about a user assigned identity. type UserAssignedIdentity struct { - // ClientId: The client ID of the user assigned identity. - ClientId *string `json:"clientId,omitempty"` - - // ObjectId: The object ID of the user assigned identity. - ObjectId *string `json:"objectId,omitempty"` - - // ResourceReference: The resource ID of the user assigned identity. + ClientId *string `json:"clientId,omitempty"` + ObjectId *string `json:"objectId,omitempty"` ResourceReference *genruntime.ResourceReference `armReference:"ResourceId" json:"resourceReference,omitempty"` } @@ -10179,15 +9477,9 @@ func (identity *UserAssignedIdentity) AssignProperties_To_UserAssignedIdentity(d return nil } -// Details about a user assigned identity. type UserAssignedIdentity_STATUS struct { - // ClientId: The client ID of the user assigned identity. - ClientId *string `json:"clientId,omitempty"` - - // ObjectId: The object ID of the user assigned identity. - ObjectId *string `json:"objectId,omitempty"` - - // ResourceId: The resource ID of the user assigned identity. + ClientId *string `json:"clientId,omitempty"` + ObjectId *string `json:"objectId,omitempty"` ResourceId *string `json:"resourceId,omitempty"` } @@ -10403,10 +9695,8 @@ var containerServiceNetworkProfile_OutboundType_STATUS_Values = map[string]Conta "userdefinedrouting": ContainerServiceNetworkProfile_OutboundType_STATUS_UserDefinedRouting, } -// SSH configuration for Linux-based VMs running on Azure. type ContainerServiceSshConfiguration struct { // +kubebuilder:validation:Required - // PublicKeys: The list of SSH public keys used to authenticate with Linux-based VMs. A maximum of 1 key may be specified. PublicKeys []ContainerServiceSshPublicKey `json:"publicKeys,omitempty"` } @@ -10515,9 +9805,7 @@ func (configuration *ContainerServiceSshConfiguration) AssignProperties_To_Conta return nil } -// SSH configuration for Linux-based VMs running on Azure. type ContainerServiceSshConfiguration_STATUS struct { - // PublicKeys: The list of SSH public keys used to authenticate with Linux-based VMs. A maximum of 1 key may be specified. PublicKeys []ContainerServiceSshPublicKey_STATUS `json:"publicKeys,omitempty"` } @@ -10608,7 +9896,6 @@ func (configuration *ContainerServiceSshConfiguration_STATUS) AssignProperties_T return nil } -// The type of extendedLocation. // +kubebuilder:validation:Enum={"EdgeZone"} type ExtendedLocationType string @@ -10619,7 +9906,6 @@ var extendedLocationType_Values = map[string]ExtendedLocationType{ "edgezone": ExtendedLocationType_EdgeZone, } -// The type of extendedLocation. type ExtendedLocationType_STATUS string const ExtendedLocationType_STATUS_EdgeZone = ExtendedLocationType_STATUS("EdgeZone") @@ -10700,10 +9986,7 @@ var managedClusterIdentity_Type_STATUS_Values = map[string]ManagedClusterIdentit } type ManagedClusterIdentity_UserAssignedIdentities_STATUS struct { - // ClientId: The client id of user assigned identity. - ClientId *string `json:"clientId,omitempty"` - - // PrincipalId: The principal id of user assigned identity. + ClientId *string `json:"clientId,omitempty"` PrincipalId *string `json:"principalId,omitempty"` } @@ -10772,31 +10055,18 @@ func (identities *ManagedClusterIdentity_UserAssignedIdentities_STATUS) AssignPr return nil } -// Profile of the managed cluster load balancer. type ManagedClusterLoadBalancerProfile struct { // +kubebuilder:validation:Maximum=64000 // +kubebuilder:validation:Minimum=0 - // AllocatedOutboundPorts: The desired number of allocated SNAT ports per VM. Allowed values are in the range of 0 to 64000 - // (inclusive). The default value is 0 which results in Azure dynamically allocating ports. - AllocatedOutboundPorts *int `json:"allocatedOutboundPorts,omitempty"` - - // EffectiveOutboundIPs: The effective outbound IP resources of the cluster load balancer. - EffectiveOutboundIPs []ResourceReference `json:"effectiveOutboundIPs,omitempty"` + AllocatedOutboundPorts *int `json:"allocatedOutboundPorts,omitempty"` + EffectiveOutboundIPs []ResourceReference `json:"effectiveOutboundIPs,omitempty"` // +kubebuilder:validation:Maximum=120 // +kubebuilder:validation:Minimum=4 - // IdleTimeoutInMinutes: Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 - // (inclusive). The default value is 30 minutes. - IdleTimeoutInMinutes *int `json:"idleTimeoutInMinutes,omitempty"` - - // ManagedOutboundIPs: Desired managed outbound IPs for the cluster load balancer. - ManagedOutboundIPs *ManagedClusterLoadBalancerProfile_ManagedOutboundIPs `json:"managedOutboundIPs,omitempty"` - - // OutboundIPPrefixes: Desired outbound IP Prefix resources for the cluster load balancer. - OutboundIPPrefixes *ManagedClusterLoadBalancerProfile_OutboundIPPrefixes `json:"outboundIPPrefixes,omitempty"` - - // OutboundIPs: Desired outbound IP resources for the cluster load balancer. - OutboundIPs *ManagedClusterLoadBalancerProfile_OutboundIPs `json:"outboundIPs,omitempty"` + IdleTimeoutInMinutes *int `json:"idleTimeoutInMinutes,omitempty"` + ManagedOutboundIPs *ManagedClusterLoadBalancerProfile_ManagedOutboundIPs `json:"managedOutboundIPs,omitempty"` + OutboundIPPrefixes *ManagedClusterLoadBalancerProfile_OutboundIPPrefixes `json:"outboundIPPrefixes,omitempty"` + OutboundIPs *ManagedClusterLoadBalancerProfile_OutboundIPs `json:"outboundIPs,omitempty"` } var _ genruntime.ARMTransformer = &ManagedClusterLoadBalancerProfile{} @@ -11095,27 +10365,13 @@ func (profile *ManagedClusterLoadBalancerProfile) AssignProperties_To_ManagedClu return nil } -// Profile of the managed cluster load balancer. type ManagedClusterLoadBalancerProfile_STATUS struct { - // AllocatedOutboundPorts: The desired number of allocated SNAT ports per VM. Allowed values are in the range of 0 to 64000 - // (inclusive). The default value is 0 which results in Azure dynamically allocating ports. - AllocatedOutboundPorts *int `json:"allocatedOutboundPorts,omitempty"` - - // EffectiveOutboundIPs: The effective outbound IP resources of the cluster load balancer. - EffectiveOutboundIPs []ResourceReference_STATUS `json:"effectiveOutboundIPs,omitempty"` - - // IdleTimeoutInMinutes: Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 - // (inclusive). The default value is 30 minutes. - IdleTimeoutInMinutes *int `json:"idleTimeoutInMinutes,omitempty"` - - // ManagedOutboundIPs: Desired managed outbound IPs for the cluster load balancer. - ManagedOutboundIPs *ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS `json:"managedOutboundIPs,omitempty"` - - // OutboundIPPrefixes: Desired outbound IP Prefix resources for the cluster load balancer. - OutboundIPPrefixes *ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS `json:"outboundIPPrefixes,omitempty"` - - // OutboundIPs: Desired outbound IP resources for the cluster load balancer. - OutboundIPs *ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS `json:"outboundIPs,omitempty"` + AllocatedOutboundPorts *int `json:"allocatedOutboundPorts,omitempty"` + EffectiveOutboundIPs []ResourceReference_STATUS `json:"effectiveOutboundIPs,omitempty"` + IdleTimeoutInMinutes *int `json:"idleTimeoutInMinutes,omitempty"` + ManagedOutboundIPs *ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS `json:"managedOutboundIPs,omitempty"` + OutboundIPPrefixes *ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS `json:"outboundIPPrefixes,omitempty"` + OutboundIPs *ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS `json:"outboundIPs,omitempty"` } var _ genruntime.FromARMConverter = &ManagedClusterLoadBalancerProfile_STATUS{} @@ -11399,21 +10655,16 @@ func (secrets *ManagedClusterOperatorSecrets) AssignProperties_To_ManagedCluster return nil } -// Details about the pod identity assigned to the Managed Cluster. type ManagedClusterPodIdentity struct { - // BindingSelector: The binding selector to use for the AzureIdentityBinding resource. BindingSelector *string `json:"bindingSelector,omitempty"` // +kubebuilder:validation:Required - // Identity: The user assigned identity details. Identity *UserAssignedIdentity `json:"identity,omitempty"` // +kubebuilder:validation:Required - // Name: The name of the pod identity. Name *string `json:"name,omitempty"` // +kubebuilder:validation:Required - // Namespace: The namespace of the pod identity. Namespace *string `json:"namespace,omitempty"` } @@ -11566,22 +10817,12 @@ func (identity *ManagedClusterPodIdentity) AssignProperties_To_ManagedClusterPod return nil } -// Details about the pod identity assigned to the Managed Cluster. type ManagedClusterPodIdentity_STATUS struct { - // BindingSelector: The binding selector to use for the AzureIdentityBinding resource. - BindingSelector *string `json:"bindingSelector,omitempty"` - - // Identity: The user assigned identity details. - Identity *UserAssignedIdentity_STATUS `json:"identity,omitempty"` - - // Name: The name of the pod identity. - Name *string `json:"name,omitempty"` - - // Namespace: The namespace of the pod identity. - Namespace *string `json:"namespace,omitempty"` - ProvisioningInfo *ManagedClusterPodIdentity_ProvisioningInfo_STATUS `json:"provisioningInfo,omitempty"` - - // ProvisioningState: The current provisioning state of the pod identity. + BindingSelector *string `json:"bindingSelector,omitempty"` + Identity *UserAssignedIdentity_STATUS `json:"identity,omitempty"` + Name *string `json:"name,omitempty"` + Namespace *string `json:"namespace,omitempty"` + ProvisioningInfo *ManagedClusterPodIdentity_ProvisioningInfo_STATUS `json:"provisioningInfo,omitempty"` ProvisioningState *ManagedClusterPodIdentity_ProvisioningState_STATUS `json:"provisioningState,omitempty"` } @@ -11757,19 +10998,14 @@ func (identity *ManagedClusterPodIdentity_STATUS) AssignProperties_To_ManagedClu return nil } -// See [disable AAD Pod Identity for a specific -// Pod/Application](https://azure.github.io/aad-pod-identity/docs/configure/application_exception/) for more details. type ManagedClusterPodIdentityException struct { // +kubebuilder:validation:Required - // Name: The name of the pod identity exception. Name *string `json:"name,omitempty"` // +kubebuilder:validation:Required - // Namespace: The namespace of the pod identity exception. Namespace *string `json:"namespace,omitempty"` // +kubebuilder:validation:Required - // PodLabels: The pod labels to match. PodLabels map[string]string `json:"podLabels,omitempty"` } @@ -11881,16 +11117,9 @@ func (exception *ManagedClusterPodIdentityException) AssignProperties_To_Managed return nil } -// See [disable AAD Pod Identity for a specific -// Pod/Application](https://azure.github.io/aad-pod-identity/docs/configure/application_exception/) for more details. type ManagedClusterPodIdentityException_STATUS struct { - // Name: The name of the pod identity exception. - Name *string `json:"name,omitempty"` - - // Namespace: The namespace of the pod identity exception. - Namespace *string `json:"namespace,omitempty"` - - // PodLabels: The pod labels to match. + Name *string `json:"name,omitempty"` + Namespace *string `json:"namespace,omitempty"` PodLabels map[string]string `json:"podLabels,omitempty"` } @@ -12094,7 +11323,6 @@ var powerState_Code_STATUS_Values = map[string]PowerState_Code_STATUS{ "stopped": PowerState_Code_STATUS_Stopped, } -// Information about the user assigned identity for the resource type UserAssignedIdentityDetails struct { Reference genruntime.ResourceReference `armReference:"Reference" json:"reference,omitempty"` } @@ -12128,11 +11356,8 @@ func (details *UserAssignedIdentityDetails) AssignProperties_To_UserAssignedIden return nil } -// Contains information about SSH certificate public key data. type ContainerServiceSshPublicKey struct { // +kubebuilder:validation:Required - // KeyData: Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or - // without headers. KeyData *string `json:"keyData,omitempty"` } @@ -12204,10 +11429,7 @@ func (publicKey *ContainerServiceSshPublicKey) AssignProperties_To_ContainerServ return nil } -// Contains information about SSH certificate public key data. type ContainerServiceSshPublicKey_STATUS struct { - // KeyData: Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or - // without headers. KeyData *string `json:"keyData,omitempty"` } @@ -12267,8 +11489,6 @@ func (publicKey *ContainerServiceSshPublicKey_STATUS) AssignProperties_To_Contai type ManagedClusterLoadBalancerProfile_ManagedOutboundIPs struct { // +kubebuilder:validation:Maximum=100 // +kubebuilder:validation:Minimum=1 - // Count: The desired number of outbound IPs created/managed by Azure for the cluster load balancer. Allowed values must be - // in the range of 1 to 100 (inclusive). The default value is 1. Count *int `json:"count,omitempty"` } @@ -12351,8 +11571,6 @@ func (iPs *ManagedClusterLoadBalancerProfile_ManagedOutboundIPs) AssignPropertie } type ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS struct { - // Count: The desired number of outbound IPs created/managed by Azure for the cluster load balancer. Allowed values must be - // in the range of 1 to 100 (inclusive). The default value is 1. Count *int `json:"count,omitempty"` } @@ -12410,7 +11628,6 @@ func (iPs *ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS) AssignPr } type ManagedClusterLoadBalancerProfile_OutboundIPPrefixes struct { - // PublicIPPrefixes: A list of public IP prefix resources. PublicIPPrefixes []ResourceReference `json:"publicIPPrefixes,omitempty"` } @@ -12520,7 +11737,6 @@ func (prefixes *ManagedClusterLoadBalancerProfile_OutboundIPPrefixes) AssignProp } type ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS struct { - // PublicIPPrefixes: A list of public IP prefix resources. PublicIPPrefixes []ResourceReference_STATUS `json:"publicIPPrefixes,omitempty"` } @@ -12612,7 +11828,6 @@ func (prefixes *ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS) Ass } type ManagedClusterLoadBalancerProfile_OutboundIPs struct { - // PublicIPs: A list of public IP resources. PublicIPs []ResourceReference `json:"publicIPs,omitempty"` } @@ -12722,7 +11937,6 @@ func (iPs *ManagedClusterLoadBalancerProfile_OutboundIPs) AssignProperties_To_Ma } type ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS struct { - // PublicIPs: A list of public IP resources. PublicIPs []ResourceReference_STATUS `json:"publicIPs,omitempty"` } @@ -12814,7 +12028,6 @@ func (iPs *ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS) AssignPropertie } type ManagedClusterPodIdentity_ProvisioningInfo_STATUS struct { - // Error: Pod identity assignment error (if any). Error *ManagedClusterPodIdentityProvisioningError_STATUS `json:"error,omitempty"` } @@ -12911,9 +12124,7 @@ var managedClusterPodIdentity_ProvisioningState_STATUS_Values = map[string]Manag "updating": ManagedClusterPodIdentity_ProvisioningState_STATUS_Updating, } -// A reference to an Azure resource. type ResourceReference struct { - // Reference: The fully qualified Azure resource id. Reference *genruntime.ResourceReference `armReference:"Id" json:"reference,omitempty"` } @@ -12995,9 +12206,7 @@ func (reference *ResourceReference) AssignProperties_To_ResourceReference(destin return nil } -// A reference to an Azure resource. type ResourceReference_STATUS struct { - // Id: The fully qualified Azure resource id. Id *string `json:"id,omitempty"` } @@ -13054,9 +12263,7 @@ func (reference *ResourceReference_STATUS) AssignProperties_To_ResourceReference return nil } -// An error response from the pod identity provisioning. type ManagedClusterPodIdentityProvisioningError_STATUS struct { - // Error: Details about the error. Error *ManagedClusterPodIdentityProvisioningErrorBody_STATUS `json:"error,omitempty"` } @@ -13136,19 +12343,11 @@ func (error *ManagedClusterPodIdentityProvisioningError_STATUS) AssignProperties return nil } -// An error response from the pod identity provisioning. type ManagedClusterPodIdentityProvisioningErrorBody_STATUS struct { - // Code: An identifier for the error. Codes are invariant and are intended to be consumed programmatically. - Code *string `json:"code,omitempty"` - - // Details: A list of additional details about the error. + Code *string `json:"code,omitempty"` Details []ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled `json:"details,omitempty"` - - // Message: A message describing the error, intended to be suitable for display in a user interface. - Message *string `json:"message,omitempty"` - - // Target: The target of the particular error. For example, the name of the property in error. - Target *string `json:"target,omitempty"` + Message *string `json:"message,omitempty"` + Target *string `json:"target,omitempty"` } var _ genruntime.FromARMConverter = &ManagedClusterPodIdentityProvisioningErrorBody_STATUS{} @@ -13275,14 +12474,9 @@ func (body *ManagedClusterPodIdentityProvisioningErrorBody_STATUS) AssignPropert } type ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled struct { - // Code: An identifier for the error. Codes are invariant and are intended to be consumed programmatically. - Code *string `json:"code,omitempty"` - - // Message: A message describing the error, intended to be suitable for display in a user interface. + Code *string `json:"code,omitempty"` Message *string `json:"message,omitempty"` - - // Target: The target of the particular error. For example, the name of the property in error. - Target *string `json:"target,omitempty"` + Target *string `json:"target,omitempty"` } var _ genruntime.FromARMConverter = &ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled{} diff --git a/v2/api/containerservice/v1api20210501/managed_cluster_types_gen_test.go b/v2/api/containerservice/v1api20210501/managed_cluster_types_gen_test.go index 3af4552b162..d0e1332aaca 100644 --- a/v2/api/containerservice/v1api20210501/managed_cluster_types_gen_test.go +++ b/v2/api/containerservice/v1api20210501/managed_cluster_types_gen_test.go @@ -6,7 +6,7 @@ package v1api20210501 import ( "encoding/json" v20210501s "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20210501/storage" - v20231001s "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20231001/storage" + v20240901s "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20240901/storage" "github.com/google/go-cmp/cmp" "github.com/google/go-cmp/cmp/cmpopts" "github.com/kr/pretty" @@ -1140,7 +1140,7 @@ func RunResourceConversionTestForManagedCluster(subject ManagedCluster) string { copied := subject.DeepCopy() // Convert to our hub version - var hub v20231001s.ManagedCluster + var hub v20240901s.ManagedCluster err := copied.ConvertTo(&hub) if err != nil { return err.Error() diff --git a/v2/api/containerservice/v1api20210501/managed_clusters_agent_pool_types_gen.go b/v2/api/containerservice/v1api20210501/managed_clusters_agent_pool_types_gen.go index 37df9cfd666..c7ba91d560e 100644 --- a/v2/api/containerservice/v1api20210501/managed_clusters_agent_pool_types_gen.go +++ b/v2/api/containerservice/v1api20210501/managed_clusters_agent_pool_types_gen.go @@ -2687,8 +2687,6 @@ func (pool *ManagedClustersAgentPool_STATUS) AssignProperties_To_ManagedClusters return nil } -// A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool restrictions -// and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools // +kubebuilder:validation:Enum={"System","User"} type AgentPoolMode string @@ -2703,8 +2701,6 @@ var agentPoolMode_Values = map[string]AgentPoolMode{ "user": AgentPoolMode_User, } -// A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool restrictions -// and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools type AgentPoolMode_STATUS string const ( @@ -2718,7 +2714,6 @@ var agentPoolMode_STATUS_Values = map[string]AgentPoolMode_STATUS{ "user": AgentPoolMode_STATUS_User, } -// The type of Agent Pool. // +kubebuilder:validation:Enum={"AvailabilitySet","VirtualMachineScaleSets"} type AgentPoolType string @@ -2733,7 +2728,6 @@ var agentPoolType_Values = map[string]AgentPoolType{ "virtualmachinescalesets": AgentPoolType_VirtualMachineScaleSets, } -// The type of Agent Pool. type AgentPoolType_STATUS string const ( @@ -2747,12 +2741,7 @@ var agentPoolType_STATUS_Values = map[string]AgentPoolType_STATUS{ "virtualmachinescalesets": AgentPoolType_STATUS_VirtualMachineScaleSets, } -// Settings for upgrading an agentpool type AgentPoolUpgradeSettings struct { - // MaxSurge: This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it - // is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded - // up. If not specified, the default is 1. For more information, including best practices, see: - // https://docs.microsoft.com/azure/aks/upgrade-cluster#customize-node-surge-upgrade MaxSurge *string `json:"maxSurge,omitempty"` } @@ -2824,12 +2813,7 @@ func (settings *AgentPoolUpgradeSettings) AssignProperties_To_AgentPoolUpgradeSe return nil } -// Settings for upgrading an agentpool type AgentPoolUpgradeSettings_STATUS struct { - // MaxSurge: This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it - // is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded - // up. If not specified, the default is 1. For more information, including best practices, see: - // https://docs.microsoft.com/azure/aks/upgrade-cluster#customize-node-surge-upgrade MaxSurge *string `json:"maxSurge,omitempty"` } @@ -2890,7 +2874,6 @@ func (settings *AgentPoolUpgradeSettings_STATUS) AssignProperties_To_AgentPoolUp // +kubebuilder:validation:Minimum=0 type ContainerServiceOSDisk int -// GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU. // +kubebuilder:validation:Enum={"MIG1g","MIG2g","MIG3g","MIG4g","MIG7g"} type GPUInstanceProfile string @@ -2911,7 +2894,6 @@ var gPUInstanceProfile_Values = map[string]GPUInstanceProfile{ "mig7g": GPUInstanceProfile_MIG7G, } -// GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU. type GPUInstanceProfile_STATUS string const ( @@ -2931,46 +2913,19 @@ var gPUInstanceProfile_STATUS_Values = map[string]GPUInstanceProfile_STATUS{ "mig7g": GPUInstanceProfile_STATUS_MIG7G, } -// See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. type KubeletConfig struct { - // AllowedUnsafeSysctls: Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in `*`). AllowedUnsafeSysctls []string `json:"allowedUnsafeSysctls,omitempty"` // +kubebuilder:validation:Minimum=2 - // ContainerLogMaxFiles: The maximum number of container log files that can be present for a container. The number must be - // ≥ 2. - ContainerLogMaxFiles *int `json:"containerLogMaxFiles,omitempty"` - - // ContainerLogMaxSizeMB: The maximum size (e.g. 10Mi) of container log file before it is rotated. - ContainerLogMaxSizeMB *int `json:"containerLogMaxSizeMB,omitempty"` - - // CpuCfsQuota: The default is true. - CpuCfsQuota *bool `json:"cpuCfsQuota,omitempty"` - - // CpuCfsQuotaPeriod: The default is '100ms.' Valid values are a sequence of decimal numbers with an optional fraction and - // a unit suffix. For example: '300ms', '2h45m'. Supported units are 'ns', 'us', 'ms', 's', 'm', and 'h'. - CpuCfsQuotaPeriod *string `json:"cpuCfsQuotaPeriod,omitempty"` - - // CpuManagerPolicy: The default is 'none'. See [Kubernetes CPU management - // policies](https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/#cpu-management-policies) for more - // information. Allowed values are 'none' and 'static'. - CpuManagerPolicy *string `json:"cpuManagerPolicy,omitempty"` - - // FailSwapOn: If set to true it will make the Kubelet fail to start if swap is enabled on the node. - FailSwapOn *bool `json:"failSwapOn,omitempty"` - - // ImageGcHighThreshold: To disable image garbage collection, set to 100. The default is 85% - ImageGcHighThreshold *int `json:"imageGcHighThreshold,omitempty"` - - // ImageGcLowThreshold: This cannot be set higher than imageGcHighThreshold. The default is 80% - ImageGcLowThreshold *int `json:"imageGcLowThreshold,omitempty"` - - // PodMaxPids: The maximum number of processes per pod. - PodMaxPids *int `json:"podMaxPids,omitempty"` - - // TopologyManagerPolicy: For more information see [Kubernetes Topology - // Manager](https://kubernetes.io/docs/tasks/administer-cluster/topology-manager). The default is 'none'. Allowed values - // are 'none', 'best-effort', 'restricted', and 'single-numa-node'. + ContainerLogMaxFiles *int `json:"containerLogMaxFiles,omitempty"` + ContainerLogMaxSizeMB *int `json:"containerLogMaxSizeMB,omitempty"` + CpuCfsQuota *bool `json:"cpuCfsQuota,omitempty"` + CpuCfsQuotaPeriod *string `json:"cpuCfsQuotaPeriod,omitempty"` + CpuManagerPolicy *string `json:"cpuManagerPolicy,omitempty"` + FailSwapOn *bool `json:"failSwapOn,omitempty"` + ImageGcHighThreshold *int `json:"imageGcHighThreshold,omitempty"` + ImageGcLowThreshold *int `json:"imageGcLowThreshold,omitempty"` + PodMaxPids *int `json:"podMaxPids,omitempty"` TopologyManagerPolicy *string `json:"topologyManagerPolicy,omitempty"` } @@ -3250,46 +3205,18 @@ func (config *KubeletConfig) AssignProperties_To_KubeletConfig(destination *stor return nil } -// See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. type KubeletConfig_STATUS struct { - // AllowedUnsafeSysctls: Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in `*`). - AllowedUnsafeSysctls []string `json:"allowedUnsafeSysctls,omitempty"` - - // ContainerLogMaxFiles: The maximum number of container log files that can be present for a container. The number must be - // ≥ 2. - ContainerLogMaxFiles *int `json:"containerLogMaxFiles,omitempty"` - - // ContainerLogMaxSizeMB: The maximum size (e.g. 10Mi) of container log file before it is rotated. - ContainerLogMaxSizeMB *int `json:"containerLogMaxSizeMB,omitempty"` - - // CpuCfsQuota: The default is true. - CpuCfsQuota *bool `json:"cpuCfsQuota,omitempty"` - - // CpuCfsQuotaPeriod: The default is '100ms.' Valid values are a sequence of decimal numbers with an optional fraction and - // a unit suffix. For example: '300ms', '2h45m'. Supported units are 'ns', 'us', 'ms', 's', 'm', and 'h'. - CpuCfsQuotaPeriod *string `json:"cpuCfsQuotaPeriod,omitempty"` - - // CpuManagerPolicy: The default is 'none'. See [Kubernetes CPU management - // policies](https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/#cpu-management-policies) for more - // information. Allowed values are 'none' and 'static'. - CpuManagerPolicy *string `json:"cpuManagerPolicy,omitempty"` - - // FailSwapOn: If set to true it will make the Kubelet fail to start if swap is enabled on the node. - FailSwapOn *bool `json:"failSwapOn,omitempty"` - - // ImageGcHighThreshold: To disable image garbage collection, set to 100. The default is 85% - ImageGcHighThreshold *int `json:"imageGcHighThreshold,omitempty"` - - // ImageGcLowThreshold: This cannot be set higher than imageGcHighThreshold. The default is 80% - ImageGcLowThreshold *int `json:"imageGcLowThreshold,omitempty"` - - // PodMaxPids: The maximum number of processes per pod. - PodMaxPids *int `json:"podMaxPids,omitempty"` - - // TopologyManagerPolicy: For more information see [Kubernetes Topology - // Manager](https://kubernetes.io/docs/tasks/administer-cluster/topology-manager). The default is 'none'. Allowed values - // are 'none', 'best-effort', 'restricted', and 'single-numa-node'. - TopologyManagerPolicy *string `json:"topologyManagerPolicy,omitempty"` + AllowedUnsafeSysctls []string `json:"allowedUnsafeSysctls,omitempty"` + ContainerLogMaxFiles *int `json:"containerLogMaxFiles,omitempty"` + ContainerLogMaxSizeMB *int `json:"containerLogMaxSizeMB,omitempty"` + CpuCfsQuota *bool `json:"cpuCfsQuota,omitempty"` + CpuCfsQuotaPeriod *string `json:"cpuCfsQuotaPeriod,omitempty"` + CpuManagerPolicy *string `json:"cpuManagerPolicy,omitempty"` + FailSwapOn *bool `json:"failSwapOn,omitempty"` + ImageGcHighThreshold *int `json:"imageGcHighThreshold,omitempty"` + ImageGcLowThreshold *int `json:"imageGcLowThreshold,omitempty"` + PodMaxPids *int `json:"podMaxPids,omitempty"` + TopologyManagerPolicy *string `json:"topologyManagerPolicy,omitempty"` } var _ genruntime.FromARMConverter = &KubeletConfig_STATUS{} @@ -3484,7 +3411,6 @@ func (config *KubeletConfig_STATUS) AssignProperties_To_KubeletConfig_STATUS(des return nil } -// Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage. // +kubebuilder:validation:Enum={"OS","Temporary"} type KubeletDiskType string @@ -3499,7 +3425,6 @@ var kubeletDiskType_Values = map[string]KubeletDiskType{ "temporary": KubeletDiskType_Temporary, } -// Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage. type KubeletDiskType_STATUS string const ( @@ -3513,23 +3438,11 @@ var kubeletDiskType_STATUS_Values = map[string]KubeletDiskType_STATUS{ "temporary": KubeletDiskType_STATUS_Temporary, } -// See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. type LinuxOSConfig struct { - // SwapFileSizeMB: The size in MB of a swap file that will be created on each node. - SwapFileSizeMB *int `json:"swapFileSizeMB,omitempty"` - - // Sysctls: Sysctl settings for Linux agent nodes. - Sysctls *SysctlConfig `json:"sysctls,omitempty"` - - // TransparentHugePageDefrag: Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is - // 'madvise'. For more information see [Transparent - // Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). - TransparentHugePageDefrag *string `json:"transparentHugePageDefrag,omitempty"` - - // TransparentHugePageEnabled: Valid values are 'always', 'madvise', and 'never'. The default is 'always'. For more - // information see [Transparent - // Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). - TransparentHugePageEnabled *string `json:"transparentHugePageEnabled,omitempty"` + SwapFileSizeMB *int `json:"swapFileSizeMB,omitempty"` + Sysctls *SysctlConfig `json:"sysctls,omitempty"` + TransparentHugePageDefrag *string `json:"transparentHugePageDefrag,omitempty"` + TransparentHugePageEnabled *string `json:"transparentHugePageEnabled,omitempty"` } var _ genruntime.ARMTransformer = &LinuxOSConfig{} @@ -3681,23 +3594,11 @@ func (config *LinuxOSConfig) AssignProperties_To_LinuxOSConfig(destination *stor return nil } -// See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. type LinuxOSConfig_STATUS struct { - // SwapFileSizeMB: The size in MB of a swap file that will be created on each node. - SwapFileSizeMB *int `json:"swapFileSizeMB,omitempty"` - - // Sysctls: Sysctl settings for Linux agent nodes. - Sysctls *SysctlConfig_STATUS `json:"sysctls,omitempty"` - - // TransparentHugePageDefrag: Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is - // 'madvise'. For more information see [Transparent - // Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). - TransparentHugePageDefrag *string `json:"transparentHugePageDefrag,omitempty"` - - // TransparentHugePageEnabled: Valid values are 'always', 'madvise', and 'never'. The default is 'always'. For more - // information see [Transparent - // Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). - TransparentHugePageEnabled *string `json:"transparentHugePageEnabled,omitempty"` + SwapFileSizeMB *int `json:"swapFileSizeMB,omitempty"` + Sysctls *SysctlConfig_STATUS `json:"sysctls,omitempty"` + TransparentHugePageDefrag *string `json:"transparentHugePageDefrag,omitempty"` + TransparentHugePageEnabled *string `json:"transparentHugePageEnabled,omitempty"` } var _ genruntime.FromARMConverter = &LinuxOSConfig_STATUS{} @@ -3812,9 +3713,6 @@ func (config *LinuxOSConfig_STATUS) AssignProperties_To_LinuxOSConfig_STATUS(des return nil } -// The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, -// defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral -// OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). // +kubebuilder:validation:Enum={"Ephemeral","Managed"} type OSDiskType string @@ -3829,9 +3727,6 @@ var oSDiskType_Values = map[string]OSDiskType{ "managed": OSDiskType_Managed, } -// The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, -// defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral -// OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). type OSDiskType_STATUS string const ( @@ -3845,7 +3740,6 @@ var oSDiskType_STATUS_Values = map[string]OSDiskType_STATUS{ "managed": OSDiskType_STATUS_Managed, } -// Specifies an OS SKU. This value must not be specified if OSType is Windows. // +kubebuilder:validation:Enum={"CBLMariner","Ubuntu"} type OSSKU string @@ -3860,7 +3754,6 @@ var oSSKU_Values = map[string]OSSKU{ "ubuntu": OSSKU_Ubuntu, } -// Specifies an OS SKU. This value must not be specified if OSType is Windows. type OSSKU_STATUS string const ( @@ -3874,7 +3767,6 @@ var oSSKU_STATUS_Values = map[string]OSSKU_STATUS{ "ubuntu": OSSKU_STATUS_Ubuntu, } -// The operating system type. The default is Linux. // +kubebuilder:validation:Enum={"Linux","Windows"} type OSType string @@ -3889,7 +3781,6 @@ var oSType_Values = map[string]OSType{ "windows": OSType_Windows, } -// The operating system type. The default is Linux. type OSType_STATUS string const ( @@ -3903,8 +3794,6 @@ var oSType_STATUS_Values = map[string]OSType_STATUS{ "windows": OSType_STATUS_Windows, } -// The eviction policy specifies what to do with the VM when it is evicted. The default is Delete. For more information -// about eviction see [spot VMs](https://docs.microsoft.com/azure/virtual-machines/spot-vms) // +kubebuilder:validation:Enum={"Deallocate","Delete"} type ScaleSetEvictionPolicy string @@ -3919,8 +3808,6 @@ var scaleSetEvictionPolicy_Values = map[string]ScaleSetEvictionPolicy{ "delete": ScaleSetEvictionPolicy_Delete, } -// The eviction policy specifies what to do with the VM when it is evicted. The default is Delete. For more information -// about eviction see [spot VMs](https://docs.microsoft.com/azure/virtual-machines/spot-vms) type ScaleSetEvictionPolicy_STATUS string const ( @@ -3934,7 +3821,6 @@ var scaleSetEvictionPolicy_STATUS_Values = map[string]ScaleSetEvictionPolicy_STA "delete": ScaleSetEvictionPolicy_STATUS_Delete, } -// The Virtual Machine Scale Set priority. // +kubebuilder:validation:Enum={"Regular","Spot"} type ScaleSetPriority string @@ -3949,7 +3835,6 @@ var scaleSetPriority_Values = map[string]ScaleSetPriority{ "spot": ScaleSetPriority_Spot, } -// The Virtual Machine Scale Set priority. type ScaleSetPriority_STATUS string const ( @@ -3963,91 +3848,35 @@ var scaleSetPriority_STATUS_Values = map[string]ScaleSetPriority_STATUS{ "spot": ScaleSetPriority_STATUS_Spot, } -// Sysctl settings for Linux agent nodes. type SysctlConfig struct { - // FsAioMaxNr: Sysctl setting fs.aio-max-nr. - FsAioMaxNr *int `json:"fsAioMaxNr,omitempty"` - - // FsFileMax: Sysctl setting fs.file-max. - FsFileMax *int `json:"fsFileMax,omitempty"` - - // FsInotifyMaxUserWatches: Sysctl setting fs.inotify.max_user_watches. - FsInotifyMaxUserWatches *int `json:"fsInotifyMaxUserWatches,omitempty"` - - // FsNrOpen: Sysctl setting fs.nr_open. - FsNrOpen *int `json:"fsNrOpen,omitempty"` - - // KernelThreadsMax: Sysctl setting kernel.threads-max. - KernelThreadsMax *int `json:"kernelThreadsMax,omitempty"` - - // NetCoreNetdevMaxBacklog: Sysctl setting net.core.netdev_max_backlog. - NetCoreNetdevMaxBacklog *int `json:"netCoreNetdevMaxBacklog,omitempty"` - - // NetCoreOptmemMax: Sysctl setting net.core.optmem_max. - NetCoreOptmemMax *int `json:"netCoreOptmemMax,omitempty"` - - // NetCoreRmemDefault: Sysctl setting net.core.rmem_default. - NetCoreRmemDefault *int `json:"netCoreRmemDefault,omitempty"` - - // NetCoreRmemMax: Sysctl setting net.core.rmem_max. - NetCoreRmemMax *int `json:"netCoreRmemMax,omitempty"` - - // NetCoreSomaxconn: Sysctl setting net.core.somaxconn. - NetCoreSomaxconn *int `json:"netCoreSomaxconn,omitempty"` - - // NetCoreWmemDefault: Sysctl setting net.core.wmem_default. - NetCoreWmemDefault *int `json:"netCoreWmemDefault,omitempty"` - - // NetCoreWmemMax: Sysctl setting net.core.wmem_max. - NetCoreWmemMax *int `json:"netCoreWmemMax,omitempty"` - - // NetIpv4IpLocalPortRange: Sysctl setting net.ipv4.ip_local_port_range. - NetIpv4IpLocalPortRange *string `json:"netIpv4IpLocalPortRange,omitempty"` - - // NetIpv4NeighDefaultGcThresh1: Sysctl setting net.ipv4.neigh.default.gc_thresh1. - NetIpv4NeighDefaultGcThresh1 *int `json:"netIpv4NeighDefaultGcThresh1,omitempty"` - - // NetIpv4NeighDefaultGcThresh2: Sysctl setting net.ipv4.neigh.default.gc_thresh2. - NetIpv4NeighDefaultGcThresh2 *int `json:"netIpv4NeighDefaultGcThresh2,omitempty"` - - // NetIpv4NeighDefaultGcThresh3: Sysctl setting net.ipv4.neigh.default.gc_thresh3. - NetIpv4NeighDefaultGcThresh3 *int `json:"netIpv4NeighDefaultGcThresh3,omitempty"` - - // NetIpv4TcpFinTimeout: Sysctl setting net.ipv4.tcp_fin_timeout. - NetIpv4TcpFinTimeout *int `json:"netIpv4TcpFinTimeout,omitempty"` - - // NetIpv4TcpKeepaliveProbes: Sysctl setting net.ipv4.tcp_keepalive_probes. - NetIpv4TcpKeepaliveProbes *int `json:"netIpv4TcpKeepaliveProbes,omitempty"` - - // NetIpv4TcpKeepaliveTime: Sysctl setting net.ipv4.tcp_keepalive_time. - NetIpv4TcpKeepaliveTime *int `json:"netIpv4TcpKeepaliveTime,omitempty"` - - // NetIpv4TcpMaxSynBacklog: Sysctl setting net.ipv4.tcp_max_syn_backlog. - NetIpv4TcpMaxSynBacklog *int `json:"netIpv4TcpMaxSynBacklog,omitempty"` - - // NetIpv4TcpMaxTwBuckets: Sysctl setting net.ipv4.tcp_max_tw_buckets. - NetIpv4TcpMaxTwBuckets *int `json:"netIpv4TcpMaxTwBuckets,omitempty"` - - // NetIpv4TcpTwReuse: Sysctl setting net.ipv4.tcp_tw_reuse. - NetIpv4TcpTwReuse *bool `json:"netIpv4TcpTwReuse,omitempty"` - - // NetIpv4TcpkeepaliveIntvl: Sysctl setting net.ipv4.tcp_keepalive_intvl. - NetIpv4TcpkeepaliveIntvl *int `json:"netIpv4TcpkeepaliveIntvl,omitempty"` - - // NetNetfilterNfConntrackBuckets: Sysctl setting net.netfilter.nf_conntrack_buckets. - NetNetfilterNfConntrackBuckets *int `json:"netNetfilterNfConntrackBuckets,omitempty"` - - // NetNetfilterNfConntrackMax: Sysctl setting net.netfilter.nf_conntrack_max. - NetNetfilterNfConntrackMax *int `json:"netNetfilterNfConntrackMax,omitempty"` - - // VmMaxMapCount: Sysctl setting vm.max_map_count. - VmMaxMapCount *int `json:"vmMaxMapCount,omitempty"` - - // VmSwappiness: Sysctl setting vm.swappiness. - VmSwappiness *int `json:"vmSwappiness,omitempty"` - - // VmVfsCachePressure: Sysctl setting vm.vfs_cache_pressure. - VmVfsCachePressure *int `json:"vmVfsCachePressure,omitempty"` + FsAioMaxNr *int `json:"fsAioMaxNr,omitempty"` + FsFileMax *int `json:"fsFileMax,omitempty"` + FsInotifyMaxUserWatches *int `json:"fsInotifyMaxUserWatches,omitempty"` + FsNrOpen *int `json:"fsNrOpen,omitempty"` + KernelThreadsMax *int `json:"kernelThreadsMax,omitempty"` + NetCoreNetdevMaxBacklog *int `json:"netCoreNetdevMaxBacklog,omitempty"` + NetCoreOptmemMax *int `json:"netCoreOptmemMax,omitempty"` + NetCoreRmemDefault *int `json:"netCoreRmemDefault,omitempty"` + NetCoreRmemMax *int `json:"netCoreRmemMax,omitempty"` + NetCoreSomaxconn *int `json:"netCoreSomaxconn,omitempty"` + NetCoreWmemDefault *int `json:"netCoreWmemDefault,omitempty"` + NetCoreWmemMax *int `json:"netCoreWmemMax,omitempty"` + NetIpv4IpLocalPortRange *string `json:"netIpv4IpLocalPortRange,omitempty"` + NetIpv4NeighDefaultGcThresh1 *int `json:"netIpv4NeighDefaultGcThresh1,omitempty"` + NetIpv4NeighDefaultGcThresh2 *int `json:"netIpv4NeighDefaultGcThresh2,omitempty"` + NetIpv4NeighDefaultGcThresh3 *int `json:"netIpv4NeighDefaultGcThresh3,omitempty"` + NetIpv4TcpFinTimeout *int `json:"netIpv4TcpFinTimeout,omitempty"` + NetIpv4TcpKeepaliveProbes *int `json:"netIpv4TcpKeepaliveProbes,omitempty"` + NetIpv4TcpKeepaliveTime *int `json:"netIpv4TcpKeepaliveTime,omitempty"` + NetIpv4TcpMaxSynBacklog *int `json:"netIpv4TcpMaxSynBacklog,omitempty"` + NetIpv4TcpMaxTwBuckets *int `json:"netIpv4TcpMaxTwBuckets,omitempty"` + NetIpv4TcpTwReuse *bool `json:"netIpv4TcpTwReuse,omitempty"` + NetIpv4TcpkeepaliveIntvl *int `json:"netIpv4TcpkeepaliveIntvl,omitempty"` + NetNetfilterNfConntrackBuckets *int `json:"netNetfilterNfConntrackBuckets,omitempty"` + NetNetfilterNfConntrackMax *int `json:"netNetfilterNfConntrackMax,omitempty"` + VmMaxMapCount *int `json:"vmMaxMapCount,omitempty"` + VmSwappiness *int `json:"vmSwappiness,omitempty"` + VmVfsCachePressure *int `json:"vmVfsCachePressure,omitempty"` } var _ genruntime.ARMTransformer = &SysctlConfig{} @@ -4614,91 +4443,35 @@ func (config *SysctlConfig) AssignProperties_To_SysctlConfig(destination *storag return nil } -// Sysctl settings for Linux agent nodes. type SysctlConfig_STATUS struct { - // FsAioMaxNr: Sysctl setting fs.aio-max-nr. - FsAioMaxNr *int `json:"fsAioMaxNr,omitempty"` - - // FsFileMax: Sysctl setting fs.file-max. - FsFileMax *int `json:"fsFileMax,omitempty"` - - // FsInotifyMaxUserWatches: Sysctl setting fs.inotify.max_user_watches. - FsInotifyMaxUserWatches *int `json:"fsInotifyMaxUserWatches,omitempty"` - - // FsNrOpen: Sysctl setting fs.nr_open. - FsNrOpen *int `json:"fsNrOpen,omitempty"` - - // KernelThreadsMax: Sysctl setting kernel.threads-max. - KernelThreadsMax *int `json:"kernelThreadsMax,omitempty"` - - // NetCoreNetdevMaxBacklog: Sysctl setting net.core.netdev_max_backlog. - NetCoreNetdevMaxBacklog *int `json:"netCoreNetdevMaxBacklog,omitempty"` - - // NetCoreOptmemMax: Sysctl setting net.core.optmem_max. - NetCoreOptmemMax *int `json:"netCoreOptmemMax,omitempty"` - - // NetCoreRmemDefault: Sysctl setting net.core.rmem_default. - NetCoreRmemDefault *int `json:"netCoreRmemDefault,omitempty"` - - // NetCoreRmemMax: Sysctl setting net.core.rmem_max. - NetCoreRmemMax *int `json:"netCoreRmemMax,omitempty"` - - // NetCoreSomaxconn: Sysctl setting net.core.somaxconn. - NetCoreSomaxconn *int `json:"netCoreSomaxconn,omitempty"` - - // NetCoreWmemDefault: Sysctl setting net.core.wmem_default. - NetCoreWmemDefault *int `json:"netCoreWmemDefault,omitempty"` - - // NetCoreWmemMax: Sysctl setting net.core.wmem_max. - NetCoreWmemMax *int `json:"netCoreWmemMax,omitempty"` - - // NetIpv4IpLocalPortRange: Sysctl setting net.ipv4.ip_local_port_range. - NetIpv4IpLocalPortRange *string `json:"netIpv4IpLocalPortRange,omitempty"` - - // NetIpv4NeighDefaultGcThresh1: Sysctl setting net.ipv4.neigh.default.gc_thresh1. - NetIpv4NeighDefaultGcThresh1 *int `json:"netIpv4NeighDefaultGcThresh1,omitempty"` - - // NetIpv4NeighDefaultGcThresh2: Sysctl setting net.ipv4.neigh.default.gc_thresh2. - NetIpv4NeighDefaultGcThresh2 *int `json:"netIpv4NeighDefaultGcThresh2,omitempty"` - - // NetIpv4NeighDefaultGcThresh3: Sysctl setting net.ipv4.neigh.default.gc_thresh3. - NetIpv4NeighDefaultGcThresh3 *int `json:"netIpv4NeighDefaultGcThresh3,omitempty"` - - // NetIpv4TcpFinTimeout: Sysctl setting net.ipv4.tcp_fin_timeout. - NetIpv4TcpFinTimeout *int `json:"netIpv4TcpFinTimeout,omitempty"` - - // NetIpv4TcpKeepaliveProbes: Sysctl setting net.ipv4.tcp_keepalive_probes. - NetIpv4TcpKeepaliveProbes *int `json:"netIpv4TcpKeepaliveProbes,omitempty"` - - // NetIpv4TcpKeepaliveTime: Sysctl setting net.ipv4.tcp_keepalive_time. - NetIpv4TcpKeepaliveTime *int `json:"netIpv4TcpKeepaliveTime,omitempty"` - - // NetIpv4TcpMaxSynBacklog: Sysctl setting net.ipv4.tcp_max_syn_backlog. - NetIpv4TcpMaxSynBacklog *int `json:"netIpv4TcpMaxSynBacklog,omitempty"` - - // NetIpv4TcpMaxTwBuckets: Sysctl setting net.ipv4.tcp_max_tw_buckets. - NetIpv4TcpMaxTwBuckets *int `json:"netIpv4TcpMaxTwBuckets,omitempty"` - - // NetIpv4TcpTwReuse: Sysctl setting net.ipv4.tcp_tw_reuse. - NetIpv4TcpTwReuse *bool `json:"netIpv4TcpTwReuse,omitempty"` - - // NetIpv4TcpkeepaliveIntvl: Sysctl setting net.ipv4.tcp_keepalive_intvl. - NetIpv4TcpkeepaliveIntvl *int `json:"netIpv4TcpkeepaliveIntvl,omitempty"` - - // NetNetfilterNfConntrackBuckets: Sysctl setting net.netfilter.nf_conntrack_buckets. - NetNetfilterNfConntrackBuckets *int `json:"netNetfilterNfConntrackBuckets,omitempty"` - - // NetNetfilterNfConntrackMax: Sysctl setting net.netfilter.nf_conntrack_max. - NetNetfilterNfConntrackMax *int `json:"netNetfilterNfConntrackMax,omitempty"` - - // VmMaxMapCount: Sysctl setting vm.max_map_count. - VmMaxMapCount *int `json:"vmMaxMapCount,omitempty"` - - // VmSwappiness: Sysctl setting vm.swappiness. - VmSwappiness *int `json:"vmSwappiness,omitempty"` - - // VmVfsCachePressure: Sysctl setting vm.vfs_cache_pressure. - VmVfsCachePressure *int `json:"vmVfsCachePressure,omitempty"` + FsAioMaxNr *int `json:"fsAioMaxNr,omitempty"` + FsFileMax *int `json:"fsFileMax,omitempty"` + FsInotifyMaxUserWatches *int `json:"fsInotifyMaxUserWatches,omitempty"` + FsNrOpen *int `json:"fsNrOpen,omitempty"` + KernelThreadsMax *int `json:"kernelThreadsMax,omitempty"` + NetCoreNetdevMaxBacklog *int `json:"netCoreNetdevMaxBacklog,omitempty"` + NetCoreOptmemMax *int `json:"netCoreOptmemMax,omitempty"` + NetCoreRmemDefault *int `json:"netCoreRmemDefault,omitempty"` + NetCoreRmemMax *int `json:"netCoreRmemMax,omitempty"` + NetCoreSomaxconn *int `json:"netCoreSomaxconn,omitempty"` + NetCoreWmemDefault *int `json:"netCoreWmemDefault,omitempty"` + NetCoreWmemMax *int `json:"netCoreWmemMax,omitempty"` + NetIpv4IpLocalPortRange *string `json:"netIpv4IpLocalPortRange,omitempty"` + NetIpv4NeighDefaultGcThresh1 *int `json:"netIpv4NeighDefaultGcThresh1,omitempty"` + NetIpv4NeighDefaultGcThresh2 *int `json:"netIpv4NeighDefaultGcThresh2,omitempty"` + NetIpv4NeighDefaultGcThresh3 *int `json:"netIpv4NeighDefaultGcThresh3,omitempty"` + NetIpv4TcpFinTimeout *int `json:"netIpv4TcpFinTimeout,omitempty"` + NetIpv4TcpKeepaliveProbes *int `json:"netIpv4TcpKeepaliveProbes,omitempty"` + NetIpv4TcpKeepaliveTime *int `json:"netIpv4TcpKeepaliveTime,omitempty"` + NetIpv4TcpMaxSynBacklog *int `json:"netIpv4TcpMaxSynBacklog,omitempty"` + NetIpv4TcpMaxTwBuckets *int `json:"netIpv4TcpMaxTwBuckets,omitempty"` + NetIpv4TcpTwReuse *bool `json:"netIpv4TcpTwReuse,omitempty"` + NetIpv4TcpkeepaliveIntvl *int `json:"netIpv4TcpkeepaliveIntvl,omitempty"` + NetNetfilterNfConntrackBuckets *int `json:"netNetfilterNfConntrackBuckets,omitempty"` + NetNetfilterNfConntrackMax *int `json:"netNetfilterNfConntrackMax,omitempty"` + VmMaxMapCount *int `json:"vmMaxMapCount,omitempty"` + VmSwappiness *int `json:"vmSwappiness,omitempty"` + VmVfsCachePressure *int `json:"vmVfsCachePressure,omitempty"` } var _ genruntime.FromARMConverter = &SysctlConfig_STATUS{} diff --git a/v2/api/containerservice/v1api20210501/managed_clusters_agent_pool_types_gen_test.go b/v2/api/containerservice/v1api20210501/managed_clusters_agent_pool_types_gen_test.go index 805c9f1d866..82b1537f4fd 100644 --- a/v2/api/containerservice/v1api20210501/managed_clusters_agent_pool_types_gen_test.go +++ b/v2/api/containerservice/v1api20210501/managed_clusters_agent_pool_types_gen_test.go @@ -6,7 +6,7 @@ package v1api20210501 import ( "encoding/json" v20210501s "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20210501/storage" - v20231001s "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20231001/storage" + v20240901s "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20240901/storage" "github.com/google/go-cmp/cmp" "github.com/google/go-cmp/cmp/cmpopts" "github.com/kr/pretty" @@ -705,7 +705,7 @@ func RunResourceConversionTestForManagedClustersAgentPool(subject ManagedCluster copied := subject.DeepCopy() // Convert to our hub version - var hub v20231001s.ManagedClustersAgentPool + var hub v20240901s.ManagedClustersAgentPool err := copied.ConvertTo(&hub) if err != nil { return err.Error() diff --git a/v2/api/containerservice/v1api20210501/storage/managed_cluster_types_gen.go b/v2/api/containerservice/v1api20210501/storage/managed_cluster_types_gen.go index 51ee87640c2..70d9350e125 100644 --- a/v2/api/containerservice/v1api20210501/storage/managed_cluster_types_gen.go +++ b/v2/api/containerservice/v1api20210501/storage/managed_cluster_types_gen.go @@ -20,9 +20,6 @@ import ( // +kubebuilder:printcolumn:name="Reason",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].reason" // +kubebuilder:printcolumn:name="Message",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].message" // Storage version of v1api20210501.ManagedCluster -// Generator information: -// - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2021-05-01/managedClusters.json -// - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName} type ManagedCluster struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` @@ -230,9 +227,6 @@ func (cluster *ManagedCluster) OriginalGVK() *schema.GroupVersionKind { // +kubebuilder:object:root=true // Storage version of v1api20210501.ManagedCluster -// Generator information: -// - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2021-05-01/managedClusters.json -// - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName} type ManagedClusterList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` @@ -261,11 +255,8 @@ type ManagedCluster_Spec struct { // AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it // doesn't have to be. - AzureName string `json:"azureName,omitempty"` - DisableLocalAccounts *bool `json:"disableLocalAccounts,omitempty"` - - // DiskEncryptionSetIDReference: This is of the form: - // '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}' + AzureName string `json:"azureName,omitempty"` + DisableLocalAccounts *bool `json:"disableLocalAccounts,omitempty"` DiskEncryptionSetIDReference *genruntime.ResourceReference `armReference:"DiskEncryptionSetID" json:"diskEncryptionSetIDReference,omitempty"` DnsPrefix *string `json:"dnsPrefix,omitempty"` EnablePodSecurityPolicy *bool `json:"enablePodSecurityPolicy,omitempty"` @@ -1150,7 +1141,6 @@ func (cluster *ManagedCluster_Spec) AssignProperties_To_ManagedCluster_Spec(dest } // Storage version of v1api20210501.ManagedCluster_STATUS -// Managed cluster. type ManagedCluster_STATUS struct { AadProfile *ManagedClusterAADProfile_STATUS `json:"aadProfile,omitempty"` AddonProfiles map[string]ManagedClusterAddonProfile_STATUS `json:"addonProfiles,omitempty"` @@ -2087,7 +2077,6 @@ type augmentConversionForManagedCluster_STATUS interface { } // Storage version of v1api20210501.ContainerServiceLinuxProfile -// Profile for Linux VMs in the container service cluster. type ContainerServiceLinuxProfile struct { AdminUsername *string `json:"adminUsername,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` @@ -2175,7 +2164,6 @@ func (profile *ContainerServiceLinuxProfile) AssignProperties_To_ContainerServic } // Storage version of v1api20210501.ContainerServiceLinuxProfile_STATUS -// Profile for Linux VMs in the container service cluster. type ContainerServiceLinuxProfile_STATUS struct { AdminUsername *string `json:"adminUsername,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` @@ -2263,7 +2251,6 @@ func (profile *ContainerServiceLinuxProfile_STATUS) AssignProperties_To_Containe } // Storage version of v1api20210501.ContainerServiceNetworkProfile -// Profile of network configuration. type ContainerServiceNetworkProfile struct { DnsServiceIP *string `json:"dnsServiceIP,omitempty"` DockerBridgeCidr *string `json:"dockerBridgeCidr,omitempty"` @@ -2527,7 +2514,6 @@ func (profile *ContainerServiceNetworkProfile) AssignProperties_To_ContainerServ } // Storage version of v1api20210501.ContainerServiceNetworkProfile_STATUS -// Profile of network configuration. type ContainerServiceNetworkProfile_STATUS struct { DnsServiceIP *string `json:"dnsServiceIP,omitempty"` DockerBridgeCidr *string `json:"dockerBridgeCidr,omitempty"` @@ -2791,7 +2777,6 @@ func (profile *ContainerServiceNetworkProfile_STATUS) AssignProperties_To_Contai } // Storage version of v1api20210501.ExtendedLocation -// The complex type of the extended location. type ExtendedLocation struct { Name *string `json:"name,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` @@ -2861,7 +2846,6 @@ func (location *ExtendedLocation) AssignProperties_To_ExtendedLocation(destinati } // Storage version of v1api20210501.ExtendedLocation_STATUS -// The complex type of the extended location. type ExtendedLocation_STATUS struct { Name *string `json:"name,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` @@ -2931,7 +2915,6 @@ func (location *ExtendedLocation_STATUS) AssignProperties_To_ExtendedLocation_ST } // Storage version of v1api20210501.ManagedClusterAADProfile -// For more details see [managed AAD on AKS](https://docs.microsoft.com/azure/aks/managed-aad). type ManagedClusterAADProfile struct { AdminGroupObjectIDs []string `json:"adminGroupObjectIDs,omitempty"` ClientAppID *string `json:"clientAppID,omitempty"` @@ -3056,7 +3039,6 @@ func (profile *ManagedClusterAADProfile) AssignProperties_To_ManagedClusterAADPr } // Storage version of v1api20210501.ManagedClusterAADProfile_STATUS -// For more details see [managed AAD on AKS](https://docs.microsoft.com/azure/aks/managed-aad). type ManagedClusterAADProfile_STATUS struct { AdminGroupObjectIDs []string `json:"adminGroupObjectIDs,omitempty"` ClientAppID *string `json:"clientAppID,omitempty"` @@ -3181,7 +3163,6 @@ func (profile *ManagedClusterAADProfile_STATUS) AssignProperties_To_ManagedClust } // Storage version of v1api20210501.ManagedClusterAddonProfile -// A Kubernetes add-on profile for a managed cluster. type ManagedClusterAddonProfile struct { Config map[string]string `json:"config,omitempty"` Enabled *bool `json:"enabled,omitempty"` @@ -3261,7 +3242,6 @@ func (profile *ManagedClusterAddonProfile) AssignProperties_To_ManagedClusterAdd } // Storage version of v1api20210501.ManagedClusterAddonProfile_STATUS -// A Kubernetes add-on profile for a managed cluster. type ManagedClusterAddonProfile_STATUS struct { Config map[string]string `json:"config,omitempty"` Enabled *bool `json:"enabled,omitempty"` @@ -3366,28 +3346,24 @@ func (profile *ManagedClusterAddonProfile_STATUS) AssignProperties_To_ManagedClu } // Storage version of v1api20210501.ManagedClusterAgentPoolProfile -// Profile for the container service agent pool. type ManagedClusterAgentPoolProfile struct { - AvailabilityZones []string `json:"availabilityZones,omitempty"` - Count *int `json:"count,omitempty"` - EnableAutoScaling *bool `json:"enableAutoScaling,omitempty"` - EnableEncryptionAtHost *bool `json:"enableEncryptionAtHost,omitempty"` - EnableFIPS *bool `json:"enableFIPS,omitempty"` - EnableNodePublicIP *bool `json:"enableNodePublicIP,omitempty"` - EnableUltraSSD *bool `json:"enableUltraSSD,omitempty"` - GpuInstanceProfile *string `json:"gpuInstanceProfile,omitempty"` - KubeletConfig *KubeletConfig `json:"kubeletConfig,omitempty"` - KubeletDiskType *string `json:"kubeletDiskType,omitempty"` - LinuxOSConfig *LinuxOSConfig `json:"linuxOSConfig,omitempty"` - MaxCount *int `json:"maxCount,omitempty"` - MaxPods *int `json:"maxPods,omitempty"` - MinCount *int `json:"minCount,omitempty"` - Mode *string `json:"mode,omitempty"` - Name *string `json:"name,omitempty"` - NodeLabels map[string]string `json:"nodeLabels,omitempty" serializationType:"explicitEmptyCollection"` - - // NodePublicIPPrefixIDReference: This is of the form: - // /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} + AvailabilityZones []string `json:"availabilityZones,omitempty"` + Count *int `json:"count,omitempty"` + EnableAutoScaling *bool `json:"enableAutoScaling,omitempty"` + EnableEncryptionAtHost *bool `json:"enableEncryptionAtHost,omitempty"` + EnableFIPS *bool `json:"enableFIPS,omitempty"` + EnableNodePublicIP *bool `json:"enableNodePublicIP,omitempty"` + EnableUltraSSD *bool `json:"enableUltraSSD,omitempty"` + GpuInstanceProfile *string `json:"gpuInstanceProfile,omitempty"` + KubeletConfig *KubeletConfig `json:"kubeletConfig,omitempty"` + KubeletDiskType *string `json:"kubeletDiskType,omitempty"` + LinuxOSConfig *LinuxOSConfig `json:"linuxOSConfig,omitempty"` + MaxCount *int `json:"maxCount,omitempty"` + MaxPods *int `json:"maxPods,omitempty"` + MinCount *int `json:"minCount,omitempty"` + Mode *string `json:"mode,omitempty"` + Name *string `json:"name,omitempty"` + NodeLabels map[string]string `json:"nodeLabels,omitempty" serializationType:"explicitEmptyCollection"` NodePublicIPPrefixIDReference *genruntime.ResourceReference `armReference:"NodePublicIPPrefixID" json:"nodePublicIPPrefixIDReference,omitempty"` NodeTaints []string `json:"nodeTaints,omitempty" serializationType:"explicitEmptyCollection"` OrchestratorVersion *string `json:"orchestratorVersion,omitempty"` @@ -3395,25 +3371,17 @@ type ManagedClusterAgentPoolProfile struct { OsDiskType *string `json:"osDiskType,omitempty"` OsSKU *string `json:"osSKU,omitempty"` OsType *string `json:"osType,omitempty"` - - // PodSubnetIDReference: If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more - // details). This is of the form: - // /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} - PodSubnetIDReference *genruntime.ResourceReference `armReference:"PodSubnetID" json:"podSubnetIDReference,omitempty"` - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` - ProximityPlacementGroupID *string `json:"proximityPlacementGroupID,omitempty"` - ScaleSetEvictionPolicy *string `json:"scaleSetEvictionPolicy,omitempty"` - ScaleSetPriority *string `json:"scaleSetPriority,omitempty"` - SpotMaxPrice *float64 `json:"spotMaxPrice,omitempty"` - Tags map[string]string `json:"tags,omitempty" serializationType:"explicitEmptyCollection"` - Type *string `json:"type,omitempty"` - UpgradeSettings *AgentPoolUpgradeSettings `json:"upgradeSettings,omitempty"` - VmSize *string `json:"vmSize,omitempty"` - - // VnetSubnetIDReference: If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is - // specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: - // /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} - VnetSubnetIDReference *genruntime.ResourceReference `armReference:"VnetSubnetID" json:"vnetSubnetIDReference,omitempty"` + PodSubnetIDReference *genruntime.ResourceReference `armReference:"PodSubnetID" json:"podSubnetIDReference,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + ProximityPlacementGroupID *string `json:"proximityPlacementGroupID,omitempty"` + ScaleSetEvictionPolicy *string `json:"scaleSetEvictionPolicy,omitempty"` + ScaleSetPriority *string `json:"scaleSetPriority,omitempty"` + SpotMaxPrice *float64 `json:"spotMaxPrice,omitempty"` + Tags map[string]string `json:"tags,omitempty" serializationType:"explicitEmptyCollection"` + Type *string `json:"type,omitempty"` + UpgradeSettings *AgentPoolUpgradeSettings `json:"upgradeSettings,omitempty"` + VmSize *string `json:"vmSize,omitempty"` + VnetSubnetIDReference *genruntime.ResourceReference `armReference:"VnetSubnetID" json:"vnetSubnetIDReference,omitempty"` } // AssignProperties_From_ManagedClusterAgentPoolProfile populates our ManagedClusterAgentPoolProfile from the provided source ManagedClusterAgentPoolProfile @@ -4021,7 +3989,6 @@ func (profile *ManagedClusterAgentPoolProfile) AssignProperties_To_ManagedCluste } // Storage version of v1api20210501.ManagedClusterAgentPoolProfile_STATUS -// Profile for the container service agent pool. type ManagedClusterAgentPoolProfile_STATUS struct { AvailabilityZones []string `json:"availabilityZones,omitempty"` Count *int `json:"count,omitempty"` @@ -4568,7 +4535,6 @@ func (profile *ManagedClusterAgentPoolProfile_STATUS) AssignProperties_To_Manage } // Storage version of v1api20210501.ManagedClusterAPIServerAccessProfile -// Access profile for managed cluster API server. type ManagedClusterAPIServerAccessProfile struct { AuthorizedIPRanges []string `json:"authorizedIPRanges,omitempty"` EnablePrivateCluster *bool `json:"enablePrivateCluster,omitempty"` @@ -4692,7 +4658,6 @@ func (profile *ManagedClusterAPIServerAccessProfile) AssignProperties_To_Managed } // Storage version of v1api20210501.ManagedClusterAPIServerAccessProfile_STATUS -// Access profile for managed cluster API server. type ManagedClusterAPIServerAccessProfile_STATUS struct { AuthorizedIPRanges []string `json:"authorizedIPRanges,omitempty"` EnablePrivateCluster *bool `json:"enablePrivateCluster,omitempty"` @@ -4816,7 +4781,6 @@ func (profile *ManagedClusterAPIServerAccessProfile_STATUS) AssignProperties_To_ } // Storage version of v1api20210501.ManagedClusterAutoUpgradeProfile -// Auto upgrade profile for a managed cluster. type ManagedClusterAutoUpgradeProfile struct { PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` UpgradeChannel *string `json:"upgradeChannel,omitempty"` @@ -4879,7 +4843,6 @@ func (profile *ManagedClusterAutoUpgradeProfile) AssignProperties_To_ManagedClus } // Storage version of v1api20210501.ManagedClusterAutoUpgradeProfile_STATUS -// Auto upgrade profile for a managed cluster. type ManagedClusterAutoUpgradeProfile_STATUS struct { PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` UpgradeChannel *string `json:"upgradeChannel,omitempty"` @@ -4942,7 +4905,6 @@ func (profile *ManagedClusterAutoUpgradeProfile_STATUS) AssignProperties_To_Mana } // Storage version of v1api20210501.ManagedClusterHTTPProxyConfig -// Cluster HTTP proxy configuration. type ManagedClusterHTTPProxyConfig struct { HttpProxy *string `json:"httpProxy,omitempty"` HttpsProxy *string `json:"httpsProxy,omitempty"` @@ -5026,7 +4988,6 @@ func (config *ManagedClusterHTTPProxyConfig) AssignProperties_To_ManagedClusterH } // Storage version of v1api20210501.ManagedClusterHTTPProxyConfig_STATUS -// Cluster HTTP proxy configuration. type ManagedClusterHTTPProxyConfig_STATUS struct { HttpProxy *string `json:"httpProxy,omitempty"` HttpsProxy *string `json:"httpsProxy,omitempty"` @@ -5110,7 +5071,6 @@ func (config *ManagedClusterHTTPProxyConfig_STATUS) AssignProperties_To_ManagedC } // Storage version of v1api20210501.ManagedClusterIdentity -// Identity for the managed cluster. type ManagedClusterIdentity struct { PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` Type *string `json:"type,omitempty"` @@ -5210,7 +5170,6 @@ func (identity *ManagedClusterIdentity) AssignProperties_To_ManagedClusterIdenti } // Storage version of v1api20210501.ManagedClusterIdentity_STATUS -// Identity for the managed cluster. type ManagedClusterIdentity_STATUS struct { PrincipalId *string `json:"principalId,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` @@ -5425,8 +5384,6 @@ func (operator *ManagedClusterOperatorSpec) AssignProperties_To_ManagedClusterOp } // Storage version of v1api20210501.ManagedClusterPodIdentityProfile -// See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on pod -// identity integration. type ManagedClusterPodIdentityProfile struct { AllowNetworkPluginKubenet *bool `json:"allowNetworkPluginKubenet,omitempty"` Enabled *bool `json:"enabled,omitempty"` @@ -5590,8 +5547,6 @@ func (profile *ManagedClusterPodIdentityProfile) AssignProperties_To_ManagedClus } // Storage version of v1api20210501.ManagedClusterPodIdentityProfile_STATUS -// See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on pod -// identity integration. type ManagedClusterPodIdentityProfile_STATUS struct { AllowNetworkPluginKubenet *bool `json:"allowNetworkPluginKubenet,omitempty"` Enabled *bool `json:"enabled,omitempty"` @@ -6103,7 +6058,6 @@ func (profile *ManagedClusterProperties_AutoScalerProfile_STATUS) AssignProperti } // Storage version of v1api20210501.ManagedClusterServicePrincipalProfile -// Information about a service principal identity for the cluster to use for manipulating Azure APIs. type ManagedClusterServicePrincipalProfile struct { ClientId *string `json:"clientId,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` @@ -6183,7 +6137,6 @@ func (profile *ManagedClusterServicePrincipalProfile) AssignProperties_To_Manage } // Storage version of v1api20210501.ManagedClusterServicePrincipalProfile_STATUS -// Information about a service principal identity for the cluster to use for manipulating Azure APIs. type ManagedClusterServicePrincipalProfile_STATUS struct { ClientId *string `json:"clientId,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` @@ -6246,7 +6199,6 @@ func (profile *ManagedClusterServicePrincipalProfile_STATUS) AssignProperties_To } // Storage version of v1api20210501.ManagedClusterSKU -// The SKU of a Managed Cluster. type ManagedClusterSKU struct { Name *string `json:"name,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` @@ -6316,7 +6268,6 @@ func (clusterSKU *ManagedClusterSKU) AssignProperties_To_ManagedClusterSKU(desti } // Storage version of v1api20210501.ManagedClusterSKU_STATUS -// The SKU of a Managed Cluster. type ManagedClusterSKU_STATUS struct { Name *string `json:"name,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` @@ -6386,7 +6337,6 @@ func (clusterSKU *ManagedClusterSKU_STATUS) AssignProperties_To_ManagedClusterSK } // Storage version of v1api20210501.ManagedClusterWindowsProfile -// Profile for Windows VMs in the managed cluster. type ManagedClusterWindowsProfile struct { AdminPassword *genruntime.SecretReference `json:"adminPassword,omitempty"` AdminUsername *string `json:"adminUsername,omitempty"` @@ -6510,7 +6460,6 @@ func (profile *ManagedClusterWindowsProfile) AssignProperties_To_ManagedClusterW } // Storage version of v1api20210501.ManagedClusterWindowsProfile_STATUS -// Profile for Windows VMs in the managed cluster. type ManagedClusterWindowsProfile_STATUS struct { AdminUsername *string `json:"adminUsername,omitempty"` EnableCSIProxy *bool `json:"enableCSIProxy,omitempty"` @@ -6617,7 +6566,6 @@ func (profile *ManagedClusterWindowsProfile_STATUS) AssignProperties_To_ManagedC } // Storage version of v1api20210501.PowerState_STATUS -// Describes the Power State of the cluster type PowerState_STATUS struct { Code *string `json:"code,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` @@ -6680,13 +6628,10 @@ func (state *PowerState_STATUS) AssignProperties_To_PowerState_STATUS(destinatio } // Storage version of v1api20210501.PrivateLinkResource -// A private link resource type PrivateLinkResource struct { - GroupId *string `json:"groupId,omitempty"` - Name *string `json:"name,omitempty"` - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` - - // Reference: The ID of the private link resource. + GroupId *string `json:"groupId,omitempty"` + Name *string `json:"name,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` Reference *genruntime.ResourceReference `armReference:"Id" json:"reference,omitempty"` RequiredMembers []string `json:"requiredMembers,omitempty"` Type *string `json:"type,omitempty"` @@ -6783,7 +6728,6 @@ func (resource *PrivateLinkResource) AssignProperties_To_PrivateLinkResource(des } // Storage version of v1api20210501.PrivateLinkResource_STATUS -// A private link resource type PrivateLinkResource_STATUS struct { GroupId *string `json:"groupId,omitempty"` Id *string `json:"id,omitempty"` @@ -6881,13 +6825,10 @@ func (resource *PrivateLinkResource_STATUS) AssignProperties_To_PrivateLinkResou } // Storage version of v1api20210501.UserAssignedIdentity -// Details about a user assigned identity. type UserAssignedIdentity struct { - ClientId *string `json:"clientId,omitempty"` - ObjectId *string `json:"objectId,omitempty"` - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` - - // ResourceReference: The resource ID of the user assigned identity. + ClientId *string `json:"clientId,omitempty"` + ObjectId *string `json:"objectId,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` ResourceReference *genruntime.ResourceReference `armReference:"ResourceId" json:"resourceReference,omitempty"` } @@ -6970,7 +6911,6 @@ func (identity *UserAssignedIdentity) AssignProperties_To_UserAssignedIdentity(d } // Storage version of v1api20210501.UserAssignedIdentity_STATUS -// Details about a user assigned identity. type UserAssignedIdentity_STATUS struct { ClientId *string `json:"clientId,omitempty"` ObjectId *string `json:"objectId,omitempty"` @@ -7227,7 +7167,6 @@ type augmentConversionForUserAssignedIdentity_STATUS interface { } // Storage version of v1api20210501.ContainerServiceSshConfiguration -// SSH configuration for Linux-based VMs running on Azure. type ContainerServiceSshConfiguration struct { PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` PublicKeys []ContainerServiceSshPublicKey `json:"publicKeys,omitempty"` @@ -7320,7 +7259,6 @@ func (configuration *ContainerServiceSshConfiguration) AssignProperties_To_Conta } // Storage version of v1api20210501.ContainerServiceSshConfiguration_STATUS -// SSH configuration for Linux-based VMs running on Azure. type ContainerServiceSshConfiguration_STATUS struct { PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` PublicKeys []ContainerServiceSshPublicKey_STATUS `json:"publicKeys,omitempty"` @@ -7482,7 +7420,6 @@ func (identities *ManagedClusterIdentity_UserAssignedIdentities_STATUS) AssignPr } // Storage version of v1api20210501.ManagedClusterLoadBalancerProfile -// Profile of the managed cluster load balancer. type ManagedClusterLoadBalancerProfile struct { AllocatedOutboundPorts *int `json:"allocatedOutboundPorts,omitempty"` EffectiveOutboundIPs []ResourceReference `json:"effectiveOutboundIPs,omitempty"` @@ -7684,7 +7621,6 @@ func (profile *ManagedClusterLoadBalancerProfile) AssignProperties_To_ManagedClu } // Storage version of v1api20210501.ManagedClusterLoadBalancerProfile_STATUS -// Profile of the managed cluster load balancer. type ManagedClusterLoadBalancerProfile_STATUS struct { AllocatedOutboundPorts *int `json:"allocatedOutboundPorts,omitempty"` EffectiveOutboundIPs []ResourceReference_STATUS `json:"effectiveOutboundIPs,omitempty"` @@ -7975,7 +7911,6 @@ func (secrets *ManagedClusterOperatorSecrets) AssignProperties_To_ManagedCluster } // Storage version of v1api20210501.ManagedClusterPodIdentity -// Details about the pod identity assigned to the Managed Cluster. type ManagedClusterPodIdentity struct { BindingSelector *string `json:"bindingSelector,omitempty"` Identity *UserAssignedIdentity `json:"identity,omitempty"` @@ -8077,7 +8012,6 @@ func (identity *ManagedClusterPodIdentity) AssignProperties_To_ManagedClusterPod } // Storage version of v1api20210501.ManagedClusterPodIdentity_STATUS -// Details about the pod identity assigned to the Managed Cluster. type ManagedClusterPodIdentity_STATUS struct { BindingSelector *string `json:"bindingSelector,omitempty"` Identity *UserAssignedIdentity_STATUS `json:"identity,omitempty"` @@ -8211,8 +8145,6 @@ func (identity *ManagedClusterPodIdentity_STATUS) AssignProperties_To_ManagedClu } // Storage version of v1api20210501.ManagedClusterPodIdentityException -// See [disable AAD Pod Identity for a specific -// Pod/Application](https://azure.github.io/aad-pod-identity/docs/configure/application_exception/) for more details. type ManagedClusterPodIdentityException struct { Name *string `json:"name,omitempty"` Namespace *string `json:"namespace,omitempty"` @@ -8289,8 +8221,6 @@ func (exception *ManagedClusterPodIdentityException) AssignProperties_To_Managed } // Storage version of v1api20210501.ManagedClusterPodIdentityException_STATUS -// See [disable AAD Pod Identity for a specific -// Pod/Application](https://azure.github.io/aad-pod-identity/docs/configure/application_exception/) for more details. type ManagedClusterPodIdentityException_STATUS struct { Name *string `json:"name,omitempty"` Namespace *string `json:"namespace,omitempty"` @@ -8367,7 +8297,6 @@ func (exception *ManagedClusterPodIdentityException_STATUS) AssignProperties_To_ } // Storage version of v1api20210501.UserAssignedIdentityDetails -// Information about the user assigned identity for the resource type UserAssignedIdentityDetails struct { PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` Reference genruntime.ResourceReference `armReference:"Reference" json:"reference,omitempty"` @@ -8485,7 +8414,6 @@ type augmentConversionForUserAssignedIdentityDetails interface { } // Storage version of v1api20210501.ContainerServiceSshPublicKey -// Contains information about SSH certificate public key data. type ContainerServiceSshPublicKey struct { KeyData *string `json:"keyData,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` @@ -8548,7 +8476,6 @@ func (publicKey *ContainerServiceSshPublicKey) AssignProperties_To_ContainerServ } // Storage version of v1api20210501.ContainerServiceSshPublicKey_STATUS -// Contains information about SSH certificate public key data. type ContainerServiceSshPublicKey_STATUS struct { KeyData *string `json:"keyData,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` @@ -9223,12 +9150,9 @@ func (info *ManagedClusterPodIdentity_ProvisioningInfo_STATUS) AssignProperties_ } // Storage version of v1api20210501.ResourceReference -// A reference to an Azure resource. type ResourceReference struct { - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` - - // Reference: The fully qualified Azure resource id. - Reference *genruntime.ResourceReference `armReference:"Id" json:"reference,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Reference *genruntime.ResourceReference `armReference:"Id" json:"reference,omitempty"` } // AssignProperties_From_ResourceReference populates our ResourceReference from the provided source ResourceReference @@ -9298,7 +9222,6 @@ func (reference *ResourceReference) AssignProperties_To_ResourceReference(destin } // Storage version of v1api20210501.ResourceReference_STATUS -// A reference to an Azure resource. type ResourceReference_STATUS struct { Id *string `json:"id,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` @@ -9416,7 +9339,6 @@ type augmentConversionForResourceReference_STATUS interface { } // Storage version of v1api20210501.ManagedClusterPodIdentityProvisioningError_STATUS -// An error response from the pod identity provisioning. type ManagedClusterPodIdentityProvisioningError_STATUS struct { Error *ManagedClusterPodIdentityProvisioningErrorBody_STATUS `json:"error,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` @@ -9502,7 +9424,6 @@ type augmentConversionForManagedClusterPodIdentityProvisioningError_STATUS inter } // Storage version of v1api20210501.ManagedClusterPodIdentityProvisioningErrorBody_STATUS -// An error response from the pod identity provisioning. type ManagedClusterPodIdentityProvisioningErrorBody_STATUS struct { Code *string `json:"code,omitempty"` Details []ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled `json:"details,omitempty"` diff --git a/v2/api/containerservice/v1api20210501/storage/managed_cluster_types_gen_test.go b/v2/api/containerservice/v1api20210501/storage/managed_cluster_types_gen_test.go index 27b29b177fd..7570f3c37cb 100644 --- a/v2/api/containerservice/v1api20210501/storage/managed_cluster_types_gen_test.go +++ b/v2/api/containerservice/v1api20210501/storage/managed_cluster_types_gen_test.go @@ -6,7 +6,7 @@ package storage import ( "encoding/json" v20230201s "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20230201/storage" - v20231001s "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20231001/storage" + v20240901s "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20240901/storage" "github.com/google/go-cmp/cmp" "github.com/google/go-cmp/cmp/cmpopts" "github.com/kr/pretty" @@ -1140,7 +1140,7 @@ func RunResourceConversionTestForManagedCluster(subject ManagedCluster) string { copied := subject.DeepCopy() // Convert to our hub version - var hub v20231001s.ManagedCluster + var hub v20240901s.ManagedCluster err := copied.ConvertTo(&hub) if err != nil { return err.Error() diff --git a/v2/api/containerservice/v1api20210501/storage/managed_clusters_agent_pool_types_gen.go b/v2/api/containerservice/v1api20210501/storage/managed_clusters_agent_pool_types_gen.go index 8fe366a8b13..d9bbc30fe9e 100644 --- a/v2/api/containerservice/v1api20210501/storage/managed_clusters_agent_pool_types_gen.go +++ b/v2/api/containerservice/v1api20210501/storage/managed_clusters_agent_pool_types_gen.go @@ -1598,7 +1598,6 @@ func (pool *ManagedClustersAgentPool_STATUS) AssignProperties_To_ManagedClusters } // Storage version of v1api20210501.AgentPoolUpgradeSettings -// Settings for upgrading an agentpool type AgentPoolUpgradeSettings struct { MaxSurge *string `json:"maxSurge,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` @@ -1661,7 +1660,6 @@ func (settings *AgentPoolUpgradeSettings) AssignProperties_To_AgentPoolUpgradeSe } // Storage version of v1api20210501.AgentPoolUpgradeSettings_STATUS -// Settings for upgrading an agentpool type AgentPoolUpgradeSettings_STATUS struct { MaxSurge *string `json:"maxSurge,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` @@ -1734,7 +1732,6 @@ type augmentConversionForManagedClustersAgentPool_STATUS interface { } // Storage version of v1api20210501.KubeletConfig -// See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. type KubeletConfig struct { AllowedUnsafeSysctls []string `json:"allowedUnsafeSysctls,omitempty"` ContainerLogMaxFiles *int `json:"containerLogMaxFiles,omitempty"` @@ -1887,7 +1884,6 @@ func (config *KubeletConfig) AssignProperties_To_KubeletConfig(destination *stor } // Storage version of v1api20210501.KubeletConfig_STATUS -// See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. type KubeletConfig_STATUS struct { AllowedUnsafeSysctls []string `json:"allowedUnsafeSysctls,omitempty"` ContainerLogMaxFiles *int `json:"containerLogMaxFiles,omitempty"` @@ -2040,7 +2036,6 @@ func (config *KubeletConfig_STATUS) AssignProperties_To_KubeletConfig_STATUS(des } // Storage version of v1api20210501.LinuxOSConfig -// See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. type LinuxOSConfig struct { PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` SwapFileSizeMB *int `json:"swapFileSizeMB,omitempty"` @@ -2142,7 +2137,6 @@ func (config *LinuxOSConfig) AssignProperties_To_LinuxOSConfig(destination *stor } // Storage version of v1api20210501.LinuxOSConfig_STATUS -// See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. type LinuxOSConfig_STATUS struct { PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` SwapFileSizeMB *int `json:"swapFileSizeMB,omitempty"` @@ -2274,7 +2268,6 @@ type augmentConversionForLinuxOSConfig_STATUS interface { } // Storage version of v1api20210501.SysctlConfig -// Sysctl settings for Linux agent nodes. type SysctlConfig struct { FsAioMaxNr *int `json:"fsAioMaxNr,omitempty"` FsFileMax *int `json:"fsFileMax,omitempty"` @@ -2536,7 +2529,6 @@ func (config *SysctlConfig) AssignProperties_To_SysctlConfig(destination *storag } // Storage version of v1api20210501.SysctlConfig_STATUS -// Sysctl settings for Linux agent nodes. type SysctlConfig_STATUS struct { FsAioMaxNr *int `json:"fsAioMaxNr,omitempty"` FsFileMax *int `json:"fsFileMax,omitempty"` diff --git a/v2/api/containerservice/v1api20210501/storage/managed_clusters_agent_pool_types_gen_test.go b/v2/api/containerservice/v1api20210501/storage/managed_clusters_agent_pool_types_gen_test.go index 3d3e6201d31..b230c3efcca 100644 --- a/v2/api/containerservice/v1api20210501/storage/managed_clusters_agent_pool_types_gen_test.go +++ b/v2/api/containerservice/v1api20210501/storage/managed_clusters_agent_pool_types_gen_test.go @@ -6,7 +6,7 @@ package storage import ( "encoding/json" v20230201s "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20230201/storage" - v20231001s "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20231001/storage" + v20240901s "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20240901/storage" "github.com/google/go-cmp/cmp" "github.com/google/go-cmp/cmp/cmpopts" "github.com/kr/pretty" @@ -705,7 +705,7 @@ func RunResourceConversionTestForManagedClustersAgentPool(subject ManagedCluster copied := subject.DeepCopy() // Convert to our hub version - var hub v20231001s.ManagedClustersAgentPool + var hub v20240901s.ManagedClustersAgentPool err := copied.ConvertTo(&hub) if err != nil { return err.Error() diff --git a/v2/api/containerservice/v1api20230201/arm/managed_cluster_spec_types_gen.go b/v2/api/containerservice/v1api20230201/arm/managed_cluster_spec_types_gen.go index 3b91622bfd4..1d6ac614599 100644 --- a/v2/api/containerservice/v1api20230201/arm/managed_cluster_spec_types_gen.go +++ b/v2/api/containerservice/v1api20230201/arm/managed_cluster_spec_types_gen.go @@ -6,24 +6,13 @@ package arm import "github.com/Azure/azure-service-operator/v2/pkg/genruntime" type ManagedCluster_Spec struct { - // ExtendedLocation: The extended location of the Virtual Machine. - ExtendedLocation *ExtendedLocation `json:"extendedLocation,omitempty"` - - // Identity: The identity of the managed cluster, if configured. - Identity *ManagedClusterIdentity `json:"identity,omitempty"` - - // Location: The geo-location where the resource lives - Location *string `json:"location,omitempty"` - Name string `json:"name,omitempty"` - - // Properties: Properties of a managed cluster. - Properties *ManagedClusterProperties `json:"properties,omitempty"` - - // Sku: The managed cluster SKU. - Sku *ManagedClusterSKU `json:"sku,omitempty"` - - // Tags: Resource tags. - Tags map[string]string `json:"tags" serializationType:"explicitEmptyCollection"` + ExtendedLocation *ExtendedLocation `json:"extendedLocation,omitempty"` + Identity *ManagedClusterIdentity `json:"identity,omitempty"` + Location *string `json:"location,omitempty"` + Name string `json:"name,omitempty"` + Properties *ManagedClusterProperties `json:"properties,omitempty"` + Sku *ManagedClusterSKU `json:"sku,omitempty"` + Tags map[string]string `json:"tags" serializationType:"explicitEmptyCollection"` } var _ genruntime.ARMResourceSpec = &ManagedCluster_Spec{} @@ -43,200 +32,76 @@ func (cluster *ManagedCluster_Spec) GetType() string { return "Microsoft.ContainerService/managedClusters" } -// The complex type of the extended location. type ExtendedLocation struct { - // Name: The name of the extended location. - Name *string `json:"name,omitempty"` - - // Type: The type of the extended location. + Name *string `json:"name,omitempty"` Type *ExtendedLocationType `json:"type,omitempty"` } -// Identity for the managed cluster. type ManagedClusterIdentity struct { - // Type: For more information see [use managed identities in - // AKS](https://docs.microsoft.com/azure/aks/use-managed-identity). Type *ManagedClusterIdentity_Type `json:"type,omitempty"` UserAssignedIdentities map[string]UserAssignedIdentityDetails `json:"userAssignedIdentities,omitempty"` } -// Properties of the managed cluster. type ManagedClusterProperties struct { - // AadProfile: The Azure Active Directory configuration. - AadProfile *ManagedClusterAADProfile `json:"aadProfile,omitempty"` - - // AddonProfiles: The profile of managed cluster add-on. - AddonProfiles map[string]ManagedClusterAddonProfile `json:"addonProfiles"` - - // AgentPoolProfiles: The agent pool properties. - AgentPoolProfiles []ManagedClusterAgentPoolProfile `json:"agentPoolProfiles"` - - // ApiServerAccessProfile: The access profile for managed cluster API server. - ApiServerAccessProfile *ManagedClusterAPIServerAccessProfile `json:"apiServerAccessProfile,omitempty"` - - // AutoScalerProfile: Parameters to be applied to the cluster-autoscaler when enabled - AutoScalerProfile *ManagedClusterProperties_AutoScalerProfile `json:"autoScalerProfile,omitempty"` - - // AutoUpgradeProfile: The auto upgrade configuration. - AutoUpgradeProfile *ManagedClusterAutoUpgradeProfile `json:"autoUpgradeProfile,omitempty"` - - // AzureMonitorProfile: Azure Monitor addon profiles for monitoring the managed cluster. - AzureMonitorProfile *ManagedClusterAzureMonitorProfile `json:"azureMonitorProfile,omitempty"` - - // DisableLocalAccounts: If set to true, getting static credentials will be disabled for this cluster. This must only be - // used on Managed Clusters that are AAD enabled. For more details see [disable local - // accounts](https://docs.microsoft.com/azure/aks/managed-aad#disable-local-accounts-preview). - DisableLocalAccounts *bool `json:"disableLocalAccounts,omitempty"` - DiskEncryptionSetID *string `json:"diskEncryptionSetID,omitempty"` - - // DnsPrefix: This cannot be updated once the Managed Cluster has been created. - DnsPrefix *string `json:"dnsPrefix,omitempty"` - - // EnablePodSecurityPolicy: (DEPRECATED) Whether to enable Kubernetes pod security policy (preview). PodSecurityPolicy was - // deprecated in Kubernetes v1.21, and removed from Kubernetes in v1.25. Learn more at https://aka.ms/k8s/psp and - // https://aka.ms/aks/psp. - EnablePodSecurityPolicy *bool `json:"enablePodSecurityPolicy,omitempty"` - - // EnableRBAC: Whether to enable Kubernetes Role-Based Access Control. - EnableRBAC *bool `json:"enableRBAC,omitempty"` - - // FqdnSubdomain: This cannot be updated once the Managed Cluster has been created. - FqdnSubdomain *string `json:"fqdnSubdomain,omitempty"` - - // HttpProxyConfig: Configurations for provisioning the cluster with HTTP proxy servers. - HttpProxyConfig *ManagedClusterHTTPProxyConfig `json:"httpProxyConfig,omitempty"` - - // IdentityProfile: Identities associated with the cluster. - IdentityProfile map[string]UserAssignedIdentity `json:"identityProfile"` - - // KubernetesVersion: Both patch version (e.g. 1.20.13) and (e.g. 1.20) are supported. - // When is specified, the latest supported GA patch version is chosen automatically. Updating the cluster - // with the same once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer - // patch version is available. When you upgrade a supported AKS cluster, Kubernetes minor versions cannot be skipped. All - // upgrades must be performed sequentially by major version number. For example, upgrades between 1.14.x -> 1.15.x or - // 1.15.x -> 1.16.x are allowed, however 1.14.x -> 1.16.x is not allowed. See [upgrading an AKS - // cluster](https://docs.microsoft.com/azure/aks/upgrade-cluster) for more details. - KubernetesVersion *string `json:"kubernetesVersion,omitempty"` - - // LinuxProfile: The profile for Linux VMs in the Managed Cluster. - LinuxProfile *ContainerServiceLinuxProfile `json:"linuxProfile,omitempty"` - - // NetworkProfile: The network configuration profile. - NetworkProfile *ContainerServiceNetworkProfile `json:"networkProfile,omitempty"` - - // NodeResourceGroup: The name of the resource group containing agent pool nodes. - NodeResourceGroup *string `json:"nodeResourceGroup,omitempty"` - - // OidcIssuerProfile: The OIDC issuer profile of the Managed Cluster. - OidcIssuerProfile *ManagedClusterOIDCIssuerProfile `json:"oidcIssuerProfile,omitempty"` - - // PodIdentityProfile: See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more - // details on AAD pod identity integration. - PodIdentityProfile *ManagedClusterPodIdentityProfile `json:"podIdentityProfile,omitempty"` - - // PrivateLinkResources: Private link resources associated with the cluster. - PrivateLinkResources []PrivateLinkResource `json:"privateLinkResources"` - - // PublicNetworkAccess: Allow or deny public network access for AKS - PublicNetworkAccess *ManagedClusterProperties_PublicNetworkAccess `json:"publicNetworkAccess,omitempty"` - - // SecurityProfile: Security profile for the managed cluster. - SecurityProfile *ManagedClusterSecurityProfile `json:"securityProfile,omitempty"` - - // ServicePrincipalProfile: Information about a service principal identity for the cluster to use for manipulating Azure - // APIs. - ServicePrincipalProfile *ManagedClusterServicePrincipalProfile `json:"servicePrincipalProfile,omitempty"` - - // StorageProfile: Storage profile for the managed cluster. - StorageProfile *ManagedClusterStorageProfile `json:"storageProfile,omitempty"` - - // WindowsProfile: The profile for Windows VMs in the Managed Cluster. - WindowsProfile *ManagedClusterWindowsProfile `json:"windowsProfile,omitempty"` - - // WorkloadAutoScalerProfile: Workload Auto-scaler profile for the managed cluster. - WorkloadAutoScalerProfile *ManagedClusterWorkloadAutoScalerProfile `json:"workloadAutoScalerProfile,omitempty"` + AadProfile *ManagedClusterAADProfile `json:"aadProfile,omitempty"` + AddonProfiles map[string]ManagedClusterAddonProfile `json:"addonProfiles"` + AgentPoolProfiles []ManagedClusterAgentPoolProfile `json:"agentPoolProfiles"` + ApiServerAccessProfile *ManagedClusterAPIServerAccessProfile `json:"apiServerAccessProfile,omitempty"` + AutoScalerProfile *ManagedClusterProperties_AutoScalerProfile `json:"autoScalerProfile,omitempty"` + AutoUpgradeProfile *ManagedClusterAutoUpgradeProfile `json:"autoUpgradeProfile,omitempty"` + AzureMonitorProfile *ManagedClusterAzureMonitorProfile `json:"azureMonitorProfile,omitempty"` + DisableLocalAccounts *bool `json:"disableLocalAccounts,omitempty"` + DiskEncryptionSetID *string `json:"diskEncryptionSetID,omitempty"` + DnsPrefix *string `json:"dnsPrefix,omitempty"` + EnablePodSecurityPolicy *bool `json:"enablePodSecurityPolicy,omitempty"` + EnableRBAC *bool `json:"enableRBAC,omitempty"` + FqdnSubdomain *string `json:"fqdnSubdomain,omitempty"` + HttpProxyConfig *ManagedClusterHTTPProxyConfig `json:"httpProxyConfig,omitempty"` + IdentityProfile map[string]UserAssignedIdentity `json:"identityProfile"` + KubernetesVersion *string `json:"kubernetesVersion,omitempty"` + LinuxProfile *ContainerServiceLinuxProfile `json:"linuxProfile,omitempty"` + NetworkProfile *ContainerServiceNetworkProfile `json:"networkProfile,omitempty"` + NodeResourceGroup *string `json:"nodeResourceGroup,omitempty"` + OidcIssuerProfile *ManagedClusterOIDCIssuerProfile `json:"oidcIssuerProfile,omitempty"` + PodIdentityProfile *ManagedClusterPodIdentityProfile `json:"podIdentityProfile,omitempty"` + PrivateLinkResources []PrivateLinkResource `json:"privateLinkResources"` + PublicNetworkAccess *ManagedClusterProperties_PublicNetworkAccess `json:"publicNetworkAccess,omitempty"` + SecurityProfile *ManagedClusterSecurityProfile `json:"securityProfile,omitempty"` + ServicePrincipalProfile *ManagedClusterServicePrincipalProfile `json:"servicePrincipalProfile,omitempty"` + StorageProfile *ManagedClusterStorageProfile `json:"storageProfile,omitempty"` + WindowsProfile *ManagedClusterWindowsProfile `json:"windowsProfile,omitempty"` + WorkloadAutoScalerProfile *ManagedClusterWorkloadAutoScalerProfile `json:"workloadAutoScalerProfile,omitempty"` } -// The SKU of a Managed Cluster. type ManagedClusterSKU struct { - // Name: The name of a managed cluster SKU. Name *ManagedClusterSKU_Name `json:"name,omitempty"` - - // Tier: If not specified, the default is 'Free'. See [AKS Pricing - // Tier](https://learn.microsoft.com/azure/aks/free-standard-pricing-tiers) for more details. Tier *ManagedClusterSKU_Tier `json:"tier,omitempty"` } -// Profile for Linux VMs in the container service cluster. type ContainerServiceLinuxProfile struct { - // AdminUsername: The administrator username to use for Linux VMs. - AdminUsername *string `json:"adminUsername,omitempty"` - - // Ssh: The SSH configuration for Linux-based VMs running on Azure. - Ssh *ContainerServiceSshConfiguration `json:"ssh,omitempty"` + AdminUsername *string `json:"adminUsername,omitempty"` + Ssh *ContainerServiceSshConfiguration `json:"ssh,omitempty"` } -// Profile of network configuration. type ContainerServiceNetworkProfile struct { - // DnsServiceIP: An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address - // range specified in serviceCidr. - DnsServiceIP *string `json:"dnsServiceIP,omitempty"` - - // DockerBridgeCidr: A CIDR notation IP range assigned to the Docker bridge network. It must not overlap with any Subnet IP - // ranges or the Kubernetes service address range. - DockerBridgeCidr *string `json:"dockerBridgeCidr,omitempty"` - - // IpFamilies: IP families are used to determine single-stack or dual-stack clusters. For single-stack, the expected value - // is IPv4. For dual-stack, the expected values are IPv4 and IPv6. - IpFamilies []ContainerServiceNetworkProfile_IpFamilies `json:"ipFamilies"` - - // LoadBalancerProfile: Profile of the cluster load balancer. - LoadBalancerProfile *ManagedClusterLoadBalancerProfile `json:"loadBalancerProfile,omitempty"` - - // LoadBalancerSku: The default is 'standard'. See [Azure Load Balancer - // SKUs](https://docs.microsoft.com/azure/load-balancer/skus) for more information about the differences between load - // balancer SKUs. - LoadBalancerSku *ContainerServiceNetworkProfile_LoadBalancerSku `json:"loadBalancerSku,omitempty"` - - // NatGatewayProfile: Profile of the cluster NAT gateway. - NatGatewayProfile *ManagedClusterNATGatewayProfile `json:"natGatewayProfile,omitempty"` - - // NetworkDataplane: Network dataplane used in the Kubernetes cluster. - NetworkDataplane *ContainerServiceNetworkProfile_NetworkDataplane `json:"networkDataplane,omitempty"` - - // NetworkMode: This cannot be specified if networkPlugin is anything other than 'azure'. - NetworkMode *ContainerServiceNetworkProfile_NetworkMode `json:"networkMode,omitempty"` - - // NetworkPlugin: Network plugin used for building the Kubernetes network. - NetworkPlugin *ContainerServiceNetworkProfile_NetworkPlugin `json:"networkPlugin,omitempty"` - - // NetworkPluginMode: The mode the network plugin should use. - NetworkPluginMode *ContainerServiceNetworkProfile_NetworkPluginMode `json:"networkPluginMode,omitempty"` - - // NetworkPolicy: Network policy used for building the Kubernetes network. - NetworkPolicy *ContainerServiceNetworkProfile_NetworkPolicy `json:"networkPolicy,omitempty"` - - // OutboundType: This can only be set at cluster creation time and cannot be changed later. For more information see - // [egress outbound type](https://docs.microsoft.com/azure/aks/egress-outboundtype). - OutboundType *ContainerServiceNetworkProfile_OutboundType `json:"outboundType,omitempty"` - - // PodCidr: A CIDR notation IP range from which to assign pod IPs when kubenet is used. - PodCidr *string `json:"podCidr,omitempty"` - - // PodCidrs: One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is - // expected for dual-stack networking. - PodCidrs []string `json:"podCidrs"` - - // ServiceCidr: A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP - // ranges. - ServiceCidr *string `json:"serviceCidr,omitempty"` - - // ServiceCidrs: One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is - // expected for dual-stack networking. They must not overlap with any Subnet IP ranges. - ServiceCidrs []string `json:"serviceCidrs"` + DnsServiceIP *string `json:"dnsServiceIP,omitempty"` + DockerBridgeCidr *string `json:"dockerBridgeCidr,omitempty"` + IpFamilies []ContainerServiceNetworkProfile_IpFamilies `json:"ipFamilies"` + LoadBalancerProfile *ManagedClusterLoadBalancerProfile `json:"loadBalancerProfile,omitempty"` + LoadBalancerSku *ContainerServiceNetworkProfile_LoadBalancerSku `json:"loadBalancerSku,omitempty"` + NatGatewayProfile *ManagedClusterNATGatewayProfile `json:"natGatewayProfile,omitempty"` + NetworkDataplane *ContainerServiceNetworkProfile_NetworkDataplane `json:"networkDataplane,omitempty"` + NetworkMode *ContainerServiceNetworkProfile_NetworkMode `json:"networkMode,omitempty"` + NetworkPlugin *ContainerServiceNetworkProfile_NetworkPlugin `json:"networkPlugin,omitempty"` + NetworkPluginMode *ContainerServiceNetworkProfile_NetworkPluginMode `json:"networkPluginMode,omitempty"` + NetworkPolicy *ContainerServiceNetworkProfile_NetworkPolicy `json:"networkPolicy,omitempty"` + OutboundType *ContainerServiceNetworkProfile_OutboundType `json:"outboundType,omitempty"` + PodCidr *string `json:"podCidr,omitempty"` + PodCidrs []string `json:"podCidrs"` + ServiceCidr *string `json:"serviceCidr,omitempty"` + ServiceCidrs []string `json:"serviceCidrs"` } -// The type of extendedLocation. // +kubebuilder:validation:Enum={"EdgeZone"} type ExtendedLocationType string @@ -247,228 +112,84 @@ var extendedLocationType_Values = map[string]ExtendedLocationType{ "edgezone": ExtendedLocationType_EdgeZone, } -// For more details see [managed AAD on AKS](https://docs.microsoft.com/azure/aks/managed-aad). type ManagedClusterAADProfile struct { - // AdminGroupObjectIDs: The list of AAD group object IDs that will have admin role of the cluster. AdminGroupObjectIDs []string `json:"adminGroupObjectIDs"` - - // ClientAppID: (DEPRECATED) The client AAD application ID. Learn more at https://aka.ms/aks/aad-legacy. - ClientAppID *string `json:"clientAppID,omitempty"` - - // EnableAzureRBAC: Whether to enable Azure RBAC for Kubernetes authorization. - EnableAzureRBAC *bool `json:"enableAzureRBAC,omitempty"` - - // Managed: Whether to enable managed AAD. - Managed *bool `json:"managed,omitempty"` - - // ServerAppID: (DEPRECATED) The server AAD application ID. Learn more at https://aka.ms/aks/aad-legacy. - ServerAppID *string `json:"serverAppID,omitempty"` - - // ServerAppSecret: (DEPRECATED) The server AAD application secret. Learn more at https://aka.ms/aks/aad-legacy. - ServerAppSecret *string `json:"serverAppSecret,omitempty"` - - // TenantID: The AAD tenant ID to use for authentication. If not specified, will use the tenant of the deployment - // subscription. - TenantID *string `json:"tenantID,omitempty"` + ClientAppID *string `json:"clientAppID,omitempty"` + EnableAzureRBAC *bool `json:"enableAzureRBAC,omitempty"` + Managed *bool `json:"managed,omitempty"` + ServerAppID *string `json:"serverAppID,omitempty"` + ServerAppSecret *string `json:"serverAppSecret,omitempty"` + TenantID *string `json:"tenantID,omitempty"` } -// A Kubernetes add-on profile for a managed cluster. type ManagedClusterAddonProfile struct { - // Config: Key-value pairs for configuring an add-on. - Config map[string]string `json:"config"` - - // Enabled: Whether the add-on is enabled or not. - Enabled *bool `json:"enabled,omitempty"` + Config map[string]string `json:"config"` + Enabled *bool `json:"enabled,omitempty"` } -// Profile for the container service agent pool. type ManagedClusterAgentPoolProfile struct { - // AvailabilityZones: The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType - // property is 'VirtualMachineScaleSets'. - AvailabilityZones []string `json:"availabilityZones"` - - // Count: Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) - // for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1. - Count *int `json:"count,omitempty"` - - // CreationData: CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using - // a snapshot. - CreationData *CreationData `json:"creationData,omitempty"` - - // EnableAutoScaling: Whether to enable auto-scaler - EnableAutoScaling *bool `json:"enableAutoScaling,omitempty"` - - // EnableEncryptionAtHost: This is only supported on certain VM sizes and in certain Azure regions. For more information, - // see: https://docs.microsoft.com/azure/aks/enable-host-encryption - EnableEncryptionAtHost *bool `json:"enableEncryptionAtHost,omitempty"` - - // EnableFIPS: See [Add a FIPS-enabled node - // pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more - // details. - EnableFIPS *bool `json:"enableFIPS,omitempty"` - - // EnableNodePublicIP: Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. - // A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine - // to minimize hops. For more information see [assigning a public IP per - // node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The - // default is false. - EnableNodePublicIP *bool `json:"enableNodePublicIP,omitempty"` - - // EnableUltraSSD: Whether to enable UltraSSD - EnableUltraSSD *bool `json:"enableUltraSSD,omitempty"` - - // GpuInstanceProfile: GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU. - GpuInstanceProfile *GPUInstanceProfile `json:"gpuInstanceProfile,omitempty"` - HostGroupID *string `json:"hostGroupID,omitempty"` - - // KubeletConfig: The Kubelet configuration on the agent pool nodes. - KubeletConfig *KubeletConfig `json:"kubeletConfig,omitempty"` - - // KubeletDiskType: Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral - // storage. - KubeletDiskType *KubeletDiskType `json:"kubeletDiskType,omitempty"` - - // LinuxOSConfig: The OS configuration of Linux agent nodes. - LinuxOSConfig *LinuxOSConfig `json:"linuxOSConfig,omitempty"` - - // MaxCount: The maximum number of nodes for auto-scaling - MaxCount *int `json:"maxCount,omitempty"` - - // MaxPods: The maximum number of pods that can run on a node. - MaxPods *int `json:"maxPods,omitempty"` - - // MinCount: The minimum number of nodes for auto-scaling - MinCount *int `json:"minCount,omitempty"` - - // Mode: A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool - // restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools - Mode *AgentPoolMode `json:"mode,omitempty"` - - // Name: Windows agent pool names must be 6 characters or less. - Name *string `json:"name,omitempty"` - - // NodeLabels: The node labels to be persisted across all nodes in agent pool. - NodeLabels map[string]string `json:"nodeLabels" serializationType:"explicitEmptyCollection"` - NodePublicIPPrefixID *string `json:"nodePublicIPPrefixID,omitempty"` - - // NodeTaints: The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule. - NodeTaints []string `json:"nodeTaints" serializationType:"explicitEmptyCollection"` - - // OrchestratorVersion: Both patch version (e.g. 1.20.13) and (e.g. 1.20) are supported. - // When is specified, the latest supported GA patch version is chosen automatically. Updating the cluster - // with the same once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer - // patch version is available. As a best practice, you should upgrade all node pools in an AKS cluster to the same - // Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor - // version must be within two minor versions of the control plane version. The node pool version cannot be greater than the - // control plane version. For more information see [upgrading a node - // pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). - OrchestratorVersion *string `json:"orchestratorVersion,omitempty"` - OsDiskSizeGB *int `json:"osDiskSizeGB,omitempty"` - - // OsDiskType: The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested - // OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral - // OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). - OsDiskType *OSDiskType `json:"osDiskType,omitempty"` - - // OsSKU: Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 - // when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows. - OsSKU *OSSKU `json:"osSKU,omitempty"` - - // OsType: The operating system type. The default is Linux. - OsType *OSType `json:"osType,omitempty"` - PodSubnetID *string `json:"podSubnetID,omitempty"` - - // PowerState: When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this - // field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only - // be stopped if it is Running and provisioning state is Succeeded - PowerState *PowerState `json:"powerState,omitempty"` - ProximityPlacementGroupID *string `json:"proximityPlacementGroupID,omitempty"` - - // ScaleDownMode: This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete. - ScaleDownMode *ScaleDownMode `json:"scaleDownMode,omitempty"` - - // ScaleSetEvictionPolicy: This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is - // 'Delete'. - ScaleSetEvictionPolicy *ScaleSetEvictionPolicy `json:"scaleSetEvictionPolicy,omitempty"` - - // ScaleSetPriority: The Virtual Machine Scale Set priority. If not specified, the default is 'Regular'. - ScaleSetPriority *ScaleSetPriority `json:"scaleSetPriority,omitempty"` - - // SpotMaxPrice: Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any - // on-demand price. For more details on spot pricing, see [spot VMs - // pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing) - SpotMaxPrice *float64 `json:"spotMaxPrice,omitempty"` - - // Tags: The tags to be persisted on the agent pool virtual machine scale set. - Tags map[string]string `json:"tags" serializationType:"explicitEmptyCollection"` - - // Type: The type of Agent Pool. - Type *AgentPoolType `json:"type,omitempty"` - - // UpgradeSettings: Settings for upgrading the agentpool - UpgradeSettings *AgentPoolUpgradeSettings `json:"upgradeSettings,omitempty"` - - // VmSize: VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods - // might fail to run correctly. For more details on restricted VM sizes, see: - // https://docs.microsoft.com/azure/aks/quotas-skus-regions - VmSize *string `json:"vmSize,omitempty"` - VnetSubnetID *string `json:"vnetSubnetID,omitempty"` - - // WorkloadRuntime: Determines the type of workload a node can run. - WorkloadRuntime *WorkloadRuntime `json:"workloadRuntime,omitempty"` + AvailabilityZones []string `json:"availabilityZones"` + Count *int `json:"count,omitempty"` + CreationData *CreationData `json:"creationData,omitempty"` + EnableAutoScaling *bool `json:"enableAutoScaling,omitempty"` + EnableEncryptionAtHost *bool `json:"enableEncryptionAtHost,omitempty"` + EnableFIPS *bool `json:"enableFIPS,omitempty"` + EnableNodePublicIP *bool `json:"enableNodePublicIP,omitempty"` + EnableUltraSSD *bool `json:"enableUltraSSD,omitempty"` + GpuInstanceProfile *GPUInstanceProfile `json:"gpuInstanceProfile,omitempty"` + HostGroupID *string `json:"hostGroupID,omitempty"` + KubeletConfig *KubeletConfig `json:"kubeletConfig,omitempty"` + KubeletDiskType *KubeletDiskType `json:"kubeletDiskType,omitempty"` + LinuxOSConfig *LinuxOSConfig `json:"linuxOSConfig,omitempty"` + MaxCount *int `json:"maxCount,omitempty"` + MaxPods *int `json:"maxPods,omitempty"` + MinCount *int `json:"minCount,omitempty"` + Mode *AgentPoolMode `json:"mode,omitempty"` + Name *string `json:"name,omitempty"` + NodeLabels map[string]string `json:"nodeLabels" serializationType:"explicitEmptyCollection"` + NodePublicIPPrefixID *string `json:"nodePublicIPPrefixID,omitempty"` + NodeTaints []string `json:"nodeTaints" serializationType:"explicitEmptyCollection"` + OrchestratorVersion *string `json:"orchestratorVersion,omitempty"` + OsDiskSizeGB *int `json:"osDiskSizeGB,omitempty"` + OsDiskType *OSDiskType `json:"osDiskType,omitempty"` + OsSKU *OSSKU `json:"osSKU,omitempty"` + OsType *OSType `json:"osType,omitempty"` + PodSubnetID *string `json:"podSubnetID,omitempty"` + PowerState *PowerState `json:"powerState,omitempty"` + ProximityPlacementGroupID *string `json:"proximityPlacementGroupID,omitempty"` + ScaleDownMode *ScaleDownMode `json:"scaleDownMode,omitempty"` + ScaleSetEvictionPolicy *ScaleSetEvictionPolicy `json:"scaleSetEvictionPolicy,omitempty"` + ScaleSetPriority *ScaleSetPriority `json:"scaleSetPriority,omitempty"` + SpotMaxPrice *float64 `json:"spotMaxPrice,omitempty"` + Tags map[string]string `json:"tags" serializationType:"explicitEmptyCollection"` + Type *AgentPoolType `json:"type,omitempty"` + UpgradeSettings *AgentPoolUpgradeSettings `json:"upgradeSettings,omitempty"` + VmSize *string `json:"vmSize,omitempty"` + VnetSubnetID *string `json:"vnetSubnetID,omitempty"` + WorkloadRuntime *WorkloadRuntime `json:"workloadRuntime,omitempty"` } -// Access profile for managed cluster API server. type ManagedClusterAPIServerAccessProfile struct { - // AuthorizedIPRanges: IP ranges are specified in CIDR format, e.g. 137.117.106.88/29. This feature is not compatible with - // clusters that use Public IP Per Node, or clusters that are using a Basic Load Balancer. For more information see [API - // server authorized IP ranges](https://docs.microsoft.com/azure/aks/api-server-authorized-ip-ranges). - AuthorizedIPRanges []string `json:"authorizedIPRanges"` - - // DisableRunCommand: Whether to disable run command for the cluster or not. - DisableRunCommand *bool `json:"disableRunCommand,omitempty"` - - // EnablePrivateCluster: For more details, see [Creating a private AKS - // cluster](https://docs.microsoft.com/azure/aks/private-clusters). - EnablePrivateCluster *bool `json:"enablePrivateCluster,omitempty"` - - // EnablePrivateClusterPublicFQDN: Whether to create additional public FQDN for private cluster or not. - EnablePrivateClusterPublicFQDN *bool `json:"enablePrivateClusterPublicFQDN,omitempty"` - - // PrivateDNSZone: The default is System. For more details see [configure private DNS - // zone](https://docs.microsoft.com/azure/aks/private-clusters#configure-private-dns-zone). Allowed values are 'system' and - // 'none'. - PrivateDNSZone *string `json:"privateDNSZone,omitempty"` + AuthorizedIPRanges []string `json:"authorizedIPRanges"` + DisableRunCommand *bool `json:"disableRunCommand,omitempty"` + EnablePrivateCluster *bool `json:"enablePrivateCluster,omitempty"` + EnablePrivateClusterPublicFQDN *bool `json:"enablePrivateClusterPublicFQDN,omitempty"` + PrivateDNSZone *string `json:"privateDNSZone,omitempty"` } -// Auto upgrade profile for a managed cluster. type ManagedClusterAutoUpgradeProfile struct { - // UpgradeChannel: For more information see [setting the AKS cluster auto-upgrade - // channel](https://docs.microsoft.com/azure/aks/upgrade-cluster#set-auto-upgrade-channel). UpgradeChannel *ManagedClusterAutoUpgradeProfile_UpgradeChannel `json:"upgradeChannel,omitempty"` } -// Azure Monitor addon profiles for monitoring the managed cluster. type ManagedClusterAzureMonitorProfile struct { - // Metrics: Metrics profile for the Azure Monitor managed service for Prometheus addon. Collect out-of-the-box Kubernetes - // infrastructure metrics to send to an Azure Monitor Workspace and configure additional scraping for custom targets. See - // aka.ms/AzureManagedPrometheus for an overview. Metrics *ManagedClusterAzureMonitorProfileMetrics `json:"metrics,omitempty"` } -// Cluster HTTP proxy configuration. type ManagedClusterHTTPProxyConfig struct { - // HttpProxy: The HTTP proxy server endpoint to use. - HttpProxy *string `json:"httpProxy,omitempty"` - - // HttpsProxy: The HTTPS proxy server endpoint to use. - HttpsProxy *string `json:"httpsProxy,omitempty"` - - // NoProxy: The endpoints that should not go through proxy. - NoProxy []string `json:"noProxy"` - - // TrustedCa: Alternative CA cert to use for connecting to proxy servers. - TrustedCa *string `json:"trustedCa,omitempty"` + HttpProxy *string `json:"httpProxy,omitempty"` + HttpsProxy *string `json:"httpsProxy,omitempty"` + NoProxy []string `json:"noProxy"` + TrustedCa *string `json:"trustedCa,omitempty"` } // +kubebuilder:validation:Enum={"None","SystemAssigned","UserAssigned"} @@ -487,92 +208,35 @@ var managedClusterIdentity_Type_Values = map[string]ManagedClusterIdentity_Type{ "userassigned": ManagedClusterIdentity_Type_UserAssigned, } -// The OIDC issuer profile of the Managed Cluster. type ManagedClusterOIDCIssuerProfile struct { - // Enabled: Whether the OIDC issuer is enabled. Enabled *bool `json:"enabled,omitempty"` } -// See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on pod -// identity integration. type ManagedClusterPodIdentityProfile struct { - // AllowNetworkPluginKubenet: Running in Kubenet is disabled by default due to the security related nature of AAD Pod - // Identity and the risks of IP spoofing. See [using Kubenet network plugin with AAD Pod - // Identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity#using-kubenet-network-plugin-with-azure-active-directory-pod-managed-identities) - // for more information. - AllowNetworkPluginKubenet *bool `json:"allowNetworkPluginKubenet,omitempty"` - - // Enabled: Whether the pod identity addon is enabled. - Enabled *bool `json:"enabled,omitempty"` - - // UserAssignedIdentities: The pod identities to use in the cluster. - UserAssignedIdentities []ManagedClusterPodIdentity `json:"userAssignedIdentities"` - - // UserAssignedIdentityExceptions: The pod identity exceptions to allow. + AllowNetworkPluginKubenet *bool `json:"allowNetworkPluginKubenet,omitempty"` + Enabled *bool `json:"enabled,omitempty"` + UserAssignedIdentities []ManagedClusterPodIdentity `json:"userAssignedIdentities"` UserAssignedIdentityExceptions []ManagedClusterPodIdentityException `json:"userAssignedIdentityExceptions"` } type ManagedClusterProperties_AutoScalerProfile struct { - // BalanceSimilarNodeGroups: Valid values are 'true' and 'false' - BalanceSimilarNodeGroups *string `json:"balance-similar-node-groups,omitempty"` - - // Expander: If not specified, the default is 'random'. See - // [expanders](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md#what-are-expanders) for more - // information. - Expander *ManagedClusterProperties_AutoScalerProfile_Expander `json:"expander,omitempty"` - - // MaxEmptyBulkDelete: The default is 10. - MaxEmptyBulkDelete *string `json:"max-empty-bulk-delete,omitempty"` - - // MaxGracefulTerminationSec: The default is 600. - MaxGracefulTerminationSec *string `json:"max-graceful-termination-sec,omitempty"` - - // MaxNodeProvisionTime: The default is '15m'. Values must be an integer followed by an 'm'. No unit of time other than - // minutes (m) is supported. - MaxNodeProvisionTime *string `json:"max-node-provision-time,omitempty"` - - // MaxTotalUnreadyPercentage: The default is 45. The maximum is 100 and the minimum is 0. - MaxTotalUnreadyPercentage *string `json:"max-total-unready-percentage,omitempty"` - - // NewPodScaleUpDelay: For scenarios like burst/batch scale where you don't want CA to act before the kubernetes scheduler - // could schedule all the pods, you can tell CA to ignore unscheduled pods before they're a certain age. The default is - // '0s'. Values must be an integer followed by a unit ('s' for seconds, 'm' for minutes, 'h' for hours, etc). - NewPodScaleUpDelay *string `json:"new-pod-scale-up-delay,omitempty"` - - // OkTotalUnreadyCount: This must be an integer. The default is 3. - OkTotalUnreadyCount *string `json:"ok-total-unready-count,omitempty"` - - // ScaleDownDelayAfterAdd: The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than - // minutes (m) is supported. - ScaleDownDelayAfterAdd *string `json:"scale-down-delay-after-add,omitempty"` - - // ScaleDownDelayAfterDelete: The default is the scan-interval. Values must be an integer followed by an 'm'. No unit of - // time other than minutes (m) is supported. - ScaleDownDelayAfterDelete *string `json:"scale-down-delay-after-delete,omitempty"` - - // ScaleDownDelayAfterFailure: The default is '3m'. Values must be an integer followed by an 'm'. No unit of time other - // than minutes (m) is supported. - ScaleDownDelayAfterFailure *string `json:"scale-down-delay-after-failure,omitempty"` - - // ScaleDownUnneededTime: The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than - // minutes (m) is supported. - ScaleDownUnneededTime *string `json:"scale-down-unneeded-time,omitempty"` - - // ScaleDownUnreadyTime: The default is '20m'. Values must be an integer followed by an 'm'. No unit of time other than - // minutes (m) is supported. - ScaleDownUnreadyTime *string `json:"scale-down-unready-time,omitempty"` - - // ScaleDownUtilizationThreshold: The default is '0.5'. - ScaleDownUtilizationThreshold *string `json:"scale-down-utilization-threshold,omitempty"` - - // ScanInterval: The default is '10'. Values must be an integer number of seconds. - ScanInterval *string `json:"scan-interval,omitempty"` - - // SkipNodesWithLocalStorage: The default is true. - SkipNodesWithLocalStorage *string `json:"skip-nodes-with-local-storage,omitempty"` - - // SkipNodesWithSystemPods: The default is true. - SkipNodesWithSystemPods *string `json:"skip-nodes-with-system-pods,omitempty"` + BalanceSimilarNodeGroups *string `json:"balance-similar-node-groups,omitempty"` + Expander *ManagedClusterProperties_AutoScalerProfile_Expander `json:"expander,omitempty"` + MaxEmptyBulkDelete *string `json:"max-empty-bulk-delete,omitempty"` + MaxGracefulTerminationSec *string `json:"max-graceful-termination-sec,omitempty"` + MaxNodeProvisionTime *string `json:"max-node-provision-time,omitempty"` + MaxTotalUnreadyPercentage *string `json:"max-total-unready-percentage,omitempty"` + NewPodScaleUpDelay *string `json:"new-pod-scale-up-delay,omitempty"` + OkTotalUnreadyCount *string `json:"ok-total-unready-count,omitempty"` + ScaleDownDelayAfterAdd *string `json:"scale-down-delay-after-add,omitempty"` + ScaleDownDelayAfterDelete *string `json:"scale-down-delay-after-delete,omitempty"` + ScaleDownDelayAfterFailure *string `json:"scale-down-delay-after-failure,omitempty"` + ScaleDownUnneededTime *string `json:"scale-down-unneeded-time,omitempty"` + ScaleDownUnreadyTime *string `json:"scale-down-unready-time,omitempty"` + ScaleDownUtilizationThreshold *string `json:"scale-down-utilization-threshold,omitempty"` + ScanInterval *string `json:"scan-interval,omitempty"` + SkipNodesWithLocalStorage *string `json:"skip-nodes-with-local-storage,omitempty"` + SkipNodesWithSystemPods *string `json:"skip-nodes-with-system-pods,omitempty"` } // +kubebuilder:validation:Enum={"Disabled","Enabled"} @@ -589,30 +253,16 @@ var managedClusterProperties_PublicNetworkAccess_Values = map[string]ManagedClus "enabled": ManagedClusterProperties_PublicNetworkAccess_Enabled, } -// Security profile for the container service cluster. type ManagedClusterSecurityProfile struct { - // AzureKeyVaultKms: Azure Key Vault [key management - // service](https://kubernetes.io/docs/tasks/administer-cluster/kms-provider/) settings for the security profile. - AzureKeyVaultKms *AzureKeyVaultKms `json:"azureKeyVaultKms,omitempty"` - - // Defender: Microsoft Defender settings for the security profile. - Defender *ManagedClusterSecurityProfileDefender `json:"defender,omitempty"` - - // ImageCleaner: Image Cleaner settings for the security profile. - ImageCleaner *ManagedClusterSecurityProfileImageCleaner `json:"imageCleaner,omitempty"` - - // WorkloadIdentity: Workload identity settings for the security profile. Workload identity enables Kubernetes applications - // to access Azure cloud resources securely with Azure AD. See https://aka.ms/aks/wi for more details. + AzureKeyVaultKms *AzureKeyVaultKms `json:"azureKeyVaultKms,omitempty"` + Defender *ManagedClusterSecurityProfileDefender `json:"defender,omitempty"` + ImageCleaner *ManagedClusterSecurityProfileImageCleaner `json:"imageCleaner,omitempty"` WorkloadIdentity *ManagedClusterSecurityProfileWorkloadIdentity `json:"workloadIdentity,omitempty"` } -// Information about a service principal identity for the cluster to use for manipulating Azure APIs. type ManagedClusterServicePrincipalProfile struct { - // ClientId: The ID for the service principal. ClientId *string `json:"clientId,omitempty"` - - // Secret: The secret password associated with the service principal in plain text. - Secret *string `json:"secret,omitempty"` + Secret *string `json:"secret,omitempty"` } // +kubebuilder:validation:Enum={"Base"} @@ -639,84 +289,35 @@ var managedClusterSKU_Tier_Values = map[string]ManagedClusterSKU_Tier{ "standard": ManagedClusterSKU_Tier_Standard, } -// Storage profile for the container service cluster. type ManagedClusterStorageProfile struct { - // BlobCSIDriver: AzureBlob CSI Driver settings for the storage profile. - BlobCSIDriver *ManagedClusterStorageProfileBlobCSIDriver `json:"blobCSIDriver,omitempty"` - - // DiskCSIDriver: AzureDisk CSI Driver settings for the storage profile. - DiskCSIDriver *ManagedClusterStorageProfileDiskCSIDriver `json:"diskCSIDriver,omitempty"` - - // FileCSIDriver: AzureFile CSI Driver settings for the storage profile. - FileCSIDriver *ManagedClusterStorageProfileFileCSIDriver `json:"fileCSIDriver,omitempty"` - - // SnapshotController: Snapshot Controller settings for the storage profile. + BlobCSIDriver *ManagedClusterStorageProfileBlobCSIDriver `json:"blobCSIDriver,omitempty"` + DiskCSIDriver *ManagedClusterStorageProfileDiskCSIDriver `json:"diskCSIDriver,omitempty"` + FileCSIDriver *ManagedClusterStorageProfileFileCSIDriver `json:"fileCSIDriver,omitempty"` SnapshotController *ManagedClusterStorageProfileSnapshotController `json:"snapshotController,omitempty"` } -// Profile for Windows VMs in the managed cluster. type ManagedClusterWindowsProfile struct { - // AdminPassword: Specifies the password of the administrator account. - // Minimum-length: 8 characters - // Max-length: 123 characters - // Complexity requirements: 3 out of 4 conditions below need to be fulfilled - // Has lower characters - // Has upper characters - // Has a digit - // Has a special character (Regex match [\W_]) - // Disallowed values: "abc@123", "P@$$w0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", - // "Password22", "iloveyou!" - AdminPassword *string `json:"adminPassword,omitempty"` - - // AdminUsername: Specifies the name of the administrator account. - // Restriction: Cannot end in "." - // Disallowed values: "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", - // "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", - // "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5". - // Minimum-length: 1 character - // Max-length: 20 characters - AdminUsername *string `json:"adminUsername,omitempty"` - - // EnableCSIProxy: For more details on CSI proxy, see the [CSI proxy GitHub - // repo](https://github.com/kubernetes-csi/csi-proxy). - EnableCSIProxy *bool `json:"enableCSIProxy,omitempty"` - - // GmsaProfile: The Windows gMSA Profile in the Managed Cluster. - GmsaProfile *WindowsGmsaProfile `json:"gmsaProfile,omitempty"` - - // LicenseType: The license type to use for Windows VMs. See [Azure Hybrid User - // Benefits](https://azure.microsoft.com/pricing/hybrid-benefit/faq/) for more details. - LicenseType *ManagedClusterWindowsProfile_LicenseType `json:"licenseType,omitempty"` -} - -// Workload Auto-scaler profile for the managed cluster. + AdminPassword *string `json:"adminPassword,omitempty"` + AdminUsername *string `json:"adminUsername,omitempty"` + EnableCSIProxy *bool `json:"enableCSIProxy,omitempty"` + GmsaProfile *WindowsGmsaProfile `json:"gmsaProfile,omitempty"` + LicenseType *ManagedClusterWindowsProfile_LicenseType `json:"licenseType,omitempty"` +} + type ManagedClusterWorkloadAutoScalerProfile struct { - // Keda: KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile. Keda *ManagedClusterWorkloadAutoScalerProfileKeda `json:"keda,omitempty"` } -// A private link resource type PrivateLinkResource struct { - // GroupId: The group ID of the resource. - GroupId *string `json:"groupId,omitempty"` - Id *string `json:"id,omitempty"` - - // Name: The name of the private link resource. - Name *string `json:"name,omitempty"` - - // RequiredMembers: The RequiredMembers of the resource + GroupId *string `json:"groupId,omitempty"` + Id *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` RequiredMembers []string `json:"requiredMembers"` - - // Type: The resource type. - Type *string `json:"type,omitempty"` + Type *string `json:"type,omitempty"` } -// Details about a user assigned identity. type UserAssignedIdentity struct { - // ClientId: The client ID of the user assigned identity. - ClientId *string `json:"clientId,omitempty"` - - // ObjectId: The object ID of the user assigned identity. + ClientId *string `json:"clientId,omitempty"` ObjectId *string `json:"objectId,omitempty"` ResourceId *string `json:"resourceId,omitempty"` } @@ -725,20 +326,9 @@ type UserAssignedIdentity struct { type UserAssignedIdentityDetails struct { } -// Azure Key Vault key management service settings for the security profile. type AzureKeyVaultKms struct { - // Enabled: Whether to enable Azure Key Vault key management service. The default is false. - Enabled *bool `json:"enabled,omitempty"` - - // KeyId: Identifier of Azure Key Vault key. See [key identifier - // format](https://docs.microsoft.com/en-us/azure/key-vault/general/about-keys-secrets-certificates#vault-name-and-object-name) - // for more details. When Azure Key Vault key management service is enabled, this field is required and must be a valid key - // identifier. When Azure Key Vault key management service is disabled, leave the field empty. - KeyId *string `json:"keyId,omitempty"` - - // KeyVaultNetworkAccess: Network access of key vault. The possible values are `Public` and `Private`. `Public` means the - // key vault allows public access from all networks. `Private` means the key vault disables public access and enables - // private link. The default value is `Public`. + Enabled *bool `json:"enabled,omitempty"` + KeyId *string `json:"keyId,omitempty"` KeyVaultNetworkAccess *AzureKeyVaultKms_KeyVaultNetworkAccess `json:"keyVaultNetworkAccess,omitempty"` KeyVaultResourceId *string `json:"keyVaultResourceId,omitempty"` } @@ -859,9 +449,7 @@ var containerServiceNetworkProfile_OutboundType_Values = map[string]ContainerSer "userdefinedrouting": ContainerServiceNetworkProfile_OutboundType_UserDefinedRouting, } -// SSH configuration for Linux-based VMs running on Azure. type ContainerServiceSshConfiguration struct { - // PublicKeys: The list of SSH public keys used to authenticate with Linux-based VMs. A maximum of 1 key may be specified. PublicKeys []ContainerServiceSshPublicKey `json:"publicKeys"` } @@ -885,84 +473,37 @@ var managedClusterAutoUpgradeProfile_UpgradeChannel_Values = map[string]ManagedC "stable": ManagedClusterAutoUpgradeProfile_UpgradeChannel_Stable, } -// Metrics profile for the Azure Monitor managed service for Prometheus addon. Collect out-of-the-box Kubernetes -// infrastructure metrics to send to an Azure Monitor Workspace and configure additional scraping for custom targets. See -// aka.ms/AzureManagedPrometheus for an overview. type ManagedClusterAzureMonitorProfileMetrics struct { - // Enabled: Whether to enable or disable the Azure Managed Prometheus addon for Prometheus monitoring. See - // aka.ms/AzureManagedPrometheus-aks-enable for details on enabling and disabling. - Enabled *bool `json:"enabled,omitempty"` - - // KubeStateMetrics: Kube State Metrics profile for the Azure Managed Prometheus addon. These optional settings are for the - // kube-state-metrics pod that is deployed with the addon. See aka.ms/AzureManagedPrometheus-optional-parameters for - // details. + Enabled *bool `json:"enabled,omitempty"` KubeStateMetrics *ManagedClusterAzureMonitorProfileKubeStateMetrics `json:"kubeStateMetrics,omitempty"` } -// Profile of the managed cluster load balancer. type ManagedClusterLoadBalancerProfile struct { - // AllocatedOutboundPorts: The desired number of allocated SNAT ports per VM. Allowed values are in the range of 0 to 64000 - // (inclusive). The default value is 0 which results in Azure dynamically allocating ports. - AllocatedOutboundPorts *int `json:"allocatedOutboundPorts,omitempty"` - - // EffectiveOutboundIPs: The effective outbound IP resources of the cluster load balancer. - EffectiveOutboundIPs []ResourceReference `json:"effectiveOutboundIPs"` - - // EnableMultipleStandardLoadBalancers: Enable multiple standard load balancers per AKS cluster or not. - EnableMultipleStandardLoadBalancers *bool `json:"enableMultipleStandardLoadBalancers,omitempty"` - - // IdleTimeoutInMinutes: Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 - // (inclusive). The default value is 30 minutes. - IdleTimeoutInMinutes *int `json:"idleTimeoutInMinutes,omitempty"` - - // ManagedOutboundIPs: Desired managed outbound IPs for the cluster load balancer. - ManagedOutboundIPs *ManagedClusterLoadBalancerProfile_ManagedOutboundIPs `json:"managedOutboundIPs,omitempty"` - - // OutboundIPPrefixes: Desired outbound IP Prefix resources for the cluster load balancer. - OutboundIPPrefixes *ManagedClusterLoadBalancerProfile_OutboundIPPrefixes `json:"outboundIPPrefixes,omitempty"` - - // OutboundIPs: Desired outbound IP resources for the cluster load balancer. - OutboundIPs *ManagedClusterLoadBalancerProfile_OutboundIPs `json:"outboundIPs,omitempty"` + AllocatedOutboundPorts *int `json:"allocatedOutboundPorts,omitempty"` + EffectiveOutboundIPs []ResourceReference `json:"effectiveOutboundIPs"` + EnableMultipleStandardLoadBalancers *bool `json:"enableMultipleStandardLoadBalancers,omitempty"` + IdleTimeoutInMinutes *int `json:"idleTimeoutInMinutes,omitempty"` + ManagedOutboundIPs *ManagedClusterLoadBalancerProfile_ManagedOutboundIPs `json:"managedOutboundIPs,omitempty"` + OutboundIPPrefixes *ManagedClusterLoadBalancerProfile_OutboundIPPrefixes `json:"outboundIPPrefixes,omitempty"` + OutboundIPs *ManagedClusterLoadBalancerProfile_OutboundIPs `json:"outboundIPs,omitempty"` } -// Profile of the managed cluster NAT gateway. type ManagedClusterNATGatewayProfile struct { - // EffectiveOutboundIPs: The effective outbound IP resources of the cluster NAT gateway. - EffectiveOutboundIPs []ResourceReference `json:"effectiveOutboundIPs"` - - // IdleTimeoutInMinutes: Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 - // (inclusive). The default value is 4 minutes. - IdleTimeoutInMinutes *int `json:"idleTimeoutInMinutes,omitempty"` - - // ManagedOutboundIPProfile: Profile of the managed outbound IP resources of the cluster NAT gateway. + EffectiveOutboundIPs []ResourceReference `json:"effectiveOutboundIPs"` + IdleTimeoutInMinutes *int `json:"idleTimeoutInMinutes,omitempty"` ManagedOutboundIPProfile *ManagedClusterManagedOutboundIPProfile `json:"managedOutboundIPProfile,omitempty"` } -// Details about the pod identity assigned to the Managed Cluster. type ManagedClusterPodIdentity struct { - // BindingSelector: The binding selector to use for the AzureIdentityBinding resource. - BindingSelector *string `json:"bindingSelector,omitempty"` - - // Identity: The user assigned identity details. - Identity *UserAssignedIdentity `json:"identity,omitempty"` - - // Name: The name of the pod identity. - Name *string `json:"name,omitempty"` - - // Namespace: The namespace of the pod identity. - Namespace *string `json:"namespace,omitempty"` + BindingSelector *string `json:"bindingSelector,omitempty"` + Identity *UserAssignedIdentity `json:"identity,omitempty"` + Name *string `json:"name,omitempty"` + Namespace *string `json:"namespace,omitempty"` } -// See [disable AAD Pod Identity for a specific -// Pod/Application](https://azure.github.io/aad-pod-identity/docs/configure/application_exception/) for more details. type ManagedClusterPodIdentityException struct { - // Name: The name of the pod identity exception. - Name *string `json:"name,omitempty"` - - // Namespace: The namespace of the pod identity exception. - Namespace *string `json:"namespace,omitempty"` - - // PodLabels: The pod labels to match. + Name *string `json:"name,omitempty"` + Namespace *string `json:"namespace,omitempty"` PodLabels map[string]string `json:"podLabels"` } @@ -984,51 +525,33 @@ var managedClusterProperties_AutoScalerProfile_Expander_Values = map[string]Mana "random": ManagedClusterProperties_AutoScalerProfile_Expander_Random, } -// Microsoft Defender settings for the security profile. type ManagedClusterSecurityProfileDefender struct { - LogAnalyticsWorkspaceResourceId *string `json:"logAnalyticsWorkspaceResourceId,omitempty"` - - // SecurityMonitoring: Microsoft Defender threat detection for Cloud settings for the security profile. - SecurityMonitoring *ManagedClusterSecurityProfileDefenderSecurityMonitoring `json:"securityMonitoring,omitempty"` + LogAnalyticsWorkspaceResourceId *string `json:"logAnalyticsWorkspaceResourceId,omitempty"` + SecurityMonitoring *ManagedClusterSecurityProfileDefenderSecurityMonitoring `json:"securityMonitoring,omitempty"` } -// Image Cleaner removes unused images from nodes, freeing up disk space and helping to reduce attack surface area. Here -// are settings for the security profile. type ManagedClusterSecurityProfileImageCleaner struct { - // Enabled: Whether to enable Image Cleaner on AKS cluster. - Enabled *bool `json:"enabled,omitempty"` - - // IntervalHours: Image Cleaner scanning interval in hours. - IntervalHours *int `json:"intervalHours,omitempty"` + Enabled *bool `json:"enabled,omitempty"` + IntervalHours *int `json:"intervalHours,omitempty"` } -// Workload identity settings for the security profile. type ManagedClusterSecurityProfileWorkloadIdentity struct { - // Enabled: Whether to enable workload identity. Enabled *bool `json:"enabled,omitempty"` } -// AzureBlob CSI Driver settings for the storage profile. type ManagedClusterStorageProfileBlobCSIDriver struct { - // Enabled: Whether to enable AzureBlob CSI Driver. The default value is false. Enabled *bool `json:"enabled,omitempty"` } -// AzureDisk CSI Driver settings for the storage profile. type ManagedClusterStorageProfileDiskCSIDriver struct { - // Enabled: Whether to enable AzureDisk CSI Driver. The default value is true. Enabled *bool `json:"enabled,omitempty"` } -// AzureFile CSI Driver settings for the storage profile. type ManagedClusterStorageProfileFileCSIDriver struct { - // Enabled: Whether to enable AzureFile CSI Driver. The default value is true. Enabled *bool `json:"enabled,omitempty"` } -// Snapshot Controller settings for the storage profile. type ManagedClusterStorageProfileSnapshotController struct { - // Enabled: Whether to enable Snapshot Controller. The default value is true. Enabled *bool `json:"enabled,omitempty"` } @@ -1046,23 +569,13 @@ var managedClusterWindowsProfile_LicenseType_Values = map[string]ManagedClusterW "windows_server": ManagedClusterWindowsProfile_LicenseType_Windows_Server, } -// KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile. type ManagedClusterWorkloadAutoScalerProfileKeda struct { - // Enabled: Whether to enable KEDA. Enabled *bool `json:"enabled,omitempty"` } -// Windows gMSA Profile in the managed cluster. type WindowsGmsaProfile struct { - // DnsServer: Specifies the DNS server for Windows gMSA. - // Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster. - DnsServer *string `json:"dnsServer,omitempty"` - - // Enabled: Specifies whether to enable Windows gMSA in the managed cluster. - Enabled *bool `json:"enabled,omitempty"` - - // RootDomainName: Specifies the root domain name for Windows gMSA. - // Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster. + DnsServer *string `json:"dnsServer,omitempty"` + Enabled *bool `json:"enabled,omitempty"` RootDomainName *string `json:"rootDomainName,omitempty"` } @@ -1080,62 +593,36 @@ var azureKeyVaultKms_KeyVaultNetworkAccess_Values = map[string]AzureKeyVaultKms_ "public": AzureKeyVaultKms_KeyVaultNetworkAccess_Public, } -// Contains information about SSH certificate public key data. type ContainerServiceSshPublicKey struct { - // KeyData: Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or - // without headers. KeyData *string `json:"keyData,omitempty"` } -// Kube State Metrics profile for the Azure Managed Prometheus addon. These optional settings are for the -// kube-state-metrics pod that is deployed with the addon. See aka.ms/AzureManagedPrometheus-optional-parameters for -// details. type ManagedClusterAzureMonitorProfileKubeStateMetrics struct { - // MetricAnnotationsAllowList: Comma-separated list of Kubernetes annotation keys that will be used in the resource's - // labels metric (Example: 'namespaces=[kubernetes.io/team,...],pods=[kubernetes.io/team],...'). By default the metric - // contains only resource name and namespace labels. MetricAnnotationsAllowList *string `json:"metricAnnotationsAllowList,omitempty"` - - // MetricLabelsAllowlist: Comma-separated list of additional Kubernetes label keys that will be used in the resource's - // labels metric (Example: 'namespaces=[k8s-label-1,k8s-label-n,...],pods=[app],...'). By default the metric contains only - // resource name and namespace labels. - MetricLabelsAllowlist *string `json:"metricLabelsAllowlist,omitempty"` + MetricLabelsAllowlist *string `json:"metricLabelsAllowlist,omitempty"` } type ManagedClusterLoadBalancerProfile_ManagedOutboundIPs struct { - // Count: The desired number of IPv4 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values - // must be in the range of 1 to 100 (inclusive). The default value is 1. - Count *int `json:"count,omitempty"` - - // CountIPv6: The desired number of IPv6 outbound IPs created/managed by Azure for the cluster load balancer. Allowed - // values must be in the range of 1 to 100 (inclusive). The default value is 0 for single-stack and 1 for dual-stack. + Count *int `json:"count,omitempty"` CountIPv6 *int `json:"countIPv6,omitempty"` } type ManagedClusterLoadBalancerProfile_OutboundIPPrefixes struct { - // PublicIPPrefixes: A list of public IP prefix resources. PublicIPPrefixes []ResourceReference `json:"publicIPPrefixes"` } type ManagedClusterLoadBalancerProfile_OutboundIPs struct { - // PublicIPs: A list of public IP resources. PublicIPs []ResourceReference `json:"publicIPs"` } -// Profile of the managed outbound IP resources of the managed cluster. type ManagedClusterManagedOutboundIPProfile struct { - // Count: The desired number of outbound IPs created/managed by Azure. Allowed values must be in the range of 1 to 16 - // (inclusive). The default value is 1. Count *int `json:"count,omitempty"` } -// Microsoft Defender settings for the security profile threat detection. type ManagedClusterSecurityProfileDefenderSecurityMonitoring struct { - // Enabled: Whether to enable Defender threat detection Enabled *bool `json:"enabled,omitempty"` } -// A reference to an Azure resource. type ResourceReference struct { Id *string `json:"id,omitempty"` } diff --git a/v2/api/containerservice/v1api20230201/arm/managed_cluster_status_types_gen.go b/v2/api/containerservice/v1api20230201/arm/managed_cluster_status_types_gen.go index 1d070fd98be..ba95f0622c7 100644 --- a/v2/api/containerservice/v1api20230201/arm/managed_cluster_status_types_gen.go +++ b/v2/api/containerservice/v1api20230201/arm/managed_cluster_status_types_gen.go @@ -3,292 +3,107 @@ // Licensed under the MIT license. package arm -// Managed cluster. type ManagedCluster_STATUS struct { - // ExtendedLocation: The extended location of the Virtual Machine. - ExtendedLocation *ExtendedLocation_STATUS `json:"extendedLocation,omitempty"` - - // Id: Fully qualified resource ID for the resource. Ex - - // /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} - Id *string `json:"id,omitempty"` - - // Identity: The identity of the managed cluster, if configured. - Identity *ManagedClusterIdentity_STATUS `json:"identity,omitempty"` - - // Location: The geo-location where the resource lives - Location *string `json:"location,omitempty"` - - // Name: The name of the resource - Name *string `json:"name,omitempty"` - - // Properties: Properties of a managed cluster. - Properties *ManagedClusterProperties_STATUS `json:"properties,omitempty"` - - // Sku: The managed cluster SKU. - Sku *ManagedClusterSKU_STATUS `json:"sku,omitempty"` - - // SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information. - SystemData *SystemData_STATUS `json:"systemData,omitempty"` - - // Tags: Resource tags. - Tags map[string]string `json:"tags"` - - // Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" - Type *string `json:"type,omitempty"` + ExtendedLocation *ExtendedLocation_STATUS `json:"extendedLocation,omitempty"` + Id *string `json:"id,omitempty"` + Identity *ManagedClusterIdentity_STATUS `json:"identity,omitempty"` + Location *string `json:"location,omitempty"` + Name *string `json:"name,omitempty"` + Properties *ManagedClusterProperties_STATUS `json:"properties,omitempty"` + Sku *ManagedClusterSKU_STATUS `json:"sku,omitempty"` + SystemData *SystemData_STATUS `json:"systemData,omitempty"` + Tags map[string]string `json:"tags"` + Type *string `json:"type,omitempty"` } -// The complex type of the extended location. type ExtendedLocation_STATUS struct { - // Name: The name of the extended location. - Name *string `json:"name,omitempty"` - - // Type: The type of the extended location. + Name *string `json:"name,omitempty"` Type *ExtendedLocationType_STATUS `json:"type,omitempty"` } -// Identity for the managed cluster. type ManagedClusterIdentity_STATUS struct { - // PrincipalId: The principal id of the system assigned identity which is used by master components. - PrincipalId *string `json:"principalId,omitempty"` - - // TenantId: The tenant id of the system assigned identity which is used by master components. - TenantId *string `json:"tenantId,omitempty"` - - // Type: For more information see [use managed identities in - // AKS](https://docs.microsoft.com/azure/aks/use-managed-identity). - Type *ManagedClusterIdentity_Type_STATUS `json:"type,omitempty"` - - // UserAssignedIdentities: The keys must be ARM resource IDs in the form: - // '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + PrincipalId *string `json:"principalId,omitempty"` + TenantId *string `json:"tenantId,omitempty"` + Type *ManagedClusterIdentity_Type_STATUS `json:"type,omitempty"` UserAssignedIdentities map[string]ManagedClusterIdentity_UserAssignedIdentities_STATUS `json:"userAssignedIdentities"` } -// Properties of the managed cluster. type ManagedClusterProperties_STATUS struct { - // AadProfile: The Azure Active Directory configuration. - AadProfile *ManagedClusterAADProfile_STATUS `json:"aadProfile,omitempty"` - - // AddonProfiles: The profile of managed cluster add-on. - AddonProfiles map[string]ManagedClusterAddonProfile_STATUS `json:"addonProfiles"` - - // AgentPoolProfiles: The agent pool properties. - AgentPoolProfiles []ManagedClusterAgentPoolProfile_STATUS `json:"agentPoolProfiles"` - - // ApiServerAccessProfile: The access profile for managed cluster API server. - ApiServerAccessProfile *ManagedClusterAPIServerAccessProfile_STATUS `json:"apiServerAccessProfile,omitempty"` - - // AutoScalerProfile: Parameters to be applied to the cluster-autoscaler when enabled - AutoScalerProfile *ManagedClusterProperties_AutoScalerProfile_STATUS `json:"autoScalerProfile,omitempty"` - - // AutoUpgradeProfile: The auto upgrade configuration. - AutoUpgradeProfile *ManagedClusterAutoUpgradeProfile_STATUS `json:"autoUpgradeProfile,omitempty"` - - // AzureMonitorProfile: Azure Monitor addon profiles for monitoring the managed cluster. - AzureMonitorProfile *ManagedClusterAzureMonitorProfile_STATUS `json:"azureMonitorProfile,omitempty"` - - // AzurePortalFQDN: The Azure Portal requires certain Cross-Origin Resource Sharing (CORS) headers to be sent in some - // responses, which Kubernetes APIServer doesn't handle by default. This special FQDN supports CORS, allowing the Azure - // Portal to function properly. - AzurePortalFQDN *string `json:"azurePortalFQDN,omitempty"` - - // CurrentKubernetesVersion: If kubernetesVersion was a fully specified version , this field will be - // exactly equal to it. If kubernetesVersion was , this field will contain the full - // version being used. - CurrentKubernetesVersion *string `json:"currentKubernetesVersion,omitempty"` - - // DisableLocalAccounts: If set to true, getting static credentials will be disabled for this cluster. This must only be - // used on Managed Clusters that are AAD enabled. For more details see [disable local - // accounts](https://docs.microsoft.com/azure/aks/managed-aad#disable-local-accounts-preview). - DisableLocalAccounts *bool `json:"disableLocalAccounts,omitempty"` - - // DiskEncryptionSetID: This is of the form: - // '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}' - DiskEncryptionSetID *string `json:"diskEncryptionSetID,omitempty"` - - // DnsPrefix: This cannot be updated once the Managed Cluster has been created. - DnsPrefix *string `json:"dnsPrefix,omitempty"` - - // EnablePodSecurityPolicy: (DEPRECATED) Whether to enable Kubernetes pod security policy (preview). PodSecurityPolicy was - // deprecated in Kubernetes v1.21, and removed from Kubernetes in v1.25. Learn more at https://aka.ms/k8s/psp and - // https://aka.ms/aks/psp. - EnablePodSecurityPolicy *bool `json:"enablePodSecurityPolicy,omitempty"` - - // EnableRBAC: Whether to enable Kubernetes Role-Based Access Control. - EnableRBAC *bool `json:"enableRBAC,omitempty"` - - // Fqdn: The FQDN of the master pool. - Fqdn *string `json:"fqdn,omitempty"` - - // FqdnSubdomain: This cannot be updated once the Managed Cluster has been created. - FqdnSubdomain *string `json:"fqdnSubdomain,omitempty"` - - // HttpProxyConfig: Configurations for provisioning the cluster with HTTP proxy servers. - HttpProxyConfig *ManagedClusterHTTPProxyConfig_STATUS `json:"httpProxyConfig,omitempty"` - - // IdentityProfile: Identities associated with the cluster. - IdentityProfile map[string]UserAssignedIdentity_STATUS `json:"identityProfile"` - - // KubernetesVersion: Both patch version (e.g. 1.20.13) and (e.g. 1.20) are supported. - // When is specified, the latest supported GA patch version is chosen automatically. Updating the cluster - // with the same once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer - // patch version is available. When you upgrade a supported AKS cluster, Kubernetes minor versions cannot be skipped. All - // upgrades must be performed sequentially by major version number. For example, upgrades between 1.14.x -> 1.15.x or - // 1.15.x -> 1.16.x are allowed, however 1.14.x -> 1.16.x is not allowed. See [upgrading an AKS - // cluster](https://docs.microsoft.com/azure/aks/upgrade-cluster) for more details. - KubernetesVersion *string `json:"kubernetesVersion,omitempty"` - - // LinuxProfile: The profile for Linux VMs in the Managed Cluster. - LinuxProfile *ContainerServiceLinuxProfile_STATUS `json:"linuxProfile,omitempty"` - - // MaxAgentPools: The max number of agent pools for the managed cluster. - MaxAgentPools *int `json:"maxAgentPools,omitempty"` - - // NetworkProfile: The network configuration profile. - NetworkProfile *ContainerServiceNetworkProfile_STATUS `json:"networkProfile,omitempty"` - - // NodeResourceGroup: The name of the resource group containing agent pool nodes. - NodeResourceGroup *string `json:"nodeResourceGroup,omitempty"` - - // OidcIssuerProfile: The OIDC issuer profile of the Managed Cluster. - OidcIssuerProfile *ManagedClusterOIDCIssuerProfile_STATUS `json:"oidcIssuerProfile,omitempty"` - - // PodIdentityProfile: See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more - // details on AAD pod identity integration. - PodIdentityProfile *ManagedClusterPodIdentityProfile_STATUS `json:"podIdentityProfile,omitempty"` - - // PowerState: The Power State of the cluster. - PowerState *PowerState_STATUS `json:"powerState,omitempty"` - - // PrivateFQDN: The FQDN of private cluster. - PrivateFQDN *string `json:"privateFQDN,omitempty"` - - // PrivateLinkResources: Private link resources associated with the cluster. - PrivateLinkResources []PrivateLinkResource_STATUS `json:"privateLinkResources"` - - // ProvisioningState: The current provisioning state. - ProvisioningState *string `json:"provisioningState,omitempty"` - - // PublicNetworkAccess: Allow or deny public network access for AKS - PublicNetworkAccess *ManagedClusterProperties_PublicNetworkAccess_STATUS `json:"publicNetworkAccess,omitempty"` - - // SecurityProfile: Security profile for the managed cluster. - SecurityProfile *ManagedClusterSecurityProfile_STATUS `json:"securityProfile,omitempty"` - - // ServicePrincipalProfile: Information about a service principal identity for the cluster to use for manipulating Azure - // APIs. - ServicePrincipalProfile *ManagedClusterServicePrincipalProfile_STATUS `json:"servicePrincipalProfile,omitempty"` - - // StorageProfile: Storage profile for the managed cluster. - StorageProfile *ManagedClusterStorageProfile_STATUS `json:"storageProfile,omitempty"` - - // WindowsProfile: The profile for Windows VMs in the Managed Cluster. - WindowsProfile *ManagedClusterWindowsProfile_STATUS `json:"windowsProfile,omitempty"` - - // WorkloadAutoScalerProfile: Workload Auto-scaler profile for the managed cluster. - WorkloadAutoScalerProfile *ManagedClusterWorkloadAutoScalerProfile_STATUS `json:"workloadAutoScalerProfile,omitempty"` + AadProfile *ManagedClusterAADProfile_STATUS `json:"aadProfile,omitempty"` + AddonProfiles map[string]ManagedClusterAddonProfile_STATUS `json:"addonProfiles"` + AgentPoolProfiles []ManagedClusterAgentPoolProfile_STATUS `json:"agentPoolProfiles"` + ApiServerAccessProfile *ManagedClusterAPIServerAccessProfile_STATUS `json:"apiServerAccessProfile,omitempty"` + AutoScalerProfile *ManagedClusterProperties_AutoScalerProfile_STATUS `json:"autoScalerProfile,omitempty"` + AutoUpgradeProfile *ManagedClusterAutoUpgradeProfile_STATUS `json:"autoUpgradeProfile,omitempty"` + AzureMonitorProfile *ManagedClusterAzureMonitorProfile_STATUS `json:"azureMonitorProfile,omitempty"` + AzurePortalFQDN *string `json:"azurePortalFQDN,omitempty"` + CurrentKubernetesVersion *string `json:"currentKubernetesVersion,omitempty"` + DisableLocalAccounts *bool `json:"disableLocalAccounts,omitempty"` + DiskEncryptionSetID *string `json:"diskEncryptionSetID,omitempty"` + DnsPrefix *string `json:"dnsPrefix,omitempty"` + EnablePodSecurityPolicy *bool `json:"enablePodSecurityPolicy,omitempty"` + EnableRBAC *bool `json:"enableRBAC,omitempty"` + Fqdn *string `json:"fqdn,omitempty"` + FqdnSubdomain *string `json:"fqdnSubdomain,omitempty"` + HttpProxyConfig *ManagedClusterHTTPProxyConfig_STATUS `json:"httpProxyConfig,omitempty"` + IdentityProfile map[string]UserAssignedIdentity_STATUS `json:"identityProfile"` + KubernetesVersion *string `json:"kubernetesVersion,omitempty"` + LinuxProfile *ContainerServiceLinuxProfile_STATUS `json:"linuxProfile,omitempty"` + MaxAgentPools *int `json:"maxAgentPools,omitempty"` + NetworkProfile *ContainerServiceNetworkProfile_STATUS `json:"networkProfile,omitempty"` + NodeResourceGroup *string `json:"nodeResourceGroup,omitempty"` + OidcIssuerProfile *ManagedClusterOIDCIssuerProfile_STATUS `json:"oidcIssuerProfile,omitempty"` + PodIdentityProfile *ManagedClusterPodIdentityProfile_STATUS `json:"podIdentityProfile,omitempty"` + PowerState *PowerState_STATUS `json:"powerState,omitempty"` + PrivateFQDN *string `json:"privateFQDN,omitempty"` + PrivateLinkResources []PrivateLinkResource_STATUS `json:"privateLinkResources"` + ProvisioningState *string `json:"provisioningState,omitempty"` + PublicNetworkAccess *ManagedClusterProperties_PublicNetworkAccess_STATUS `json:"publicNetworkAccess,omitempty"` + SecurityProfile *ManagedClusterSecurityProfile_STATUS `json:"securityProfile,omitempty"` + ServicePrincipalProfile *ManagedClusterServicePrincipalProfile_STATUS `json:"servicePrincipalProfile,omitempty"` + StorageProfile *ManagedClusterStorageProfile_STATUS `json:"storageProfile,omitempty"` + WindowsProfile *ManagedClusterWindowsProfile_STATUS `json:"windowsProfile,omitempty"` + WorkloadAutoScalerProfile *ManagedClusterWorkloadAutoScalerProfile_STATUS `json:"workloadAutoScalerProfile,omitempty"` } -// The SKU of a Managed Cluster. type ManagedClusterSKU_STATUS struct { - // Name: The name of a managed cluster SKU. Name *ManagedClusterSKU_Name_STATUS `json:"name,omitempty"` - - // Tier: If not specified, the default is 'Free'. See [AKS Pricing - // Tier](https://learn.microsoft.com/azure/aks/free-standard-pricing-tiers) for more details. Tier *ManagedClusterSKU_Tier_STATUS `json:"tier,omitempty"` } -// Metadata pertaining to creation and last modification of the resource. type SystemData_STATUS struct { - // CreatedAt: The timestamp of resource creation (UTC). - CreatedAt *string `json:"createdAt,omitempty"` - - // CreatedBy: The identity that created the resource. - CreatedBy *string `json:"createdBy,omitempty"` - - // CreatedByType: The type of identity that created the resource. - CreatedByType *SystemData_CreatedByType_STATUS `json:"createdByType,omitempty"` - - // LastModifiedAt: The timestamp of resource last modification (UTC) - LastModifiedAt *string `json:"lastModifiedAt,omitempty"` - - // LastModifiedBy: The identity that last modified the resource. - LastModifiedBy *string `json:"lastModifiedBy,omitempty"` - - // LastModifiedByType: The type of identity that last modified the resource. + CreatedAt *string `json:"createdAt,omitempty"` + CreatedBy *string `json:"createdBy,omitempty"` + CreatedByType *SystemData_CreatedByType_STATUS `json:"createdByType,omitempty"` + LastModifiedAt *string `json:"lastModifiedAt,omitempty"` + LastModifiedBy *string `json:"lastModifiedBy,omitempty"` LastModifiedByType *SystemData_LastModifiedByType_STATUS `json:"lastModifiedByType,omitempty"` } -// Profile for Linux VMs in the container service cluster. type ContainerServiceLinuxProfile_STATUS struct { - // AdminUsername: The administrator username to use for Linux VMs. - AdminUsername *string `json:"adminUsername,omitempty"` - - // Ssh: The SSH configuration for Linux-based VMs running on Azure. - Ssh *ContainerServiceSshConfiguration_STATUS `json:"ssh,omitempty"` + AdminUsername *string `json:"adminUsername,omitempty"` + Ssh *ContainerServiceSshConfiguration_STATUS `json:"ssh,omitempty"` } -// Profile of network configuration. type ContainerServiceNetworkProfile_STATUS struct { - // DnsServiceIP: An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address - // range specified in serviceCidr. - DnsServiceIP *string `json:"dnsServiceIP,omitempty"` - - // DockerBridgeCidr: A CIDR notation IP range assigned to the Docker bridge network. It must not overlap with any Subnet IP - // ranges or the Kubernetes service address range. - DockerBridgeCidr *string `json:"dockerBridgeCidr,omitempty"` - - // IpFamilies: IP families are used to determine single-stack or dual-stack clusters. For single-stack, the expected value - // is IPv4. For dual-stack, the expected values are IPv4 and IPv6. - IpFamilies []ContainerServiceNetworkProfile_IpFamilies_STATUS `json:"ipFamilies"` - - // LoadBalancerProfile: Profile of the cluster load balancer. - LoadBalancerProfile *ManagedClusterLoadBalancerProfile_STATUS `json:"loadBalancerProfile,omitempty"` - - // LoadBalancerSku: The default is 'standard'. See [Azure Load Balancer - // SKUs](https://docs.microsoft.com/azure/load-balancer/skus) for more information about the differences between load - // balancer SKUs. - LoadBalancerSku *ContainerServiceNetworkProfile_LoadBalancerSku_STATUS `json:"loadBalancerSku,omitempty"` - - // NatGatewayProfile: Profile of the cluster NAT gateway. - NatGatewayProfile *ManagedClusterNATGatewayProfile_STATUS `json:"natGatewayProfile,omitempty"` - - // NetworkDataplane: Network dataplane used in the Kubernetes cluster. - NetworkDataplane *ContainerServiceNetworkProfile_NetworkDataplane_STATUS `json:"networkDataplane,omitempty"` - - // NetworkMode: This cannot be specified if networkPlugin is anything other than 'azure'. - NetworkMode *ContainerServiceNetworkProfile_NetworkMode_STATUS `json:"networkMode,omitempty"` - - // NetworkPlugin: Network plugin used for building the Kubernetes network. - NetworkPlugin *ContainerServiceNetworkProfile_NetworkPlugin_STATUS `json:"networkPlugin,omitempty"` - - // NetworkPluginMode: The mode the network plugin should use. - NetworkPluginMode *ContainerServiceNetworkProfile_NetworkPluginMode_STATUS `json:"networkPluginMode,omitempty"` - - // NetworkPolicy: Network policy used for building the Kubernetes network. - NetworkPolicy *ContainerServiceNetworkProfile_NetworkPolicy_STATUS `json:"networkPolicy,omitempty"` - - // OutboundType: This can only be set at cluster creation time and cannot be changed later. For more information see - // [egress outbound type](https://docs.microsoft.com/azure/aks/egress-outboundtype). - OutboundType *ContainerServiceNetworkProfile_OutboundType_STATUS `json:"outboundType,omitempty"` - - // PodCidr: A CIDR notation IP range from which to assign pod IPs when kubenet is used. - PodCidr *string `json:"podCidr,omitempty"` - - // PodCidrs: One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is - // expected for dual-stack networking. - PodCidrs []string `json:"podCidrs"` - - // ServiceCidr: A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP - // ranges. - ServiceCidr *string `json:"serviceCidr,omitempty"` - - // ServiceCidrs: One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is - // expected for dual-stack networking. They must not overlap with any Subnet IP ranges. - ServiceCidrs []string `json:"serviceCidrs"` + DnsServiceIP *string `json:"dnsServiceIP,omitempty"` + DockerBridgeCidr *string `json:"dockerBridgeCidr,omitempty"` + IpFamilies []ContainerServiceNetworkProfile_IpFamilies_STATUS `json:"ipFamilies"` + LoadBalancerProfile *ManagedClusterLoadBalancerProfile_STATUS `json:"loadBalancerProfile,omitempty"` + LoadBalancerSku *ContainerServiceNetworkProfile_LoadBalancerSku_STATUS `json:"loadBalancerSku,omitempty"` + NatGatewayProfile *ManagedClusterNATGatewayProfile_STATUS `json:"natGatewayProfile,omitempty"` + NetworkDataplane *ContainerServiceNetworkProfile_NetworkDataplane_STATUS `json:"networkDataplane,omitempty"` + NetworkMode *ContainerServiceNetworkProfile_NetworkMode_STATUS `json:"networkMode,omitempty"` + NetworkPlugin *ContainerServiceNetworkProfile_NetworkPlugin_STATUS `json:"networkPlugin,omitempty"` + NetworkPluginMode *ContainerServiceNetworkProfile_NetworkPluginMode_STATUS `json:"networkPluginMode,omitempty"` + NetworkPolicy *ContainerServiceNetworkProfile_NetworkPolicy_STATUS `json:"networkPolicy,omitempty"` + OutboundType *ContainerServiceNetworkProfile_OutboundType_STATUS `json:"outboundType,omitempty"` + PodCidr *string `json:"podCidr,omitempty"` + PodCidrs []string `json:"podCidrs"` + ServiceCidr *string `json:"serviceCidr,omitempty"` + ServiceCidrs []string `json:"serviceCidrs"` } -// The type of extendedLocation. type ExtendedLocationType_STATUS string const ExtendedLocationType_STATUS_EdgeZone = ExtendedLocationType_STATUS("EdgeZone") @@ -298,259 +113,88 @@ var extendedLocationType_STATUS_Values = map[string]ExtendedLocationType_STATUS{ "edgezone": ExtendedLocationType_STATUS_EdgeZone, } -// For more details see [managed AAD on AKS](https://docs.microsoft.com/azure/aks/managed-aad). type ManagedClusterAADProfile_STATUS struct { - // AdminGroupObjectIDs: The list of AAD group object IDs that will have admin role of the cluster. AdminGroupObjectIDs []string `json:"adminGroupObjectIDs"` - - // ClientAppID: (DEPRECATED) The client AAD application ID. Learn more at https://aka.ms/aks/aad-legacy. - ClientAppID *string `json:"clientAppID,omitempty"` - - // EnableAzureRBAC: Whether to enable Azure RBAC for Kubernetes authorization. - EnableAzureRBAC *bool `json:"enableAzureRBAC,omitempty"` - - // Managed: Whether to enable managed AAD. - Managed *bool `json:"managed,omitempty"` - - // ServerAppID: (DEPRECATED) The server AAD application ID. Learn more at https://aka.ms/aks/aad-legacy. - ServerAppID *string `json:"serverAppID,omitempty"` - - // ServerAppSecret: (DEPRECATED) The server AAD application secret. Learn more at https://aka.ms/aks/aad-legacy. - ServerAppSecret *string `json:"serverAppSecret,omitempty"` - - // TenantID: The AAD tenant ID to use for authentication. If not specified, will use the tenant of the deployment - // subscription. - TenantID *string `json:"tenantID,omitempty"` + ClientAppID *string `json:"clientAppID,omitempty"` + EnableAzureRBAC *bool `json:"enableAzureRBAC,omitempty"` + Managed *bool `json:"managed,omitempty"` + ServerAppID *string `json:"serverAppID,omitempty"` + ServerAppSecret *string `json:"serverAppSecret,omitempty"` + TenantID *string `json:"tenantID,omitempty"` } -// A Kubernetes add-on profile for a managed cluster. type ManagedClusterAddonProfile_STATUS struct { - // Config: Key-value pairs for configuring an add-on. - Config map[string]string `json:"config"` - - // Enabled: Whether the add-on is enabled or not. - Enabled *bool `json:"enabled,omitempty"` - - // Identity: Information of user assigned identity used by this add-on. + Config map[string]string `json:"config"` + Enabled *bool `json:"enabled,omitempty"` Identity *UserAssignedIdentity_STATUS `json:"identity,omitempty"` } -// Profile for the container service agent pool. type ManagedClusterAgentPoolProfile_STATUS struct { - // AvailabilityZones: The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType - // property is 'VirtualMachineScaleSets'. - AvailabilityZones []string `json:"availabilityZones"` - - // Count: Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) - // for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1. - Count *int `json:"count,omitempty"` - - // CreationData: CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using - // a snapshot. - CreationData *CreationData_STATUS `json:"creationData,omitempty"` - - // CurrentOrchestratorVersion: If orchestratorVersion is a fully specified version , this field will be - // exactly equal to it. If orchestratorVersion is , this field will contain the full - // version being used. - CurrentOrchestratorVersion *string `json:"currentOrchestratorVersion,omitempty"` - - // EnableAutoScaling: Whether to enable auto-scaler - EnableAutoScaling *bool `json:"enableAutoScaling,omitempty"` - - // EnableEncryptionAtHost: This is only supported on certain VM sizes and in certain Azure regions. For more information, - // see: https://docs.microsoft.com/azure/aks/enable-host-encryption - EnableEncryptionAtHost *bool `json:"enableEncryptionAtHost,omitempty"` - - // EnableFIPS: See [Add a FIPS-enabled node - // pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more - // details. - EnableFIPS *bool `json:"enableFIPS,omitempty"` - - // EnableNodePublicIP: Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. - // A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine - // to minimize hops. For more information see [assigning a public IP per - // node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The - // default is false. - EnableNodePublicIP *bool `json:"enableNodePublicIP,omitempty"` - - // EnableUltraSSD: Whether to enable UltraSSD - EnableUltraSSD *bool `json:"enableUltraSSD,omitempty"` - - // GpuInstanceProfile: GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU. - GpuInstanceProfile *GPUInstanceProfile_STATUS `json:"gpuInstanceProfile,omitempty"` - - // HostGroupID: This is of the form: - // /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. - // For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). - HostGroupID *string `json:"hostGroupID,omitempty"` - - // KubeletConfig: The Kubelet configuration on the agent pool nodes. - KubeletConfig *KubeletConfig_STATUS `json:"kubeletConfig,omitempty"` - - // KubeletDiskType: Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral - // storage. - KubeletDiskType *KubeletDiskType_STATUS `json:"kubeletDiskType,omitempty"` - - // LinuxOSConfig: The OS configuration of Linux agent nodes. - LinuxOSConfig *LinuxOSConfig_STATUS `json:"linuxOSConfig,omitempty"` - - // MaxCount: The maximum number of nodes for auto-scaling - MaxCount *int `json:"maxCount,omitempty"` - - // MaxPods: The maximum number of pods that can run on a node. - MaxPods *int `json:"maxPods,omitempty"` - - // MinCount: The minimum number of nodes for auto-scaling - MinCount *int `json:"minCount,omitempty"` - - // Mode: A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool - // restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools - Mode *AgentPoolMode_STATUS `json:"mode,omitempty"` - - // Name: Windows agent pool names must be 6 characters or less. - Name *string `json:"name,omitempty"` - - // NodeImageVersion: The version of node image - NodeImageVersion *string `json:"nodeImageVersion,omitempty"` - - // NodeLabels: The node labels to be persisted across all nodes in agent pool. - NodeLabels map[string]string `json:"nodeLabels"` - - // NodePublicIPPrefixID: This is of the form: - // /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} - NodePublicIPPrefixID *string `json:"nodePublicIPPrefixID,omitempty"` - - // NodeTaints: The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule. - NodeTaints []string `json:"nodeTaints"` - - // OrchestratorVersion: Both patch version (e.g. 1.20.13) and (e.g. 1.20) are supported. - // When is specified, the latest supported GA patch version is chosen automatically. Updating the cluster - // with the same once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer - // patch version is available. As a best practice, you should upgrade all node pools in an AKS cluster to the same - // Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor - // version must be within two minor versions of the control plane version. The node pool version cannot be greater than the - // control plane version. For more information see [upgrading a node - // pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). - OrchestratorVersion *string `json:"orchestratorVersion,omitempty"` - OsDiskSizeGB *int `json:"osDiskSizeGB,omitempty"` - - // OsDiskType: The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested - // OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral - // OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). - OsDiskType *OSDiskType_STATUS `json:"osDiskType,omitempty"` - - // OsSKU: Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 - // when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows. - OsSKU *OSSKU_STATUS `json:"osSKU,omitempty"` - - // OsType: The operating system type. The default is Linux. - OsType *OSType_STATUS `json:"osType,omitempty"` - - // PodSubnetID: If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). This is - // of the form: - // /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} - PodSubnetID *string `json:"podSubnetID,omitempty"` - - // PowerState: When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this - // field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only - // be stopped if it is Running and provisioning state is Succeeded - PowerState *PowerState_STATUS `json:"powerState,omitempty"` - - // ProvisioningState: The current deployment or provisioning state. - ProvisioningState *string `json:"provisioningState,omitempty"` - - // ProximityPlacementGroupID: The ID for Proximity Placement Group. - ProximityPlacementGroupID *string `json:"proximityPlacementGroupID,omitempty"` - - // ScaleDownMode: This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete. - ScaleDownMode *ScaleDownMode_STATUS `json:"scaleDownMode,omitempty"` - - // ScaleSetEvictionPolicy: This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is - // 'Delete'. - ScaleSetEvictionPolicy *ScaleSetEvictionPolicy_STATUS `json:"scaleSetEvictionPolicy,omitempty"` - - // ScaleSetPriority: The Virtual Machine Scale Set priority. If not specified, the default is 'Regular'. - ScaleSetPriority *ScaleSetPriority_STATUS `json:"scaleSetPriority,omitempty"` - - // SpotMaxPrice: Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any - // on-demand price. For more details on spot pricing, see [spot VMs - // pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing) - SpotMaxPrice *float64 `json:"spotMaxPrice,omitempty"` - - // Tags: The tags to be persisted on the agent pool virtual machine scale set. - Tags map[string]string `json:"tags"` - - // Type: The type of Agent Pool. - Type *AgentPoolType_STATUS `json:"type,omitempty"` - - // UpgradeSettings: Settings for upgrading the agentpool - UpgradeSettings *AgentPoolUpgradeSettings_STATUS `json:"upgradeSettings,omitempty"` - - // VmSize: VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods - // might fail to run correctly. For more details on restricted VM sizes, see: - // https://docs.microsoft.com/azure/aks/quotas-skus-regions - VmSize *string `json:"vmSize,omitempty"` - - // VnetSubnetID: If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is specified, - // this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: - // /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} - VnetSubnetID *string `json:"vnetSubnetID,omitempty"` - - // WorkloadRuntime: Determines the type of workload a node can run. - WorkloadRuntime *WorkloadRuntime_STATUS `json:"workloadRuntime,omitempty"` + AvailabilityZones []string `json:"availabilityZones"` + Count *int `json:"count,omitempty"` + CreationData *CreationData_STATUS `json:"creationData,omitempty"` + CurrentOrchestratorVersion *string `json:"currentOrchestratorVersion,omitempty"` + EnableAutoScaling *bool `json:"enableAutoScaling,omitempty"` + EnableEncryptionAtHost *bool `json:"enableEncryptionAtHost,omitempty"` + EnableFIPS *bool `json:"enableFIPS,omitempty"` + EnableNodePublicIP *bool `json:"enableNodePublicIP,omitempty"` + EnableUltraSSD *bool `json:"enableUltraSSD,omitempty"` + GpuInstanceProfile *GPUInstanceProfile_STATUS `json:"gpuInstanceProfile,omitempty"` + HostGroupID *string `json:"hostGroupID,omitempty"` + KubeletConfig *KubeletConfig_STATUS `json:"kubeletConfig,omitempty"` + KubeletDiskType *KubeletDiskType_STATUS `json:"kubeletDiskType,omitempty"` + LinuxOSConfig *LinuxOSConfig_STATUS `json:"linuxOSConfig,omitempty"` + MaxCount *int `json:"maxCount,omitempty"` + MaxPods *int `json:"maxPods,omitempty"` + MinCount *int `json:"minCount,omitempty"` + Mode *AgentPoolMode_STATUS `json:"mode,omitempty"` + Name *string `json:"name,omitempty"` + NodeImageVersion *string `json:"nodeImageVersion,omitempty"` + NodeLabels map[string]string `json:"nodeLabels"` + NodePublicIPPrefixID *string `json:"nodePublicIPPrefixID,omitempty"` + NodeTaints []string `json:"nodeTaints"` + OrchestratorVersion *string `json:"orchestratorVersion,omitempty"` + OsDiskSizeGB *int `json:"osDiskSizeGB,omitempty"` + OsDiskType *OSDiskType_STATUS `json:"osDiskType,omitempty"` + OsSKU *OSSKU_STATUS `json:"osSKU,omitempty"` + OsType *OSType_STATUS `json:"osType,omitempty"` + PodSubnetID *string `json:"podSubnetID,omitempty"` + PowerState *PowerState_STATUS `json:"powerState,omitempty"` + ProvisioningState *string `json:"provisioningState,omitempty"` + ProximityPlacementGroupID *string `json:"proximityPlacementGroupID,omitempty"` + ScaleDownMode *ScaleDownMode_STATUS `json:"scaleDownMode,omitempty"` + ScaleSetEvictionPolicy *ScaleSetEvictionPolicy_STATUS `json:"scaleSetEvictionPolicy,omitempty"` + ScaleSetPriority *ScaleSetPriority_STATUS `json:"scaleSetPriority,omitempty"` + SpotMaxPrice *float64 `json:"spotMaxPrice,omitempty"` + Tags map[string]string `json:"tags"` + Type *AgentPoolType_STATUS `json:"type,omitempty"` + UpgradeSettings *AgentPoolUpgradeSettings_STATUS `json:"upgradeSettings,omitempty"` + VmSize *string `json:"vmSize,omitempty"` + VnetSubnetID *string `json:"vnetSubnetID,omitempty"` + WorkloadRuntime *WorkloadRuntime_STATUS `json:"workloadRuntime,omitempty"` } -// Access profile for managed cluster API server. type ManagedClusterAPIServerAccessProfile_STATUS struct { - // AuthorizedIPRanges: IP ranges are specified in CIDR format, e.g. 137.117.106.88/29. This feature is not compatible with - // clusters that use Public IP Per Node, or clusters that are using a Basic Load Balancer. For more information see [API - // server authorized IP ranges](https://docs.microsoft.com/azure/aks/api-server-authorized-ip-ranges). - AuthorizedIPRanges []string `json:"authorizedIPRanges"` - - // DisableRunCommand: Whether to disable run command for the cluster or not. - DisableRunCommand *bool `json:"disableRunCommand,omitempty"` - - // EnablePrivateCluster: For more details, see [Creating a private AKS - // cluster](https://docs.microsoft.com/azure/aks/private-clusters). - EnablePrivateCluster *bool `json:"enablePrivateCluster,omitempty"` - - // EnablePrivateClusterPublicFQDN: Whether to create additional public FQDN for private cluster or not. - EnablePrivateClusterPublicFQDN *bool `json:"enablePrivateClusterPublicFQDN,omitempty"` - - // PrivateDNSZone: The default is System. For more details see [configure private DNS - // zone](https://docs.microsoft.com/azure/aks/private-clusters#configure-private-dns-zone). Allowed values are 'system' and - // 'none'. - PrivateDNSZone *string `json:"privateDNSZone,omitempty"` + AuthorizedIPRanges []string `json:"authorizedIPRanges"` + DisableRunCommand *bool `json:"disableRunCommand,omitempty"` + EnablePrivateCluster *bool `json:"enablePrivateCluster,omitempty"` + EnablePrivateClusterPublicFQDN *bool `json:"enablePrivateClusterPublicFQDN,omitempty"` + PrivateDNSZone *string `json:"privateDNSZone,omitempty"` } -// Auto upgrade profile for a managed cluster. type ManagedClusterAutoUpgradeProfile_STATUS struct { - // UpgradeChannel: For more information see [setting the AKS cluster auto-upgrade - // channel](https://docs.microsoft.com/azure/aks/upgrade-cluster#set-auto-upgrade-channel). UpgradeChannel *ManagedClusterAutoUpgradeProfile_UpgradeChannel_STATUS `json:"upgradeChannel,omitempty"` } -// Azure Monitor addon profiles for monitoring the managed cluster. type ManagedClusterAzureMonitorProfile_STATUS struct { - // Metrics: Metrics profile for the Azure Monitor managed service for Prometheus addon. Collect out-of-the-box Kubernetes - // infrastructure metrics to send to an Azure Monitor Workspace and configure additional scraping for custom targets. See - // aka.ms/AzureManagedPrometheus for an overview. Metrics *ManagedClusterAzureMonitorProfileMetrics_STATUS `json:"metrics,omitempty"` } -// Cluster HTTP proxy configuration. type ManagedClusterHTTPProxyConfig_STATUS struct { - // HttpProxy: The HTTP proxy server endpoint to use. - HttpProxy *string `json:"httpProxy,omitempty"` - - // HttpsProxy: The HTTPS proxy server endpoint to use. - HttpsProxy *string `json:"httpsProxy,omitempty"` - - // NoProxy: The endpoints that should not go through proxy. - NoProxy []string `json:"noProxy"` - - // TrustedCa: Alternative CA cert to use for connecting to proxy servers. - TrustedCa *string `json:"trustedCa,omitempty"` + HttpProxy *string `json:"httpProxy,omitempty"` + HttpsProxy *string `json:"httpsProxy,omitempty"` + NoProxy []string `json:"noProxy"` + TrustedCa *string `json:"trustedCa,omitempty"` } type ManagedClusterIdentity_Type_STATUS string @@ -569,102 +213,40 @@ var managedClusterIdentity_Type_STATUS_Values = map[string]ManagedClusterIdentit } type ManagedClusterIdentity_UserAssignedIdentities_STATUS struct { - // ClientId: The client id of user assigned identity. - ClientId *string `json:"clientId,omitempty"` - - // PrincipalId: The principal id of user assigned identity. + ClientId *string `json:"clientId,omitempty"` PrincipalId *string `json:"principalId,omitempty"` } -// The OIDC issuer profile of the Managed Cluster. type ManagedClusterOIDCIssuerProfile_STATUS struct { - // Enabled: Whether the OIDC issuer is enabled. - Enabled *bool `json:"enabled,omitempty"` - - // IssuerURL: The OIDC issuer url of the Managed Cluster. + Enabled *bool `json:"enabled,omitempty"` IssuerURL *string `json:"issuerURL,omitempty"` } -// See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on pod -// identity integration. type ManagedClusterPodIdentityProfile_STATUS struct { - // AllowNetworkPluginKubenet: Running in Kubenet is disabled by default due to the security related nature of AAD Pod - // Identity and the risks of IP spoofing. See [using Kubenet network plugin with AAD Pod - // Identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity#using-kubenet-network-plugin-with-azure-active-directory-pod-managed-identities) - // for more information. - AllowNetworkPluginKubenet *bool `json:"allowNetworkPluginKubenet,omitempty"` - - // Enabled: Whether the pod identity addon is enabled. - Enabled *bool `json:"enabled,omitempty"` - - // UserAssignedIdentities: The pod identities to use in the cluster. - UserAssignedIdentities []ManagedClusterPodIdentity_STATUS `json:"userAssignedIdentities"` - - // UserAssignedIdentityExceptions: The pod identity exceptions to allow. + AllowNetworkPluginKubenet *bool `json:"allowNetworkPluginKubenet,omitempty"` + Enabled *bool `json:"enabled,omitempty"` + UserAssignedIdentities []ManagedClusterPodIdentity_STATUS `json:"userAssignedIdentities"` UserAssignedIdentityExceptions []ManagedClusterPodIdentityException_STATUS `json:"userAssignedIdentityExceptions"` } type ManagedClusterProperties_AutoScalerProfile_STATUS struct { - // BalanceSimilarNodeGroups: Valid values are 'true' and 'false' - BalanceSimilarNodeGroups *string `json:"balance-similar-node-groups,omitempty"` - - // Expander: If not specified, the default is 'random'. See - // [expanders](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md#what-are-expanders) for more - // information. - Expander *ManagedClusterProperties_AutoScalerProfile_Expander_STATUS `json:"expander,omitempty"` - - // MaxEmptyBulkDelete: The default is 10. - MaxEmptyBulkDelete *string `json:"max-empty-bulk-delete,omitempty"` - - // MaxGracefulTerminationSec: The default is 600. - MaxGracefulTerminationSec *string `json:"max-graceful-termination-sec,omitempty"` - - // MaxNodeProvisionTime: The default is '15m'. Values must be an integer followed by an 'm'. No unit of time other than - // minutes (m) is supported. - MaxNodeProvisionTime *string `json:"max-node-provision-time,omitempty"` - - // MaxTotalUnreadyPercentage: The default is 45. The maximum is 100 and the minimum is 0. - MaxTotalUnreadyPercentage *string `json:"max-total-unready-percentage,omitempty"` - - // NewPodScaleUpDelay: For scenarios like burst/batch scale where you don't want CA to act before the kubernetes scheduler - // could schedule all the pods, you can tell CA to ignore unscheduled pods before they're a certain age. The default is - // '0s'. Values must be an integer followed by a unit ('s' for seconds, 'm' for minutes, 'h' for hours, etc). - NewPodScaleUpDelay *string `json:"new-pod-scale-up-delay,omitempty"` - - // OkTotalUnreadyCount: This must be an integer. The default is 3. - OkTotalUnreadyCount *string `json:"ok-total-unready-count,omitempty"` - - // ScaleDownDelayAfterAdd: The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than - // minutes (m) is supported. - ScaleDownDelayAfterAdd *string `json:"scale-down-delay-after-add,omitempty"` - - // ScaleDownDelayAfterDelete: The default is the scan-interval. Values must be an integer followed by an 'm'. No unit of - // time other than minutes (m) is supported. - ScaleDownDelayAfterDelete *string `json:"scale-down-delay-after-delete,omitempty"` - - // ScaleDownDelayAfterFailure: The default is '3m'. Values must be an integer followed by an 'm'. No unit of time other - // than minutes (m) is supported. - ScaleDownDelayAfterFailure *string `json:"scale-down-delay-after-failure,omitempty"` - - // ScaleDownUnneededTime: The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than - // minutes (m) is supported. - ScaleDownUnneededTime *string `json:"scale-down-unneeded-time,omitempty"` - - // ScaleDownUnreadyTime: The default is '20m'. Values must be an integer followed by an 'm'. No unit of time other than - // minutes (m) is supported. - ScaleDownUnreadyTime *string `json:"scale-down-unready-time,omitempty"` - - // ScaleDownUtilizationThreshold: The default is '0.5'. - ScaleDownUtilizationThreshold *string `json:"scale-down-utilization-threshold,omitempty"` - - // ScanInterval: The default is '10'. Values must be an integer number of seconds. - ScanInterval *string `json:"scan-interval,omitempty"` - - // SkipNodesWithLocalStorage: The default is true. - SkipNodesWithLocalStorage *string `json:"skip-nodes-with-local-storage,omitempty"` - - // SkipNodesWithSystemPods: The default is true. - SkipNodesWithSystemPods *string `json:"skip-nodes-with-system-pods,omitempty"` + BalanceSimilarNodeGroups *string `json:"balance-similar-node-groups,omitempty"` + Expander *ManagedClusterProperties_AutoScalerProfile_Expander_STATUS `json:"expander,omitempty"` + MaxEmptyBulkDelete *string `json:"max-empty-bulk-delete,omitempty"` + MaxGracefulTerminationSec *string `json:"max-graceful-termination-sec,omitempty"` + MaxNodeProvisionTime *string `json:"max-node-provision-time,omitempty"` + MaxTotalUnreadyPercentage *string `json:"max-total-unready-percentage,omitempty"` + NewPodScaleUpDelay *string `json:"new-pod-scale-up-delay,omitempty"` + OkTotalUnreadyCount *string `json:"ok-total-unready-count,omitempty"` + ScaleDownDelayAfterAdd *string `json:"scale-down-delay-after-add,omitempty"` + ScaleDownDelayAfterDelete *string `json:"scale-down-delay-after-delete,omitempty"` + ScaleDownDelayAfterFailure *string `json:"scale-down-delay-after-failure,omitempty"` + ScaleDownUnneededTime *string `json:"scale-down-unneeded-time,omitempty"` + ScaleDownUnreadyTime *string `json:"scale-down-unready-time,omitempty"` + ScaleDownUtilizationThreshold *string `json:"scale-down-utilization-threshold,omitempty"` + ScanInterval *string `json:"scan-interval,omitempty"` + SkipNodesWithLocalStorage *string `json:"skip-nodes-with-local-storage,omitempty"` + SkipNodesWithSystemPods *string `json:"skip-nodes-with-system-pods,omitempty"` } type ManagedClusterProperties_PublicNetworkAccess_STATUS string @@ -680,26 +262,14 @@ var managedClusterProperties_PublicNetworkAccess_STATUS_Values = map[string]Mana "enabled": ManagedClusterProperties_PublicNetworkAccess_STATUS_Enabled, } -// Security profile for the container service cluster. type ManagedClusterSecurityProfile_STATUS struct { - // AzureKeyVaultKms: Azure Key Vault [key management - // service](https://kubernetes.io/docs/tasks/administer-cluster/kms-provider/) settings for the security profile. - AzureKeyVaultKms *AzureKeyVaultKms_STATUS `json:"azureKeyVaultKms,omitempty"` - - // Defender: Microsoft Defender settings for the security profile. - Defender *ManagedClusterSecurityProfileDefender_STATUS `json:"defender,omitempty"` - - // ImageCleaner: Image Cleaner settings for the security profile. - ImageCleaner *ManagedClusterSecurityProfileImageCleaner_STATUS `json:"imageCleaner,omitempty"` - - // WorkloadIdentity: Workload identity settings for the security profile. Workload identity enables Kubernetes applications - // to access Azure cloud resources securely with Azure AD. See https://aka.ms/aks/wi for more details. + AzureKeyVaultKms *AzureKeyVaultKms_STATUS `json:"azureKeyVaultKms,omitempty"` + Defender *ManagedClusterSecurityProfileDefender_STATUS `json:"defender,omitempty"` + ImageCleaner *ManagedClusterSecurityProfileImageCleaner_STATUS `json:"imageCleaner,omitempty"` WorkloadIdentity *ManagedClusterSecurityProfileWorkloadIdentity_STATUS `json:"workloadIdentity,omitempty"` } -// Information about a service principal identity for the cluster to use for manipulating Azure APIs. type ManagedClusterServicePrincipalProfile_STATUS struct { - // ClientId: The ID for the service principal. ClientId *string `json:"clientId,omitempty"` } @@ -725,75 +295,35 @@ var managedClusterSKU_Tier_STATUS_Values = map[string]ManagedClusterSKU_Tier_STA "standard": ManagedClusterSKU_Tier_STATUS_Standard, } -// Storage profile for the container service cluster. type ManagedClusterStorageProfile_STATUS struct { - // BlobCSIDriver: AzureBlob CSI Driver settings for the storage profile. - BlobCSIDriver *ManagedClusterStorageProfileBlobCSIDriver_STATUS `json:"blobCSIDriver,omitempty"` - - // DiskCSIDriver: AzureDisk CSI Driver settings for the storage profile. - DiskCSIDriver *ManagedClusterStorageProfileDiskCSIDriver_STATUS `json:"diskCSIDriver,omitempty"` - - // FileCSIDriver: AzureFile CSI Driver settings for the storage profile. - FileCSIDriver *ManagedClusterStorageProfileFileCSIDriver_STATUS `json:"fileCSIDriver,omitempty"` - - // SnapshotController: Snapshot Controller settings for the storage profile. + BlobCSIDriver *ManagedClusterStorageProfileBlobCSIDriver_STATUS `json:"blobCSIDriver,omitempty"` + DiskCSIDriver *ManagedClusterStorageProfileDiskCSIDriver_STATUS `json:"diskCSIDriver,omitempty"` + FileCSIDriver *ManagedClusterStorageProfileFileCSIDriver_STATUS `json:"fileCSIDriver,omitempty"` SnapshotController *ManagedClusterStorageProfileSnapshotController_STATUS `json:"snapshotController,omitempty"` } -// Profile for Windows VMs in the managed cluster. type ManagedClusterWindowsProfile_STATUS struct { - // AdminUsername: Specifies the name of the administrator account. - // Restriction: Cannot end in "." - // Disallowed values: "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", - // "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", - // "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5". - // Minimum-length: 1 character - // Max-length: 20 characters - AdminUsername *string `json:"adminUsername,omitempty"` - - // EnableCSIProxy: For more details on CSI proxy, see the [CSI proxy GitHub - // repo](https://github.com/kubernetes-csi/csi-proxy). - EnableCSIProxy *bool `json:"enableCSIProxy,omitempty"` - - // GmsaProfile: The Windows gMSA Profile in the Managed Cluster. - GmsaProfile *WindowsGmsaProfile_STATUS `json:"gmsaProfile,omitempty"` - - // LicenseType: The license type to use for Windows VMs. See [Azure Hybrid User - // Benefits](https://azure.microsoft.com/pricing/hybrid-benefit/faq/) for more details. - LicenseType *ManagedClusterWindowsProfile_LicenseType_STATUS `json:"licenseType,omitempty"` + AdminUsername *string `json:"adminUsername,omitempty"` + EnableCSIProxy *bool `json:"enableCSIProxy,omitempty"` + GmsaProfile *WindowsGmsaProfile_STATUS `json:"gmsaProfile,omitempty"` + LicenseType *ManagedClusterWindowsProfile_LicenseType_STATUS `json:"licenseType,omitempty"` } -// Workload Auto-scaler profile for the managed cluster. type ManagedClusterWorkloadAutoScalerProfile_STATUS struct { - // Keda: KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile. Keda *ManagedClusterWorkloadAutoScalerProfileKeda_STATUS `json:"keda,omitempty"` } -// Describes the Power State of the cluster type PowerState_STATUS struct { - // Code: Tells whether the cluster is Running or Stopped Code *PowerState_Code_STATUS `json:"code,omitempty"` } -// A private link resource type PrivateLinkResource_STATUS struct { - // GroupId: The group ID of the resource. - GroupId *string `json:"groupId,omitempty"` - - // Id: The ID of the private link resource. - Id *string `json:"id,omitempty"` - - // Name: The name of the private link resource. - Name *string `json:"name,omitempty"` - - // PrivateLinkServiceID: The private link service ID of the resource, this field is exposed only to NRP internally. - PrivateLinkServiceID *string `json:"privateLinkServiceID,omitempty"` - - // RequiredMembers: The RequiredMembers of the resource - RequiredMembers []string `json:"requiredMembers"` - - // Type: The resource type. - Type *string `json:"type,omitempty"` + GroupId *string `json:"groupId,omitempty"` + Id *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + PrivateLinkServiceID *string `json:"privateLinkServiceID,omitempty"` + RequiredMembers []string `json:"requiredMembers"` + Type *string `json:"type,omitempty"` } type SystemData_CreatedByType_STATUS string @@ -830,37 +360,17 @@ var systemData_LastModifiedByType_STATUS_Values = map[string]SystemData_LastModi "user": SystemData_LastModifiedByType_STATUS_User, } -// Details about a user assigned identity. type UserAssignedIdentity_STATUS struct { - // ClientId: The client ID of the user assigned identity. - ClientId *string `json:"clientId,omitempty"` - - // ObjectId: The object ID of the user assigned identity. - ObjectId *string `json:"objectId,omitempty"` - - // ResourceId: The resource ID of the user assigned identity. + ClientId *string `json:"clientId,omitempty"` + ObjectId *string `json:"objectId,omitempty"` ResourceId *string `json:"resourceId,omitempty"` } -// Azure Key Vault key management service settings for the security profile. type AzureKeyVaultKms_STATUS struct { - // Enabled: Whether to enable Azure Key Vault key management service. The default is false. - Enabled *bool `json:"enabled,omitempty"` - - // KeyId: Identifier of Azure Key Vault key. See [key identifier - // format](https://docs.microsoft.com/en-us/azure/key-vault/general/about-keys-secrets-certificates#vault-name-and-object-name) - // for more details. When Azure Key Vault key management service is enabled, this field is required and must be a valid key - // identifier. When Azure Key Vault key management service is disabled, leave the field empty. - KeyId *string `json:"keyId,omitempty"` - - // KeyVaultNetworkAccess: Network access of key vault. The possible values are `Public` and `Private`. `Public` means the - // key vault allows public access from all networks. `Private` means the key vault disables public access and enables - // private link. The default value is `Public`. + Enabled *bool `json:"enabled,omitempty"` + KeyId *string `json:"keyId,omitempty"` KeyVaultNetworkAccess *AzureKeyVaultKms_KeyVaultNetworkAccess_STATUS `json:"keyVaultNetworkAccess,omitempty"` - - // KeyVaultResourceId: Resource ID of key vault. When keyVaultNetworkAccess is `Private`, this field is required and must - // be a valid resource ID. When keyVaultNetworkAccess is `Public`, leave the field empty. - KeyVaultResourceId *string `json:"keyVaultResourceId,omitempty"` + KeyVaultResourceId *string `json:"keyVaultResourceId,omitempty"` } type ContainerServiceNetworkProfile_IpFamilies_STATUS string @@ -971,9 +481,7 @@ var containerServiceNetworkProfile_OutboundType_STATUS_Values = map[string]Conta "userdefinedrouting": ContainerServiceNetworkProfile_OutboundType_STATUS_UserDefinedRouting, } -// SSH configuration for Linux-based VMs running on Azure. type ContainerServiceSshConfiguration_STATUS struct { - // PublicKeys: The list of SSH public keys used to authenticate with Linux-based VMs. A maximum of 1 key may be specified. PublicKeys []ContainerServiceSshPublicKey_STATUS `json:"publicKeys"` } @@ -996,88 +504,39 @@ var managedClusterAutoUpgradeProfile_UpgradeChannel_STATUS_Values = map[string]M "stable": ManagedClusterAutoUpgradeProfile_UpgradeChannel_STATUS_Stable, } -// Metrics profile for the Azure Monitor managed service for Prometheus addon. Collect out-of-the-box Kubernetes -// infrastructure metrics to send to an Azure Monitor Workspace and configure additional scraping for custom targets. See -// aka.ms/AzureManagedPrometheus for an overview. type ManagedClusterAzureMonitorProfileMetrics_STATUS struct { - // Enabled: Whether to enable or disable the Azure Managed Prometheus addon for Prometheus monitoring. See - // aka.ms/AzureManagedPrometheus-aks-enable for details on enabling and disabling. - Enabled *bool `json:"enabled,omitempty"` - - // KubeStateMetrics: Kube State Metrics profile for the Azure Managed Prometheus addon. These optional settings are for the - // kube-state-metrics pod that is deployed with the addon. See aka.ms/AzureManagedPrometheus-optional-parameters for - // details. + Enabled *bool `json:"enabled,omitempty"` KubeStateMetrics *ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS `json:"kubeStateMetrics,omitempty"` } -// Profile of the managed cluster load balancer. type ManagedClusterLoadBalancerProfile_STATUS struct { - // AllocatedOutboundPorts: The desired number of allocated SNAT ports per VM. Allowed values are in the range of 0 to 64000 - // (inclusive). The default value is 0 which results in Azure dynamically allocating ports. - AllocatedOutboundPorts *int `json:"allocatedOutboundPorts,omitempty"` - - // EffectiveOutboundIPs: The effective outbound IP resources of the cluster load balancer. - EffectiveOutboundIPs []ResourceReference_STATUS `json:"effectiveOutboundIPs"` - - // EnableMultipleStandardLoadBalancers: Enable multiple standard load balancers per AKS cluster or not. - EnableMultipleStandardLoadBalancers *bool `json:"enableMultipleStandardLoadBalancers,omitempty"` - - // IdleTimeoutInMinutes: Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 - // (inclusive). The default value is 30 minutes. - IdleTimeoutInMinutes *int `json:"idleTimeoutInMinutes,omitempty"` - - // ManagedOutboundIPs: Desired managed outbound IPs for the cluster load balancer. - ManagedOutboundIPs *ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS `json:"managedOutboundIPs,omitempty"` - - // OutboundIPPrefixes: Desired outbound IP Prefix resources for the cluster load balancer. - OutboundIPPrefixes *ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS `json:"outboundIPPrefixes,omitempty"` - - // OutboundIPs: Desired outbound IP resources for the cluster load balancer. - OutboundIPs *ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS `json:"outboundIPs,omitempty"` + AllocatedOutboundPorts *int `json:"allocatedOutboundPorts,omitempty"` + EffectiveOutboundIPs []ResourceReference_STATUS `json:"effectiveOutboundIPs"` + EnableMultipleStandardLoadBalancers *bool `json:"enableMultipleStandardLoadBalancers,omitempty"` + IdleTimeoutInMinutes *int `json:"idleTimeoutInMinutes,omitempty"` + ManagedOutboundIPs *ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS `json:"managedOutboundIPs,omitempty"` + OutboundIPPrefixes *ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS `json:"outboundIPPrefixes,omitempty"` + OutboundIPs *ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS `json:"outboundIPs,omitempty"` } -// Profile of the managed cluster NAT gateway. type ManagedClusterNATGatewayProfile_STATUS struct { - // EffectiveOutboundIPs: The effective outbound IP resources of the cluster NAT gateway. - EffectiveOutboundIPs []ResourceReference_STATUS `json:"effectiveOutboundIPs"` - - // IdleTimeoutInMinutes: Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 - // (inclusive). The default value is 4 minutes. - IdleTimeoutInMinutes *int `json:"idleTimeoutInMinutes,omitempty"` - - // ManagedOutboundIPProfile: Profile of the managed outbound IP resources of the cluster NAT gateway. + EffectiveOutboundIPs []ResourceReference_STATUS `json:"effectiveOutboundIPs"` + IdleTimeoutInMinutes *int `json:"idleTimeoutInMinutes,omitempty"` ManagedOutboundIPProfile *ManagedClusterManagedOutboundIPProfile_STATUS `json:"managedOutboundIPProfile,omitempty"` } -// Details about the pod identity assigned to the Managed Cluster. type ManagedClusterPodIdentity_STATUS struct { - // BindingSelector: The binding selector to use for the AzureIdentityBinding resource. - BindingSelector *string `json:"bindingSelector,omitempty"` - - // Identity: The user assigned identity details. - Identity *UserAssignedIdentity_STATUS `json:"identity,omitempty"` - - // Name: The name of the pod identity. - Name *string `json:"name,omitempty"` - - // Namespace: The namespace of the pod identity. - Namespace *string `json:"namespace,omitempty"` - ProvisioningInfo *ManagedClusterPodIdentity_ProvisioningInfo_STATUS `json:"provisioningInfo,omitempty"` - - // ProvisioningState: The current provisioning state of the pod identity. + BindingSelector *string `json:"bindingSelector,omitempty"` + Identity *UserAssignedIdentity_STATUS `json:"identity,omitempty"` + Name *string `json:"name,omitempty"` + Namespace *string `json:"namespace,omitempty"` + ProvisioningInfo *ManagedClusterPodIdentity_ProvisioningInfo_STATUS `json:"provisioningInfo,omitempty"` ProvisioningState *ManagedClusterPodIdentity_ProvisioningState_STATUS `json:"provisioningState,omitempty"` } -// See [disable AAD Pod Identity for a specific -// Pod/Application](https://azure.github.io/aad-pod-identity/docs/configure/application_exception/) for more details. type ManagedClusterPodIdentityException_STATUS struct { - // Name: The name of the pod identity exception. - Name *string `json:"name,omitempty"` - - // Namespace: The namespace of the pod identity exception. - Namespace *string `json:"namespace,omitempty"` - - // PodLabels: The pod labels to match. + Name *string `json:"name,omitempty"` + Namespace *string `json:"namespace,omitempty"` PodLabels map[string]string `json:"podLabels"` } @@ -1098,54 +557,33 @@ var managedClusterProperties_AutoScalerProfile_Expander_STATUS_Values = map[stri "random": ManagedClusterProperties_AutoScalerProfile_Expander_STATUS_Random, } -// Microsoft Defender settings for the security profile. type ManagedClusterSecurityProfileDefender_STATUS struct { - // LogAnalyticsWorkspaceResourceId: Resource ID of the Log Analytics workspace to be associated with Microsoft Defender. - // When Microsoft Defender is enabled, this field is required and must be a valid workspace resource ID. When Microsoft - // Defender is disabled, leave the field empty. - LogAnalyticsWorkspaceResourceId *string `json:"logAnalyticsWorkspaceResourceId,omitempty"` - - // SecurityMonitoring: Microsoft Defender threat detection for Cloud settings for the security profile. - SecurityMonitoring *ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS `json:"securityMonitoring,omitempty"` + LogAnalyticsWorkspaceResourceId *string `json:"logAnalyticsWorkspaceResourceId,omitempty"` + SecurityMonitoring *ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS `json:"securityMonitoring,omitempty"` } -// Image Cleaner removes unused images from nodes, freeing up disk space and helping to reduce attack surface area. Here -// are settings for the security profile. type ManagedClusterSecurityProfileImageCleaner_STATUS struct { - // Enabled: Whether to enable Image Cleaner on AKS cluster. - Enabled *bool `json:"enabled,omitempty"` - - // IntervalHours: Image Cleaner scanning interval in hours. - IntervalHours *int `json:"intervalHours,omitempty"` + Enabled *bool `json:"enabled,omitempty"` + IntervalHours *int `json:"intervalHours,omitempty"` } -// Workload identity settings for the security profile. type ManagedClusterSecurityProfileWorkloadIdentity_STATUS struct { - // Enabled: Whether to enable workload identity. Enabled *bool `json:"enabled,omitempty"` } -// AzureBlob CSI Driver settings for the storage profile. type ManagedClusterStorageProfileBlobCSIDriver_STATUS struct { - // Enabled: Whether to enable AzureBlob CSI Driver. The default value is false. Enabled *bool `json:"enabled,omitempty"` } -// AzureDisk CSI Driver settings for the storage profile. type ManagedClusterStorageProfileDiskCSIDriver_STATUS struct { - // Enabled: Whether to enable AzureDisk CSI Driver. The default value is true. Enabled *bool `json:"enabled,omitempty"` } -// AzureFile CSI Driver settings for the storage profile. type ManagedClusterStorageProfileFileCSIDriver_STATUS struct { - // Enabled: Whether to enable AzureFile CSI Driver. The default value is true. Enabled *bool `json:"enabled,omitempty"` } -// Snapshot Controller settings for the storage profile. type ManagedClusterStorageProfileSnapshotController_STATUS struct { - // Enabled: Whether to enable Snapshot Controller. The default value is true. Enabled *bool `json:"enabled,omitempty"` } @@ -1162,9 +600,7 @@ var managedClusterWindowsProfile_LicenseType_STATUS_Values = map[string]ManagedC "windows_server": ManagedClusterWindowsProfile_LicenseType_STATUS_Windows_Server, } -// KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile. type ManagedClusterWorkloadAutoScalerProfileKeda_STATUS struct { - // Enabled: Whether to enable KEDA. Enabled *bool `json:"enabled,omitempty"` } @@ -1181,17 +617,9 @@ var powerState_Code_STATUS_Values = map[string]PowerState_Code_STATUS{ "stopped": PowerState_Code_STATUS_Stopped, } -// Windows gMSA Profile in the managed cluster. type WindowsGmsaProfile_STATUS struct { - // DnsServer: Specifies the DNS server for Windows gMSA. - // Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster. - DnsServer *string `json:"dnsServer,omitempty"` - - // Enabled: Specifies whether to enable Windows gMSA in the managed cluster. - Enabled *bool `json:"enabled,omitempty"` - - // RootDomainName: Specifies the root domain name for Windows gMSA. - // Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster. + DnsServer *string `json:"dnsServer,omitempty"` + Enabled *bool `json:"enabled,omitempty"` RootDomainName *string `json:"rootDomainName,omitempty"` } @@ -1208,57 +636,33 @@ var azureKeyVaultKms_KeyVaultNetworkAccess_STATUS_Values = map[string]AzureKeyVa "public": AzureKeyVaultKms_KeyVaultNetworkAccess_STATUS_Public, } -// Contains information about SSH certificate public key data. type ContainerServiceSshPublicKey_STATUS struct { - // KeyData: Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or - // without headers. KeyData *string `json:"keyData,omitempty"` } -// Kube State Metrics profile for the Azure Managed Prometheus addon. These optional settings are for the -// kube-state-metrics pod that is deployed with the addon. See aka.ms/AzureManagedPrometheus-optional-parameters for -// details. type ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS struct { - // MetricAnnotationsAllowList: Comma-separated list of Kubernetes annotation keys that will be used in the resource's - // labels metric (Example: 'namespaces=[kubernetes.io/team,...],pods=[kubernetes.io/team],...'). By default the metric - // contains only resource name and namespace labels. MetricAnnotationsAllowList *string `json:"metricAnnotationsAllowList,omitempty"` - - // MetricLabelsAllowlist: Comma-separated list of additional Kubernetes label keys that will be used in the resource's - // labels metric (Example: 'namespaces=[k8s-label-1,k8s-label-n,...],pods=[app],...'). By default the metric contains only - // resource name and namespace labels. - MetricLabelsAllowlist *string `json:"metricLabelsAllowlist,omitempty"` + MetricLabelsAllowlist *string `json:"metricLabelsAllowlist,omitempty"` } type ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS struct { - // Count: The desired number of IPv4 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values - // must be in the range of 1 to 100 (inclusive). The default value is 1. - Count *int `json:"count,omitempty"` - - // CountIPv6: The desired number of IPv6 outbound IPs created/managed by Azure for the cluster load balancer. Allowed - // values must be in the range of 1 to 100 (inclusive). The default value is 0 for single-stack and 1 for dual-stack. + Count *int `json:"count,omitempty"` CountIPv6 *int `json:"countIPv6,omitempty"` } type ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS struct { - // PublicIPPrefixes: A list of public IP prefix resources. PublicIPPrefixes []ResourceReference_STATUS `json:"publicIPPrefixes"` } type ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS struct { - // PublicIPs: A list of public IP resources. PublicIPs []ResourceReference_STATUS `json:"publicIPs"` } -// Profile of the managed outbound IP resources of the managed cluster. type ManagedClusterManagedOutboundIPProfile_STATUS struct { - // Count: The desired number of outbound IPs created/managed by Azure. Allowed values must be in the range of 1 to 16 - // (inclusive). The default value is 1. Count *int `json:"count,omitempty"` } type ManagedClusterPodIdentity_ProvisioningInfo_STATUS struct { - // Error: Pod identity assignment error (if any). Error *ManagedClusterPodIdentityProvisioningError_STATUS `json:"error,omitempty"` } @@ -1283,46 +687,27 @@ var managedClusterPodIdentity_ProvisioningState_STATUS_Values = map[string]Manag "updating": ManagedClusterPodIdentity_ProvisioningState_STATUS_Updating, } -// Microsoft Defender settings for the security profile threat detection. type ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS struct { - // Enabled: Whether to enable Defender threat detection Enabled *bool `json:"enabled,omitempty"` } -// A reference to an Azure resource. type ResourceReference_STATUS struct { - // Id: The fully qualified Azure resource id. Id *string `json:"id,omitempty"` } -// An error response from the pod identity provisioning. type ManagedClusterPodIdentityProvisioningError_STATUS struct { - // Error: Details about the error. Error *ManagedClusterPodIdentityProvisioningErrorBody_STATUS `json:"error,omitempty"` } -// An error response from the pod identity provisioning. type ManagedClusterPodIdentityProvisioningErrorBody_STATUS struct { - // Code: An identifier for the error. Codes are invariant and are intended to be consumed programmatically. - Code *string `json:"code,omitempty"` - - // Details: A list of additional details about the error. + Code *string `json:"code,omitempty"` Details []ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled `json:"details"` - - // Message: A message describing the error, intended to be suitable for display in a user interface. - Message *string `json:"message,omitempty"` - - // Target: The target of the particular error. For example, the name of the property in error. - Target *string `json:"target,omitempty"` + Message *string `json:"message,omitempty"` + Target *string `json:"target,omitempty"` } type ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled struct { - // Code: An identifier for the error. Codes are invariant and are intended to be consumed programmatically. - Code *string `json:"code,omitempty"` - - // Message: A message describing the error, intended to be suitable for display in a user interface. + Code *string `json:"code,omitempty"` Message *string `json:"message,omitempty"` - - // Target: The target of the particular error. For example, the name of the property in error. - Target *string `json:"target,omitempty"` + Target *string `json:"target,omitempty"` } diff --git a/v2/api/containerservice/v1api20230201/arm/managed_clusters_agent_pool_spec_types_gen.go b/v2/api/containerservice/v1api20230201/arm/managed_clusters_agent_pool_spec_types_gen.go index ff87226b0a6..77ab46139d7 100644 --- a/v2/api/containerservice/v1api20230201/arm/managed_clusters_agent_pool_spec_types_gen.go +++ b/v2/api/containerservice/v1api20230201/arm/managed_clusters_agent_pool_spec_types_gen.go @@ -163,8 +163,6 @@ type ManagedClusterAgentPoolProfileProperties struct { WorkloadRuntime *WorkloadRuntime `json:"workloadRuntime,omitempty"` } -// A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool restrictions -// and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools // +kubebuilder:validation:Enum={"System","User"} type AgentPoolMode string @@ -179,7 +177,6 @@ var agentPoolMode_Values = map[string]AgentPoolMode{ "user": AgentPoolMode_User, } -// The type of Agent Pool. // +kubebuilder:validation:Enum={"AvailabilitySet","VirtualMachineScaleSets"} type AgentPoolType string @@ -194,21 +191,14 @@ var agentPoolType_Values = map[string]AgentPoolType{ "virtualmachinescalesets": AgentPoolType_VirtualMachineScaleSets, } -// Settings for upgrading an agentpool type AgentPoolUpgradeSettings struct { - // MaxSurge: This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it - // is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded - // up. If not specified, the default is 1. For more information, including best practices, see: - // https://docs.microsoft.com/azure/aks/upgrade-cluster#customize-node-surge-upgrade MaxSurge *string `json:"maxSurge,omitempty"` } -// Data used when creating a target resource from a source resource. type CreationData struct { SourceResourceId *string `json:"sourceResourceId,omitempty"` } -// GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU. // +kubebuilder:validation:Enum={"MIG1g","MIG2g","MIG3g","MIG4g","MIG7g"} type GPUInstanceProfile string @@ -229,49 +219,20 @@ var gPUInstanceProfile_Values = map[string]GPUInstanceProfile{ "mig7g": GPUInstanceProfile_MIG7G, } -// See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. type KubeletConfig struct { - // AllowedUnsafeSysctls: Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in `*`). - AllowedUnsafeSysctls []string `json:"allowedUnsafeSysctls"` - - // ContainerLogMaxFiles: The maximum number of container log files that can be present for a container. The number must be - // ≥ 2. - ContainerLogMaxFiles *int `json:"containerLogMaxFiles,omitempty"` - - // ContainerLogMaxSizeMB: The maximum size (e.g. 10Mi) of container log file before it is rotated. - ContainerLogMaxSizeMB *int `json:"containerLogMaxSizeMB,omitempty"` - - // CpuCfsQuota: The default is true. - CpuCfsQuota *bool `json:"cpuCfsQuota,omitempty"` - - // CpuCfsQuotaPeriod: The default is '100ms.' Valid values are a sequence of decimal numbers with an optional fraction and - // a unit suffix. For example: '300ms', '2h45m'. Supported units are 'ns', 'us', 'ms', 's', 'm', and 'h'. - CpuCfsQuotaPeriod *string `json:"cpuCfsQuotaPeriod,omitempty"` - - // CpuManagerPolicy: The default is 'none'. See [Kubernetes CPU management - // policies](https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/#cpu-management-policies) for more - // information. Allowed values are 'none' and 'static'. - CpuManagerPolicy *string `json:"cpuManagerPolicy,omitempty"` - - // FailSwapOn: If set to true it will make the Kubelet fail to start if swap is enabled on the node. - FailSwapOn *bool `json:"failSwapOn,omitempty"` - - // ImageGcHighThreshold: To disable image garbage collection, set to 100. The default is 85% - ImageGcHighThreshold *int `json:"imageGcHighThreshold,omitempty"` - - // ImageGcLowThreshold: This cannot be set higher than imageGcHighThreshold. The default is 80% - ImageGcLowThreshold *int `json:"imageGcLowThreshold,omitempty"` - - // PodMaxPids: The maximum number of processes per pod. - PodMaxPids *int `json:"podMaxPids,omitempty"` - - // TopologyManagerPolicy: For more information see [Kubernetes Topology - // Manager](https://kubernetes.io/docs/tasks/administer-cluster/topology-manager). The default is 'none'. Allowed values - // are 'none', 'best-effort', 'restricted', and 'single-numa-node'. - TopologyManagerPolicy *string `json:"topologyManagerPolicy,omitempty"` + AllowedUnsafeSysctls []string `json:"allowedUnsafeSysctls"` + ContainerLogMaxFiles *int `json:"containerLogMaxFiles,omitempty"` + ContainerLogMaxSizeMB *int `json:"containerLogMaxSizeMB,omitempty"` + CpuCfsQuota *bool `json:"cpuCfsQuota,omitempty"` + CpuCfsQuotaPeriod *string `json:"cpuCfsQuotaPeriod,omitempty"` + CpuManagerPolicy *string `json:"cpuManagerPolicy,omitempty"` + FailSwapOn *bool `json:"failSwapOn,omitempty"` + ImageGcHighThreshold *int `json:"imageGcHighThreshold,omitempty"` + ImageGcLowThreshold *int `json:"imageGcLowThreshold,omitempty"` + PodMaxPids *int `json:"podMaxPids,omitempty"` + TopologyManagerPolicy *string `json:"topologyManagerPolicy,omitempty"` } -// Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage. // +kubebuilder:validation:Enum={"OS","Temporary"} type KubeletDiskType string @@ -286,28 +247,13 @@ var kubeletDiskType_Values = map[string]KubeletDiskType{ "temporary": KubeletDiskType_Temporary, } -// See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. type LinuxOSConfig struct { - // SwapFileSizeMB: The size in MB of a swap file that will be created on each node. - SwapFileSizeMB *int `json:"swapFileSizeMB,omitempty"` - - // Sysctls: Sysctl settings for Linux agent nodes. - Sysctls *SysctlConfig `json:"sysctls,omitempty"` - - // TransparentHugePageDefrag: Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is - // 'madvise'. For more information see [Transparent - // Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). - TransparentHugePageDefrag *string `json:"transparentHugePageDefrag,omitempty"` - - // TransparentHugePageEnabled: Valid values are 'always', 'madvise', and 'never'. The default is 'always'. For more - // information see [Transparent - // Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). - TransparentHugePageEnabled *string `json:"transparentHugePageEnabled,omitempty"` + SwapFileSizeMB *int `json:"swapFileSizeMB,omitempty"` + Sysctls *SysctlConfig `json:"sysctls,omitempty"` + TransparentHugePageDefrag *string `json:"transparentHugePageDefrag,omitempty"` + TransparentHugePageEnabled *string `json:"transparentHugePageEnabled,omitempty"` } -// The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, -// defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral -// OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). // +kubebuilder:validation:Enum={"Ephemeral","Managed"} type OSDiskType string @@ -322,8 +268,6 @@ var oSDiskType_Values = map[string]OSDiskType{ "managed": OSDiskType_Managed, } -// Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 when -// Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows. // +kubebuilder:validation:Enum={"CBLMariner","Ubuntu","Windows2019","Windows2022"} type OSSKU string @@ -342,7 +286,6 @@ var oSSKU_Values = map[string]OSSKU{ "windows2022": OSSKU_Windows2022, } -// The operating system type. The default is Linux. // +kubebuilder:validation:Enum={"Linux","Windows"} type OSType string @@ -357,14 +300,10 @@ var oSType_Values = map[string]OSType{ "windows": OSType_Windows, } -// Describes the Power State of the cluster type PowerState struct { - // Code: Tells whether the cluster is Running or Stopped Code *PowerState_Code `json:"code,omitempty"` } -// Describes how VMs are added to or removed from Agent Pools. See [billing -// states](https://docs.microsoft.com/azure/virtual-machines/states-billing). // +kubebuilder:validation:Enum={"Deallocate","Delete"} type ScaleDownMode string @@ -379,8 +318,6 @@ var scaleDownMode_Values = map[string]ScaleDownMode{ "delete": ScaleDownMode_Delete, } -// The eviction policy specifies what to do with the VM when it is evicted. The default is Delete. For more information -// about eviction see [spot VMs](https://docs.microsoft.com/azure/virtual-machines/spot-vms) // +kubebuilder:validation:Enum={"Deallocate","Delete"} type ScaleSetEvictionPolicy string @@ -395,7 +332,6 @@ var scaleSetEvictionPolicy_Values = map[string]ScaleSetEvictionPolicy{ "delete": ScaleSetEvictionPolicy_Delete, } -// The Virtual Machine Scale Set priority. // +kubebuilder:validation:Enum={"Regular","Spot"} type ScaleSetPriority string @@ -410,7 +346,6 @@ var scaleSetPriority_Values = map[string]ScaleSetPriority{ "spot": ScaleSetPriority_Spot, } -// Determines the type of workload a node can run. // +kubebuilder:validation:Enum={"OCIContainer","WasmWasi"} type WorkloadRuntime string @@ -439,89 +374,33 @@ var powerState_Code_Values = map[string]PowerState_Code{ "stopped": PowerState_Code_Stopped, } -// Sysctl settings for Linux agent nodes. type SysctlConfig struct { - // FsAioMaxNr: Sysctl setting fs.aio-max-nr. - FsAioMaxNr *int `json:"fsAioMaxNr,omitempty"` - - // FsFileMax: Sysctl setting fs.file-max. - FsFileMax *int `json:"fsFileMax,omitempty"` - - // FsInotifyMaxUserWatches: Sysctl setting fs.inotify.max_user_watches. - FsInotifyMaxUserWatches *int `json:"fsInotifyMaxUserWatches,omitempty"` - - // FsNrOpen: Sysctl setting fs.nr_open. - FsNrOpen *int `json:"fsNrOpen,omitempty"` - - // KernelThreadsMax: Sysctl setting kernel.threads-max. - KernelThreadsMax *int `json:"kernelThreadsMax,omitempty"` - - // NetCoreNetdevMaxBacklog: Sysctl setting net.core.netdev_max_backlog. - NetCoreNetdevMaxBacklog *int `json:"netCoreNetdevMaxBacklog,omitempty"` - - // NetCoreOptmemMax: Sysctl setting net.core.optmem_max. - NetCoreOptmemMax *int `json:"netCoreOptmemMax,omitempty"` - - // NetCoreRmemDefault: Sysctl setting net.core.rmem_default. - NetCoreRmemDefault *int `json:"netCoreRmemDefault,omitempty"` - - // NetCoreRmemMax: Sysctl setting net.core.rmem_max. - NetCoreRmemMax *int `json:"netCoreRmemMax,omitempty"` - - // NetCoreSomaxconn: Sysctl setting net.core.somaxconn. - NetCoreSomaxconn *int `json:"netCoreSomaxconn,omitempty"` - - // NetCoreWmemDefault: Sysctl setting net.core.wmem_default. - NetCoreWmemDefault *int `json:"netCoreWmemDefault,omitempty"` - - // NetCoreWmemMax: Sysctl setting net.core.wmem_max. - NetCoreWmemMax *int `json:"netCoreWmemMax,omitempty"` - - // NetIpv4IpLocalPortRange: Sysctl setting net.ipv4.ip_local_port_range. - NetIpv4IpLocalPortRange *string `json:"netIpv4IpLocalPortRange,omitempty"` - - // NetIpv4NeighDefaultGcThresh1: Sysctl setting net.ipv4.neigh.default.gc_thresh1. - NetIpv4NeighDefaultGcThresh1 *int `json:"netIpv4NeighDefaultGcThresh1,omitempty"` - - // NetIpv4NeighDefaultGcThresh2: Sysctl setting net.ipv4.neigh.default.gc_thresh2. - NetIpv4NeighDefaultGcThresh2 *int `json:"netIpv4NeighDefaultGcThresh2,omitempty"` - - // NetIpv4NeighDefaultGcThresh3: Sysctl setting net.ipv4.neigh.default.gc_thresh3. - NetIpv4NeighDefaultGcThresh3 *int `json:"netIpv4NeighDefaultGcThresh3,omitempty"` - - // NetIpv4TcpFinTimeout: Sysctl setting net.ipv4.tcp_fin_timeout. - NetIpv4TcpFinTimeout *int `json:"netIpv4TcpFinTimeout,omitempty"` - - // NetIpv4TcpKeepaliveProbes: Sysctl setting net.ipv4.tcp_keepalive_probes. - NetIpv4TcpKeepaliveProbes *int `json:"netIpv4TcpKeepaliveProbes,omitempty"` - - // NetIpv4TcpKeepaliveTime: Sysctl setting net.ipv4.tcp_keepalive_time. - NetIpv4TcpKeepaliveTime *int `json:"netIpv4TcpKeepaliveTime,omitempty"` - - // NetIpv4TcpMaxSynBacklog: Sysctl setting net.ipv4.tcp_max_syn_backlog. - NetIpv4TcpMaxSynBacklog *int `json:"netIpv4TcpMaxSynBacklog,omitempty"` - - // NetIpv4TcpMaxTwBuckets: Sysctl setting net.ipv4.tcp_max_tw_buckets. - NetIpv4TcpMaxTwBuckets *int `json:"netIpv4TcpMaxTwBuckets,omitempty"` - - // NetIpv4TcpTwReuse: Sysctl setting net.ipv4.tcp_tw_reuse. - NetIpv4TcpTwReuse *bool `json:"netIpv4TcpTwReuse,omitempty"` - - // NetIpv4TcpkeepaliveIntvl: Sysctl setting net.ipv4.tcp_keepalive_intvl. - NetIpv4TcpkeepaliveIntvl *int `json:"netIpv4TcpkeepaliveIntvl,omitempty"` - - // NetNetfilterNfConntrackBuckets: Sysctl setting net.netfilter.nf_conntrack_buckets. - NetNetfilterNfConntrackBuckets *int `json:"netNetfilterNfConntrackBuckets,omitempty"` - - // NetNetfilterNfConntrackMax: Sysctl setting net.netfilter.nf_conntrack_max. - NetNetfilterNfConntrackMax *int `json:"netNetfilterNfConntrackMax,omitempty"` - - // VmMaxMapCount: Sysctl setting vm.max_map_count. - VmMaxMapCount *int `json:"vmMaxMapCount,omitempty"` - - // VmSwappiness: Sysctl setting vm.swappiness. - VmSwappiness *int `json:"vmSwappiness,omitempty"` - - // VmVfsCachePressure: Sysctl setting vm.vfs_cache_pressure. - VmVfsCachePressure *int `json:"vmVfsCachePressure,omitempty"` + FsAioMaxNr *int `json:"fsAioMaxNr,omitempty"` + FsFileMax *int `json:"fsFileMax,omitempty"` + FsInotifyMaxUserWatches *int `json:"fsInotifyMaxUserWatches,omitempty"` + FsNrOpen *int `json:"fsNrOpen,omitempty"` + KernelThreadsMax *int `json:"kernelThreadsMax,omitempty"` + NetCoreNetdevMaxBacklog *int `json:"netCoreNetdevMaxBacklog,omitempty"` + NetCoreOptmemMax *int `json:"netCoreOptmemMax,omitempty"` + NetCoreRmemDefault *int `json:"netCoreRmemDefault,omitempty"` + NetCoreRmemMax *int `json:"netCoreRmemMax,omitempty"` + NetCoreSomaxconn *int `json:"netCoreSomaxconn,omitempty"` + NetCoreWmemDefault *int `json:"netCoreWmemDefault,omitempty"` + NetCoreWmemMax *int `json:"netCoreWmemMax,omitempty"` + NetIpv4IpLocalPortRange *string `json:"netIpv4IpLocalPortRange,omitempty"` + NetIpv4NeighDefaultGcThresh1 *int `json:"netIpv4NeighDefaultGcThresh1,omitempty"` + NetIpv4NeighDefaultGcThresh2 *int `json:"netIpv4NeighDefaultGcThresh2,omitempty"` + NetIpv4NeighDefaultGcThresh3 *int `json:"netIpv4NeighDefaultGcThresh3,omitempty"` + NetIpv4TcpFinTimeout *int `json:"netIpv4TcpFinTimeout,omitempty"` + NetIpv4TcpKeepaliveProbes *int `json:"netIpv4TcpKeepaliveProbes,omitempty"` + NetIpv4TcpKeepaliveTime *int `json:"netIpv4TcpKeepaliveTime,omitempty"` + NetIpv4TcpMaxSynBacklog *int `json:"netIpv4TcpMaxSynBacklog,omitempty"` + NetIpv4TcpMaxTwBuckets *int `json:"netIpv4TcpMaxTwBuckets,omitempty"` + NetIpv4TcpTwReuse *bool `json:"netIpv4TcpTwReuse,omitempty"` + NetIpv4TcpkeepaliveIntvl *int `json:"netIpv4TcpkeepaliveIntvl,omitempty"` + NetNetfilterNfConntrackBuckets *int `json:"netNetfilterNfConntrackBuckets,omitempty"` + NetNetfilterNfConntrackMax *int `json:"netNetfilterNfConntrackMax,omitempty"` + VmMaxMapCount *int `json:"vmMaxMapCount,omitempty"` + VmSwappiness *int `json:"vmSwappiness,omitempty"` + VmVfsCachePressure *int `json:"vmVfsCachePressure,omitempty"` } diff --git a/v2/api/containerservice/v1api20230201/arm/managed_clusters_agent_pool_status_types_gen.go b/v2/api/containerservice/v1api20230201/arm/managed_clusters_agent_pool_status_types_gen.go index f7e4bc27031..a391b282cea 100644 --- a/v2/api/containerservice/v1api20230201/arm/managed_clusters_agent_pool_status_types_gen.go +++ b/v2/api/containerservice/v1api20230201/arm/managed_clusters_agent_pool_status_types_gen.go @@ -179,8 +179,6 @@ type ManagedClusterAgentPoolProfileProperties_STATUS struct { WorkloadRuntime *WorkloadRuntime_STATUS `json:"workloadRuntime,omitempty"` } -// A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool restrictions -// and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools type AgentPoolMode_STATUS string const ( @@ -194,7 +192,6 @@ var agentPoolMode_STATUS_Values = map[string]AgentPoolMode_STATUS{ "user": AgentPoolMode_STATUS_User, } -// The type of Agent Pool. type AgentPoolType_STATUS string const ( @@ -208,22 +205,14 @@ var agentPoolType_STATUS_Values = map[string]AgentPoolType_STATUS{ "virtualmachinescalesets": AgentPoolType_STATUS_VirtualMachineScaleSets, } -// Settings for upgrading an agentpool type AgentPoolUpgradeSettings_STATUS struct { - // MaxSurge: This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it - // is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded - // up. If not specified, the default is 1. For more information, including best practices, see: - // https://docs.microsoft.com/azure/aks/upgrade-cluster#customize-node-surge-upgrade MaxSurge *string `json:"maxSurge,omitempty"` } -// Data used when creating a target resource from a source resource. type CreationData_STATUS struct { - // SourceResourceId: This is the ARM ID of the source object to be used to create the target object. SourceResourceId *string `json:"sourceResourceId,omitempty"` } -// GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU. type GPUInstanceProfile_STATUS string const ( @@ -243,49 +232,20 @@ var gPUInstanceProfile_STATUS_Values = map[string]GPUInstanceProfile_STATUS{ "mig7g": GPUInstanceProfile_STATUS_MIG7G, } -// See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. type KubeletConfig_STATUS struct { - // AllowedUnsafeSysctls: Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in `*`). - AllowedUnsafeSysctls []string `json:"allowedUnsafeSysctls"` - - // ContainerLogMaxFiles: The maximum number of container log files that can be present for a container. The number must be - // ≥ 2. - ContainerLogMaxFiles *int `json:"containerLogMaxFiles,omitempty"` - - // ContainerLogMaxSizeMB: The maximum size (e.g. 10Mi) of container log file before it is rotated. - ContainerLogMaxSizeMB *int `json:"containerLogMaxSizeMB,omitempty"` - - // CpuCfsQuota: The default is true. - CpuCfsQuota *bool `json:"cpuCfsQuota,omitempty"` - - // CpuCfsQuotaPeriod: The default is '100ms.' Valid values are a sequence of decimal numbers with an optional fraction and - // a unit suffix. For example: '300ms', '2h45m'. Supported units are 'ns', 'us', 'ms', 's', 'm', and 'h'. - CpuCfsQuotaPeriod *string `json:"cpuCfsQuotaPeriod,omitempty"` - - // CpuManagerPolicy: The default is 'none'. See [Kubernetes CPU management - // policies](https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/#cpu-management-policies) for more - // information. Allowed values are 'none' and 'static'. - CpuManagerPolicy *string `json:"cpuManagerPolicy,omitempty"` - - // FailSwapOn: If set to true it will make the Kubelet fail to start if swap is enabled on the node. - FailSwapOn *bool `json:"failSwapOn,omitempty"` - - // ImageGcHighThreshold: To disable image garbage collection, set to 100. The default is 85% - ImageGcHighThreshold *int `json:"imageGcHighThreshold,omitempty"` - - // ImageGcLowThreshold: This cannot be set higher than imageGcHighThreshold. The default is 80% - ImageGcLowThreshold *int `json:"imageGcLowThreshold,omitempty"` - - // PodMaxPids: The maximum number of processes per pod. - PodMaxPids *int `json:"podMaxPids,omitempty"` - - // TopologyManagerPolicy: For more information see [Kubernetes Topology - // Manager](https://kubernetes.io/docs/tasks/administer-cluster/topology-manager). The default is 'none'. Allowed values - // are 'none', 'best-effort', 'restricted', and 'single-numa-node'. - TopologyManagerPolicy *string `json:"topologyManagerPolicy,omitempty"` + AllowedUnsafeSysctls []string `json:"allowedUnsafeSysctls"` + ContainerLogMaxFiles *int `json:"containerLogMaxFiles,omitempty"` + ContainerLogMaxSizeMB *int `json:"containerLogMaxSizeMB,omitempty"` + CpuCfsQuota *bool `json:"cpuCfsQuota,omitempty"` + CpuCfsQuotaPeriod *string `json:"cpuCfsQuotaPeriod,omitempty"` + CpuManagerPolicy *string `json:"cpuManagerPolicy,omitempty"` + FailSwapOn *bool `json:"failSwapOn,omitempty"` + ImageGcHighThreshold *int `json:"imageGcHighThreshold,omitempty"` + ImageGcLowThreshold *int `json:"imageGcLowThreshold,omitempty"` + PodMaxPids *int `json:"podMaxPids,omitempty"` + TopologyManagerPolicy *string `json:"topologyManagerPolicy,omitempty"` } -// Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage. type KubeletDiskType_STATUS string const ( @@ -299,28 +259,13 @@ var kubeletDiskType_STATUS_Values = map[string]KubeletDiskType_STATUS{ "temporary": KubeletDiskType_STATUS_Temporary, } -// See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. type LinuxOSConfig_STATUS struct { - // SwapFileSizeMB: The size in MB of a swap file that will be created on each node. - SwapFileSizeMB *int `json:"swapFileSizeMB,omitempty"` - - // Sysctls: Sysctl settings for Linux agent nodes. - Sysctls *SysctlConfig_STATUS `json:"sysctls,omitempty"` - - // TransparentHugePageDefrag: Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is - // 'madvise'. For more information see [Transparent - // Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). - TransparentHugePageDefrag *string `json:"transparentHugePageDefrag,omitempty"` - - // TransparentHugePageEnabled: Valid values are 'always', 'madvise', and 'never'. The default is 'always'. For more - // information see [Transparent - // Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). - TransparentHugePageEnabled *string `json:"transparentHugePageEnabled,omitempty"` + SwapFileSizeMB *int `json:"swapFileSizeMB,omitempty"` + Sysctls *SysctlConfig_STATUS `json:"sysctls,omitempty"` + TransparentHugePageDefrag *string `json:"transparentHugePageDefrag,omitempty"` + TransparentHugePageEnabled *string `json:"transparentHugePageEnabled,omitempty"` } -// The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, -// defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral -// OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). type OSDiskType_STATUS string const ( @@ -334,8 +279,6 @@ var oSDiskType_STATUS_Values = map[string]OSDiskType_STATUS{ "managed": OSDiskType_STATUS_Managed, } -// Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 when -// Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows. type OSSKU_STATUS string const ( @@ -353,7 +296,6 @@ var oSSKU_STATUS_Values = map[string]OSSKU_STATUS{ "windows2022": OSSKU_STATUS_Windows2022, } -// The operating system type. The default is Linux. type OSType_STATUS string const ( @@ -367,8 +309,6 @@ var oSType_STATUS_Values = map[string]OSType_STATUS{ "windows": OSType_STATUS_Windows, } -// Describes how VMs are added to or removed from Agent Pools. See [billing -// states](https://docs.microsoft.com/azure/virtual-machines/states-billing). type ScaleDownMode_STATUS string const ( @@ -382,8 +322,6 @@ var scaleDownMode_STATUS_Values = map[string]ScaleDownMode_STATUS{ "delete": ScaleDownMode_STATUS_Delete, } -// The eviction policy specifies what to do with the VM when it is evicted. The default is Delete. For more information -// about eviction see [spot VMs](https://docs.microsoft.com/azure/virtual-machines/spot-vms) type ScaleSetEvictionPolicy_STATUS string const ( @@ -397,7 +335,6 @@ var scaleSetEvictionPolicy_STATUS_Values = map[string]ScaleSetEvictionPolicy_STA "delete": ScaleSetEvictionPolicy_STATUS_Delete, } -// The Virtual Machine Scale Set priority. type ScaleSetPriority_STATUS string const ( @@ -411,7 +348,6 @@ var scaleSetPriority_STATUS_Values = map[string]ScaleSetPriority_STATUS{ "spot": ScaleSetPriority_STATUS_Spot, } -// Determines the type of workload a node can run. type WorkloadRuntime_STATUS string const ( @@ -425,89 +361,33 @@ var workloadRuntime_STATUS_Values = map[string]WorkloadRuntime_STATUS{ "wasmwasi": WorkloadRuntime_STATUS_WasmWasi, } -// Sysctl settings for Linux agent nodes. type SysctlConfig_STATUS struct { - // FsAioMaxNr: Sysctl setting fs.aio-max-nr. - FsAioMaxNr *int `json:"fsAioMaxNr,omitempty"` - - // FsFileMax: Sysctl setting fs.file-max. - FsFileMax *int `json:"fsFileMax,omitempty"` - - // FsInotifyMaxUserWatches: Sysctl setting fs.inotify.max_user_watches. - FsInotifyMaxUserWatches *int `json:"fsInotifyMaxUserWatches,omitempty"` - - // FsNrOpen: Sysctl setting fs.nr_open. - FsNrOpen *int `json:"fsNrOpen,omitempty"` - - // KernelThreadsMax: Sysctl setting kernel.threads-max. - KernelThreadsMax *int `json:"kernelThreadsMax,omitempty"` - - // NetCoreNetdevMaxBacklog: Sysctl setting net.core.netdev_max_backlog. - NetCoreNetdevMaxBacklog *int `json:"netCoreNetdevMaxBacklog,omitempty"` - - // NetCoreOptmemMax: Sysctl setting net.core.optmem_max. - NetCoreOptmemMax *int `json:"netCoreOptmemMax,omitempty"` - - // NetCoreRmemDefault: Sysctl setting net.core.rmem_default. - NetCoreRmemDefault *int `json:"netCoreRmemDefault,omitempty"` - - // NetCoreRmemMax: Sysctl setting net.core.rmem_max. - NetCoreRmemMax *int `json:"netCoreRmemMax,omitempty"` - - // NetCoreSomaxconn: Sysctl setting net.core.somaxconn. - NetCoreSomaxconn *int `json:"netCoreSomaxconn,omitempty"` - - // NetCoreWmemDefault: Sysctl setting net.core.wmem_default. - NetCoreWmemDefault *int `json:"netCoreWmemDefault,omitempty"` - - // NetCoreWmemMax: Sysctl setting net.core.wmem_max. - NetCoreWmemMax *int `json:"netCoreWmemMax,omitempty"` - - // NetIpv4IpLocalPortRange: Sysctl setting net.ipv4.ip_local_port_range. - NetIpv4IpLocalPortRange *string `json:"netIpv4IpLocalPortRange,omitempty"` - - // NetIpv4NeighDefaultGcThresh1: Sysctl setting net.ipv4.neigh.default.gc_thresh1. - NetIpv4NeighDefaultGcThresh1 *int `json:"netIpv4NeighDefaultGcThresh1,omitempty"` - - // NetIpv4NeighDefaultGcThresh2: Sysctl setting net.ipv4.neigh.default.gc_thresh2. - NetIpv4NeighDefaultGcThresh2 *int `json:"netIpv4NeighDefaultGcThresh2,omitempty"` - - // NetIpv4NeighDefaultGcThresh3: Sysctl setting net.ipv4.neigh.default.gc_thresh3. - NetIpv4NeighDefaultGcThresh3 *int `json:"netIpv4NeighDefaultGcThresh3,omitempty"` - - // NetIpv4TcpFinTimeout: Sysctl setting net.ipv4.tcp_fin_timeout. - NetIpv4TcpFinTimeout *int `json:"netIpv4TcpFinTimeout,omitempty"` - - // NetIpv4TcpKeepaliveProbes: Sysctl setting net.ipv4.tcp_keepalive_probes. - NetIpv4TcpKeepaliveProbes *int `json:"netIpv4TcpKeepaliveProbes,omitempty"` - - // NetIpv4TcpKeepaliveTime: Sysctl setting net.ipv4.tcp_keepalive_time. - NetIpv4TcpKeepaliveTime *int `json:"netIpv4TcpKeepaliveTime,omitempty"` - - // NetIpv4TcpMaxSynBacklog: Sysctl setting net.ipv4.tcp_max_syn_backlog. - NetIpv4TcpMaxSynBacklog *int `json:"netIpv4TcpMaxSynBacklog,omitempty"` - - // NetIpv4TcpMaxTwBuckets: Sysctl setting net.ipv4.tcp_max_tw_buckets. - NetIpv4TcpMaxTwBuckets *int `json:"netIpv4TcpMaxTwBuckets,omitempty"` - - // NetIpv4TcpTwReuse: Sysctl setting net.ipv4.tcp_tw_reuse. - NetIpv4TcpTwReuse *bool `json:"netIpv4TcpTwReuse,omitempty"` - - // NetIpv4TcpkeepaliveIntvl: Sysctl setting net.ipv4.tcp_keepalive_intvl. - NetIpv4TcpkeepaliveIntvl *int `json:"netIpv4TcpkeepaliveIntvl,omitempty"` - - // NetNetfilterNfConntrackBuckets: Sysctl setting net.netfilter.nf_conntrack_buckets. - NetNetfilterNfConntrackBuckets *int `json:"netNetfilterNfConntrackBuckets,omitempty"` - - // NetNetfilterNfConntrackMax: Sysctl setting net.netfilter.nf_conntrack_max. - NetNetfilterNfConntrackMax *int `json:"netNetfilterNfConntrackMax,omitempty"` - - // VmMaxMapCount: Sysctl setting vm.max_map_count. - VmMaxMapCount *int `json:"vmMaxMapCount,omitempty"` - - // VmSwappiness: Sysctl setting vm.swappiness. - VmSwappiness *int `json:"vmSwappiness,omitempty"` - - // VmVfsCachePressure: Sysctl setting vm.vfs_cache_pressure. - VmVfsCachePressure *int `json:"vmVfsCachePressure,omitempty"` + FsAioMaxNr *int `json:"fsAioMaxNr,omitempty"` + FsFileMax *int `json:"fsFileMax,omitempty"` + FsInotifyMaxUserWatches *int `json:"fsInotifyMaxUserWatches,omitempty"` + FsNrOpen *int `json:"fsNrOpen,omitempty"` + KernelThreadsMax *int `json:"kernelThreadsMax,omitempty"` + NetCoreNetdevMaxBacklog *int `json:"netCoreNetdevMaxBacklog,omitempty"` + NetCoreOptmemMax *int `json:"netCoreOptmemMax,omitempty"` + NetCoreRmemDefault *int `json:"netCoreRmemDefault,omitempty"` + NetCoreRmemMax *int `json:"netCoreRmemMax,omitempty"` + NetCoreSomaxconn *int `json:"netCoreSomaxconn,omitempty"` + NetCoreWmemDefault *int `json:"netCoreWmemDefault,omitempty"` + NetCoreWmemMax *int `json:"netCoreWmemMax,omitempty"` + NetIpv4IpLocalPortRange *string `json:"netIpv4IpLocalPortRange,omitempty"` + NetIpv4NeighDefaultGcThresh1 *int `json:"netIpv4NeighDefaultGcThresh1,omitempty"` + NetIpv4NeighDefaultGcThresh2 *int `json:"netIpv4NeighDefaultGcThresh2,omitempty"` + NetIpv4NeighDefaultGcThresh3 *int `json:"netIpv4NeighDefaultGcThresh3,omitempty"` + NetIpv4TcpFinTimeout *int `json:"netIpv4TcpFinTimeout,omitempty"` + NetIpv4TcpKeepaliveProbes *int `json:"netIpv4TcpKeepaliveProbes,omitempty"` + NetIpv4TcpKeepaliveTime *int `json:"netIpv4TcpKeepaliveTime,omitempty"` + NetIpv4TcpMaxSynBacklog *int `json:"netIpv4TcpMaxSynBacklog,omitempty"` + NetIpv4TcpMaxTwBuckets *int `json:"netIpv4TcpMaxTwBuckets,omitempty"` + NetIpv4TcpTwReuse *bool `json:"netIpv4TcpTwReuse,omitempty"` + NetIpv4TcpkeepaliveIntvl *int `json:"netIpv4TcpkeepaliveIntvl,omitempty"` + NetNetfilterNfConntrackBuckets *int `json:"netNetfilterNfConntrackBuckets,omitempty"` + NetNetfilterNfConntrackMax *int `json:"netNetfilterNfConntrackMax,omitempty"` + VmMaxMapCount *int `json:"vmMaxMapCount,omitempty"` + VmSwappiness *int `json:"vmSwappiness,omitempty"` + VmVfsCachePressure *int `json:"vmVfsCachePressure,omitempty"` } diff --git a/v2/api/containerservice/v1api20230201/managed_cluster_types_gen.go b/v2/api/containerservice/v1api20230201/managed_cluster_types_gen.go index a2b761f0be6..9b146a96334 100644 --- a/v2/api/containerservice/v1api20230201/managed_cluster_types_gen.go +++ b/v2/api/containerservice/v1api20230201/managed_cluster_types_gen.go @@ -30,9 +30,6 @@ import ( // +kubebuilder:printcolumn:name="Severity",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].severity" // +kubebuilder:printcolumn:name="Reason",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].reason" // +kubebuilder:printcolumn:name="Message",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].message" -// Generator information: -// - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-02-01/managedClusters.json -// - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName} type ManagedCluster struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` @@ -387,9 +384,6 @@ func (cluster *ManagedCluster) OriginalGVK() *schema.GroupVersionKind { } // +kubebuilder:object:root=true -// Generator information: -// - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-02-01/managedClusters.json -// - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName} type ManagedClusterList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` @@ -402,92 +396,37 @@ type APIVersion string const APIVersion_Value = APIVersion("2023-02-01") type ManagedCluster_Spec struct { - // AadProfile: The Azure Active Directory configuration. - AadProfile *ManagedClusterAADProfile `json:"aadProfile,omitempty"` - - // AddonProfiles: The profile of managed cluster add-on. - AddonProfiles map[string]ManagedClusterAddonProfile `json:"addonProfiles,omitempty"` - - // AgentPoolProfiles: The agent pool properties. - AgentPoolProfiles []ManagedClusterAgentPoolProfile `json:"agentPoolProfiles,omitempty"` - - // ApiServerAccessProfile: The access profile for managed cluster API server. - ApiServerAccessProfile *ManagedClusterAPIServerAccessProfile `json:"apiServerAccessProfile,omitempty"` - - // AutoScalerProfile: Parameters to be applied to the cluster-autoscaler when enabled - AutoScalerProfile *ManagedClusterProperties_AutoScalerProfile `json:"autoScalerProfile,omitempty"` - - // AutoUpgradeProfile: The auto upgrade configuration. - AutoUpgradeProfile *ManagedClusterAutoUpgradeProfile `json:"autoUpgradeProfile,omitempty"` - - // AzureMonitorProfile: Azure Monitor addon profiles for monitoring the managed cluster. - AzureMonitorProfile *ManagedClusterAzureMonitorProfile `json:"azureMonitorProfile,omitempty"` + AadProfile *ManagedClusterAADProfile `json:"aadProfile,omitempty"` + AddonProfiles map[string]ManagedClusterAddonProfile `json:"addonProfiles,omitempty"` + AgentPoolProfiles []ManagedClusterAgentPoolProfile `json:"agentPoolProfiles,omitempty"` + ApiServerAccessProfile *ManagedClusterAPIServerAccessProfile `json:"apiServerAccessProfile,omitempty"` + AutoScalerProfile *ManagedClusterProperties_AutoScalerProfile `json:"autoScalerProfile,omitempty"` + AutoUpgradeProfile *ManagedClusterAutoUpgradeProfile `json:"autoUpgradeProfile,omitempty"` + AzureMonitorProfile *ManagedClusterAzureMonitorProfile `json:"azureMonitorProfile,omitempty"` // +kubebuilder:validation:MaxLength=63 // +kubebuilder:validation:MinLength=1 // +kubebuilder:validation:Pattern="^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" // AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it // doesn't have to be. - AzureName string `json:"azureName,omitempty"` - - // DisableLocalAccounts: If set to true, getting static credentials will be disabled for this cluster. This must only be - // used on Managed Clusters that are AAD enabled. For more details see [disable local - // accounts](https://docs.microsoft.com/azure/aks/managed-aad#disable-local-accounts-preview). - DisableLocalAccounts *bool `json:"disableLocalAccounts,omitempty"` - - // DiskEncryptionSetReference: This is of the form: - // '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}' - DiskEncryptionSetReference *genruntime.ResourceReference `armReference:"DiskEncryptionSetID" json:"diskEncryptionSetReference,omitempty"` - - // DnsPrefix: This cannot be updated once the Managed Cluster has been created. - DnsPrefix *string `json:"dnsPrefix,omitempty"` - - // EnablePodSecurityPolicy: (DEPRECATED) Whether to enable Kubernetes pod security policy (preview). PodSecurityPolicy was - // deprecated in Kubernetes v1.21, and removed from Kubernetes in v1.25. Learn more at https://aka.ms/k8s/psp and - // https://aka.ms/aks/psp. - EnablePodSecurityPolicy *bool `json:"enablePodSecurityPolicy,omitempty"` - - // EnableRBAC: Whether to enable Kubernetes Role-Based Access Control. - EnableRBAC *bool `json:"enableRBAC,omitempty"` - - // ExtendedLocation: The extended location of the Virtual Machine. - ExtendedLocation *ExtendedLocation `json:"extendedLocation,omitempty"` - - // FqdnSubdomain: This cannot be updated once the Managed Cluster has been created. - FqdnSubdomain *string `json:"fqdnSubdomain,omitempty"` - - // HttpProxyConfig: Configurations for provisioning the cluster with HTTP proxy servers. - HttpProxyConfig *ManagedClusterHTTPProxyConfig `json:"httpProxyConfig,omitempty"` - - // Identity: The identity of the managed cluster, if configured. - Identity *ManagedClusterIdentity `json:"identity,omitempty"` - - // IdentityProfile: Identities associated with the cluster. - IdentityProfile map[string]UserAssignedIdentity `json:"identityProfile,omitempty"` - - // KubernetesVersion: Both patch version (e.g. 1.20.13) and (e.g. 1.20) are supported. - // When is specified, the latest supported GA patch version is chosen automatically. Updating the cluster - // with the same once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer - // patch version is available. When you upgrade a supported AKS cluster, Kubernetes minor versions cannot be skipped. All - // upgrades must be performed sequentially by major version number. For example, upgrades between 1.14.x -> 1.15.x or - // 1.15.x -> 1.16.x are allowed, however 1.14.x -> 1.16.x is not allowed. See [upgrading an AKS - // cluster](https://docs.microsoft.com/azure/aks/upgrade-cluster) for more details. - KubernetesVersion *string `json:"kubernetesVersion,omitempty"` - - // LinuxProfile: The profile for Linux VMs in the Managed Cluster. - LinuxProfile *ContainerServiceLinuxProfile `json:"linuxProfile,omitempty"` + AzureName string `json:"azureName,omitempty"` + DisableLocalAccounts *bool `json:"disableLocalAccounts,omitempty"` + DiskEncryptionSetReference *genruntime.ResourceReference `armReference:"DiskEncryptionSetID" json:"diskEncryptionSetReference,omitempty"` + DnsPrefix *string `json:"dnsPrefix,omitempty"` + EnablePodSecurityPolicy *bool `json:"enablePodSecurityPolicy,omitempty"` + EnableRBAC *bool `json:"enableRBAC,omitempty"` + ExtendedLocation *ExtendedLocation `json:"extendedLocation,omitempty"` + FqdnSubdomain *string `json:"fqdnSubdomain,omitempty"` + HttpProxyConfig *ManagedClusterHTTPProxyConfig `json:"httpProxyConfig,omitempty"` + Identity *ManagedClusterIdentity `json:"identity,omitempty"` + IdentityProfile map[string]UserAssignedIdentity `json:"identityProfile,omitempty"` + KubernetesVersion *string `json:"kubernetesVersion,omitempty"` + LinuxProfile *ContainerServiceLinuxProfile `json:"linuxProfile,omitempty"` // +kubebuilder:validation:Required - // Location: The geo-location where the resource lives - Location *string `json:"location,omitempty"` - - // NetworkProfile: The network configuration profile. - NetworkProfile *ContainerServiceNetworkProfile `json:"networkProfile,omitempty"` - - // NodeResourceGroup: The name of the resource group containing agent pool nodes. - NodeResourceGroup *string `json:"nodeResourceGroup,omitempty"` - - // OidcIssuerProfile: The OIDC issuer profile of the Managed Cluster. + Location *string `json:"location,omitempty"` + NetworkProfile *ContainerServiceNetworkProfile `json:"networkProfile,omitempty"` + NodeResourceGroup *string `json:"nodeResourceGroup,omitempty"` OidcIssuerProfile *ManagedClusterOIDCIssuerProfile `json:"oidcIssuerProfile,omitempty"` // OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not @@ -498,39 +437,17 @@ type ManagedCluster_Spec struct { // Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also // controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a // reference to a resources.azure.com/ResourceGroup resource - Owner *genruntime.KnownResourceReference `group:"resources.azure.com" json:"owner,omitempty" kind:"ResourceGroup"` - - // PodIdentityProfile: See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more - // details on AAD pod identity integration. - PodIdentityProfile *ManagedClusterPodIdentityProfile `json:"podIdentityProfile,omitempty"` - - // PrivateLinkResources: Private link resources associated with the cluster. - PrivateLinkResources []PrivateLinkResource `json:"privateLinkResources,omitempty"` - - // PublicNetworkAccess: Allow or deny public network access for AKS - PublicNetworkAccess *ManagedClusterProperties_PublicNetworkAccess `json:"publicNetworkAccess,omitempty"` - - // SecurityProfile: Security profile for the managed cluster. - SecurityProfile *ManagedClusterSecurityProfile `json:"securityProfile,omitempty"` - - // ServicePrincipalProfile: Information about a service principal identity for the cluster to use for manipulating Azure - // APIs. - ServicePrincipalProfile *ManagedClusterServicePrincipalProfile `json:"servicePrincipalProfile,omitempty"` - - // Sku: The managed cluster SKU. - Sku *ManagedClusterSKU `json:"sku,omitempty"` - - // StorageProfile: Storage profile for the managed cluster. - StorageProfile *ManagedClusterStorageProfile `json:"storageProfile,omitempty"` - - // Tags: Resource tags. - Tags map[string]string `json:"tags,omitempty" serializationType:"explicitEmptyCollection"` - - // WindowsProfile: The profile for Windows VMs in the Managed Cluster. - WindowsProfile *ManagedClusterWindowsProfile `json:"windowsProfile,omitempty"` - - // WorkloadAutoScalerProfile: Workload Auto-scaler profile for the managed cluster. - WorkloadAutoScalerProfile *ManagedClusterWorkloadAutoScalerProfile `json:"workloadAutoScalerProfile,omitempty"` + Owner *genruntime.KnownResourceReference `group:"resources.azure.com" json:"owner,omitempty" kind:"ResourceGroup"` + PodIdentityProfile *ManagedClusterPodIdentityProfile `json:"podIdentityProfile,omitempty"` + PrivateLinkResources []PrivateLinkResource `json:"privateLinkResources,omitempty"` + PublicNetworkAccess *ManagedClusterProperties_PublicNetworkAccess `json:"publicNetworkAccess,omitempty"` + SecurityProfile *ManagedClusterSecurityProfile `json:"securityProfile,omitempty"` + ServicePrincipalProfile *ManagedClusterServicePrincipalProfile `json:"servicePrincipalProfile,omitempty"` + Sku *ManagedClusterSKU `json:"sku,omitempty"` + StorageProfile *ManagedClusterStorageProfile `json:"storageProfile,omitempty"` + Tags map[string]string `json:"tags,omitempty" serializationType:"explicitEmptyCollection"` + WindowsProfile *ManagedClusterWindowsProfile `json:"windowsProfile,omitempty"` + WorkloadAutoScalerProfile *ManagedClusterWorkloadAutoScalerProfile `json:"workloadAutoScalerProfile,omitempty"` } var _ genruntime.ARMTransformer = &ManagedCluster_Spec{} @@ -2066,160 +1983,54 @@ func (cluster *ManagedCluster_Spec) OriginalVersion() string { // SetAzureName sets the Azure name of the resource func (cluster *ManagedCluster_Spec) SetAzureName(azureName string) { cluster.AzureName = azureName } -// Managed cluster. type ManagedCluster_STATUS struct { - // AadProfile: The Azure Active Directory configuration. - AadProfile *ManagedClusterAADProfile_STATUS `json:"aadProfile,omitempty"` - - // AddonProfiles: The profile of managed cluster add-on. - AddonProfiles map[string]ManagedClusterAddonProfile_STATUS `json:"addonProfiles,omitempty"` - - // AgentPoolProfiles: The agent pool properties. - AgentPoolProfiles []ManagedClusterAgentPoolProfile_STATUS `json:"agentPoolProfiles,omitempty"` - - // ApiServerAccessProfile: The access profile for managed cluster API server. - ApiServerAccessProfile *ManagedClusterAPIServerAccessProfile_STATUS `json:"apiServerAccessProfile,omitempty"` - - // AutoScalerProfile: Parameters to be applied to the cluster-autoscaler when enabled - AutoScalerProfile *ManagedClusterProperties_AutoScalerProfile_STATUS `json:"autoScalerProfile,omitempty"` - - // AutoUpgradeProfile: The auto upgrade configuration. - AutoUpgradeProfile *ManagedClusterAutoUpgradeProfile_STATUS `json:"autoUpgradeProfile,omitempty"` - - // AzureMonitorProfile: Azure Monitor addon profiles for monitoring the managed cluster. - AzureMonitorProfile *ManagedClusterAzureMonitorProfile_STATUS `json:"azureMonitorProfile,omitempty"` - - // AzurePortalFQDN: The Azure Portal requires certain Cross-Origin Resource Sharing (CORS) headers to be sent in some - // responses, which Kubernetes APIServer doesn't handle by default. This special FQDN supports CORS, allowing the Azure - // Portal to function properly. - AzurePortalFQDN *string `json:"azurePortalFQDN,omitempty"` + AadProfile *ManagedClusterAADProfile_STATUS `json:"aadProfile,omitempty"` + AddonProfiles map[string]ManagedClusterAddonProfile_STATUS `json:"addonProfiles,omitempty"` + AgentPoolProfiles []ManagedClusterAgentPoolProfile_STATUS `json:"agentPoolProfiles,omitempty"` + ApiServerAccessProfile *ManagedClusterAPIServerAccessProfile_STATUS `json:"apiServerAccessProfile,omitempty"` + AutoScalerProfile *ManagedClusterProperties_AutoScalerProfile_STATUS `json:"autoScalerProfile,omitempty"` + AutoUpgradeProfile *ManagedClusterAutoUpgradeProfile_STATUS `json:"autoUpgradeProfile,omitempty"` + AzureMonitorProfile *ManagedClusterAzureMonitorProfile_STATUS `json:"azureMonitorProfile,omitempty"` + AzurePortalFQDN *string `json:"azurePortalFQDN,omitempty"` // Conditions: The observed state of the resource - Conditions []conditions.Condition `json:"conditions,omitempty"` - - // CurrentKubernetesVersion: If kubernetesVersion was a fully specified version , this field will be - // exactly equal to it. If kubernetesVersion was , this field will contain the full - // version being used. - CurrentKubernetesVersion *string `json:"currentKubernetesVersion,omitempty"` - - // DisableLocalAccounts: If set to true, getting static credentials will be disabled for this cluster. This must only be - // used on Managed Clusters that are AAD enabled. For more details see [disable local - // accounts](https://docs.microsoft.com/azure/aks/managed-aad#disable-local-accounts-preview). - DisableLocalAccounts *bool `json:"disableLocalAccounts,omitempty"` - - // DiskEncryptionSetID: This is of the form: - // '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}' - DiskEncryptionSetID *string `json:"diskEncryptionSetID,omitempty"` - - // DnsPrefix: This cannot be updated once the Managed Cluster has been created. - DnsPrefix *string `json:"dnsPrefix,omitempty"` - - // EnablePodSecurityPolicy: (DEPRECATED) Whether to enable Kubernetes pod security policy (preview). PodSecurityPolicy was - // deprecated in Kubernetes v1.21, and removed from Kubernetes in v1.25. Learn more at https://aka.ms/k8s/psp and - // https://aka.ms/aks/psp. - EnablePodSecurityPolicy *bool `json:"enablePodSecurityPolicy,omitempty"` - - // EnableRBAC: Whether to enable Kubernetes Role-Based Access Control. - EnableRBAC *bool `json:"enableRBAC,omitempty"` - - // ExtendedLocation: The extended location of the Virtual Machine. - ExtendedLocation *ExtendedLocation_STATUS `json:"extendedLocation,omitempty"` - - // Fqdn: The FQDN of the master pool. - Fqdn *string `json:"fqdn,omitempty"` - - // FqdnSubdomain: This cannot be updated once the Managed Cluster has been created. - FqdnSubdomain *string `json:"fqdnSubdomain,omitempty"` - - // HttpProxyConfig: Configurations for provisioning the cluster with HTTP proxy servers. - HttpProxyConfig *ManagedClusterHTTPProxyConfig_STATUS `json:"httpProxyConfig,omitempty"` - - // Id: Fully qualified resource ID for the resource. Ex - - // /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} - Id *string `json:"id,omitempty"` - - // Identity: The identity of the managed cluster, if configured. - Identity *ManagedClusterIdentity_STATUS `json:"identity,omitempty"` - - // IdentityProfile: Identities associated with the cluster. - IdentityProfile map[string]UserAssignedIdentity_STATUS `json:"identityProfile,omitempty"` - - // KubernetesVersion: Both patch version (e.g. 1.20.13) and (e.g. 1.20) are supported. - // When is specified, the latest supported GA patch version is chosen automatically. Updating the cluster - // with the same once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer - // patch version is available. When you upgrade a supported AKS cluster, Kubernetes minor versions cannot be skipped. All - // upgrades must be performed sequentially by major version number. For example, upgrades between 1.14.x -> 1.15.x or - // 1.15.x -> 1.16.x are allowed, however 1.14.x -> 1.16.x is not allowed. See [upgrading an AKS - // cluster](https://docs.microsoft.com/azure/aks/upgrade-cluster) for more details. - KubernetesVersion *string `json:"kubernetesVersion,omitempty"` - - // LinuxProfile: The profile for Linux VMs in the Managed Cluster. - LinuxProfile *ContainerServiceLinuxProfile_STATUS `json:"linuxProfile,omitempty"` - - // Location: The geo-location where the resource lives - Location *string `json:"location,omitempty"` - - // MaxAgentPools: The max number of agent pools for the managed cluster. - MaxAgentPools *int `json:"maxAgentPools,omitempty"` - - // Name: The name of the resource - Name *string `json:"name,omitempty"` - - // NetworkProfile: The network configuration profile. - NetworkProfile *ContainerServiceNetworkProfile_STATUS `json:"networkProfile,omitempty"` - - // NodeResourceGroup: The name of the resource group containing agent pool nodes. - NodeResourceGroup *string `json:"nodeResourceGroup,omitempty"` - - // OidcIssuerProfile: The OIDC issuer profile of the Managed Cluster. - OidcIssuerProfile *ManagedClusterOIDCIssuerProfile_STATUS `json:"oidcIssuerProfile,omitempty"` - - // PodIdentityProfile: See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more - // details on AAD pod identity integration. - PodIdentityProfile *ManagedClusterPodIdentityProfile_STATUS `json:"podIdentityProfile,omitempty"` - - // PowerState: The Power State of the cluster. - PowerState *PowerState_STATUS `json:"powerState,omitempty"` - - // PrivateFQDN: The FQDN of private cluster. - PrivateFQDN *string `json:"privateFQDN,omitempty"` - - // PrivateLinkResources: Private link resources associated with the cluster. - PrivateLinkResources []PrivateLinkResource_STATUS `json:"privateLinkResources,omitempty"` - - // ProvisioningState: The current provisioning state. - ProvisioningState *string `json:"provisioningState,omitempty"` - - // PublicNetworkAccess: Allow or deny public network access for AKS - PublicNetworkAccess *ManagedClusterProperties_PublicNetworkAccess_STATUS `json:"publicNetworkAccess,omitempty"` - - // SecurityProfile: Security profile for the managed cluster. - SecurityProfile *ManagedClusterSecurityProfile_STATUS `json:"securityProfile,omitempty"` - - // ServicePrincipalProfile: Information about a service principal identity for the cluster to use for manipulating Azure - // APIs. - ServicePrincipalProfile *ManagedClusterServicePrincipalProfile_STATUS `json:"servicePrincipalProfile,omitempty"` - - // Sku: The managed cluster SKU. - Sku *ManagedClusterSKU_STATUS `json:"sku,omitempty"` - - // StorageProfile: Storage profile for the managed cluster. - StorageProfile *ManagedClusterStorageProfile_STATUS `json:"storageProfile,omitempty"` - - // SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information. - SystemData *SystemData_STATUS `json:"systemData,omitempty"` - - // Tags: Resource tags. - Tags map[string]string `json:"tags,omitempty"` - - // Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" - Type *string `json:"type,omitempty"` - - // WindowsProfile: The profile for Windows VMs in the Managed Cluster. - WindowsProfile *ManagedClusterWindowsProfile_STATUS `json:"windowsProfile,omitempty"` - - // WorkloadAutoScalerProfile: Workload Auto-scaler profile for the managed cluster. - WorkloadAutoScalerProfile *ManagedClusterWorkloadAutoScalerProfile_STATUS `json:"workloadAutoScalerProfile,omitempty"` + Conditions []conditions.Condition `json:"conditions,omitempty"` + CurrentKubernetesVersion *string `json:"currentKubernetesVersion,omitempty"` + DisableLocalAccounts *bool `json:"disableLocalAccounts,omitempty"` + DiskEncryptionSetID *string `json:"diskEncryptionSetID,omitempty"` + DnsPrefix *string `json:"dnsPrefix,omitempty"` + EnablePodSecurityPolicy *bool `json:"enablePodSecurityPolicy,omitempty"` + EnableRBAC *bool `json:"enableRBAC,omitempty"` + ExtendedLocation *ExtendedLocation_STATUS `json:"extendedLocation,omitempty"` + Fqdn *string `json:"fqdn,omitempty"` + FqdnSubdomain *string `json:"fqdnSubdomain,omitempty"` + HttpProxyConfig *ManagedClusterHTTPProxyConfig_STATUS `json:"httpProxyConfig,omitempty"` + Id *string `json:"id,omitempty"` + Identity *ManagedClusterIdentity_STATUS `json:"identity,omitempty"` + IdentityProfile map[string]UserAssignedIdentity_STATUS `json:"identityProfile,omitempty"` + KubernetesVersion *string `json:"kubernetesVersion,omitempty"` + LinuxProfile *ContainerServiceLinuxProfile_STATUS `json:"linuxProfile,omitempty"` + Location *string `json:"location,omitempty"` + MaxAgentPools *int `json:"maxAgentPools,omitempty"` + Name *string `json:"name,omitempty"` + NetworkProfile *ContainerServiceNetworkProfile_STATUS `json:"networkProfile,omitempty"` + NodeResourceGroup *string `json:"nodeResourceGroup,omitempty"` + OidcIssuerProfile *ManagedClusterOIDCIssuerProfile_STATUS `json:"oidcIssuerProfile,omitempty"` + PodIdentityProfile *ManagedClusterPodIdentityProfile_STATUS `json:"podIdentityProfile,omitempty"` + PowerState *PowerState_STATUS `json:"powerState,omitempty"` + PrivateFQDN *string `json:"privateFQDN,omitempty"` + PrivateLinkResources []PrivateLinkResource_STATUS `json:"privateLinkResources,omitempty"` + ProvisioningState *string `json:"provisioningState,omitempty"` + PublicNetworkAccess *ManagedClusterProperties_PublicNetworkAccess_STATUS `json:"publicNetworkAccess,omitempty"` + SecurityProfile *ManagedClusterSecurityProfile_STATUS `json:"securityProfile,omitempty"` + ServicePrincipalProfile *ManagedClusterServicePrincipalProfile_STATUS `json:"servicePrincipalProfile,omitempty"` + Sku *ManagedClusterSKU_STATUS `json:"sku,omitempty"` + StorageProfile *ManagedClusterStorageProfile_STATUS `json:"storageProfile,omitempty"` + SystemData *SystemData_STATUS `json:"systemData,omitempty"` + Tags map[string]string `json:"tags,omitempty"` + Type *string `json:"type,omitempty"` + WindowsProfile *ManagedClusterWindowsProfile_STATUS `json:"windowsProfile,omitempty"` + WorkloadAutoScalerProfile *ManagedClusterWorkloadAutoScalerProfile_STATUS `json:"workloadAutoScalerProfile,omitempty"` } var _ genruntime.ConvertibleStatus = &ManagedCluster_STATUS{} @@ -3601,15 +3412,12 @@ func (cluster *ManagedCluster_STATUS) AssignProperties_To_ManagedCluster_STATUS( return nil } -// Profile for Linux VMs in the container service cluster. type ContainerServiceLinuxProfile struct { // +kubebuilder:validation:Required // +kubebuilder:validation:Pattern="^[A-Za-z][-A-Za-z0-9_]*$" - // AdminUsername: The administrator username to use for Linux VMs. AdminUsername *string `json:"adminUsername,omitempty"` // +kubebuilder:validation:Required - // Ssh: The SSH configuration for Linux-based VMs running on Azure. Ssh *ContainerServiceSshConfiguration `json:"ssh,omitempty"` } @@ -3736,13 +3544,9 @@ func (profile *ContainerServiceLinuxProfile) AssignProperties_To_ContainerServic return nil } -// Profile for Linux VMs in the container service cluster. type ContainerServiceLinuxProfile_STATUS struct { - // AdminUsername: The administrator username to use for Linux VMs. - AdminUsername *string `json:"adminUsername,omitempty"` - - // Ssh: The SSH configuration for Linux-based VMs running on Azure. - Ssh *ContainerServiceSshConfiguration_STATUS `json:"ssh,omitempty"` + AdminUsername *string `json:"adminUsername,omitempty"` + Ssh *ContainerServiceSshConfiguration_STATUS `json:"ssh,omitempty"` } var _ genruntime.FromARMConverter = &ContainerServiceLinuxProfile_STATUS{} @@ -3833,67 +3637,29 @@ func (profile *ContainerServiceLinuxProfile_STATUS) AssignProperties_To_Containe return nil } -// Profile of network configuration. type ContainerServiceNetworkProfile struct { // +kubebuilder:validation:Pattern="^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$" - // DnsServiceIP: An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address - // range specified in serviceCidr. DnsServiceIP *string `json:"dnsServiceIP,omitempty"` // +kubebuilder:validation:Pattern="^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$" - // DockerBridgeCidr: A CIDR notation IP range assigned to the Docker bridge network. It must not overlap with any Subnet IP - // ranges or the Kubernetes service address range. - DockerBridgeCidr *string `json:"dockerBridgeCidr,omitempty"` - - // IpFamilies: IP families are used to determine single-stack or dual-stack clusters. For single-stack, the expected value - // is IPv4. For dual-stack, the expected values are IPv4 and IPv6. - IpFamilies []ContainerServiceNetworkProfile_IpFamilies `json:"ipFamilies,omitempty"` - - // LoadBalancerProfile: Profile of the cluster load balancer. - LoadBalancerProfile *ManagedClusterLoadBalancerProfile `json:"loadBalancerProfile,omitempty"` - - // LoadBalancerSku: The default is 'standard'. See [Azure Load Balancer - // SKUs](https://docs.microsoft.com/azure/load-balancer/skus) for more information about the differences between load - // balancer SKUs. - LoadBalancerSku *ContainerServiceNetworkProfile_LoadBalancerSku `json:"loadBalancerSku,omitempty"` - - // NatGatewayProfile: Profile of the cluster NAT gateway. - NatGatewayProfile *ManagedClusterNATGatewayProfile `json:"natGatewayProfile,omitempty"` - - // NetworkDataplane: Network dataplane used in the Kubernetes cluster. - NetworkDataplane *ContainerServiceNetworkProfile_NetworkDataplane `json:"networkDataplane,omitempty"` - - // NetworkMode: This cannot be specified if networkPlugin is anything other than 'azure'. - NetworkMode *ContainerServiceNetworkProfile_NetworkMode `json:"networkMode,omitempty"` - - // NetworkPlugin: Network plugin used for building the Kubernetes network. - NetworkPlugin *ContainerServiceNetworkProfile_NetworkPlugin `json:"networkPlugin,omitempty"` - - // NetworkPluginMode: The mode the network plugin should use. - NetworkPluginMode *ContainerServiceNetworkProfile_NetworkPluginMode `json:"networkPluginMode,omitempty"` - - // NetworkPolicy: Network policy used for building the Kubernetes network. - NetworkPolicy *ContainerServiceNetworkProfile_NetworkPolicy `json:"networkPolicy,omitempty"` - - // OutboundType: This can only be set at cluster creation time and cannot be changed later. For more information see - // [egress outbound type](https://docs.microsoft.com/azure/aks/egress-outboundtype). - OutboundType *ContainerServiceNetworkProfile_OutboundType `json:"outboundType,omitempty"` + DockerBridgeCidr *string `json:"dockerBridgeCidr,omitempty"` + IpFamilies []ContainerServiceNetworkProfile_IpFamilies `json:"ipFamilies,omitempty"` + LoadBalancerProfile *ManagedClusterLoadBalancerProfile `json:"loadBalancerProfile,omitempty"` + LoadBalancerSku *ContainerServiceNetworkProfile_LoadBalancerSku `json:"loadBalancerSku,omitempty"` + NatGatewayProfile *ManagedClusterNATGatewayProfile `json:"natGatewayProfile,omitempty"` + NetworkDataplane *ContainerServiceNetworkProfile_NetworkDataplane `json:"networkDataplane,omitempty"` + NetworkMode *ContainerServiceNetworkProfile_NetworkMode `json:"networkMode,omitempty"` + NetworkPlugin *ContainerServiceNetworkProfile_NetworkPlugin `json:"networkPlugin,omitempty"` + NetworkPluginMode *ContainerServiceNetworkProfile_NetworkPluginMode `json:"networkPluginMode,omitempty"` + NetworkPolicy *ContainerServiceNetworkProfile_NetworkPolicy `json:"networkPolicy,omitempty"` + OutboundType *ContainerServiceNetworkProfile_OutboundType `json:"outboundType,omitempty"` // +kubebuilder:validation:Pattern="^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$" - // PodCidr: A CIDR notation IP range from which to assign pod IPs when kubenet is used. - PodCidr *string `json:"podCidr,omitempty"` - - // PodCidrs: One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is - // expected for dual-stack networking. + PodCidr *string `json:"podCidr,omitempty"` PodCidrs []string `json:"podCidrs,omitempty"` // +kubebuilder:validation:Pattern="^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$" - // ServiceCidr: A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP - // ranges. - ServiceCidr *string `json:"serviceCidr,omitempty"` - - // ServiceCidrs: One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is - // expected for dual-stack networking. They must not overlap with any Subnet IP ranges. + ServiceCidr *string `json:"serviceCidr,omitempty"` ServiceCidrs []string `json:"serviceCidrs,omitempty"` } @@ -4452,64 +4218,23 @@ func (profile *ContainerServiceNetworkProfile) AssignProperties_To_ContainerServ return nil } -// Profile of network configuration. type ContainerServiceNetworkProfile_STATUS struct { - // DnsServiceIP: An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address - // range specified in serviceCidr. - DnsServiceIP *string `json:"dnsServiceIP,omitempty"` - - // DockerBridgeCidr: A CIDR notation IP range assigned to the Docker bridge network. It must not overlap with any Subnet IP - // ranges or the Kubernetes service address range. - DockerBridgeCidr *string `json:"dockerBridgeCidr,omitempty"` - - // IpFamilies: IP families are used to determine single-stack or dual-stack clusters. For single-stack, the expected value - // is IPv4. For dual-stack, the expected values are IPv4 and IPv6. - IpFamilies []ContainerServiceNetworkProfile_IpFamilies_STATUS `json:"ipFamilies,omitempty"` - - // LoadBalancerProfile: Profile of the cluster load balancer. - LoadBalancerProfile *ManagedClusterLoadBalancerProfile_STATUS `json:"loadBalancerProfile,omitempty"` - - // LoadBalancerSku: The default is 'standard'. See [Azure Load Balancer - // SKUs](https://docs.microsoft.com/azure/load-balancer/skus) for more information about the differences between load - // balancer SKUs. - LoadBalancerSku *ContainerServiceNetworkProfile_LoadBalancerSku_STATUS `json:"loadBalancerSku,omitempty"` - - // NatGatewayProfile: Profile of the cluster NAT gateway. - NatGatewayProfile *ManagedClusterNATGatewayProfile_STATUS `json:"natGatewayProfile,omitempty"` - - // NetworkDataplane: Network dataplane used in the Kubernetes cluster. - NetworkDataplane *ContainerServiceNetworkProfile_NetworkDataplane_STATUS `json:"networkDataplane,omitempty"` - - // NetworkMode: This cannot be specified if networkPlugin is anything other than 'azure'. - NetworkMode *ContainerServiceNetworkProfile_NetworkMode_STATUS `json:"networkMode,omitempty"` - - // NetworkPlugin: Network plugin used for building the Kubernetes network. - NetworkPlugin *ContainerServiceNetworkProfile_NetworkPlugin_STATUS `json:"networkPlugin,omitempty"` - - // NetworkPluginMode: The mode the network plugin should use. - NetworkPluginMode *ContainerServiceNetworkProfile_NetworkPluginMode_STATUS `json:"networkPluginMode,omitempty"` - - // NetworkPolicy: Network policy used for building the Kubernetes network. - NetworkPolicy *ContainerServiceNetworkProfile_NetworkPolicy_STATUS `json:"networkPolicy,omitempty"` - - // OutboundType: This can only be set at cluster creation time and cannot be changed later. For more information see - // [egress outbound type](https://docs.microsoft.com/azure/aks/egress-outboundtype). - OutboundType *ContainerServiceNetworkProfile_OutboundType_STATUS `json:"outboundType,omitempty"` - - // PodCidr: A CIDR notation IP range from which to assign pod IPs when kubenet is used. - PodCidr *string `json:"podCidr,omitempty"` - - // PodCidrs: One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is - // expected for dual-stack networking. - PodCidrs []string `json:"podCidrs,omitempty"` - - // ServiceCidr: A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP - // ranges. - ServiceCidr *string `json:"serviceCidr,omitempty"` - - // ServiceCidrs: One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is - // expected for dual-stack networking. They must not overlap with any Subnet IP ranges. - ServiceCidrs []string `json:"serviceCidrs,omitempty"` + DnsServiceIP *string `json:"dnsServiceIP,omitempty"` + DockerBridgeCidr *string `json:"dockerBridgeCidr,omitempty"` + IpFamilies []ContainerServiceNetworkProfile_IpFamilies_STATUS `json:"ipFamilies,omitempty"` + LoadBalancerProfile *ManagedClusterLoadBalancerProfile_STATUS `json:"loadBalancerProfile,omitempty"` + LoadBalancerSku *ContainerServiceNetworkProfile_LoadBalancerSku_STATUS `json:"loadBalancerSku,omitempty"` + NatGatewayProfile *ManagedClusterNATGatewayProfile_STATUS `json:"natGatewayProfile,omitempty"` + NetworkDataplane *ContainerServiceNetworkProfile_NetworkDataplane_STATUS `json:"networkDataplane,omitempty"` + NetworkMode *ContainerServiceNetworkProfile_NetworkMode_STATUS `json:"networkMode,omitempty"` + NetworkPlugin *ContainerServiceNetworkProfile_NetworkPlugin_STATUS `json:"networkPlugin,omitempty"` + NetworkPluginMode *ContainerServiceNetworkProfile_NetworkPluginMode_STATUS `json:"networkPluginMode,omitempty"` + NetworkPolicy *ContainerServiceNetworkProfile_NetworkPolicy_STATUS `json:"networkPolicy,omitempty"` + OutboundType *ContainerServiceNetworkProfile_OutboundType_STATUS `json:"outboundType,omitempty"` + PodCidr *string `json:"podCidr,omitempty"` + PodCidrs []string `json:"podCidrs,omitempty"` + ServiceCidr *string `json:"serviceCidr,omitempty"` + ServiceCidrs []string `json:"serviceCidrs,omitempty"` } var _ genruntime.FromARMConverter = &ContainerServiceNetworkProfile_STATUS{} @@ -4901,12 +4626,8 @@ func (profile *ContainerServiceNetworkProfile_STATUS) AssignProperties_To_Contai return nil } -// The complex type of the extended location. type ExtendedLocation struct { - // Name: The name of the extended location. - Name *string `json:"name,omitempty"` - - // Type: The type of the extended location. + Name *string `json:"name,omitempty"` Type *ExtendedLocationType `json:"type,omitempty"` } @@ -5011,12 +4732,8 @@ func (location *ExtendedLocation) AssignProperties_To_ExtendedLocation(destinati return nil } -// The complex type of the extended location. type ExtendedLocation_STATUS struct { - // Name: The name of the extended location. - Name *string `json:"name,omitempty"` - - // Type: The type of the extended location. + Name *string `json:"name,omitempty"` Type *ExtendedLocationType_STATUS `json:"type,omitempty"` } @@ -5098,29 +4815,14 @@ func (location *ExtendedLocation_STATUS) AssignProperties_To_ExtendedLocation_ST return nil } -// For more details see [managed AAD on AKS](https://docs.microsoft.com/azure/aks/managed-aad). type ManagedClusterAADProfile struct { - // AdminGroupObjectIDs: The list of AAD group object IDs that will have admin role of the cluster. AdminGroupObjectIDs []string `json:"adminGroupObjectIDs,omitempty"` - - // ClientAppID: (DEPRECATED) The client AAD application ID. Learn more at https://aka.ms/aks/aad-legacy. - ClientAppID *string `json:"clientAppID,omitempty"` - - // EnableAzureRBAC: Whether to enable Azure RBAC for Kubernetes authorization. - EnableAzureRBAC *bool `json:"enableAzureRBAC,omitempty"` - - // Managed: Whether to enable managed AAD. - Managed *bool `json:"managed,omitempty"` - - // ServerAppID: (DEPRECATED) The server AAD application ID. Learn more at https://aka.ms/aks/aad-legacy. - ServerAppID *string `json:"serverAppID,omitempty"` - - // ServerAppSecret: (DEPRECATED) The server AAD application secret. Learn more at https://aka.ms/aks/aad-legacy. - ServerAppSecret *string `json:"serverAppSecret,omitempty"` - - // TenantID: The AAD tenant ID to use for authentication. If not specified, will use the tenant of the deployment - // subscription. - TenantID *string `json:"tenantID,omitempty"` + ClientAppID *string `json:"clientAppID,omitempty"` + EnableAzureRBAC *bool `json:"enableAzureRBAC,omitempty"` + Managed *bool `json:"managed,omitempty"` + ServerAppID *string `json:"serverAppID,omitempty"` + ServerAppSecret *string `json:"serverAppSecret,omitempty"` + TenantID *string `json:"tenantID,omitempty"` } var _ genruntime.ARMTransformer = &ManagedClusterAADProfile{} @@ -5317,29 +5019,14 @@ func (profile *ManagedClusterAADProfile) AssignProperties_To_ManagedClusterAADPr return nil } -// For more details see [managed AAD on AKS](https://docs.microsoft.com/azure/aks/managed-aad). type ManagedClusterAADProfile_STATUS struct { - // AdminGroupObjectIDs: The list of AAD group object IDs that will have admin role of the cluster. AdminGroupObjectIDs []string `json:"adminGroupObjectIDs,omitempty"` - - // ClientAppID: (DEPRECATED) The client AAD application ID. Learn more at https://aka.ms/aks/aad-legacy. - ClientAppID *string `json:"clientAppID,omitempty"` - - // EnableAzureRBAC: Whether to enable Azure RBAC for Kubernetes authorization. - EnableAzureRBAC *bool `json:"enableAzureRBAC,omitempty"` - - // Managed: Whether to enable managed AAD. - Managed *bool `json:"managed,omitempty"` - - // ServerAppID: (DEPRECATED) The server AAD application ID. Learn more at https://aka.ms/aks/aad-legacy. - ServerAppID *string `json:"serverAppID,omitempty"` - - // ServerAppSecret: (DEPRECATED) The server AAD application secret. Learn more at https://aka.ms/aks/aad-legacy. - ServerAppSecret *string `json:"serverAppSecret,omitempty"` - - // TenantID: The AAD tenant ID to use for authentication. If not specified, will use the tenant of the deployment - // subscription. - TenantID *string `json:"tenantID,omitempty"` + ClientAppID *string `json:"clientAppID,omitempty"` + EnableAzureRBAC *bool `json:"enableAzureRBAC,omitempty"` + Managed *bool `json:"managed,omitempty"` + ServerAppID *string `json:"serverAppID,omitempty"` + ServerAppSecret *string `json:"serverAppSecret,omitempty"` + TenantID *string `json:"tenantID,omitempty"` } var _ genruntime.FromARMConverter = &ManagedClusterAADProfile_STATUS{} @@ -5486,13 +5173,10 @@ func (profile *ManagedClusterAADProfile_STATUS) AssignProperties_To_ManagedClust return nil } -// A Kubernetes add-on profile for a managed cluster. type ManagedClusterAddonProfile struct { - // Config: Key-value pairs for configuring an add-on. Config map[string]string `json:"config,omitempty"` // +kubebuilder:validation:Required - // Enabled: Whether the add-on is enabled or not. Enabled *bool `json:"enabled,omitempty"` } @@ -5596,15 +5280,9 @@ func (profile *ManagedClusterAddonProfile) AssignProperties_To_ManagedClusterAdd return nil } -// A Kubernetes add-on profile for a managed cluster. type ManagedClusterAddonProfile_STATUS struct { - // Config: Key-value pairs for configuring an add-on. - Config map[string]string `json:"config,omitempty"` - - // Enabled: Whether the add-on is enabled or not. - Enabled *bool `json:"enabled,omitempty"` - - // Identity: Information of user assigned identity used by this add-on. + Config map[string]string `json:"config,omitempty"` + Enabled *bool `json:"enabled,omitempty"` Identity *UserAssignedIdentity_STATUS `json:"identity,omitempty"` } @@ -5720,160 +5398,49 @@ func (profile *ManagedClusterAddonProfile_STATUS) AssignProperties_To_ManagedClu return nil } -// Profile for the container service agent pool. type ManagedClusterAgentPoolProfile struct { - // AvailabilityZones: The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType - // property is 'VirtualMachineScaleSets'. - AvailabilityZones []string `json:"availabilityZones,omitempty"` - - // Count: Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) - // for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1. - Count *int `json:"count,omitempty"` - - // CreationData: CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using - // a snapshot. - CreationData *CreationData `json:"creationData,omitempty"` - - // EnableAutoScaling: Whether to enable auto-scaler - EnableAutoScaling *bool `json:"enableAutoScaling,omitempty"` - - // EnableEncryptionAtHost: This is only supported on certain VM sizes and in certain Azure regions. For more information, - // see: https://docs.microsoft.com/azure/aks/enable-host-encryption - EnableEncryptionAtHost *bool `json:"enableEncryptionAtHost,omitempty"` - - // EnableFIPS: See [Add a FIPS-enabled node - // pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more - // details. - EnableFIPS *bool `json:"enableFIPS,omitempty"` - - // EnableNodePublicIP: Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. - // A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine - // to minimize hops. For more information see [assigning a public IP per - // node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The - // default is false. - EnableNodePublicIP *bool `json:"enableNodePublicIP,omitempty"` - - // EnableUltraSSD: Whether to enable UltraSSD - EnableUltraSSD *bool `json:"enableUltraSSD,omitempty"` - - // GpuInstanceProfile: GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU. - GpuInstanceProfile *GPUInstanceProfile `json:"gpuInstanceProfile,omitempty"` - - // HostGroupReference: This is of the form: - // /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. - // For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). - HostGroupReference *genruntime.ResourceReference `armReference:"HostGroupID" json:"hostGroupReference,omitempty"` - - // KubeletConfig: The Kubelet configuration on the agent pool nodes. - KubeletConfig *KubeletConfig `json:"kubeletConfig,omitempty"` - - // KubeletDiskType: Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral - // storage. - KubeletDiskType *KubeletDiskType `json:"kubeletDiskType,omitempty"` - - // LinuxOSConfig: The OS configuration of Linux agent nodes. - LinuxOSConfig *LinuxOSConfig `json:"linuxOSConfig,omitempty"` - - // MaxCount: The maximum number of nodes for auto-scaling - MaxCount *int `json:"maxCount,omitempty"` - - // MaxPods: The maximum number of pods that can run on a node. - MaxPods *int `json:"maxPods,omitempty"` - - // MinCount: The minimum number of nodes for auto-scaling - MinCount *int `json:"minCount,omitempty"` - - // Mode: A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool - // restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools - Mode *AgentPoolMode `json:"mode,omitempty"` + AvailabilityZones []string `json:"availabilityZones,omitempty"` + Count *int `json:"count,omitempty"` + CreationData *CreationData `json:"creationData,omitempty"` + EnableAutoScaling *bool `json:"enableAutoScaling,omitempty"` + EnableEncryptionAtHost *bool `json:"enableEncryptionAtHost,omitempty"` + EnableFIPS *bool `json:"enableFIPS,omitempty"` + EnableNodePublicIP *bool `json:"enableNodePublicIP,omitempty"` + EnableUltraSSD *bool `json:"enableUltraSSD,omitempty"` + GpuInstanceProfile *GPUInstanceProfile `json:"gpuInstanceProfile,omitempty"` + HostGroupReference *genruntime.ResourceReference `armReference:"HostGroupID" json:"hostGroupReference,omitempty"` + KubeletConfig *KubeletConfig `json:"kubeletConfig,omitempty"` + KubeletDiskType *KubeletDiskType `json:"kubeletDiskType,omitempty"` + LinuxOSConfig *LinuxOSConfig `json:"linuxOSConfig,omitempty"` + MaxCount *int `json:"maxCount,omitempty"` + MaxPods *int `json:"maxPods,omitempty"` + MinCount *int `json:"minCount,omitempty"` + Mode *AgentPoolMode `json:"mode,omitempty"` // +kubebuilder:validation:Required // +kubebuilder:validation:Pattern="^[a-z][a-z0-9]{0,11}$" - // Name: Windows agent pool names must be 6 characters or less. - Name *string `json:"name,omitempty"` - - // NodeLabels: The node labels to be persisted across all nodes in agent pool. - NodeLabels map[string]string `json:"nodeLabels,omitempty" serializationType:"explicitEmptyCollection"` - - // NodePublicIPPrefixReference: This is of the form: - // /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} - NodePublicIPPrefixReference *genruntime.ResourceReference `armReference:"NodePublicIPPrefixID" json:"nodePublicIPPrefixReference,omitempty"` - - // NodeTaints: The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule. - NodeTaints []string `json:"nodeTaints,omitempty" serializationType:"explicitEmptyCollection"` - - // OrchestratorVersion: Both patch version (e.g. 1.20.13) and (e.g. 1.20) are supported. - // When is specified, the latest supported GA patch version is chosen automatically. Updating the cluster - // with the same once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer - // patch version is available. As a best practice, you should upgrade all node pools in an AKS cluster to the same - // Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor - // version must be within two minor versions of the control plane version. The node pool version cannot be greater than the - // control plane version. For more information see [upgrading a node - // pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). - OrchestratorVersion *string `json:"orchestratorVersion,omitempty"` - OsDiskSizeGB *ContainerServiceOSDisk `json:"osDiskSizeGB,omitempty"` - - // OsDiskType: The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested - // OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral - // OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). - OsDiskType *OSDiskType `json:"osDiskType,omitempty"` - - // OsSKU: Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 - // when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows. - OsSKU *OSSKU `json:"osSKU,omitempty"` - - // OsType: The operating system type. The default is Linux. - OsType *OSType `json:"osType,omitempty"` - - // PodSubnetReference: If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). - // This is of the form: - // /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} - PodSubnetReference *genruntime.ResourceReference `armReference:"PodSubnetID" json:"podSubnetReference,omitempty"` - - // PowerState: When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this - // field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only - // be stopped if it is Running and provisioning state is Succeeded - PowerState *PowerState `json:"powerState,omitempty"` - - // ProximityPlacementGroupReference: The ID for Proximity Placement Group. + Name *string `json:"name,omitempty"` + NodeLabels map[string]string `json:"nodeLabels,omitempty" serializationType:"explicitEmptyCollection"` + NodePublicIPPrefixReference *genruntime.ResourceReference `armReference:"NodePublicIPPrefixID" json:"nodePublicIPPrefixReference,omitempty"` + NodeTaints []string `json:"nodeTaints,omitempty" serializationType:"explicitEmptyCollection"` + OrchestratorVersion *string `json:"orchestratorVersion,omitempty"` + OsDiskSizeGB *ContainerServiceOSDisk `json:"osDiskSizeGB,omitempty"` + OsDiskType *OSDiskType `json:"osDiskType,omitempty"` + OsSKU *OSSKU `json:"osSKU,omitempty"` + OsType *OSType `json:"osType,omitempty"` + PodSubnetReference *genruntime.ResourceReference `armReference:"PodSubnetID" json:"podSubnetReference,omitempty"` + PowerState *PowerState `json:"powerState,omitempty"` ProximityPlacementGroupReference *genruntime.ResourceReference `armReference:"ProximityPlacementGroupID" json:"proximityPlacementGroupReference,omitempty"` - - // ScaleDownMode: This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete. - ScaleDownMode *ScaleDownMode `json:"scaleDownMode,omitempty"` - - // ScaleSetEvictionPolicy: This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is - // 'Delete'. - ScaleSetEvictionPolicy *ScaleSetEvictionPolicy `json:"scaleSetEvictionPolicy,omitempty"` - - // ScaleSetPriority: The Virtual Machine Scale Set priority. If not specified, the default is 'Regular'. - ScaleSetPriority *ScaleSetPriority `json:"scaleSetPriority,omitempty"` - - // SpotMaxPrice: Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any - // on-demand price. For more details on spot pricing, see [spot VMs - // pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing) - SpotMaxPrice *float64 `json:"spotMaxPrice,omitempty"` - - // Tags: The tags to be persisted on the agent pool virtual machine scale set. - Tags map[string]string `json:"tags,omitempty" serializationType:"explicitEmptyCollection"` - - // Type: The type of Agent Pool. - Type *AgentPoolType `json:"type,omitempty"` - - // UpgradeSettings: Settings for upgrading the agentpool - UpgradeSettings *AgentPoolUpgradeSettings `json:"upgradeSettings,omitempty"` - - // VmSize: VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods - // might fail to run correctly. For more details on restricted VM sizes, see: - // https://docs.microsoft.com/azure/aks/quotas-skus-regions - VmSize *string `json:"vmSize,omitempty"` - - // VnetSubnetReference: If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is - // specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: - // /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} - VnetSubnetReference *genruntime.ResourceReference `armReference:"VnetSubnetID" json:"vnetSubnetReference,omitempty"` - - // WorkloadRuntime: Determines the type of workload a node can run. - WorkloadRuntime *WorkloadRuntime `json:"workloadRuntime,omitempty"` + ScaleDownMode *ScaleDownMode `json:"scaleDownMode,omitempty"` + ScaleSetEvictionPolicy *ScaleSetEvictionPolicy `json:"scaleSetEvictionPolicy,omitempty"` + ScaleSetPriority *ScaleSetPriority `json:"scaleSetPriority,omitempty"` + SpotMaxPrice *float64 `json:"spotMaxPrice,omitempty"` + Tags map[string]string `json:"tags,omitempty" serializationType:"explicitEmptyCollection"` + Type *AgentPoolType `json:"type,omitempty"` + UpgradeSettings *AgentPoolUpgradeSettings `json:"upgradeSettings,omitempty"` + VmSize *string `json:"vmSize,omitempty"` + VnetSubnetReference *genruntime.ResourceReference `armReference:"VnetSubnetID" json:"vnetSubnetReference,omitempty"` + WorkloadRuntime *WorkloadRuntime `json:"workloadRuntime,omitempty"` } var _ genruntime.ARMTransformer = &ManagedClusterAgentPoolProfile{} @@ -7082,169 +6649,49 @@ func (profile *ManagedClusterAgentPoolProfile) AssignProperties_To_ManagedCluste return nil } -// Profile for the container service agent pool. type ManagedClusterAgentPoolProfile_STATUS struct { - // AvailabilityZones: The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType - // property is 'VirtualMachineScaleSets'. - AvailabilityZones []string `json:"availabilityZones,omitempty"` - - // Count: Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) - // for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1. - Count *int `json:"count,omitempty"` - - // CreationData: CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using - // a snapshot. - CreationData *CreationData_STATUS `json:"creationData,omitempty"` - - // CurrentOrchestratorVersion: If orchestratorVersion is a fully specified version , this field will be - // exactly equal to it. If orchestratorVersion is , this field will contain the full - // version being used. - CurrentOrchestratorVersion *string `json:"currentOrchestratorVersion,omitempty"` - - // EnableAutoScaling: Whether to enable auto-scaler - EnableAutoScaling *bool `json:"enableAutoScaling,omitempty"` - - // EnableEncryptionAtHost: This is only supported on certain VM sizes and in certain Azure regions. For more information, - // see: https://docs.microsoft.com/azure/aks/enable-host-encryption - EnableEncryptionAtHost *bool `json:"enableEncryptionAtHost,omitempty"` - - // EnableFIPS: See [Add a FIPS-enabled node - // pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more - // details. - EnableFIPS *bool `json:"enableFIPS,omitempty"` - - // EnableNodePublicIP: Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. - // A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine - // to minimize hops. For more information see [assigning a public IP per - // node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The - // default is false. - EnableNodePublicIP *bool `json:"enableNodePublicIP,omitempty"` - - // EnableUltraSSD: Whether to enable UltraSSD - EnableUltraSSD *bool `json:"enableUltraSSD,omitempty"` - - // GpuInstanceProfile: GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU. - GpuInstanceProfile *GPUInstanceProfile_STATUS `json:"gpuInstanceProfile,omitempty"` - - // HostGroupID: This is of the form: - // /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. - // For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). - HostGroupID *string `json:"hostGroupID,omitempty"` - - // KubeletConfig: The Kubelet configuration on the agent pool nodes. - KubeletConfig *KubeletConfig_STATUS `json:"kubeletConfig,omitempty"` - - // KubeletDiskType: Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral - // storage. - KubeletDiskType *KubeletDiskType_STATUS `json:"kubeletDiskType,omitempty"` - - // LinuxOSConfig: The OS configuration of Linux agent nodes. - LinuxOSConfig *LinuxOSConfig_STATUS `json:"linuxOSConfig,omitempty"` - - // MaxCount: The maximum number of nodes for auto-scaling - MaxCount *int `json:"maxCount,omitempty"` - - // MaxPods: The maximum number of pods that can run on a node. - MaxPods *int `json:"maxPods,omitempty"` - - // MinCount: The minimum number of nodes for auto-scaling - MinCount *int `json:"minCount,omitempty"` - - // Mode: A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool - // restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools - Mode *AgentPoolMode_STATUS `json:"mode,omitempty"` - - // Name: Windows agent pool names must be 6 characters or less. - Name *string `json:"name,omitempty"` - - // NodeImageVersion: The version of node image - NodeImageVersion *string `json:"nodeImageVersion,omitempty"` - - // NodeLabels: The node labels to be persisted across all nodes in agent pool. - NodeLabels map[string]string `json:"nodeLabels,omitempty"` - - // NodePublicIPPrefixID: This is of the form: - // /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} - NodePublicIPPrefixID *string `json:"nodePublicIPPrefixID,omitempty"` - - // NodeTaints: The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule. - NodeTaints []string `json:"nodeTaints,omitempty"` - - // OrchestratorVersion: Both patch version (e.g. 1.20.13) and (e.g. 1.20) are supported. - // When is specified, the latest supported GA patch version is chosen automatically. Updating the cluster - // with the same once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer - // patch version is available. As a best practice, you should upgrade all node pools in an AKS cluster to the same - // Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor - // version must be within two minor versions of the control plane version. The node pool version cannot be greater than the - // control plane version. For more information see [upgrading a node - // pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). - OrchestratorVersion *string `json:"orchestratorVersion,omitempty"` - OsDiskSizeGB *int `json:"osDiskSizeGB,omitempty"` - - // OsDiskType: The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested - // OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral - // OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). - OsDiskType *OSDiskType_STATUS `json:"osDiskType,omitempty"` - - // OsSKU: Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 - // when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows. - OsSKU *OSSKU_STATUS `json:"osSKU,omitempty"` - - // OsType: The operating system type. The default is Linux. - OsType *OSType_STATUS `json:"osType,omitempty"` - - // PodSubnetID: If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). This is - // of the form: - // /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} - PodSubnetID *string `json:"podSubnetID,omitempty"` - - // PowerState: When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this - // field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only - // be stopped if it is Running and provisioning state is Succeeded - PowerState *PowerState_STATUS `json:"powerState,omitempty"` - - // ProvisioningState: The current deployment or provisioning state. - ProvisioningState *string `json:"provisioningState,omitempty"` - - // ProximityPlacementGroupID: The ID for Proximity Placement Group. - ProximityPlacementGroupID *string `json:"proximityPlacementGroupID,omitempty"` - - // ScaleDownMode: This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete. - ScaleDownMode *ScaleDownMode_STATUS `json:"scaleDownMode,omitempty"` - - // ScaleSetEvictionPolicy: This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is - // 'Delete'. - ScaleSetEvictionPolicy *ScaleSetEvictionPolicy_STATUS `json:"scaleSetEvictionPolicy,omitempty"` - - // ScaleSetPriority: The Virtual Machine Scale Set priority. If not specified, the default is 'Regular'. - ScaleSetPriority *ScaleSetPriority_STATUS `json:"scaleSetPriority,omitempty"` - - // SpotMaxPrice: Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any - // on-demand price. For more details on spot pricing, see [spot VMs - // pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing) - SpotMaxPrice *float64 `json:"spotMaxPrice,omitempty"` - - // Tags: The tags to be persisted on the agent pool virtual machine scale set. - Tags map[string]string `json:"tags,omitempty"` - - // Type: The type of Agent Pool. - Type *AgentPoolType_STATUS `json:"type,omitempty"` - - // UpgradeSettings: Settings for upgrading the agentpool - UpgradeSettings *AgentPoolUpgradeSettings_STATUS `json:"upgradeSettings,omitempty"` - - // VmSize: VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods - // might fail to run correctly. For more details on restricted VM sizes, see: - // https://docs.microsoft.com/azure/aks/quotas-skus-regions - VmSize *string `json:"vmSize,omitempty"` - - // VnetSubnetID: If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is specified, - // this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: - // /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} - VnetSubnetID *string `json:"vnetSubnetID,omitempty"` - - // WorkloadRuntime: Determines the type of workload a node can run. - WorkloadRuntime *WorkloadRuntime_STATUS `json:"workloadRuntime,omitempty"` + AvailabilityZones []string `json:"availabilityZones,omitempty"` + Count *int `json:"count,omitempty"` + CreationData *CreationData_STATUS `json:"creationData,omitempty"` + CurrentOrchestratorVersion *string `json:"currentOrchestratorVersion,omitempty"` + EnableAutoScaling *bool `json:"enableAutoScaling,omitempty"` + EnableEncryptionAtHost *bool `json:"enableEncryptionAtHost,omitempty"` + EnableFIPS *bool `json:"enableFIPS,omitempty"` + EnableNodePublicIP *bool `json:"enableNodePublicIP,omitempty"` + EnableUltraSSD *bool `json:"enableUltraSSD,omitempty"` + GpuInstanceProfile *GPUInstanceProfile_STATUS `json:"gpuInstanceProfile,omitempty"` + HostGroupID *string `json:"hostGroupID,omitempty"` + KubeletConfig *KubeletConfig_STATUS `json:"kubeletConfig,omitempty"` + KubeletDiskType *KubeletDiskType_STATUS `json:"kubeletDiskType,omitempty"` + LinuxOSConfig *LinuxOSConfig_STATUS `json:"linuxOSConfig,omitempty"` + MaxCount *int `json:"maxCount,omitempty"` + MaxPods *int `json:"maxPods,omitempty"` + MinCount *int `json:"minCount,omitempty"` + Mode *AgentPoolMode_STATUS `json:"mode,omitempty"` + Name *string `json:"name,omitempty"` + NodeImageVersion *string `json:"nodeImageVersion,omitempty"` + NodeLabels map[string]string `json:"nodeLabels,omitempty"` + NodePublicIPPrefixID *string `json:"nodePublicIPPrefixID,omitempty"` + NodeTaints []string `json:"nodeTaints,omitempty"` + OrchestratorVersion *string `json:"orchestratorVersion,omitempty"` + OsDiskSizeGB *int `json:"osDiskSizeGB,omitempty"` + OsDiskType *OSDiskType_STATUS `json:"osDiskType,omitempty"` + OsSKU *OSSKU_STATUS `json:"osSKU,omitempty"` + OsType *OSType_STATUS `json:"osType,omitempty"` + PodSubnetID *string `json:"podSubnetID,omitempty"` + PowerState *PowerState_STATUS `json:"powerState,omitempty"` + ProvisioningState *string `json:"provisioningState,omitempty"` + ProximityPlacementGroupID *string `json:"proximityPlacementGroupID,omitempty"` + ScaleDownMode *ScaleDownMode_STATUS `json:"scaleDownMode,omitempty"` + ScaleSetEvictionPolicy *ScaleSetEvictionPolicy_STATUS `json:"scaleSetEvictionPolicy,omitempty"` + ScaleSetPriority *ScaleSetPriority_STATUS `json:"scaleSetPriority,omitempty"` + SpotMaxPrice *float64 `json:"spotMaxPrice,omitempty"` + Tags map[string]string `json:"tags,omitempty"` + Type *AgentPoolType_STATUS `json:"type,omitempty"` + UpgradeSettings *AgentPoolUpgradeSettings_STATUS `json:"upgradeSettings,omitempty"` + VmSize *string `json:"vmSize,omitempty"` + VnetSubnetID *string `json:"vnetSubnetID,omitempty"` + WorkloadRuntime *WorkloadRuntime_STATUS `json:"workloadRuntime,omitempty"` } var _ genruntime.FromARMConverter = &ManagedClusterAgentPoolProfile_STATUS{} @@ -8112,27 +7559,12 @@ func (profile *ManagedClusterAgentPoolProfile_STATUS) AssignProperties_To_Manage return nil } -// Access profile for managed cluster API server. type ManagedClusterAPIServerAccessProfile struct { - // AuthorizedIPRanges: IP ranges are specified in CIDR format, e.g. 137.117.106.88/29. This feature is not compatible with - // clusters that use Public IP Per Node, or clusters that are using a Basic Load Balancer. For more information see [API - // server authorized IP ranges](https://docs.microsoft.com/azure/aks/api-server-authorized-ip-ranges). - AuthorizedIPRanges []string `json:"authorizedIPRanges,omitempty"` - - // DisableRunCommand: Whether to disable run command for the cluster or not. - DisableRunCommand *bool `json:"disableRunCommand,omitempty"` - - // EnablePrivateCluster: For more details, see [Creating a private AKS - // cluster](https://docs.microsoft.com/azure/aks/private-clusters). - EnablePrivateCluster *bool `json:"enablePrivateCluster,omitempty"` - - // EnablePrivateClusterPublicFQDN: Whether to create additional public FQDN for private cluster or not. - EnablePrivateClusterPublicFQDN *bool `json:"enablePrivateClusterPublicFQDN,omitempty"` - - // PrivateDNSZone: The default is System. For more details see [configure private DNS - // zone](https://docs.microsoft.com/azure/aks/private-clusters#configure-private-dns-zone). Allowed values are 'system' and - // 'none'. - PrivateDNSZone *string `json:"privateDNSZone,omitempty"` + AuthorizedIPRanges []string `json:"authorizedIPRanges,omitempty"` + DisableRunCommand *bool `json:"disableRunCommand,omitempty"` + EnablePrivateCluster *bool `json:"enablePrivateCluster,omitempty"` + EnablePrivateClusterPublicFQDN *bool `json:"enablePrivateClusterPublicFQDN,omitempty"` + PrivateDNSZone *string `json:"privateDNSZone,omitempty"` } var _ genruntime.ARMTransformer = &ManagedClusterAPIServerAccessProfile{} @@ -8303,27 +7735,12 @@ func (profile *ManagedClusterAPIServerAccessProfile) AssignProperties_To_Managed return nil } -// Access profile for managed cluster API server. type ManagedClusterAPIServerAccessProfile_STATUS struct { - // AuthorizedIPRanges: IP ranges are specified in CIDR format, e.g. 137.117.106.88/29. This feature is not compatible with - // clusters that use Public IP Per Node, or clusters that are using a Basic Load Balancer. For more information see [API - // server authorized IP ranges](https://docs.microsoft.com/azure/aks/api-server-authorized-ip-ranges). - AuthorizedIPRanges []string `json:"authorizedIPRanges,omitempty"` - - // DisableRunCommand: Whether to disable run command for the cluster or not. - DisableRunCommand *bool `json:"disableRunCommand,omitempty"` - - // EnablePrivateCluster: For more details, see [Creating a private AKS - // cluster](https://docs.microsoft.com/azure/aks/private-clusters). - EnablePrivateCluster *bool `json:"enablePrivateCluster,omitempty"` - - // EnablePrivateClusterPublicFQDN: Whether to create additional public FQDN for private cluster or not. - EnablePrivateClusterPublicFQDN *bool `json:"enablePrivateClusterPublicFQDN,omitempty"` - - // PrivateDNSZone: The default is System. For more details see [configure private DNS - // zone](https://docs.microsoft.com/azure/aks/private-clusters#configure-private-dns-zone). Allowed values are 'system' and - // 'none'. - PrivateDNSZone *string `json:"privateDNSZone,omitempty"` + AuthorizedIPRanges []string `json:"authorizedIPRanges,omitempty"` + DisableRunCommand *bool `json:"disableRunCommand,omitempty"` + EnablePrivateCluster *bool `json:"enablePrivateCluster,omitempty"` + EnablePrivateClusterPublicFQDN *bool `json:"enablePrivateClusterPublicFQDN,omitempty"` + PrivateDNSZone *string `json:"privateDNSZone,omitempty"` } var _ genruntime.FromARMConverter = &ManagedClusterAPIServerAccessProfile_STATUS{} @@ -8456,10 +7873,7 @@ func (profile *ManagedClusterAPIServerAccessProfile_STATUS) AssignProperties_To_ return nil } -// Auto upgrade profile for a managed cluster. type ManagedClusterAutoUpgradeProfile struct { - // UpgradeChannel: For more information see [setting the AKS cluster auto-upgrade - // channel](https://docs.microsoft.com/azure/aks/upgrade-cluster#set-auto-upgrade-channel). UpgradeChannel *ManagedClusterAutoUpgradeProfile_UpgradeChannel `json:"upgradeChannel,omitempty"` } @@ -8546,10 +7960,7 @@ func (profile *ManagedClusterAutoUpgradeProfile) AssignProperties_To_ManagedClus return nil } -// Auto upgrade profile for a managed cluster. type ManagedClusterAutoUpgradeProfile_STATUS struct { - // UpgradeChannel: For more information see [setting the AKS cluster auto-upgrade - // channel](https://docs.microsoft.com/azure/aks/upgrade-cluster#set-auto-upgrade-channel). UpgradeChannel *ManagedClusterAutoUpgradeProfile_UpgradeChannel_STATUS `json:"upgradeChannel,omitempty"` } @@ -8619,11 +8030,7 @@ func (profile *ManagedClusterAutoUpgradeProfile_STATUS) AssignProperties_To_Mana return nil } -// Azure Monitor addon profiles for monitoring the managed cluster. type ManagedClusterAzureMonitorProfile struct { - // Metrics: Metrics profile for the Azure Monitor managed service for Prometheus addon. Collect out-of-the-box Kubernetes - // infrastructure metrics to send to an Azure Monitor Workspace and configure additional scraping for custom targets. See - // aka.ms/AzureManagedPrometheus for an overview. Metrics *ManagedClusterAzureMonitorProfileMetrics `json:"metrics,omitempty"` } @@ -8722,11 +8129,7 @@ func (profile *ManagedClusterAzureMonitorProfile) AssignProperties_To_ManagedClu return nil } -// Azure Monitor addon profiles for monitoring the managed cluster. type ManagedClusterAzureMonitorProfile_STATUS struct { - // Metrics: Metrics profile for the Azure Monitor managed service for Prometheus addon. Collect out-of-the-box Kubernetes - // infrastructure metrics to send to an Azure Monitor Workspace and configure additional scraping for custom targets. See - // aka.ms/AzureManagedPrometheus for an overview. Metrics *ManagedClusterAzureMonitorProfileMetrics_STATUS `json:"metrics,omitempty"` } @@ -8806,19 +8209,11 @@ func (profile *ManagedClusterAzureMonitorProfile_STATUS) AssignProperties_To_Man return nil } -// Cluster HTTP proxy configuration. type ManagedClusterHTTPProxyConfig struct { - // HttpProxy: The HTTP proxy server endpoint to use. - HttpProxy *string `json:"httpProxy,omitempty"` - - // HttpsProxy: The HTTPS proxy server endpoint to use. - HttpsProxy *string `json:"httpsProxy,omitempty"` - - // NoProxy: The endpoints that should not go through proxy. - NoProxy []string `json:"noProxy,omitempty"` - - // TrustedCa: Alternative CA cert to use for connecting to proxy servers. - TrustedCa *string `json:"trustedCa,omitempty"` + HttpProxy *string `json:"httpProxy,omitempty"` + HttpsProxy *string `json:"httpsProxy,omitempty"` + NoProxy []string `json:"noProxy,omitempty"` + TrustedCa *string `json:"trustedCa,omitempty"` } var _ genruntime.ARMTransformer = &ManagedClusterHTTPProxyConfig{} @@ -8941,19 +8336,11 @@ func (config *ManagedClusterHTTPProxyConfig) AssignProperties_To_ManagedClusterH return nil } -// Cluster HTTP proxy configuration. type ManagedClusterHTTPProxyConfig_STATUS struct { - // HttpProxy: The HTTP proxy server endpoint to use. - HttpProxy *string `json:"httpProxy,omitempty"` - - // HttpsProxy: The HTTPS proxy server endpoint to use. - HttpsProxy *string `json:"httpsProxy,omitempty"` - - // NoProxy: The endpoints that should not go through proxy. - NoProxy []string `json:"noProxy,omitempty"` - - // TrustedCa: Alternative CA cert to use for connecting to proxy servers. - TrustedCa *string `json:"trustedCa,omitempty"` + HttpProxy *string `json:"httpProxy,omitempty"` + HttpsProxy *string `json:"httpsProxy,omitempty"` + NoProxy []string `json:"noProxy,omitempty"` + TrustedCa *string `json:"trustedCa,omitempty"` } var _ genruntime.FromARMConverter = &ManagedClusterHTTPProxyConfig_STATUS{} @@ -9044,14 +8431,8 @@ func (config *ManagedClusterHTTPProxyConfig_STATUS) AssignProperties_To_ManagedC return nil } -// Identity for the managed cluster. type ManagedClusterIdentity struct { - // Type: For more information see [use managed identities in - // AKS](https://docs.microsoft.com/azure/aks/use-managed-identity). - Type *ManagedClusterIdentity_Type `json:"type,omitempty"` - - // UserAssignedIdentities: The keys must be ARM resource IDs in the form: - // '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + Type *ManagedClusterIdentity_Type `json:"type,omitempty"` UserAssignedIdentities []UserAssignedIdentityDetails `json:"userAssignedIdentities,omitempty"` } @@ -9187,20 +8568,10 @@ func (identity *ManagedClusterIdentity) AssignProperties_To_ManagedClusterIdenti return nil } -// Identity for the managed cluster. type ManagedClusterIdentity_STATUS struct { - // PrincipalId: The principal id of the system assigned identity which is used by master components. - PrincipalId *string `json:"principalId,omitempty"` - - // TenantId: The tenant id of the system assigned identity which is used by master components. - TenantId *string `json:"tenantId,omitempty"` - - // Type: For more information see [use managed identities in - // AKS](https://docs.microsoft.com/azure/aks/use-managed-identity). - Type *ManagedClusterIdentity_Type_STATUS `json:"type,omitempty"` - - // UserAssignedIdentities: The keys must be ARM resource IDs in the form: - // '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + PrincipalId *string `json:"principalId,omitempty"` + TenantId *string `json:"tenantId,omitempty"` + Type *ManagedClusterIdentity_Type_STATUS `json:"type,omitempty"` UserAssignedIdentities map[string]ManagedClusterIdentity_UserAssignedIdentities_STATUS `json:"userAssignedIdentities,omitempty"` } @@ -9343,9 +8714,7 @@ func (identity *ManagedClusterIdentity_STATUS) AssignProperties_To_ManagedCluste return nil } -// The OIDC issuer profile of the Managed Cluster. type ManagedClusterOIDCIssuerProfile struct { - // Enabled: Whether the OIDC issuer is enabled. Enabled *bool `json:"enabled,omitempty"` } @@ -9427,12 +8796,8 @@ func (profile *ManagedClusterOIDCIssuerProfile) AssignProperties_To_ManagedClust return nil } -// The OIDC issuer profile of the Managed Cluster. type ManagedClusterOIDCIssuerProfile_STATUS struct { - // Enabled: Whether the OIDC issuer is enabled. - Enabled *bool `json:"enabled,omitempty"` - - // IssuerURL: The OIDC issuer url of the Managed Cluster. + Enabled *bool `json:"enabled,omitempty"` IssuerURL *string `json:"issuerURL,omitempty"` } @@ -9591,22 +8956,10 @@ func (operator *ManagedClusterOperatorSpec) AssignProperties_To_ManagedClusterOp return nil } -// See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on pod -// identity integration. type ManagedClusterPodIdentityProfile struct { - // AllowNetworkPluginKubenet: Running in Kubenet is disabled by default due to the security related nature of AAD Pod - // Identity and the risks of IP spoofing. See [using Kubenet network plugin with AAD Pod - // Identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity#using-kubenet-network-plugin-with-azure-active-directory-pod-managed-identities) - // for more information. - AllowNetworkPluginKubenet *bool `json:"allowNetworkPluginKubenet,omitempty"` - - // Enabled: Whether the pod identity addon is enabled. - Enabled *bool `json:"enabled,omitempty"` - - // UserAssignedIdentities: The pod identities to use in the cluster. - UserAssignedIdentities []ManagedClusterPodIdentity `json:"userAssignedIdentities,omitempty"` - - // UserAssignedIdentityExceptions: The pod identity exceptions to allow. + AllowNetworkPluginKubenet *bool `json:"allowNetworkPluginKubenet,omitempty"` + Enabled *bool `json:"enabled,omitempty"` + UserAssignedIdentities []ManagedClusterPodIdentity `json:"userAssignedIdentities,omitempty"` UserAssignedIdentityExceptions []ManagedClusterPodIdentityException `json:"userAssignedIdentityExceptions,omitempty"` } @@ -9826,22 +9179,10 @@ func (profile *ManagedClusterPodIdentityProfile) AssignProperties_To_ManagedClus return nil } -// See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on pod -// identity integration. type ManagedClusterPodIdentityProfile_STATUS struct { - // AllowNetworkPluginKubenet: Running in Kubenet is disabled by default due to the security related nature of AAD Pod - // Identity and the risks of IP spoofing. See [using Kubenet network plugin with AAD Pod - // Identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity#using-kubenet-network-plugin-with-azure-active-directory-pod-managed-identities) - // for more information. - AllowNetworkPluginKubenet *bool `json:"allowNetworkPluginKubenet,omitempty"` - - // Enabled: Whether the pod identity addon is enabled. - Enabled *bool `json:"enabled,omitempty"` - - // UserAssignedIdentities: The pod identities to use in the cluster. - UserAssignedIdentities []ManagedClusterPodIdentity_STATUS `json:"userAssignedIdentities,omitempty"` - - // UserAssignedIdentityExceptions: The pod identity exceptions to allow. + AllowNetworkPluginKubenet *bool `json:"allowNetworkPluginKubenet,omitempty"` + Enabled *bool `json:"enabled,omitempty"` + UserAssignedIdentities []ManagedClusterPodIdentity_STATUS `json:"userAssignedIdentities,omitempty"` UserAssignedIdentityExceptions []ManagedClusterPodIdentityException_STATUS `json:"userAssignedIdentityExceptions,omitempty"` } @@ -10023,66 +9364,23 @@ func (profile *ManagedClusterPodIdentityProfile_STATUS) AssignProperties_To_Mana } type ManagedClusterProperties_AutoScalerProfile struct { - // BalanceSimilarNodeGroups: Valid values are 'true' and 'false' - BalanceSimilarNodeGroups *string `json:"balance-similar-node-groups,omitempty"` - - // Expander: If not specified, the default is 'random'. See - // [expanders](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md#what-are-expanders) for more - // information. - Expander *ManagedClusterProperties_AutoScalerProfile_Expander `json:"expander,omitempty"` - - // MaxEmptyBulkDelete: The default is 10. - MaxEmptyBulkDelete *string `json:"max-empty-bulk-delete,omitempty"` - - // MaxGracefulTerminationSec: The default is 600. - MaxGracefulTerminationSec *string `json:"max-graceful-termination-sec,omitempty"` - - // MaxNodeProvisionTime: The default is '15m'. Values must be an integer followed by an 'm'. No unit of time other than - // minutes (m) is supported. - MaxNodeProvisionTime *string `json:"max-node-provision-time,omitempty"` - - // MaxTotalUnreadyPercentage: The default is 45. The maximum is 100 and the minimum is 0. - MaxTotalUnreadyPercentage *string `json:"max-total-unready-percentage,omitempty"` - - // NewPodScaleUpDelay: For scenarios like burst/batch scale where you don't want CA to act before the kubernetes scheduler - // could schedule all the pods, you can tell CA to ignore unscheduled pods before they're a certain age. The default is - // '0s'. Values must be an integer followed by a unit ('s' for seconds, 'm' for minutes, 'h' for hours, etc). - NewPodScaleUpDelay *string `json:"new-pod-scale-up-delay,omitempty"` - - // OkTotalUnreadyCount: This must be an integer. The default is 3. - OkTotalUnreadyCount *string `json:"ok-total-unready-count,omitempty"` - - // ScaleDownDelayAfterAdd: The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than - // minutes (m) is supported. - ScaleDownDelayAfterAdd *string `json:"scale-down-delay-after-add,omitempty"` - - // ScaleDownDelayAfterDelete: The default is the scan-interval. Values must be an integer followed by an 'm'. No unit of - // time other than minutes (m) is supported. - ScaleDownDelayAfterDelete *string `json:"scale-down-delay-after-delete,omitempty"` - - // ScaleDownDelayAfterFailure: The default is '3m'. Values must be an integer followed by an 'm'. No unit of time other - // than minutes (m) is supported. - ScaleDownDelayAfterFailure *string `json:"scale-down-delay-after-failure,omitempty"` - - // ScaleDownUnneededTime: The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than - // minutes (m) is supported. - ScaleDownUnneededTime *string `json:"scale-down-unneeded-time,omitempty"` - - // ScaleDownUnreadyTime: The default is '20m'. Values must be an integer followed by an 'm'. No unit of time other than - // minutes (m) is supported. - ScaleDownUnreadyTime *string `json:"scale-down-unready-time,omitempty"` - - // ScaleDownUtilizationThreshold: The default is '0.5'. - ScaleDownUtilizationThreshold *string `json:"scale-down-utilization-threshold,omitempty"` - - // ScanInterval: The default is '10'. Values must be an integer number of seconds. - ScanInterval *string `json:"scan-interval,omitempty"` - - // SkipNodesWithLocalStorage: The default is true. - SkipNodesWithLocalStorage *string `json:"skip-nodes-with-local-storage,omitempty"` - - // SkipNodesWithSystemPods: The default is true. - SkipNodesWithSystemPods *string `json:"skip-nodes-with-system-pods,omitempty"` + BalanceSimilarNodeGroups *string `json:"balance-similar-node-groups,omitempty"` + Expander *ManagedClusterProperties_AutoScalerProfile_Expander `json:"expander,omitempty"` + MaxEmptyBulkDelete *string `json:"max-empty-bulk-delete,omitempty"` + MaxGracefulTerminationSec *string `json:"max-graceful-termination-sec,omitempty"` + MaxNodeProvisionTime *string `json:"max-node-provision-time,omitempty"` + MaxTotalUnreadyPercentage *string `json:"max-total-unready-percentage,omitempty"` + NewPodScaleUpDelay *string `json:"new-pod-scale-up-delay,omitempty"` + OkTotalUnreadyCount *string `json:"ok-total-unready-count,omitempty"` + ScaleDownDelayAfterAdd *string `json:"scale-down-delay-after-add,omitempty"` + ScaleDownDelayAfterDelete *string `json:"scale-down-delay-after-delete,omitempty"` + ScaleDownDelayAfterFailure *string `json:"scale-down-delay-after-failure,omitempty"` + ScaleDownUnneededTime *string `json:"scale-down-unneeded-time,omitempty"` + ScaleDownUnreadyTime *string `json:"scale-down-unready-time,omitempty"` + ScaleDownUtilizationThreshold *string `json:"scale-down-utilization-threshold,omitempty"` + ScanInterval *string `json:"scan-interval,omitempty"` + SkipNodesWithLocalStorage *string `json:"skip-nodes-with-local-storage,omitempty"` + SkipNodesWithSystemPods *string `json:"skip-nodes-with-system-pods,omitempty"` } var _ genruntime.ARMTransformer = &ManagedClusterProperties_AutoScalerProfile{} @@ -10457,66 +9755,23 @@ func (profile *ManagedClusterProperties_AutoScalerProfile) AssignProperties_To_M } type ManagedClusterProperties_AutoScalerProfile_STATUS struct { - // BalanceSimilarNodeGroups: Valid values are 'true' and 'false' - BalanceSimilarNodeGroups *string `json:"balance-similar-node-groups,omitempty"` - - // Expander: If not specified, the default is 'random'. See - // [expanders](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md#what-are-expanders) for more - // information. - Expander *ManagedClusterProperties_AutoScalerProfile_Expander_STATUS `json:"expander,omitempty"` - - // MaxEmptyBulkDelete: The default is 10. - MaxEmptyBulkDelete *string `json:"max-empty-bulk-delete,omitempty"` - - // MaxGracefulTerminationSec: The default is 600. - MaxGracefulTerminationSec *string `json:"max-graceful-termination-sec,omitempty"` - - // MaxNodeProvisionTime: The default is '15m'. Values must be an integer followed by an 'm'. No unit of time other than - // minutes (m) is supported. - MaxNodeProvisionTime *string `json:"max-node-provision-time,omitempty"` - - // MaxTotalUnreadyPercentage: The default is 45. The maximum is 100 and the minimum is 0. - MaxTotalUnreadyPercentage *string `json:"max-total-unready-percentage,omitempty"` - - // NewPodScaleUpDelay: For scenarios like burst/batch scale where you don't want CA to act before the kubernetes scheduler - // could schedule all the pods, you can tell CA to ignore unscheduled pods before they're a certain age. The default is - // '0s'. Values must be an integer followed by a unit ('s' for seconds, 'm' for minutes, 'h' for hours, etc). - NewPodScaleUpDelay *string `json:"new-pod-scale-up-delay,omitempty"` - - // OkTotalUnreadyCount: This must be an integer. The default is 3. - OkTotalUnreadyCount *string `json:"ok-total-unready-count,omitempty"` - - // ScaleDownDelayAfterAdd: The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than - // minutes (m) is supported. - ScaleDownDelayAfterAdd *string `json:"scale-down-delay-after-add,omitempty"` - - // ScaleDownDelayAfterDelete: The default is the scan-interval. Values must be an integer followed by an 'm'. No unit of - // time other than minutes (m) is supported. - ScaleDownDelayAfterDelete *string `json:"scale-down-delay-after-delete,omitempty"` - - // ScaleDownDelayAfterFailure: The default is '3m'. Values must be an integer followed by an 'm'. No unit of time other - // than minutes (m) is supported. - ScaleDownDelayAfterFailure *string `json:"scale-down-delay-after-failure,omitempty"` - - // ScaleDownUnneededTime: The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than - // minutes (m) is supported. - ScaleDownUnneededTime *string `json:"scale-down-unneeded-time,omitempty"` - - // ScaleDownUnreadyTime: The default is '20m'. Values must be an integer followed by an 'm'. No unit of time other than - // minutes (m) is supported. - ScaleDownUnreadyTime *string `json:"scale-down-unready-time,omitempty"` - - // ScaleDownUtilizationThreshold: The default is '0.5'. - ScaleDownUtilizationThreshold *string `json:"scale-down-utilization-threshold,omitempty"` - - // ScanInterval: The default is '10'. Values must be an integer number of seconds. - ScanInterval *string `json:"scan-interval,omitempty"` - - // SkipNodesWithLocalStorage: The default is true. - SkipNodesWithLocalStorage *string `json:"skip-nodes-with-local-storage,omitempty"` - - // SkipNodesWithSystemPods: The default is true. - SkipNodesWithSystemPods *string `json:"skip-nodes-with-system-pods,omitempty"` + BalanceSimilarNodeGroups *string `json:"balance-similar-node-groups,omitempty"` + Expander *ManagedClusterProperties_AutoScalerProfile_Expander_STATUS `json:"expander,omitempty"` + MaxEmptyBulkDelete *string `json:"max-empty-bulk-delete,omitempty"` + MaxGracefulTerminationSec *string `json:"max-graceful-termination-sec,omitempty"` + MaxNodeProvisionTime *string `json:"max-node-provision-time,omitempty"` + MaxTotalUnreadyPercentage *string `json:"max-total-unready-percentage,omitempty"` + NewPodScaleUpDelay *string `json:"new-pod-scale-up-delay,omitempty"` + OkTotalUnreadyCount *string `json:"ok-total-unready-count,omitempty"` + ScaleDownDelayAfterAdd *string `json:"scale-down-delay-after-add,omitempty"` + ScaleDownDelayAfterDelete *string `json:"scale-down-delay-after-delete,omitempty"` + ScaleDownDelayAfterFailure *string `json:"scale-down-delay-after-failure,omitempty"` + ScaleDownUnneededTime *string `json:"scale-down-unneeded-time,omitempty"` + ScaleDownUnreadyTime *string `json:"scale-down-unready-time,omitempty"` + ScaleDownUtilizationThreshold *string `json:"scale-down-utilization-threshold,omitempty"` + ScanInterval *string `json:"scan-interval,omitempty"` + SkipNodesWithLocalStorage *string `json:"skip-nodes-with-local-storage,omitempty"` + SkipNodesWithSystemPods *string `json:"skip-nodes-with-system-pods,omitempty"` } var _ genruntime.FromARMConverter = &ManagedClusterProperties_AutoScalerProfile_STATUS{} @@ -10804,20 +10059,10 @@ var managedClusterProperties_PublicNetworkAccess_STATUS_Values = map[string]Mana "enabled": ManagedClusterProperties_PublicNetworkAccess_STATUS_Enabled, } -// Security profile for the container service cluster. type ManagedClusterSecurityProfile struct { - // AzureKeyVaultKms: Azure Key Vault [key management - // service](https://kubernetes.io/docs/tasks/administer-cluster/kms-provider/) settings for the security profile. - AzureKeyVaultKms *AzureKeyVaultKms `json:"azureKeyVaultKms,omitempty"` - - // Defender: Microsoft Defender settings for the security profile. - Defender *ManagedClusterSecurityProfileDefender `json:"defender,omitempty"` - - // ImageCleaner: Image Cleaner settings for the security profile. - ImageCleaner *ManagedClusterSecurityProfileImageCleaner `json:"imageCleaner,omitempty"` - - // WorkloadIdentity: Workload identity settings for the security profile. Workload identity enables Kubernetes applications - // to access Azure cloud resources securely with Azure AD. See https://aka.ms/aks/wi for more details. + AzureKeyVaultKms *AzureKeyVaultKms `json:"azureKeyVaultKms,omitempty"` + Defender *ManagedClusterSecurityProfileDefender `json:"defender,omitempty"` + ImageCleaner *ManagedClusterSecurityProfileImageCleaner `json:"imageCleaner,omitempty"` WorkloadIdentity *ManagedClusterSecurityProfileWorkloadIdentity `json:"workloadIdentity,omitempty"` } @@ -11051,20 +10296,10 @@ func (profile *ManagedClusterSecurityProfile) AssignProperties_To_ManagedCluster return nil } -// Security profile for the container service cluster. type ManagedClusterSecurityProfile_STATUS struct { - // AzureKeyVaultKms: Azure Key Vault [key management - // service](https://kubernetes.io/docs/tasks/administer-cluster/kms-provider/) settings for the security profile. - AzureKeyVaultKms *AzureKeyVaultKms_STATUS `json:"azureKeyVaultKms,omitempty"` - - // Defender: Microsoft Defender settings for the security profile. - Defender *ManagedClusterSecurityProfileDefender_STATUS `json:"defender,omitempty"` - - // ImageCleaner: Image Cleaner settings for the security profile. - ImageCleaner *ManagedClusterSecurityProfileImageCleaner_STATUS `json:"imageCleaner,omitempty"` - - // WorkloadIdentity: Workload identity settings for the security profile. Workload identity enables Kubernetes applications - // to access Azure cloud resources securely with Azure AD. See https://aka.ms/aks/wi for more details. + AzureKeyVaultKms *AzureKeyVaultKms_STATUS `json:"azureKeyVaultKms,omitempty"` + Defender *ManagedClusterSecurityProfileDefender_STATUS `json:"defender,omitempty"` + ImageCleaner *ManagedClusterSecurityProfileImageCleaner_STATUS `json:"imageCleaner,omitempty"` WorkloadIdentity *ManagedClusterSecurityProfileWorkloadIdentity_STATUS `json:"workloadIdentity,omitempty"` } @@ -11249,14 +10484,10 @@ func (profile *ManagedClusterSecurityProfile_STATUS) AssignProperties_To_Managed return nil } -// Information about a service principal identity for the cluster to use for manipulating Azure APIs. type ManagedClusterServicePrincipalProfile struct { // +kubebuilder:validation:Required - // ClientId: The ID for the service principal. - ClientId *string `json:"clientId,omitempty"` - - // Secret: The secret password associated with the service principal in plain text. - Secret *genruntime.SecretReference `json:"secret,omitempty"` + ClientId *string `json:"clientId,omitempty"` + Secret *genruntime.SecretReference `json:"secret,omitempty"` } var _ genruntime.ARMTransformer = &ManagedClusterServicePrincipalProfile{} @@ -11355,9 +10586,7 @@ func (profile *ManagedClusterServicePrincipalProfile) AssignProperties_To_Manage return nil } -// Information about a service principal identity for the cluster to use for manipulating Azure APIs. type ManagedClusterServicePrincipalProfile_STATUS struct { - // ClientId: The ID for the service principal. ClientId *string `json:"clientId,omitempty"` } @@ -11414,13 +10643,8 @@ func (profile *ManagedClusterServicePrincipalProfile_STATUS) AssignProperties_To return nil } -// The SKU of a Managed Cluster. type ManagedClusterSKU struct { - // Name: The name of a managed cluster SKU. Name *ManagedClusterSKU_Name `json:"name,omitempty"` - - // Tier: If not specified, the default is 'Free'. See [AKS Pricing - // Tier](https://learn.microsoft.com/azure/aks/free-standard-pricing-tiers) for more details. Tier *ManagedClusterSKU_Tier `json:"tier,omitempty"` } @@ -11540,13 +10764,8 @@ func (clusterSKU *ManagedClusterSKU) AssignProperties_To_ManagedClusterSKU(desti return nil } -// The SKU of a Managed Cluster. type ManagedClusterSKU_STATUS struct { - // Name: The name of a managed cluster SKU. Name *ManagedClusterSKU_Name_STATUS `json:"name,omitempty"` - - // Tier: If not specified, the default is 'Free'. See [AKS Pricing - // Tier](https://learn.microsoft.com/azure/aks/free-standard-pricing-tiers) for more details. Tier *ManagedClusterSKU_Tier_STATUS `json:"tier,omitempty"` } @@ -11641,18 +10860,10 @@ func (clusterSKU *ManagedClusterSKU_STATUS) AssignProperties_To_ManagedClusterSK return nil } -// Storage profile for the container service cluster. type ManagedClusterStorageProfile struct { - // BlobCSIDriver: AzureBlob CSI Driver settings for the storage profile. - BlobCSIDriver *ManagedClusterStorageProfileBlobCSIDriver `json:"blobCSIDriver,omitempty"` - - // DiskCSIDriver: AzureDisk CSI Driver settings for the storage profile. - DiskCSIDriver *ManagedClusterStorageProfileDiskCSIDriver `json:"diskCSIDriver,omitempty"` - - // FileCSIDriver: AzureFile CSI Driver settings for the storage profile. - FileCSIDriver *ManagedClusterStorageProfileFileCSIDriver `json:"fileCSIDriver,omitempty"` - - // SnapshotController: Snapshot Controller settings for the storage profile. + BlobCSIDriver *ManagedClusterStorageProfileBlobCSIDriver `json:"blobCSIDriver,omitempty"` + DiskCSIDriver *ManagedClusterStorageProfileDiskCSIDriver `json:"diskCSIDriver,omitempty"` + FileCSIDriver *ManagedClusterStorageProfileFileCSIDriver `json:"fileCSIDriver,omitempty"` SnapshotController *ManagedClusterStorageProfileSnapshotController `json:"snapshotController,omitempty"` } @@ -11886,18 +11097,10 @@ func (profile *ManagedClusterStorageProfile) AssignProperties_To_ManagedClusterS return nil } -// Storage profile for the container service cluster. type ManagedClusterStorageProfile_STATUS struct { - // BlobCSIDriver: AzureBlob CSI Driver settings for the storage profile. - BlobCSIDriver *ManagedClusterStorageProfileBlobCSIDriver_STATUS `json:"blobCSIDriver,omitempty"` - - // DiskCSIDriver: AzureDisk CSI Driver settings for the storage profile. - DiskCSIDriver *ManagedClusterStorageProfileDiskCSIDriver_STATUS `json:"diskCSIDriver,omitempty"` - - // FileCSIDriver: AzureFile CSI Driver settings for the storage profile. - FileCSIDriver *ManagedClusterStorageProfileFileCSIDriver_STATUS `json:"fileCSIDriver,omitempty"` - - // SnapshotController: Snapshot Controller settings for the storage profile. + BlobCSIDriver *ManagedClusterStorageProfileBlobCSIDriver_STATUS `json:"blobCSIDriver,omitempty"` + DiskCSIDriver *ManagedClusterStorageProfileDiskCSIDriver_STATUS `json:"diskCSIDriver,omitempty"` + FileCSIDriver *ManagedClusterStorageProfileFileCSIDriver_STATUS `json:"fileCSIDriver,omitempty"` SnapshotController *ManagedClusterStorageProfileSnapshotController_STATUS `json:"snapshotController,omitempty"` } @@ -12082,40 +11285,14 @@ func (profile *ManagedClusterStorageProfile_STATUS) AssignProperties_To_ManagedC return nil } -// Profile for Windows VMs in the managed cluster. type ManagedClusterWindowsProfile struct { - // AdminPassword: Specifies the password of the administrator account. - // Minimum-length: 8 characters - // Max-length: 123 characters - // Complexity requirements: 3 out of 4 conditions below need to be fulfilled - // Has lower characters - // Has upper characters - // Has a digit - // Has a special character (Regex match [\W_]) - // Disallowed values: "abc@123", "P@$$w0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", - // "Password22", "iloveyou!" AdminPassword *genruntime.SecretReference `json:"adminPassword,omitempty"` // +kubebuilder:validation:Required - // AdminUsername: Specifies the name of the administrator account. - // Restriction: Cannot end in "." - // Disallowed values: "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", - // "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", - // "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5". - // Minimum-length: 1 character - // Max-length: 20 characters - AdminUsername *string `json:"adminUsername,omitempty"` - - // EnableCSIProxy: For more details on CSI proxy, see the [CSI proxy GitHub - // repo](https://github.com/kubernetes-csi/csi-proxy). - EnableCSIProxy *bool `json:"enableCSIProxy,omitempty"` - - // GmsaProfile: The Windows gMSA Profile in the Managed Cluster. - GmsaProfile *WindowsGmsaProfile `json:"gmsaProfile,omitempty"` - - // LicenseType: The license type to use for Windows VMs. See [Azure Hybrid User - // Benefits](https://azure.microsoft.com/pricing/hybrid-benefit/faq/) for more details. - LicenseType *ManagedClusterWindowsProfile_LicenseType `json:"licenseType,omitempty"` + AdminUsername *string `json:"adminUsername,omitempty"` + EnableCSIProxy *bool `json:"enableCSIProxy,omitempty"` + GmsaProfile *WindowsGmsaProfile `json:"gmsaProfile,omitempty"` + LicenseType *ManagedClusterWindowsProfile_LicenseType `json:"licenseType,omitempty"` } var _ genruntime.ARMTransformer = &ManagedClusterWindowsProfile{} @@ -12320,27 +11497,11 @@ func (profile *ManagedClusterWindowsProfile) AssignProperties_To_ManagedClusterW return nil } -// Profile for Windows VMs in the managed cluster. type ManagedClusterWindowsProfile_STATUS struct { - // AdminUsername: Specifies the name of the administrator account. - // Restriction: Cannot end in "." - // Disallowed values: "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", - // "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", - // "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5". - // Minimum-length: 1 character - // Max-length: 20 characters - AdminUsername *string `json:"adminUsername,omitempty"` - - // EnableCSIProxy: For more details on CSI proxy, see the [CSI proxy GitHub - // repo](https://github.com/kubernetes-csi/csi-proxy). - EnableCSIProxy *bool `json:"enableCSIProxy,omitempty"` - - // GmsaProfile: The Windows gMSA Profile in the Managed Cluster. - GmsaProfile *WindowsGmsaProfile_STATUS `json:"gmsaProfile,omitempty"` - - // LicenseType: The license type to use for Windows VMs. See [Azure Hybrid User - // Benefits](https://azure.microsoft.com/pricing/hybrid-benefit/faq/) for more details. - LicenseType *ManagedClusterWindowsProfile_LicenseType_STATUS `json:"licenseType,omitempty"` + AdminUsername *string `json:"adminUsername,omitempty"` + EnableCSIProxy *bool `json:"enableCSIProxy,omitempty"` + GmsaProfile *WindowsGmsaProfile_STATUS `json:"gmsaProfile,omitempty"` + LicenseType *ManagedClusterWindowsProfile_LicenseType_STATUS `json:"licenseType,omitempty"` } var _ genruntime.FromARMConverter = &ManagedClusterWindowsProfile_STATUS{} @@ -12478,9 +11639,7 @@ func (profile *ManagedClusterWindowsProfile_STATUS) AssignProperties_To_ManagedC return nil } -// Workload Auto-scaler profile for the managed cluster. type ManagedClusterWorkloadAutoScalerProfile struct { - // Keda: KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile. Keda *ManagedClusterWorkloadAutoScalerProfileKeda `json:"keda,omitempty"` } @@ -12579,9 +11738,7 @@ func (profile *ManagedClusterWorkloadAutoScalerProfile) AssignProperties_To_Mana return nil } -// Workload Auto-scaler profile for the managed cluster. type ManagedClusterWorkloadAutoScalerProfile_STATUS struct { - // Keda: KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile. Keda *ManagedClusterWorkloadAutoScalerProfileKeda_STATUS `json:"keda,omitempty"` } @@ -12661,9 +11818,7 @@ func (profile *ManagedClusterWorkloadAutoScalerProfile_STATUS) AssignProperties_ return nil } -// Describes the Power State of the cluster type PowerState_STATUS struct { - // Code: Tells whether the cluster is Running or Stopped Code *PowerState_Code_STATUS `json:"code,omitempty"` } @@ -12733,22 +11888,12 @@ func (state *PowerState_STATUS) AssignProperties_To_PowerState_STATUS(destinatio return nil } -// A private link resource type PrivateLinkResource struct { - // GroupId: The group ID of the resource. - GroupId *string `json:"groupId,omitempty"` - - // Name: The name of the private link resource. - Name *string `json:"name,omitempty"` - - // Reference: The ID of the private link resource. - Reference *genruntime.ResourceReference `armReference:"Id" json:"reference,omitempty"` - - // RequiredMembers: The RequiredMembers of the resource - RequiredMembers []string `json:"requiredMembers,omitempty"` - - // Type: The resource type. - Type *string `json:"type,omitempty"` + GroupId *string `json:"groupId,omitempty"` + Name *string `json:"name,omitempty"` + Reference *genruntime.ResourceReference `armReference:"Id" json:"reference,omitempty"` + RequiredMembers []string `json:"requiredMembers,omitempty"` + Type *string `json:"type,omitempty"` } var _ genruntime.ARMTransformer = &PrivateLinkResource{} @@ -12899,25 +12044,13 @@ func (resource *PrivateLinkResource) AssignProperties_To_PrivateLinkResource(des return nil } -// A private link resource type PrivateLinkResource_STATUS struct { - // GroupId: The group ID of the resource. - GroupId *string `json:"groupId,omitempty"` - - // Id: The ID of the private link resource. - Id *string `json:"id,omitempty"` - - // Name: The name of the private link resource. - Name *string `json:"name,omitempty"` - - // PrivateLinkServiceID: The private link service ID of the resource, this field is exposed only to NRP internally. - PrivateLinkServiceID *string `json:"privateLinkServiceID,omitempty"` - - // RequiredMembers: The RequiredMembers of the resource - RequiredMembers []string `json:"requiredMembers,omitempty"` - - // Type: The resource type. - Type *string `json:"type,omitempty"` + GroupId *string `json:"groupId,omitempty"` + Id *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + PrivateLinkServiceID *string `json:"privateLinkServiceID,omitempty"` + RequiredMembers []string `json:"requiredMembers,omitempty"` + Type *string `json:"type,omitempty"` } var _ genruntime.FromARMConverter = &PrivateLinkResource_STATUS{} @@ -13032,24 +12165,12 @@ func (resource *PrivateLinkResource_STATUS) AssignProperties_To_PrivateLinkResou return nil } -// Metadata pertaining to creation and last modification of the resource. type SystemData_STATUS struct { - // CreatedAt: The timestamp of resource creation (UTC). - CreatedAt *string `json:"createdAt,omitempty"` - - // CreatedBy: The identity that created the resource. - CreatedBy *string `json:"createdBy,omitempty"` - - // CreatedByType: The type of identity that created the resource. - CreatedByType *SystemData_CreatedByType_STATUS `json:"createdByType,omitempty"` - - // LastModifiedAt: The timestamp of resource last modification (UTC) - LastModifiedAt *string `json:"lastModifiedAt,omitempty"` - - // LastModifiedBy: The identity that last modified the resource. - LastModifiedBy *string `json:"lastModifiedBy,omitempty"` - - // LastModifiedByType: The type of identity that last modified the resource. + CreatedAt *string `json:"createdAt,omitempty"` + CreatedBy *string `json:"createdBy,omitempty"` + CreatedByType *SystemData_CreatedByType_STATUS `json:"createdByType,omitempty"` + LastModifiedAt *string `json:"lastModifiedAt,omitempty"` + LastModifiedBy *string `json:"lastModifiedBy,omitempty"` LastModifiedByType *SystemData_LastModifiedByType_STATUS `json:"lastModifiedByType,omitempty"` } @@ -13192,15 +12313,9 @@ func (data *SystemData_STATUS) AssignProperties_To_SystemData_STATUS(destination return nil } -// Details about a user assigned identity. type UserAssignedIdentity struct { - // ClientId: The client ID of the user assigned identity. - ClientId *string `json:"clientId,omitempty"` - - // ObjectId: The object ID of the user assigned identity. - ObjectId *string `json:"objectId,omitempty"` - - // ResourceReference: The resource ID of the user assigned identity. + ClientId *string `json:"clientId,omitempty"` + ObjectId *string `json:"objectId,omitempty"` ResourceReference *genruntime.ResourceReference `armReference:"ResourceId" json:"resourceReference,omitempty"` } @@ -13318,15 +12433,9 @@ func (identity *UserAssignedIdentity) AssignProperties_To_UserAssignedIdentity(d return nil } -// Details about a user assigned identity. type UserAssignedIdentity_STATUS struct { - // ClientId: The client ID of the user assigned identity. - ClientId *string `json:"clientId,omitempty"` - - // ObjectId: The object ID of the user assigned identity. - ObjectId *string `json:"objectId,omitempty"` - - // ResourceId: The resource ID of the user assigned identity. + ClientId *string `json:"clientId,omitempty"` + ObjectId *string `json:"objectId,omitempty"` ResourceId *string `json:"resourceId,omitempty"` } @@ -13407,25 +12516,11 @@ func (identity *UserAssignedIdentity_STATUS) AssignProperties_To_UserAssignedIde return nil } -// Azure Key Vault key management service settings for the security profile. type AzureKeyVaultKms struct { - // Enabled: Whether to enable Azure Key Vault key management service. The default is false. - Enabled *bool `json:"enabled,omitempty"` - - // KeyId: Identifier of Azure Key Vault key. See [key identifier - // format](https://docs.microsoft.com/en-us/azure/key-vault/general/about-keys-secrets-certificates#vault-name-and-object-name) - // for more details. When Azure Key Vault key management service is enabled, this field is required and must be a valid key - // identifier. When Azure Key Vault key management service is disabled, leave the field empty. - KeyId *string `json:"keyId,omitempty"` - - // KeyVaultNetworkAccess: Network access of key vault. The possible values are `Public` and `Private`. `Public` means the - // key vault allows public access from all networks. `Private` means the key vault disables public access and enables - // private link. The default value is `Public`. - KeyVaultNetworkAccess *AzureKeyVaultKms_KeyVaultNetworkAccess `json:"keyVaultNetworkAccess,omitempty"` - - // KeyVaultResourceReference: Resource ID of key vault. When keyVaultNetworkAccess is `Private`, this field is required and - // must be a valid resource ID. When keyVaultNetworkAccess is `Public`, leave the field empty. - KeyVaultResourceReference *genruntime.ResourceReference `armReference:"KeyVaultResourceId" json:"keyVaultResourceReference,omitempty"` + Enabled *bool `json:"enabled,omitempty"` + KeyId *string `json:"keyId,omitempty"` + KeyVaultNetworkAccess *AzureKeyVaultKms_KeyVaultNetworkAccess `json:"keyVaultNetworkAccess,omitempty"` + KeyVaultResourceReference *genruntime.ResourceReference `armReference:"KeyVaultResourceId" json:"keyVaultResourceReference,omitempty"` } var _ genruntime.ARMTransformer = &AzureKeyVaultKms{} @@ -13585,25 +12680,11 @@ func (vaultKms *AzureKeyVaultKms) AssignProperties_To_AzureKeyVaultKms(destinati return nil } -// Azure Key Vault key management service settings for the security profile. type AzureKeyVaultKms_STATUS struct { - // Enabled: Whether to enable Azure Key Vault key management service. The default is false. - Enabled *bool `json:"enabled,omitempty"` - - // KeyId: Identifier of Azure Key Vault key. See [key identifier - // format](https://docs.microsoft.com/en-us/azure/key-vault/general/about-keys-secrets-certificates#vault-name-and-object-name) - // for more details. When Azure Key Vault key management service is enabled, this field is required and must be a valid key - // identifier. When Azure Key Vault key management service is disabled, leave the field empty. - KeyId *string `json:"keyId,omitempty"` - - // KeyVaultNetworkAccess: Network access of key vault. The possible values are `Public` and `Private`. `Public` means the - // key vault allows public access from all networks. `Private` means the key vault disables public access and enables - // private link. The default value is `Public`. + Enabled *bool `json:"enabled,omitempty"` + KeyId *string `json:"keyId,omitempty"` KeyVaultNetworkAccess *AzureKeyVaultKms_KeyVaultNetworkAccess_STATUS `json:"keyVaultNetworkAccess,omitempty"` - - // KeyVaultResourceId: Resource ID of key vault. When keyVaultNetworkAccess is `Private`, this field is required and must - // be a valid resource ID. When keyVaultNetworkAccess is `Public`, leave the field empty. - KeyVaultResourceId *string `json:"keyVaultResourceId,omitempty"` + KeyVaultResourceId *string `json:"keyVaultResourceId,omitempty"` } var _ genruntime.FromARMConverter = &AzureKeyVaultKms_STATUS{} @@ -13942,10 +13023,8 @@ var containerServiceNetworkProfile_OutboundType_STATUS_Values = map[string]Conta "userdefinedrouting": ContainerServiceNetworkProfile_OutboundType_STATUS_UserDefinedRouting, } -// SSH configuration for Linux-based VMs running on Azure. type ContainerServiceSshConfiguration struct { // +kubebuilder:validation:Required - // PublicKeys: The list of SSH public keys used to authenticate with Linux-based VMs. A maximum of 1 key may be specified. PublicKeys []ContainerServiceSshPublicKey `json:"publicKeys,omitempty"` } @@ -14054,9 +13133,7 @@ func (configuration *ContainerServiceSshConfiguration) AssignProperties_To_Conta return nil } -// SSH configuration for Linux-based VMs running on Azure. type ContainerServiceSshConfiguration_STATUS struct { - // PublicKeys: The list of SSH public keys used to authenticate with Linux-based VMs. A maximum of 1 key may be specified. PublicKeys []ContainerServiceSshPublicKey_STATUS `json:"publicKeys,omitempty"` } @@ -14147,7 +13224,6 @@ func (configuration *ContainerServiceSshConfiguration_STATUS) AssignProperties_T return nil } -// The type of extendedLocation. // +kubebuilder:validation:Enum={"EdgeZone"} type ExtendedLocationType string @@ -14158,7 +13234,6 @@ var extendedLocationType_Values = map[string]ExtendedLocationType{ "edgezone": ExtendedLocationType_EdgeZone, } -// The type of extendedLocation. type ExtendedLocationType_STATUS string const ExtendedLocationType_STATUS_EdgeZone = ExtendedLocationType_STATUS("EdgeZone") @@ -14207,18 +13282,9 @@ var managedClusterAutoUpgradeProfile_UpgradeChannel_STATUS_Values = map[string]M "stable": ManagedClusterAutoUpgradeProfile_UpgradeChannel_STATUS_Stable, } -// Metrics profile for the Azure Monitor managed service for Prometheus addon. Collect out-of-the-box Kubernetes -// infrastructure metrics to send to an Azure Monitor Workspace and configure additional scraping for custom targets. See -// aka.ms/AzureManagedPrometheus for an overview. type ManagedClusterAzureMonitorProfileMetrics struct { // +kubebuilder:validation:Required - // Enabled: Whether to enable or disable the Azure Managed Prometheus addon for Prometheus monitoring. See - // aka.ms/AzureManagedPrometheus-aks-enable for details on enabling and disabling. - Enabled *bool `json:"enabled,omitempty"` - - // KubeStateMetrics: Kube State Metrics profile for the Azure Managed Prometheus addon. These optional settings are for the - // kube-state-metrics pod that is deployed with the addon. See aka.ms/AzureManagedPrometheus-optional-parameters for - // details. + Enabled *bool `json:"enabled,omitempty"` KubeStateMetrics *ManagedClusterAzureMonitorProfileKubeStateMetrics `json:"kubeStateMetrics,omitempty"` } @@ -14345,17 +13411,8 @@ func (metrics *ManagedClusterAzureMonitorProfileMetrics) AssignProperties_To_Man return nil } -// Metrics profile for the Azure Monitor managed service for Prometheus addon. Collect out-of-the-box Kubernetes -// infrastructure metrics to send to an Azure Monitor Workspace and configure additional scraping for custom targets. See -// aka.ms/AzureManagedPrometheus for an overview. type ManagedClusterAzureMonitorProfileMetrics_STATUS struct { - // Enabled: Whether to enable or disable the Azure Managed Prometheus addon for Prometheus monitoring. See - // aka.ms/AzureManagedPrometheus-aks-enable for details on enabling and disabling. - Enabled *bool `json:"enabled,omitempty"` - - // KubeStateMetrics: Kube State Metrics profile for the Azure Managed Prometheus addon. These optional settings are for the - // kube-state-metrics pod that is deployed with the addon. See aka.ms/AzureManagedPrometheus-optional-parameters for - // details. + Enabled *bool `json:"enabled,omitempty"` KubeStateMetrics *ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS `json:"kubeStateMetrics,omitempty"` } @@ -14489,10 +13546,7 @@ var managedClusterIdentity_Type_STATUS_Values = map[string]ManagedClusterIdentit } type ManagedClusterIdentity_UserAssignedIdentities_STATUS struct { - // ClientId: The client id of user assigned identity. - ClientId *string `json:"clientId,omitempty"` - - // PrincipalId: The principal id of user assigned identity. + ClientId *string `json:"clientId,omitempty"` PrincipalId *string `json:"principalId,omitempty"` } @@ -14561,34 +13615,19 @@ func (identities *ManagedClusterIdentity_UserAssignedIdentities_STATUS) AssignPr return nil } -// Profile of the managed cluster load balancer. type ManagedClusterLoadBalancerProfile struct { // +kubebuilder:validation:Maximum=64000 // +kubebuilder:validation:Minimum=0 - // AllocatedOutboundPorts: The desired number of allocated SNAT ports per VM. Allowed values are in the range of 0 to 64000 - // (inclusive). The default value is 0 which results in Azure dynamically allocating ports. - AllocatedOutboundPorts *int `json:"allocatedOutboundPorts,omitempty"` - - // EffectiveOutboundIPs: The effective outbound IP resources of the cluster load balancer. - EffectiveOutboundIPs []ResourceReference `json:"effectiveOutboundIPs,omitempty"` - - // EnableMultipleStandardLoadBalancers: Enable multiple standard load balancers per AKS cluster or not. - EnableMultipleStandardLoadBalancers *bool `json:"enableMultipleStandardLoadBalancers,omitempty"` + AllocatedOutboundPorts *int `json:"allocatedOutboundPorts,omitempty"` + EffectiveOutboundIPs []ResourceReference `json:"effectiveOutboundIPs,omitempty"` + EnableMultipleStandardLoadBalancers *bool `json:"enableMultipleStandardLoadBalancers,omitempty"` // +kubebuilder:validation:Maximum=120 // +kubebuilder:validation:Minimum=4 - // IdleTimeoutInMinutes: Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 - // (inclusive). The default value is 30 minutes. - IdleTimeoutInMinutes *int `json:"idleTimeoutInMinutes,omitempty"` - - // ManagedOutboundIPs: Desired managed outbound IPs for the cluster load balancer. - ManagedOutboundIPs *ManagedClusterLoadBalancerProfile_ManagedOutboundIPs `json:"managedOutboundIPs,omitempty"` - - // OutboundIPPrefixes: Desired outbound IP Prefix resources for the cluster load balancer. - OutboundIPPrefixes *ManagedClusterLoadBalancerProfile_OutboundIPPrefixes `json:"outboundIPPrefixes,omitempty"` - - // OutboundIPs: Desired outbound IP resources for the cluster load balancer. - OutboundIPs *ManagedClusterLoadBalancerProfile_OutboundIPs `json:"outboundIPs,omitempty"` + IdleTimeoutInMinutes *int `json:"idleTimeoutInMinutes,omitempty"` + ManagedOutboundIPs *ManagedClusterLoadBalancerProfile_ManagedOutboundIPs `json:"managedOutboundIPs,omitempty"` + OutboundIPPrefixes *ManagedClusterLoadBalancerProfile_OutboundIPPrefixes `json:"outboundIPPrefixes,omitempty"` + OutboundIPs *ManagedClusterLoadBalancerProfile_OutboundIPs `json:"outboundIPs,omitempty"` } var _ genruntime.ARMTransformer = &ManagedClusterLoadBalancerProfile{} @@ -14915,30 +13954,14 @@ func (profile *ManagedClusterLoadBalancerProfile) AssignProperties_To_ManagedClu return nil } -// Profile of the managed cluster load balancer. type ManagedClusterLoadBalancerProfile_STATUS struct { - // AllocatedOutboundPorts: The desired number of allocated SNAT ports per VM. Allowed values are in the range of 0 to 64000 - // (inclusive). The default value is 0 which results in Azure dynamically allocating ports. - AllocatedOutboundPorts *int `json:"allocatedOutboundPorts,omitempty"` - - // EffectiveOutboundIPs: The effective outbound IP resources of the cluster load balancer. - EffectiveOutboundIPs []ResourceReference_STATUS `json:"effectiveOutboundIPs,omitempty"` - - // EnableMultipleStandardLoadBalancers: Enable multiple standard load balancers per AKS cluster or not. - EnableMultipleStandardLoadBalancers *bool `json:"enableMultipleStandardLoadBalancers,omitempty"` - - // IdleTimeoutInMinutes: Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 - // (inclusive). The default value is 30 minutes. - IdleTimeoutInMinutes *int `json:"idleTimeoutInMinutes,omitempty"` - - // ManagedOutboundIPs: Desired managed outbound IPs for the cluster load balancer. - ManagedOutboundIPs *ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS `json:"managedOutboundIPs,omitempty"` - - // OutboundIPPrefixes: Desired outbound IP Prefix resources for the cluster load balancer. - OutboundIPPrefixes *ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS `json:"outboundIPPrefixes,omitempty"` - - // OutboundIPs: Desired outbound IP resources for the cluster load balancer. - OutboundIPs *ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS `json:"outboundIPs,omitempty"` + AllocatedOutboundPorts *int `json:"allocatedOutboundPorts,omitempty"` + EffectiveOutboundIPs []ResourceReference_STATUS `json:"effectiveOutboundIPs,omitempty"` + EnableMultipleStandardLoadBalancers *bool `json:"enableMultipleStandardLoadBalancers,omitempty"` + IdleTimeoutInMinutes *int `json:"idleTimeoutInMinutes,omitempty"` + ManagedOutboundIPs *ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS `json:"managedOutboundIPs,omitempty"` + OutboundIPPrefixes *ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS `json:"outboundIPPrefixes,omitempty"` + OutboundIPs *ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS `json:"outboundIPs,omitempty"` } var _ genruntime.FromARMConverter = &ManagedClusterLoadBalancerProfile_STATUS{} @@ -15179,18 +14202,12 @@ func (profile *ManagedClusterLoadBalancerProfile_STATUS) AssignProperties_To_Man return nil } -// Profile of the managed cluster NAT gateway. type ManagedClusterNATGatewayProfile struct { - // EffectiveOutboundIPs: The effective outbound IP resources of the cluster NAT gateway. EffectiveOutboundIPs []ResourceReference `json:"effectiveOutboundIPs,omitempty"` // +kubebuilder:validation:Maximum=120 // +kubebuilder:validation:Minimum=4 - // IdleTimeoutInMinutes: Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 - // (inclusive). The default value is 4 minutes. - IdleTimeoutInMinutes *int `json:"idleTimeoutInMinutes,omitempty"` - - // ManagedOutboundIPProfile: Profile of the managed outbound IP resources of the cluster NAT gateway. + IdleTimeoutInMinutes *int `json:"idleTimeoutInMinutes,omitempty"` ManagedOutboundIPProfile *ManagedClusterManagedOutboundIPProfile `json:"managedOutboundIPProfile,omitempty"` } @@ -15372,16 +14389,9 @@ func (profile *ManagedClusterNATGatewayProfile) AssignProperties_To_ManagedClust return nil } -// Profile of the managed cluster NAT gateway. type ManagedClusterNATGatewayProfile_STATUS struct { - // EffectiveOutboundIPs: The effective outbound IP resources of the cluster NAT gateway. - EffectiveOutboundIPs []ResourceReference_STATUS `json:"effectiveOutboundIPs,omitempty"` - - // IdleTimeoutInMinutes: Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 - // (inclusive). The default value is 4 minutes. - IdleTimeoutInMinutes *int `json:"idleTimeoutInMinutes,omitempty"` - - // ManagedOutboundIPProfile: Profile of the managed outbound IP resources of the cluster NAT gateway. + EffectiveOutboundIPs []ResourceReference_STATUS `json:"effectiveOutboundIPs,omitempty"` + IdleTimeoutInMinutes *int `json:"idleTimeoutInMinutes,omitempty"` ManagedOutboundIPProfile *ManagedClusterManagedOutboundIPProfile_STATUS `json:"managedOutboundIPProfile,omitempty"` } @@ -15648,21 +14658,16 @@ func (secrets *ManagedClusterOperatorSecrets) AssignProperties_To_ManagedCluster return nil } -// Details about the pod identity assigned to the Managed Cluster. type ManagedClusterPodIdentity struct { - // BindingSelector: The binding selector to use for the AzureIdentityBinding resource. BindingSelector *string `json:"bindingSelector,omitempty"` // +kubebuilder:validation:Required - // Identity: The user assigned identity details. Identity *UserAssignedIdentity `json:"identity,omitempty"` // +kubebuilder:validation:Required - // Name: The name of the pod identity. Name *string `json:"name,omitempty"` // +kubebuilder:validation:Required - // Namespace: The namespace of the pod identity. Namespace *string `json:"namespace,omitempty"` } @@ -15815,22 +14820,12 @@ func (identity *ManagedClusterPodIdentity) AssignProperties_To_ManagedClusterPod return nil } -// Details about the pod identity assigned to the Managed Cluster. type ManagedClusterPodIdentity_STATUS struct { - // BindingSelector: The binding selector to use for the AzureIdentityBinding resource. - BindingSelector *string `json:"bindingSelector,omitempty"` - - // Identity: The user assigned identity details. - Identity *UserAssignedIdentity_STATUS `json:"identity,omitempty"` - - // Name: The name of the pod identity. - Name *string `json:"name,omitempty"` - - // Namespace: The namespace of the pod identity. - Namespace *string `json:"namespace,omitempty"` - ProvisioningInfo *ManagedClusterPodIdentity_ProvisioningInfo_STATUS `json:"provisioningInfo,omitempty"` - - // ProvisioningState: The current provisioning state of the pod identity. + BindingSelector *string `json:"bindingSelector,omitempty"` + Identity *UserAssignedIdentity_STATUS `json:"identity,omitempty"` + Name *string `json:"name,omitempty"` + Namespace *string `json:"namespace,omitempty"` + ProvisioningInfo *ManagedClusterPodIdentity_ProvisioningInfo_STATUS `json:"provisioningInfo,omitempty"` ProvisioningState *ManagedClusterPodIdentity_ProvisioningState_STATUS `json:"provisioningState,omitempty"` } @@ -16006,19 +15001,14 @@ func (identity *ManagedClusterPodIdentity_STATUS) AssignProperties_To_ManagedClu return nil } -// See [disable AAD Pod Identity for a specific -// Pod/Application](https://azure.github.io/aad-pod-identity/docs/configure/application_exception/) for more details. type ManagedClusterPodIdentityException struct { // +kubebuilder:validation:Required - // Name: The name of the pod identity exception. Name *string `json:"name,omitempty"` // +kubebuilder:validation:Required - // Namespace: The namespace of the pod identity exception. Namespace *string `json:"namespace,omitempty"` // +kubebuilder:validation:Required - // PodLabels: The pod labels to match. PodLabels map[string]string `json:"podLabels,omitempty"` } @@ -16130,16 +15120,9 @@ func (exception *ManagedClusterPodIdentityException) AssignProperties_To_Managed return nil } -// See [disable AAD Pod Identity for a specific -// Pod/Application](https://azure.github.io/aad-pod-identity/docs/configure/application_exception/) for more details. type ManagedClusterPodIdentityException_STATUS struct { - // Name: The name of the pod identity exception. - Name *string `json:"name,omitempty"` - - // Namespace: The namespace of the pod identity exception. - Namespace *string `json:"namespace,omitempty"` - - // PodLabels: The pod labels to match. + Name *string `json:"name,omitempty"` + Namespace *string `json:"namespace,omitempty"` PodLabels map[string]string `json:"podLabels,omitempty"` } @@ -16257,15 +15240,9 @@ var managedClusterProperties_AutoScalerProfile_Expander_STATUS_Values = map[stri "random": ManagedClusterProperties_AutoScalerProfile_Expander_STATUS_Random, } -// Microsoft Defender settings for the security profile. type ManagedClusterSecurityProfileDefender struct { - // LogAnalyticsWorkspaceResourceReference: Resource ID of the Log Analytics workspace to be associated with Microsoft - // Defender. When Microsoft Defender is enabled, this field is required and must be a valid workspace resource ID. When - // Microsoft Defender is disabled, leave the field empty. - LogAnalyticsWorkspaceResourceReference *genruntime.ResourceReference `armReference:"LogAnalyticsWorkspaceResourceId" json:"logAnalyticsWorkspaceResourceReference,omitempty"` - - // SecurityMonitoring: Microsoft Defender threat detection for Cloud settings for the security profile. - SecurityMonitoring *ManagedClusterSecurityProfileDefenderSecurityMonitoring `json:"securityMonitoring,omitempty"` + LogAnalyticsWorkspaceResourceReference *genruntime.ResourceReference `armReference:"LogAnalyticsWorkspaceResourceId" json:"logAnalyticsWorkspaceResourceReference,omitempty"` + SecurityMonitoring *ManagedClusterSecurityProfileDefenderSecurityMonitoring `json:"securityMonitoring,omitempty"` } var _ genruntime.ARMTransformer = &ManagedClusterSecurityProfileDefender{} @@ -16391,15 +15368,9 @@ func (defender *ManagedClusterSecurityProfileDefender) AssignProperties_To_Manag return nil } -// Microsoft Defender settings for the security profile. type ManagedClusterSecurityProfileDefender_STATUS struct { - // LogAnalyticsWorkspaceResourceId: Resource ID of the Log Analytics workspace to be associated with Microsoft Defender. - // When Microsoft Defender is enabled, this field is required and must be a valid workspace resource ID. When Microsoft - // Defender is disabled, leave the field empty. - LogAnalyticsWorkspaceResourceId *string `json:"logAnalyticsWorkspaceResourceId,omitempty"` - - // SecurityMonitoring: Microsoft Defender threat detection for Cloud settings for the security profile. - SecurityMonitoring *ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS `json:"securityMonitoring,omitempty"` + LogAnalyticsWorkspaceResourceId *string `json:"logAnalyticsWorkspaceResourceId,omitempty"` + SecurityMonitoring *ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS `json:"securityMonitoring,omitempty"` } var _ genruntime.FromARMConverter = &ManagedClusterSecurityProfileDefender_STATUS{} @@ -16490,14 +15461,9 @@ func (defender *ManagedClusterSecurityProfileDefender_STATUS) AssignProperties_T return nil } -// Image Cleaner removes unused images from nodes, freeing up disk space and helping to reduce attack surface area. Here -// are settings for the security profile. type ManagedClusterSecurityProfileImageCleaner struct { - // Enabled: Whether to enable Image Cleaner on AKS cluster. - Enabled *bool `json:"enabled,omitempty"` - - // IntervalHours: Image Cleaner scanning interval in hours. - IntervalHours *int `json:"intervalHours,omitempty"` + Enabled *bool `json:"enabled,omitempty"` + IntervalHours *int `json:"intervalHours,omitempty"` } var _ genruntime.ARMTransformer = &ManagedClusterSecurityProfileImageCleaner{} @@ -16596,14 +15562,9 @@ func (cleaner *ManagedClusterSecurityProfileImageCleaner) AssignProperties_To_Ma return nil } -// Image Cleaner removes unused images from nodes, freeing up disk space and helping to reduce attack surface area. Here -// are settings for the security profile. type ManagedClusterSecurityProfileImageCleaner_STATUS struct { - // Enabled: Whether to enable Image Cleaner on AKS cluster. - Enabled *bool `json:"enabled,omitempty"` - - // IntervalHours: Image Cleaner scanning interval in hours. - IntervalHours *int `json:"intervalHours,omitempty"` + Enabled *bool `json:"enabled,omitempty"` + IntervalHours *int `json:"intervalHours,omitempty"` } var _ genruntime.FromARMConverter = &ManagedClusterSecurityProfileImageCleaner_STATUS{} @@ -16681,9 +15642,7 @@ func (cleaner *ManagedClusterSecurityProfileImageCleaner_STATUS) AssignPropertie return nil } -// Workload identity settings for the security profile. type ManagedClusterSecurityProfileWorkloadIdentity struct { - // Enabled: Whether to enable workload identity. Enabled *bool `json:"enabled,omitempty"` } @@ -16765,9 +15724,7 @@ func (identity *ManagedClusterSecurityProfileWorkloadIdentity) AssignProperties_ return nil } -// Workload identity settings for the security profile. type ManagedClusterSecurityProfileWorkloadIdentity_STATUS struct { - // Enabled: Whether to enable workload identity. Enabled *bool `json:"enabled,omitempty"` } @@ -16880,9 +15837,7 @@ var managedClusterSKU_Tier_STATUS_Values = map[string]ManagedClusterSKU_Tier_STA "standard": ManagedClusterSKU_Tier_STATUS_Standard, } -// AzureBlob CSI Driver settings for the storage profile. type ManagedClusterStorageProfileBlobCSIDriver struct { - // Enabled: Whether to enable AzureBlob CSI Driver. The default value is false. Enabled *bool `json:"enabled,omitempty"` } @@ -16964,9 +15919,7 @@ func (driver *ManagedClusterStorageProfileBlobCSIDriver) AssignProperties_To_Man return nil } -// AzureBlob CSI Driver settings for the storage profile. type ManagedClusterStorageProfileBlobCSIDriver_STATUS struct { - // Enabled: Whether to enable AzureBlob CSI Driver. The default value is false. Enabled *bool `json:"enabled,omitempty"` } @@ -17033,9 +15986,7 @@ func (driver *ManagedClusterStorageProfileBlobCSIDriver_STATUS) AssignProperties return nil } -// AzureDisk CSI Driver settings for the storage profile. type ManagedClusterStorageProfileDiskCSIDriver struct { - // Enabled: Whether to enable AzureDisk CSI Driver. The default value is true. Enabled *bool `json:"enabled,omitempty"` } @@ -17117,9 +16068,7 @@ func (driver *ManagedClusterStorageProfileDiskCSIDriver) AssignProperties_To_Man return nil } -// AzureDisk CSI Driver settings for the storage profile. type ManagedClusterStorageProfileDiskCSIDriver_STATUS struct { - // Enabled: Whether to enable AzureDisk CSI Driver. The default value is true. Enabled *bool `json:"enabled,omitempty"` } @@ -17186,9 +16135,7 @@ func (driver *ManagedClusterStorageProfileDiskCSIDriver_STATUS) AssignProperties return nil } -// AzureFile CSI Driver settings for the storage profile. type ManagedClusterStorageProfileFileCSIDriver struct { - // Enabled: Whether to enable AzureFile CSI Driver. The default value is true. Enabled *bool `json:"enabled,omitempty"` } @@ -17270,9 +16217,7 @@ func (driver *ManagedClusterStorageProfileFileCSIDriver) AssignProperties_To_Man return nil } -// AzureFile CSI Driver settings for the storage profile. type ManagedClusterStorageProfileFileCSIDriver_STATUS struct { - // Enabled: Whether to enable AzureFile CSI Driver. The default value is true. Enabled *bool `json:"enabled,omitempty"` } @@ -17339,9 +16284,7 @@ func (driver *ManagedClusterStorageProfileFileCSIDriver_STATUS) AssignProperties return nil } -// Snapshot Controller settings for the storage profile. type ManagedClusterStorageProfileSnapshotController struct { - // Enabled: Whether to enable Snapshot Controller. The default value is true. Enabled *bool `json:"enabled,omitempty"` } @@ -17423,9 +16366,7 @@ func (controller *ManagedClusterStorageProfileSnapshotController) AssignProperti return nil } -// Snapshot Controller settings for the storage profile. type ManagedClusterStorageProfileSnapshotController_STATUS struct { - // Enabled: Whether to enable Snapshot Controller. The default value is true. Enabled *bool `json:"enabled,omitempty"` } @@ -17519,10 +16460,8 @@ var managedClusterWindowsProfile_LicenseType_STATUS_Values = map[string]ManagedC "windows_server": ManagedClusterWindowsProfile_LicenseType_STATUS_Windows_Server, } -// KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile. type ManagedClusterWorkloadAutoScalerProfileKeda struct { // +kubebuilder:validation:Required - // Enabled: Whether to enable KEDA. Enabled *bool `json:"enabled,omitempty"` } @@ -17604,9 +16543,7 @@ func (keda *ManagedClusterWorkloadAutoScalerProfileKeda) AssignProperties_To_Man return nil } -// KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile. type ManagedClusterWorkloadAutoScalerProfileKeda_STATUS struct { - // Enabled: Whether to enable KEDA. Enabled *bool `json:"enabled,omitempty"` } @@ -17720,7 +16657,6 @@ var systemData_LastModifiedByType_STATUS_Values = map[string]SystemData_LastModi "user": SystemData_LastModifiedByType_STATUS_User, } -// Information about the user assigned identity for the resource type UserAssignedIdentityDetails struct { Reference genruntime.ResourceReference `armReference:"Reference" json:"reference,omitempty"` } @@ -17754,17 +16690,9 @@ func (details *UserAssignedIdentityDetails) AssignProperties_To_UserAssignedIden return nil } -// Windows gMSA Profile in the managed cluster. type WindowsGmsaProfile struct { - // DnsServer: Specifies the DNS server for Windows gMSA. - // Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster. - DnsServer *string `json:"dnsServer,omitempty"` - - // Enabled: Specifies whether to enable Windows gMSA in the managed cluster. - Enabled *bool `json:"enabled,omitempty"` - - // RootDomainName: Specifies the root domain name for Windows gMSA. - // Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster. + DnsServer *string `json:"dnsServer,omitempty"` + Enabled *bool `json:"enabled,omitempty"` RootDomainName *string `json:"rootDomainName,omitempty"` } @@ -17882,17 +16810,9 @@ func (profile *WindowsGmsaProfile) AssignProperties_To_WindowsGmsaProfile(destin return nil } -// Windows gMSA Profile in the managed cluster. type WindowsGmsaProfile_STATUS struct { - // DnsServer: Specifies the DNS server for Windows gMSA. - // Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster. - DnsServer *string `json:"dnsServer,omitempty"` - - // Enabled: Specifies whether to enable Windows gMSA in the managed cluster. - Enabled *bool `json:"enabled,omitempty"` - - // RootDomainName: Specifies the root domain name for Windows gMSA. - // Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster. + DnsServer *string `json:"dnsServer,omitempty"` + Enabled *bool `json:"enabled,omitempty"` RootDomainName *string `json:"rootDomainName,omitempty"` } @@ -18010,11 +16930,8 @@ var azureKeyVaultKms_KeyVaultNetworkAccess_STATUS_Values = map[string]AzureKeyVa "public": AzureKeyVaultKms_KeyVaultNetworkAccess_STATUS_Public, } -// Contains information about SSH certificate public key data. type ContainerServiceSshPublicKey struct { // +kubebuilder:validation:Required - // KeyData: Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or - // without headers. KeyData *string `json:"keyData,omitempty"` } @@ -18086,10 +17003,7 @@ func (publicKey *ContainerServiceSshPublicKey) AssignProperties_To_ContainerServ return nil } -// Contains information about SSH certificate public key data. type ContainerServiceSshPublicKey_STATUS struct { - // KeyData: Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or - // without headers. KeyData *string `json:"keyData,omitempty"` } @@ -18146,19 +17060,9 @@ func (publicKey *ContainerServiceSshPublicKey_STATUS) AssignProperties_To_Contai return nil } -// Kube State Metrics profile for the Azure Managed Prometheus addon. These optional settings are for the -// kube-state-metrics pod that is deployed with the addon. See aka.ms/AzureManagedPrometheus-optional-parameters for -// details. type ManagedClusterAzureMonitorProfileKubeStateMetrics struct { - // MetricAnnotationsAllowList: Comma-separated list of Kubernetes annotation keys that will be used in the resource's - // labels metric (Example: 'namespaces=[kubernetes.io/team,...],pods=[kubernetes.io/team],...'). By default the metric - // contains only resource name and namespace labels. MetricAnnotationsAllowList *string `json:"metricAnnotationsAllowList,omitempty"` - - // MetricLabelsAllowlist: Comma-separated list of additional Kubernetes label keys that will be used in the resource's - // labels metric (Example: 'namespaces=[k8s-label-1,k8s-label-n,...],pods=[app],...'). By default the metric contains only - // resource name and namespace labels. - MetricLabelsAllowlist *string `json:"metricLabelsAllowlist,omitempty"` + MetricLabelsAllowlist *string `json:"metricLabelsAllowlist,omitempty"` } var _ genruntime.ARMTransformer = &ManagedClusterAzureMonitorProfileKubeStateMetrics{} @@ -18247,19 +17151,9 @@ func (metrics *ManagedClusterAzureMonitorProfileKubeStateMetrics) AssignProperti return nil } -// Kube State Metrics profile for the Azure Managed Prometheus addon. These optional settings are for the -// kube-state-metrics pod that is deployed with the addon. See aka.ms/AzureManagedPrometheus-optional-parameters for -// details. type ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS struct { - // MetricAnnotationsAllowList: Comma-separated list of Kubernetes annotation keys that will be used in the resource's - // labels metric (Example: 'namespaces=[kubernetes.io/team,...],pods=[kubernetes.io/team],...'). By default the metric - // contains only resource name and namespace labels. MetricAnnotationsAllowList *string `json:"metricAnnotationsAllowList,omitempty"` - - // MetricLabelsAllowlist: Comma-separated list of additional Kubernetes label keys that will be used in the resource's - // labels metric (Example: 'namespaces=[k8s-label-1,k8s-label-n,...],pods=[app],...'). By default the metric contains only - // resource name and namespace labels. - MetricLabelsAllowlist *string `json:"metricLabelsAllowlist,omitempty"` + MetricLabelsAllowlist *string `json:"metricLabelsAllowlist,omitempty"` } var _ genruntime.FromARMConverter = &ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS{} @@ -18330,14 +17224,10 @@ func (metrics *ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS) AssignP type ManagedClusterLoadBalancerProfile_ManagedOutboundIPs struct { // +kubebuilder:validation:Maximum=100 // +kubebuilder:validation:Minimum=1 - // Count: The desired number of IPv4 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values - // must be in the range of 1 to 100 (inclusive). The default value is 1. Count *int `json:"count,omitempty"` // +kubebuilder:validation:Maximum=100 // +kubebuilder:validation:Minimum=0 - // CountIPv6: The desired number of IPv6 outbound IPs created/managed by Azure for the cluster load balancer. Allowed - // values must be in the range of 1 to 100 (inclusive). The default value is 0 for single-stack and 1 for dual-stack. CountIPv6 *int `json:"countIPv6,omitempty"` } @@ -18448,12 +17338,7 @@ func (iPs *ManagedClusterLoadBalancerProfile_ManagedOutboundIPs) AssignPropertie } type ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS struct { - // Count: The desired number of IPv4 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values - // must be in the range of 1 to 100 (inclusive). The default value is 1. - Count *int `json:"count,omitempty"` - - // CountIPv6: The desired number of IPv6 outbound IPs created/managed by Azure for the cluster load balancer. Allowed - // values must be in the range of 1 to 100 (inclusive). The default value is 0 for single-stack and 1 for dual-stack. + Count *int `json:"count,omitempty"` CountIPv6 *int `json:"countIPv6,omitempty"` } @@ -18523,7 +17408,6 @@ func (iPs *ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS) AssignPr } type ManagedClusterLoadBalancerProfile_OutboundIPPrefixes struct { - // PublicIPPrefixes: A list of public IP prefix resources. PublicIPPrefixes []ResourceReference `json:"publicIPPrefixes,omitempty"` } @@ -18633,7 +17517,6 @@ func (prefixes *ManagedClusterLoadBalancerProfile_OutboundIPPrefixes) AssignProp } type ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS struct { - // PublicIPPrefixes: A list of public IP prefix resources. PublicIPPrefixes []ResourceReference_STATUS `json:"publicIPPrefixes,omitempty"` } @@ -18725,7 +17608,6 @@ func (prefixes *ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS) Ass } type ManagedClusterLoadBalancerProfile_OutboundIPs struct { - // PublicIPs: A list of public IP resources. PublicIPs []ResourceReference `json:"publicIPs,omitempty"` } @@ -18835,7 +17717,6 @@ func (iPs *ManagedClusterLoadBalancerProfile_OutboundIPs) AssignProperties_To_Ma } type ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS struct { - // PublicIPs: A list of public IP resources. PublicIPs []ResourceReference_STATUS `json:"publicIPs,omitempty"` } @@ -18926,12 +17807,9 @@ func (iPs *ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS) AssignPropertie return nil } -// Profile of the managed outbound IP resources of the managed cluster. type ManagedClusterManagedOutboundIPProfile struct { // +kubebuilder:validation:Maximum=16 // +kubebuilder:validation:Minimum=1 - // Count: The desired number of outbound IPs created/managed by Azure. Allowed values must be in the range of 1 to 16 - // (inclusive). The default value is 1. Count *int `json:"count,omitempty"` } @@ -19013,10 +17891,7 @@ func (profile *ManagedClusterManagedOutboundIPProfile) AssignProperties_To_Manag return nil } -// Profile of the managed outbound IP resources of the managed cluster. type ManagedClusterManagedOutboundIPProfile_STATUS struct { - // Count: The desired number of outbound IPs created/managed by Azure. Allowed values must be in the range of 1 to 16 - // (inclusive). The default value is 1. Count *int `json:"count,omitempty"` } @@ -19074,7 +17949,6 @@ func (profile *ManagedClusterManagedOutboundIPProfile_STATUS) AssignProperties_T } type ManagedClusterPodIdentity_ProvisioningInfo_STATUS struct { - // Error: Pod identity assignment error (if any). Error *ManagedClusterPodIdentityProvisioningError_STATUS `json:"error,omitempty"` } @@ -19175,9 +18049,7 @@ var managedClusterPodIdentity_ProvisioningState_STATUS_Values = map[string]Manag "updating": ManagedClusterPodIdentity_ProvisioningState_STATUS_Updating, } -// Microsoft Defender settings for the security profile threat detection. type ManagedClusterSecurityProfileDefenderSecurityMonitoring struct { - // Enabled: Whether to enable Defender threat detection Enabled *bool `json:"enabled,omitempty"` } @@ -19259,9 +18131,7 @@ func (monitoring *ManagedClusterSecurityProfileDefenderSecurityMonitoring) Assig return nil } -// Microsoft Defender settings for the security profile threat detection. type ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS struct { - // Enabled: Whether to enable Defender threat detection Enabled *bool `json:"enabled,omitempty"` } @@ -19328,9 +18198,7 @@ func (monitoring *ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS return nil } -// A reference to an Azure resource. type ResourceReference struct { - // Reference: The fully qualified Azure resource id. Reference *genruntime.ResourceReference `armReference:"Id" json:"reference,omitempty"` } @@ -19412,9 +18280,7 @@ func (reference *ResourceReference) AssignProperties_To_ResourceReference(destin return nil } -// A reference to an Azure resource. type ResourceReference_STATUS struct { - // Id: The fully qualified Azure resource id. Id *string `json:"id,omitempty"` } @@ -19471,9 +18337,7 @@ func (reference *ResourceReference_STATUS) AssignProperties_To_ResourceReference return nil } -// An error response from the pod identity provisioning. type ManagedClusterPodIdentityProvisioningError_STATUS struct { - // Error: Details about the error. Error *ManagedClusterPodIdentityProvisioningErrorBody_STATUS `json:"error,omitempty"` } @@ -19553,19 +18417,11 @@ func (error *ManagedClusterPodIdentityProvisioningError_STATUS) AssignProperties return nil } -// An error response from the pod identity provisioning. type ManagedClusterPodIdentityProvisioningErrorBody_STATUS struct { - // Code: An identifier for the error. Codes are invariant and are intended to be consumed programmatically. - Code *string `json:"code,omitempty"` - - // Details: A list of additional details about the error. + Code *string `json:"code,omitempty"` Details []ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled `json:"details,omitempty"` - - // Message: A message describing the error, intended to be suitable for display in a user interface. - Message *string `json:"message,omitempty"` - - // Target: The target of the particular error. For example, the name of the property in error. - Target *string `json:"target,omitempty"` + Message *string `json:"message,omitempty"` + Target *string `json:"target,omitempty"` } var _ genruntime.FromARMConverter = &ManagedClusterPodIdentityProvisioningErrorBody_STATUS{} @@ -19692,14 +18548,9 @@ func (body *ManagedClusterPodIdentityProvisioningErrorBody_STATUS) AssignPropert } type ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled struct { - // Code: An identifier for the error. Codes are invariant and are intended to be consumed programmatically. - Code *string `json:"code,omitempty"` - - // Message: A message describing the error, intended to be suitable for display in a user interface. + Code *string `json:"code,omitempty"` Message *string `json:"message,omitempty"` - - // Target: The target of the particular error. For example, the name of the property in error. - Target *string `json:"target,omitempty"` + Target *string `json:"target,omitempty"` } var _ genruntime.FromARMConverter = &ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled{} diff --git a/v2/api/containerservice/v1api20230201/managed_cluster_types_gen_test.go b/v2/api/containerservice/v1api20230201/managed_cluster_types_gen_test.go index 14bc2b53a44..461b6b890a8 100644 --- a/v2/api/containerservice/v1api20230201/managed_cluster_types_gen_test.go +++ b/v2/api/containerservice/v1api20230201/managed_cluster_types_gen_test.go @@ -6,7 +6,7 @@ package v1api20230201 import ( "encoding/json" v20230201s "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20230201/storage" - v20231001s "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20231001/storage" + v20240901s "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20240901/storage" "github.com/google/go-cmp/cmp" "github.com/google/go-cmp/cmp/cmpopts" "github.com/kr/pretty" @@ -1370,7 +1370,7 @@ func RunResourceConversionTestForManagedCluster(subject ManagedCluster) string { copied := subject.DeepCopy() // Convert to our hub version - var hub v20231001s.ManagedCluster + var hub v20240901s.ManagedCluster err := copied.ConvertTo(&hub) if err != nil { return err.Error() diff --git a/v2/api/containerservice/v1api20230201/managed_clusters_agent_pool_types_gen.go b/v2/api/containerservice/v1api20230201/managed_clusters_agent_pool_types_gen.go index ba62c0afb71..066ccd0d328 100644 --- a/v2/api/containerservice/v1api20230201/managed_clusters_agent_pool_types_gen.go +++ b/v2/api/containerservice/v1api20230201/managed_clusters_agent_pool_types_gen.go @@ -3059,8 +3059,6 @@ func (pool *ManagedClustersAgentPool_STATUS) AssignProperties_To_ManagedClusters return nil } -// A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool restrictions -// and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools // +kubebuilder:validation:Enum={"System","User"} type AgentPoolMode string @@ -3075,8 +3073,6 @@ var agentPoolMode_Values = map[string]AgentPoolMode{ "user": AgentPoolMode_User, } -// A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool restrictions -// and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools type AgentPoolMode_STATUS string const ( @@ -3090,7 +3086,6 @@ var agentPoolMode_STATUS_Values = map[string]AgentPoolMode_STATUS{ "user": AgentPoolMode_STATUS_User, } -// The type of Agent Pool. // +kubebuilder:validation:Enum={"AvailabilitySet","VirtualMachineScaleSets"} type AgentPoolType string @@ -3105,7 +3100,6 @@ var agentPoolType_Values = map[string]AgentPoolType{ "virtualmachinescalesets": AgentPoolType_VirtualMachineScaleSets, } -// The type of Agent Pool. type AgentPoolType_STATUS string const ( @@ -3119,12 +3113,7 @@ var agentPoolType_STATUS_Values = map[string]AgentPoolType_STATUS{ "virtualmachinescalesets": AgentPoolType_STATUS_VirtualMachineScaleSets, } -// Settings for upgrading an agentpool type AgentPoolUpgradeSettings struct { - // MaxSurge: This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it - // is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded - // up. If not specified, the default is 1. For more information, including best practices, see: - // https://docs.microsoft.com/azure/aks/upgrade-cluster#customize-node-surge-upgrade MaxSurge *string `json:"maxSurge,omitempty"` } @@ -3196,12 +3185,7 @@ func (settings *AgentPoolUpgradeSettings) AssignProperties_To_AgentPoolUpgradeSe return nil } -// Settings for upgrading an agentpool type AgentPoolUpgradeSettings_STATUS struct { - // MaxSurge: This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it - // is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded - // up. If not specified, the default is 1. For more information, including best practices, see: - // https://docs.microsoft.com/azure/aks/upgrade-cluster#customize-node-surge-upgrade MaxSurge *string `json:"maxSurge,omitempty"` } @@ -3262,9 +3246,7 @@ func (settings *AgentPoolUpgradeSettings_STATUS) AssignProperties_To_AgentPoolUp // +kubebuilder:validation:Minimum=0 type ContainerServiceOSDisk int -// Data used when creating a target resource from a source resource. type CreationData struct { - // SourceResourceReference: This is the ARM ID of the source object to be used to create the target object. SourceResourceReference *genruntime.ResourceReference `armReference:"SourceResourceId" json:"sourceResourceReference,omitempty"` } @@ -3346,9 +3328,7 @@ func (data *CreationData) AssignProperties_To_CreationData(destination *storage. return nil } -// Data used when creating a target resource from a source resource. type CreationData_STATUS struct { - // SourceResourceId: This is the ARM ID of the source object to be used to create the target object. SourceResourceId *string `json:"sourceResourceId,omitempty"` } @@ -3405,7 +3385,6 @@ func (data *CreationData_STATUS) AssignProperties_To_CreationData_STATUS(destina return nil } -// GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU. // +kubebuilder:validation:Enum={"MIG1g","MIG2g","MIG3g","MIG4g","MIG7g"} type GPUInstanceProfile string @@ -3426,7 +3405,6 @@ var gPUInstanceProfile_Values = map[string]GPUInstanceProfile{ "mig7g": GPUInstanceProfile_MIG7G, } -// GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU. type GPUInstanceProfile_STATUS string const ( @@ -3446,46 +3424,19 @@ var gPUInstanceProfile_STATUS_Values = map[string]GPUInstanceProfile_STATUS{ "mig7g": GPUInstanceProfile_STATUS_MIG7G, } -// See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. type KubeletConfig struct { - // AllowedUnsafeSysctls: Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in `*`). AllowedUnsafeSysctls []string `json:"allowedUnsafeSysctls,omitempty"` // +kubebuilder:validation:Minimum=2 - // ContainerLogMaxFiles: The maximum number of container log files that can be present for a container. The number must be - // ≥ 2. - ContainerLogMaxFiles *int `json:"containerLogMaxFiles,omitempty"` - - // ContainerLogMaxSizeMB: The maximum size (e.g. 10Mi) of container log file before it is rotated. - ContainerLogMaxSizeMB *int `json:"containerLogMaxSizeMB,omitempty"` - - // CpuCfsQuota: The default is true. - CpuCfsQuota *bool `json:"cpuCfsQuota,omitempty"` - - // CpuCfsQuotaPeriod: The default is '100ms.' Valid values are a sequence of decimal numbers with an optional fraction and - // a unit suffix. For example: '300ms', '2h45m'. Supported units are 'ns', 'us', 'ms', 's', 'm', and 'h'. - CpuCfsQuotaPeriod *string `json:"cpuCfsQuotaPeriod,omitempty"` - - // CpuManagerPolicy: The default is 'none'. See [Kubernetes CPU management - // policies](https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/#cpu-management-policies) for more - // information. Allowed values are 'none' and 'static'. - CpuManagerPolicy *string `json:"cpuManagerPolicy,omitempty"` - - // FailSwapOn: If set to true it will make the Kubelet fail to start if swap is enabled on the node. - FailSwapOn *bool `json:"failSwapOn,omitempty"` - - // ImageGcHighThreshold: To disable image garbage collection, set to 100. The default is 85% - ImageGcHighThreshold *int `json:"imageGcHighThreshold,omitempty"` - - // ImageGcLowThreshold: This cannot be set higher than imageGcHighThreshold. The default is 80% - ImageGcLowThreshold *int `json:"imageGcLowThreshold,omitempty"` - - // PodMaxPids: The maximum number of processes per pod. - PodMaxPids *int `json:"podMaxPids,omitempty"` - - // TopologyManagerPolicy: For more information see [Kubernetes Topology - // Manager](https://kubernetes.io/docs/tasks/administer-cluster/topology-manager). The default is 'none'. Allowed values - // are 'none', 'best-effort', 'restricted', and 'single-numa-node'. + ContainerLogMaxFiles *int `json:"containerLogMaxFiles,omitempty"` + ContainerLogMaxSizeMB *int `json:"containerLogMaxSizeMB,omitempty"` + CpuCfsQuota *bool `json:"cpuCfsQuota,omitempty"` + CpuCfsQuotaPeriod *string `json:"cpuCfsQuotaPeriod,omitempty"` + CpuManagerPolicy *string `json:"cpuManagerPolicy,omitempty"` + FailSwapOn *bool `json:"failSwapOn,omitempty"` + ImageGcHighThreshold *int `json:"imageGcHighThreshold,omitempty"` + ImageGcLowThreshold *int `json:"imageGcLowThreshold,omitempty"` + PodMaxPids *int `json:"podMaxPids,omitempty"` TopologyManagerPolicy *string `json:"topologyManagerPolicy,omitempty"` } @@ -3765,46 +3716,18 @@ func (config *KubeletConfig) AssignProperties_To_KubeletConfig(destination *stor return nil } -// See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. type KubeletConfig_STATUS struct { - // AllowedUnsafeSysctls: Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in `*`). - AllowedUnsafeSysctls []string `json:"allowedUnsafeSysctls,omitempty"` - - // ContainerLogMaxFiles: The maximum number of container log files that can be present for a container. The number must be - // ≥ 2. - ContainerLogMaxFiles *int `json:"containerLogMaxFiles,omitempty"` - - // ContainerLogMaxSizeMB: The maximum size (e.g. 10Mi) of container log file before it is rotated. - ContainerLogMaxSizeMB *int `json:"containerLogMaxSizeMB,omitempty"` - - // CpuCfsQuota: The default is true. - CpuCfsQuota *bool `json:"cpuCfsQuota,omitempty"` - - // CpuCfsQuotaPeriod: The default is '100ms.' Valid values are a sequence of decimal numbers with an optional fraction and - // a unit suffix. For example: '300ms', '2h45m'. Supported units are 'ns', 'us', 'ms', 's', 'm', and 'h'. - CpuCfsQuotaPeriod *string `json:"cpuCfsQuotaPeriod,omitempty"` - - // CpuManagerPolicy: The default is 'none'. See [Kubernetes CPU management - // policies](https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/#cpu-management-policies) for more - // information. Allowed values are 'none' and 'static'. - CpuManagerPolicy *string `json:"cpuManagerPolicy,omitempty"` - - // FailSwapOn: If set to true it will make the Kubelet fail to start if swap is enabled on the node. - FailSwapOn *bool `json:"failSwapOn,omitempty"` - - // ImageGcHighThreshold: To disable image garbage collection, set to 100. The default is 85% - ImageGcHighThreshold *int `json:"imageGcHighThreshold,omitempty"` - - // ImageGcLowThreshold: This cannot be set higher than imageGcHighThreshold. The default is 80% - ImageGcLowThreshold *int `json:"imageGcLowThreshold,omitempty"` - - // PodMaxPids: The maximum number of processes per pod. - PodMaxPids *int `json:"podMaxPids,omitempty"` - - // TopologyManagerPolicy: For more information see [Kubernetes Topology - // Manager](https://kubernetes.io/docs/tasks/administer-cluster/topology-manager). The default is 'none'. Allowed values - // are 'none', 'best-effort', 'restricted', and 'single-numa-node'. - TopologyManagerPolicy *string `json:"topologyManagerPolicy,omitempty"` + AllowedUnsafeSysctls []string `json:"allowedUnsafeSysctls,omitempty"` + ContainerLogMaxFiles *int `json:"containerLogMaxFiles,omitempty"` + ContainerLogMaxSizeMB *int `json:"containerLogMaxSizeMB,omitempty"` + CpuCfsQuota *bool `json:"cpuCfsQuota,omitempty"` + CpuCfsQuotaPeriod *string `json:"cpuCfsQuotaPeriod,omitempty"` + CpuManagerPolicy *string `json:"cpuManagerPolicy,omitempty"` + FailSwapOn *bool `json:"failSwapOn,omitempty"` + ImageGcHighThreshold *int `json:"imageGcHighThreshold,omitempty"` + ImageGcLowThreshold *int `json:"imageGcLowThreshold,omitempty"` + PodMaxPids *int `json:"podMaxPids,omitempty"` + TopologyManagerPolicy *string `json:"topologyManagerPolicy,omitempty"` } var _ genruntime.FromARMConverter = &KubeletConfig_STATUS{} @@ -3999,7 +3922,6 @@ func (config *KubeletConfig_STATUS) AssignProperties_To_KubeletConfig_STATUS(des return nil } -// Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage. // +kubebuilder:validation:Enum={"OS","Temporary"} type KubeletDiskType string @@ -4014,7 +3936,6 @@ var kubeletDiskType_Values = map[string]KubeletDiskType{ "temporary": KubeletDiskType_Temporary, } -// Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage. type KubeletDiskType_STATUS string const ( @@ -4028,23 +3949,11 @@ var kubeletDiskType_STATUS_Values = map[string]KubeletDiskType_STATUS{ "temporary": KubeletDiskType_STATUS_Temporary, } -// See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. type LinuxOSConfig struct { - // SwapFileSizeMB: The size in MB of a swap file that will be created on each node. - SwapFileSizeMB *int `json:"swapFileSizeMB,omitempty"` - - // Sysctls: Sysctl settings for Linux agent nodes. - Sysctls *SysctlConfig `json:"sysctls,omitempty"` - - // TransparentHugePageDefrag: Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is - // 'madvise'. For more information see [Transparent - // Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). - TransparentHugePageDefrag *string `json:"transparentHugePageDefrag,omitempty"` - - // TransparentHugePageEnabled: Valid values are 'always', 'madvise', and 'never'. The default is 'always'. For more - // information see [Transparent - // Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). - TransparentHugePageEnabled *string `json:"transparentHugePageEnabled,omitempty"` + SwapFileSizeMB *int `json:"swapFileSizeMB,omitempty"` + Sysctls *SysctlConfig `json:"sysctls,omitempty"` + TransparentHugePageDefrag *string `json:"transparentHugePageDefrag,omitempty"` + TransparentHugePageEnabled *string `json:"transparentHugePageEnabled,omitempty"` } var _ genruntime.ARMTransformer = &LinuxOSConfig{} @@ -4196,23 +4105,11 @@ func (config *LinuxOSConfig) AssignProperties_To_LinuxOSConfig(destination *stor return nil } -// See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. type LinuxOSConfig_STATUS struct { - // SwapFileSizeMB: The size in MB of a swap file that will be created on each node. - SwapFileSizeMB *int `json:"swapFileSizeMB,omitempty"` - - // Sysctls: Sysctl settings for Linux agent nodes. - Sysctls *SysctlConfig_STATUS `json:"sysctls,omitempty"` - - // TransparentHugePageDefrag: Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is - // 'madvise'. For more information see [Transparent - // Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). - TransparentHugePageDefrag *string `json:"transparentHugePageDefrag,omitempty"` - - // TransparentHugePageEnabled: Valid values are 'always', 'madvise', and 'never'. The default is 'always'. For more - // information see [Transparent - // Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). - TransparentHugePageEnabled *string `json:"transparentHugePageEnabled,omitempty"` + SwapFileSizeMB *int `json:"swapFileSizeMB,omitempty"` + Sysctls *SysctlConfig_STATUS `json:"sysctls,omitempty"` + TransparentHugePageDefrag *string `json:"transparentHugePageDefrag,omitempty"` + TransparentHugePageEnabled *string `json:"transparentHugePageEnabled,omitempty"` } var _ genruntime.FromARMConverter = &LinuxOSConfig_STATUS{} @@ -4327,9 +4224,6 @@ func (config *LinuxOSConfig_STATUS) AssignProperties_To_LinuxOSConfig_STATUS(des return nil } -// The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, -// defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral -// OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). // +kubebuilder:validation:Enum={"Ephemeral","Managed"} type OSDiskType string @@ -4344,9 +4238,6 @@ var oSDiskType_Values = map[string]OSDiskType{ "managed": OSDiskType_Managed, } -// The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, -// defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral -// OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). type OSDiskType_STATUS string const ( @@ -4360,8 +4251,6 @@ var oSDiskType_STATUS_Values = map[string]OSDiskType_STATUS{ "managed": OSDiskType_STATUS_Managed, } -// Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 when -// Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows. // +kubebuilder:validation:Enum={"CBLMariner","Ubuntu","Windows2019","Windows2022"} type OSSKU string @@ -4380,8 +4269,6 @@ var oSSKU_Values = map[string]OSSKU{ "windows2022": OSSKU_Windows2022, } -// Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 when -// Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows. type OSSKU_STATUS string const ( @@ -4399,7 +4286,6 @@ var oSSKU_STATUS_Values = map[string]OSSKU_STATUS{ "windows2022": OSSKU_STATUS_Windows2022, } -// The operating system type. The default is Linux. // +kubebuilder:validation:Enum={"Linux","Windows"} type OSType string @@ -4414,7 +4300,6 @@ var oSType_Values = map[string]OSType{ "windows": OSType_Windows, } -// The operating system type. The default is Linux. type OSType_STATUS string const ( @@ -4428,9 +4313,7 @@ var oSType_STATUS_Values = map[string]OSType_STATUS{ "windows": OSType_STATUS_Windows, } -// Describes the Power State of the cluster type PowerState struct { - // Code: Tells whether the cluster is Running or Stopped Code *PowerState_Code `json:"code,omitempty"` } @@ -4517,8 +4400,6 @@ func (state *PowerState) AssignProperties_To_PowerState(destination *storage.Pow return nil } -// Describes how VMs are added to or removed from Agent Pools. See [billing -// states](https://docs.microsoft.com/azure/virtual-machines/states-billing). // +kubebuilder:validation:Enum={"Deallocate","Delete"} type ScaleDownMode string @@ -4533,8 +4414,6 @@ var scaleDownMode_Values = map[string]ScaleDownMode{ "delete": ScaleDownMode_Delete, } -// Describes how VMs are added to or removed from Agent Pools. See [billing -// states](https://docs.microsoft.com/azure/virtual-machines/states-billing). type ScaleDownMode_STATUS string const ( @@ -4548,8 +4427,6 @@ var scaleDownMode_STATUS_Values = map[string]ScaleDownMode_STATUS{ "delete": ScaleDownMode_STATUS_Delete, } -// The eviction policy specifies what to do with the VM when it is evicted. The default is Delete. For more information -// about eviction see [spot VMs](https://docs.microsoft.com/azure/virtual-machines/spot-vms) // +kubebuilder:validation:Enum={"Deallocate","Delete"} type ScaleSetEvictionPolicy string @@ -4564,8 +4441,6 @@ var scaleSetEvictionPolicy_Values = map[string]ScaleSetEvictionPolicy{ "delete": ScaleSetEvictionPolicy_Delete, } -// The eviction policy specifies what to do with the VM when it is evicted. The default is Delete. For more information -// about eviction see [spot VMs](https://docs.microsoft.com/azure/virtual-machines/spot-vms) type ScaleSetEvictionPolicy_STATUS string const ( @@ -4579,7 +4454,6 @@ var scaleSetEvictionPolicy_STATUS_Values = map[string]ScaleSetEvictionPolicy_STA "delete": ScaleSetEvictionPolicy_STATUS_Delete, } -// The Virtual Machine Scale Set priority. // +kubebuilder:validation:Enum={"Regular","Spot"} type ScaleSetPriority string @@ -4594,7 +4468,6 @@ var scaleSetPriority_Values = map[string]ScaleSetPriority{ "spot": ScaleSetPriority_Spot, } -// The Virtual Machine Scale Set priority. type ScaleSetPriority_STATUS string const ( @@ -4608,7 +4481,6 @@ var scaleSetPriority_STATUS_Values = map[string]ScaleSetPriority_STATUS{ "spot": ScaleSetPriority_STATUS_Spot, } -// Determines the type of workload a node can run. // +kubebuilder:validation:Enum={"OCIContainer","WasmWasi"} type WorkloadRuntime string @@ -4623,7 +4495,6 @@ var workloadRuntime_Values = map[string]WorkloadRuntime{ "wasmwasi": WorkloadRuntime_WasmWasi, } -// Determines the type of workload a node can run. type WorkloadRuntime_STATUS string const ( @@ -4651,91 +4522,35 @@ var powerState_Code_Values = map[string]PowerState_Code{ "stopped": PowerState_Code_Stopped, } -// Sysctl settings for Linux agent nodes. type SysctlConfig struct { - // FsAioMaxNr: Sysctl setting fs.aio-max-nr. - FsAioMaxNr *int `json:"fsAioMaxNr,omitempty"` - - // FsFileMax: Sysctl setting fs.file-max. - FsFileMax *int `json:"fsFileMax,omitempty"` - - // FsInotifyMaxUserWatches: Sysctl setting fs.inotify.max_user_watches. - FsInotifyMaxUserWatches *int `json:"fsInotifyMaxUserWatches,omitempty"` - - // FsNrOpen: Sysctl setting fs.nr_open. - FsNrOpen *int `json:"fsNrOpen,omitempty"` - - // KernelThreadsMax: Sysctl setting kernel.threads-max. - KernelThreadsMax *int `json:"kernelThreadsMax,omitempty"` - - // NetCoreNetdevMaxBacklog: Sysctl setting net.core.netdev_max_backlog. - NetCoreNetdevMaxBacklog *int `json:"netCoreNetdevMaxBacklog,omitempty"` - - // NetCoreOptmemMax: Sysctl setting net.core.optmem_max. - NetCoreOptmemMax *int `json:"netCoreOptmemMax,omitempty"` - - // NetCoreRmemDefault: Sysctl setting net.core.rmem_default. - NetCoreRmemDefault *int `json:"netCoreRmemDefault,omitempty"` - - // NetCoreRmemMax: Sysctl setting net.core.rmem_max. - NetCoreRmemMax *int `json:"netCoreRmemMax,omitempty"` - - // NetCoreSomaxconn: Sysctl setting net.core.somaxconn. - NetCoreSomaxconn *int `json:"netCoreSomaxconn,omitempty"` - - // NetCoreWmemDefault: Sysctl setting net.core.wmem_default. - NetCoreWmemDefault *int `json:"netCoreWmemDefault,omitempty"` - - // NetCoreWmemMax: Sysctl setting net.core.wmem_max. - NetCoreWmemMax *int `json:"netCoreWmemMax,omitempty"` - - // NetIpv4IpLocalPortRange: Sysctl setting net.ipv4.ip_local_port_range. - NetIpv4IpLocalPortRange *string `json:"netIpv4IpLocalPortRange,omitempty"` - - // NetIpv4NeighDefaultGcThresh1: Sysctl setting net.ipv4.neigh.default.gc_thresh1. - NetIpv4NeighDefaultGcThresh1 *int `json:"netIpv4NeighDefaultGcThresh1,omitempty"` - - // NetIpv4NeighDefaultGcThresh2: Sysctl setting net.ipv4.neigh.default.gc_thresh2. - NetIpv4NeighDefaultGcThresh2 *int `json:"netIpv4NeighDefaultGcThresh2,omitempty"` - - // NetIpv4NeighDefaultGcThresh3: Sysctl setting net.ipv4.neigh.default.gc_thresh3. - NetIpv4NeighDefaultGcThresh3 *int `json:"netIpv4NeighDefaultGcThresh3,omitempty"` - - // NetIpv4TcpFinTimeout: Sysctl setting net.ipv4.tcp_fin_timeout. - NetIpv4TcpFinTimeout *int `json:"netIpv4TcpFinTimeout,omitempty"` - - // NetIpv4TcpKeepaliveProbes: Sysctl setting net.ipv4.tcp_keepalive_probes. - NetIpv4TcpKeepaliveProbes *int `json:"netIpv4TcpKeepaliveProbes,omitempty"` - - // NetIpv4TcpKeepaliveTime: Sysctl setting net.ipv4.tcp_keepalive_time. - NetIpv4TcpKeepaliveTime *int `json:"netIpv4TcpKeepaliveTime,omitempty"` - - // NetIpv4TcpMaxSynBacklog: Sysctl setting net.ipv4.tcp_max_syn_backlog. - NetIpv4TcpMaxSynBacklog *int `json:"netIpv4TcpMaxSynBacklog,omitempty"` - - // NetIpv4TcpMaxTwBuckets: Sysctl setting net.ipv4.tcp_max_tw_buckets. - NetIpv4TcpMaxTwBuckets *int `json:"netIpv4TcpMaxTwBuckets,omitempty"` - - // NetIpv4TcpTwReuse: Sysctl setting net.ipv4.tcp_tw_reuse. - NetIpv4TcpTwReuse *bool `json:"netIpv4TcpTwReuse,omitempty"` - - // NetIpv4TcpkeepaliveIntvl: Sysctl setting net.ipv4.tcp_keepalive_intvl. - NetIpv4TcpkeepaliveIntvl *int `json:"netIpv4TcpkeepaliveIntvl,omitempty"` - - // NetNetfilterNfConntrackBuckets: Sysctl setting net.netfilter.nf_conntrack_buckets. - NetNetfilterNfConntrackBuckets *int `json:"netNetfilterNfConntrackBuckets,omitempty"` - - // NetNetfilterNfConntrackMax: Sysctl setting net.netfilter.nf_conntrack_max. - NetNetfilterNfConntrackMax *int `json:"netNetfilterNfConntrackMax,omitempty"` - - // VmMaxMapCount: Sysctl setting vm.max_map_count. - VmMaxMapCount *int `json:"vmMaxMapCount,omitempty"` - - // VmSwappiness: Sysctl setting vm.swappiness. - VmSwappiness *int `json:"vmSwappiness,omitempty"` - - // VmVfsCachePressure: Sysctl setting vm.vfs_cache_pressure. - VmVfsCachePressure *int `json:"vmVfsCachePressure,omitempty"` + FsAioMaxNr *int `json:"fsAioMaxNr,omitempty"` + FsFileMax *int `json:"fsFileMax,omitempty"` + FsInotifyMaxUserWatches *int `json:"fsInotifyMaxUserWatches,omitempty"` + FsNrOpen *int `json:"fsNrOpen,omitempty"` + KernelThreadsMax *int `json:"kernelThreadsMax,omitempty"` + NetCoreNetdevMaxBacklog *int `json:"netCoreNetdevMaxBacklog,omitempty"` + NetCoreOptmemMax *int `json:"netCoreOptmemMax,omitempty"` + NetCoreRmemDefault *int `json:"netCoreRmemDefault,omitempty"` + NetCoreRmemMax *int `json:"netCoreRmemMax,omitempty"` + NetCoreSomaxconn *int `json:"netCoreSomaxconn,omitempty"` + NetCoreWmemDefault *int `json:"netCoreWmemDefault,omitempty"` + NetCoreWmemMax *int `json:"netCoreWmemMax,omitempty"` + NetIpv4IpLocalPortRange *string `json:"netIpv4IpLocalPortRange,omitempty"` + NetIpv4NeighDefaultGcThresh1 *int `json:"netIpv4NeighDefaultGcThresh1,omitempty"` + NetIpv4NeighDefaultGcThresh2 *int `json:"netIpv4NeighDefaultGcThresh2,omitempty"` + NetIpv4NeighDefaultGcThresh3 *int `json:"netIpv4NeighDefaultGcThresh3,omitempty"` + NetIpv4TcpFinTimeout *int `json:"netIpv4TcpFinTimeout,omitempty"` + NetIpv4TcpKeepaliveProbes *int `json:"netIpv4TcpKeepaliveProbes,omitempty"` + NetIpv4TcpKeepaliveTime *int `json:"netIpv4TcpKeepaliveTime,omitempty"` + NetIpv4TcpMaxSynBacklog *int `json:"netIpv4TcpMaxSynBacklog,omitempty"` + NetIpv4TcpMaxTwBuckets *int `json:"netIpv4TcpMaxTwBuckets,omitempty"` + NetIpv4TcpTwReuse *bool `json:"netIpv4TcpTwReuse,omitempty"` + NetIpv4TcpkeepaliveIntvl *int `json:"netIpv4TcpkeepaliveIntvl,omitempty"` + NetNetfilterNfConntrackBuckets *int `json:"netNetfilterNfConntrackBuckets,omitempty"` + NetNetfilterNfConntrackMax *int `json:"netNetfilterNfConntrackMax,omitempty"` + VmMaxMapCount *int `json:"vmMaxMapCount,omitempty"` + VmSwappiness *int `json:"vmSwappiness,omitempty"` + VmVfsCachePressure *int `json:"vmVfsCachePressure,omitempty"` } var _ genruntime.ARMTransformer = &SysctlConfig{} @@ -5302,91 +5117,35 @@ func (config *SysctlConfig) AssignProperties_To_SysctlConfig(destination *storag return nil } -// Sysctl settings for Linux agent nodes. type SysctlConfig_STATUS struct { - // FsAioMaxNr: Sysctl setting fs.aio-max-nr. - FsAioMaxNr *int `json:"fsAioMaxNr,omitempty"` - - // FsFileMax: Sysctl setting fs.file-max. - FsFileMax *int `json:"fsFileMax,omitempty"` - - // FsInotifyMaxUserWatches: Sysctl setting fs.inotify.max_user_watches. - FsInotifyMaxUserWatches *int `json:"fsInotifyMaxUserWatches,omitempty"` - - // FsNrOpen: Sysctl setting fs.nr_open. - FsNrOpen *int `json:"fsNrOpen,omitempty"` - - // KernelThreadsMax: Sysctl setting kernel.threads-max. - KernelThreadsMax *int `json:"kernelThreadsMax,omitempty"` - - // NetCoreNetdevMaxBacklog: Sysctl setting net.core.netdev_max_backlog. - NetCoreNetdevMaxBacklog *int `json:"netCoreNetdevMaxBacklog,omitempty"` - - // NetCoreOptmemMax: Sysctl setting net.core.optmem_max. - NetCoreOptmemMax *int `json:"netCoreOptmemMax,omitempty"` - - // NetCoreRmemDefault: Sysctl setting net.core.rmem_default. - NetCoreRmemDefault *int `json:"netCoreRmemDefault,omitempty"` - - // NetCoreRmemMax: Sysctl setting net.core.rmem_max. - NetCoreRmemMax *int `json:"netCoreRmemMax,omitempty"` - - // NetCoreSomaxconn: Sysctl setting net.core.somaxconn. - NetCoreSomaxconn *int `json:"netCoreSomaxconn,omitempty"` - - // NetCoreWmemDefault: Sysctl setting net.core.wmem_default. - NetCoreWmemDefault *int `json:"netCoreWmemDefault,omitempty"` - - // NetCoreWmemMax: Sysctl setting net.core.wmem_max. - NetCoreWmemMax *int `json:"netCoreWmemMax,omitempty"` - - // NetIpv4IpLocalPortRange: Sysctl setting net.ipv4.ip_local_port_range. - NetIpv4IpLocalPortRange *string `json:"netIpv4IpLocalPortRange,omitempty"` - - // NetIpv4NeighDefaultGcThresh1: Sysctl setting net.ipv4.neigh.default.gc_thresh1. - NetIpv4NeighDefaultGcThresh1 *int `json:"netIpv4NeighDefaultGcThresh1,omitempty"` - - // NetIpv4NeighDefaultGcThresh2: Sysctl setting net.ipv4.neigh.default.gc_thresh2. - NetIpv4NeighDefaultGcThresh2 *int `json:"netIpv4NeighDefaultGcThresh2,omitempty"` - - // NetIpv4NeighDefaultGcThresh3: Sysctl setting net.ipv4.neigh.default.gc_thresh3. - NetIpv4NeighDefaultGcThresh3 *int `json:"netIpv4NeighDefaultGcThresh3,omitempty"` - - // NetIpv4TcpFinTimeout: Sysctl setting net.ipv4.tcp_fin_timeout. - NetIpv4TcpFinTimeout *int `json:"netIpv4TcpFinTimeout,omitempty"` - - // NetIpv4TcpKeepaliveProbes: Sysctl setting net.ipv4.tcp_keepalive_probes. - NetIpv4TcpKeepaliveProbes *int `json:"netIpv4TcpKeepaliveProbes,omitempty"` - - // NetIpv4TcpKeepaliveTime: Sysctl setting net.ipv4.tcp_keepalive_time. - NetIpv4TcpKeepaliveTime *int `json:"netIpv4TcpKeepaliveTime,omitempty"` - - // NetIpv4TcpMaxSynBacklog: Sysctl setting net.ipv4.tcp_max_syn_backlog. - NetIpv4TcpMaxSynBacklog *int `json:"netIpv4TcpMaxSynBacklog,omitempty"` - - // NetIpv4TcpMaxTwBuckets: Sysctl setting net.ipv4.tcp_max_tw_buckets. - NetIpv4TcpMaxTwBuckets *int `json:"netIpv4TcpMaxTwBuckets,omitempty"` - - // NetIpv4TcpTwReuse: Sysctl setting net.ipv4.tcp_tw_reuse. - NetIpv4TcpTwReuse *bool `json:"netIpv4TcpTwReuse,omitempty"` - - // NetIpv4TcpkeepaliveIntvl: Sysctl setting net.ipv4.tcp_keepalive_intvl. - NetIpv4TcpkeepaliveIntvl *int `json:"netIpv4TcpkeepaliveIntvl,omitempty"` - - // NetNetfilterNfConntrackBuckets: Sysctl setting net.netfilter.nf_conntrack_buckets. - NetNetfilterNfConntrackBuckets *int `json:"netNetfilterNfConntrackBuckets,omitempty"` - - // NetNetfilterNfConntrackMax: Sysctl setting net.netfilter.nf_conntrack_max. - NetNetfilterNfConntrackMax *int `json:"netNetfilterNfConntrackMax,omitempty"` - - // VmMaxMapCount: Sysctl setting vm.max_map_count. - VmMaxMapCount *int `json:"vmMaxMapCount,omitempty"` - - // VmSwappiness: Sysctl setting vm.swappiness. - VmSwappiness *int `json:"vmSwappiness,omitempty"` - - // VmVfsCachePressure: Sysctl setting vm.vfs_cache_pressure. - VmVfsCachePressure *int `json:"vmVfsCachePressure,omitempty"` + FsAioMaxNr *int `json:"fsAioMaxNr,omitempty"` + FsFileMax *int `json:"fsFileMax,omitempty"` + FsInotifyMaxUserWatches *int `json:"fsInotifyMaxUserWatches,omitempty"` + FsNrOpen *int `json:"fsNrOpen,omitempty"` + KernelThreadsMax *int `json:"kernelThreadsMax,omitempty"` + NetCoreNetdevMaxBacklog *int `json:"netCoreNetdevMaxBacklog,omitempty"` + NetCoreOptmemMax *int `json:"netCoreOptmemMax,omitempty"` + NetCoreRmemDefault *int `json:"netCoreRmemDefault,omitempty"` + NetCoreRmemMax *int `json:"netCoreRmemMax,omitempty"` + NetCoreSomaxconn *int `json:"netCoreSomaxconn,omitempty"` + NetCoreWmemDefault *int `json:"netCoreWmemDefault,omitempty"` + NetCoreWmemMax *int `json:"netCoreWmemMax,omitempty"` + NetIpv4IpLocalPortRange *string `json:"netIpv4IpLocalPortRange,omitempty"` + NetIpv4NeighDefaultGcThresh1 *int `json:"netIpv4NeighDefaultGcThresh1,omitempty"` + NetIpv4NeighDefaultGcThresh2 *int `json:"netIpv4NeighDefaultGcThresh2,omitempty"` + NetIpv4NeighDefaultGcThresh3 *int `json:"netIpv4NeighDefaultGcThresh3,omitempty"` + NetIpv4TcpFinTimeout *int `json:"netIpv4TcpFinTimeout,omitempty"` + NetIpv4TcpKeepaliveProbes *int `json:"netIpv4TcpKeepaliveProbes,omitempty"` + NetIpv4TcpKeepaliveTime *int `json:"netIpv4TcpKeepaliveTime,omitempty"` + NetIpv4TcpMaxSynBacklog *int `json:"netIpv4TcpMaxSynBacklog,omitempty"` + NetIpv4TcpMaxTwBuckets *int `json:"netIpv4TcpMaxTwBuckets,omitempty"` + NetIpv4TcpTwReuse *bool `json:"netIpv4TcpTwReuse,omitempty"` + NetIpv4TcpkeepaliveIntvl *int `json:"netIpv4TcpkeepaliveIntvl,omitempty"` + NetNetfilterNfConntrackBuckets *int `json:"netNetfilterNfConntrackBuckets,omitempty"` + NetNetfilterNfConntrackMax *int `json:"netNetfilterNfConntrackMax,omitempty"` + VmMaxMapCount *int `json:"vmMaxMapCount,omitempty"` + VmSwappiness *int `json:"vmSwappiness,omitempty"` + VmVfsCachePressure *int `json:"vmVfsCachePressure,omitempty"` } var _ genruntime.FromARMConverter = &SysctlConfig_STATUS{} diff --git a/v2/api/containerservice/v1api20230201/managed_clusters_agent_pool_types_gen_test.go b/v2/api/containerservice/v1api20230201/managed_clusters_agent_pool_types_gen_test.go index 4154507a5ad..6c37d39f5f9 100644 --- a/v2/api/containerservice/v1api20230201/managed_clusters_agent_pool_types_gen_test.go +++ b/v2/api/containerservice/v1api20230201/managed_clusters_agent_pool_types_gen_test.go @@ -6,7 +6,7 @@ package v1api20230201 import ( "encoding/json" v20230201s "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20230201/storage" - v20231001s "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20231001/storage" + v20240901s "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20240901/storage" "github.com/google/go-cmp/cmp" "github.com/google/go-cmp/cmp/cmpopts" "github.com/kr/pretty" @@ -904,7 +904,7 @@ func RunResourceConversionTestForManagedClustersAgentPool(subject ManagedCluster copied := subject.DeepCopy() // Convert to our hub version - var hub v20231001s.ManagedClustersAgentPool + var hub v20240901s.ManagedClustersAgentPool err := copied.ConvertTo(&hub) if err != nil { return err.Error() diff --git a/v2/api/containerservice/v1api20230201/storage/managed_cluster_types_gen.go b/v2/api/containerservice/v1api20230201/storage/managed_cluster_types_gen.go index 07bcf372387..5d938982f53 100644 --- a/v2/api/containerservice/v1api20230201/storage/managed_cluster_types_gen.go +++ b/v2/api/containerservice/v1api20230201/storage/managed_cluster_types_gen.go @@ -5,7 +5,6 @@ package storage import ( "context" - "fmt" storage "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20231001/storage" "github.com/Azure/azure-service-operator/v2/internal/genericarmclient" "github.com/Azure/azure-service-operator/v2/pkg/genruntime" @@ -26,9 +25,6 @@ import ( // +kubebuilder:printcolumn:name="Reason",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].reason" // +kubebuilder:printcolumn:name="Message",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].message" // Storage version of v1api20230201.ManagedCluster -// Generator information: -// - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-02-01/managedClusters.json -// - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName} type ManagedCluster struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` @@ -52,22 +48,36 @@ var _ conversion.Convertible = &ManagedCluster{} // ConvertFrom populates our ManagedCluster from the provided hub ManagedCluster func (cluster *ManagedCluster) ConvertFrom(hub conversion.Hub) error { - source, ok := hub.(*storage.ManagedCluster) - if !ok { - return fmt.Errorf("expected containerservice/v1api20231001/storage/ManagedCluster but received %T instead", hub) + // intermediate variable for conversion + var source storage.ManagedCluster + + err := source.ConvertFrom(hub) + if err != nil { + return errors.Wrap(err, "converting from hub to source") + } + + err = cluster.AssignProperties_From_ManagedCluster(&source) + if err != nil { + return errors.Wrap(err, "converting from source to cluster") } - return cluster.AssignProperties_From_ManagedCluster(source) + return nil } // ConvertTo populates the provided hub ManagedCluster from our ManagedCluster func (cluster *ManagedCluster) ConvertTo(hub conversion.Hub) error { - destination, ok := hub.(*storage.ManagedCluster) - if !ok { - return fmt.Errorf("expected containerservice/v1api20231001/storage/ManagedCluster but received %T instead", hub) + // intermediate variable for conversion + var destination storage.ManagedCluster + err := cluster.AssignProperties_To_ManagedCluster(&destination) + if err != nil { + return errors.Wrap(err, "converting to destination from cluster") + } + err = destination.ConvertTo(hub) + if err != nil { + return errors.Wrap(err, "converting from destination to hub") } - return cluster.AssignProperties_To_ManagedCluster(destination) + return nil } var _ genruntime.KubernetesConfigExporter = &ManagedCluster{} @@ -248,9 +258,6 @@ func (cluster *ManagedCluster) OriginalGVK() *schema.GroupVersionKind { // +kubebuilder:object:root=true // Storage version of v1api20230201.ManagedCluster -// Generator information: -// - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-02-01/managedClusters.json -// - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName} type ManagedClusterList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` @@ -280,11 +287,8 @@ type ManagedCluster_Spec struct { // AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it // doesn't have to be. - AzureName string `json:"azureName,omitempty"` - DisableLocalAccounts *bool `json:"disableLocalAccounts,omitempty"` - - // DiskEncryptionSetReference: This is of the form: - // '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}' + AzureName string `json:"azureName,omitempty"` + DisableLocalAccounts *bool `json:"disableLocalAccounts,omitempty"` DiskEncryptionSetReference *genruntime.ResourceReference `armReference:"DiskEncryptionSetID" json:"diskEncryptionSetReference,omitempty"` DnsPrefix *string `json:"dnsPrefix,omitempty"` EnablePodSecurityPolicy *bool `json:"enablePodSecurityPolicy,omitempty"` @@ -1216,7 +1220,6 @@ func (cluster *ManagedCluster_Spec) AssignProperties_To_ManagedCluster_Spec(dest } // Storage version of v1api20230201.ManagedCluster_STATUS -// Managed cluster. type ManagedCluster_STATUS struct { AadProfile *ManagedClusterAADProfile_STATUS `json:"aadProfile,omitempty"` AddonProfiles map[string]ManagedClusterAddonProfile_STATUS `json:"addonProfiles,omitempty"` @@ -2237,7 +2240,6 @@ type augmentConversionForManagedCluster_STATUS interface { } // Storage version of v1api20230201.ContainerServiceLinuxProfile -// Profile for Linux VMs in the container service cluster. type ContainerServiceLinuxProfile struct { AdminUsername *string `json:"adminUsername,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` @@ -2325,7 +2327,6 @@ func (profile *ContainerServiceLinuxProfile) AssignProperties_To_ContainerServic } // Storage version of v1api20230201.ContainerServiceLinuxProfile_STATUS -// Profile for Linux VMs in the container service cluster. type ContainerServiceLinuxProfile_STATUS struct { AdminUsername *string `json:"adminUsername,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` @@ -2413,7 +2414,6 @@ func (profile *ContainerServiceLinuxProfile_STATUS) AssignProperties_To_Containe } // Storage version of v1api20230201.ContainerServiceNetworkProfile -// Profile of network configuration. type ContainerServiceNetworkProfile struct { DnsServiceIP *string `json:"dnsServiceIP,omitempty"` DockerBridgeCidr *string `json:"dockerBridgeCidr,omitempty"` @@ -2631,7 +2631,6 @@ func (profile *ContainerServiceNetworkProfile) AssignProperties_To_ContainerServ } // Storage version of v1api20230201.ContainerServiceNetworkProfile_STATUS -// Profile of network configuration. type ContainerServiceNetworkProfile_STATUS struct { DnsServiceIP *string `json:"dnsServiceIP,omitempty"` DockerBridgeCidr *string `json:"dockerBridgeCidr,omitempty"` @@ -2849,7 +2848,6 @@ func (profile *ContainerServiceNetworkProfile_STATUS) AssignProperties_To_Contai } // Storage version of v1api20230201.ExtendedLocation -// The complex type of the extended location. type ExtendedLocation struct { Name *string `json:"name,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` @@ -2919,7 +2917,6 @@ func (location *ExtendedLocation) AssignProperties_To_ExtendedLocation(destinati } // Storage version of v1api20230201.ExtendedLocation_STATUS -// The complex type of the extended location. type ExtendedLocation_STATUS struct { Name *string `json:"name,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` @@ -2989,7 +2986,6 @@ func (location *ExtendedLocation_STATUS) AssignProperties_To_ExtendedLocation_ST } // Storage version of v1api20230201.ManagedClusterAADProfile -// For more details see [managed AAD on AKS](https://docs.microsoft.com/azure/aks/managed-aad). type ManagedClusterAADProfile struct { AdminGroupObjectIDs []string `json:"adminGroupObjectIDs,omitempty"` ClientAppID *string `json:"clientAppID,omitempty"` @@ -3114,7 +3110,6 @@ func (profile *ManagedClusterAADProfile) AssignProperties_To_ManagedClusterAADPr } // Storage version of v1api20230201.ManagedClusterAADProfile_STATUS -// For more details see [managed AAD on AKS](https://docs.microsoft.com/azure/aks/managed-aad). type ManagedClusterAADProfile_STATUS struct { AdminGroupObjectIDs []string `json:"adminGroupObjectIDs,omitempty"` ClientAppID *string `json:"clientAppID,omitempty"` @@ -3239,7 +3234,6 @@ func (profile *ManagedClusterAADProfile_STATUS) AssignProperties_To_ManagedClust } // Storage version of v1api20230201.ManagedClusterAddonProfile -// A Kubernetes add-on profile for a managed cluster. type ManagedClusterAddonProfile struct { Config map[string]string `json:"config,omitempty"` Enabled *bool `json:"enabled,omitempty"` @@ -3319,7 +3313,6 @@ func (profile *ManagedClusterAddonProfile) AssignProperties_To_ManagedClusterAdd } // Storage version of v1api20230201.ManagedClusterAddonProfile_STATUS -// A Kubernetes add-on profile for a managed cluster. type ManagedClusterAddonProfile_STATUS struct { Config map[string]string `json:"config,omitempty"` Enabled *bool `json:"enabled,omitempty"` @@ -3424,50 +3417,36 @@ func (profile *ManagedClusterAddonProfile_STATUS) AssignProperties_To_ManagedClu } // Storage version of v1api20230201.ManagedClusterAgentPoolProfile -// Profile for the container service agent pool. type ManagedClusterAgentPoolProfile struct { - AvailabilityZones []string `json:"availabilityZones,omitempty"` - Count *int `json:"count,omitempty"` - CreationData *CreationData `json:"creationData,omitempty"` - EnableAutoScaling *bool `json:"enableAutoScaling,omitempty"` - EnableEncryptionAtHost *bool `json:"enableEncryptionAtHost,omitempty"` - EnableFIPS *bool `json:"enableFIPS,omitempty"` - EnableNodePublicIP *bool `json:"enableNodePublicIP,omitempty"` - EnableUltraSSD *bool `json:"enableUltraSSD,omitempty"` - GpuInstanceProfile *string `json:"gpuInstanceProfile,omitempty"` - - // HostGroupReference: This is of the form: - // /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. - // For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). - HostGroupReference *genruntime.ResourceReference `armReference:"HostGroupID" json:"hostGroupReference,omitempty"` - KubeletConfig *KubeletConfig `json:"kubeletConfig,omitempty"` - KubeletDiskType *string `json:"kubeletDiskType,omitempty"` - LinuxOSConfig *LinuxOSConfig `json:"linuxOSConfig,omitempty"` - MaxCount *int `json:"maxCount,omitempty"` - MaxPods *int `json:"maxPods,omitempty"` - MinCount *int `json:"minCount,omitempty"` - Mode *string `json:"mode,omitempty"` - Name *string `json:"name,omitempty"` - NodeLabels map[string]string `json:"nodeLabels,omitempty" serializationType:"explicitEmptyCollection"` - - // NodePublicIPPrefixReference: This is of the form: - // /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} - NodePublicIPPrefixReference *genruntime.ResourceReference `armReference:"NodePublicIPPrefixID" json:"nodePublicIPPrefixReference,omitempty"` - NodeTaints []string `json:"nodeTaints,omitempty" serializationType:"explicitEmptyCollection"` - OrchestratorVersion *string `json:"orchestratorVersion,omitempty"` - OsDiskSizeGB *int `json:"osDiskSizeGB,omitempty"` - OsDiskType *string `json:"osDiskType,omitempty"` - OsSKU *string `json:"osSKU,omitempty"` - OsType *string `json:"osType,omitempty"` - - // PodSubnetReference: If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). - // This is of the form: - // /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} - PodSubnetReference *genruntime.ResourceReference `armReference:"PodSubnetID" json:"podSubnetReference,omitempty"` - PowerState *PowerState `json:"powerState,omitempty"` - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` - - // ProximityPlacementGroupReference: The ID for Proximity Placement Group. + AvailabilityZones []string `json:"availabilityZones,omitempty"` + Count *int `json:"count,omitempty"` + CreationData *CreationData `json:"creationData,omitempty"` + EnableAutoScaling *bool `json:"enableAutoScaling,omitempty"` + EnableEncryptionAtHost *bool `json:"enableEncryptionAtHost,omitempty"` + EnableFIPS *bool `json:"enableFIPS,omitempty"` + EnableNodePublicIP *bool `json:"enableNodePublicIP,omitempty"` + EnableUltraSSD *bool `json:"enableUltraSSD,omitempty"` + GpuInstanceProfile *string `json:"gpuInstanceProfile,omitempty"` + HostGroupReference *genruntime.ResourceReference `armReference:"HostGroupID" json:"hostGroupReference,omitempty"` + KubeletConfig *KubeletConfig `json:"kubeletConfig,omitempty"` + KubeletDiskType *string `json:"kubeletDiskType,omitempty"` + LinuxOSConfig *LinuxOSConfig `json:"linuxOSConfig,omitempty"` + MaxCount *int `json:"maxCount,omitempty"` + MaxPods *int `json:"maxPods,omitempty"` + MinCount *int `json:"minCount,omitempty"` + Mode *string `json:"mode,omitempty"` + Name *string `json:"name,omitempty"` + NodeLabels map[string]string `json:"nodeLabels,omitempty" serializationType:"explicitEmptyCollection"` + NodePublicIPPrefixReference *genruntime.ResourceReference `armReference:"NodePublicIPPrefixID" json:"nodePublicIPPrefixReference,omitempty"` + NodeTaints []string `json:"nodeTaints,omitempty" serializationType:"explicitEmptyCollection"` + OrchestratorVersion *string `json:"orchestratorVersion,omitempty"` + OsDiskSizeGB *int `json:"osDiskSizeGB,omitempty"` + OsDiskType *string `json:"osDiskType,omitempty"` + OsSKU *string `json:"osSKU,omitempty"` + OsType *string `json:"osType,omitempty"` + PodSubnetReference *genruntime.ResourceReference `armReference:"PodSubnetID" json:"podSubnetReference,omitempty"` + PowerState *PowerState `json:"powerState,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` ProximityPlacementGroupReference *genruntime.ResourceReference `armReference:"ProximityPlacementGroupID" json:"proximityPlacementGroupReference,omitempty"` ScaleDownMode *string `json:"scaleDownMode,omitempty"` ScaleSetEvictionPolicy *string `json:"scaleSetEvictionPolicy,omitempty"` @@ -3477,12 +3456,8 @@ type ManagedClusterAgentPoolProfile struct { Type *string `json:"type,omitempty"` UpgradeSettings *AgentPoolUpgradeSettings `json:"upgradeSettings,omitempty"` VmSize *string `json:"vmSize,omitempty"` - - // VnetSubnetReference: If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is - // specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: - // /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} - VnetSubnetReference *genruntime.ResourceReference `armReference:"VnetSubnetID" json:"vnetSubnetReference,omitempty"` - WorkloadRuntime *string `json:"workloadRuntime,omitempty"` + VnetSubnetReference *genruntime.ResourceReference `armReference:"VnetSubnetID" json:"vnetSubnetReference,omitempty"` + WorkloadRuntime *string `json:"workloadRuntime,omitempty"` } // AssignProperties_From_ManagedClusterAgentPoolProfile populates our ManagedClusterAgentPoolProfile from the provided source ManagedClusterAgentPoolProfile @@ -4010,7 +3985,6 @@ func (profile *ManagedClusterAgentPoolProfile) AssignProperties_To_ManagedCluste } // Storage version of v1api20230201.ManagedClusterAgentPoolProfile_STATUS -// Profile for the container service agent pool. type ManagedClusterAgentPoolProfile_STATUS struct { AvailabilityZones []string `json:"availabilityZones,omitempty"` Count *int `json:"count,omitempty"` @@ -4550,7 +4524,6 @@ func (profile *ManagedClusterAgentPoolProfile_STATUS) AssignProperties_To_Manage } // Storage version of v1api20230201.ManagedClusterAPIServerAccessProfile -// Access profile for managed cluster API server. type ManagedClusterAPIServerAccessProfile struct { AuthorizedIPRanges []string `json:"authorizedIPRanges,omitempty"` DisableRunCommand *bool `json:"disableRunCommand,omitempty"` @@ -4671,7 +4644,6 @@ func (profile *ManagedClusterAPIServerAccessProfile) AssignProperties_To_Managed } // Storage version of v1api20230201.ManagedClusterAPIServerAccessProfile_STATUS -// Access profile for managed cluster API server. type ManagedClusterAPIServerAccessProfile_STATUS struct { AuthorizedIPRanges []string `json:"authorizedIPRanges,omitempty"` DisableRunCommand *bool `json:"disableRunCommand,omitempty"` @@ -4792,7 +4764,6 @@ func (profile *ManagedClusterAPIServerAccessProfile_STATUS) AssignProperties_To_ } // Storage version of v1api20230201.ManagedClusterAutoUpgradeProfile -// Auto upgrade profile for a managed cluster. type ManagedClusterAutoUpgradeProfile struct { PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` UpgradeChannel *string `json:"upgradeChannel,omitempty"` @@ -4875,7 +4846,6 @@ func (profile *ManagedClusterAutoUpgradeProfile) AssignProperties_To_ManagedClus } // Storage version of v1api20230201.ManagedClusterAutoUpgradeProfile_STATUS -// Auto upgrade profile for a managed cluster. type ManagedClusterAutoUpgradeProfile_STATUS struct { PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` UpgradeChannel *string `json:"upgradeChannel,omitempty"` @@ -4958,7 +4928,6 @@ func (profile *ManagedClusterAutoUpgradeProfile_STATUS) AssignProperties_To_Mana } // Storage version of v1api20230201.ManagedClusterAzureMonitorProfile -// Azure Monitor addon profiles for monitoring the managed cluster. type ManagedClusterAzureMonitorProfile struct { Metrics *ManagedClusterAzureMonitorProfileMetrics `json:"metrics,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` @@ -5039,7 +5008,6 @@ func (profile *ManagedClusterAzureMonitorProfile) AssignProperties_To_ManagedClu } // Storage version of v1api20230201.ManagedClusterAzureMonitorProfile_STATUS -// Azure Monitor addon profiles for monitoring the managed cluster. type ManagedClusterAzureMonitorProfile_STATUS struct { Metrics *ManagedClusterAzureMonitorProfileMetrics_STATUS `json:"metrics,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` @@ -5120,7 +5088,6 @@ func (profile *ManagedClusterAzureMonitorProfile_STATUS) AssignProperties_To_Man } // Storage version of v1api20230201.ManagedClusterHTTPProxyConfig -// Cluster HTTP proxy configuration. type ManagedClusterHTTPProxyConfig struct { HttpProxy *string `json:"httpProxy,omitempty"` HttpsProxy *string `json:"httpsProxy,omitempty"` @@ -5204,7 +5171,6 @@ func (config *ManagedClusterHTTPProxyConfig) AssignProperties_To_ManagedClusterH } // Storage version of v1api20230201.ManagedClusterHTTPProxyConfig_STATUS -// Cluster HTTP proxy configuration. type ManagedClusterHTTPProxyConfig_STATUS struct { HttpProxy *string `json:"httpProxy,omitempty"` HttpsProxy *string `json:"httpsProxy,omitempty"` @@ -5288,7 +5254,6 @@ func (config *ManagedClusterHTTPProxyConfig_STATUS) AssignProperties_To_ManagedC } // Storage version of v1api20230201.ManagedClusterIdentity -// Identity for the managed cluster. type ManagedClusterIdentity struct { PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` Type *string `json:"type,omitempty"` @@ -5408,7 +5373,6 @@ func (identity *ManagedClusterIdentity) AssignProperties_To_ManagedClusterIdenti } // Storage version of v1api20230201.ManagedClusterIdentity_STATUS -// Identity for the managed cluster. type ManagedClusterIdentity_STATUS struct { PrincipalId *string `json:"principalId,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` @@ -5542,7 +5506,6 @@ func (identity *ManagedClusterIdentity_STATUS) AssignProperties_To_ManagedCluste } // Storage version of v1api20230201.ManagedClusterOIDCIssuerProfile -// The OIDC issuer profile of the Managed Cluster. type ManagedClusterOIDCIssuerProfile struct { Enabled *bool `json:"enabled,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` @@ -5615,7 +5578,6 @@ func (profile *ManagedClusterOIDCIssuerProfile) AssignProperties_To_ManagedClust } // Storage version of v1api20230201.ManagedClusterOIDCIssuerProfile_STATUS -// The OIDC issuer profile of the Managed Cluster. type ManagedClusterOIDCIssuerProfile_STATUS struct { Enabled *bool `json:"enabled,omitempty"` IssuerURL *string `json:"issuerURL,omitempty"` @@ -5801,8 +5763,6 @@ func (operator *ManagedClusterOperatorSpec) AssignProperties_To_ManagedClusterOp } // Storage version of v1api20230201.ManagedClusterPodIdentityProfile -// See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on pod -// identity integration. type ManagedClusterPodIdentityProfile struct { AllowNetworkPluginKubenet *bool `json:"allowNetworkPluginKubenet,omitempty"` Enabled *bool `json:"enabled,omitempty"` @@ -5966,8 +5926,6 @@ func (profile *ManagedClusterPodIdentityProfile) AssignProperties_To_ManagedClus } // Storage version of v1api20230201.ManagedClusterPodIdentityProfile_STATUS -// See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on pod -// identity integration. type ManagedClusterPodIdentityProfile_STATUS struct { AllowNetworkPluginKubenet *bool `json:"allowNetworkPluginKubenet,omitempty"` Enabled *bool `json:"enabled,omitempty"` @@ -6479,7 +6437,6 @@ func (profile *ManagedClusterProperties_AutoScalerProfile_STATUS) AssignProperti } // Storage version of v1api20230201.ManagedClusterSecurityProfile -// Security profile for the container service cluster. type ManagedClusterSecurityProfile struct { AzureKeyVaultKms *AzureKeyVaultKms `json:"azureKeyVaultKms,omitempty"` Defender *ManagedClusterSecurityProfileDefender `json:"defender,omitempty"` @@ -6635,7 +6592,6 @@ func (profile *ManagedClusterSecurityProfile) AssignProperties_To_ManagedCluster } // Storage version of v1api20230201.ManagedClusterSecurityProfile_STATUS -// Security profile for the container service cluster. type ManagedClusterSecurityProfile_STATUS struct { AzureKeyVaultKms *AzureKeyVaultKms_STATUS `json:"azureKeyVaultKms,omitempty"` Defender *ManagedClusterSecurityProfileDefender_STATUS `json:"defender,omitempty"` @@ -6791,7 +6747,6 @@ func (profile *ManagedClusterSecurityProfile_STATUS) AssignProperties_To_Managed } // Storage version of v1api20230201.ManagedClusterServicePrincipalProfile -// Information about a service principal identity for the cluster to use for manipulating Azure APIs. type ManagedClusterServicePrincipalProfile struct { ClientId *string `json:"clientId,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` @@ -6871,7 +6826,6 @@ func (profile *ManagedClusterServicePrincipalProfile) AssignProperties_To_Manage } // Storage version of v1api20230201.ManagedClusterServicePrincipalProfile_STATUS -// Information about a service principal identity for the cluster to use for manipulating Azure APIs. type ManagedClusterServicePrincipalProfile_STATUS struct { ClientId *string `json:"clientId,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` @@ -6934,7 +6888,6 @@ func (profile *ManagedClusterServicePrincipalProfile_STATUS) AssignProperties_To } // Storage version of v1api20230201.ManagedClusterSKU -// The SKU of a Managed Cluster. type ManagedClusterSKU struct { Name *string `json:"name,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` @@ -7004,7 +6957,6 @@ func (clusterSKU *ManagedClusterSKU) AssignProperties_To_ManagedClusterSKU(desti } // Storage version of v1api20230201.ManagedClusterSKU_STATUS -// The SKU of a Managed Cluster. type ManagedClusterSKU_STATUS struct { Name *string `json:"name,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` @@ -7074,7 +7026,6 @@ func (clusterSKU *ManagedClusterSKU_STATUS) AssignProperties_To_ManagedClusterSK } // Storage version of v1api20230201.ManagedClusterStorageProfile -// Storage profile for the container service cluster. type ManagedClusterStorageProfile struct { BlobCSIDriver *ManagedClusterStorageProfileBlobCSIDriver `json:"blobCSIDriver,omitempty"` DiskCSIDriver *ManagedClusterStorageProfileDiskCSIDriver `json:"diskCSIDriver,omitempty"` @@ -7230,7 +7181,6 @@ func (profile *ManagedClusterStorageProfile) AssignProperties_To_ManagedClusterS } // Storage version of v1api20230201.ManagedClusterStorageProfile_STATUS -// Storage profile for the container service cluster. type ManagedClusterStorageProfile_STATUS struct { BlobCSIDriver *ManagedClusterStorageProfileBlobCSIDriver_STATUS `json:"blobCSIDriver,omitempty"` DiskCSIDriver *ManagedClusterStorageProfileDiskCSIDriver_STATUS `json:"diskCSIDriver,omitempty"` @@ -7386,7 +7336,6 @@ func (profile *ManagedClusterStorageProfile_STATUS) AssignProperties_To_ManagedC } // Storage version of v1api20230201.ManagedClusterWindowsProfile -// Profile for Windows VMs in the managed cluster. type ManagedClusterWindowsProfile struct { AdminPassword *genruntime.SecretReference `json:"adminPassword,omitempty"` AdminUsername *string `json:"adminUsername,omitempty"` @@ -7515,7 +7464,6 @@ func (profile *ManagedClusterWindowsProfile) AssignProperties_To_ManagedClusterW } // Storage version of v1api20230201.ManagedClusterWindowsProfile_STATUS -// Profile for Windows VMs in the managed cluster. type ManagedClusterWindowsProfile_STATUS struct { AdminUsername *string `json:"adminUsername,omitempty"` EnableCSIProxy *bool `json:"enableCSIProxy,omitempty"` @@ -7627,7 +7575,6 @@ func (profile *ManagedClusterWindowsProfile_STATUS) AssignProperties_To_ManagedC } // Storage version of v1api20230201.ManagedClusterWorkloadAutoScalerProfile -// Workload Auto-scaler profile for the managed cluster. type ManagedClusterWorkloadAutoScalerProfile struct { Keda *ManagedClusterWorkloadAutoScalerProfileKeda `json:"keda,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` @@ -7728,7 +7675,6 @@ func (profile *ManagedClusterWorkloadAutoScalerProfile) AssignProperties_To_Mana } // Storage version of v1api20230201.ManagedClusterWorkloadAutoScalerProfile_STATUS -// Workload Auto-scaler profile for the managed cluster. type ManagedClusterWorkloadAutoScalerProfile_STATUS struct { Keda *ManagedClusterWorkloadAutoScalerProfileKeda_STATUS `json:"keda,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` @@ -7829,7 +7775,6 @@ func (profile *ManagedClusterWorkloadAutoScalerProfile_STATUS) AssignProperties_ } // Storage version of v1api20230201.PowerState_STATUS -// Describes the Power State of the cluster type PowerState_STATUS struct { Code *string `json:"code,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` @@ -7892,13 +7837,10 @@ func (state *PowerState_STATUS) AssignProperties_To_PowerState_STATUS(destinatio } // Storage version of v1api20230201.PrivateLinkResource -// A private link resource type PrivateLinkResource struct { - GroupId *string `json:"groupId,omitempty"` - Name *string `json:"name,omitempty"` - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` - - // Reference: The ID of the private link resource. + GroupId *string `json:"groupId,omitempty"` + Name *string `json:"name,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` Reference *genruntime.ResourceReference `armReference:"Id" json:"reference,omitempty"` RequiredMembers []string `json:"requiredMembers,omitempty"` Type *string `json:"type,omitempty"` @@ -7995,7 +7937,6 @@ func (resource *PrivateLinkResource) AssignProperties_To_PrivateLinkResource(des } // Storage version of v1api20230201.PrivateLinkResource_STATUS -// A private link resource type PrivateLinkResource_STATUS struct { GroupId *string `json:"groupId,omitempty"` Id *string `json:"id,omitempty"` @@ -8093,7 +8034,6 @@ func (resource *PrivateLinkResource_STATUS) AssignProperties_To_PrivateLinkResou } // Storage version of v1api20230201.SystemData_STATUS -// Metadata pertaining to creation and last modification of the resource. type SystemData_STATUS struct { CreatedAt *string `json:"createdAt,omitempty"` CreatedBy *string `json:"createdBy,omitempty"` @@ -8191,13 +8131,10 @@ func (data *SystemData_STATUS) AssignProperties_To_SystemData_STATUS(destination } // Storage version of v1api20230201.UserAssignedIdentity -// Details about a user assigned identity. type UserAssignedIdentity struct { - ClientId *string `json:"clientId,omitempty"` - ObjectId *string `json:"objectId,omitempty"` - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` - - // ResourceReference: The resource ID of the user assigned identity. + ClientId *string `json:"clientId,omitempty"` + ObjectId *string `json:"objectId,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` ResourceReference *genruntime.ResourceReference `armReference:"ResourceId" json:"resourceReference,omitempty"` } @@ -8280,7 +8217,6 @@ func (identity *UserAssignedIdentity) AssignProperties_To_UserAssignedIdentity(d } // Storage version of v1api20230201.UserAssignedIdentity_STATUS -// Details about a user assigned identity. type UserAssignedIdentity_STATUS struct { ClientId *string `json:"clientId,omitempty"` ObjectId *string `json:"objectId,omitempty"` @@ -8592,14 +8528,10 @@ type augmentConversionForUserAssignedIdentity_STATUS interface { } // Storage version of v1api20230201.AzureKeyVaultKms -// Azure Key Vault key management service settings for the security profile. type AzureKeyVaultKms struct { - Enabled *bool `json:"enabled,omitempty"` - KeyId *string `json:"keyId,omitempty"` - KeyVaultNetworkAccess *string `json:"keyVaultNetworkAccess,omitempty"` - - // KeyVaultResourceReference: Resource ID of key vault. When keyVaultNetworkAccess is `Private`, this field is required and - // must be a valid resource ID. When keyVaultNetworkAccess is `Public`, leave the field empty. + Enabled *bool `json:"enabled,omitempty"` + KeyId *string `json:"keyId,omitempty"` + KeyVaultNetworkAccess *string `json:"keyVaultNetworkAccess,omitempty"` KeyVaultResourceReference *genruntime.ResourceReference `armReference:"KeyVaultResourceId" json:"keyVaultResourceReference,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` } @@ -8699,7 +8631,6 @@ func (vaultKms *AzureKeyVaultKms) AssignProperties_To_AzureKeyVaultKms(destinati } // Storage version of v1api20230201.AzureKeyVaultKms_STATUS -// Azure Key Vault key management service settings for the security profile. type AzureKeyVaultKms_STATUS struct { Enabled *bool `json:"enabled,omitempty"` KeyId *string `json:"keyId,omitempty"` @@ -8793,7 +8724,6 @@ func (vaultKms *AzureKeyVaultKms_STATUS) AssignProperties_To_AzureKeyVaultKms_ST } // Storage version of v1api20230201.ContainerServiceSshConfiguration -// SSH configuration for Linux-based VMs running on Azure. type ContainerServiceSshConfiguration struct { PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` PublicKeys []ContainerServiceSshPublicKey `json:"publicKeys,omitempty"` @@ -8886,7 +8816,6 @@ func (configuration *ContainerServiceSshConfiguration) AssignProperties_To_Conta } // Storage version of v1api20230201.ContainerServiceSshConfiguration_STATUS -// SSH configuration for Linux-based VMs running on Azure. type ContainerServiceSshConfiguration_STATUS struct { PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` PublicKeys []ContainerServiceSshPublicKey_STATUS `json:"publicKeys,omitempty"` @@ -8979,9 +8908,6 @@ func (configuration *ContainerServiceSshConfiguration_STATUS) AssignProperties_T } // Storage version of v1api20230201.ManagedClusterAzureMonitorProfileMetrics -// Metrics profile for the Azure Monitor managed service for Prometheus addon. Collect out-of-the-box Kubernetes -// infrastructure metrics to send to an Azure Monitor Workspace and configure additional scraping for custom targets. See -// aka.ms/AzureManagedPrometheus for an overview. type ManagedClusterAzureMonitorProfileMetrics struct { Enabled *bool `json:"enabled,omitempty"` KubeStateMetrics *ManagedClusterAzureMonitorProfileKubeStateMetrics `json:"kubeStateMetrics,omitempty"` @@ -9079,9 +9005,6 @@ func (metrics *ManagedClusterAzureMonitorProfileMetrics) AssignProperties_To_Man } // Storage version of v1api20230201.ManagedClusterAzureMonitorProfileMetrics_STATUS -// Metrics profile for the Azure Monitor managed service for Prometheus addon. Collect out-of-the-box Kubernetes -// infrastructure metrics to send to an Azure Monitor Workspace and configure additional scraping for custom targets. See -// aka.ms/AzureManagedPrometheus for an overview. type ManagedClusterAzureMonitorProfileMetrics_STATUS struct { Enabled *bool `json:"enabled,omitempty"` KubeStateMetrics *ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS `json:"kubeStateMetrics,omitempty"` @@ -9248,7 +9171,6 @@ func (identities *ManagedClusterIdentity_UserAssignedIdentities_STATUS) AssignPr } // Storage version of v1api20230201.ManagedClusterLoadBalancerProfile -// Profile of the managed cluster load balancer. type ManagedClusterLoadBalancerProfile struct { AllocatedOutboundPorts *int `json:"allocatedOutboundPorts,omitempty"` EffectiveOutboundIPs []ResourceReference `json:"effectiveOutboundIPs,omitempty"` @@ -9467,7 +9389,6 @@ func (profile *ManagedClusterLoadBalancerProfile) AssignProperties_To_ManagedClu } // Storage version of v1api20230201.ManagedClusterLoadBalancerProfile_STATUS -// Profile of the managed cluster load balancer. type ManagedClusterLoadBalancerProfile_STATUS struct { AllocatedOutboundPorts *int `json:"allocatedOutboundPorts,omitempty"` EffectiveOutboundIPs []ResourceReference_STATUS `json:"effectiveOutboundIPs,omitempty"` @@ -9686,7 +9607,6 @@ func (profile *ManagedClusterLoadBalancerProfile_STATUS) AssignProperties_To_Man } // Storage version of v1api20230201.ManagedClusterNATGatewayProfile -// Profile of the managed cluster NAT gateway. type ManagedClusterNATGatewayProfile struct { EffectiveOutboundIPs []ResourceReference `json:"effectiveOutboundIPs,omitempty"` IdleTimeoutInMinutes *int `json:"idleTimeoutInMinutes,omitempty"` @@ -9811,7 +9731,6 @@ func (profile *ManagedClusterNATGatewayProfile) AssignProperties_To_ManagedClust } // Storage version of v1api20230201.ManagedClusterNATGatewayProfile_STATUS -// Profile of the managed cluster NAT gateway. type ManagedClusterNATGatewayProfile_STATUS struct { EffectiveOutboundIPs []ResourceReference_STATUS `json:"effectiveOutboundIPs,omitempty"` IdleTimeoutInMinutes *int `json:"idleTimeoutInMinutes,omitempty"` @@ -10114,7 +10033,6 @@ func (secrets *ManagedClusterOperatorSecrets) AssignProperties_To_ManagedCluster } // Storage version of v1api20230201.ManagedClusterPodIdentity -// Details about the pod identity assigned to the Managed Cluster. type ManagedClusterPodIdentity struct { BindingSelector *string `json:"bindingSelector,omitempty"` Identity *UserAssignedIdentity `json:"identity,omitempty"` @@ -10216,7 +10134,6 @@ func (identity *ManagedClusterPodIdentity) AssignProperties_To_ManagedClusterPod } // Storage version of v1api20230201.ManagedClusterPodIdentity_STATUS -// Details about the pod identity assigned to the Managed Cluster. type ManagedClusterPodIdentity_STATUS struct { BindingSelector *string `json:"bindingSelector,omitempty"` Identity *UserAssignedIdentity_STATUS `json:"identity,omitempty"` @@ -10350,8 +10267,6 @@ func (identity *ManagedClusterPodIdentity_STATUS) AssignProperties_To_ManagedClu } // Storage version of v1api20230201.ManagedClusterPodIdentityException -// See [disable AAD Pod Identity for a specific -// Pod/Application](https://azure.github.io/aad-pod-identity/docs/configure/application_exception/) for more details. type ManagedClusterPodIdentityException struct { Name *string `json:"name,omitempty"` Namespace *string `json:"namespace,omitempty"` @@ -10428,8 +10343,6 @@ func (exception *ManagedClusterPodIdentityException) AssignProperties_To_Managed } // Storage version of v1api20230201.ManagedClusterPodIdentityException_STATUS -// See [disable AAD Pod Identity for a specific -// Pod/Application](https://azure.github.io/aad-pod-identity/docs/configure/application_exception/) for more details. type ManagedClusterPodIdentityException_STATUS struct { Name *string `json:"name,omitempty"` Namespace *string `json:"namespace,omitempty"` @@ -10506,11 +10419,7 @@ func (exception *ManagedClusterPodIdentityException_STATUS) AssignProperties_To_ } // Storage version of v1api20230201.ManagedClusterSecurityProfileDefender -// Microsoft Defender settings for the security profile. type ManagedClusterSecurityProfileDefender struct { - // LogAnalyticsWorkspaceResourceReference: Resource ID of the Log Analytics workspace to be associated with Microsoft - // Defender. When Microsoft Defender is enabled, this field is required and must be a valid workspace resource ID. When - // Microsoft Defender is disabled, leave the field empty. LogAnalyticsWorkspaceResourceReference *genruntime.ResourceReference `armReference:"LogAnalyticsWorkspaceResourceId" json:"logAnalyticsWorkspaceResourceReference,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` SecurityMonitoring *ManagedClusterSecurityProfileDefenderSecurityMonitoring `json:"securityMonitoring,omitempty"` @@ -10607,7 +10516,6 @@ func (defender *ManagedClusterSecurityProfileDefender) AssignProperties_To_Manag } // Storage version of v1api20230201.ManagedClusterSecurityProfileDefender_STATUS -// Microsoft Defender settings for the security profile. type ManagedClusterSecurityProfileDefender_STATUS struct { LogAnalyticsWorkspaceResourceId *string `json:"logAnalyticsWorkspaceResourceId,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` @@ -10695,8 +10603,6 @@ func (defender *ManagedClusterSecurityProfileDefender_STATUS) AssignProperties_T } // Storage version of v1api20230201.ManagedClusterSecurityProfileImageCleaner -// Image Cleaner removes unused images from nodes, freeing up disk space and helping to reduce attack surface area. Here -// are settings for the security profile. type ManagedClusterSecurityProfileImageCleaner struct { Enabled *bool `json:"enabled,omitempty"` IntervalHours *int `json:"intervalHours,omitempty"` @@ -10776,8 +10682,6 @@ func (cleaner *ManagedClusterSecurityProfileImageCleaner) AssignProperties_To_Ma } // Storage version of v1api20230201.ManagedClusterSecurityProfileImageCleaner_STATUS -// Image Cleaner removes unused images from nodes, freeing up disk space and helping to reduce attack surface area. Here -// are settings for the security profile. type ManagedClusterSecurityProfileImageCleaner_STATUS struct { Enabled *bool `json:"enabled,omitempty"` IntervalHours *int `json:"intervalHours,omitempty"` @@ -10857,7 +10761,6 @@ func (cleaner *ManagedClusterSecurityProfileImageCleaner_STATUS) AssignPropertie } // Storage version of v1api20230201.ManagedClusterSecurityProfileWorkloadIdentity -// Workload identity settings for the security profile. type ManagedClusterSecurityProfileWorkloadIdentity struct { Enabled *bool `json:"enabled,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` @@ -10930,7 +10833,6 @@ func (identity *ManagedClusterSecurityProfileWorkloadIdentity) AssignProperties_ } // Storage version of v1api20230201.ManagedClusterSecurityProfileWorkloadIdentity_STATUS -// Workload identity settings for the security profile. type ManagedClusterSecurityProfileWorkloadIdentity_STATUS struct { Enabled *bool `json:"enabled,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` @@ -11003,7 +10905,6 @@ func (identity *ManagedClusterSecurityProfileWorkloadIdentity_STATUS) AssignProp } // Storage version of v1api20230201.ManagedClusterStorageProfileBlobCSIDriver -// AzureBlob CSI Driver settings for the storage profile. type ManagedClusterStorageProfileBlobCSIDriver struct { Enabled *bool `json:"enabled,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` @@ -11076,7 +10977,6 @@ func (driver *ManagedClusterStorageProfileBlobCSIDriver) AssignProperties_To_Man } // Storage version of v1api20230201.ManagedClusterStorageProfileBlobCSIDriver_STATUS -// AzureBlob CSI Driver settings for the storage profile. type ManagedClusterStorageProfileBlobCSIDriver_STATUS struct { Enabled *bool `json:"enabled,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` @@ -11149,7 +11049,6 @@ func (driver *ManagedClusterStorageProfileBlobCSIDriver_STATUS) AssignProperties } // Storage version of v1api20230201.ManagedClusterStorageProfileDiskCSIDriver -// AzureDisk CSI Driver settings for the storage profile. type ManagedClusterStorageProfileDiskCSIDriver struct { Enabled *bool `json:"enabled,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` @@ -11222,7 +11121,6 @@ func (driver *ManagedClusterStorageProfileDiskCSIDriver) AssignProperties_To_Man } // Storage version of v1api20230201.ManagedClusterStorageProfileDiskCSIDriver_STATUS -// AzureDisk CSI Driver settings for the storage profile. type ManagedClusterStorageProfileDiskCSIDriver_STATUS struct { Enabled *bool `json:"enabled,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` @@ -11295,7 +11193,6 @@ func (driver *ManagedClusterStorageProfileDiskCSIDriver_STATUS) AssignProperties } // Storage version of v1api20230201.ManagedClusterStorageProfileFileCSIDriver -// AzureFile CSI Driver settings for the storage profile. type ManagedClusterStorageProfileFileCSIDriver struct { Enabled *bool `json:"enabled,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` @@ -11368,7 +11265,6 @@ func (driver *ManagedClusterStorageProfileFileCSIDriver) AssignProperties_To_Man } // Storage version of v1api20230201.ManagedClusterStorageProfileFileCSIDriver_STATUS -// AzureFile CSI Driver settings for the storage profile. type ManagedClusterStorageProfileFileCSIDriver_STATUS struct { Enabled *bool `json:"enabled,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` @@ -11441,7 +11337,6 @@ func (driver *ManagedClusterStorageProfileFileCSIDriver_STATUS) AssignProperties } // Storage version of v1api20230201.ManagedClusterStorageProfileSnapshotController -// Snapshot Controller settings for the storage profile. type ManagedClusterStorageProfileSnapshotController struct { Enabled *bool `json:"enabled,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` @@ -11514,7 +11409,6 @@ func (controller *ManagedClusterStorageProfileSnapshotController) AssignProperti } // Storage version of v1api20230201.ManagedClusterStorageProfileSnapshotController_STATUS -// Snapshot Controller settings for the storage profile. type ManagedClusterStorageProfileSnapshotController_STATUS struct { Enabled *bool `json:"enabled,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` @@ -11587,7 +11481,6 @@ func (controller *ManagedClusterStorageProfileSnapshotController_STATUS) AssignP } // Storage version of v1api20230201.ManagedClusterWorkloadAutoScalerProfileKeda -// KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile. type ManagedClusterWorkloadAutoScalerProfileKeda struct { Enabled *bool `json:"enabled,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` @@ -11660,7 +11553,6 @@ func (keda *ManagedClusterWorkloadAutoScalerProfileKeda) AssignProperties_To_Man } // Storage version of v1api20230201.ManagedClusterWorkloadAutoScalerProfileKeda_STATUS -// KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile. type ManagedClusterWorkloadAutoScalerProfileKeda_STATUS struct { Enabled *bool `json:"enabled,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` @@ -11733,7 +11625,6 @@ func (keda *ManagedClusterWorkloadAutoScalerProfileKeda_STATUS) AssignProperties } // Storage version of v1api20230201.UserAssignedIdentityDetails -// Information about the user assigned identity for the resource type UserAssignedIdentityDetails struct { PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` Reference genruntime.ResourceReference `armReference:"Reference" json:"reference,omitempty"` @@ -11796,7 +11687,6 @@ func (details *UserAssignedIdentityDetails) AssignProperties_To_UserAssignedIden } // Storage version of v1api20230201.WindowsGmsaProfile -// Windows gMSA Profile in the managed cluster. type WindowsGmsaProfile struct { DnsServer *string `json:"dnsServer,omitempty"` Enabled *bool `json:"enabled,omitempty"` @@ -11883,7 +11773,6 @@ func (profile *WindowsGmsaProfile) AssignProperties_To_WindowsGmsaProfile(destin } // Storage version of v1api20230201.WindowsGmsaProfile_STATUS -// Windows gMSA Profile in the managed cluster. type WindowsGmsaProfile_STATUS struct { DnsServer *string `json:"dnsServer,omitempty"` Enabled *bool `json:"enabled,omitempty"` @@ -12150,7 +12039,6 @@ type augmentConversionForWindowsGmsaProfile_STATUS interface { } // Storage version of v1api20230201.ContainerServiceSshPublicKey -// Contains information about SSH certificate public key data. type ContainerServiceSshPublicKey struct { KeyData *string `json:"keyData,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` @@ -12213,7 +12101,6 @@ func (publicKey *ContainerServiceSshPublicKey) AssignProperties_To_ContainerServ } // Storage version of v1api20230201.ContainerServiceSshPublicKey_STATUS -// Contains information about SSH certificate public key data. type ContainerServiceSshPublicKey_STATUS struct { KeyData *string `json:"keyData,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` @@ -12276,9 +12163,6 @@ func (publicKey *ContainerServiceSshPublicKey_STATUS) AssignProperties_To_Contai } // Storage version of v1api20230201.ManagedClusterAzureMonitorProfileKubeStateMetrics -// Kube State Metrics profile for the Azure Managed Prometheus addon. These optional settings are for the -// kube-state-metrics pod that is deployed with the addon. See aka.ms/AzureManagedPrometheus-optional-parameters for -// details. type ManagedClusterAzureMonitorProfileKubeStateMetrics struct { MetricAnnotationsAllowList *string `json:"metricAnnotationsAllowList,omitempty"` MetricLabelsAllowlist *string `json:"metricLabelsAllowlist,omitempty"` @@ -12348,9 +12232,6 @@ func (metrics *ManagedClusterAzureMonitorProfileKubeStateMetrics) AssignProperti } // Storage version of v1api20230201.ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS -// Kube State Metrics profile for the Azure Managed Prometheus addon. These optional settings are for the -// kube-state-metrics pod that is deployed with the addon. See aka.ms/AzureManagedPrometheus-optional-parameters for -// details. type ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS struct { MetricAnnotationsAllowList *string `json:"metricAnnotationsAllowList,omitempty"` MetricLabelsAllowlist *string `json:"metricLabelsAllowlist,omitempty"` @@ -12926,7 +12807,6 @@ func (iPs *ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS) AssignPropertie } // Storage version of v1api20230201.ManagedClusterManagedOutboundIPProfile -// Profile of the managed outbound IP resources of the managed cluster. type ManagedClusterManagedOutboundIPProfile struct { Count *int `json:"count,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` @@ -12989,7 +12869,6 @@ func (profile *ManagedClusterManagedOutboundIPProfile) AssignProperties_To_Manag } // Storage version of v1api20230201.ManagedClusterManagedOutboundIPProfile_STATUS -// Profile of the managed outbound IP resources of the managed cluster. type ManagedClusterManagedOutboundIPProfile_STATUS struct { Count *int `json:"count,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` @@ -13132,7 +13011,6 @@ func (info *ManagedClusterPodIdentity_ProvisioningInfo_STATUS) AssignProperties_ } // Storage version of v1api20230201.ManagedClusterSecurityProfileDefenderSecurityMonitoring -// Microsoft Defender settings for the security profile threat detection. type ManagedClusterSecurityProfileDefenderSecurityMonitoring struct { Enabled *bool `json:"enabled,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` @@ -13205,7 +13083,6 @@ func (monitoring *ManagedClusterSecurityProfileDefenderSecurityMonitoring) Assig } // Storage version of v1api20230201.ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS -// Microsoft Defender settings for the security profile threat detection. type ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS struct { Enabled *bool `json:"enabled,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` @@ -13278,12 +13155,9 @@ func (monitoring *ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS } // Storage version of v1api20230201.ResourceReference -// A reference to an Azure resource. type ResourceReference struct { - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` - - // Reference: The fully qualified Azure resource id. - Reference *genruntime.ResourceReference `armReference:"Id" json:"reference,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Reference *genruntime.ResourceReference `armReference:"Id" json:"reference,omitempty"` } // AssignProperties_From_ResourceReference populates our ResourceReference from the provided source ResourceReference @@ -13353,7 +13227,6 @@ func (reference *ResourceReference) AssignProperties_To_ResourceReference(destin } // Storage version of v1api20230201.ResourceReference_STATUS -// A reference to an Azure resource. type ResourceReference_STATUS struct { Id *string `json:"id,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` @@ -13501,7 +13374,6 @@ type augmentConversionForResourceReference_STATUS interface { } // Storage version of v1api20230201.ManagedClusterPodIdentityProvisioningError_STATUS -// An error response from the pod identity provisioning. type ManagedClusterPodIdentityProvisioningError_STATUS struct { Error *ManagedClusterPodIdentityProvisioningErrorBody_STATUS `json:"error,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` @@ -13587,7 +13459,6 @@ type augmentConversionForManagedClusterPodIdentityProvisioningError_STATUS inter } // Storage version of v1api20230201.ManagedClusterPodIdentityProvisioningErrorBody_STATUS -// An error response from the pod identity provisioning. type ManagedClusterPodIdentityProvisioningErrorBody_STATUS struct { Code *string `json:"code,omitempty"` Details []ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled `json:"details,omitempty"` diff --git a/v2/api/containerservice/v1api20230201/storage/managed_cluster_types_gen_test.go b/v2/api/containerservice/v1api20230201/storage/managed_cluster_types_gen_test.go index f21ca37c278..70becbeac5b 100644 --- a/v2/api/containerservice/v1api20230201/storage/managed_cluster_types_gen_test.go +++ b/v2/api/containerservice/v1api20230201/storage/managed_cluster_types_gen_test.go @@ -5,7 +5,8 @@ package storage import ( "encoding/json" - storage "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20231001/storage" + v20231001s "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20231001/storage" + v20240901s "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20240901/storage" "github.com/google/go-cmp/cmp" "github.com/google/go-cmp/cmp/cmpopts" "github.com/kr/pretty" @@ -35,7 +36,7 @@ func RunPropertyAssignmentTestForAzureKeyVaultKms(subject AzureKeyVaultKms) stri copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.AzureKeyVaultKms + var other v20231001s.AzureKeyVaultKms err := copied.AssignProperties_To_AzureKeyVaultKms(&other) if err != nil { return err.Error() @@ -139,7 +140,7 @@ func RunPropertyAssignmentTestForAzureKeyVaultKms_STATUS(subject AzureKeyVaultKm copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.AzureKeyVaultKms_STATUS + var other v20231001s.AzureKeyVaultKms_STATUS err := copied.AssignProperties_To_AzureKeyVaultKms_STATUS(&other) if err != nil { return err.Error() @@ -245,7 +246,7 @@ func RunPropertyAssignmentTestForContainerServiceLinuxProfile(subject ContainerS copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ContainerServiceLinuxProfile + var other v20231001s.ContainerServiceLinuxProfile err := copied.AssignProperties_To_ContainerServiceLinuxProfile(&other) if err != nil { return err.Error() @@ -362,7 +363,7 @@ func RunPropertyAssignmentTestForContainerServiceLinuxProfile_STATUS(subject Con copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ContainerServiceLinuxProfile_STATUS + var other v20231001s.ContainerServiceLinuxProfile_STATUS err := copied.AssignProperties_To_ContainerServiceLinuxProfile_STATUS(&other) if err != nil { return err.Error() @@ -479,7 +480,7 @@ func RunPropertyAssignmentTestForContainerServiceNetworkProfile(subject Containe copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ContainerServiceNetworkProfile + var other v20231001s.ContainerServiceNetworkProfile err := copied.AssignProperties_To_ContainerServiceNetworkProfile(&other) if err != nil { return err.Error() @@ -610,7 +611,7 @@ func RunPropertyAssignmentTestForContainerServiceNetworkProfile_STATUS(subject C copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ContainerServiceNetworkProfile_STATUS + var other v20231001s.ContainerServiceNetworkProfile_STATUS err := copied.AssignProperties_To_ContainerServiceNetworkProfile_STATUS(&other) if err != nil { return err.Error() @@ -741,7 +742,7 @@ func RunPropertyAssignmentTestForContainerServiceSshConfiguration(subject Contai copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ContainerServiceSshConfiguration + var other v20231001s.ContainerServiceSshConfiguration err := copied.AssignProperties_To_ContainerServiceSshConfiguration(&other) if err != nil { return err.Error() @@ -844,7 +845,7 @@ func RunPropertyAssignmentTestForContainerServiceSshConfiguration_STATUS(subject copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ContainerServiceSshConfiguration_STATUS + var other v20231001s.ContainerServiceSshConfiguration_STATUS err := copied.AssignProperties_To_ContainerServiceSshConfiguration_STATUS(&other) if err != nil { return err.Error() @@ -947,7 +948,7 @@ func RunPropertyAssignmentTestForContainerServiceSshPublicKey(subject ContainerS copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ContainerServiceSshPublicKey + var other v20231001s.ContainerServiceSshPublicKey err := copied.AssignProperties_To_ContainerServiceSshPublicKey(&other) if err != nil { return err.Error() @@ -1050,7 +1051,7 @@ func RunPropertyAssignmentTestForContainerServiceSshPublicKey_STATUS(subject Con copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ContainerServiceSshPublicKey_STATUS + var other v20231001s.ContainerServiceSshPublicKey_STATUS err := copied.AssignProperties_To_ContainerServiceSshPublicKey_STATUS(&other) if err != nil { return err.Error() @@ -1153,7 +1154,7 @@ func RunPropertyAssignmentTestForExtendedLocation(subject ExtendedLocation) stri copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ExtendedLocation + var other v20231001s.ExtendedLocation err := copied.AssignProperties_To_ExtendedLocation(&other) if err != nil { return err.Error() @@ -1256,7 +1257,7 @@ func RunPropertyAssignmentTestForExtendedLocation_STATUS(subject ExtendedLocatio copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ExtendedLocation_STATUS + var other v20231001s.ExtendedLocation_STATUS err := copied.AssignProperties_To_ExtendedLocation_STATUS(&other) if err != nil { return err.Error() @@ -1361,7 +1362,7 @@ func RunResourceConversionTestForManagedCluster(subject ManagedCluster) string { copied := subject.DeepCopy() // Convert to our hub version - var hub storage.ManagedCluster + var hub v20240901s.ManagedCluster err := copied.ConvertTo(&hub) if err != nil { return err.Error() @@ -1403,7 +1404,7 @@ func RunPropertyAssignmentTestForManagedCluster(subject ManagedCluster) string { copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedCluster + var other v20231001s.ManagedCluster err := copied.AssignProperties_To_ManagedCluster(&other) if err != nil { return err.Error() @@ -1506,7 +1507,7 @@ func RunPropertyAssignmentTestForManagedClusterAADProfile(subject ManagedCluster copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterAADProfile + var other v20231001s.ManagedClusterAADProfile err := copied.AssignProperties_To_ManagedClusterAADProfile(&other) if err != nil { return err.Error() @@ -1615,7 +1616,7 @@ func RunPropertyAssignmentTestForManagedClusterAADProfile_STATUS(subject Managed copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterAADProfile_STATUS + var other v20231001s.ManagedClusterAADProfile_STATUS err := copied.AssignProperties_To_ManagedClusterAADProfile_STATUS(&other) if err != nil { return err.Error() @@ -1724,7 +1725,7 @@ func RunPropertyAssignmentTestForManagedClusterAPIServerAccessProfile(subject Ma copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterAPIServerAccessProfile + var other v20231001s.ManagedClusterAPIServerAccessProfile err := copied.AssignProperties_To_ManagedClusterAPIServerAccessProfile(&other) if err != nil { return err.Error() @@ -1831,7 +1832,7 @@ func RunPropertyAssignmentTestForManagedClusterAPIServerAccessProfile_STATUS(sub copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterAPIServerAccessProfile_STATUS + var other v20231001s.ManagedClusterAPIServerAccessProfile_STATUS err := copied.AssignProperties_To_ManagedClusterAPIServerAccessProfile_STATUS(&other) if err != nil { return err.Error() @@ -1938,7 +1939,7 @@ func RunPropertyAssignmentTestForManagedClusterAddonProfile(subject ManagedClust copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterAddonProfile + var other v20231001s.ManagedClusterAddonProfile err := copied.AssignProperties_To_ManagedClusterAddonProfile(&other) if err != nil { return err.Error() @@ -2044,7 +2045,7 @@ func RunPropertyAssignmentTestForManagedClusterAddonProfile_STATUS(subject Manag copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterAddonProfile_STATUS + var other v20231001s.ManagedClusterAddonProfile_STATUS err := copied.AssignProperties_To_ManagedClusterAddonProfile_STATUS(&other) if err != nil { return err.Error() @@ -2164,7 +2165,7 @@ func RunPropertyAssignmentTestForManagedClusterAgentPoolProfile(subject ManagedC copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterAgentPoolProfile + var other v20231001s.ManagedClusterAgentPoolProfile err := copied.AssignProperties_To_ManagedClusterAgentPoolProfile(&other) if err != nil { return err.Error() @@ -2317,7 +2318,7 @@ func RunPropertyAssignmentTestForManagedClusterAgentPoolProfile_STATUS(subject M copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterAgentPoolProfile_STATUS + var other v20231001s.ManagedClusterAgentPoolProfile_STATUS err := copied.AssignProperties_To_ManagedClusterAgentPoolProfile_STATUS(&other) if err != nil { return err.Error() @@ -2478,7 +2479,7 @@ func RunPropertyAssignmentTestForManagedClusterAutoUpgradeProfile(subject Manage copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterAutoUpgradeProfile + var other v20231001s.ManagedClusterAutoUpgradeProfile err := copied.AssignProperties_To_ManagedClusterAutoUpgradeProfile(&other) if err != nil { return err.Error() @@ -2581,7 +2582,7 @@ func RunPropertyAssignmentTestForManagedClusterAutoUpgradeProfile_STATUS(subject copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterAutoUpgradeProfile_STATUS + var other v20231001s.ManagedClusterAutoUpgradeProfile_STATUS err := copied.AssignProperties_To_ManagedClusterAutoUpgradeProfile_STATUS(&other) if err != nil { return err.Error() @@ -2684,7 +2685,7 @@ func RunPropertyAssignmentTestForManagedClusterAzureMonitorProfile(subject Manag copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterAzureMonitorProfile + var other v20231001s.ManagedClusterAzureMonitorProfile err := copied.AssignProperties_To_ManagedClusterAzureMonitorProfile(&other) if err != nil { return err.Error() @@ -2787,7 +2788,7 @@ func RunPropertyAssignmentTestForManagedClusterAzureMonitorProfileKubeStateMetri copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterAzureMonitorProfileKubeStateMetrics + var other v20231001s.ManagedClusterAzureMonitorProfileKubeStateMetrics err := copied.AssignProperties_To_ManagedClusterAzureMonitorProfileKubeStateMetrics(&other) if err != nil { return err.Error() @@ -2891,7 +2892,7 @@ func RunPropertyAssignmentTestForManagedClusterAzureMonitorProfileKubeStateMetri copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS + var other v20231001s.ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS err := copied.AssignProperties_To_ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS(&other) if err != nil { return err.Error() @@ -2995,7 +2996,7 @@ func RunPropertyAssignmentTestForManagedClusterAzureMonitorProfileMetrics(subjec copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterAzureMonitorProfileMetrics + var other v20231001s.ManagedClusterAzureMonitorProfileMetrics err := copied.AssignProperties_To_ManagedClusterAzureMonitorProfileMetrics(&other) if err != nil { return err.Error() @@ -3112,7 +3113,7 @@ func RunPropertyAssignmentTestForManagedClusterAzureMonitorProfileMetrics_STATUS copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterAzureMonitorProfileMetrics_STATUS + var other v20231001s.ManagedClusterAzureMonitorProfileMetrics_STATUS err := copied.AssignProperties_To_ManagedClusterAzureMonitorProfileMetrics_STATUS(&other) if err != nil { return err.Error() @@ -3229,7 +3230,7 @@ func RunPropertyAssignmentTestForManagedClusterAzureMonitorProfile_STATUS(subjec copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterAzureMonitorProfile_STATUS + var other v20231001s.ManagedClusterAzureMonitorProfile_STATUS err := copied.AssignProperties_To_ManagedClusterAzureMonitorProfile_STATUS(&other) if err != nil { return err.Error() @@ -3332,7 +3333,7 @@ func RunPropertyAssignmentTestForManagedClusterHTTPProxyConfig(subject ManagedCl copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterHTTPProxyConfig + var other v20231001s.ManagedClusterHTTPProxyConfig err := copied.AssignProperties_To_ManagedClusterHTTPProxyConfig(&other) if err != nil { return err.Error() @@ -3438,7 +3439,7 @@ func RunPropertyAssignmentTestForManagedClusterHTTPProxyConfig_STATUS(subject Ma copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterHTTPProxyConfig_STATUS + var other v20231001s.ManagedClusterHTTPProxyConfig_STATUS err := copied.AssignProperties_To_ManagedClusterHTTPProxyConfig_STATUS(&other) if err != nil { return err.Error() @@ -3544,7 +3545,7 @@ func RunPropertyAssignmentTestForManagedClusterIdentity(subject ManagedClusterId copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterIdentity + var other v20231001s.ManagedClusterIdentity err := copied.AssignProperties_To_ManagedClusterIdentity(&other) if err != nil { return err.Error() @@ -3661,7 +3662,7 @@ func RunPropertyAssignmentTestForManagedClusterIdentity_STATUS(subject ManagedCl copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterIdentity_STATUS + var other v20231001s.ManagedClusterIdentity_STATUS err := copied.AssignProperties_To_ManagedClusterIdentity_STATUS(&other) if err != nil { return err.Error() @@ -3782,7 +3783,7 @@ func RunPropertyAssignmentTestForManagedClusterIdentity_UserAssignedIdentities_S copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterIdentity_UserAssignedIdentities_STATUS + var other v20231001s.ManagedClusterIdentity_UserAssignedIdentities_STATUS err := copied.AssignProperties_To_ManagedClusterIdentity_UserAssignedIdentities_STATUS(&other) if err != nil { return err.Error() @@ -3886,7 +3887,7 @@ func RunPropertyAssignmentTestForManagedClusterLoadBalancerProfile(subject Manag copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterLoadBalancerProfile + var other v20231001s.ManagedClusterLoadBalancerProfile err := copied.AssignProperties_To_ManagedClusterLoadBalancerProfile(&other) if err != nil { return err.Error() @@ -4008,7 +4009,7 @@ func RunPropertyAssignmentTestForManagedClusterLoadBalancerProfile_ManagedOutbou copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs + var other v20231001s.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs err := copied.AssignProperties_To_ManagedClusterLoadBalancerProfile_ManagedOutboundIPs(&other) if err != nil { return err.Error() @@ -4112,7 +4113,7 @@ func RunPropertyAssignmentTestForManagedClusterLoadBalancerProfile_ManagedOutbou copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS + var other v20231001s.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS err := copied.AssignProperties_To_ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS(&other) if err != nil { return err.Error() @@ -4216,7 +4217,7 @@ func RunPropertyAssignmentTestForManagedClusterLoadBalancerProfile_OutboundIPPre copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes + var other v20231001s.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes err := copied.AssignProperties_To_ManagedClusterLoadBalancerProfile_OutboundIPPrefixes(&other) if err != nil { return err.Error() @@ -4319,7 +4320,7 @@ func RunPropertyAssignmentTestForManagedClusterLoadBalancerProfile_OutboundIPPre copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS + var other v20231001s.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS err := copied.AssignProperties_To_ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS(&other) if err != nil { return err.Error() @@ -4422,7 +4423,7 @@ func RunPropertyAssignmentTestForManagedClusterLoadBalancerProfile_OutboundIPs(s copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterLoadBalancerProfile_OutboundIPs + var other v20231001s.ManagedClusterLoadBalancerProfile_OutboundIPs err := copied.AssignProperties_To_ManagedClusterLoadBalancerProfile_OutboundIPs(&other) if err != nil { return err.Error() @@ -4525,7 +4526,7 @@ func RunPropertyAssignmentTestForManagedClusterLoadBalancerProfile_OutboundIPs_S copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS + var other v20231001s.ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS err := copied.AssignProperties_To_ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS(&other) if err != nil { return err.Error() @@ -4628,7 +4629,7 @@ func RunPropertyAssignmentTestForManagedClusterLoadBalancerProfile_STATUS(subjec copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterLoadBalancerProfile_STATUS + var other v20231001s.ManagedClusterLoadBalancerProfile_STATUS err := copied.AssignProperties_To_ManagedClusterLoadBalancerProfile_STATUS(&other) if err != nil { return err.Error() @@ -4750,7 +4751,7 @@ func RunPropertyAssignmentTestForManagedClusterManagedOutboundIPProfile(subject copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterManagedOutboundIPProfile + var other v20231001s.ManagedClusterManagedOutboundIPProfile err := copied.AssignProperties_To_ManagedClusterManagedOutboundIPProfile(&other) if err != nil { return err.Error() @@ -4853,7 +4854,7 @@ func RunPropertyAssignmentTestForManagedClusterManagedOutboundIPProfile_STATUS(s copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterManagedOutboundIPProfile_STATUS + var other v20231001s.ManagedClusterManagedOutboundIPProfile_STATUS err := copied.AssignProperties_To_ManagedClusterManagedOutboundIPProfile_STATUS(&other) if err != nil { return err.Error() @@ -4956,7 +4957,7 @@ func RunPropertyAssignmentTestForManagedClusterNATGatewayProfile(subject Managed copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterNATGatewayProfile + var other v20231001s.ManagedClusterNATGatewayProfile err := copied.AssignProperties_To_ManagedClusterNATGatewayProfile(&other) if err != nil { return err.Error() @@ -5074,7 +5075,7 @@ func RunPropertyAssignmentTestForManagedClusterNATGatewayProfile_STATUS(subject copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterNATGatewayProfile_STATUS + var other v20231001s.ManagedClusterNATGatewayProfile_STATUS err := copied.AssignProperties_To_ManagedClusterNATGatewayProfile_STATUS(&other) if err != nil { return err.Error() @@ -5192,7 +5193,7 @@ func RunPropertyAssignmentTestForManagedClusterOIDCIssuerProfile(subject Managed copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterOIDCIssuerProfile + var other v20231001s.ManagedClusterOIDCIssuerProfile err := copied.AssignProperties_To_ManagedClusterOIDCIssuerProfile(&other) if err != nil { return err.Error() @@ -5295,7 +5296,7 @@ func RunPropertyAssignmentTestForManagedClusterOIDCIssuerProfile_STATUS(subject copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterOIDCIssuerProfile_STATUS + var other v20231001s.ManagedClusterOIDCIssuerProfile_STATUS err := copied.AssignProperties_To_ManagedClusterOIDCIssuerProfile_STATUS(&other) if err != nil { return err.Error() @@ -5399,7 +5400,7 @@ func RunPropertyAssignmentTestForManagedClusterOperatorConfigMaps(subject Manage copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterOperatorConfigMaps + var other v20231001s.ManagedClusterOperatorConfigMaps err := copied.AssignProperties_To_ManagedClusterOperatorConfigMaps(&other) if err != nil { return err.Error() @@ -5496,7 +5497,7 @@ func RunPropertyAssignmentTestForManagedClusterOperatorSecrets(subject ManagedCl copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterOperatorSecrets + var other v20231001s.ManagedClusterOperatorSecrets err := copied.AssignProperties_To_ManagedClusterOperatorSecrets(&other) if err != nil { return err.Error() @@ -5593,7 +5594,7 @@ func RunPropertyAssignmentTestForManagedClusterOperatorSpec(subject ManagedClust copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterOperatorSpec + var other v20231001s.ManagedClusterOperatorSpec err := copied.AssignProperties_To_ManagedClusterOperatorSpec(&other) if err != nil { return err.Error() @@ -5697,7 +5698,7 @@ func RunPropertyAssignmentTestForManagedClusterPodIdentity(subject ManagedCluste copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterPodIdentity + var other v20231001s.ManagedClusterPodIdentity err := copied.AssignProperties_To_ManagedClusterPodIdentity(&other) if err != nil { return err.Error() @@ -5816,7 +5817,7 @@ func RunPropertyAssignmentTestForManagedClusterPodIdentityException(subject Mana copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterPodIdentityException + var other v20231001s.ManagedClusterPodIdentityException err := copied.AssignProperties_To_ManagedClusterPodIdentityException(&other) if err != nil { return err.Error() @@ -5923,7 +5924,7 @@ func RunPropertyAssignmentTestForManagedClusterPodIdentityException_STATUS(subje copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterPodIdentityException_STATUS + var other v20231001s.ManagedClusterPodIdentityException_STATUS err := copied.AssignProperties_To_ManagedClusterPodIdentityException_STATUS(&other) if err != nil { return err.Error() @@ -6030,7 +6031,7 @@ func RunPropertyAssignmentTestForManagedClusterPodIdentityProfile(subject Manage copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterPodIdentityProfile + var other v20231001s.ManagedClusterPodIdentityProfile err := copied.AssignProperties_To_ManagedClusterPodIdentityProfile(&other) if err != nil { return err.Error() @@ -6149,7 +6150,7 @@ func RunPropertyAssignmentTestForManagedClusterPodIdentityProfile_STATUS(subject copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterPodIdentityProfile_STATUS + var other v20231001s.ManagedClusterPodIdentityProfile_STATUS err := copied.AssignProperties_To_ManagedClusterPodIdentityProfile_STATUS(&other) if err != nil { return err.Error() @@ -6268,7 +6269,7 @@ func RunPropertyAssignmentTestForManagedClusterPodIdentityProvisioningErrorBody_ copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterPodIdentityProvisioningErrorBody_STATUS + var other v20231001s.ManagedClusterPodIdentityProvisioningErrorBody_STATUS err := copied.AssignProperties_To_ManagedClusterPodIdentityProvisioningErrorBody_STATUS(&other) if err != nil { return err.Error() @@ -6387,7 +6388,7 @@ func RunPropertyAssignmentTestForManagedClusterPodIdentityProvisioningErrorBody_ copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled + var other v20231001s.ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled err := copied.AssignProperties_To_ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled(&other) if err != nil { return err.Error() @@ -6492,7 +6493,7 @@ func RunPropertyAssignmentTestForManagedClusterPodIdentityProvisioningError_STAT copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterPodIdentityProvisioningError_STATUS + var other v20231001s.ManagedClusterPodIdentityProvisioningError_STATUS err := copied.AssignProperties_To_ManagedClusterPodIdentityProvisioningError_STATUS(&other) if err != nil { return err.Error() @@ -6595,7 +6596,7 @@ func RunPropertyAssignmentTestForManagedClusterPodIdentity_ProvisioningInfo_STAT copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterPodIdentity_ProvisioningInfo_STATUS + var other v20231001s.ManagedClusterPodIdentity_ProvisioningInfo_STATUS err := copied.AssignProperties_To_ManagedClusterPodIdentity_ProvisioningInfo_STATUS(&other) if err != nil { return err.Error() @@ -6698,7 +6699,7 @@ func RunPropertyAssignmentTestForManagedClusterPodIdentity_STATUS(subject Manage copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterPodIdentity_STATUS + var other v20231001s.ManagedClusterPodIdentity_STATUS err := copied.AssignProperties_To_ManagedClusterPodIdentity_STATUS(&other) if err != nil { return err.Error() @@ -6819,7 +6820,7 @@ func RunPropertyAssignmentTestForManagedClusterProperties_AutoScalerProfile(subj copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterProperties_AutoScalerProfile + var other v20231001s.ManagedClusterProperties_AutoScalerProfile err := copied.AssignProperties_To_ManagedClusterProperties_AutoScalerProfile(&other) if err != nil { return err.Error() @@ -6938,7 +6939,7 @@ func RunPropertyAssignmentTestForManagedClusterProperties_AutoScalerProfile_STAT copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterProperties_AutoScalerProfile_STATUS + var other v20231001s.ManagedClusterProperties_AutoScalerProfile_STATUS err := copied.AssignProperties_To_ManagedClusterProperties_AutoScalerProfile_STATUS(&other) if err != nil { return err.Error() @@ -7057,7 +7058,7 @@ func RunPropertyAssignmentTestForManagedClusterSKU(subject ManagedClusterSKU) st copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterSKU + var other v20231001s.ManagedClusterSKU err := copied.AssignProperties_To_ManagedClusterSKU(&other) if err != nil { return err.Error() @@ -7160,7 +7161,7 @@ func RunPropertyAssignmentTestForManagedClusterSKU_STATUS(subject ManagedCluster copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterSKU_STATUS + var other v20231001s.ManagedClusterSKU_STATUS err := copied.AssignProperties_To_ManagedClusterSKU_STATUS(&other) if err != nil { return err.Error() @@ -7264,7 +7265,7 @@ func RunPropertyAssignmentTestForManagedClusterSecurityProfile(subject ManagedCl copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterSecurityProfile + var other v20231001s.ManagedClusterSecurityProfile err := copied.AssignProperties_To_ManagedClusterSecurityProfile(&other) if err != nil { return err.Error() @@ -7370,7 +7371,7 @@ func RunPropertyAssignmentTestForManagedClusterSecurityProfileDefender(subject M copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterSecurityProfileDefender + var other v20231001s.ManagedClusterSecurityProfileDefender err := copied.AssignProperties_To_ManagedClusterSecurityProfileDefender(&other) if err != nil { return err.Error() @@ -7473,7 +7474,7 @@ func RunPropertyAssignmentTestForManagedClusterSecurityProfileDefenderSecurityMo copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterSecurityProfileDefenderSecurityMonitoring + var other v20231001s.ManagedClusterSecurityProfileDefenderSecurityMonitoring err := copied.AssignProperties_To_ManagedClusterSecurityProfileDefenderSecurityMonitoring(&other) if err != nil { return err.Error() @@ -7576,7 +7577,7 @@ func RunPropertyAssignmentTestForManagedClusterSecurityProfileDefenderSecurityMo copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS + var other v20231001s.ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS err := copied.AssignProperties_To_ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS(&other) if err != nil { return err.Error() @@ -7679,7 +7680,7 @@ func RunPropertyAssignmentTestForManagedClusterSecurityProfileDefender_STATUS(su copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterSecurityProfileDefender_STATUS + var other v20231001s.ManagedClusterSecurityProfileDefender_STATUS err := copied.AssignProperties_To_ManagedClusterSecurityProfileDefender_STATUS(&other) if err != nil { return err.Error() @@ -7796,7 +7797,7 @@ func RunPropertyAssignmentTestForManagedClusterSecurityProfileImageCleaner(subje copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterSecurityProfileImageCleaner + var other v20231001s.ManagedClusterSecurityProfileImageCleaner err := copied.AssignProperties_To_ManagedClusterSecurityProfileImageCleaner(&other) if err != nil { return err.Error() @@ -7900,7 +7901,7 @@ func RunPropertyAssignmentTestForManagedClusterSecurityProfileImageCleaner_STATU copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterSecurityProfileImageCleaner_STATUS + var other v20231001s.ManagedClusterSecurityProfileImageCleaner_STATUS err := copied.AssignProperties_To_ManagedClusterSecurityProfileImageCleaner_STATUS(&other) if err != nil { return err.Error() @@ -8004,7 +8005,7 @@ func RunPropertyAssignmentTestForManagedClusterSecurityProfileWorkloadIdentity(s copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterSecurityProfileWorkloadIdentity + var other v20231001s.ManagedClusterSecurityProfileWorkloadIdentity err := copied.AssignProperties_To_ManagedClusterSecurityProfileWorkloadIdentity(&other) if err != nil { return err.Error() @@ -8107,7 +8108,7 @@ func RunPropertyAssignmentTestForManagedClusterSecurityProfileWorkloadIdentity_S copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterSecurityProfileWorkloadIdentity_STATUS + var other v20231001s.ManagedClusterSecurityProfileWorkloadIdentity_STATUS err := copied.AssignProperties_To_ManagedClusterSecurityProfileWorkloadIdentity_STATUS(&other) if err != nil { return err.Error() @@ -8210,7 +8211,7 @@ func RunPropertyAssignmentTestForManagedClusterSecurityProfile_STATUS(subject Ma copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterSecurityProfile_STATUS + var other v20231001s.ManagedClusterSecurityProfile_STATUS err := copied.AssignProperties_To_ManagedClusterSecurityProfile_STATUS(&other) if err != nil { return err.Error() @@ -8316,7 +8317,7 @@ func RunPropertyAssignmentTestForManagedClusterServicePrincipalProfile(subject M copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterServicePrincipalProfile + var other v20231001s.ManagedClusterServicePrincipalProfile err := copied.AssignProperties_To_ManagedClusterServicePrincipalProfile(&other) if err != nil { return err.Error() @@ -8419,7 +8420,7 @@ func RunPropertyAssignmentTestForManagedClusterServicePrincipalProfile_STATUS(su copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterServicePrincipalProfile_STATUS + var other v20231001s.ManagedClusterServicePrincipalProfile_STATUS err := copied.AssignProperties_To_ManagedClusterServicePrincipalProfile_STATUS(&other) if err != nil { return err.Error() @@ -8522,7 +8523,7 @@ func RunPropertyAssignmentTestForManagedClusterStorageProfile(subject ManagedClu copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterStorageProfile + var other v20231001s.ManagedClusterStorageProfile err := copied.AssignProperties_To_ManagedClusterStorageProfile(&other) if err != nil { return err.Error() @@ -8628,7 +8629,7 @@ func RunPropertyAssignmentTestForManagedClusterStorageProfileBlobCSIDriver(subje copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterStorageProfileBlobCSIDriver + var other v20231001s.ManagedClusterStorageProfileBlobCSIDriver err := copied.AssignProperties_To_ManagedClusterStorageProfileBlobCSIDriver(&other) if err != nil { return err.Error() @@ -8731,7 +8732,7 @@ func RunPropertyAssignmentTestForManagedClusterStorageProfileBlobCSIDriver_STATU copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterStorageProfileBlobCSIDriver_STATUS + var other v20231001s.ManagedClusterStorageProfileBlobCSIDriver_STATUS err := copied.AssignProperties_To_ManagedClusterStorageProfileBlobCSIDriver_STATUS(&other) if err != nil { return err.Error() @@ -8834,7 +8835,7 @@ func RunPropertyAssignmentTestForManagedClusterStorageProfileDiskCSIDriver(subje copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterStorageProfileDiskCSIDriver + var other v20231001s.ManagedClusterStorageProfileDiskCSIDriver err := copied.AssignProperties_To_ManagedClusterStorageProfileDiskCSIDriver(&other) if err != nil { return err.Error() @@ -8937,7 +8938,7 @@ func RunPropertyAssignmentTestForManagedClusterStorageProfileDiskCSIDriver_STATU copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterStorageProfileDiskCSIDriver_STATUS + var other v20231001s.ManagedClusterStorageProfileDiskCSIDriver_STATUS err := copied.AssignProperties_To_ManagedClusterStorageProfileDiskCSIDriver_STATUS(&other) if err != nil { return err.Error() @@ -9040,7 +9041,7 @@ func RunPropertyAssignmentTestForManagedClusterStorageProfileFileCSIDriver(subje copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterStorageProfileFileCSIDriver + var other v20231001s.ManagedClusterStorageProfileFileCSIDriver err := copied.AssignProperties_To_ManagedClusterStorageProfileFileCSIDriver(&other) if err != nil { return err.Error() @@ -9143,7 +9144,7 @@ func RunPropertyAssignmentTestForManagedClusterStorageProfileFileCSIDriver_STATU copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterStorageProfileFileCSIDriver_STATUS + var other v20231001s.ManagedClusterStorageProfileFileCSIDriver_STATUS err := copied.AssignProperties_To_ManagedClusterStorageProfileFileCSIDriver_STATUS(&other) if err != nil { return err.Error() @@ -9246,7 +9247,7 @@ func RunPropertyAssignmentTestForManagedClusterStorageProfileSnapshotController( copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterStorageProfileSnapshotController + var other v20231001s.ManagedClusterStorageProfileSnapshotController err := copied.AssignProperties_To_ManagedClusterStorageProfileSnapshotController(&other) if err != nil { return err.Error() @@ -9349,7 +9350,7 @@ func RunPropertyAssignmentTestForManagedClusterStorageProfileSnapshotController_ copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterStorageProfileSnapshotController_STATUS + var other v20231001s.ManagedClusterStorageProfileSnapshotController_STATUS err := copied.AssignProperties_To_ManagedClusterStorageProfileSnapshotController_STATUS(&other) if err != nil { return err.Error() @@ -9452,7 +9453,7 @@ func RunPropertyAssignmentTestForManagedClusterStorageProfile_STATUS(subject Man copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterStorageProfile_STATUS + var other v20231001s.ManagedClusterStorageProfile_STATUS err := copied.AssignProperties_To_ManagedClusterStorageProfile_STATUS(&other) if err != nil { return err.Error() @@ -9558,7 +9559,7 @@ func RunPropertyAssignmentTestForManagedClusterWindowsProfile(subject ManagedClu copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterWindowsProfile + var other v20231001s.ManagedClusterWindowsProfile err := copied.AssignProperties_To_ManagedClusterWindowsProfile(&other) if err != nil { return err.Error() @@ -9677,7 +9678,7 @@ func RunPropertyAssignmentTestForManagedClusterWindowsProfile_STATUS(subject Man copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterWindowsProfile_STATUS + var other v20231001s.ManagedClusterWindowsProfile_STATUS err := copied.AssignProperties_To_ManagedClusterWindowsProfile_STATUS(&other) if err != nil { return err.Error() @@ -9796,7 +9797,7 @@ func RunPropertyAssignmentTestForManagedClusterWorkloadAutoScalerProfile(subject copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterWorkloadAutoScalerProfile + var other v20231001s.ManagedClusterWorkloadAutoScalerProfile err := copied.AssignProperties_To_ManagedClusterWorkloadAutoScalerProfile(&other) if err != nil { return err.Error() @@ -9899,7 +9900,7 @@ func RunPropertyAssignmentTestForManagedClusterWorkloadAutoScalerProfileKeda(sub copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterWorkloadAutoScalerProfileKeda + var other v20231001s.ManagedClusterWorkloadAutoScalerProfileKeda err := copied.AssignProperties_To_ManagedClusterWorkloadAutoScalerProfileKeda(&other) if err != nil { return err.Error() @@ -10002,7 +10003,7 @@ func RunPropertyAssignmentTestForManagedClusterWorkloadAutoScalerProfileKeda_STA copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterWorkloadAutoScalerProfileKeda_STATUS + var other v20231001s.ManagedClusterWorkloadAutoScalerProfileKeda_STATUS err := copied.AssignProperties_To_ManagedClusterWorkloadAutoScalerProfileKeda_STATUS(&other) if err != nil { return err.Error() @@ -10105,7 +10106,7 @@ func RunPropertyAssignmentTestForManagedClusterWorkloadAutoScalerProfile_STATUS( copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterWorkloadAutoScalerProfile_STATUS + var other v20231001s.ManagedClusterWorkloadAutoScalerProfile_STATUS err := copied.AssignProperties_To_ManagedClusterWorkloadAutoScalerProfile_STATUS(&other) if err != nil { return err.Error() @@ -10208,7 +10209,7 @@ func RunPropertyAssignmentTestForManagedCluster_STATUS(subject ManagedCluster_ST copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedCluster_STATUS + var other v20231001s.ManagedCluster_STATUS err := copied.AssignProperties_To_ManagedCluster_STATUS(&other) if err != nil { return err.Error() @@ -10373,7 +10374,7 @@ func RunPropertyAssignmentTestForManagedCluster_Spec(subject ManagedCluster_Spec copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedCluster_Spec + var other v20231001s.ManagedCluster_Spec err := copied.AssignProperties_To_ManagedCluster_Spec(&other) if err != nil { return err.Error() @@ -10529,7 +10530,7 @@ func RunPropertyAssignmentTestForPowerState_STATUS(subject PowerState_STATUS) st copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.PowerState_STATUS + var other v20231001s.PowerState_STATUS err := copied.AssignProperties_To_PowerState_STATUS(&other) if err != nil { return err.Error() @@ -10631,7 +10632,7 @@ func RunPropertyAssignmentTestForPrivateLinkResource(subject PrivateLinkResource copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.PrivateLinkResource + var other v20231001s.PrivateLinkResource err := copied.AssignProperties_To_PrivateLinkResource(&other) if err != nil { return err.Error() @@ -10737,7 +10738,7 @@ func RunPropertyAssignmentTestForPrivateLinkResource_STATUS(subject PrivateLinkR copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.PrivateLinkResource_STATUS + var other v20231001s.PrivateLinkResource_STATUS err := copied.AssignProperties_To_PrivateLinkResource_STATUS(&other) if err != nil { return err.Error() @@ -10845,7 +10846,7 @@ func RunPropertyAssignmentTestForResourceReference(subject ResourceReference) st copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ResourceReference + var other v20231001s.ResourceReference err := copied.AssignProperties_To_ResourceReference(&other) if err != nil { return err.Error() @@ -10941,7 +10942,7 @@ func RunPropertyAssignmentTestForResourceReference_STATUS(subject ResourceRefere copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ResourceReference_STATUS + var other v20231001s.ResourceReference_STATUS err := copied.AssignProperties_To_ResourceReference_STATUS(&other) if err != nil { return err.Error() @@ -11044,7 +11045,7 @@ func RunPropertyAssignmentTestForSystemData_STATUS(subject SystemData_STATUS) st copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.SystemData_STATUS + var other v20231001s.SystemData_STATUS err := copied.AssignProperties_To_SystemData_STATUS(&other) if err != nil { return err.Error() @@ -11151,7 +11152,7 @@ func RunPropertyAssignmentTestForUserAssignedIdentity(subject UserAssignedIdenti copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.UserAssignedIdentity + var other v20231001s.UserAssignedIdentity err := copied.AssignProperties_To_UserAssignedIdentity(&other) if err != nil { return err.Error() @@ -11255,7 +11256,7 @@ func RunPropertyAssignmentTestForUserAssignedIdentityDetails(subject UserAssigne copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.UserAssignedIdentityDetails + var other v20231001s.UserAssignedIdentityDetails err := copied.AssignProperties_To_UserAssignedIdentityDetails(&other) if err != nil { return err.Error() @@ -11352,7 +11353,7 @@ func RunPropertyAssignmentTestForUserAssignedIdentity_STATUS(subject UserAssigne copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.UserAssignedIdentity_STATUS + var other v20231001s.UserAssignedIdentity_STATUS err := copied.AssignProperties_To_UserAssignedIdentity_STATUS(&other) if err != nil { return err.Error() @@ -11457,7 +11458,7 @@ func RunPropertyAssignmentTestForWindowsGmsaProfile(subject WindowsGmsaProfile) copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.WindowsGmsaProfile + var other v20231001s.WindowsGmsaProfile err := copied.AssignProperties_To_WindowsGmsaProfile(&other) if err != nil { return err.Error() @@ -11561,7 +11562,7 @@ func RunPropertyAssignmentTestForWindowsGmsaProfile_STATUS(subject WindowsGmsaPr copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.WindowsGmsaProfile_STATUS + var other v20231001s.WindowsGmsaProfile_STATUS err := copied.AssignProperties_To_WindowsGmsaProfile_STATUS(&other) if err != nil { return err.Error() diff --git a/v2/api/containerservice/v1api20230201/storage/managed_clusters_agent_pool_types_gen.go b/v2/api/containerservice/v1api20230201/storage/managed_clusters_agent_pool_types_gen.go index 1da0020060e..e37fb7c2a16 100644 --- a/v2/api/containerservice/v1api20230201/storage/managed_clusters_agent_pool_types_gen.go +++ b/v2/api/containerservice/v1api20230201/storage/managed_clusters_agent_pool_types_gen.go @@ -4,7 +4,6 @@ package storage import ( - "fmt" storage "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20231001/storage" "github.com/Azure/azure-service-operator/v2/pkg/genruntime" "github.com/Azure/azure-service-operator/v2/pkg/genruntime/conditions" @@ -47,22 +46,36 @@ var _ conversion.Convertible = &ManagedClustersAgentPool{} // ConvertFrom populates our ManagedClustersAgentPool from the provided hub ManagedClustersAgentPool func (pool *ManagedClustersAgentPool) ConvertFrom(hub conversion.Hub) error { - source, ok := hub.(*storage.ManagedClustersAgentPool) - if !ok { - return fmt.Errorf("expected containerservice/v1api20231001/storage/ManagedClustersAgentPool but received %T instead", hub) + // intermediate variable for conversion + var source storage.ManagedClustersAgentPool + + err := source.ConvertFrom(hub) + if err != nil { + return errors.Wrap(err, "converting from hub to source") + } + + err = pool.AssignProperties_From_ManagedClustersAgentPool(&source) + if err != nil { + return errors.Wrap(err, "converting from source to pool") } - return pool.AssignProperties_From_ManagedClustersAgentPool(source) + return nil } // ConvertTo populates the provided hub ManagedClustersAgentPool from our ManagedClustersAgentPool func (pool *ManagedClustersAgentPool) ConvertTo(hub conversion.Hub) error { - destination, ok := hub.(*storage.ManagedClustersAgentPool) - if !ok { - return fmt.Errorf("expected containerservice/v1api20231001/storage/ManagedClustersAgentPool but received %T instead", hub) + // intermediate variable for conversion + var destination storage.ManagedClustersAgentPool + err := pool.AssignProperties_To_ManagedClustersAgentPool(&destination) + if err != nil { + return errors.Wrap(err, "converting to destination from pool") + } + err = destination.ConvertTo(hub) + if err != nil { + return errors.Wrap(err, "converting from destination to hub") } - return pool.AssignProperties_To_ManagedClustersAgentPool(destination) + return nil } var _ genruntime.KubernetesResource = &ManagedClustersAgentPool{} @@ -1509,7 +1522,6 @@ func (pool *ManagedClustersAgentPool_STATUS) AssignProperties_To_ManagedClusters } // Storage version of v1api20230201.AgentPoolUpgradeSettings -// Settings for upgrading an agentpool type AgentPoolUpgradeSettings struct { MaxSurge *string `json:"maxSurge,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` @@ -1592,7 +1604,6 @@ func (settings *AgentPoolUpgradeSettings) AssignProperties_To_AgentPoolUpgradeSe } // Storage version of v1api20230201.AgentPoolUpgradeSettings_STATUS -// Settings for upgrading an agentpool type AgentPoolUpgradeSettings_STATUS struct { MaxSurge *string `json:"maxSurge,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` @@ -1685,11 +1696,8 @@ type augmentConversionForManagedClustersAgentPool_STATUS interface { } // Storage version of v1api20230201.CreationData -// Data used when creating a target resource from a source resource. type CreationData struct { - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` - - // SourceResourceReference: This is the ARM ID of the source object to be used to create the target object. + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` SourceResourceReference *genruntime.ResourceReference `armReference:"SourceResourceId" json:"sourceResourceReference,omitempty"` } @@ -1760,7 +1768,6 @@ func (data *CreationData) AssignProperties_To_CreationData(destination *storage. } // Storage version of v1api20230201.CreationData_STATUS -// Data used when creating a target resource from a source resource. type CreationData_STATUS struct { PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` SourceResourceId *string `json:"sourceResourceId,omitempty"` @@ -1823,7 +1830,6 @@ func (data *CreationData_STATUS) AssignProperties_To_CreationData_STATUS(destina } // Storage version of v1api20230201.KubeletConfig -// See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. type KubeletConfig struct { AllowedUnsafeSysctls []string `json:"allowedUnsafeSysctls,omitempty"` ContainerLogMaxFiles *int `json:"containerLogMaxFiles,omitempty"` @@ -1976,7 +1982,6 @@ func (config *KubeletConfig) AssignProperties_To_KubeletConfig(destination *stor } // Storage version of v1api20230201.KubeletConfig_STATUS -// See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. type KubeletConfig_STATUS struct { AllowedUnsafeSysctls []string `json:"allowedUnsafeSysctls,omitempty"` ContainerLogMaxFiles *int `json:"containerLogMaxFiles,omitempty"` @@ -2129,7 +2134,6 @@ func (config *KubeletConfig_STATUS) AssignProperties_To_KubeletConfig_STATUS(des } // Storage version of v1api20230201.LinuxOSConfig -// See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. type LinuxOSConfig struct { PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` SwapFileSizeMB *int `json:"swapFileSizeMB,omitempty"` @@ -2231,7 +2235,6 @@ func (config *LinuxOSConfig) AssignProperties_To_LinuxOSConfig(destination *stor } // Storage version of v1api20230201.LinuxOSConfig_STATUS -// See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. type LinuxOSConfig_STATUS struct { PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` SwapFileSizeMB *int `json:"swapFileSizeMB,omitempty"` @@ -2333,7 +2336,6 @@ func (config *LinuxOSConfig_STATUS) AssignProperties_To_LinuxOSConfig_STATUS(des } // Storage version of v1api20230201.PowerState -// Describes the Power State of the cluster type PowerState struct { Code *string `json:"code,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` @@ -2441,7 +2443,6 @@ type augmentConversionForPowerState interface { } // Storage version of v1api20230201.SysctlConfig -// Sysctl settings for Linux agent nodes. type SysctlConfig struct { FsAioMaxNr *int `json:"fsAioMaxNr,omitempty"` FsFileMax *int `json:"fsFileMax,omitempty"` @@ -2703,7 +2704,6 @@ func (config *SysctlConfig) AssignProperties_To_SysctlConfig(destination *storag } // Storage version of v1api20230201.SysctlConfig_STATUS -// Sysctl settings for Linux agent nodes. type SysctlConfig_STATUS struct { FsAioMaxNr *int `json:"fsAioMaxNr,omitempty"` FsFileMax *int `json:"fsFileMax,omitempty"` diff --git a/v2/api/containerservice/v1api20230201/storage/managed_clusters_agent_pool_types_gen_test.go b/v2/api/containerservice/v1api20230201/storage/managed_clusters_agent_pool_types_gen_test.go index e2fe7bef159..42cdca36f8a 100644 --- a/v2/api/containerservice/v1api20230201/storage/managed_clusters_agent_pool_types_gen_test.go +++ b/v2/api/containerservice/v1api20230201/storage/managed_clusters_agent_pool_types_gen_test.go @@ -5,7 +5,8 @@ package storage import ( "encoding/json" - storage "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20231001/storage" + v20231001s "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20231001/storage" + v20240901s "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20240901/storage" "github.com/google/go-cmp/cmp" "github.com/google/go-cmp/cmp/cmpopts" "github.com/kr/pretty" @@ -35,7 +36,7 @@ func RunPropertyAssignmentTestForAgentPoolUpgradeSettings(subject AgentPoolUpgra copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.AgentPoolUpgradeSettings + var other v20231001s.AgentPoolUpgradeSettings err := copied.AssignProperties_To_AgentPoolUpgradeSettings(&other) if err != nil { return err.Error() @@ -138,7 +139,7 @@ func RunPropertyAssignmentTestForAgentPoolUpgradeSettings_STATUS(subject AgentPo copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.AgentPoolUpgradeSettings_STATUS + var other v20231001s.AgentPoolUpgradeSettings_STATUS err := copied.AssignProperties_To_AgentPoolUpgradeSettings_STATUS(&other) if err != nil { return err.Error() @@ -241,7 +242,7 @@ func RunPropertyAssignmentTestForCreationData(subject CreationData) string { copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.CreationData + var other v20231001s.CreationData err := copied.AssignProperties_To_CreationData(&other) if err != nil { return err.Error() @@ -337,7 +338,7 @@ func RunPropertyAssignmentTestForCreationData_STATUS(subject CreationData_STATUS copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.CreationData_STATUS + var other v20231001s.CreationData_STATUS err := copied.AssignProperties_To_CreationData_STATUS(&other) if err != nil { return err.Error() @@ -440,7 +441,7 @@ func RunPropertyAssignmentTestForKubeletConfig(subject KubeletConfig) string { copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.KubeletConfig + var other v20231001s.KubeletConfig err := copied.AssignProperties_To_KubeletConfig(&other) if err != nil { return err.Error() @@ -552,7 +553,7 @@ func RunPropertyAssignmentTestForKubeletConfig_STATUS(subject KubeletConfig_STAT copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.KubeletConfig_STATUS + var other v20231001s.KubeletConfig_STATUS err := copied.AssignProperties_To_KubeletConfig_STATUS(&other) if err != nil { return err.Error() @@ -665,7 +666,7 @@ func RunPropertyAssignmentTestForLinuxOSConfig(subject LinuxOSConfig) string { copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.LinuxOSConfig + var other v20231001s.LinuxOSConfig err := copied.AssignProperties_To_LinuxOSConfig(&other) if err != nil { return err.Error() @@ -783,7 +784,7 @@ func RunPropertyAssignmentTestForLinuxOSConfig_STATUS(subject LinuxOSConfig_STAT copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.LinuxOSConfig_STATUS + var other v20231001s.LinuxOSConfig_STATUS err := copied.AssignProperties_To_LinuxOSConfig_STATUS(&other) if err != nil { return err.Error() @@ -903,7 +904,7 @@ func RunResourceConversionTestForManagedClustersAgentPool(subject ManagedCluster copied := subject.DeepCopy() // Convert to our hub version - var hub storage.ManagedClustersAgentPool + var hub v20240901s.ManagedClustersAgentPool err := copied.ConvertTo(&hub) if err != nil { return err.Error() @@ -945,7 +946,7 @@ func RunPropertyAssignmentTestForManagedClustersAgentPool(subject ManagedCluster copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClustersAgentPool + var other v20231001s.ManagedClustersAgentPool err := copied.AssignProperties_To_ManagedClustersAgentPool(&other) if err != nil { return err.Error() @@ -1049,7 +1050,7 @@ func RunPropertyAssignmentTestForManagedClustersAgentPool_STATUS(subject Managed copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClustersAgentPool_STATUS + var other v20231001s.ManagedClustersAgentPool_STATUS err := copied.AssignProperties_To_ManagedClustersAgentPool_STATUS(&other) if err != nil { return err.Error() @@ -1212,7 +1213,7 @@ func RunPropertyAssignmentTestForManagedClustersAgentPool_Spec(subject ManagedCl copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClustersAgentPool_Spec + var other v20231001s.ManagedClustersAgentPool_Spec err := copied.AssignProperties_To_ManagedClustersAgentPool_Spec(&other) if err != nil { return err.Error() @@ -1366,7 +1367,7 @@ func RunPropertyAssignmentTestForPowerState(subject PowerState) string { copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.PowerState + var other v20231001s.PowerState err := copied.AssignProperties_To_PowerState(&other) if err != nil { return err.Error() @@ -1468,7 +1469,7 @@ func RunPropertyAssignmentTestForSysctlConfig(subject SysctlConfig) string { copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.SysctlConfig + var other v20231001s.SysctlConfig err := copied.AssignProperties_To_SysctlConfig(&other) if err != nil { return err.Error() @@ -1597,7 +1598,7 @@ func RunPropertyAssignmentTestForSysctlConfig_STATUS(subject SysctlConfig_STATUS copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.SysctlConfig_STATUS + var other v20231001s.SysctlConfig_STATUS err := copied.AssignProperties_To_SysctlConfig_STATUS(&other) if err != nil { return err.Error() diff --git a/v2/api/containerservice/v1api20231001/managed_cluster_types_gen.go b/v2/api/containerservice/v1api20231001/managed_cluster_types_gen.go index 0d3e1c12809..7cd01b2aa6b 100644 --- a/v2/api/containerservice/v1api20231001/managed_cluster_types_gen.go +++ b/v2/api/containerservice/v1api20231001/managed_cluster_types_gen.go @@ -56,22 +56,36 @@ var _ conversion.Convertible = &ManagedCluster{} // ConvertFrom populates our ManagedCluster from the provided hub ManagedCluster func (cluster *ManagedCluster) ConvertFrom(hub conversion.Hub) error { - source, ok := hub.(*storage.ManagedCluster) - if !ok { - return fmt.Errorf("expected containerservice/v1api20231001/storage/ManagedCluster but received %T instead", hub) + // intermediate variable for conversion + var source storage.ManagedCluster + + err := source.ConvertFrom(hub) + if err != nil { + return errors.Wrap(err, "converting from hub to source") + } + + err = cluster.AssignProperties_From_ManagedCluster(&source) + if err != nil { + return errors.Wrap(err, "converting from source to cluster") } - return cluster.AssignProperties_From_ManagedCluster(source) + return nil } // ConvertTo populates the provided hub ManagedCluster from our ManagedCluster func (cluster *ManagedCluster) ConvertTo(hub conversion.Hub) error { - destination, ok := hub.(*storage.ManagedCluster) - if !ok { - return fmt.Errorf("expected containerservice/v1api20231001/storage/ManagedCluster but received %T instead", hub) + // intermediate variable for conversion + var destination storage.ManagedCluster + err := cluster.AssignProperties_To_ManagedCluster(&destination) + if err != nil { + return errors.Wrap(err, "converting to destination from cluster") + } + err = destination.ConvertTo(hub) + if err != nil { + return errors.Wrap(err, "converting from destination to hub") } - return cluster.AssignProperties_To_ManagedCluster(destination) + return nil } // +kubebuilder:webhook:path=/mutate-containerservice-azure-com-v1api20231001-managedcluster,mutating=true,sideEffects=None,matchPolicy=Exact,failurePolicy=fail,groups=containerservice.azure.com,resources=managedclusters,verbs=create;update,versions=v1api20231001,name=default.v1api20231001.managedclusters.containerservice.azure.com,admissionReviewVersions=v1 @@ -97,17 +111,6 @@ func (cluster *ManagedCluster) defaultAzureName() { // defaultImpl applies the code generated defaults to the ManagedCluster resource func (cluster *ManagedCluster) defaultImpl() { cluster.defaultAzureName() } -var _ genruntime.ImportableResource = &ManagedCluster{} - -// InitializeSpec initializes the spec for this resource from the given status -func (cluster *ManagedCluster) InitializeSpec(status genruntime.ConvertibleStatus) error { - if s, ok := status.(*ManagedCluster_STATUS); ok { - return cluster.Spec.Initialize_From_ManagedCluster_STATUS(s) - } - - return fmt.Errorf("expected Status of type ManagedCluster_STATUS but received %T instead", status) -} - var _ genruntime.KubernetesConfigExporter = &ManagedCluster{} // ExportKubernetesConfigMaps defines a resource which can create ConfigMaps in Kubernetes. @@ -2193,465 +2196,88 @@ func (cluster *ManagedCluster_Spec) AssignProperties_To_ManagedCluster_Spec(dest return nil } -// Initialize_From_ManagedCluster_STATUS populates our ManagedCluster_Spec from the provided source ManagedCluster_STATUS -func (cluster *ManagedCluster_Spec) Initialize_From_ManagedCluster_STATUS(source *ManagedCluster_STATUS) error { +// OriginalVersion returns the original API version used to create the resource. +func (cluster *ManagedCluster_Spec) OriginalVersion() string { + return GroupVersion.Version +} - // AadProfile - if source.AadProfile != nil { - var aadProfile ManagedClusterAADProfile - err := aadProfile.Initialize_From_ManagedClusterAADProfile_STATUS(source.AadProfile) - if err != nil { - return errors.Wrap(err, "calling Initialize_From_ManagedClusterAADProfile_STATUS() to populate field AadProfile") - } - cluster.AadProfile = &aadProfile - } else { - cluster.AadProfile = nil - } +// SetAzureName sets the Azure name of the resource +func (cluster *ManagedCluster_Spec) SetAzureName(azureName string) { cluster.AzureName = azureName } - // AddonProfiles - if source.AddonProfiles != nil { - addonProfileMap := make(map[string]ManagedClusterAddonProfile, len(source.AddonProfiles)) - for addonProfileKey, addonProfileValue := range source.AddonProfiles { - // Shadow the loop variable to avoid aliasing - addonProfileValue := addonProfileValue - var addonProfile ManagedClusterAddonProfile - err := addonProfile.Initialize_From_ManagedClusterAddonProfile_STATUS(&addonProfileValue) - if err != nil { - return errors.Wrap(err, "calling Initialize_From_ManagedClusterAddonProfile_STATUS() to populate field AddonProfiles") - } - addonProfileMap[addonProfileKey] = addonProfile - } - cluster.AddonProfiles = addonProfileMap - } else { - cluster.AddonProfiles = nil - } +// Managed cluster. +type ManagedCluster_STATUS struct { + // AadProfile: The Azure Active Directory configuration. + AadProfile *ManagedClusterAADProfile_STATUS `json:"aadProfile,omitempty"` - // AgentPoolProfiles - if source.AgentPoolProfiles != nil { - agentPoolProfileList := make([]ManagedClusterAgentPoolProfile, len(source.AgentPoolProfiles)) - for agentPoolProfileIndex, agentPoolProfileItem := range source.AgentPoolProfiles { - // Shadow the loop variable to avoid aliasing - agentPoolProfileItem := agentPoolProfileItem - var agentPoolProfile ManagedClusterAgentPoolProfile - err := agentPoolProfile.Initialize_From_ManagedClusterAgentPoolProfile_STATUS(&agentPoolProfileItem) - if err != nil { - return errors.Wrap(err, "calling Initialize_From_ManagedClusterAgentPoolProfile_STATUS() to populate field AgentPoolProfiles") - } - agentPoolProfileList[agentPoolProfileIndex] = agentPoolProfile - } - cluster.AgentPoolProfiles = agentPoolProfileList - } else { - cluster.AgentPoolProfiles = nil - } + // AddonProfiles: The profile of managed cluster add-on. + AddonProfiles map[string]ManagedClusterAddonProfile_STATUS `json:"addonProfiles,omitempty"` - // ApiServerAccessProfile - if source.ApiServerAccessProfile != nil { - var apiServerAccessProfile ManagedClusterAPIServerAccessProfile - err := apiServerAccessProfile.Initialize_From_ManagedClusterAPIServerAccessProfile_STATUS(source.ApiServerAccessProfile) - if err != nil { - return errors.Wrap(err, "calling Initialize_From_ManagedClusterAPIServerAccessProfile_STATUS() to populate field ApiServerAccessProfile") - } - cluster.ApiServerAccessProfile = &apiServerAccessProfile - } else { - cluster.ApiServerAccessProfile = nil - } + // AgentPoolProfiles: The agent pool properties. + AgentPoolProfiles []ManagedClusterAgentPoolProfile_STATUS `json:"agentPoolProfiles,omitempty"` - // AutoScalerProfile - if source.AutoScalerProfile != nil { - var autoScalerProfile ManagedClusterProperties_AutoScalerProfile - err := autoScalerProfile.Initialize_From_ManagedClusterProperties_AutoScalerProfile_STATUS(source.AutoScalerProfile) - if err != nil { - return errors.Wrap(err, "calling Initialize_From_ManagedClusterProperties_AutoScalerProfile_STATUS() to populate field AutoScalerProfile") - } - cluster.AutoScalerProfile = &autoScalerProfile - } else { - cluster.AutoScalerProfile = nil - } + // ApiServerAccessProfile: The access profile for managed cluster API server. + ApiServerAccessProfile *ManagedClusterAPIServerAccessProfile_STATUS `json:"apiServerAccessProfile,omitempty"` - // AutoUpgradeProfile - if source.AutoUpgradeProfile != nil { - var autoUpgradeProfile ManagedClusterAutoUpgradeProfile - err := autoUpgradeProfile.Initialize_From_ManagedClusterAutoUpgradeProfile_STATUS(source.AutoUpgradeProfile) - if err != nil { - return errors.Wrap(err, "calling Initialize_From_ManagedClusterAutoUpgradeProfile_STATUS() to populate field AutoUpgradeProfile") - } - cluster.AutoUpgradeProfile = &autoUpgradeProfile - } else { - cluster.AutoUpgradeProfile = nil - } + // AutoScalerProfile: Parameters to be applied to the cluster-autoscaler when enabled + AutoScalerProfile *ManagedClusterProperties_AutoScalerProfile_STATUS `json:"autoScalerProfile,omitempty"` - // AzureMonitorProfile - if source.AzureMonitorProfile != nil { - var azureMonitorProfile ManagedClusterAzureMonitorProfile - err := azureMonitorProfile.Initialize_From_ManagedClusterAzureMonitorProfile_STATUS(source.AzureMonitorProfile) - if err != nil { - return errors.Wrap(err, "calling Initialize_From_ManagedClusterAzureMonitorProfile_STATUS() to populate field AzureMonitorProfile") - } - cluster.AzureMonitorProfile = &azureMonitorProfile - } else { - cluster.AzureMonitorProfile = nil - } + // AutoUpgradeProfile: The auto upgrade configuration. + AutoUpgradeProfile *ManagedClusterAutoUpgradeProfile_STATUS `json:"autoUpgradeProfile,omitempty"` - // DisableLocalAccounts - if source.DisableLocalAccounts != nil { - disableLocalAccount := *source.DisableLocalAccounts - cluster.DisableLocalAccounts = &disableLocalAccount - } else { - cluster.DisableLocalAccounts = nil - } + // AzureMonitorProfile: Azure Monitor addon profiles for monitoring the managed cluster. + AzureMonitorProfile *ManagedClusterAzureMonitorProfile_STATUS `json:"azureMonitorProfile,omitempty"` - // DnsPrefix - cluster.DnsPrefix = genruntime.ClonePointerToString(source.DnsPrefix) + // AzurePortalFQDN: The Azure Portal requires certain Cross-Origin Resource Sharing (CORS) headers to be sent in some + // responses, which Kubernetes APIServer doesn't handle by default. This special FQDN supports CORS, allowing the Azure + // Portal to function properly. + AzurePortalFQDN *string `json:"azurePortalFQDN,omitempty"` - // EnablePodSecurityPolicy - if source.EnablePodSecurityPolicy != nil { - enablePodSecurityPolicy := *source.EnablePodSecurityPolicy - cluster.EnablePodSecurityPolicy = &enablePodSecurityPolicy - } else { - cluster.EnablePodSecurityPolicy = nil - } + // Conditions: The observed state of the resource + Conditions []conditions.Condition `json:"conditions,omitempty"` - // EnableRBAC - if source.EnableRBAC != nil { - enableRBAC := *source.EnableRBAC - cluster.EnableRBAC = &enableRBAC - } else { - cluster.EnableRBAC = nil - } + // CurrentKubernetesVersion: If kubernetesVersion was a fully specified version , this field will be + // exactly equal to it. If kubernetesVersion was , this field will contain the full + // version being used. + CurrentKubernetesVersion *string `json:"currentKubernetesVersion,omitempty"` - // ExtendedLocation - if source.ExtendedLocation != nil { - var extendedLocation ExtendedLocation - err := extendedLocation.Initialize_From_ExtendedLocation_STATUS(source.ExtendedLocation) - if err != nil { - return errors.Wrap(err, "calling Initialize_From_ExtendedLocation_STATUS() to populate field ExtendedLocation") - } - cluster.ExtendedLocation = &extendedLocation - } else { - cluster.ExtendedLocation = nil - } + // DisableLocalAccounts: If set to true, getting static credentials will be disabled for this cluster. This must only be + // used on Managed Clusters that are AAD enabled. For more details see [disable local + // accounts](https://docs.microsoft.com/azure/aks/managed-aad#disable-local-accounts-preview). + DisableLocalAccounts *bool `json:"disableLocalAccounts,omitempty"` - // FqdnSubdomain - cluster.FqdnSubdomain = genruntime.ClonePointerToString(source.FqdnSubdomain) + // DiskEncryptionSetID: This is of the form: + // '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}' + DiskEncryptionSetID *string `json:"diskEncryptionSetID,omitempty"` - // HttpProxyConfig - if source.HttpProxyConfig != nil { - var httpProxyConfig ManagedClusterHTTPProxyConfig - err := httpProxyConfig.Initialize_From_ManagedClusterHTTPProxyConfig_STATUS(source.HttpProxyConfig) - if err != nil { - return errors.Wrap(err, "calling Initialize_From_ManagedClusterHTTPProxyConfig_STATUS() to populate field HttpProxyConfig") - } - cluster.HttpProxyConfig = &httpProxyConfig - } else { - cluster.HttpProxyConfig = nil - } + // DnsPrefix: This cannot be updated once the Managed Cluster has been created. + DnsPrefix *string `json:"dnsPrefix,omitempty"` - // Identity - if source.Identity != nil { - var identity ManagedClusterIdentity - err := identity.Initialize_From_ManagedClusterIdentity_STATUS(source.Identity) - if err != nil { - return errors.Wrap(err, "calling Initialize_From_ManagedClusterIdentity_STATUS() to populate field Identity") - } - cluster.Identity = &identity - } else { - cluster.Identity = nil - } + // EnablePodSecurityPolicy: (DEPRECATED) Whether to enable Kubernetes pod security policy (preview). PodSecurityPolicy was + // deprecated in Kubernetes v1.21, and removed from Kubernetes in v1.25. Learn more at https://aka.ms/k8s/psp and + // https://aka.ms/aks/psp. + EnablePodSecurityPolicy *bool `json:"enablePodSecurityPolicy,omitempty"` - // IdentityProfile - if source.IdentityProfile != nil { - identityProfileMap := make(map[string]UserAssignedIdentity, len(source.IdentityProfile)) - for identityProfileKey, identityProfileValue := range source.IdentityProfile { - // Shadow the loop variable to avoid aliasing - identityProfileValue := identityProfileValue - var identityProfile UserAssignedIdentity - err := identityProfile.Initialize_From_UserAssignedIdentity_STATUS(&identityProfileValue) - if err != nil { - return errors.Wrap(err, "calling Initialize_From_UserAssignedIdentity_STATUS() to populate field IdentityProfile") - } - identityProfileMap[identityProfileKey] = identityProfile - } - cluster.IdentityProfile = identityProfileMap - } else { - cluster.IdentityProfile = nil - } + // EnableRBAC: Whether to enable Kubernetes Role-Based Access Control. + EnableRBAC *bool `json:"enableRBAC,omitempty"` - // KubernetesVersion - cluster.KubernetesVersion = genruntime.ClonePointerToString(source.KubernetesVersion) + // ExtendedLocation: The extended location of the Virtual Machine. + ExtendedLocation *ExtendedLocation_STATUS `json:"extendedLocation,omitempty"` - // LinuxProfile - if source.LinuxProfile != nil { - var linuxProfile ContainerServiceLinuxProfile - err := linuxProfile.Initialize_From_ContainerServiceLinuxProfile_STATUS(source.LinuxProfile) - if err != nil { - return errors.Wrap(err, "calling Initialize_From_ContainerServiceLinuxProfile_STATUS() to populate field LinuxProfile") - } - cluster.LinuxProfile = &linuxProfile - } else { - cluster.LinuxProfile = nil - } + // Fqdn: The FQDN of the master pool. + Fqdn *string `json:"fqdn,omitempty"` - // Location - cluster.Location = genruntime.ClonePointerToString(source.Location) + // FqdnSubdomain: This cannot be updated once the Managed Cluster has been created. + FqdnSubdomain *string `json:"fqdnSubdomain,omitempty"` - // NetworkProfile - if source.NetworkProfile != nil { - var networkProfile ContainerServiceNetworkProfile - err := networkProfile.Initialize_From_ContainerServiceNetworkProfile_STATUS(source.NetworkProfile) - if err != nil { - return errors.Wrap(err, "calling Initialize_From_ContainerServiceNetworkProfile_STATUS() to populate field NetworkProfile") - } - cluster.NetworkProfile = &networkProfile - } else { - cluster.NetworkProfile = nil - } + // HttpProxyConfig: Configurations for provisioning the cluster with HTTP proxy servers. + HttpProxyConfig *ManagedClusterHTTPProxyConfig_STATUS `json:"httpProxyConfig,omitempty"` - // NodeResourceGroup - cluster.NodeResourceGroup = genruntime.ClonePointerToString(source.NodeResourceGroup) + // Id: Fully qualified resource ID for the resource. E.g. + // "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + Id *string `json:"id,omitempty"` - // OidcIssuerProfile - if source.OidcIssuerProfile != nil { - var oidcIssuerProfile ManagedClusterOIDCIssuerProfile - err := oidcIssuerProfile.Initialize_From_ManagedClusterOIDCIssuerProfile_STATUS(source.OidcIssuerProfile) - if err != nil { - return errors.Wrap(err, "calling Initialize_From_ManagedClusterOIDCIssuerProfile_STATUS() to populate field OidcIssuerProfile") - } - cluster.OidcIssuerProfile = &oidcIssuerProfile - } else { - cluster.OidcIssuerProfile = nil - } - - // PodIdentityProfile - if source.PodIdentityProfile != nil { - var podIdentityProfile ManagedClusterPodIdentityProfile - err := podIdentityProfile.Initialize_From_ManagedClusterPodIdentityProfile_STATUS(source.PodIdentityProfile) - if err != nil { - return errors.Wrap(err, "calling Initialize_From_ManagedClusterPodIdentityProfile_STATUS() to populate field PodIdentityProfile") - } - cluster.PodIdentityProfile = &podIdentityProfile - } else { - cluster.PodIdentityProfile = nil - } - - // PrivateLinkResources - if source.PrivateLinkResources != nil { - privateLinkResourceList := make([]PrivateLinkResource, len(source.PrivateLinkResources)) - for privateLinkResourceIndex, privateLinkResourceItem := range source.PrivateLinkResources { - // Shadow the loop variable to avoid aliasing - privateLinkResourceItem := privateLinkResourceItem - var privateLinkResource PrivateLinkResource - err := privateLinkResource.Initialize_From_PrivateLinkResource_STATUS(&privateLinkResourceItem) - if err != nil { - return errors.Wrap(err, "calling Initialize_From_PrivateLinkResource_STATUS() to populate field PrivateLinkResources") - } - privateLinkResourceList[privateLinkResourceIndex] = privateLinkResource - } - cluster.PrivateLinkResources = privateLinkResourceList - } else { - cluster.PrivateLinkResources = nil - } - - // PublicNetworkAccess - if source.PublicNetworkAccess != nil { - publicNetworkAccess := genruntime.ToEnum(string(*source.PublicNetworkAccess), managedClusterProperties_PublicNetworkAccess_Values) - cluster.PublicNetworkAccess = &publicNetworkAccess - } else { - cluster.PublicNetworkAccess = nil - } - - // SecurityProfile - if source.SecurityProfile != nil { - var securityProfile ManagedClusterSecurityProfile - err := securityProfile.Initialize_From_ManagedClusterSecurityProfile_STATUS(source.SecurityProfile) - if err != nil { - return errors.Wrap(err, "calling Initialize_From_ManagedClusterSecurityProfile_STATUS() to populate field SecurityProfile") - } - cluster.SecurityProfile = &securityProfile - } else { - cluster.SecurityProfile = nil - } - - // ServiceMeshProfile - if source.ServiceMeshProfile != nil { - var serviceMeshProfile ServiceMeshProfile - err := serviceMeshProfile.Initialize_From_ServiceMeshProfile_STATUS(source.ServiceMeshProfile) - if err != nil { - return errors.Wrap(err, "calling Initialize_From_ServiceMeshProfile_STATUS() to populate field ServiceMeshProfile") - } - cluster.ServiceMeshProfile = &serviceMeshProfile - } else { - cluster.ServiceMeshProfile = nil - } - - // ServicePrincipalProfile - if source.ServicePrincipalProfile != nil { - var servicePrincipalProfile ManagedClusterServicePrincipalProfile - err := servicePrincipalProfile.Initialize_From_ManagedClusterServicePrincipalProfile_STATUS(source.ServicePrincipalProfile) - if err != nil { - return errors.Wrap(err, "calling Initialize_From_ManagedClusterServicePrincipalProfile_STATUS() to populate field ServicePrincipalProfile") - } - cluster.ServicePrincipalProfile = &servicePrincipalProfile - } else { - cluster.ServicePrincipalProfile = nil - } - - // Sku - if source.Sku != nil { - var sku ManagedClusterSKU - err := sku.Initialize_From_ManagedClusterSKU_STATUS(source.Sku) - if err != nil { - return errors.Wrap(err, "calling Initialize_From_ManagedClusterSKU_STATUS() to populate field Sku") - } - cluster.Sku = &sku - } else { - cluster.Sku = nil - } - - // StorageProfile - if source.StorageProfile != nil { - var storageProfile ManagedClusterStorageProfile - err := storageProfile.Initialize_From_ManagedClusterStorageProfile_STATUS(source.StorageProfile) - if err != nil { - return errors.Wrap(err, "calling Initialize_From_ManagedClusterStorageProfile_STATUS() to populate field StorageProfile") - } - cluster.StorageProfile = &storageProfile - } else { - cluster.StorageProfile = nil - } - - // SupportPlan - if source.SupportPlan != nil { - supportPlan := genruntime.ToEnum(string(*source.SupportPlan), kubernetesSupportPlan_Values) - cluster.SupportPlan = &supportPlan - } else { - cluster.SupportPlan = nil - } - - // Tags - cluster.Tags = genruntime.CloneMapOfStringToString(source.Tags) - - // UpgradeSettings - if source.UpgradeSettings != nil { - var upgradeSetting ClusterUpgradeSettings - err := upgradeSetting.Initialize_From_ClusterUpgradeSettings_STATUS(source.UpgradeSettings) - if err != nil { - return errors.Wrap(err, "calling Initialize_From_ClusterUpgradeSettings_STATUS() to populate field UpgradeSettings") - } - cluster.UpgradeSettings = &upgradeSetting - } else { - cluster.UpgradeSettings = nil - } - - // WindowsProfile - if source.WindowsProfile != nil { - var windowsProfile ManagedClusterWindowsProfile - err := windowsProfile.Initialize_From_ManagedClusterWindowsProfile_STATUS(source.WindowsProfile) - if err != nil { - return errors.Wrap(err, "calling Initialize_From_ManagedClusterWindowsProfile_STATUS() to populate field WindowsProfile") - } - cluster.WindowsProfile = &windowsProfile - } else { - cluster.WindowsProfile = nil - } - - // WorkloadAutoScalerProfile - if source.WorkloadAutoScalerProfile != nil { - var workloadAutoScalerProfile ManagedClusterWorkloadAutoScalerProfile - err := workloadAutoScalerProfile.Initialize_From_ManagedClusterWorkloadAutoScalerProfile_STATUS(source.WorkloadAutoScalerProfile) - if err != nil { - return errors.Wrap(err, "calling Initialize_From_ManagedClusterWorkloadAutoScalerProfile_STATUS() to populate field WorkloadAutoScalerProfile") - } - cluster.WorkloadAutoScalerProfile = &workloadAutoScalerProfile - } else { - cluster.WorkloadAutoScalerProfile = nil - } - - // No error - return nil -} - -// OriginalVersion returns the original API version used to create the resource. -func (cluster *ManagedCluster_Spec) OriginalVersion() string { - return GroupVersion.Version -} - -// SetAzureName sets the Azure name of the resource -func (cluster *ManagedCluster_Spec) SetAzureName(azureName string) { cluster.AzureName = azureName } - -// Managed cluster. -type ManagedCluster_STATUS struct { - // AadProfile: The Azure Active Directory configuration. - AadProfile *ManagedClusterAADProfile_STATUS `json:"aadProfile,omitempty"` - - // AddonProfiles: The profile of managed cluster add-on. - AddonProfiles map[string]ManagedClusterAddonProfile_STATUS `json:"addonProfiles,omitempty"` - - // AgentPoolProfiles: The agent pool properties. - AgentPoolProfiles []ManagedClusterAgentPoolProfile_STATUS `json:"agentPoolProfiles,omitempty"` - - // ApiServerAccessProfile: The access profile for managed cluster API server. - ApiServerAccessProfile *ManagedClusterAPIServerAccessProfile_STATUS `json:"apiServerAccessProfile,omitempty"` - - // AutoScalerProfile: Parameters to be applied to the cluster-autoscaler when enabled - AutoScalerProfile *ManagedClusterProperties_AutoScalerProfile_STATUS `json:"autoScalerProfile,omitempty"` - - // AutoUpgradeProfile: The auto upgrade configuration. - AutoUpgradeProfile *ManagedClusterAutoUpgradeProfile_STATUS `json:"autoUpgradeProfile,omitempty"` - - // AzureMonitorProfile: Azure Monitor addon profiles for monitoring the managed cluster. - AzureMonitorProfile *ManagedClusterAzureMonitorProfile_STATUS `json:"azureMonitorProfile,omitempty"` - - // AzurePortalFQDN: The Azure Portal requires certain Cross-Origin Resource Sharing (CORS) headers to be sent in some - // responses, which Kubernetes APIServer doesn't handle by default. This special FQDN supports CORS, allowing the Azure - // Portal to function properly. - AzurePortalFQDN *string `json:"azurePortalFQDN,omitempty"` - - // Conditions: The observed state of the resource - Conditions []conditions.Condition `json:"conditions,omitempty"` - - // CurrentKubernetesVersion: If kubernetesVersion was a fully specified version , this field will be - // exactly equal to it. If kubernetesVersion was , this field will contain the full - // version being used. - CurrentKubernetesVersion *string `json:"currentKubernetesVersion,omitempty"` - - // DisableLocalAccounts: If set to true, getting static credentials will be disabled for this cluster. This must only be - // used on Managed Clusters that are AAD enabled. For more details see [disable local - // accounts](https://docs.microsoft.com/azure/aks/managed-aad#disable-local-accounts-preview). - DisableLocalAccounts *bool `json:"disableLocalAccounts,omitempty"` - - // DiskEncryptionSetID: This is of the form: - // '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}' - DiskEncryptionSetID *string `json:"diskEncryptionSetID,omitempty"` - - // DnsPrefix: This cannot be updated once the Managed Cluster has been created. - DnsPrefix *string `json:"dnsPrefix,omitempty"` - - // EnablePodSecurityPolicy: (DEPRECATED) Whether to enable Kubernetes pod security policy (preview). PodSecurityPolicy was - // deprecated in Kubernetes v1.21, and removed from Kubernetes in v1.25. Learn more at https://aka.ms/k8s/psp and - // https://aka.ms/aks/psp. - EnablePodSecurityPolicy *bool `json:"enablePodSecurityPolicy,omitempty"` - - // EnableRBAC: Whether to enable Kubernetes Role-Based Access Control. - EnableRBAC *bool `json:"enableRBAC,omitempty"` - - // ExtendedLocation: The extended location of the Virtual Machine. - ExtendedLocation *ExtendedLocation_STATUS `json:"extendedLocation,omitempty"` - - // Fqdn: The FQDN of the master pool. - Fqdn *string `json:"fqdn,omitempty"` - - // FqdnSubdomain: This cannot be updated once the Managed Cluster has been created. - FqdnSubdomain *string `json:"fqdnSubdomain,omitempty"` - - // HttpProxyConfig: Configurations for provisioning the cluster with HTTP proxy servers. - HttpProxyConfig *ManagedClusterHTTPProxyConfig_STATUS `json:"httpProxyConfig,omitempty"` - - // Id: Fully qualified resource ID for the resource. E.g. - // "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" - Id *string `json:"id,omitempty"` - - // Identity: The identity of the managed cluster, if configured. - Identity *ManagedClusterIdentity_STATUS `json:"identity,omitempty"` + // Identity: The identity of the managed cluster, if configured. + Identity *ManagedClusterIdentity_STATUS `json:"identity,omitempty"` // IdentityProfile: Identities associated with the cluster. IdentityProfile map[string]UserAssignedIdentity_STATUS `json:"identityProfile,omitempty"` @@ -4346,25 +3972,6 @@ func (settings *ClusterUpgradeSettings) AssignProperties_To_ClusterUpgradeSettin return nil } -// Initialize_From_ClusterUpgradeSettings_STATUS populates our ClusterUpgradeSettings from the provided source ClusterUpgradeSettings_STATUS -func (settings *ClusterUpgradeSettings) Initialize_From_ClusterUpgradeSettings_STATUS(source *ClusterUpgradeSettings_STATUS) error { - - // OverrideSettings - if source.OverrideSettings != nil { - var overrideSetting UpgradeOverrideSettings - err := overrideSetting.Initialize_From_UpgradeOverrideSettings_STATUS(source.OverrideSettings) - if err != nil { - return errors.Wrap(err, "calling Initialize_From_UpgradeOverrideSettings_STATUS() to populate field OverrideSettings") - } - settings.OverrideSettings = &overrideSetting - } else { - settings.OverrideSettings = nil - } - - // No error - return nil -} - // Settings for upgrading a cluster. type ClusterUpgradeSettings_STATUS struct { // OverrideSettings: Settings for overrides. @@ -4582,33 +4189,6 @@ func (profile *ContainerServiceLinuxProfile) AssignProperties_To_ContainerServic return nil } -// Initialize_From_ContainerServiceLinuxProfile_STATUS populates our ContainerServiceLinuxProfile from the provided source ContainerServiceLinuxProfile_STATUS -func (profile *ContainerServiceLinuxProfile) Initialize_From_ContainerServiceLinuxProfile_STATUS(source *ContainerServiceLinuxProfile_STATUS) error { - - // AdminUsername - if source.AdminUsername != nil { - adminUsername := *source.AdminUsername - profile.AdminUsername = &adminUsername - } else { - profile.AdminUsername = nil - } - - // Ssh - if source.Ssh != nil { - var ssh ContainerServiceSshConfiguration - err := ssh.Initialize_From_ContainerServiceSshConfiguration_STATUS(source.Ssh) - if err != nil { - return errors.Wrap(err, "calling Initialize_From_ContainerServiceSshConfiguration_STATUS() to populate field Ssh") - } - profile.Ssh = &ssh - } else { - profile.Ssh = nil - } - - // No error - return nil -} - // Profile for Linux VMs in the container service cluster. type ContainerServiceLinuxProfile_STATUS struct { // AdminUsername: The administrator username to use for Linux VMs. @@ -5292,142 +4872,11 @@ func (profile *ContainerServiceNetworkProfile) AssignProperties_To_ContainerServ return nil } -// Initialize_From_ContainerServiceNetworkProfile_STATUS populates our ContainerServiceNetworkProfile from the provided source ContainerServiceNetworkProfile_STATUS -func (profile *ContainerServiceNetworkProfile) Initialize_From_ContainerServiceNetworkProfile_STATUS(source *ContainerServiceNetworkProfile_STATUS) error { - - // DnsServiceIP - if source.DnsServiceIP != nil { - dnsServiceIP := *source.DnsServiceIP - profile.DnsServiceIP = &dnsServiceIP - } else { - profile.DnsServiceIP = nil - } - - // IpFamilies - if source.IpFamilies != nil { - ipFamilyList := make([]ContainerServiceNetworkProfile_IpFamilies, len(source.IpFamilies)) - for ipFamilyIndex, ipFamilyItem := range source.IpFamilies { - // Shadow the loop variable to avoid aliasing - ipFamilyItem := ipFamilyItem - ipFamily := genruntime.ToEnum(string(ipFamilyItem), containerServiceNetworkProfile_IpFamilies_Values) - ipFamilyList[ipFamilyIndex] = ipFamily - } - profile.IpFamilies = ipFamilyList - } else { - profile.IpFamilies = nil - } - - // LoadBalancerProfile - if source.LoadBalancerProfile != nil { - var loadBalancerProfile ManagedClusterLoadBalancerProfile - err := loadBalancerProfile.Initialize_From_ManagedClusterLoadBalancerProfile_STATUS(source.LoadBalancerProfile) - if err != nil { - return errors.Wrap(err, "calling Initialize_From_ManagedClusterLoadBalancerProfile_STATUS() to populate field LoadBalancerProfile") - } - profile.LoadBalancerProfile = &loadBalancerProfile - } else { - profile.LoadBalancerProfile = nil - } - - // LoadBalancerSku - if source.LoadBalancerSku != nil { - loadBalancerSku := genruntime.ToEnum(string(*source.LoadBalancerSku), containerServiceNetworkProfile_LoadBalancerSku_Values) - profile.LoadBalancerSku = &loadBalancerSku - } else { - profile.LoadBalancerSku = nil - } - - // NatGatewayProfile - if source.NatGatewayProfile != nil { - var natGatewayProfile ManagedClusterNATGatewayProfile - err := natGatewayProfile.Initialize_From_ManagedClusterNATGatewayProfile_STATUS(source.NatGatewayProfile) - if err != nil { - return errors.Wrap(err, "calling Initialize_From_ManagedClusterNATGatewayProfile_STATUS() to populate field NatGatewayProfile") - } - profile.NatGatewayProfile = &natGatewayProfile - } else { - profile.NatGatewayProfile = nil - } - - // NetworkDataplane - if source.NetworkDataplane != nil { - networkDataplane := genruntime.ToEnum(string(*source.NetworkDataplane), containerServiceNetworkProfile_NetworkDataplane_Values) - profile.NetworkDataplane = &networkDataplane - } else { - profile.NetworkDataplane = nil - } - - // NetworkMode - if source.NetworkMode != nil { - networkMode := genruntime.ToEnum(string(*source.NetworkMode), containerServiceNetworkProfile_NetworkMode_Values) - profile.NetworkMode = &networkMode - } else { - profile.NetworkMode = nil - } - - // NetworkPlugin - if source.NetworkPlugin != nil { - networkPlugin := genruntime.ToEnum(string(*source.NetworkPlugin), networkPlugin_Values) - profile.NetworkPlugin = &networkPlugin - } else { - profile.NetworkPlugin = nil - } - - // NetworkPluginMode - if source.NetworkPluginMode != nil { - networkPluginMode := genruntime.ToEnum(string(*source.NetworkPluginMode), containerServiceNetworkProfile_NetworkPluginMode_Values) - profile.NetworkPluginMode = &networkPluginMode - } else { - profile.NetworkPluginMode = nil - } - - // NetworkPolicy - if source.NetworkPolicy != nil { - networkPolicy := genruntime.ToEnum(string(*source.NetworkPolicy), containerServiceNetworkProfile_NetworkPolicy_Values) - profile.NetworkPolicy = &networkPolicy - } else { - profile.NetworkPolicy = nil - } - - // OutboundType - if source.OutboundType != nil { - outboundType := genruntime.ToEnum(string(*source.OutboundType), containerServiceNetworkProfile_OutboundType_Values) - profile.OutboundType = &outboundType - } else { - profile.OutboundType = nil - } - - // PodCidr - if source.PodCidr != nil { - podCidr := *source.PodCidr - profile.PodCidr = &podCidr - } else { - profile.PodCidr = nil - } - - // PodCidrs - profile.PodCidrs = genruntime.CloneSliceOfString(source.PodCidrs) - - // ServiceCidr - if source.ServiceCidr != nil { - serviceCidr := *source.ServiceCidr - profile.ServiceCidr = &serviceCidr - } else { - profile.ServiceCidr = nil - } - - // ServiceCidrs - profile.ServiceCidrs = genruntime.CloneSliceOfString(source.ServiceCidrs) - - // No error - return nil -} - -// Profile of network configuration. -type ContainerServiceNetworkProfile_STATUS struct { - // DnsServiceIP: An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address - // range specified in serviceCidr. - DnsServiceIP *string `json:"dnsServiceIP,omitempty"` +// Profile of network configuration. +type ContainerServiceNetworkProfile_STATUS struct { + // DnsServiceIP: An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address + // range specified in serviceCidr. + DnsServiceIP *string `json:"dnsServiceIP,omitempty"` // IpFamilies: IP families are used to determine single-stack or dual-stack clusters. For single-stack, the expected value // is IPv4. For dual-stack, the expected values are IPv4 and IPv6. @@ -5966,24 +5415,6 @@ func (location *ExtendedLocation) AssignProperties_To_ExtendedLocation(destinati return nil } -// Initialize_From_ExtendedLocation_STATUS populates our ExtendedLocation from the provided source ExtendedLocation_STATUS -func (location *ExtendedLocation) Initialize_From_ExtendedLocation_STATUS(source *ExtendedLocation_STATUS) error { - - // Name - location.Name = genruntime.ClonePointerToString(source.Name) - - // Type - if source.Type != nil { - typeVar := genruntime.ToEnum(string(*source.Type), extendedLocationType_Values) - location.Type = &typeVar - } else { - location.Type = nil - } - - // No error - return nil -} - // The complex type of the extended location. type ExtendedLocation_STATUS struct { // Name: The name of the extended location. @@ -6319,44 +5750,6 @@ func (profile *ManagedClusterAADProfile) AssignProperties_To_ManagedClusterAADPr return nil } -// Initialize_From_ManagedClusterAADProfile_STATUS populates our ManagedClusterAADProfile from the provided source ManagedClusterAADProfile_STATUS -func (profile *ManagedClusterAADProfile) Initialize_From_ManagedClusterAADProfile_STATUS(source *ManagedClusterAADProfile_STATUS) error { - - // AdminGroupObjectIDs - profile.AdminGroupObjectIDs = genruntime.CloneSliceOfString(source.AdminGroupObjectIDs) - - // ClientAppID - profile.ClientAppID = genruntime.ClonePointerToString(source.ClientAppID) - - // EnableAzureRBAC - if source.EnableAzureRBAC != nil { - enableAzureRBAC := *source.EnableAzureRBAC - profile.EnableAzureRBAC = &enableAzureRBAC - } else { - profile.EnableAzureRBAC = nil - } - - // Managed - if source.Managed != nil { - managed := *source.Managed - profile.Managed = &managed - } else { - profile.Managed = nil - } - - // ServerAppID - profile.ServerAppID = genruntime.ClonePointerToString(source.ServerAppID) - - // ServerAppSecret - profile.ServerAppSecret = genruntime.ClonePointerToString(source.ServerAppSecret) - - // TenantID - profile.TenantID = genruntime.ClonePointerToString(source.TenantID) - - // No error - return nil -} - // For more details see [managed AAD on AKS](https://docs.microsoft.com/azure/aks/managed-aad). type ManagedClusterAADProfile_STATUS struct { // AdminGroupObjectIDs: The list of AAD group object IDs that will have admin role of the cluster. @@ -6636,24 +6029,6 @@ func (profile *ManagedClusterAddonProfile) AssignProperties_To_ManagedClusterAdd return nil } -// Initialize_From_ManagedClusterAddonProfile_STATUS populates our ManagedClusterAddonProfile from the provided source ManagedClusterAddonProfile_STATUS -func (profile *ManagedClusterAddonProfile) Initialize_From_ManagedClusterAddonProfile_STATUS(source *ManagedClusterAddonProfile_STATUS) error { - - // Config - profile.Config = genruntime.CloneMapOfStringToString(source.Config) - - // Enabled - if source.Enabled != nil { - enabled := *source.Enabled - profile.Enabled = &enabled - } else { - profile.Enabled = nil - } - - // No error - return nil -} - // A Kubernetes add-on profile for a managed cluster. type ManagedClusterAddonProfile_STATUS struct { // Config: Key-value pairs for configuring an add-on. @@ -8212,268 +7587,7 @@ func (profile *ManagedClusterAgentPoolProfile) AssignProperties_To_ManagedCluste if len(propertyBag) > 0 { destination.PropertyBag = propertyBag } else { - destination.PropertyBag = nil - } - - // No error - return nil -} - -// Initialize_From_ManagedClusterAgentPoolProfile_STATUS populates our ManagedClusterAgentPoolProfile from the provided source ManagedClusterAgentPoolProfile_STATUS -func (profile *ManagedClusterAgentPoolProfile) Initialize_From_ManagedClusterAgentPoolProfile_STATUS(source *ManagedClusterAgentPoolProfile_STATUS) error { - - // AvailabilityZones - profile.AvailabilityZones = genruntime.CloneSliceOfString(source.AvailabilityZones) - - // Count - profile.Count = genruntime.ClonePointerToInt(source.Count) - - // CreationData - if source.CreationData != nil { - var creationDatum CreationData - err := creationDatum.Initialize_From_CreationData_STATUS(source.CreationData) - if err != nil { - return errors.Wrap(err, "calling Initialize_From_CreationData_STATUS() to populate field CreationData") - } - profile.CreationData = &creationDatum - } else { - profile.CreationData = nil - } - - // EnableAutoScaling - if source.EnableAutoScaling != nil { - enableAutoScaling := *source.EnableAutoScaling - profile.EnableAutoScaling = &enableAutoScaling - } else { - profile.EnableAutoScaling = nil - } - - // EnableEncryptionAtHost - if source.EnableEncryptionAtHost != nil { - enableEncryptionAtHost := *source.EnableEncryptionAtHost - profile.EnableEncryptionAtHost = &enableEncryptionAtHost - } else { - profile.EnableEncryptionAtHost = nil - } - - // EnableFIPS - if source.EnableFIPS != nil { - enableFIPS := *source.EnableFIPS - profile.EnableFIPS = &enableFIPS - } else { - profile.EnableFIPS = nil - } - - // EnableNodePublicIP - if source.EnableNodePublicIP != nil { - enableNodePublicIP := *source.EnableNodePublicIP - profile.EnableNodePublicIP = &enableNodePublicIP - } else { - profile.EnableNodePublicIP = nil - } - - // EnableUltraSSD - if source.EnableUltraSSD != nil { - enableUltraSSD := *source.EnableUltraSSD - profile.EnableUltraSSD = &enableUltraSSD - } else { - profile.EnableUltraSSD = nil - } - - // GpuInstanceProfile - if source.GpuInstanceProfile != nil { - gpuInstanceProfile := genruntime.ToEnum(string(*source.GpuInstanceProfile), gPUInstanceProfile_Values) - profile.GpuInstanceProfile = &gpuInstanceProfile - } else { - profile.GpuInstanceProfile = nil - } - - // KubeletConfig - if source.KubeletConfig != nil { - var kubeletConfig KubeletConfig - err := kubeletConfig.Initialize_From_KubeletConfig_STATUS(source.KubeletConfig) - if err != nil { - return errors.Wrap(err, "calling Initialize_From_KubeletConfig_STATUS() to populate field KubeletConfig") - } - profile.KubeletConfig = &kubeletConfig - } else { - profile.KubeletConfig = nil - } - - // KubeletDiskType - if source.KubeletDiskType != nil { - kubeletDiskType := genruntime.ToEnum(string(*source.KubeletDiskType), kubeletDiskType_Values) - profile.KubeletDiskType = &kubeletDiskType - } else { - profile.KubeletDiskType = nil - } - - // LinuxOSConfig - if source.LinuxOSConfig != nil { - var linuxOSConfig LinuxOSConfig - err := linuxOSConfig.Initialize_From_LinuxOSConfig_STATUS(source.LinuxOSConfig) - if err != nil { - return errors.Wrap(err, "calling Initialize_From_LinuxOSConfig_STATUS() to populate field LinuxOSConfig") - } - profile.LinuxOSConfig = &linuxOSConfig - } else { - profile.LinuxOSConfig = nil - } - - // MaxCount - profile.MaxCount = genruntime.ClonePointerToInt(source.MaxCount) - - // MaxPods - profile.MaxPods = genruntime.ClonePointerToInt(source.MaxPods) - - // MinCount - profile.MinCount = genruntime.ClonePointerToInt(source.MinCount) - - // Mode - if source.Mode != nil { - mode := genruntime.ToEnum(string(*source.Mode), agentPoolMode_Values) - profile.Mode = &mode - } else { - profile.Mode = nil - } - - // Name - if source.Name != nil { - name := *source.Name - profile.Name = &name - } else { - profile.Name = nil - } - - // NetworkProfile - if source.NetworkProfile != nil { - var networkProfile AgentPoolNetworkProfile - err := networkProfile.Initialize_From_AgentPoolNetworkProfile_STATUS(source.NetworkProfile) - if err != nil { - return errors.Wrap(err, "calling Initialize_From_AgentPoolNetworkProfile_STATUS() to populate field NetworkProfile") - } - profile.NetworkProfile = &networkProfile - } else { - profile.NetworkProfile = nil - } - - // NodeLabels - profile.NodeLabels = genruntime.CloneMapOfStringToString(source.NodeLabels) - - // NodeTaints - profile.NodeTaints = genruntime.CloneSliceOfString(source.NodeTaints) - - // OrchestratorVersion - profile.OrchestratorVersion = genruntime.ClonePointerToString(source.OrchestratorVersion) - - // OsDiskSizeGB - if source.OsDiskSizeGB != nil { - osDiskSizeGB := ContainerServiceOSDisk(*source.OsDiskSizeGB) - profile.OsDiskSizeGB = &osDiskSizeGB - } else { - profile.OsDiskSizeGB = nil - } - - // OsDiskType - if source.OsDiskType != nil { - osDiskType := genruntime.ToEnum(string(*source.OsDiskType), oSDiskType_Values) - profile.OsDiskType = &osDiskType - } else { - profile.OsDiskType = nil - } - - // OsSKU - if source.OsSKU != nil { - osSKU := genruntime.ToEnum(string(*source.OsSKU), oSSKU_Values) - profile.OsSKU = &osSKU - } else { - profile.OsSKU = nil - } - - // OsType - if source.OsType != nil { - osType := genruntime.ToEnum(string(*source.OsType), oSType_Values) - profile.OsType = &osType - } else { - profile.OsType = nil - } - - // PowerState - if source.PowerState != nil { - var powerState PowerState - err := powerState.Initialize_From_PowerState_STATUS(source.PowerState) - if err != nil { - return errors.Wrap(err, "calling Initialize_From_PowerState_STATUS() to populate field PowerState") - } - profile.PowerState = &powerState - } else { - profile.PowerState = nil - } - - // ScaleDownMode - if source.ScaleDownMode != nil { - scaleDownMode := genruntime.ToEnum(string(*source.ScaleDownMode), scaleDownMode_Values) - profile.ScaleDownMode = &scaleDownMode - } else { - profile.ScaleDownMode = nil - } - - // ScaleSetEvictionPolicy - if source.ScaleSetEvictionPolicy != nil { - scaleSetEvictionPolicy := genruntime.ToEnum(string(*source.ScaleSetEvictionPolicy), scaleSetEvictionPolicy_Values) - profile.ScaleSetEvictionPolicy = &scaleSetEvictionPolicy - } else { - profile.ScaleSetEvictionPolicy = nil - } - - // ScaleSetPriority - if source.ScaleSetPriority != nil { - scaleSetPriority := genruntime.ToEnum(string(*source.ScaleSetPriority), scaleSetPriority_Values) - profile.ScaleSetPriority = &scaleSetPriority - } else { - profile.ScaleSetPriority = nil - } - - // SpotMaxPrice - if source.SpotMaxPrice != nil { - spotMaxPrice := *source.SpotMaxPrice - profile.SpotMaxPrice = &spotMaxPrice - } else { - profile.SpotMaxPrice = nil - } - - // Tags - profile.Tags = genruntime.CloneMapOfStringToString(source.Tags) - - // Type - if source.Type != nil { - typeVar := genruntime.ToEnum(string(*source.Type), agentPoolType_Values) - profile.Type = &typeVar - } else { - profile.Type = nil - } - - // UpgradeSettings - if source.UpgradeSettings != nil { - var upgradeSetting AgentPoolUpgradeSettings - err := upgradeSetting.Initialize_From_AgentPoolUpgradeSettings_STATUS(source.UpgradeSettings) - if err != nil { - return errors.Wrap(err, "calling Initialize_From_AgentPoolUpgradeSettings_STATUS() to populate field UpgradeSettings") - } - profile.UpgradeSettings = &upgradeSetting - } else { - profile.UpgradeSettings = nil - } - - // VmSize - profile.VmSize = genruntime.ClonePointerToString(source.VmSize) - - // WorkloadRuntime - if source.WorkloadRuntime != nil { - workloadRuntime := genruntime.ToEnum(string(*source.WorkloadRuntime), workloadRuntime_Values) - profile.WorkloadRuntime = &workloadRuntime - } else { - profile.WorkloadRuntime = nil + destination.PropertyBag = nil } // No error @@ -9754,43 +8868,6 @@ func (profile *ManagedClusterAPIServerAccessProfile) AssignProperties_To_Managed return nil } -// Initialize_From_ManagedClusterAPIServerAccessProfile_STATUS populates our ManagedClusterAPIServerAccessProfile from the provided source ManagedClusterAPIServerAccessProfile_STATUS -func (profile *ManagedClusterAPIServerAccessProfile) Initialize_From_ManagedClusterAPIServerAccessProfile_STATUS(source *ManagedClusterAPIServerAccessProfile_STATUS) error { - - // AuthorizedIPRanges - profile.AuthorizedIPRanges = genruntime.CloneSliceOfString(source.AuthorizedIPRanges) - - // DisableRunCommand - if source.DisableRunCommand != nil { - disableRunCommand := *source.DisableRunCommand - profile.DisableRunCommand = &disableRunCommand - } else { - profile.DisableRunCommand = nil - } - - // EnablePrivateCluster - if source.EnablePrivateCluster != nil { - enablePrivateCluster := *source.EnablePrivateCluster - profile.EnablePrivateCluster = &enablePrivateCluster - } else { - profile.EnablePrivateCluster = nil - } - - // EnablePrivateClusterPublicFQDN - if source.EnablePrivateClusterPublicFQDN != nil { - enablePrivateClusterPublicFQDN := *source.EnablePrivateClusterPublicFQDN - profile.EnablePrivateClusterPublicFQDN = &enablePrivateClusterPublicFQDN - } else { - profile.EnablePrivateClusterPublicFQDN = nil - } - - // PrivateDNSZone - profile.PrivateDNSZone = genruntime.ClonePointerToString(source.PrivateDNSZone) - - // No error - return nil -} - // Access profile for managed cluster API server. type ManagedClusterAPIServerAccessProfile_STATUS struct { // AuthorizedIPRanges: IP ranges are specified in CIDR format, e.g. 137.117.106.88/29. This feature is not compatible with @@ -10070,29 +9147,6 @@ func (profile *ManagedClusterAutoUpgradeProfile) AssignProperties_To_ManagedClus return nil } -// Initialize_From_ManagedClusterAutoUpgradeProfile_STATUS populates our ManagedClusterAutoUpgradeProfile from the provided source ManagedClusterAutoUpgradeProfile_STATUS -func (profile *ManagedClusterAutoUpgradeProfile) Initialize_From_ManagedClusterAutoUpgradeProfile_STATUS(source *ManagedClusterAutoUpgradeProfile_STATUS) error { - - // NodeOSUpgradeChannel - if source.NodeOSUpgradeChannel != nil { - nodeOSUpgradeChannel := genruntime.ToEnum(string(*source.NodeOSUpgradeChannel), managedClusterAutoUpgradeProfile_NodeOSUpgradeChannel_Values) - profile.NodeOSUpgradeChannel = &nodeOSUpgradeChannel - } else { - profile.NodeOSUpgradeChannel = nil - } - - // UpgradeChannel - if source.UpgradeChannel != nil { - upgradeChannel := genruntime.ToEnum(string(*source.UpgradeChannel), managedClusterAutoUpgradeProfile_UpgradeChannel_Values) - profile.UpgradeChannel = &upgradeChannel - } else { - profile.UpgradeChannel = nil - } - - // No error - return nil -} - // Auto upgrade profile for a managed cluster. type ManagedClusterAutoUpgradeProfile_STATUS struct { // NodeOSUpgradeChannel: Manner in which the OS on your nodes is updated. The default is NodeImage. @@ -10297,25 +9351,6 @@ func (profile *ManagedClusterAzureMonitorProfile) AssignProperties_To_ManagedClu return nil } -// Initialize_From_ManagedClusterAzureMonitorProfile_STATUS populates our ManagedClusterAzureMonitorProfile from the provided source ManagedClusterAzureMonitorProfile_STATUS -func (profile *ManagedClusterAzureMonitorProfile) Initialize_From_ManagedClusterAzureMonitorProfile_STATUS(source *ManagedClusterAzureMonitorProfile_STATUS) error { - - // Metrics - if source.Metrics != nil { - var metric ManagedClusterAzureMonitorProfileMetrics - err := metric.Initialize_From_ManagedClusterAzureMonitorProfileMetrics_STATUS(source.Metrics) - if err != nil { - return errors.Wrap(err, "calling Initialize_From_ManagedClusterAzureMonitorProfileMetrics_STATUS() to populate field Metrics") - } - profile.Metrics = &metric - } else { - profile.Metrics = nil - } - - // No error - return nil -} - // Azure Monitor addon profiles for monitoring the managed cluster. type ManagedClusterAzureMonitorProfile_STATUS struct { // Metrics: Metrics profile for the Azure Monitor managed service for Prometheus addon. Collect out-of-the-box Kubernetes @@ -10535,25 +9570,6 @@ func (config *ManagedClusterHTTPProxyConfig) AssignProperties_To_ManagedClusterH return nil } -// Initialize_From_ManagedClusterHTTPProxyConfig_STATUS populates our ManagedClusterHTTPProxyConfig from the provided source ManagedClusterHTTPProxyConfig_STATUS -func (config *ManagedClusterHTTPProxyConfig) Initialize_From_ManagedClusterHTTPProxyConfig_STATUS(source *ManagedClusterHTTPProxyConfig_STATUS) error { - - // HttpProxy - config.HttpProxy = genruntime.ClonePointerToString(source.HttpProxy) - - // HttpsProxy - config.HttpsProxy = genruntime.ClonePointerToString(source.HttpsProxy) - - // NoProxy - config.NoProxy = genruntime.CloneSliceOfString(source.NoProxy) - - // TrustedCa - config.TrustedCa = genruntime.ClonePointerToString(source.TrustedCa) - - // No error - return nil -} - // Cluster HTTP proxy configuration. type ManagedClusterHTTPProxyConfig_STATUS struct { // HttpProxy: The HTTP proxy server endpoint to use. @@ -10865,51 +9881,6 @@ func (identity *ManagedClusterIdentity) AssignProperties_To_ManagedClusterIdenti return nil } -// Initialize_From_ManagedClusterIdentity_STATUS populates our ManagedClusterIdentity from the provided source ManagedClusterIdentity_STATUS -func (identity *ManagedClusterIdentity) Initialize_From_ManagedClusterIdentity_STATUS(source *ManagedClusterIdentity_STATUS) error { - - // DelegatedResources - if source.DelegatedResources != nil { - delegatedResourceMap := make(map[string]DelegatedResource, len(source.DelegatedResources)) - for delegatedResourceKey, delegatedResourceValue := range source.DelegatedResources { - // Shadow the loop variable to avoid aliasing - delegatedResourceValue := delegatedResourceValue - var delegatedResource DelegatedResource - err := delegatedResource.Initialize_From_DelegatedResource_STATUS(&delegatedResourceValue) - if err != nil { - return errors.Wrap(err, "calling Initialize_From_DelegatedResource_STATUS() to populate field DelegatedResources") - } - delegatedResourceMap[delegatedResourceKey] = delegatedResource - } - identity.DelegatedResources = delegatedResourceMap - } else { - identity.DelegatedResources = nil - } - - // Type - if source.Type != nil { - typeVar := genruntime.ToEnum(string(*source.Type), managedClusterIdentity_Type_Values) - identity.Type = &typeVar - } else { - identity.Type = nil - } - - // UserAssignedIdentities - if source.UserAssignedIdentities != nil { - userAssignedIdentityList := make([]UserAssignedIdentityDetails, 0, len(source.UserAssignedIdentities)) - for userAssignedIdentitiesKey := range source.UserAssignedIdentities { - userAssignedIdentitiesRef := genruntime.CreateResourceReferenceFromARMID(userAssignedIdentitiesKey) - userAssignedIdentityList = append(userAssignedIdentityList, UserAssignedIdentityDetails{Reference: userAssignedIdentitiesRef}) - } - identity.UserAssignedIdentities = userAssignedIdentityList - } else { - identity.UserAssignedIdentities = nil - } - - // No error - return nil -} - // Identity for the managed cluster. type ManagedClusterIdentity_STATUS struct { // DelegatedResources: The delegated identity resources assigned to this managed cluster. This can only be set by another @@ -11203,21 +10174,6 @@ func (profile *ManagedClusterOIDCIssuerProfile) AssignProperties_To_ManagedClust return nil } -// Initialize_From_ManagedClusterOIDCIssuerProfile_STATUS populates our ManagedClusterOIDCIssuerProfile from the provided source ManagedClusterOIDCIssuerProfile_STATUS -func (profile *ManagedClusterOIDCIssuerProfile) Initialize_From_ManagedClusterOIDCIssuerProfile_STATUS(source *ManagedClusterOIDCIssuerProfile_STATUS) error { - - // Enabled - if source.Enabled != nil { - enabled := *source.Enabled - profile.Enabled = &enabled - } else { - profile.Enabled = nil - } - - // No error - return nil -} - // The OIDC issuer profile of the Managed Cluster. type ManagedClusterOIDCIssuerProfile_STATUS struct { // Enabled: Whether the OIDC issuer is enabled. @@ -11617,65 +10573,6 @@ func (profile *ManagedClusterPodIdentityProfile) AssignProperties_To_ManagedClus return nil } -// Initialize_From_ManagedClusterPodIdentityProfile_STATUS populates our ManagedClusterPodIdentityProfile from the provided source ManagedClusterPodIdentityProfile_STATUS -func (profile *ManagedClusterPodIdentityProfile) Initialize_From_ManagedClusterPodIdentityProfile_STATUS(source *ManagedClusterPodIdentityProfile_STATUS) error { - - // AllowNetworkPluginKubenet - if source.AllowNetworkPluginKubenet != nil { - allowNetworkPluginKubenet := *source.AllowNetworkPluginKubenet - profile.AllowNetworkPluginKubenet = &allowNetworkPluginKubenet - } else { - profile.AllowNetworkPluginKubenet = nil - } - - // Enabled - if source.Enabled != nil { - enabled := *source.Enabled - profile.Enabled = &enabled - } else { - profile.Enabled = nil - } - - // UserAssignedIdentities - if source.UserAssignedIdentities != nil { - userAssignedIdentityList := make([]ManagedClusterPodIdentity, len(source.UserAssignedIdentities)) - for userAssignedIdentityIndex, userAssignedIdentityItem := range source.UserAssignedIdentities { - // Shadow the loop variable to avoid aliasing - userAssignedIdentityItem := userAssignedIdentityItem - var userAssignedIdentity ManagedClusterPodIdentity - err := userAssignedIdentity.Initialize_From_ManagedClusterPodIdentity_STATUS(&userAssignedIdentityItem) - if err != nil { - return errors.Wrap(err, "calling Initialize_From_ManagedClusterPodIdentity_STATUS() to populate field UserAssignedIdentities") - } - userAssignedIdentityList[userAssignedIdentityIndex] = userAssignedIdentity - } - profile.UserAssignedIdentities = userAssignedIdentityList - } else { - profile.UserAssignedIdentities = nil - } - - // UserAssignedIdentityExceptions - if source.UserAssignedIdentityExceptions != nil { - userAssignedIdentityExceptionList := make([]ManagedClusterPodIdentityException, len(source.UserAssignedIdentityExceptions)) - for userAssignedIdentityExceptionIndex, userAssignedIdentityExceptionItem := range source.UserAssignedIdentityExceptions { - // Shadow the loop variable to avoid aliasing - userAssignedIdentityExceptionItem := userAssignedIdentityExceptionItem - var userAssignedIdentityException ManagedClusterPodIdentityException - err := userAssignedIdentityException.Initialize_From_ManagedClusterPodIdentityException_STATUS(&userAssignedIdentityExceptionItem) - if err != nil { - return errors.Wrap(err, "calling Initialize_From_ManagedClusterPodIdentityException_STATUS() to populate field UserAssignedIdentityExceptions") - } - userAssignedIdentityExceptionList[userAssignedIdentityExceptionIndex] = userAssignedIdentityException - } - profile.UserAssignedIdentityExceptions = userAssignedIdentityExceptionList - } else { - profile.UserAssignedIdentityExceptions = nil - } - - // No error - return nil -} - // See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on pod // identity integration. type ManagedClusterPodIdentityProfile_STATUS struct { @@ -12257,113 +11154,50 @@ func (profile *ManagedClusterProperties_AutoScalerProfile) AssignProperties_To_M destination.MaxGracefulTerminationSec = genruntime.ClonePointerToString(profile.MaxGracefulTerminationSec) // MaxNodeProvisionTime - destination.MaxNodeProvisionTime = genruntime.ClonePointerToString(profile.MaxNodeProvisionTime) - - // MaxTotalUnreadyPercentage - destination.MaxTotalUnreadyPercentage = genruntime.ClonePointerToString(profile.MaxTotalUnreadyPercentage) - - // NewPodScaleUpDelay - destination.NewPodScaleUpDelay = genruntime.ClonePointerToString(profile.NewPodScaleUpDelay) - - // OkTotalUnreadyCount - destination.OkTotalUnreadyCount = genruntime.ClonePointerToString(profile.OkTotalUnreadyCount) - - // ScaleDownDelayAfterAdd - destination.ScaleDownDelayAfterAdd = genruntime.ClonePointerToString(profile.ScaleDownDelayAfterAdd) - - // ScaleDownDelayAfterDelete - destination.ScaleDownDelayAfterDelete = genruntime.ClonePointerToString(profile.ScaleDownDelayAfterDelete) - - // ScaleDownDelayAfterFailure - destination.ScaleDownDelayAfterFailure = genruntime.ClonePointerToString(profile.ScaleDownDelayAfterFailure) - - // ScaleDownUnneededTime - destination.ScaleDownUnneededTime = genruntime.ClonePointerToString(profile.ScaleDownUnneededTime) - - // ScaleDownUnreadyTime - destination.ScaleDownUnreadyTime = genruntime.ClonePointerToString(profile.ScaleDownUnreadyTime) - - // ScaleDownUtilizationThreshold - destination.ScaleDownUtilizationThreshold = genruntime.ClonePointerToString(profile.ScaleDownUtilizationThreshold) - - // ScanInterval - destination.ScanInterval = genruntime.ClonePointerToString(profile.ScanInterval) - - // SkipNodesWithLocalStorage - destination.SkipNodesWithLocalStorage = genruntime.ClonePointerToString(profile.SkipNodesWithLocalStorage) - - // SkipNodesWithSystemPods - destination.SkipNodesWithSystemPods = genruntime.ClonePointerToString(profile.SkipNodesWithSystemPods) - - // Update the property bag - if len(propertyBag) > 0 { - destination.PropertyBag = propertyBag - } else { - destination.PropertyBag = nil - } - - // No error - return nil -} - -// Initialize_From_ManagedClusterProperties_AutoScalerProfile_STATUS populates our ManagedClusterProperties_AutoScalerProfile from the provided source ManagedClusterProperties_AutoScalerProfile_STATUS -func (profile *ManagedClusterProperties_AutoScalerProfile) Initialize_From_ManagedClusterProperties_AutoScalerProfile_STATUS(source *ManagedClusterProperties_AutoScalerProfile_STATUS) error { - - // BalanceSimilarNodeGroups - profile.BalanceSimilarNodeGroups = genruntime.ClonePointerToString(source.BalanceSimilarNodeGroups) - - // Expander - if source.Expander != nil { - expander := genruntime.ToEnum(string(*source.Expander), managedClusterProperties_AutoScalerProfile_Expander_Values) - profile.Expander = &expander - } else { - profile.Expander = nil - } - - // MaxEmptyBulkDelete - profile.MaxEmptyBulkDelete = genruntime.ClonePointerToString(source.MaxEmptyBulkDelete) - - // MaxGracefulTerminationSec - profile.MaxGracefulTerminationSec = genruntime.ClonePointerToString(source.MaxGracefulTerminationSec) - - // MaxNodeProvisionTime - profile.MaxNodeProvisionTime = genruntime.ClonePointerToString(source.MaxNodeProvisionTime) + destination.MaxNodeProvisionTime = genruntime.ClonePointerToString(profile.MaxNodeProvisionTime) // MaxTotalUnreadyPercentage - profile.MaxTotalUnreadyPercentage = genruntime.ClonePointerToString(source.MaxTotalUnreadyPercentage) + destination.MaxTotalUnreadyPercentage = genruntime.ClonePointerToString(profile.MaxTotalUnreadyPercentage) // NewPodScaleUpDelay - profile.NewPodScaleUpDelay = genruntime.ClonePointerToString(source.NewPodScaleUpDelay) + destination.NewPodScaleUpDelay = genruntime.ClonePointerToString(profile.NewPodScaleUpDelay) // OkTotalUnreadyCount - profile.OkTotalUnreadyCount = genruntime.ClonePointerToString(source.OkTotalUnreadyCount) + destination.OkTotalUnreadyCount = genruntime.ClonePointerToString(profile.OkTotalUnreadyCount) // ScaleDownDelayAfterAdd - profile.ScaleDownDelayAfterAdd = genruntime.ClonePointerToString(source.ScaleDownDelayAfterAdd) + destination.ScaleDownDelayAfterAdd = genruntime.ClonePointerToString(profile.ScaleDownDelayAfterAdd) // ScaleDownDelayAfterDelete - profile.ScaleDownDelayAfterDelete = genruntime.ClonePointerToString(source.ScaleDownDelayAfterDelete) + destination.ScaleDownDelayAfterDelete = genruntime.ClonePointerToString(profile.ScaleDownDelayAfterDelete) // ScaleDownDelayAfterFailure - profile.ScaleDownDelayAfterFailure = genruntime.ClonePointerToString(source.ScaleDownDelayAfterFailure) + destination.ScaleDownDelayAfterFailure = genruntime.ClonePointerToString(profile.ScaleDownDelayAfterFailure) // ScaleDownUnneededTime - profile.ScaleDownUnneededTime = genruntime.ClonePointerToString(source.ScaleDownUnneededTime) + destination.ScaleDownUnneededTime = genruntime.ClonePointerToString(profile.ScaleDownUnneededTime) // ScaleDownUnreadyTime - profile.ScaleDownUnreadyTime = genruntime.ClonePointerToString(source.ScaleDownUnreadyTime) + destination.ScaleDownUnreadyTime = genruntime.ClonePointerToString(profile.ScaleDownUnreadyTime) // ScaleDownUtilizationThreshold - profile.ScaleDownUtilizationThreshold = genruntime.ClonePointerToString(source.ScaleDownUtilizationThreshold) + destination.ScaleDownUtilizationThreshold = genruntime.ClonePointerToString(profile.ScaleDownUtilizationThreshold) // ScanInterval - profile.ScanInterval = genruntime.ClonePointerToString(source.ScanInterval) + destination.ScanInterval = genruntime.ClonePointerToString(profile.ScanInterval) // SkipNodesWithLocalStorage - profile.SkipNodesWithLocalStorage = genruntime.ClonePointerToString(source.SkipNodesWithLocalStorage) + destination.SkipNodesWithLocalStorage = genruntime.ClonePointerToString(profile.SkipNodesWithLocalStorage) // SkipNodesWithSystemPods - profile.SkipNodesWithSystemPods = genruntime.ClonePointerToString(source.SkipNodesWithSystemPods) + destination.SkipNodesWithSystemPods = genruntime.ClonePointerToString(profile.SkipNodesWithSystemPods) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } // No error return nil @@ -12964,61 +11798,6 @@ func (profile *ManagedClusterSecurityProfile) AssignProperties_To_ManagedCluster return nil } -// Initialize_From_ManagedClusterSecurityProfile_STATUS populates our ManagedClusterSecurityProfile from the provided source ManagedClusterSecurityProfile_STATUS -func (profile *ManagedClusterSecurityProfile) Initialize_From_ManagedClusterSecurityProfile_STATUS(source *ManagedClusterSecurityProfile_STATUS) error { - - // AzureKeyVaultKms - if source.AzureKeyVaultKms != nil { - var azureKeyVaultKm AzureKeyVaultKms - err := azureKeyVaultKm.Initialize_From_AzureKeyVaultKms_STATUS(source.AzureKeyVaultKms) - if err != nil { - return errors.Wrap(err, "calling Initialize_From_AzureKeyVaultKms_STATUS() to populate field AzureKeyVaultKms") - } - profile.AzureKeyVaultKms = &azureKeyVaultKm - } else { - profile.AzureKeyVaultKms = nil - } - - // Defender - if source.Defender != nil { - var defender ManagedClusterSecurityProfileDefender - err := defender.Initialize_From_ManagedClusterSecurityProfileDefender_STATUS(source.Defender) - if err != nil { - return errors.Wrap(err, "calling Initialize_From_ManagedClusterSecurityProfileDefender_STATUS() to populate field Defender") - } - profile.Defender = &defender - } else { - profile.Defender = nil - } - - // ImageCleaner - if source.ImageCleaner != nil { - var imageCleaner ManagedClusterSecurityProfileImageCleaner - err := imageCleaner.Initialize_From_ManagedClusterSecurityProfileImageCleaner_STATUS(source.ImageCleaner) - if err != nil { - return errors.Wrap(err, "calling Initialize_From_ManagedClusterSecurityProfileImageCleaner_STATUS() to populate field ImageCleaner") - } - profile.ImageCleaner = &imageCleaner - } else { - profile.ImageCleaner = nil - } - - // WorkloadIdentity - if source.WorkloadIdentity != nil { - var workloadIdentity ManagedClusterSecurityProfileWorkloadIdentity - err := workloadIdentity.Initialize_From_ManagedClusterSecurityProfileWorkloadIdentity_STATUS(source.WorkloadIdentity) - if err != nil { - return errors.Wrap(err, "calling Initialize_From_ManagedClusterSecurityProfileWorkloadIdentity_STATUS() to populate field WorkloadIdentity") - } - profile.WorkloadIdentity = &workloadIdentity - } else { - profile.WorkloadIdentity = nil - } - - // No error - return nil -} - // Security profile for the container service cluster. type ManagedClusterSecurityProfile_STATUS struct { // AzureKeyVaultKms: Azure Key Vault [key management @@ -13323,16 +12102,6 @@ func (profile *ManagedClusterServicePrincipalProfile) AssignProperties_To_Manage return nil } -// Initialize_From_ManagedClusterServicePrincipalProfile_STATUS populates our ManagedClusterServicePrincipalProfile from the provided source ManagedClusterServicePrincipalProfile_STATUS -func (profile *ManagedClusterServicePrincipalProfile) Initialize_From_ManagedClusterServicePrincipalProfile_STATUS(source *ManagedClusterServicePrincipalProfile_STATUS) error { - - // ClientId - profile.ClientId = genruntime.ClonePointerToString(source.ClientId) - - // No error - return nil -} - // Information about a service principal identity for the cluster to use for manipulating Azure APIs. type ManagedClusterServicePrincipalProfile_STATUS struct { // ClientId: The ID for the service principal. @@ -13518,29 +12287,6 @@ func (clusterSKU *ManagedClusterSKU) AssignProperties_To_ManagedClusterSKU(desti return nil } -// Initialize_From_ManagedClusterSKU_STATUS populates our ManagedClusterSKU from the provided source ManagedClusterSKU_STATUS -func (clusterSKU *ManagedClusterSKU) Initialize_From_ManagedClusterSKU_STATUS(source *ManagedClusterSKU_STATUS) error { - - // Name - if source.Name != nil { - name := genruntime.ToEnum(string(*source.Name), managedClusterSKU_Name_Values) - clusterSKU.Name = &name - } else { - clusterSKU.Name = nil - } - - // Tier - if source.Tier != nil { - tier := genruntime.ToEnum(string(*source.Tier), managedClusterSKU_Tier_Values) - clusterSKU.Tier = &tier - } else { - clusterSKU.Tier = nil - } - - // No error - return nil -} - // The SKU of a Managed Cluster. type ManagedClusterSKU_STATUS struct { // Name: The name of a managed cluster SKU. @@ -13887,61 +12633,6 @@ func (profile *ManagedClusterStorageProfile) AssignProperties_To_ManagedClusterS return nil } -// Initialize_From_ManagedClusterStorageProfile_STATUS populates our ManagedClusterStorageProfile from the provided source ManagedClusterStorageProfile_STATUS -func (profile *ManagedClusterStorageProfile) Initialize_From_ManagedClusterStorageProfile_STATUS(source *ManagedClusterStorageProfile_STATUS) error { - - // BlobCSIDriver - if source.BlobCSIDriver != nil { - var blobCSIDriver ManagedClusterStorageProfileBlobCSIDriver - err := blobCSIDriver.Initialize_From_ManagedClusterStorageProfileBlobCSIDriver_STATUS(source.BlobCSIDriver) - if err != nil { - return errors.Wrap(err, "calling Initialize_From_ManagedClusterStorageProfileBlobCSIDriver_STATUS() to populate field BlobCSIDriver") - } - profile.BlobCSIDriver = &blobCSIDriver - } else { - profile.BlobCSIDriver = nil - } - - // DiskCSIDriver - if source.DiskCSIDriver != nil { - var diskCSIDriver ManagedClusterStorageProfileDiskCSIDriver - err := diskCSIDriver.Initialize_From_ManagedClusterStorageProfileDiskCSIDriver_STATUS(source.DiskCSIDriver) - if err != nil { - return errors.Wrap(err, "calling Initialize_From_ManagedClusterStorageProfileDiskCSIDriver_STATUS() to populate field DiskCSIDriver") - } - profile.DiskCSIDriver = &diskCSIDriver - } else { - profile.DiskCSIDriver = nil - } - - // FileCSIDriver - if source.FileCSIDriver != nil { - var fileCSIDriver ManagedClusterStorageProfileFileCSIDriver - err := fileCSIDriver.Initialize_From_ManagedClusterStorageProfileFileCSIDriver_STATUS(source.FileCSIDriver) - if err != nil { - return errors.Wrap(err, "calling Initialize_From_ManagedClusterStorageProfileFileCSIDriver_STATUS() to populate field FileCSIDriver") - } - profile.FileCSIDriver = &fileCSIDriver - } else { - profile.FileCSIDriver = nil - } - - // SnapshotController - if source.SnapshotController != nil { - var snapshotController ManagedClusterStorageProfileSnapshotController - err := snapshotController.Initialize_From_ManagedClusterStorageProfileSnapshotController_STATUS(source.SnapshotController) - if err != nil { - return errors.Wrap(err, "calling Initialize_From_ManagedClusterStorageProfileSnapshotController_STATUS() to populate field SnapshotController") - } - profile.SnapshotController = &snapshotController - } else { - profile.SnapshotController = nil - } - - // No error - return nil -} - // Storage profile for the container service cluster. type ManagedClusterStorageProfile_STATUS struct { // BlobCSIDriver: AzureBlob CSI Driver settings for the storage profile. @@ -14376,44 +13067,6 @@ func (profile *ManagedClusterWindowsProfile) AssignProperties_To_ManagedClusterW return nil } -// Initialize_From_ManagedClusterWindowsProfile_STATUS populates our ManagedClusterWindowsProfile from the provided source ManagedClusterWindowsProfile_STATUS -func (profile *ManagedClusterWindowsProfile) Initialize_From_ManagedClusterWindowsProfile_STATUS(source *ManagedClusterWindowsProfile_STATUS) error { - - // AdminUsername - profile.AdminUsername = genruntime.ClonePointerToString(source.AdminUsername) - - // EnableCSIProxy - if source.EnableCSIProxy != nil { - enableCSIProxy := *source.EnableCSIProxy - profile.EnableCSIProxy = &enableCSIProxy - } else { - profile.EnableCSIProxy = nil - } - - // GmsaProfile - if source.GmsaProfile != nil { - var gmsaProfile WindowsGmsaProfile - err := gmsaProfile.Initialize_From_WindowsGmsaProfile_STATUS(source.GmsaProfile) - if err != nil { - return errors.Wrap(err, "calling Initialize_From_WindowsGmsaProfile_STATUS() to populate field GmsaProfile") - } - profile.GmsaProfile = &gmsaProfile - } else { - profile.GmsaProfile = nil - } - - // LicenseType - if source.LicenseType != nil { - licenseType := genruntime.ToEnum(string(*source.LicenseType), managedClusterWindowsProfile_LicenseType_Values) - profile.LicenseType = &licenseType - } else { - profile.LicenseType = nil - } - - // No error - return nil -} - // Profile for Windows VMs in the managed cluster. type ManagedClusterWindowsProfile_STATUS struct { // AdminUsername: Specifies the name of the administrator account. @@ -14721,37 +13374,6 @@ func (profile *ManagedClusterWorkloadAutoScalerProfile) AssignProperties_To_Mana return nil } -// Initialize_From_ManagedClusterWorkloadAutoScalerProfile_STATUS populates our ManagedClusterWorkloadAutoScalerProfile from the provided source ManagedClusterWorkloadAutoScalerProfile_STATUS -func (profile *ManagedClusterWorkloadAutoScalerProfile) Initialize_From_ManagedClusterWorkloadAutoScalerProfile_STATUS(source *ManagedClusterWorkloadAutoScalerProfile_STATUS) error { - - // Keda - if source.Keda != nil { - var kedum ManagedClusterWorkloadAutoScalerProfileKeda - err := kedum.Initialize_From_ManagedClusterWorkloadAutoScalerProfileKeda_STATUS(source.Keda) - if err != nil { - return errors.Wrap(err, "calling Initialize_From_ManagedClusterWorkloadAutoScalerProfileKeda_STATUS() to populate field Keda") - } - profile.Keda = &kedum - } else { - profile.Keda = nil - } - - // VerticalPodAutoscaler - if source.VerticalPodAutoscaler != nil { - var verticalPodAutoscaler ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler - err := verticalPodAutoscaler.Initialize_From_ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS(source.VerticalPodAutoscaler) - if err != nil { - return errors.Wrap(err, "calling Initialize_From_ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS() to populate field VerticalPodAutoscaler") - } - profile.VerticalPodAutoscaler = &verticalPodAutoscaler - } else { - profile.VerticalPodAutoscaler = nil - } - - // No error - return nil -} - // Workload Auto-scaler profile for the managed cluster. type ManagedClusterWorkloadAutoScalerProfile_STATUS struct { // Keda: KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile. @@ -15110,33 +13732,6 @@ func (resource *PrivateLinkResource) AssignProperties_To_PrivateLinkResource(des return nil } -// Initialize_From_PrivateLinkResource_STATUS populates our PrivateLinkResource from the provided source PrivateLinkResource_STATUS -func (resource *PrivateLinkResource) Initialize_From_PrivateLinkResource_STATUS(source *PrivateLinkResource_STATUS) error { - - // GroupId - resource.GroupId = genruntime.ClonePointerToString(source.GroupId) - - // Name - resource.Name = genruntime.ClonePointerToString(source.Name) - - // Reference - if source.Id != nil { - reference := genruntime.CreateResourceReferenceFromARMID(*source.Id) - resource.Reference = &reference - } else { - resource.Reference = nil - } - - // RequiredMembers - resource.RequiredMembers = genruntime.CloneSliceOfString(source.RequiredMembers) - - // Type - resource.Type = genruntime.ClonePointerToString(source.Type) - - // No error - return nil -} - // A private link resource type PrivateLinkResource_STATUS struct { // GroupId: The group ID of the resource. @@ -15397,38 +13992,11 @@ func (profile *ServiceMeshProfile) AssignProperties_To_ServiceMeshProfile(destin destination.Mode = nil } - // Update the property bag - if len(propertyBag) > 0 { - destination.PropertyBag = propertyBag - } else { - destination.PropertyBag = nil - } - - // No error - return nil -} - -// Initialize_From_ServiceMeshProfile_STATUS populates our ServiceMeshProfile from the provided source ServiceMeshProfile_STATUS -func (profile *ServiceMeshProfile) Initialize_From_ServiceMeshProfile_STATUS(source *ServiceMeshProfile_STATUS) error { - - // Istio - if source.Istio != nil { - var istio IstioServiceMesh - err := istio.Initialize_From_IstioServiceMesh_STATUS(source.Istio) - if err != nil { - return errors.Wrap(err, "calling Initialize_From_IstioServiceMesh_STATUS() to populate field Istio") - } - profile.Istio = &istio - } else { - profile.Istio = nil - } - - // Mode - if source.Mode != nil { - mode := genruntime.ToEnum(string(*source.Mode), serviceMeshProfile_Mode_Values) - profile.Mode = &mode + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag } else { - profile.Mode = nil + destination.PropertyBag = nil } // No error @@ -15831,27 +14399,6 @@ func (identity *UserAssignedIdentity) AssignProperties_To_UserAssignedIdentity(d return nil } -// Initialize_From_UserAssignedIdentity_STATUS populates our UserAssignedIdentity from the provided source UserAssignedIdentity_STATUS -func (identity *UserAssignedIdentity) Initialize_From_UserAssignedIdentity_STATUS(source *UserAssignedIdentity_STATUS) error { - - // ClientId - identity.ClientId = genruntime.ClonePointerToString(source.ClientId) - - // ObjectId - identity.ObjectId = genruntime.ClonePointerToString(source.ObjectId) - - // ResourceReference - if source.ResourceId != nil { - resourceReference := genruntime.CreateResourceReferenceFromARMID(*source.ResourceId) - identity.ResourceReference = &resourceReference - } else { - identity.ResourceReference = nil - } - - // No error - return nil -} - // Details about a user assigned identity. type UserAssignedIdentity_STATUS struct { // ClientId: The client ID of the user assigned identity. @@ -16119,40 +14666,6 @@ func (vaultKms *AzureKeyVaultKms) AssignProperties_To_AzureKeyVaultKms(destinati return nil } -// Initialize_From_AzureKeyVaultKms_STATUS populates our AzureKeyVaultKms from the provided source AzureKeyVaultKms_STATUS -func (vaultKms *AzureKeyVaultKms) Initialize_From_AzureKeyVaultKms_STATUS(source *AzureKeyVaultKms_STATUS) error { - - // Enabled - if source.Enabled != nil { - enabled := *source.Enabled - vaultKms.Enabled = &enabled - } else { - vaultKms.Enabled = nil - } - - // KeyId - vaultKms.KeyId = genruntime.ClonePointerToString(source.KeyId) - - // KeyVaultNetworkAccess - if source.KeyVaultNetworkAccess != nil { - keyVaultNetworkAccess := genruntime.ToEnum(string(*source.KeyVaultNetworkAccess), azureKeyVaultKms_KeyVaultNetworkAccess_Values) - vaultKms.KeyVaultNetworkAccess = &keyVaultNetworkAccess - } else { - vaultKms.KeyVaultNetworkAccess = nil - } - - // KeyVaultResourceReference - if source.KeyVaultResourceId != nil { - keyVaultResourceReference := genruntime.CreateResourceReferenceFromARMID(*source.KeyVaultResourceId) - vaultKms.KeyVaultResourceReference = &keyVaultResourceReference - } else { - vaultKms.KeyVaultResourceReference = nil - } - - // No error - return nil -} - // Azure Key Vault key management service settings for the security profile. type AzureKeyVaultKms_STATUS struct { // Enabled: Whether to enable Azure Key Vault key management service. The default is false. @@ -16606,31 +15119,6 @@ func (configuration *ContainerServiceSshConfiguration) AssignProperties_To_Conta return nil } -// Initialize_From_ContainerServiceSshConfiguration_STATUS populates our ContainerServiceSshConfiguration from the provided source ContainerServiceSshConfiguration_STATUS -func (configuration *ContainerServiceSshConfiguration) Initialize_From_ContainerServiceSshConfiguration_STATUS(source *ContainerServiceSshConfiguration_STATUS) error { - - // PublicKeys - if source.PublicKeys != nil { - publicKeyList := make([]ContainerServiceSshPublicKey, len(source.PublicKeys)) - for publicKeyIndex, publicKeyItem := range source.PublicKeys { - // Shadow the loop variable to avoid aliasing - publicKeyItem := publicKeyItem - var publicKey ContainerServiceSshPublicKey - err := publicKey.Initialize_From_ContainerServiceSshPublicKey_STATUS(&publicKeyItem) - if err != nil { - return errors.Wrap(err, "calling Initialize_From_ContainerServiceSshPublicKey_STATUS() to populate field PublicKeys") - } - publicKeyList[publicKeyIndex] = publicKey - } - configuration.PublicKeys = publicKeyList - } else { - configuration.PublicKeys = nil - } - - // No error - return nil -} - // SSH configuration for Linux-based VMs running on Azure. type ContainerServiceSshConfiguration_STATUS struct { // PublicKeys: The list of SSH public keys used to authenticate with Linux-based VMs. A maximum of 1 key may be specified. @@ -16882,35 +15370,6 @@ func (resource *DelegatedResource) AssignProperties_To_DelegatedResource(destina return nil } -// Initialize_From_DelegatedResource_STATUS populates our DelegatedResource from the provided source DelegatedResource_STATUS -func (resource *DelegatedResource) Initialize_From_DelegatedResource_STATUS(source *DelegatedResource_STATUS) error { - - // Location - resource.Location = genruntime.ClonePointerToString(source.Location) - - // ReferralResource - resource.ReferralResource = genruntime.ClonePointerToString(source.ReferralResource) - - // ResourceReference - if source.ResourceId != nil { - resourceReference := genruntime.CreateResourceReferenceFromARMID(*source.ResourceId) - resource.ResourceReference = &resourceReference - } else { - resource.ResourceReference = nil - } - - // TenantId - if source.TenantId != nil { - tenantId := *source.TenantId - resource.TenantId = &tenantId - } else { - resource.TenantId = nil - } - - // No error - return nil -} - // Delegated resource properties - internal use only. type DelegatedResource_STATUS struct { // Location: The source resource location - internal use only. @@ -17228,50 +15687,6 @@ func (mesh *IstioServiceMesh) AssignProperties_To_IstioServiceMesh(destination * return nil } -// Initialize_From_IstioServiceMesh_STATUS populates our IstioServiceMesh from the provided source IstioServiceMesh_STATUS -func (mesh *IstioServiceMesh) Initialize_From_IstioServiceMesh_STATUS(source *IstioServiceMesh_STATUS) error { - - // CertificateAuthority - if source.CertificateAuthority != nil { - var certificateAuthority IstioCertificateAuthority - err := certificateAuthority.Initialize_From_IstioCertificateAuthority_STATUS(source.CertificateAuthority) - if err != nil { - return errors.Wrap(err, "calling Initialize_From_IstioCertificateAuthority_STATUS() to populate field CertificateAuthority") - } - mesh.CertificateAuthority = &certificateAuthority - } else { - mesh.CertificateAuthority = nil - } - - // Components - if source.Components != nil { - var component IstioComponents - err := component.Initialize_From_IstioComponents_STATUS(source.Components) - if err != nil { - return errors.Wrap(err, "calling Initialize_From_IstioComponents_STATUS() to populate field Components") - } - mesh.Components = &component - } else { - mesh.Components = nil - } - - // Revisions - if source.Revisions != nil { - revisionList := make([]string, len(source.Revisions)) - for revisionIndex, revisionItem := range source.Revisions { - // Shadow the loop variable to avoid aliasing - revisionItem := revisionItem - revisionList[revisionIndex] = revisionItem - } - mesh.Revisions = revisionList - } else { - mesh.Revisions = nil - } - - // No error - return nil -} - // Istio service mesh configuration. type IstioServiceMesh_STATUS struct { // CertificateAuthority: Istio Service Mesh Certificate Authority (CA) configuration. For now, we only support plugin @@ -17617,33 +16032,6 @@ func (metrics *ManagedClusterAzureMonitorProfileMetrics) AssignProperties_To_Man return nil } -// Initialize_From_ManagedClusterAzureMonitorProfileMetrics_STATUS populates our ManagedClusterAzureMonitorProfileMetrics from the provided source ManagedClusterAzureMonitorProfileMetrics_STATUS -func (metrics *ManagedClusterAzureMonitorProfileMetrics) Initialize_From_ManagedClusterAzureMonitorProfileMetrics_STATUS(source *ManagedClusterAzureMonitorProfileMetrics_STATUS) error { - - // Enabled - if source.Enabled != nil { - enabled := *source.Enabled - metrics.Enabled = &enabled - } else { - metrics.Enabled = nil - } - - // KubeStateMetrics - if source.KubeStateMetrics != nil { - var kubeStateMetric ManagedClusterAzureMonitorProfileKubeStateMetrics - err := kubeStateMetric.Initialize_From_ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS(source.KubeStateMetrics) - if err != nil { - return errors.Wrap(err, "calling Initialize_From_ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS() to populate field KubeStateMetrics") - } - metrics.KubeStateMetrics = &kubeStateMetric - } else { - metrics.KubeStateMetrics = nil - } - - // No error - return nil -} - // Metrics profile for the Azure Monitor managed service for Prometheus addon. Collect out-of-the-box Kubernetes // infrastructure metrics to send to an Azure Monitor Workspace and configure additional scraping for custom targets. See // aka.ms/AzureManagedPrometheus for an overview. @@ -18203,140 +16591,47 @@ func (profile *ManagedClusterLoadBalancerProfile) AssignProperties_To_ManagedClu destination.IdleTimeoutInMinutes = nil } - // ManagedOutboundIPs - if profile.ManagedOutboundIPs != nil { - var managedOutboundIP storage.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs - err := profile.ManagedOutboundIPs.AssignProperties_To_ManagedClusterLoadBalancerProfile_ManagedOutboundIPs(&managedOutboundIP) - if err != nil { - return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterLoadBalancerProfile_ManagedOutboundIPs() to populate field ManagedOutboundIPs") - } - destination.ManagedOutboundIPs = &managedOutboundIP - } else { - destination.ManagedOutboundIPs = nil - } - - // OutboundIPPrefixes - if profile.OutboundIPPrefixes != nil { - var outboundIPPrefix storage.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes - err := profile.OutboundIPPrefixes.AssignProperties_To_ManagedClusterLoadBalancerProfile_OutboundIPPrefixes(&outboundIPPrefix) - if err != nil { - return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterLoadBalancerProfile_OutboundIPPrefixes() to populate field OutboundIPPrefixes") - } - destination.OutboundIPPrefixes = &outboundIPPrefix - } else { - destination.OutboundIPPrefixes = nil - } - - // OutboundIPs - if profile.OutboundIPs != nil { - var outboundIP storage.ManagedClusterLoadBalancerProfile_OutboundIPs - err := profile.OutboundIPs.AssignProperties_To_ManagedClusterLoadBalancerProfile_OutboundIPs(&outboundIP) - if err != nil { - return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterLoadBalancerProfile_OutboundIPs() to populate field OutboundIPs") - } - destination.OutboundIPs = &outboundIP - } else { - destination.OutboundIPs = nil - } - - // Update the property bag - if len(propertyBag) > 0 { - destination.PropertyBag = propertyBag - } else { - destination.PropertyBag = nil - } - - // No error - return nil -} - -// Initialize_From_ManagedClusterLoadBalancerProfile_STATUS populates our ManagedClusterLoadBalancerProfile from the provided source ManagedClusterLoadBalancerProfile_STATUS -func (profile *ManagedClusterLoadBalancerProfile) Initialize_From_ManagedClusterLoadBalancerProfile_STATUS(source *ManagedClusterLoadBalancerProfile_STATUS) error { - - // AllocatedOutboundPorts - if source.AllocatedOutboundPorts != nil { - allocatedOutboundPort := *source.AllocatedOutboundPorts - profile.AllocatedOutboundPorts = &allocatedOutboundPort - } else { - profile.AllocatedOutboundPorts = nil - } - - // BackendPoolType - if source.BackendPoolType != nil { - backendPoolType := genruntime.ToEnum(string(*source.BackendPoolType), managedClusterLoadBalancerProfile_BackendPoolType_Values) - profile.BackendPoolType = &backendPoolType - } else { - profile.BackendPoolType = nil - } - - // EffectiveOutboundIPs - if source.EffectiveOutboundIPs != nil { - effectiveOutboundIPList := make([]ResourceReference, len(source.EffectiveOutboundIPs)) - for effectiveOutboundIPIndex, effectiveOutboundIPItem := range source.EffectiveOutboundIPs { - // Shadow the loop variable to avoid aliasing - effectiveOutboundIPItem := effectiveOutboundIPItem - var effectiveOutboundIP ResourceReference - err := effectiveOutboundIP.Initialize_From_ResourceReference_STATUS(&effectiveOutboundIPItem) - if err != nil { - return errors.Wrap(err, "calling Initialize_From_ResourceReference_STATUS() to populate field EffectiveOutboundIPs") - } - effectiveOutboundIPList[effectiveOutboundIPIndex] = effectiveOutboundIP - } - profile.EffectiveOutboundIPs = effectiveOutboundIPList - } else { - profile.EffectiveOutboundIPs = nil - } - - // EnableMultipleStandardLoadBalancers - if source.EnableMultipleStandardLoadBalancers != nil { - enableMultipleStandardLoadBalancer := *source.EnableMultipleStandardLoadBalancers - profile.EnableMultipleStandardLoadBalancers = &enableMultipleStandardLoadBalancer - } else { - profile.EnableMultipleStandardLoadBalancers = nil - } - - // IdleTimeoutInMinutes - if source.IdleTimeoutInMinutes != nil { - idleTimeoutInMinute := *source.IdleTimeoutInMinutes - profile.IdleTimeoutInMinutes = &idleTimeoutInMinute - } else { - profile.IdleTimeoutInMinutes = nil - } - - // ManagedOutboundIPs - if source.ManagedOutboundIPs != nil { - var managedOutboundIP ManagedClusterLoadBalancerProfile_ManagedOutboundIPs - err := managedOutboundIP.Initialize_From_ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS(source.ManagedOutboundIPs) + // ManagedOutboundIPs + if profile.ManagedOutboundIPs != nil { + var managedOutboundIP storage.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs + err := profile.ManagedOutboundIPs.AssignProperties_To_ManagedClusterLoadBalancerProfile_ManagedOutboundIPs(&managedOutboundIP) if err != nil { - return errors.Wrap(err, "calling Initialize_From_ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS() to populate field ManagedOutboundIPs") + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterLoadBalancerProfile_ManagedOutboundIPs() to populate field ManagedOutboundIPs") } - profile.ManagedOutboundIPs = &managedOutboundIP + destination.ManagedOutboundIPs = &managedOutboundIP } else { - profile.ManagedOutboundIPs = nil + destination.ManagedOutboundIPs = nil } // OutboundIPPrefixes - if source.OutboundIPPrefixes != nil { - var outboundIPPrefix ManagedClusterLoadBalancerProfile_OutboundIPPrefixes - err := outboundIPPrefix.Initialize_From_ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS(source.OutboundIPPrefixes) + if profile.OutboundIPPrefixes != nil { + var outboundIPPrefix storage.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes + err := profile.OutboundIPPrefixes.AssignProperties_To_ManagedClusterLoadBalancerProfile_OutboundIPPrefixes(&outboundIPPrefix) if err != nil { - return errors.Wrap(err, "calling Initialize_From_ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS() to populate field OutboundIPPrefixes") + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterLoadBalancerProfile_OutboundIPPrefixes() to populate field OutboundIPPrefixes") } - profile.OutboundIPPrefixes = &outboundIPPrefix + destination.OutboundIPPrefixes = &outboundIPPrefix } else { - profile.OutboundIPPrefixes = nil + destination.OutboundIPPrefixes = nil } // OutboundIPs - if source.OutboundIPs != nil { - var outboundIP ManagedClusterLoadBalancerProfile_OutboundIPs - err := outboundIP.Initialize_From_ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS(source.OutboundIPs) + if profile.OutboundIPs != nil { + var outboundIP storage.ManagedClusterLoadBalancerProfile_OutboundIPs + err := profile.OutboundIPs.AssignProperties_To_ManagedClusterLoadBalancerProfile_OutboundIPs(&outboundIP) if err != nil { - return errors.Wrap(err, "calling Initialize_From_ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS() to populate field OutboundIPs") + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterLoadBalancerProfile_OutboundIPs() to populate field OutboundIPs") } - profile.OutboundIPs = &outboundIP + destination.OutboundIPs = &outboundIP } else { - profile.OutboundIPs = nil + destination.OutboundIPs = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil } // No error @@ -18828,51 +17123,6 @@ func (profile *ManagedClusterNATGatewayProfile) AssignProperties_To_ManagedClust return nil } -// Initialize_From_ManagedClusterNATGatewayProfile_STATUS populates our ManagedClusterNATGatewayProfile from the provided source ManagedClusterNATGatewayProfile_STATUS -func (profile *ManagedClusterNATGatewayProfile) Initialize_From_ManagedClusterNATGatewayProfile_STATUS(source *ManagedClusterNATGatewayProfile_STATUS) error { - - // EffectiveOutboundIPs - if source.EffectiveOutboundIPs != nil { - effectiveOutboundIPList := make([]ResourceReference, len(source.EffectiveOutboundIPs)) - for effectiveOutboundIPIndex, effectiveOutboundIPItem := range source.EffectiveOutboundIPs { - // Shadow the loop variable to avoid aliasing - effectiveOutboundIPItem := effectiveOutboundIPItem - var effectiveOutboundIP ResourceReference - err := effectiveOutboundIP.Initialize_From_ResourceReference_STATUS(&effectiveOutboundIPItem) - if err != nil { - return errors.Wrap(err, "calling Initialize_From_ResourceReference_STATUS() to populate field EffectiveOutboundIPs") - } - effectiveOutboundIPList[effectiveOutboundIPIndex] = effectiveOutboundIP - } - profile.EffectiveOutboundIPs = effectiveOutboundIPList - } else { - profile.EffectiveOutboundIPs = nil - } - - // IdleTimeoutInMinutes - if source.IdleTimeoutInMinutes != nil { - idleTimeoutInMinute := *source.IdleTimeoutInMinutes - profile.IdleTimeoutInMinutes = &idleTimeoutInMinute - } else { - profile.IdleTimeoutInMinutes = nil - } - - // ManagedOutboundIPProfile - if source.ManagedOutboundIPProfile != nil { - var managedOutboundIPProfile ManagedClusterManagedOutboundIPProfile - err := managedOutboundIPProfile.Initialize_From_ManagedClusterManagedOutboundIPProfile_STATUS(source.ManagedOutboundIPProfile) - if err != nil { - return errors.Wrap(err, "calling Initialize_From_ManagedClusterManagedOutboundIPProfile_STATUS() to populate field ManagedOutboundIPProfile") - } - profile.ManagedOutboundIPProfile = &managedOutboundIPProfile - } else { - profile.ManagedOutboundIPProfile = nil - } - - // No error - return nil -} - // Profile of the managed cluster NAT gateway. type ManagedClusterNATGatewayProfile_STATUS struct { // EffectiveOutboundIPs: The effective outbound IP resources of the cluster NAT gateway. @@ -19316,34 +17566,6 @@ func (identity *ManagedClusterPodIdentity) AssignProperties_To_ManagedClusterPod return nil } -// Initialize_From_ManagedClusterPodIdentity_STATUS populates our ManagedClusterPodIdentity from the provided source ManagedClusterPodIdentity_STATUS -func (identity *ManagedClusterPodIdentity) Initialize_From_ManagedClusterPodIdentity_STATUS(source *ManagedClusterPodIdentity_STATUS) error { - - // BindingSelector - identity.BindingSelector = genruntime.ClonePointerToString(source.BindingSelector) - - // Identity - if source.Identity != nil { - var identityLocal UserAssignedIdentity - err := identityLocal.Initialize_From_UserAssignedIdentity_STATUS(source.Identity) - if err != nil { - return errors.Wrap(err, "calling Initialize_From_UserAssignedIdentity_STATUS() to populate field Identity") - } - identity.Identity = &identityLocal - } else { - identity.Identity = nil - } - - // Name - identity.Name = genruntime.ClonePointerToString(source.Name) - - // Namespace - identity.Namespace = genruntime.ClonePointerToString(source.Namespace) - - // No error - return nil -} - // Details about the pod identity assigned to the Managed Cluster. type ManagedClusterPodIdentity_STATUS struct { // BindingSelector: The binding selector to use for the AzureIdentityBinding resource. @@ -19659,22 +17881,6 @@ func (exception *ManagedClusterPodIdentityException) AssignProperties_To_Managed return nil } -// Initialize_From_ManagedClusterPodIdentityException_STATUS populates our ManagedClusterPodIdentityException from the provided source ManagedClusterPodIdentityException_STATUS -func (exception *ManagedClusterPodIdentityException) Initialize_From_ManagedClusterPodIdentityException_STATUS(source *ManagedClusterPodIdentityException_STATUS) error { - - // Name - exception.Name = genruntime.ClonePointerToString(source.Name) - - // Namespace - exception.Namespace = genruntime.ClonePointerToString(source.Namespace) - - // PodLabels - exception.PodLabels = genruntime.CloneMapOfStringToString(source.PodLabels) - - // No error - return nil -} - // See [disable AAD Pod Identity for a specific // Pod/Application](https://azure.github.io/aad-pod-identity/docs/configure/application_exception/) for more details. type ManagedClusterPodIdentityException_STATUS struct { @@ -19936,33 +18142,6 @@ func (defender *ManagedClusterSecurityProfileDefender) AssignProperties_To_Manag return nil } -// Initialize_From_ManagedClusterSecurityProfileDefender_STATUS populates our ManagedClusterSecurityProfileDefender from the provided source ManagedClusterSecurityProfileDefender_STATUS -func (defender *ManagedClusterSecurityProfileDefender) Initialize_From_ManagedClusterSecurityProfileDefender_STATUS(source *ManagedClusterSecurityProfileDefender_STATUS) error { - - // LogAnalyticsWorkspaceResourceReference - if source.LogAnalyticsWorkspaceResourceId != nil { - logAnalyticsWorkspaceResourceReference := genruntime.CreateResourceReferenceFromARMID(*source.LogAnalyticsWorkspaceResourceId) - defender.LogAnalyticsWorkspaceResourceReference = &logAnalyticsWorkspaceResourceReference - } else { - defender.LogAnalyticsWorkspaceResourceReference = nil - } - - // SecurityMonitoring - if source.SecurityMonitoring != nil { - var securityMonitoring ManagedClusterSecurityProfileDefenderSecurityMonitoring - err := securityMonitoring.Initialize_From_ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS(source.SecurityMonitoring) - if err != nil { - return errors.Wrap(err, "calling Initialize_From_ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS() to populate field SecurityMonitoring") - } - defender.SecurityMonitoring = &securityMonitoring - } else { - defender.SecurityMonitoring = nil - } - - // No error - return nil -} - // Microsoft Defender settings for the security profile. type ManagedClusterSecurityProfileDefender_STATUS struct { // LogAnalyticsWorkspaceResourceId: Resource ID of the Log Analytics workspace to be associated with Microsoft Defender. @@ -20168,24 +18347,6 @@ func (cleaner *ManagedClusterSecurityProfileImageCleaner) AssignProperties_To_Ma return nil } -// Initialize_From_ManagedClusterSecurityProfileImageCleaner_STATUS populates our ManagedClusterSecurityProfileImageCleaner from the provided source ManagedClusterSecurityProfileImageCleaner_STATUS -func (cleaner *ManagedClusterSecurityProfileImageCleaner) Initialize_From_ManagedClusterSecurityProfileImageCleaner_STATUS(source *ManagedClusterSecurityProfileImageCleaner_STATUS) error { - - // Enabled - if source.Enabled != nil { - enabled := *source.Enabled - cleaner.Enabled = &enabled - } else { - cleaner.Enabled = nil - } - - // IntervalHours - cleaner.IntervalHours = genruntime.ClonePointerToInt(source.IntervalHours) - - // No error - return nil -} - // Image Cleaner removes unused images from nodes, freeing up disk space and helping to reduce attack surface area. Here // are settings for the security profile. type ManagedClusterSecurityProfileImageCleaner_STATUS struct { @@ -20355,21 +18516,6 @@ func (identity *ManagedClusterSecurityProfileWorkloadIdentity) AssignProperties_ return nil } -// Initialize_From_ManagedClusterSecurityProfileWorkloadIdentity_STATUS populates our ManagedClusterSecurityProfileWorkloadIdentity from the provided source ManagedClusterSecurityProfileWorkloadIdentity_STATUS -func (identity *ManagedClusterSecurityProfileWorkloadIdentity) Initialize_From_ManagedClusterSecurityProfileWorkloadIdentity_STATUS(source *ManagedClusterSecurityProfileWorkloadIdentity_STATUS) error { - - // Enabled - if source.Enabled != nil { - enabled := *source.Enabled - identity.Enabled = &enabled - } else { - identity.Enabled = nil - } - - // No error - return nil -} - // Workload identity settings for the security profile. type ManagedClusterSecurityProfileWorkloadIdentity_STATUS struct { // Enabled: Whether to enable workload identity. @@ -20573,21 +18719,6 @@ func (driver *ManagedClusterStorageProfileBlobCSIDriver) AssignProperties_To_Man return nil } -// Initialize_From_ManagedClusterStorageProfileBlobCSIDriver_STATUS populates our ManagedClusterStorageProfileBlobCSIDriver from the provided source ManagedClusterStorageProfileBlobCSIDriver_STATUS -func (driver *ManagedClusterStorageProfileBlobCSIDriver) Initialize_From_ManagedClusterStorageProfileBlobCSIDriver_STATUS(source *ManagedClusterStorageProfileBlobCSIDriver_STATUS) error { - - // Enabled - if source.Enabled != nil { - enabled := *source.Enabled - driver.Enabled = &enabled - } else { - driver.Enabled = nil - } - - // No error - return nil -} - // AzureBlob CSI Driver settings for the storage profile. type ManagedClusterStorageProfileBlobCSIDriver_STATUS struct { // Enabled: Whether to enable AzureBlob CSI Driver. The default value is false. @@ -20741,21 +18872,6 @@ func (driver *ManagedClusterStorageProfileDiskCSIDriver) AssignProperties_To_Man return nil } -// Initialize_From_ManagedClusterStorageProfileDiskCSIDriver_STATUS populates our ManagedClusterStorageProfileDiskCSIDriver from the provided source ManagedClusterStorageProfileDiskCSIDriver_STATUS -func (driver *ManagedClusterStorageProfileDiskCSIDriver) Initialize_From_ManagedClusterStorageProfileDiskCSIDriver_STATUS(source *ManagedClusterStorageProfileDiskCSIDriver_STATUS) error { - - // Enabled - if source.Enabled != nil { - enabled := *source.Enabled - driver.Enabled = &enabled - } else { - driver.Enabled = nil - } - - // No error - return nil -} - // AzureDisk CSI Driver settings for the storage profile. type ManagedClusterStorageProfileDiskCSIDriver_STATUS struct { // Enabled: Whether to enable AzureDisk CSI Driver. The default value is true. @@ -20909,21 +19025,6 @@ func (driver *ManagedClusterStorageProfileFileCSIDriver) AssignProperties_To_Man return nil } -// Initialize_From_ManagedClusterStorageProfileFileCSIDriver_STATUS populates our ManagedClusterStorageProfileFileCSIDriver from the provided source ManagedClusterStorageProfileFileCSIDriver_STATUS -func (driver *ManagedClusterStorageProfileFileCSIDriver) Initialize_From_ManagedClusterStorageProfileFileCSIDriver_STATUS(source *ManagedClusterStorageProfileFileCSIDriver_STATUS) error { - - // Enabled - if source.Enabled != nil { - enabled := *source.Enabled - driver.Enabled = &enabled - } else { - driver.Enabled = nil - } - - // No error - return nil -} - // AzureFile CSI Driver settings for the storage profile. type ManagedClusterStorageProfileFileCSIDriver_STATUS struct { // Enabled: Whether to enable AzureFile CSI Driver. The default value is true. @@ -21077,21 +19178,6 @@ func (controller *ManagedClusterStorageProfileSnapshotController) AssignProperti return nil } -// Initialize_From_ManagedClusterStorageProfileSnapshotController_STATUS populates our ManagedClusterStorageProfileSnapshotController from the provided source ManagedClusterStorageProfileSnapshotController_STATUS -func (controller *ManagedClusterStorageProfileSnapshotController) Initialize_From_ManagedClusterStorageProfileSnapshotController_STATUS(source *ManagedClusterStorageProfileSnapshotController_STATUS) error { - - // Enabled - if source.Enabled != nil { - enabled := *source.Enabled - controller.Enabled = &enabled - } else { - controller.Enabled = nil - } - - // No error - return nil -} - // Snapshot Controller settings for the storage profile. type ManagedClusterStorageProfileSnapshotController_STATUS struct { // Enabled: Whether to enable Snapshot Controller. The default value is true. @@ -21273,21 +19359,6 @@ func (keda *ManagedClusterWorkloadAutoScalerProfileKeda) AssignProperties_To_Man return nil } -// Initialize_From_ManagedClusterWorkloadAutoScalerProfileKeda_STATUS populates our ManagedClusterWorkloadAutoScalerProfileKeda from the provided source ManagedClusterWorkloadAutoScalerProfileKeda_STATUS -func (keda *ManagedClusterWorkloadAutoScalerProfileKeda) Initialize_From_ManagedClusterWorkloadAutoScalerProfileKeda_STATUS(source *ManagedClusterWorkloadAutoScalerProfileKeda_STATUS) error { - - // Enabled - if source.Enabled != nil { - enabled := *source.Enabled - keda.Enabled = &enabled - } else { - keda.Enabled = nil - } - - // No error - return nil -} - // KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile. type ManagedClusterWorkloadAutoScalerProfileKeda_STATUS struct { // Enabled: Whether to enable KEDA. @@ -21442,21 +19513,6 @@ func (autoscaler *ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler) return nil } -// Initialize_From_ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS populates our ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler from the provided source ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS -func (autoscaler *ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler) Initialize_From_ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS(source *ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS) error { - - // Enabled - if source.Enabled != nil { - enabled := *source.Enabled - autoscaler.Enabled = &enabled - } else { - autoscaler.Enabled = nil - } - - // No error - return nil -} - // VPA (Vertical Pod Autoscaler) settings for the workload auto-scaler profile. type ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS struct { // Enabled: Whether to enable VPA. Default value is false. @@ -21714,30 +19770,12 @@ func (settings *UpgradeOverrideSettings) AssignProperties_To_UpgradeOverrideSett destination.Until = genruntime.ClonePointerToString(settings.Until) // Update the property bag - if len(propertyBag) > 0 { - destination.PropertyBag = propertyBag - } else { - destination.PropertyBag = nil - } - - // No error - return nil -} - -// Initialize_From_UpgradeOverrideSettings_STATUS populates our UpgradeOverrideSettings from the provided source UpgradeOverrideSettings_STATUS -func (settings *UpgradeOverrideSettings) Initialize_From_UpgradeOverrideSettings_STATUS(source *UpgradeOverrideSettings_STATUS) error { - - // ForceUpgrade - if source.ForceUpgrade != nil { - forceUpgrade := *source.ForceUpgrade - settings.ForceUpgrade = &forceUpgrade + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag } else { - settings.ForceUpgrade = nil + destination.PropertyBag = nil } - // Until - settings.Until = genruntime.ClonePointerToString(source.Until) - // No error return nil } @@ -21991,27 +20029,6 @@ func (profile *WindowsGmsaProfile) AssignProperties_To_WindowsGmsaProfile(destin return nil } -// Initialize_From_WindowsGmsaProfile_STATUS populates our WindowsGmsaProfile from the provided source WindowsGmsaProfile_STATUS -func (profile *WindowsGmsaProfile) Initialize_From_WindowsGmsaProfile_STATUS(source *WindowsGmsaProfile_STATUS) error { - - // DnsServer - profile.DnsServer = genruntime.ClonePointerToString(source.DnsServer) - - // Enabled - if source.Enabled != nil { - enabled := *source.Enabled - profile.Enabled = &enabled - } else { - profile.Enabled = nil - } - - // RootDomainName - profile.RootDomainName = genruntime.ClonePointerToString(source.RootDomainName) - - // No error - return nil -} - // Windows gMSA Profile in the managed cluster. type WindowsGmsaProfile_STATUS struct { // DnsServer: Specifies the DNS server for Windows gMSA. @@ -22216,16 +20233,6 @@ func (publicKey *ContainerServiceSshPublicKey) AssignProperties_To_ContainerServ return nil } -// Initialize_From_ContainerServiceSshPublicKey_STATUS populates our ContainerServiceSshPublicKey from the provided source ContainerServiceSshPublicKey_STATUS -func (publicKey *ContainerServiceSshPublicKey) Initialize_From_ContainerServiceSshPublicKey_STATUS(source *ContainerServiceSshPublicKey_STATUS) error { - - // KeyData - publicKey.KeyData = genruntime.ClonePointerToString(source.KeyData) - - // No error - return nil -} - // Contains information about SSH certificate public key data. type ContainerServiceSshPublicKey_STATUS struct { // KeyData: Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or @@ -22388,25 +20395,6 @@ func (authority *IstioCertificateAuthority) AssignProperties_To_IstioCertificate return nil } -// Initialize_From_IstioCertificateAuthority_STATUS populates our IstioCertificateAuthority from the provided source IstioCertificateAuthority_STATUS -func (authority *IstioCertificateAuthority) Initialize_From_IstioCertificateAuthority_STATUS(source *IstioCertificateAuthority_STATUS) error { - - // Plugin - if source.Plugin != nil { - var plugin IstioPluginCertificateAuthority - err := plugin.Initialize_From_IstioPluginCertificateAuthority_STATUS(source.Plugin) - if err != nil { - return errors.Wrap(err, "calling Initialize_From_IstioPluginCertificateAuthority_STATUS() to populate field Plugin") - } - authority.Plugin = &plugin - } else { - authority.Plugin = nil - } - - // No error - return nil -} - // Istio Service Mesh Certificate Authority (CA) configuration. For now, we only support plugin certificates as described // here https://aka.ms/asm-plugin-ca type IstioCertificateAuthority_STATUS struct { @@ -22659,49 +20647,6 @@ func (components *IstioComponents) AssignProperties_To_IstioComponents(destinati return nil } -// Initialize_From_IstioComponents_STATUS populates our IstioComponents from the provided source IstioComponents_STATUS -func (components *IstioComponents) Initialize_From_IstioComponents_STATUS(source *IstioComponents_STATUS) error { - - // EgressGateways - if source.EgressGateways != nil { - egressGatewayList := make([]IstioEgressGateway, len(source.EgressGateways)) - for egressGatewayIndex, egressGatewayItem := range source.EgressGateways { - // Shadow the loop variable to avoid aliasing - egressGatewayItem := egressGatewayItem - var egressGateway IstioEgressGateway - err := egressGateway.Initialize_From_IstioEgressGateway_STATUS(&egressGatewayItem) - if err != nil { - return errors.Wrap(err, "calling Initialize_From_IstioEgressGateway_STATUS() to populate field EgressGateways") - } - egressGatewayList[egressGatewayIndex] = egressGateway - } - components.EgressGateways = egressGatewayList - } else { - components.EgressGateways = nil - } - - // IngressGateways - if source.IngressGateways != nil { - ingressGatewayList := make([]IstioIngressGateway, len(source.IngressGateways)) - for ingressGatewayIndex, ingressGatewayItem := range source.IngressGateways { - // Shadow the loop variable to avoid aliasing - ingressGatewayItem := ingressGatewayItem - var ingressGateway IstioIngressGateway - err := ingressGateway.Initialize_From_IstioIngressGateway_STATUS(&ingressGatewayItem) - if err != nil { - return errors.Wrap(err, "calling Initialize_From_IstioIngressGateway_STATUS() to populate field IngressGateways") - } - ingressGatewayList[ingressGatewayIndex] = ingressGateway - } - components.IngressGateways = ingressGatewayList - } else { - components.IngressGateways = nil - } - - // No error - return nil -} - // Istio components configuration. type IstioComponents_STATUS struct { // EgressGateways: Istio egress gateways. @@ -22945,19 +20890,6 @@ func (metrics *ManagedClusterAzureMonitorProfileKubeStateMetrics) AssignProperti return nil } -// Initialize_From_ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS populates our ManagedClusterAzureMonitorProfileKubeStateMetrics from the provided source ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS -func (metrics *ManagedClusterAzureMonitorProfileKubeStateMetrics) Initialize_From_ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS(source *ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS) error { - - // MetricAnnotationsAllowList - metrics.MetricAnnotationsAllowList = genruntime.ClonePointerToString(source.MetricAnnotationsAllowList) - - // MetricLabelsAllowlist - metrics.MetricLabelsAllowlist = genruntime.ClonePointerToString(source.MetricLabelsAllowlist) - - // No error - return nil -} - // Kube State Metrics profile for the Azure Managed Prometheus addon. These optional settings are for the // kube-state-metrics pod that is deployed with the addon. See aka.ms/AzureManagedPrometheus-optional-parameters for // details. @@ -23185,29 +21117,6 @@ func (iPs *ManagedClusterLoadBalancerProfile_ManagedOutboundIPs) AssignPropertie return nil } -// Initialize_From_ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS populates our ManagedClusterLoadBalancerProfile_ManagedOutboundIPs from the provided source ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS -func (iPs *ManagedClusterLoadBalancerProfile_ManagedOutboundIPs) Initialize_From_ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS(source *ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS) error { - - // Count - if source.Count != nil { - count := *source.Count - iPs.Count = &count - } else { - iPs.Count = nil - } - - // CountIPv6 - if source.CountIPv6 != nil { - countIPv6 := *source.CountIPv6 - iPs.CountIPv6 = &countIPv6 - } else { - iPs.CountIPv6 = nil - } - - // No error - return nil -} - type ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS struct { // Count: The desired number of IPv4 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values // must be in the range of 1 to 100 (inclusive). The default value is 1. @@ -23393,31 +21302,6 @@ func (prefixes *ManagedClusterLoadBalancerProfile_OutboundIPPrefixes) AssignProp return nil } -// Initialize_From_ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS populates our ManagedClusterLoadBalancerProfile_OutboundIPPrefixes from the provided source ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS -func (prefixes *ManagedClusterLoadBalancerProfile_OutboundIPPrefixes) Initialize_From_ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS(source *ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS) error { - - // PublicIPPrefixes - if source.PublicIPPrefixes != nil { - publicIPPrefixList := make([]ResourceReference, len(source.PublicIPPrefixes)) - for publicIPPrefixIndex, publicIPPrefixItem := range source.PublicIPPrefixes { - // Shadow the loop variable to avoid aliasing - publicIPPrefixItem := publicIPPrefixItem - var publicIPPrefix ResourceReference - err := publicIPPrefix.Initialize_From_ResourceReference_STATUS(&publicIPPrefixItem) - if err != nil { - return errors.Wrap(err, "calling Initialize_From_ResourceReference_STATUS() to populate field PublicIPPrefixes") - } - publicIPPrefixList[publicIPPrefixIndex] = publicIPPrefix - } - prefixes.PublicIPPrefixes = publicIPPrefixList - } else { - prefixes.PublicIPPrefixes = nil - } - - // No error - return nil -} - type ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS struct { // PublicIPPrefixes: A list of public IP prefix resources. PublicIPPrefixes []ResourceReference_STATUS `json:"publicIPPrefixes,omitempty"` @@ -23620,31 +21504,6 @@ func (iPs *ManagedClusterLoadBalancerProfile_OutboundIPs) AssignProperties_To_Ma return nil } -// Initialize_From_ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS populates our ManagedClusterLoadBalancerProfile_OutboundIPs from the provided source ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS -func (iPs *ManagedClusterLoadBalancerProfile_OutboundIPs) Initialize_From_ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS(source *ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS) error { - - // PublicIPs - if source.PublicIPs != nil { - publicIPList := make([]ResourceReference, len(source.PublicIPs)) - for publicIPIndex, publicIPItem := range source.PublicIPs { - // Shadow the loop variable to avoid aliasing - publicIPItem := publicIPItem - var publicIP ResourceReference - err := publicIP.Initialize_From_ResourceReference_STATUS(&publicIPItem) - if err != nil { - return errors.Wrap(err, "calling Initialize_From_ResourceReference_STATUS() to populate field PublicIPs") - } - publicIPList[publicIPIndex] = publicIP - } - iPs.PublicIPs = publicIPList - } else { - iPs.PublicIPs = nil - } - - // No error - return nil -} - type ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS struct { // PublicIPs: A list of public IP resources. PublicIPs []ResourceReference_STATUS `json:"publicIPs,omitempty"` @@ -23824,21 +21683,6 @@ func (profile *ManagedClusterManagedOutboundIPProfile) AssignProperties_To_Manag return nil } -// Initialize_From_ManagedClusterManagedOutboundIPProfile_STATUS populates our ManagedClusterManagedOutboundIPProfile from the provided source ManagedClusterManagedOutboundIPProfile_STATUS -func (profile *ManagedClusterManagedOutboundIPProfile) Initialize_From_ManagedClusterManagedOutboundIPProfile_STATUS(source *ManagedClusterManagedOutboundIPProfile_STATUS) error { - - // Count - if source.Count != nil { - count := *source.Count - profile.Count = &count - } else { - profile.Count = nil - } - - // No error - return nil -} - // Profile of the managed outbound IP resources of the managed cluster. type ManagedClusterManagedOutboundIPProfile_STATUS struct { // Count: The desired number of outbound IPs created/managed by Azure. Allowed values must be in the range of 1 to 16 @@ -24085,21 +21929,6 @@ func (monitoring *ManagedClusterSecurityProfileDefenderSecurityMonitoring) Assig return nil } -// Initialize_From_ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS populates our ManagedClusterSecurityProfileDefenderSecurityMonitoring from the provided source ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS -func (monitoring *ManagedClusterSecurityProfileDefenderSecurityMonitoring) Initialize_From_ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS(source *ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS) error { - - // Enabled - if source.Enabled != nil { - enabled := *source.Enabled - monitoring.Enabled = &enabled - } else { - monitoring.Enabled = nil - } - - // No error - return nil -} - // Microsoft Defender settings for the security profile threat detection. type ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS struct { // Enabled: Whether to enable Defender threat detection @@ -24253,21 +22082,6 @@ func (reference *ResourceReference) AssignProperties_To_ResourceReference(destin return nil } -// Initialize_From_ResourceReference_STATUS populates our ResourceReference from the provided source ResourceReference_STATUS -func (reference *ResourceReference) Initialize_From_ResourceReference_STATUS(source *ResourceReference_STATUS) error { - - // Reference - if source.Id != nil { - referenceTemp := genruntime.CreateResourceReferenceFromARMID(*source.Id) - reference.Reference = &referenceTemp - } else { - reference.Reference = nil - } - - // No error - return nil -} - // A reference to an Azure resource. type ResourceReference_STATUS struct { // Id: The fully qualified Azure resource id. @@ -24437,24 +22251,6 @@ func (gateway *IstioEgressGateway) AssignProperties_To_IstioEgressGateway(destin return nil } -// Initialize_From_IstioEgressGateway_STATUS populates our IstioEgressGateway from the provided source IstioEgressGateway_STATUS -func (gateway *IstioEgressGateway) Initialize_From_IstioEgressGateway_STATUS(source *IstioEgressGateway_STATUS) error { - - // Enabled - if source.Enabled != nil { - enabled := *source.Enabled - gateway.Enabled = &enabled - } else { - gateway.Enabled = nil - } - - // NodeSelector - gateway.NodeSelector = genruntime.CloneMapOfStringToString(source.NodeSelector) - - // No error - return nil -} - // Istio egress gateway configuration. type IstioEgressGateway_STATUS struct { // Enabled: Whether to enable the egress gateway. @@ -24664,29 +22460,6 @@ func (gateway *IstioIngressGateway) AssignProperties_To_IstioIngressGateway(dest return nil } -// Initialize_From_IstioIngressGateway_STATUS populates our IstioIngressGateway from the provided source IstioIngressGateway_STATUS -func (gateway *IstioIngressGateway) Initialize_From_IstioIngressGateway_STATUS(source *IstioIngressGateway_STATUS) error { - - // Enabled - if source.Enabled != nil { - enabled := *source.Enabled - gateway.Enabled = &enabled - } else { - gateway.Enabled = nil - } - - // Mode - if source.Mode != nil { - mode := genruntime.ToEnum(string(*source.Mode), istioIngressGateway_Mode_Values) - gateway.Mode = &mode - } else { - gateway.Mode = nil - } - - // No error - return nil -} - // Istio ingress gateway configuration. For now, we support up to one external ingress gateway named // `aks-istio-ingressgateway-external` and one internal ingress gateway named `aks-istio-ingressgateway-internal`. type IstioIngressGateway_STATUS struct { @@ -24953,33 +22726,6 @@ func (authority *IstioPluginCertificateAuthority) AssignProperties_To_IstioPlugi return nil } -// Initialize_From_IstioPluginCertificateAuthority_STATUS populates our IstioPluginCertificateAuthority from the provided source IstioPluginCertificateAuthority_STATUS -func (authority *IstioPluginCertificateAuthority) Initialize_From_IstioPluginCertificateAuthority_STATUS(source *IstioPluginCertificateAuthority_STATUS) error { - - // CertChainObjectName - authority.CertChainObjectName = genruntime.ClonePointerToString(source.CertChainObjectName) - - // CertObjectName - authority.CertObjectName = genruntime.ClonePointerToString(source.CertObjectName) - - // KeyObjectName - authority.KeyObjectName = genruntime.ClonePointerToString(source.KeyObjectName) - - // KeyVaultReference - if source.KeyVaultId != nil { - keyVaultReference := genruntime.CreateResourceReferenceFromARMID(*source.KeyVaultId) - authority.KeyVaultReference = &keyVaultReference - } else { - authority.KeyVaultReference = nil - } - - // RootCertObjectName - authority.RootCertObjectName = genruntime.ClonePointerToString(source.RootCertObjectName) - - // No error - return nil -} - // Plugin certificates information for Service Mesh. type IstioPluginCertificateAuthority_STATUS struct { // CertChainObjectName: Certificate chain object name in Azure Key Vault. diff --git a/v2/api/containerservice/v1api20231001/managed_cluster_types_gen_test.go b/v2/api/containerservice/v1api20231001/managed_cluster_types_gen_test.go index 03ad2ca4b2b..869cd370134 100644 --- a/v2/api/containerservice/v1api20231001/managed_cluster_types_gen_test.go +++ b/v2/api/containerservice/v1api20231001/managed_cluster_types_gen_test.go @@ -5,7 +5,8 @@ package v1api20231001 import ( "encoding/json" - storage "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20231001/storage" + v20231001s "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20231001/storage" + v20240901s "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20240901/storage" "github.com/google/go-cmp/cmp" "github.com/google/go-cmp/cmp/cmpopts" "github.com/kr/pretty" @@ -35,7 +36,7 @@ func RunPropertyAssignmentTestForAzureKeyVaultKms(subject AzureKeyVaultKms) stri copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.AzureKeyVaultKms + var other v20231001s.AzureKeyVaultKms err := copied.AssignProperties_To_AzureKeyVaultKms(&other) if err != nil { return err.Error() @@ -139,7 +140,7 @@ func RunPropertyAssignmentTestForAzureKeyVaultKms_STATUS(subject AzureKeyVaultKm copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.AzureKeyVaultKms_STATUS + var other v20231001s.AzureKeyVaultKms_STATUS err := copied.AssignProperties_To_AzureKeyVaultKms_STATUS(&other) if err != nil { return err.Error() @@ -245,7 +246,7 @@ func RunPropertyAssignmentTestForClusterUpgradeSettings(subject ClusterUpgradeSe copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ClusterUpgradeSettings + var other v20231001s.ClusterUpgradeSettings err := copied.AssignProperties_To_ClusterUpgradeSettings(&other) if err != nil { return err.Error() @@ -348,7 +349,7 @@ func RunPropertyAssignmentTestForClusterUpgradeSettings_STATUS(subject ClusterUp copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ClusterUpgradeSettings_STATUS + var other v20231001s.ClusterUpgradeSettings_STATUS err := copied.AssignProperties_To_ClusterUpgradeSettings_STATUS(&other) if err != nil { return err.Error() @@ -451,7 +452,7 @@ func RunPropertyAssignmentTestForContainerServiceLinuxProfile(subject ContainerS copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ContainerServiceLinuxProfile + var other v20231001s.ContainerServiceLinuxProfile err := copied.AssignProperties_To_ContainerServiceLinuxProfile(&other) if err != nil { return err.Error() @@ -568,7 +569,7 @@ func RunPropertyAssignmentTestForContainerServiceLinuxProfile_STATUS(subject Con copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ContainerServiceLinuxProfile_STATUS + var other v20231001s.ContainerServiceLinuxProfile_STATUS err := copied.AssignProperties_To_ContainerServiceLinuxProfile_STATUS(&other) if err != nil { return err.Error() @@ -685,7 +686,7 @@ func RunPropertyAssignmentTestForContainerServiceNetworkProfile(subject Containe copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ContainerServiceNetworkProfile + var other v20231001s.ContainerServiceNetworkProfile err := copied.AssignProperties_To_ContainerServiceNetworkProfile(&other) if err != nil { return err.Error() @@ -819,7 +820,7 @@ func RunPropertyAssignmentTestForContainerServiceNetworkProfile_STATUS(subject C copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ContainerServiceNetworkProfile_STATUS + var other v20231001s.ContainerServiceNetworkProfile_STATUS err := copied.AssignProperties_To_ContainerServiceNetworkProfile_STATUS(&other) if err != nil { return err.Error() @@ -953,7 +954,7 @@ func RunPropertyAssignmentTestForContainerServiceSshConfiguration(subject Contai copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ContainerServiceSshConfiguration + var other v20231001s.ContainerServiceSshConfiguration err := copied.AssignProperties_To_ContainerServiceSshConfiguration(&other) if err != nil { return err.Error() @@ -1056,7 +1057,7 @@ func RunPropertyAssignmentTestForContainerServiceSshConfiguration_STATUS(subject copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ContainerServiceSshConfiguration_STATUS + var other v20231001s.ContainerServiceSshConfiguration_STATUS err := copied.AssignProperties_To_ContainerServiceSshConfiguration_STATUS(&other) if err != nil { return err.Error() @@ -1159,7 +1160,7 @@ func RunPropertyAssignmentTestForContainerServiceSshPublicKey(subject ContainerS copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ContainerServiceSshPublicKey + var other v20231001s.ContainerServiceSshPublicKey err := copied.AssignProperties_To_ContainerServiceSshPublicKey(&other) if err != nil { return err.Error() @@ -1262,7 +1263,7 @@ func RunPropertyAssignmentTestForContainerServiceSshPublicKey_STATUS(subject Con copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ContainerServiceSshPublicKey_STATUS + var other v20231001s.ContainerServiceSshPublicKey_STATUS err := copied.AssignProperties_To_ContainerServiceSshPublicKey_STATUS(&other) if err != nil { return err.Error() @@ -1365,7 +1366,7 @@ func RunPropertyAssignmentTestForDelegatedResource(subject DelegatedResource) st copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.DelegatedResource + var other v20231001s.DelegatedResource err := copied.AssignProperties_To_DelegatedResource(&other) if err != nil { return err.Error() @@ -1469,7 +1470,7 @@ func RunPropertyAssignmentTestForDelegatedResource_STATUS(subject DelegatedResou copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.DelegatedResource_STATUS + var other v20231001s.DelegatedResource_STATUS err := copied.AssignProperties_To_DelegatedResource_STATUS(&other) if err != nil { return err.Error() @@ -1575,7 +1576,7 @@ func RunPropertyAssignmentTestForExtendedLocation(subject ExtendedLocation) stri copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ExtendedLocation + var other v20231001s.ExtendedLocation err := copied.AssignProperties_To_ExtendedLocation(&other) if err != nil { return err.Error() @@ -1678,7 +1679,7 @@ func RunPropertyAssignmentTestForExtendedLocation_STATUS(subject ExtendedLocatio copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ExtendedLocation_STATUS + var other v20231001s.ExtendedLocation_STATUS err := copied.AssignProperties_To_ExtendedLocation_STATUS(&other) if err != nil { return err.Error() @@ -1782,7 +1783,7 @@ func RunPropertyAssignmentTestForIstioCertificateAuthority(subject IstioCertific copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.IstioCertificateAuthority + var other v20231001s.IstioCertificateAuthority err := copied.AssignProperties_To_IstioCertificateAuthority(&other) if err != nil { return err.Error() @@ -1885,7 +1886,7 @@ func RunPropertyAssignmentTestForIstioCertificateAuthority_STATUS(subject IstioC copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.IstioCertificateAuthority_STATUS + var other v20231001s.IstioCertificateAuthority_STATUS err := copied.AssignProperties_To_IstioCertificateAuthority_STATUS(&other) if err != nil { return err.Error() @@ -1988,7 +1989,7 @@ func RunPropertyAssignmentTestForIstioComponents(subject IstioComponents) string copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.IstioComponents + var other v20231001s.IstioComponents err := copied.AssignProperties_To_IstioComponents(&other) if err != nil { return err.Error() @@ -2091,7 +2092,7 @@ func RunPropertyAssignmentTestForIstioComponents_STATUS(subject IstioComponents_ copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.IstioComponents_STATUS + var other v20231001s.IstioComponents_STATUS err := copied.AssignProperties_To_IstioComponents_STATUS(&other) if err != nil { return err.Error() @@ -2195,7 +2196,7 @@ func RunPropertyAssignmentTestForIstioEgressGateway(subject IstioEgressGateway) copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.IstioEgressGateway + var other v20231001s.IstioEgressGateway err := copied.AssignProperties_To_IstioEgressGateway(&other) if err != nil { return err.Error() @@ -2300,7 +2301,7 @@ func RunPropertyAssignmentTestForIstioEgressGateway_STATUS(subject IstioEgressGa copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.IstioEgressGateway_STATUS + var other v20231001s.IstioEgressGateway_STATUS err := copied.AssignProperties_To_IstioEgressGateway_STATUS(&other) if err != nil { return err.Error() @@ -2406,7 +2407,7 @@ func RunPropertyAssignmentTestForIstioIngressGateway(subject IstioIngressGateway copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.IstioIngressGateway + var other v20231001s.IstioIngressGateway err := copied.AssignProperties_To_IstioIngressGateway(&other) if err != nil { return err.Error() @@ -2510,7 +2511,7 @@ func RunPropertyAssignmentTestForIstioIngressGateway_STATUS(subject IstioIngress copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.IstioIngressGateway_STATUS + var other v20231001s.IstioIngressGateway_STATUS err := copied.AssignProperties_To_IstioIngressGateway_STATUS(&other) if err != nil { return err.Error() @@ -2614,7 +2615,7 @@ func RunPropertyAssignmentTestForIstioPluginCertificateAuthority(subject IstioPl copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.IstioPluginCertificateAuthority + var other v20231001s.IstioPluginCertificateAuthority err := copied.AssignProperties_To_IstioPluginCertificateAuthority(&other) if err != nil { return err.Error() @@ -2720,7 +2721,7 @@ func RunPropertyAssignmentTestForIstioPluginCertificateAuthority_STATUS(subject copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.IstioPluginCertificateAuthority_STATUS + var other v20231001s.IstioPluginCertificateAuthority_STATUS err := copied.AssignProperties_To_IstioPluginCertificateAuthority_STATUS(&other) if err != nil { return err.Error() @@ -2827,7 +2828,7 @@ func RunPropertyAssignmentTestForIstioServiceMesh(subject IstioServiceMesh) stri copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.IstioServiceMesh + var other v20231001s.IstioServiceMesh err := copied.AssignProperties_To_IstioServiceMesh(&other) if err != nil { return err.Error() @@ -2944,7 +2945,7 @@ func RunPropertyAssignmentTestForIstioServiceMesh_STATUS(subject IstioServiceMes copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.IstioServiceMesh_STATUS + var other v20231001s.IstioServiceMesh_STATUS err := copied.AssignProperties_To_IstioServiceMesh_STATUS(&other) if err != nil { return err.Error() @@ -3063,7 +3064,7 @@ func RunResourceConversionTestForManagedCluster(subject ManagedCluster) string { copied := subject.DeepCopy() // Convert to our hub version - var hub storage.ManagedCluster + var hub v20240901s.ManagedCluster err := copied.ConvertTo(&hub) if err != nil { return err.Error() @@ -3105,7 +3106,7 @@ func RunPropertyAssignmentTestForManagedCluster(subject ManagedCluster) string { copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedCluster + var other v20231001s.ManagedCluster err := copied.AssignProperties_To_ManagedCluster(&other) if err != nil { return err.Error() @@ -3208,7 +3209,7 @@ func RunPropertyAssignmentTestForManagedClusterAADProfile(subject ManagedCluster copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterAADProfile + var other v20231001s.ManagedClusterAADProfile err := copied.AssignProperties_To_ManagedClusterAADProfile(&other) if err != nil { return err.Error() @@ -3317,7 +3318,7 @@ func RunPropertyAssignmentTestForManagedClusterAADProfile_STATUS(subject Managed copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterAADProfile_STATUS + var other v20231001s.ManagedClusterAADProfile_STATUS err := copied.AssignProperties_To_ManagedClusterAADProfile_STATUS(&other) if err != nil { return err.Error() @@ -3426,7 +3427,7 @@ func RunPropertyAssignmentTestForManagedClusterAPIServerAccessProfile(subject Ma copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterAPIServerAccessProfile + var other v20231001s.ManagedClusterAPIServerAccessProfile err := copied.AssignProperties_To_ManagedClusterAPIServerAccessProfile(&other) if err != nil { return err.Error() @@ -3533,7 +3534,7 @@ func RunPropertyAssignmentTestForManagedClusterAPIServerAccessProfile_STATUS(sub copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterAPIServerAccessProfile_STATUS + var other v20231001s.ManagedClusterAPIServerAccessProfile_STATUS err := copied.AssignProperties_To_ManagedClusterAPIServerAccessProfile_STATUS(&other) if err != nil { return err.Error() @@ -3640,7 +3641,7 @@ func RunPropertyAssignmentTestForManagedClusterAddonProfile(subject ManagedClust copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterAddonProfile + var other v20231001s.ManagedClusterAddonProfile err := copied.AssignProperties_To_ManagedClusterAddonProfile(&other) if err != nil { return err.Error() @@ -3746,7 +3747,7 @@ func RunPropertyAssignmentTestForManagedClusterAddonProfile_STATUS(subject Manag copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterAddonProfile_STATUS + var other v20231001s.ManagedClusterAddonProfile_STATUS err := copied.AssignProperties_To_ManagedClusterAddonProfile_STATUS(&other) if err != nil { return err.Error() @@ -3866,7 +3867,7 @@ func RunPropertyAssignmentTestForManagedClusterAgentPoolProfile(subject ManagedC copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterAgentPoolProfile + var other v20231001s.ManagedClusterAgentPoolProfile err := copied.AssignProperties_To_ManagedClusterAgentPoolProfile(&other) if err != nil { return err.Error() @@ -4032,7 +4033,7 @@ func RunPropertyAssignmentTestForManagedClusterAgentPoolProfile_STATUS(subject M copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterAgentPoolProfile_STATUS + var other v20231001s.ManagedClusterAgentPoolProfile_STATUS err := copied.AssignProperties_To_ManagedClusterAgentPoolProfile_STATUS(&other) if err != nil { return err.Error() @@ -4205,7 +4206,7 @@ func RunPropertyAssignmentTestForManagedClusterAutoUpgradeProfile(subject Manage copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterAutoUpgradeProfile + var other v20231001s.ManagedClusterAutoUpgradeProfile err := copied.AssignProperties_To_ManagedClusterAutoUpgradeProfile(&other) if err != nil { return err.Error() @@ -4314,7 +4315,7 @@ func RunPropertyAssignmentTestForManagedClusterAutoUpgradeProfile_STATUS(subject copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterAutoUpgradeProfile_STATUS + var other v20231001s.ManagedClusterAutoUpgradeProfile_STATUS err := copied.AssignProperties_To_ManagedClusterAutoUpgradeProfile_STATUS(&other) if err != nil { return err.Error() @@ -4423,7 +4424,7 @@ func RunPropertyAssignmentTestForManagedClusterAzureMonitorProfile(subject Manag copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterAzureMonitorProfile + var other v20231001s.ManagedClusterAzureMonitorProfile err := copied.AssignProperties_To_ManagedClusterAzureMonitorProfile(&other) if err != nil { return err.Error() @@ -4526,7 +4527,7 @@ func RunPropertyAssignmentTestForManagedClusterAzureMonitorProfileKubeStateMetri copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterAzureMonitorProfileKubeStateMetrics + var other v20231001s.ManagedClusterAzureMonitorProfileKubeStateMetrics err := copied.AssignProperties_To_ManagedClusterAzureMonitorProfileKubeStateMetrics(&other) if err != nil { return err.Error() @@ -4630,7 +4631,7 @@ func RunPropertyAssignmentTestForManagedClusterAzureMonitorProfileKubeStateMetri copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS + var other v20231001s.ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS err := copied.AssignProperties_To_ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS(&other) if err != nil { return err.Error() @@ -4734,7 +4735,7 @@ func RunPropertyAssignmentTestForManagedClusterAzureMonitorProfileMetrics(subjec copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterAzureMonitorProfileMetrics + var other v20231001s.ManagedClusterAzureMonitorProfileMetrics err := copied.AssignProperties_To_ManagedClusterAzureMonitorProfileMetrics(&other) if err != nil { return err.Error() @@ -4851,7 +4852,7 @@ func RunPropertyAssignmentTestForManagedClusterAzureMonitorProfileMetrics_STATUS copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterAzureMonitorProfileMetrics_STATUS + var other v20231001s.ManagedClusterAzureMonitorProfileMetrics_STATUS err := copied.AssignProperties_To_ManagedClusterAzureMonitorProfileMetrics_STATUS(&other) if err != nil { return err.Error() @@ -4968,7 +4969,7 @@ func RunPropertyAssignmentTestForManagedClusterAzureMonitorProfile_STATUS(subjec copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterAzureMonitorProfile_STATUS + var other v20231001s.ManagedClusterAzureMonitorProfile_STATUS err := copied.AssignProperties_To_ManagedClusterAzureMonitorProfile_STATUS(&other) if err != nil { return err.Error() @@ -5071,7 +5072,7 @@ func RunPropertyAssignmentTestForManagedClusterHTTPProxyConfig(subject ManagedCl copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterHTTPProxyConfig + var other v20231001s.ManagedClusterHTTPProxyConfig err := copied.AssignProperties_To_ManagedClusterHTTPProxyConfig(&other) if err != nil { return err.Error() @@ -5177,7 +5178,7 @@ func RunPropertyAssignmentTestForManagedClusterHTTPProxyConfig_STATUS(subject Ma copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterHTTPProxyConfig_STATUS + var other v20231001s.ManagedClusterHTTPProxyConfig_STATUS err := copied.AssignProperties_To_ManagedClusterHTTPProxyConfig_STATUS(&other) if err != nil { return err.Error() @@ -5283,7 +5284,7 @@ func RunPropertyAssignmentTestForManagedClusterIdentity(subject ManagedClusterId copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterIdentity + var other v20231001s.ManagedClusterIdentity err := copied.AssignProperties_To_ManagedClusterIdentity(&other) if err != nil { return err.Error() @@ -5403,7 +5404,7 @@ func RunPropertyAssignmentTestForManagedClusterIdentity_STATUS(subject ManagedCl copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterIdentity_STATUS + var other v20231001s.ManagedClusterIdentity_STATUS err := copied.AssignProperties_To_ManagedClusterIdentity_STATUS(&other) if err != nil { return err.Error() @@ -5527,7 +5528,7 @@ func RunPropertyAssignmentTestForManagedClusterIdentity_UserAssignedIdentities_S copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterIdentity_UserAssignedIdentities_STATUS + var other v20231001s.ManagedClusterIdentity_UserAssignedIdentities_STATUS err := copied.AssignProperties_To_ManagedClusterIdentity_UserAssignedIdentities_STATUS(&other) if err != nil { return err.Error() @@ -5631,7 +5632,7 @@ func RunPropertyAssignmentTestForManagedClusterLoadBalancerProfile(subject Manag copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterLoadBalancerProfile + var other v20231001s.ManagedClusterLoadBalancerProfile err := copied.AssignProperties_To_ManagedClusterLoadBalancerProfile(&other) if err != nil { return err.Error() @@ -5754,7 +5755,7 @@ func RunPropertyAssignmentTestForManagedClusterLoadBalancerProfile_ManagedOutbou copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs + var other v20231001s.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs err := copied.AssignProperties_To_ManagedClusterLoadBalancerProfile_ManagedOutboundIPs(&other) if err != nil { return err.Error() @@ -5858,7 +5859,7 @@ func RunPropertyAssignmentTestForManagedClusterLoadBalancerProfile_ManagedOutbou copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS + var other v20231001s.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS err := copied.AssignProperties_To_ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS(&other) if err != nil { return err.Error() @@ -5962,7 +5963,7 @@ func RunPropertyAssignmentTestForManagedClusterLoadBalancerProfile_OutboundIPPre copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes + var other v20231001s.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes err := copied.AssignProperties_To_ManagedClusterLoadBalancerProfile_OutboundIPPrefixes(&other) if err != nil { return err.Error() @@ -6065,7 +6066,7 @@ func RunPropertyAssignmentTestForManagedClusterLoadBalancerProfile_OutboundIPPre copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS + var other v20231001s.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS err := copied.AssignProperties_To_ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS(&other) if err != nil { return err.Error() @@ -6168,7 +6169,7 @@ func RunPropertyAssignmentTestForManagedClusterLoadBalancerProfile_OutboundIPs(s copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterLoadBalancerProfile_OutboundIPs + var other v20231001s.ManagedClusterLoadBalancerProfile_OutboundIPs err := copied.AssignProperties_To_ManagedClusterLoadBalancerProfile_OutboundIPs(&other) if err != nil { return err.Error() @@ -6271,7 +6272,7 @@ func RunPropertyAssignmentTestForManagedClusterLoadBalancerProfile_OutboundIPs_S copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS + var other v20231001s.ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS err := copied.AssignProperties_To_ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS(&other) if err != nil { return err.Error() @@ -6374,7 +6375,7 @@ func RunPropertyAssignmentTestForManagedClusterLoadBalancerProfile_STATUS(subjec copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterLoadBalancerProfile_STATUS + var other v20231001s.ManagedClusterLoadBalancerProfile_STATUS err := copied.AssignProperties_To_ManagedClusterLoadBalancerProfile_STATUS(&other) if err != nil { return err.Error() @@ -6497,7 +6498,7 @@ func RunPropertyAssignmentTestForManagedClusterManagedOutboundIPProfile(subject copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterManagedOutboundIPProfile + var other v20231001s.ManagedClusterManagedOutboundIPProfile err := copied.AssignProperties_To_ManagedClusterManagedOutboundIPProfile(&other) if err != nil { return err.Error() @@ -6600,7 +6601,7 @@ func RunPropertyAssignmentTestForManagedClusterManagedOutboundIPProfile_STATUS(s copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterManagedOutboundIPProfile_STATUS + var other v20231001s.ManagedClusterManagedOutboundIPProfile_STATUS err := copied.AssignProperties_To_ManagedClusterManagedOutboundIPProfile_STATUS(&other) if err != nil { return err.Error() @@ -6703,7 +6704,7 @@ func RunPropertyAssignmentTestForManagedClusterNATGatewayProfile(subject Managed copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterNATGatewayProfile + var other v20231001s.ManagedClusterNATGatewayProfile err := copied.AssignProperties_To_ManagedClusterNATGatewayProfile(&other) if err != nil { return err.Error() @@ -6821,7 +6822,7 @@ func RunPropertyAssignmentTestForManagedClusterNATGatewayProfile_STATUS(subject copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterNATGatewayProfile_STATUS + var other v20231001s.ManagedClusterNATGatewayProfile_STATUS err := copied.AssignProperties_To_ManagedClusterNATGatewayProfile_STATUS(&other) if err != nil { return err.Error() @@ -6939,7 +6940,7 @@ func RunPropertyAssignmentTestForManagedClusterOIDCIssuerProfile(subject Managed copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterOIDCIssuerProfile + var other v20231001s.ManagedClusterOIDCIssuerProfile err := copied.AssignProperties_To_ManagedClusterOIDCIssuerProfile(&other) if err != nil { return err.Error() @@ -7042,7 +7043,7 @@ func RunPropertyAssignmentTestForManagedClusterOIDCIssuerProfile_STATUS(subject copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterOIDCIssuerProfile_STATUS + var other v20231001s.ManagedClusterOIDCIssuerProfile_STATUS err := copied.AssignProperties_To_ManagedClusterOIDCIssuerProfile_STATUS(&other) if err != nil { return err.Error() @@ -7146,7 +7147,7 @@ func RunPropertyAssignmentTestForManagedClusterOperatorConfigMaps(subject Manage copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterOperatorConfigMaps + var other v20231001s.ManagedClusterOperatorConfigMaps err := copied.AssignProperties_To_ManagedClusterOperatorConfigMaps(&other) if err != nil { return err.Error() @@ -7243,7 +7244,7 @@ func RunPropertyAssignmentTestForManagedClusterOperatorSecrets(subject ManagedCl copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterOperatorSecrets + var other v20231001s.ManagedClusterOperatorSecrets err := copied.AssignProperties_To_ManagedClusterOperatorSecrets(&other) if err != nil { return err.Error() @@ -7340,7 +7341,7 @@ func RunPropertyAssignmentTestForManagedClusterOperatorSpec(subject ManagedClust copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterOperatorSpec + var other v20231001s.ManagedClusterOperatorSpec err := copied.AssignProperties_To_ManagedClusterOperatorSpec(&other) if err != nil { return err.Error() @@ -7444,7 +7445,7 @@ func RunPropertyAssignmentTestForManagedClusterPodIdentity(subject ManagedCluste copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterPodIdentity + var other v20231001s.ManagedClusterPodIdentity err := copied.AssignProperties_To_ManagedClusterPodIdentity(&other) if err != nil { return err.Error() @@ -7563,7 +7564,7 @@ func RunPropertyAssignmentTestForManagedClusterPodIdentityException(subject Mana copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterPodIdentityException + var other v20231001s.ManagedClusterPodIdentityException err := copied.AssignProperties_To_ManagedClusterPodIdentityException(&other) if err != nil { return err.Error() @@ -7670,7 +7671,7 @@ func RunPropertyAssignmentTestForManagedClusterPodIdentityException_STATUS(subje copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterPodIdentityException_STATUS + var other v20231001s.ManagedClusterPodIdentityException_STATUS err := copied.AssignProperties_To_ManagedClusterPodIdentityException_STATUS(&other) if err != nil { return err.Error() @@ -7777,7 +7778,7 @@ func RunPropertyAssignmentTestForManagedClusterPodIdentityProfile(subject Manage copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterPodIdentityProfile + var other v20231001s.ManagedClusterPodIdentityProfile err := copied.AssignProperties_To_ManagedClusterPodIdentityProfile(&other) if err != nil { return err.Error() @@ -7896,7 +7897,7 @@ func RunPropertyAssignmentTestForManagedClusterPodIdentityProfile_STATUS(subject copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterPodIdentityProfile_STATUS + var other v20231001s.ManagedClusterPodIdentityProfile_STATUS err := copied.AssignProperties_To_ManagedClusterPodIdentityProfile_STATUS(&other) if err != nil { return err.Error() @@ -8015,7 +8016,7 @@ func RunPropertyAssignmentTestForManagedClusterPodIdentityProvisioningErrorBody_ copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterPodIdentityProvisioningErrorBody_STATUS + var other v20231001s.ManagedClusterPodIdentityProvisioningErrorBody_STATUS err := copied.AssignProperties_To_ManagedClusterPodIdentityProvisioningErrorBody_STATUS(&other) if err != nil { return err.Error() @@ -8134,7 +8135,7 @@ func RunPropertyAssignmentTestForManagedClusterPodIdentityProvisioningErrorBody_ copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled + var other v20231001s.ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled err := copied.AssignProperties_To_ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled(&other) if err != nil { return err.Error() @@ -8239,7 +8240,7 @@ func RunPropertyAssignmentTestForManagedClusterPodIdentityProvisioningError_STAT copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterPodIdentityProvisioningError_STATUS + var other v20231001s.ManagedClusterPodIdentityProvisioningError_STATUS err := copied.AssignProperties_To_ManagedClusterPodIdentityProvisioningError_STATUS(&other) if err != nil { return err.Error() @@ -8342,7 +8343,7 @@ func RunPropertyAssignmentTestForManagedClusterPodIdentity_ProvisioningInfo_STAT copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterPodIdentity_ProvisioningInfo_STATUS + var other v20231001s.ManagedClusterPodIdentity_ProvisioningInfo_STATUS err := copied.AssignProperties_To_ManagedClusterPodIdentity_ProvisioningInfo_STATUS(&other) if err != nil { return err.Error() @@ -8445,7 +8446,7 @@ func RunPropertyAssignmentTestForManagedClusterPodIdentity_STATUS(subject Manage copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterPodIdentity_STATUS + var other v20231001s.ManagedClusterPodIdentity_STATUS err := copied.AssignProperties_To_ManagedClusterPodIdentity_STATUS(&other) if err != nil { return err.Error() @@ -8572,7 +8573,7 @@ func RunPropertyAssignmentTestForManagedClusterProperties_AutoScalerProfile(subj copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterProperties_AutoScalerProfile + var other v20231001s.ManagedClusterProperties_AutoScalerProfile err := copied.AssignProperties_To_ManagedClusterProperties_AutoScalerProfile(&other) if err != nil { return err.Error() @@ -8695,7 +8696,7 @@ func RunPropertyAssignmentTestForManagedClusterProperties_AutoScalerProfile_STAT copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterProperties_AutoScalerProfile_STATUS + var other v20231001s.ManagedClusterProperties_AutoScalerProfile_STATUS err := copied.AssignProperties_To_ManagedClusterProperties_AutoScalerProfile_STATUS(&other) if err != nil { return err.Error() @@ -8818,7 +8819,7 @@ func RunPropertyAssignmentTestForManagedClusterSKU(subject ManagedClusterSKU) st copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterSKU + var other v20231001s.ManagedClusterSKU err := copied.AssignProperties_To_ManagedClusterSKU(&other) if err != nil { return err.Error() @@ -8921,7 +8922,7 @@ func RunPropertyAssignmentTestForManagedClusterSKU_STATUS(subject ManagedCluster copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterSKU_STATUS + var other v20231001s.ManagedClusterSKU_STATUS err := copied.AssignProperties_To_ManagedClusterSKU_STATUS(&other) if err != nil { return err.Error() @@ -9025,7 +9026,7 @@ func RunPropertyAssignmentTestForManagedClusterSecurityProfile(subject ManagedCl copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterSecurityProfile + var other v20231001s.ManagedClusterSecurityProfile err := copied.AssignProperties_To_ManagedClusterSecurityProfile(&other) if err != nil { return err.Error() @@ -9131,7 +9132,7 @@ func RunPropertyAssignmentTestForManagedClusterSecurityProfileDefender(subject M copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterSecurityProfileDefender + var other v20231001s.ManagedClusterSecurityProfileDefender err := copied.AssignProperties_To_ManagedClusterSecurityProfileDefender(&other) if err != nil { return err.Error() @@ -9234,7 +9235,7 @@ func RunPropertyAssignmentTestForManagedClusterSecurityProfileDefenderSecurityMo copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterSecurityProfileDefenderSecurityMonitoring + var other v20231001s.ManagedClusterSecurityProfileDefenderSecurityMonitoring err := copied.AssignProperties_To_ManagedClusterSecurityProfileDefenderSecurityMonitoring(&other) if err != nil { return err.Error() @@ -9337,7 +9338,7 @@ func RunPropertyAssignmentTestForManagedClusterSecurityProfileDefenderSecurityMo copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS + var other v20231001s.ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS err := copied.AssignProperties_To_ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS(&other) if err != nil { return err.Error() @@ -9440,7 +9441,7 @@ func RunPropertyAssignmentTestForManagedClusterSecurityProfileDefender_STATUS(su copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterSecurityProfileDefender_STATUS + var other v20231001s.ManagedClusterSecurityProfileDefender_STATUS err := copied.AssignProperties_To_ManagedClusterSecurityProfileDefender_STATUS(&other) if err != nil { return err.Error() @@ -9557,7 +9558,7 @@ func RunPropertyAssignmentTestForManagedClusterSecurityProfileImageCleaner(subje copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterSecurityProfileImageCleaner + var other v20231001s.ManagedClusterSecurityProfileImageCleaner err := copied.AssignProperties_To_ManagedClusterSecurityProfileImageCleaner(&other) if err != nil { return err.Error() @@ -9661,7 +9662,7 @@ func RunPropertyAssignmentTestForManagedClusterSecurityProfileImageCleaner_STATU copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterSecurityProfileImageCleaner_STATUS + var other v20231001s.ManagedClusterSecurityProfileImageCleaner_STATUS err := copied.AssignProperties_To_ManagedClusterSecurityProfileImageCleaner_STATUS(&other) if err != nil { return err.Error() @@ -9765,7 +9766,7 @@ func RunPropertyAssignmentTestForManagedClusterSecurityProfileWorkloadIdentity(s copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterSecurityProfileWorkloadIdentity + var other v20231001s.ManagedClusterSecurityProfileWorkloadIdentity err := copied.AssignProperties_To_ManagedClusterSecurityProfileWorkloadIdentity(&other) if err != nil { return err.Error() @@ -9868,7 +9869,7 @@ func RunPropertyAssignmentTestForManagedClusterSecurityProfileWorkloadIdentity_S copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterSecurityProfileWorkloadIdentity_STATUS + var other v20231001s.ManagedClusterSecurityProfileWorkloadIdentity_STATUS err := copied.AssignProperties_To_ManagedClusterSecurityProfileWorkloadIdentity_STATUS(&other) if err != nil { return err.Error() @@ -9971,7 +9972,7 @@ func RunPropertyAssignmentTestForManagedClusterSecurityProfile_STATUS(subject Ma copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterSecurityProfile_STATUS + var other v20231001s.ManagedClusterSecurityProfile_STATUS err := copied.AssignProperties_To_ManagedClusterSecurityProfile_STATUS(&other) if err != nil { return err.Error() @@ -10077,7 +10078,7 @@ func RunPropertyAssignmentTestForManagedClusterServicePrincipalProfile(subject M copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterServicePrincipalProfile + var other v20231001s.ManagedClusterServicePrincipalProfile err := copied.AssignProperties_To_ManagedClusterServicePrincipalProfile(&other) if err != nil { return err.Error() @@ -10180,7 +10181,7 @@ func RunPropertyAssignmentTestForManagedClusterServicePrincipalProfile_STATUS(su copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterServicePrincipalProfile_STATUS + var other v20231001s.ManagedClusterServicePrincipalProfile_STATUS err := copied.AssignProperties_To_ManagedClusterServicePrincipalProfile_STATUS(&other) if err != nil { return err.Error() @@ -10283,7 +10284,7 @@ func RunPropertyAssignmentTestForManagedClusterStorageProfile(subject ManagedClu copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterStorageProfile + var other v20231001s.ManagedClusterStorageProfile err := copied.AssignProperties_To_ManagedClusterStorageProfile(&other) if err != nil { return err.Error() @@ -10389,7 +10390,7 @@ func RunPropertyAssignmentTestForManagedClusterStorageProfileBlobCSIDriver(subje copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterStorageProfileBlobCSIDriver + var other v20231001s.ManagedClusterStorageProfileBlobCSIDriver err := copied.AssignProperties_To_ManagedClusterStorageProfileBlobCSIDriver(&other) if err != nil { return err.Error() @@ -10492,7 +10493,7 @@ func RunPropertyAssignmentTestForManagedClusterStorageProfileBlobCSIDriver_STATU copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterStorageProfileBlobCSIDriver_STATUS + var other v20231001s.ManagedClusterStorageProfileBlobCSIDriver_STATUS err := copied.AssignProperties_To_ManagedClusterStorageProfileBlobCSIDriver_STATUS(&other) if err != nil { return err.Error() @@ -10595,7 +10596,7 @@ func RunPropertyAssignmentTestForManagedClusterStorageProfileDiskCSIDriver(subje copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterStorageProfileDiskCSIDriver + var other v20231001s.ManagedClusterStorageProfileDiskCSIDriver err := copied.AssignProperties_To_ManagedClusterStorageProfileDiskCSIDriver(&other) if err != nil { return err.Error() @@ -10698,7 +10699,7 @@ func RunPropertyAssignmentTestForManagedClusterStorageProfileDiskCSIDriver_STATU copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterStorageProfileDiskCSIDriver_STATUS + var other v20231001s.ManagedClusterStorageProfileDiskCSIDriver_STATUS err := copied.AssignProperties_To_ManagedClusterStorageProfileDiskCSIDriver_STATUS(&other) if err != nil { return err.Error() @@ -10801,7 +10802,7 @@ func RunPropertyAssignmentTestForManagedClusterStorageProfileFileCSIDriver(subje copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterStorageProfileFileCSIDriver + var other v20231001s.ManagedClusterStorageProfileFileCSIDriver err := copied.AssignProperties_To_ManagedClusterStorageProfileFileCSIDriver(&other) if err != nil { return err.Error() @@ -10904,7 +10905,7 @@ func RunPropertyAssignmentTestForManagedClusterStorageProfileFileCSIDriver_STATU copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterStorageProfileFileCSIDriver_STATUS + var other v20231001s.ManagedClusterStorageProfileFileCSIDriver_STATUS err := copied.AssignProperties_To_ManagedClusterStorageProfileFileCSIDriver_STATUS(&other) if err != nil { return err.Error() @@ -11007,7 +11008,7 @@ func RunPropertyAssignmentTestForManagedClusterStorageProfileSnapshotController( copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterStorageProfileSnapshotController + var other v20231001s.ManagedClusterStorageProfileSnapshotController err := copied.AssignProperties_To_ManagedClusterStorageProfileSnapshotController(&other) if err != nil { return err.Error() @@ -11110,7 +11111,7 @@ func RunPropertyAssignmentTestForManagedClusterStorageProfileSnapshotController_ copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterStorageProfileSnapshotController_STATUS + var other v20231001s.ManagedClusterStorageProfileSnapshotController_STATUS err := copied.AssignProperties_To_ManagedClusterStorageProfileSnapshotController_STATUS(&other) if err != nil { return err.Error() @@ -11213,7 +11214,7 @@ func RunPropertyAssignmentTestForManagedClusterStorageProfile_STATUS(subject Man copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterStorageProfile_STATUS + var other v20231001s.ManagedClusterStorageProfile_STATUS err := copied.AssignProperties_To_ManagedClusterStorageProfile_STATUS(&other) if err != nil { return err.Error() @@ -11319,7 +11320,7 @@ func RunPropertyAssignmentTestForManagedClusterWindowsProfile(subject ManagedClu copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterWindowsProfile + var other v20231001s.ManagedClusterWindowsProfile err := copied.AssignProperties_To_ManagedClusterWindowsProfile(&other) if err != nil { return err.Error() @@ -11438,7 +11439,7 @@ func RunPropertyAssignmentTestForManagedClusterWindowsProfile_STATUS(subject Man copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterWindowsProfile_STATUS + var other v20231001s.ManagedClusterWindowsProfile_STATUS err := copied.AssignProperties_To_ManagedClusterWindowsProfile_STATUS(&other) if err != nil { return err.Error() @@ -11557,7 +11558,7 @@ func RunPropertyAssignmentTestForManagedClusterWorkloadAutoScalerProfile(subject copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterWorkloadAutoScalerProfile + var other v20231001s.ManagedClusterWorkloadAutoScalerProfile err := copied.AssignProperties_To_ManagedClusterWorkloadAutoScalerProfile(&other) if err != nil { return err.Error() @@ -11661,7 +11662,7 @@ func RunPropertyAssignmentTestForManagedClusterWorkloadAutoScalerProfileKeda(sub copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterWorkloadAutoScalerProfileKeda + var other v20231001s.ManagedClusterWorkloadAutoScalerProfileKeda err := copied.AssignProperties_To_ManagedClusterWorkloadAutoScalerProfileKeda(&other) if err != nil { return err.Error() @@ -11764,7 +11765,7 @@ func RunPropertyAssignmentTestForManagedClusterWorkloadAutoScalerProfileKeda_STA copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterWorkloadAutoScalerProfileKeda_STATUS + var other v20231001s.ManagedClusterWorkloadAutoScalerProfileKeda_STATUS err := copied.AssignProperties_To_ManagedClusterWorkloadAutoScalerProfileKeda_STATUS(&other) if err != nil { return err.Error() @@ -11867,7 +11868,7 @@ func RunPropertyAssignmentTestForManagedClusterWorkloadAutoScalerProfileVertical copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler + var other v20231001s.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler err := copied.AssignProperties_To_ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler(&other) if err != nil { return err.Error() @@ -11970,7 +11971,7 @@ func RunPropertyAssignmentTestForManagedClusterWorkloadAutoScalerProfileVertical copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS + var other v20231001s.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS err := copied.AssignProperties_To_ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS(&other) if err != nil { return err.Error() @@ -12073,7 +12074,7 @@ func RunPropertyAssignmentTestForManagedClusterWorkloadAutoScalerProfile_STATUS( copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterWorkloadAutoScalerProfile_STATUS + var other v20231001s.ManagedClusterWorkloadAutoScalerProfile_STATUS err := copied.AssignProperties_To_ManagedClusterWorkloadAutoScalerProfile_STATUS(&other) if err != nil { return err.Error() @@ -12177,7 +12178,7 @@ func RunPropertyAssignmentTestForManagedCluster_STATUS(subject ManagedCluster_ST copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedCluster_STATUS + var other v20231001s.ManagedCluster_STATUS err := copied.AssignProperties_To_ManagedCluster_STATUS(&other) if err != nil { return err.Error() @@ -12346,7 +12347,7 @@ func RunPropertyAssignmentTestForManagedCluster_Spec(subject ManagedCluster_Spec copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedCluster_Spec + var other v20231001s.ManagedCluster_Spec err := copied.AssignProperties_To_ManagedCluster_Spec(&other) if err != nil { return err.Error() @@ -12504,7 +12505,7 @@ func RunPropertyAssignmentTestForPowerState_STATUS(subject PowerState_STATUS) st copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.PowerState_STATUS + var other v20231001s.PowerState_STATUS err := copied.AssignProperties_To_PowerState_STATUS(&other) if err != nil { return err.Error() @@ -12606,7 +12607,7 @@ func RunPropertyAssignmentTestForPrivateLinkResource(subject PrivateLinkResource copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.PrivateLinkResource + var other v20231001s.PrivateLinkResource err := copied.AssignProperties_To_PrivateLinkResource(&other) if err != nil { return err.Error() @@ -12712,7 +12713,7 @@ func RunPropertyAssignmentTestForPrivateLinkResource_STATUS(subject PrivateLinkR copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.PrivateLinkResource_STATUS + var other v20231001s.PrivateLinkResource_STATUS err := copied.AssignProperties_To_PrivateLinkResource_STATUS(&other) if err != nil { return err.Error() @@ -12820,7 +12821,7 @@ func RunPropertyAssignmentTestForResourceReference(subject ResourceReference) st copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ResourceReference + var other v20231001s.ResourceReference err := copied.AssignProperties_To_ResourceReference(&other) if err != nil { return err.Error() @@ -12916,7 +12917,7 @@ func RunPropertyAssignmentTestForResourceReference_STATUS(subject ResourceRefere copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ResourceReference_STATUS + var other v20231001s.ResourceReference_STATUS err := copied.AssignProperties_To_ResourceReference_STATUS(&other) if err != nil { return err.Error() @@ -13019,7 +13020,7 @@ func RunPropertyAssignmentTestForServiceMeshProfile(subject ServiceMeshProfile) copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ServiceMeshProfile + var other v20231001s.ServiceMeshProfile err := copied.AssignProperties_To_ServiceMeshProfile(&other) if err != nil { return err.Error() @@ -13135,7 +13136,7 @@ func RunPropertyAssignmentTestForServiceMeshProfile_STATUS(subject ServiceMeshPr copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ServiceMeshProfile_STATUS + var other v20231001s.ServiceMeshProfile_STATUS err := copied.AssignProperties_To_ServiceMeshProfile_STATUS(&other) if err != nil { return err.Error() @@ -13252,7 +13253,7 @@ func RunPropertyAssignmentTestForSystemData_STATUS(subject SystemData_STATUS) st copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.SystemData_STATUS + var other v20231001s.SystemData_STATUS err := copied.AssignProperties_To_SystemData_STATUS(&other) if err != nil { return err.Error() @@ -13367,7 +13368,7 @@ func RunPropertyAssignmentTestForUpgradeOverrideSettings(subject UpgradeOverride copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.UpgradeOverrideSettings + var other v20231001s.UpgradeOverrideSettings err := copied.AssignProperties_To_UpgradeOverrideSettings(&other) if err != nil { return err.Error() @@ -13471,7 +13472,7 @@ func RunPropertyAssignmentTestForUpgradeOverrideSettings_STATUS(subject UpgradeO copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.UpgradeOverrideSettings_STATUS + var other v20231001s.UpgradeOverrideSettings_STATUS err := copied.AssignProperties_To_UpgradeOverrideSettings_STATUS(&other) if err != nil { return err.Error() @@ -13575,7 +13576,7 @@ func RunPropertyAssignmentTestForUserAssignedIdentity(subject UserAssignedIdenti copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.UserAssignedIdentity + var other v20231001s.UserAssignedIdentity err := copied.AssignProperties_To_UserAssignedIdentity(&other) if err != nil { return err.Error() @@ -13679,7 +13680,7 @@ func RunPropertyAssignmentTestForUserAssignedIdentityDetails(subject UserAssigne copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.UserAssignedIdentityDetails + var other v20231001s.UserAssignedIdentityDetails err := copied.AssignProperties_To_UserAssignedIdentityDetails(&other) if err != nil { return err.Error() @@ -13776,7 +13777,7 @@ func RunPropertyAssignmentTestForUserAssignedIdentity_STATUS(subject UserAssigne copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.UserAssignedIdentity_STATUS + var other v20231001s.UserAssignedIdentity_STATUS err := copied.AssignProperties_To_UserAssignedIdentity_STATUS(&other) if err != nil { return err.Error() @@ -13881,7 +13882,7 @@ func RunPropertyAssignmentTestForWindowsGmsaProfile(subject WindowsGmsaProfile) copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.WindowsGmsaProfile + var other v20231001s.WindowsGmsaProfile err := copied.AssignProperties_To_WindowsGmsaProfile(&other) if err != nil { return err.Error() @@ -13985,7 +13986,7 @@ func RunPropertyAssignmentTestForWindowsGmsaProfile_STATUS(subject WindowsGmsaPr copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.WindowsGmsaProfile_STATUS + var other v20231001s.WindowsGmsaProfile_STATUS err := copied.AssignProperties_To_WindowsGmsaProfile_STATUS(&other) if err != nil { return err.Error() diff --git a/v2/api/containerservice/v1api20231001/managed_clusters_agent_pool_types_gen.go b/v2/api/containerservice/v1api20231001/managed_clusters_agent_pool_types_gen.go index 1dca6574d5e..7fa38173dda 100644 --- a/v2/api/containerservice/v1api20231001/managed_clusters_agent_pool_types_gen.go +++ b/v2/api/containerservice/v1api20231001/managed_clusters_agent_pool_types_gen.go @@ -50,22 +50,36 @@ var _ conversion.Convertible = &ManagedClustersAgentPool{} // ConvertFrom populates our ManagedClustersAgentPool from the provided hub ManagedClustersAgentPool func (pool *ManagedClustersAgentPool) ConvertFrom(hub conversion.Hub) error { - source, ok := hub.(*storage.ManagedClustersAgentPool) - if !ok { - return fmt.Errorf("expected containerservice/v1api20231001/storage/ManagedClustersAgentPool but received %T instead", hub) + // intermediate variable for conversion + var source storage.ManagedClustersAgentPool + + err := source.ConvertFrom(hub) + if err != nil { + return errors.Wrap(err, "converting from hub to source") + } + + err = pool.AssignProperties_From_ManagedClustersAgentPool(&source) + if err != nil { + return errors.Wrap(err, "converting from source to pool") } - return pool.AssignProperties_From_ManagedClustersAgentPool(source) + return nil } // ConvertTo populates the provided hub ManagedClustersAgentPool from our ManagedClustersAgentPool func (pool *ManagedClustersAgentPool) ConvertTo(hub conversion.Hub) error { - destination, ok := hub.(*storage.ManagedClustersAgentPool) - if !ok { - return fmt.Errorf("expected containerservice/v1api20231001/storage/ManagedClustersAgentPool but received %T instead", hub) + // intermediate variable for conversion + var destination storage.ManagedClustersAgentPool + err := pool.AssignProperties_To_ManagedClustersAgentPool(&destination) + if err != nil { + return errors.Wrap(err, "converting to destination from pool") + } + err = destination.ConvertTo(hub) + if err != nil { + return errors.Wrap(err, "converting from destination to hub") } - return pool.AssignProperties_To_ManagedClustersAgentPool(destination) + return nil } // +kubebuilder:webhook:path=/mutate-containerservice-azure-com-v1api20231001-managedclustersagentpool,mutating=true,sideEffects=None,matchPolicy=Exact,failurePolicy=fail,groups=containerservice.azure.com,resources=managedclustersagentpools,verbs=create;update,versions=v1api20231001,name=default.v1api20231001.managedclustersagentpools.containerservice.azure.com,admissionReviewVersions=v1 @@ -91,17 +105,6 @@ func (pool *ManagedClustersAgentPool) defaultAzureName() { // defaultImpl applies the code generated defaults to the ManagedClustersAgentPool resource func (pool *ManagedClustersAgentPool) defaultImpl() { pool.defaultAzureName() } -var _ genruntime.ImportableResource = &ManagedClustersAgentPool{} - -// InitializeSpec initializes the spec for this resource from the given status -func (pool *ManagedClustersAgentPool) InitializeSpec(status genruntime.ConvertibleStatus) error { - if s, ok := status.(*ManagedClustersAgentPool_STATUS); ok { - return pool.Spec.Initialize_From_ManagedClustersAgentPool_STATUS(s) - } - - return fmt.Errorf("expected Status of type ManagedClustersAgentPool_STATUS but received %T instead", status) -} - var _ genruntime.KubernetesResource = &ManagedClustersAgentPool{} // AzureName returns the Azure name of the resource @@ -1888,259 +1891,6 @@ func (pool *ManagedClustersAgentPool_Spec) AssignProperties_To_ManagedClustersAg return nil } -// Initialize_From_ManagedClustersAgentPool_STATUS populates our ManagedClustersAgentPool_Spec from the provided source ManagedClustersAgentPool_STATUS -func (pool *ManagedClustersAgentPool_Spec) Initialize_From_ManagedClustersAgentPool_STATUS(source *ManagedClustersAgentPool_STATUS) error { - - // AvailabilityZones - pool.AvailabilityZones = genruntime.CloneSliceOfString(source.AvailabilityZones) - - // Count - pool.Count = genruntime.ClonePointerToInt(source.Count) - - // CreationData - if source.CreationData != nil { - var creationDatum CreationData - err := creationDatum.Initialize_From_CreationData_STATUS(source.CreationData) - if err != nil { - return errors.Wrap(err, "calling Initialize_From_CreationData_STATUS() to populate field CreationData") - } - pool.CreationData = &creationDatum - } else { - pool.CreationData = nil - } - - // EnableAutoScaling - if source.EnableAutoScaling != nil { - enableAutoScaling := *source.EnableAutoScaling - pool.EnableAutoScaling = &enableAutoScaling - } else { - pool.EnableAutoScaling = nil - } - - // EnableEncryptionAtHost - if source.EnableEncryptionAtHost != nil { - enableEncryptionAtHost := *source.EnableEncryptionAtHost - pool.EnableEncryptionAtHost = &enableEncryptionAtHost - } else { - pool.EnableEncryptionAtHost = nil - } - - // EnableFIPS - if source.EnableFIPS != nil { - enableFIPS := *source.EnableFIPS - pool.EnableFIPS = &enableFIPS - } else { - pool.EnableFIPS = nil - } - - // EnableNodePublicIP - if source.EnableNodePublicIP != nil { - enableNodePublicIP := *source.EnableNodePublicIP - pool.EnableNodePublicIP = &enableNodePublicIP - } else { - pool.EnableNodePublicIP = nil - } - - // EnableUltraSSD - if source.EnableUltraSSD != nil { - enableUltraSSD := *source.EnableUltraSSD - pool.EnableUltraSSD = &enableUltraSSD - } else { - pool.EnableUltraSSD = nil - } - - // GpuInstanceProfile - if source.GpuInstanceProfile != nil { - gpuInstanceProfile := genruntime.ToEnum(string(*source.GpuInstanceProfile), gPUInstanceProfile_Values) - pool.GpuInstanceProfile = &gpuInstanceProfile - } else { - pool.GpuInstanceProfile = nil - } - - // KubeletConfig - if source.KubeletConfig != nil { - var kubeletConfig KubeletConfig - err := kubeletConfig.Initialize_From_KubeletConfig_STATUS(source.KubeletConfig) - if err != nil { - return errors.Wrap(err, "calling Initialize_From_KubeletConfig_STATUS() to populate field KubeletConfig") - } - pool.KubeletConfig = &kubeletConfig - } else { - pool.KubeletConfig = nil - } - - // KubeletDiskType - if source.KubeletDiskType != nil { - kubeletDiskType := genruntime.ToEnum(string(*source.KubeletDiskType), kubeletDiskType_Values) - pool.KubeletDiskType = &kubeletDiskType - } else { - pool.KubeletDiskType = nil - } - - // LinuxOSConfig - if source.LinuxOSConfig != nil { - var linuxOSConfig LinuxOSConfig - err := linuxOSConfig.Initialize_From_LinuxOSConfig_STATUS(source.LinuxOSConfig) - if err != nil { - return errors.Wrap(err, "calling Initialize_From_LinuxOSConfig_STATUS() to populate field LinuxOSConfig") - } - pool.LinuxOSConfig = &linuxOSConfig - } else { - pool.LinuxOSConfig = nil - } - - // MaxCount - pool.MaxCount = genruntime.ClonePointerToInt(source.MaxCount) - - // MaxPods - pool.MaxPods = genruntime.ClonePointerToInt(source.MaxPods) - - // MinCount - pool.MinCount = genruntime.ClonePointerToInt(source.MinCount) - - // Mode - if source.Mode != nil { - mode := genruntime.ToEnum(string(*source.Mode), agentPoolMode_Values) - pool.Mode = &mode - } else { - pool.Mode = nil - } - - // NetworkProfile - if source.NetworkProfile != nil { - var networkProfile AgentPoolNetworkProfile - err := networkProfile.Initialize_From_AgentPoolNetworkProfile_STATUS(source.NetworkProfile) - if err != nil { - return errors.Wrap(err, "calling Initialize_From_AgentPoolNetworkProfile_STATUS() to populate field NetworkProfile") - } - pool.NetworkProfile = &networkProfile - } else { - pool.NetworkProfile = nil - } - - // NodeLabels - pool.NodeLabels = genruntime.CloneMapOfStringToString(source.NodeLabels) - - // NodeTaints - pool.NodeTaints = genruntime.CloneSliceOfString(source.NodeTaints) - - // OrchestratorVersion - pool.OrchestratorVersion = genruntime.ClonePointerToString(source.OrchestratorVersion) - - // OsDiskSizeGB - if source.OsDiskSizeGB != nil { - osDiskSizeGB := ContainerServiceOSDisk(*source.OsDiskSizeGB) - pool.OsDiskSizeGB = &osDiskSizeGB - } else { - pool.OsDiskSizeGB = nil - } - - // OsDiskType - if source.OsDiskType != nil { - osDiskType := genruntime.ToEnum(string(*source.OsDiskType), oSDiskType_Values) - pool.OsDiskType = &osDiskType - } else { - pool.OsDiskType = nil - } - - // OsSKU - if source.OsSKU != nil { - osSKU := genruntime.ToEnum(string(*source.OsSKU), oSSKU_Values) - pool.OsSKU = &osSKU - } else { - pool.OsSKU = nil - } - - // OsType - if source.OsType != nil { - osType := genruntime.ToEnum(string(*source.OsType), oSType_Values) - pool.OsType = &osType - } else { - pool.OsType = nil - } - - // PowerState - if source.PowerState != nil { - var powerState PowerState - err := powerState.Initialize_From_PowerState_STATUS(source.PowerState) - if err != nil { - return errors.Wrap(err, "calling Initialize_From_PowerState_STATUS() to populate field PowerState") - } - pool.PowerState = &powerState - } else { - pool.PowerState = nil - } - - // ScaleDownMode - if source.ScaleDownMode != nil { - scaleDownMode := genruntime.ToEnum(string(*source.ScaleDownMode), scaleDownMode_Values) - pool.ScaleDownMode = &scaleDownMode - } else { - pool.ScaleDownMode = nil - } - - // ScaleSetEvictionPolicy - if source.ScaleSetEvictionPolicy != nil { - scaleSetEvictionPolicy := genruntime.ToEnum(string(*source.ScaleSetEvictionPolicy), scaleSetEvictionPolicy_Values) - pool.ScaleSetEvictionPolicy = &scaleSetEvictionPolicy - } else { - pool.ScaleSetEvictionPolicy = nil - } - - // ScaleSetPriority - if source.ScaleSetPriority != nil { - scaleSetPriority := genruntime.ToEnum(string(*source.ScaleSetPriority), scaleSetPriority_Values) - pool.ScaleSetPriority = &scaleSetPriority - } else { - pool.ScaleSetPriority = nil - } - - // SpotMaxPrice - if source.SpotMaxPrice != nil { - spotMaxPrice := *source.SpotMaxPrice - pool.SpotMaxPrice = &spotMaxPrice - } else { - pool.SpotMaxPrice = nil - } - - // Tags - pool.Tags = genruntime.CloneMapOfStringToString(source.Tags) - - // Type - if source.PropertiesType != nil { - typeVar := genruntime.ToEnum(string(*source.PropertiesType), agentPoolType_Values) - pool.Type = &typeVar - } else { - pool.Type = nil - } - - // UpgradeSettings - if source.UpgradeSettings != nil { - var upgradeSetting AgentPoolUpgradeSettings - err := upgradeSetting.Initialize_From_AgentPoolUpgradeSettings_STATUS(source.UpgradeSettings) - if err != nil { - return errors.Wrap(err, "calling Initialize_From_AgentPoolUpgradeSettings_STATUS() to populate field UpgradeSettings") - } - pool.UpgradeSettings = &upgradeSetting - } else { - pool.UpgradeSettings = nil - } - - // VmSize - pool.VmSize = genruntime.ClonePointerToString(source.VmSize) - - // WorkloadRuntime - if source.WorkloadRuntime != nil { - workloadRuntime := genruntime.ToEnum(string(*source.WorkloadRuntime), workloadRuntime_Values) - pool.WorkloadRuntime = &workloadRuntime - } else { - pool.WorkloadRuntime = nil - } - - // No error - return nil -} - // OriginalVersion returns the original API version used to create the resource. func (pool *ManagedClustersAgentPool_Spec) OriginalVersion() string { return GroupVersion.Version @@ -3692,56 +3442,13 @@ func (profile *AgentPoolNetworkProfile) AssignProperties_To_AgentPoolNetworkProf return nil } -// Initialize_From_AgentPoolNetworkProfile_STATUS populates our AgentPoolNetworkProfile from the provided source AgentPoolNetworkProfile_STATUS -func (profile *AgentPoolNetworkProfile) Initialize_From_AgentPoolNetworkProfile_STATUS(source *AgentPoolNetworkProfile_STATUS) error { +// Network settings of an agent pool. +type AgentPoolNetworkProfile_STATUS struct { + // AllowedHostPorts: The port ranges that are allowed to access. The specified ranges are allowed to overlap. + AllowedHostPorts []PortRange_STATUS `json:"allowedHostPorts,omitempty"` - // AllowedHostPorts - if source.AllowedHostPorts != nil { - allowedHostPortList := make([]PortRange, len(source.AllowedHostPorts)) - for allowedHostPortIndex, allowedHostPortItem := range source.AllowedHostPorts { - // Shadow the loop variable to avoid aliasing - allowedHostPortItem := allowedHostPortItem - var allowedHostPort PortRange - err := allowedHostPort.Initialize_From_PortRange_STATUS(&allowedHostPortItem) - if err != nil { - return errors.Wrap(err, "calling Initialize_From_PortRange_STATUS() to populate field AllowedHostPorts") - } - allowedHostPortList[allowedHostPortIndex] = allowedHostPort - } - profile.AllowedHostPorts = allowedHostPortList - } else { - profile.AllowedHostPorts = nil - } - - // NodePublicIPTags - if source.NodePublicIPTags != nil { - nodePublicIPTagList := make([]IPTag, len(source.NodePublicIPTags)) - for nodePublicIPTagIndex, nodePublicIPTagItem := range source.NodePublicIPTags { - // Shadow the loop variable to avoid aliasing - nodePublicIPTagItem := nodePublicIPTagItem - var nodePublicIPTag IPTag - err := nodePublicIPTag.Initialize_From_IPTag_STATUS(&nodePublicIPTagItem) - if err != nil { - return errors.Wrap(err, "calling Initialize_From_IPTag_STATUS() to populate field NodePublicIPTags") - } - nodePublicIPTagList[nodePublicIPTagIndex] = nodePublicIPTag - } - profile.NodePublicIPTags = nodePublicIPTagList - } else { - profile.NodePublicIPTags = nil - } - - // No error - return nil -} - -// Network settings of an agent pool. -type AgentPoolNetworkProfile_STATUS struct { - // AllowedHostPorts: The port ranges that are allowed to access. The specified ranges are allowed to overlap. - AllowedHostPorts []PortRange_STATUS `json:"allowedHostPorts,omitempty"` - - // ApplicationSecurityGroups: The IDs of the application security groups which agent pool will associate when created. - ApplicationSecurityGroups []string `json:"applicationSecurityGroups,omitempty"` + // ApplicationSecurityGroups: The IDs of the application security groups which agent pool will associate when created. + ApplicationSecurityGroups []string `json:"applicationSecurityGroups,omitempty"` // NodePublicIPTags: IPTags of instance-level public IPs. NodePublicIPTags []IPTag_STATUS `json:"nodePublicIPTags,omitempty"` @@ -4032,24 +3739,6 @@ func (settings *AgentPoolUpgradeSettings) AssignProperties_To_AgentPoolUpgradeSe return nil } -// Initialize_From_AgentPoolUpgradeSettings_STATUS populates our AgentPoolUpgradeSettings from the provided source AgentPoolUpgradeSettings_STATUS -func (settings *AgentPoolUpgradeSettings) Initialize_From_AgentPoolUpgradeSettings_STATUS(source *AgentPoolUpgradeSettings_STATUS) error { - - // DrainTimeoutInMinutes - if source.DrainTimeoutInMinutes != nil { - drainTimeoutInMinute := *source.DrainTimeoutInMinutes - settings.DrainTimeoutInMinutes = &drainTimeoutInMinute - } else { - settings.DrainTimeoutInMinutes = nil - } - - // MaxSurge - settings.MaxSurge = genruntime.ClonePointerToString(source.MaxSurge) - - // No error - return nil -} - // Settings for upgrading an agentpool type AgentPoolUpgradeSettings_STATUS struct { // DrainTimeoutInMinutes: The amount of time (in minutes) to wait on eviction of pods and graceful termination per node. @@ -4217,21 +3906,6 @@ func (data *CreationData) AssignProperties_To_CreationData(destination *storage. return nil } -// Initialize_From_CreationData_STATUS populates our CreationData from the provided source CreationData_STATUS -func (data *CreationData) Initialize_From_CreationData_STATUS(source *CreationData_STATUS) error { - - // SourceResourceReference - if source.SourceResourceId != nil { - sourceResourceReference := genruntime.CreateResourceReferenceFromARMID(*source.SourceResourceId) - data.SourceResourceReference = &sourceResourceReference - } else { - data.SourceResourceReference = nil - } - - // No error - return nil -} - // Data used when creating a target resource from a source resource. type CreationData_STATUS struct { // SourceResourceId: This is the ARM ID of the source object to be used to create the target object. @@ -4651,61 +4325,6 @@ func (config *KubeletConfig) AssignProperties_To_KubeletConfig(destination *stor return nil } -// Initialize_From_KubeletConfig_STATUS populates our KubeletConfig from the provided source KubeletConfig_STATUS -func (config *KubeletConfig) Initialize_From_KubeletConfig_STATUS(source *KubeletConfig_STATUS) error { - - // AllowedUnsafeSysctls - config.AllowedUnsafeSysctls = genruntime.CloneSliceOfString(source.AllowedUnsafeSysctls) - - // ContainerLogMaxFiles - if source.ContainerLogMaxFiles != nil { - containerLogMaxFile := *source.ContainerLogMaxFiles - config.ContainerLogMaxFiles = &containerLogMaxFile - } else { - config.ContainerLogMaxFiles = nil - } - - // ContainerLogMaxSizeMB - config.ContainerLogMaxSizeMB = genruntime.ClonePointerToInt(source.ContainerLogMaxSizeMB) - - // CpuCfsQuota - if source.CpuCfsQuota != nil { - cpuCfsQuota := *source.CpuCfsQuota - config.CpuCfsQuota = &cpuCfsQuota - } else { - config.CpuCfsQuota = nil - } - - // CpuCfsQuotaPeriod - config.CpuCfsQuotaPeriod = genruntime.ClonePointerToString(source.CpuCfsQuotaPeriod) - - // CpuManagerPolicy - config.CpuManagerPolicy = genruntime.ClonePointerToString(source.CpuManagerPolicy) - - // FailSwapOn - if source.FailSwapOn != nil { - failSwapOn := *source.FailSwapOn - config.FailSwapOn = &failSwapOn - } else { - config.FailSwapOn = nil - } - - // ImageGcHighThreshold - config.ImageGcHighThreshold = genruntime.ClonePointerToInt(source.ImageGcHighThreshold) - - // ImageGcLowThreshold - config.ImageGcLowThreshold = genruntime.ClonePointerToInt(source.ImageGcLowThreshold) - - // PodMaxPids - config.PodMaxPids = genruntime.ClonePointerToInt(source.PodMaxPids) - - // TopologyManagerPolicy - config.TopologyManagerPolicy = genruntime.ClonePointerToString(source.TopologyManagerPolicy) - - // No error - return nil -} - // See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. type KubeletConfig_STATUS struct { // AllowedUnsafeSysctls: Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in `*`). @@ -5137,34 +4756,6 @@ func (config *LinuxOSConfig) AssignProperties_To_LinuxOSConfig(destination *stor return nil } -// Initialize_From_LinuxOSConfig_STATUS populates our LinuxOSConfig from the provided source LinuxOSConfig_STATUS -func (config *LinuxOSConfig) Initialize_From_LinuxOSConfig_STATUS(source *LinuxOSConfig_STATUS) error { - - // SwapFileSizeMB - config.SwapFileSizeMB = genruntime.ClonePointerToInt(source.SwapFileSizeMB) - - // Sysctls - if source.Sysctls != nil { - var sysctl SysctlConfig - err := sysctl.Initialize_From_SysctlConfig_STATUS(source.Sysctls) - if err != nil { - return errors.Wrap(err, "calling Initialize_From_SysctlConfig_STATUS() to populate field Sysctls") - } - config.Sysctls = &sysctl - } else { - config.Sysctls = nil - } - - // TransparentHugePageDefrag - config.TransparentHugePageDefrag = genruntime.ClonePointerToString(source.TransparentHugePageDefrag) - - // TransparentHugePageEnabled - config.TransparentHugePageEnabled = genruntime.ClonePointerToString(source.TransparentHugePageEnabled) - - // No error - return nil -} - // See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. type LinuxOSConfig_STATUS struct { // SwapFileSizeMB: The size in MB of a swap file that will be created on each node. @@ -5490,21 +5081,6 @@ func (state *PowerState) AssignProperties_To_PowerState(destination *storage.Pow return nil } -// Initialize_From_PowerState_STATUS populates our PowerState from the provided source PowerState_STATUS -func (state *PowerState) Initialize_From_PowerState_STATUS(source *PowerState_STATUS) error { - - // Code - if source.Code != nil { - code := genruntime.ToEnum(string(*source.Code), powerState_Code_Values) - state.Code = &code - } else { - state.Code = nil - } - - // No error - return nil -} - // Describes how VMs are added to or removed from Agent Pools. See [billing // states](https://docs.microsoft.com/azure/virtual-machines/states-billing). // +kubebuilder:validation:Enum={"Deallocate","Delete"} @@ -5720,19 +5296,6 @@ func (ipTag *IPTag) AssignProperties_To_IPTag(destination *storage.IPTag) error return nil } -// Initialize_From_IPTag_STATUS populates our IPTag from the provided source IPTag_STATUS -func (ipTag *IPTag) Initialize_From_IPTag_STATUS(source *IPTag_STATUS) error { - - // IpTagType - ipTag.IpTagType = genruntime.ClonePointerToString(source.IpTagType) - - // Tag - ipTag.Tag = genruntime.ClonePointerToString(source.Tag) - - // No error - return nil -} - // Contains the IPTag associated with the object. type IPTag_STATUS struct { // IpTagType: The IP tag type. Example: RoutingPreference. @@ -5964,37 +5527,6 @@ func (portRange *PortRange) AssignProperties_To_PortRange(destination *storage.P return nil } -// Initialize_From_PortRange_STATUS populates our PortRange from the provided source PortRange_STATUS -func (portRange *PortRange) Initialize_From_PortRange_STATUS(source *PortRange_STATUS) error { - - // PortEnd - if source.PortEnd != nil { - portEnd := *source.PortEnd - portRange.PortEnd = &portEnd - } else { - portRange.PortEnd = nil - } - - // PortStart - if source.PortStart != nil { - portStart := *source.PortStart - portRange.PortStart = &portStart - } else { - portRange.PortStart = nil - } - - // Protocol - if source.Protocol != nil { - protocol := genruntime.ToEnum(string(*source.Protocol), portRange_Protocol_Values) - portRange.Protocol = &protocol - } else { - portRange.Protocol = nil - } - - // No error - return nil -} - // The port range. type PortRange_STATUS struct { // PortEnd: The maximum port that is included in the range. It should be ranged from 1 to 65535, and be greater than or @@ -6800,117 +6332,6 @@ func (config *SysctlConfig) AssignProperties_To_SysctlConfig(destination *storag return nil } -// Initialize_From_SysctlConfig_STATUS populates our SysctlConfig from the provided source SysctlConfig_STATUS -func (config *SysctlConfig) Initialize_From_SysctlConfig_STATUS(source *SysctlConfig_STATUS) error { - - // FsAioMaxNr - config.FsAioMaxNr = genruntime.ClonePointerToInt(source.FsAioMaxNr) - - // FsFileMax - config.FsFileMax = genruntime.ClonePointerToInt(source.FsFileMax) - - // FsInotifyMaxUserWatches - config.FsInotifyMaxUserWatches = genruntime.ClonePointerToInt(source.FsInotifyMaxUserWatches) - - // FsNrOpen - config.FsNrOpen = genruntime.ClonePointerToInt(source.FsNrOpen) - - // KernelThreadsMax - config.KernelThreadsMax = genruntime.ClonePointerToInt(source.KernelThreadsMax) - - // NetCoreNetdevMaxBacklog - config.NetCoreNetdevMaxBacklog = genruntime.ClonePointerToInt(source.NetCoreNetdevMaxBacklog) - - // NetCoreOptmemMax - config.NetCoreOptmemMax = genruntime.ClonePointerToInt(source.NetCoreOptmemMax) - - // NetCoreRmemDefault - config.NetCoreRmemDefault = genruntime.ClonePointerToInt(source.NetCoreRmemDefault) - - // NetCoreRmemMax - config.NetCoreRmemMax = genruntime.ClonePointerToInt(source.NetCoreRmemMax) - - // NetCoreSomaxconn - config.NetCoreSomaxconn = genruntime.ClonePointerToInt(source.NetCoreSomaxconn) - - // NetCoreWmemDefault - config.NetCoreWmemDefault = genruntime.ClonePointerToInt(source.NetCoreWmemDefault) - - // NetCoreWmemMax - config.NetCoreWmemMax = genruntime.ClonePointerToInt(source.NetCoreWmemMax) - - // NetIpv4IpLocalPortRange - config.NetIpv4IpLocalPortRange = genruntime.ClonePointerToString(source.NetIpv4IpLocalPortRange) - - // NetIpv4NeighDefaultGcThresh1 - config.NetIpv4NeighDefaultGcThresh1 = genruntime.ClonePointerToInt(source.NetIpv4NeighDefaultGcThresh1) - - // NetIpv4NeighDefaultGcThresh2 - config.NetIpv4NeighDefaultGcThresh2 = genruntime.ClonePointerToInt(source.NetIpv4NeighDefaultGcThresh2) - - // NetIpv4NeighDefaultGcThresh3 - config.NetIpv4NeighDefaultGcThresh3 = genruntime.ClonePointerToInt(source.NetIpv4NeighDefaultGcThresh3) - - // NetIpv4TcpFinTimeout - config.NetIpv4TcpFinTimeout = genruntime.ClonePointerToInt(source.NetIpv4TcpFinTimeout) - - // NetIpv4TcpKeepaliveProbes - config.NetIpv4TcpKeepaliveProbes = genruntime.ClonePointerToInt(source.NetIpv4TcpKeepaliveProbes) - - // NetIpv4TcpKeepaliveTime - config.NetIpv4TcpKeepaliveTime = genruntime.ClonePointerToInt(source.NetIpv4TcpKeepaliveTime) - - // NetIpv4TcpMaxSynBacklog - config.NetIpv4TcpMaxSynBacklog = genruntime.ClonePointerToInt(source.NetIpv4TcpMaxSynBacklog) - - // NetIpv4TcpMaxTwBuckets - config.NetIpv4TcpMaxTwBuckets = genruntime.ClonePointerToInt(source.NetIpv4TcpMaxTwBuckets) - - // NetIpv4TcpTwReuse - if source.NetIpv4TcpTwReuse != nil { - netIpv4TcpTwReuse := *source.NetIpv4TcpTwReuse - config.NetIpv4TcpTwReuse = &netIpv4TcpTwReuse - } else { - config.NetIpv4TcpTwReuse = nil - } - - // NetIpv4TcpkeepaliveIntvl - if source.NetIpv4TcpkeepaliveIntvl != nil { - netIpv4TcpkeepaliveIntvl := *source.NetIpv4TcpkeepaliveIntvl - config.NetIpv4TcpkeepaliveIntvl = &netIpv4TcpkeepaliveIntvl - } else { - config.NetIpv4TcpkeepaliveIntvl = nil - } - - // NetNetfilterNfConntrackBuckets - if source.NetNetfilterNfConntrackBuckets != nil { - netNetfilterNfConntrackBucket := *source.NetNetfilterNfConntrackBuckets - config.NetNetfilterNfConntrackBuckets = &netNetfilterNfConntrackBucket - } else { - config.NetNetfilterNfConntrackBuckets = nil - } - - // NetNetfilterNfConntrackMax - if source.NetNetfilterNfConntrackMax != nil { - netNetfilterNfConntrackMax := *source.NetNetfilterNfConntrackMax - config.NetNetfilterNfConntrackMax = &netNetfilterNfConntrackMax - } else { - config.NetNetfilterNfConntrackMax = nil - } - - // VmMaxMapCount - config.VmMaxMapCount = genruntime.ClonePointerToInt(source.VmMaxMapCount) - - // VmSwappiness - config.VmSwappiness = genruntime.ClonePointerToInt(source.VmSwappiness) - - // VmVfsCachePressure - config.VmVfsCachePressure = genruntime.ClonePointerToInt(source.VmVfsCachePressure) - - // No error - return nil -} - // Sysctl settings for Linux agent nodes. type SysctlConfig_STATUS struct { // FsAioMaxNr: Sysctl setting fs.aio-max-nr. diff --git a/v2/api/containerservice/v1api20231001/managed_clusters_agent_pool_types_gen_test.go b/v2/api/containerservice/v1api20231001/managed_clusters_agent_pool_types_gen_test.go index 2d168ca2284..ee059542a8f 100644 --- a/v2/api/containerservice/v1api20231001/managed_clusters_agent_pool_types_gen_test.go +++ b/v2/api/containerservice/v1api20231001/managed_clusters_agent_pool_types_gen_test.go @@ -5,7 +5,8 @@ package v1api20231001 import ( "encoding/json" - storage "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20231001/storage" + v20231001s "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20231001/storage" + v20240901s "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20240901/storage" "github.com/google/go-cmp/cmp" "github.com/google/go-cmp/cmp/cmpopts" "github.com/kr/pretty" @@ -35,7 +36,7 @@ func RunPropertyAssignmentTestForAgentPoolNetworkProfile(subject AgentPoolNetwor copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.AgentPoolNetworkProfile + var other v20231001s.AgentPoolNetworkProfile err := copied.AssignProperties_To_AgentPoolNetworkProfile(&other) if err != nil { return err.Error() @@ -139,7 +140,7 @@ func RunPropertyAssignmentTestForAgentPoolNetworkProfile_STATUS(subject AgentPoo copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.AgentPoolNetworkProfile_STATUS + var other v20231001s.AgentPoolNetworkProfile_STATUS err := copied.AssignProperties_To_AgentPoolNetworkProfile_STATUS(&other) if err != nil { return err.Error() @@ -257,7 +258,7 @@ func RunPropertyAssignmentTestForAgentPoolUpgradeSettings(subject AgentPoolUpgra copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.AgentPoolUpgradeSettings + var other v20231001s.AgentPoolUpgradeSettings err := copied.AssignProperties_To_AgentPoolUpgradeSettings(&other) if err != nil { return err.Error() @@ -361,7 +362,7 @@ func RunPropertyAssignmentTestForAgentPoolUpgradeSettings_STATUS(subject AgentPo copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.AgentPoolUpgradeSettings_STATUS + var other v20231001s.AgentPoolUpgradeSettings_STATUS err := copied.AssignProperties_To_AgentPoolUpgradeSettings_STATUS(&other) if err != nil { return err.Error() @@ -465,7 +466,7 @@ func RunPropertyAssignmentTestForCreationData(subject CreationData) string { copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.CreationData + var other v20231001s.CreationData err := copied.AssignProperties_To_CreationData(&other) if err != nil { return err.Error() @@ -561,7 +562,7 @@ func RunPropertyAssignmentTestForCreationData_STATUS(subject CreationData_STATUS copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.CreationData_STATUS + var other v20231001s.CreationData_STATUS err := copied.AssignProperties_To_CreationData_STATUS(&other) if err != nil { return err.Error() @@ -664,7 +665,7 @@ func RunPropertyAssignmentTestForIPTag(subject IPTag) string { copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.IPTag + var other v20231001s.IPTag err := copied.AssignProperties_To_IPTag(&other) if err != nil { return err.Error() @@ -767,7 +768,7 @@ func RunPropertyAssignmentTestForIPTag_STATUS(subject IPTag_STATUS) string { copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.IPTag_STATUS + var other v20231001s.IPTag_STATUS err := copied.AssignProperties_To_IPTag_STATUS(&other) if err != nil { return err.Error() @@ -870,7 +871,7 @@ func RunPropertyAssignmentTestForKubeletConfig(subject KubeletConfig) string { copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.KubeletConfig + var other v20231001s.KubeletConfig err := copied.AssignProperties_To_KubeletConfig(&other) if err != nil { return err.Error() @@ -982,7 +983,7 @@ func RunPropertyAssignmentTestForKubeletConfig_STATUS(subject KubeletConfig_STAT copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.KubeletConfig_STATUS + var other v20231001s.KubeletConfig_STATUS err := copied.AssignProperties_To_KubeletConfig_STATUS(&other) if err != nil { return err.Error() @@ -1095,7 +1096,7 @@ func RunPropertyAssignmentTestForLinuxOSConfig(subject LinuxOSConfig) string { copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.LinuxOSConfig + var other v20231001s.LinuxOSConfig err := copied.AssignProperties_To_LinuxOSConfig(&other) if err != nil { return err.Error() @@ -1213,7 +1214,7 @@ func RunPropertyAssignmentTestForLinuxOSConfig_STATUS(subject LinuxOSConfig_STAT copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.LinuxOSConfig_STATUS + var other v20231001s.LinuxOSConfig_STATUS err := copied.AssignProperties_To_LinuxOSConfig_STATUS(&other) if err != nil { return err.Error() @@ -1333,7 +1334,7 @@ func RunResourceConversionTestForManagedClustersAgentPool(subject ManagedCluster copied := subject.DeepCopy() // Convert to our hub version - var hub storage.ManagedClustersAgentPool + var hub v20240901s.ManagedClustersAgentPool err := copied.ConvertTo(&hub) if err != nil { return err.Error() @@ -1375,7 +1376,7 @@ func RunPropertyAssignmentTestForManagedClustersAgentPool(subject ManagedCluster copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClustersAgentPool + var other v20231001s.ManagedClustersAgentPool err := copied.AssignProperties_To_ManagedClustersAgentPool(&other) if err != nil { return err.Error() @@ -1479,7 +1480,7 @@ func RunPropertyAssignmentTestForManagedClustersAgentPool_STATUS(subject Managed copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClustersAgentPool_STATUS + var other v20231001s.ManagedClustersAgentPool_STATUS err := copied.AssignProperties_To_ManagedClustersAgentPool_STATUS(&other) if err != nil { return err.Error() @@ -1654,7 +1655,7 @@ func RunPropertyAssignmentTestForManagedClustersAgentPool_Spec(subject ManagedCl copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClustersAgentPool_Spec + var other v20231001s.ManagedClustersAgentPool_Spec err := copied.AssignProperties_To_ManagedClustersAgentPool_Spec(&other) if err != nil { return err.Error() @@ -1820,7 +1821,7 @@ func RunPropertyAssignmentTestForPortRange(subject PortRange) string { copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.PortRange + var other v20231001s.PortRange err := copied.AssignProperties_To_PortRange(&other) if err != nil { return err.Error() @@ -1924,7 +1925,7 @@ func RunPropertyAssignmentTestForPortRange_STATUS(subject PortRange_STATUS) stri copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.PortRange_STATUS + var other v20231001s.PortRange_STATUS err := copied.AssignProperties_To_PortRange_STATUS(&other) if err != nil { return err.Error() @@ -2028,7 +2029,7 @@ func RunPropertyAssignmentTestForPowerState(subject PowerState) string { copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.PowerState + var other v20231001s.PowerState err := copied.AssignProperties_To_PowerState(&other) if err != nil { return err.Error() @@ -2130,7 +2131,7 @@ func RunPropertyAssignmentTestForSysctlConfig(subject SysctlConfig) string { copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.SysctlConfig + var other v20231001s.SysctlConfig err := copied.AssignProperties_To_SysctlConfig(&other) if err != nil { return err.Error() @@ -2259,7 +2260,7 @@ func RunPropertyAssignmentTestForSysctlConfig_STATUS(subject SysctlConfig_STATUS copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.SysctlConfig_STATUS + var other v20231001s.SysctlConfig_STATUS err := copied.AssignProperties_To_SysctlConfig_STATUS(&other) if err != nil { return err.Error() diff --git a/v2/api/containerservice/v1api20231001/storage/compat/advanced_networking_status_types_gen.go b/v2/api/containerservice/v1api20231001/storage/compat/advanced_networking_status_types_gen.go new file mode 100644 index 00000000000..7a953d95dce --- /dev/null +++ b/v2/api/containerservice/v1api20231001/storage/compat/advanced_networking_status_types_gen.go @@ -0,0 +1,215 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package compat + +import ( + storage "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20240901/storage" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime" + "github.com/pkg/errors" +) + +// Storage version of v1api20240402preview.AdvancedNetworking_STATUS +// Advanced Networking profile for enabling observability on a cluster. Note that enabling advanced networking features may +// incur additional costs. For more information see aka.ms/aksadvancednetworking. +type AdvancedNetworking_STATUS struct { + Observability *AdvancedNetworkingObservability_STATUS `json:"observability,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// AssignProperties_From_AdvancedNetworking_STATUS populates our AdvancedNetworking_STATUS from the provided source AdvancedNetworking_STATUS +func (networking *AdvancedNetworking_STATUS) AssignProperties_From_AdvancedNetworking_STATUS(source *storage.AdvancedNetworking_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // Enabled + if source.Enabled != nil { + propertyBag.Add("Enabled", *source.Enabled) + } else { + propertyBag.Remove("Enabled") + } + + // Observability + if source.Observability != nil { + var observability AdvancedNetworkingObservability_STATUS + err := observability.AssignProperties_From_AdvancedNetworkingObservability_STATUS(source.Observability) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_AdvancedNetworkingObservability_STATUS() to populate field Observability") + } + networking.Observability = &observability + } else { + networking.Observability = nil + } + + // Security + if source.Security != nil { + propertyBag.Add("Security", *source.Security) + } else { + propertyBag.Remove("Security") + } + + // Update the property bag + if len(propertyBag) > 0 { + networking.PropertyBag = propertyBag + } else { + networking.PropertyBag = nil + } + + // Invoke the augmentConversionForAdvancedNetworking_STATUS interface (if implemented) to customize the conversion + var networkingAsAny any = networking + if augmentedNetworking, ok := networkingAsAny.(augmentConversionForAdvancedNetworking_STATUS); ok { + err := augmentedNetworking.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_AdvancedNetworking_STATUS populates the provided destination AdvancedNetworking_STATUS from our AdvancedNetworking_STATUS +func (networking *AdvancedNetworking_STATUS) AssignProperties_To_AdvancedNetworking_STATUS(destination *storage.AdvancedNetworking_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(networking.PropertyBag) + + // Enabled + if propertyBag.Contains("Enabled") { + var enabled bool + err := propertyBag.Pull("Enabled", &enabled) + if err != nil { + return errors.Wrap(err, "pulling 'Enabled' from propertyBag") + } + + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // Observability + if networking.Observability != nil { + var observability storage.AdvancedNetworkingObservability_STATUS + err := networking.Observability.AssignProperties_To_AdvancedNetworkingObservability_STATUS(&observability) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_AdvancedNetworkingObservability_STATUS() to populate field Observability") + } + destination.Observability = &observability + } else { + destination.Observability = nil + } + + // Security + if propertyBag.Contains("Security") { + var security storage.AdvancedNetworkingSecurity_STATUS + err := propertyBag.Pull("Security", &security) + if err != nil { + return errors.Wrap(err, "pulling 'Security' from propertyBag") + } + + destination.Security = &security + } else { + destination.Security = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForAdvancedNetworking_STATUS interface (if implemented) to customize the conversion + var networkingAsAny any = networking + if augmentedNetworking, ok := networkingAsAny.(augmentConversionForAdvancedNetworking_STATUS); ok { + err := augmentedNetworking.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +// Storage version of v1api20240402preview.AdvancedNetworkingObservability_STATUS +// Observability profile to enable advanced network metrics and flow logs with historical contexts. +type AdvancedNetworkingObservability_STATUS struct { + Enabled *bool `json:"enabled,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// AssignProperties_From_AdvancedNetworkingObservability_STATUS populates our AdvancedNetworkingObservability_STATUS from the provided source AdvancedNetworkingObservability_STATUS +func (observability *AdvancedNetworkingObservability_STATUS) AssignProperties_From_AdvancedNetworkingObservability_STATUS(source *storage.AdvancedNetworkingObservability_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + observability.Enabled = &enabled + } else { + observability.Enabled = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + observability.PropertyBag = propertyBag + } else { + observability.PropertyBag = nil + } + + // Invoke the augmentConversionForAdvancedNetworkingObservability_STATUS interface (if implemented) to customize the conversion + var observabilityAsAny any = observability + if augmentedObservability, ok := observabilityAsAny.(augmentConversionForAdvancedNetworkingObservability_STATUS); ok { + err := augmentedObservability.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_AdvancedNetworkingObservability_STATUS populates the provided destination AdvancedNetworkingObservability_STATUS from our AdvancedNetworkingObservability_STATUS +func (observability *AdvancedNetworkingObservability_STATUS) AssignProperties_To_AdvancedNetworkingObservability_STATUS(destination *storage.AdvancedNetworkingObservability_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(observability.PropertyBag) + + // Enabled + if observability.Enabled != nil { + enabled := *observability.Enabled + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForAdvancedNetworkingObservability_STATUS interface (if implemented) to customize the conversion + var observabilityAsAny any = observability + if augmentedObservability, ok := observabilityAsAny.(augmentConversionForAdvancedNetworkingObservability_STATUS); ok { + err := augmentedObservability.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +type augmentConversionForAdvancedNetworking_STATUS interface { + AssignPropertiesFrom(src *storage.AdvancedNetworking_STATUS) error + AssignPropertiesTo(dst *storage.AdvancedNetworking_STATUS) error +} + +type augmentConversionForAdvancedNetworkingObservability_STATUS interface { + AssignPropertiesFrom(src *storage.AdvancedNetworkingObservability_STATUS) error + AssignPropertiesTo(dst *storage.AdvancedNetworkingObservability_STATUS) error +} diff --git a/v2/api/containerservice/v1api20231001/storage/compat/advanced_networking_status_types_gen_test.go b/v2/api/containerservice/v1api20231001/storage/compat/advanced_networking_status_types_gen_test.go new file mode 100644 index 00000000000..3728231c408 --- /dev/null +++ b/v2/api/containerservice/v1api20231001/storage/compat/advanced_networking_status_types_gen_test.go @@ -0,0 +1,225 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package compat + +import ( + "encoding/json" + storage "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20240901/storage" + "github.com/google/go-cmp/cmp" + "github.com/google/go-cmp/cmp/cmpopts" + "github.com/kr/pretty" + "github.com/kylelemons/godebug/diff" + "github.com/leanovate/gopter" + "github.com/leanovate/gopter/gen" + "github.com/leanovate/gopter/prop" + "os" + "reflect" + "testing" +) + +func Test_AdvancedNetworkingObservability_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from AdvancedNetworkingObservability_STATUS to AdvancedNetworkingObservability_STATUS via AssignProperties_To_AdvancedNetworkingObservability_STATUS & AssignProperties_From_AdvancedNetworkingObservability_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForAdvancedNetworkingObservability_STATUS, AdvancedNetworkingObservability_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForAdvancedNetworkingObservability_STATUS tests if a specific instance of AdvancedNetworkingObservability_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForAdvancedNetworkingObservability_STATUS(subject AdvancedNetworkingObservability_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.AdvancedNetworkingObservability_STATUS + err := copied.AssignProperties_To_AdvancedNetworkingObservability_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual AdvancedNetworkingObservability_STATUS + err = actual.AssignProperties_From_AdvancedNetworkingObservability_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_AdvancedNetworkingObservability_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of AdvancedNetworkingObservability_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAdvancedNetworkingObservability_STATUS, AdvancedNetworkingObservability_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAdvancedNetworkingObservability_STATUS runs a test to see if a specific instance of AdvancedNetworkingObservability_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForAdvancedNetworkingObservability_STATUS(subject AdvancedNetworkingObservability_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AdvancedNetworkingObservability_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of AdvancedNetworkingObservability_STATUS instances for property testing - lazily instantiated by +// AdvancedNetworkingObservability_STATUSGenerator() +var advancedNetworkingObservability_STATUSGenerator gopter.Gen + +// AdvancedNetworkingObservability_STATUSGenerator returns a generator of AdvancedNetworkingObservability_STATUS instances for property testing. +func AdvancedNetworkingObservability_STATUSGenerator() gopter.Gen { + if advancedNetworkingObservability_STATUSGenerator != nil { + return advancedNetworkingObservability_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAdvancedNetworkingObservability_STATUS(generators) + advancedNetworkingObservability_STATUSGenerator = gen.Struct(reflect.TypeOf(AdvancedNetworkingObservability_STATUS{}), generators) + + return advancedNetworkingObservability_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForAdvancedNetworkingObservability_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAdvancedNetworkingObservability_STATUS(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +func Test_AdvancedNetworking_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from AdvancedNetworking_STATUS to AdvancedNetworking_STATUS via AssignProperties_To_AdvancedNetworking_STATUS & AssignProperties_From_AdvancedNetworking_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForAdvancedNetworking_STATUS, AdvancedNetworking_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForAdvancedNetworking_STATUS tests if a specific instance of AdvancedNetworking_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForAdvancedNetworking_STATUS(subject AdvancedNetworking_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.AdvancedNetworking_STATUS + err := copied.AssignProperties_To_AdvancedNetworking_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual AdvancedNetworking_STATUS + err = actual.AssignProperties_From_AdvancedNetworking_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_AdvancedNetworking_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of AdvancedNetworking_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAdvancedNetworking_STATUS, AdvancedNetworking_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAdvancedNetworking_STATUS runs a test to see if a specific instance of AdvancedNetworking_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForAdvancedNetworking_STATUS(subject AdvancedNetworking_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AdvancedNetworking_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of AdvancedNetworking_STATUS instances for property testing - lazily instantiated by +// AdvancedNetworking_STATUSGenerator() +var advancedNetworking_STATUSGenerator gopter.Gen + +// AdvancedNetworking_STATUSGenerator returns a generator of AdvancedNetworking_STATUS instances for property testing. +func AdvancedNetworking_STATUSGenerator() gopter.Gen { + if advancedNetworking_STATUSGenerator != nil { + return advancedNetworking_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForAdvancedNetworking_STATUS(generators) + advancedNetworking_STATUSGenerator = gen.Struct(reflect.TypeOf(AdvancedNetworking_STATUS{}), generators) + + return advancedNetworking_STATUSGenerator +} + +// AddRelatedPropertyGeneratorsForAdvancedNetworking_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForAdvancedNetworking_STATUS(gens map[string]gopter.Gen) { + gens["Observability"] = gen.PtrOf(AdvancedNetworkingObservability_STATUSGenerator()) +} diff --git a/v2/api/containerservice/v1api20231001/storage/compat/advanced_networking_types_gen.go b/v2/api/containerservice/v1api20231001/storage/compat/advanced_networking_types_gen.go new file mode 100644 index 00000000000..15cbd130624 --- /dev/null +++ b/v2/api/containerservice/v1api20231001/storage/compat/advanced_networking_types_gen.go @@ -0,0 +1,215 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package compat + +import ( + storage "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20240901/storage" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime" + "github.com/pkg/errors" +) + +// Storage version of v1api20240402preview.AdvancedNetworking +// Advanced Networking profile for enabling observability on a cluster. Note that enabling advanced networking features may +// incur additional costs. For more information see aka.ms/aksadvancednetworking. +type AdvancedNetworking struct { + Observability *AdvancedNetworkingObservability `json:"observability,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// AssignProperties_From_AdvancedNetworking populates our AdvancedNetworking from the provided source AdvancedNetworking +func (networking *AdvancedNetworking) AssignProperties_From_AdvancedNetworking(source *storage.AdvancedNetworking) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // Enabled + if source.Enabled != nil { + propertyBag.Add("Enabled", *source.Enabled) + } else { + propertyBag.Remove("Enabled") + } + + // Observability + if source.Observability != nil { + var observability AdvancedNetworkingObservability + err := observability.AssignProperties_From_AdvancedNetworkingObservability(source.Observability) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_AdvancedNetworkingObservability() to populate field Observability") + } + networking.Observability = &observability + } else { + networking.Observability = nil + } + + // Security + if source.Security != nil { + propertyBag.Add("Security", *source.Security) + } else { + propertyBag.Remove("Security") + } + + // Update the property bag + if len(propertyBag) > 0 { + networking.PropertyBag = propertyBag + } else { + networking.PropertyBag = nil + } + + // Invoke the augmentConversionForAdvancedNetworking interface (if implemented) to customize the conversion + var networkingAsAny any = networking + if augmentedNetworking, ok := networkingAsAny.(augmentConversionForAdvancedNetworking); ok { + err := augmentedNetworking.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_AdvancedNetworking populates the provided destination AdvancedNetworking from our AdvancedNetworking +func (networking *AdvancedNetworking) AssignProperties_To_AdvancedNetworking(destination *storage.AdvancedNetworking) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(networking.PropertyBag) + + // Enabled + if propertyBag.Contains("Enabled") { + var enabled bool + err := propertyBag.Pull("Enabled", &enabled) + if err != nil { + return errors.Wrap(err, "pulling 'Enabled' from propertyBag") + } + + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // Observability + if networking.Observability != nil { + var observability storage.AdvancedNetworkingObservability + err := networking.Observability.AssignProperties_To_AdvancedNetworkingObservability(&observability) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_AdvancedNetworkingObservability() to populate field Observability") + } + destination.Observability = &observability + } else { + destination.Observability = nil + } + + // Security + if propertyBag.Contains("Security") { + var security storage.AdvancedNetworkingSecurity + err := propertyBag.Pull("Security", &security) + if err != nil { + return errors.Wrap(err, "pulling 'Security' from propertyBag") + } + + destination.Security = &security + } else { + destination.Security = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForAdvancedNetworking interface (if implemented) to customize the conversion + var networkingAsAny any = networking + if augmentedNetworking, ok := networkingAsAny.(augmentConversionForAdvancedNetworking); ok { + err := augmentedNetworking.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +// Storage version of v1api20240402preview.AdvancedNetworkingObservability +// Observability profile to enable advanced network metrics and flow logs with historical contexts. +type AdvancedNetworkingObservability struct { + Enabled *bool `json:"enabled,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// AssignProperties_From_AdvancedNetworkingObservability populates our AdvancedNetworkingObservability from the provided source AdvancedNetworkingObservability +func (observability *AdvancedNetworkingObservability) AssignProperties_From_AdvancedNetworkingObservability(source *storage.AdvancedNetworkingObservability) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + observability.Enabled = &enabled + } else { + observability.Enabled = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + observability.PropertyBag = propertyBag + } else { + observability.PropertyBag = nil + } + + // Invoke the augmentConversionForAdvancedNetworkingObservability interface (if implemented) to customize the conversion + var observabilityAsAny any = observability + if augmentedObservability, ok := observabilityAsAny.(augmentConversionForAdvancedNetworkingObservability); ok { + err := augmentedObservability.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_AdvancedNetworkingObservability populates the provided destination AdvancedNetworkingObservability from our AdvancedNetworkingObservability +func (observability *AdvancedNetworkingObservability) AssignProperties_To_AdvancedNetworkingObservability(destination *storage.AdvancedNetworkingObservability) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(observability.PropertyBag) + + // Enabled + if observability.Enabled != nil { + enabled := *observability.Enabled + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForAdvancedNetworkingObservability interface (if implemented) to customize the conversion + var observabilityAsAny any = observability + if augmentedObservability, ok := observabilityAsAny.(augmentConversionForAdvancedNetworkingObservability); ok { + err := augmentedObservability.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +type augmentConversionForAdvancedNetworking interface { + AssignPropertiesFrom(src *storage.AdvancedNetworking) error + AssignPropertiesTo(dst *storage.AdvancedNetworking) error +} + +type augmentConversionForAdvancedNetworkingObservability interface { + AssignPropertiesFrom(src *storage.AdvancedNetworkingObservability) error + AssignPropertiesTo(dst *storage.AdvancedNetworkingObservability) error +} diff --git a/v2/api/containerservice/v1api20231001/storage/compat/advanced_networking_types_gen_test.go b/v2/api/containerservice/v1api20231001/storage/compat/advanced_networking_types_gen_test.go new file mode 100644 index 00000000000..184efc5d7f9 --- /dev/null +++ b/v2/api/containerservice/v1api20231001/storage/compat/advanced_networking_types_gen_test.go @@ -0,0 +1,224 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package compat + +import ( + "encoding/json" + storage "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20240901/storage" + "github.com/google/go-cmp/cmp" + "github.com/google/go-cmp/cmp/cmpopts" + "github.com/kr/pretty" + "github.com/kylelemons/godebug/diff" + "github.com/leanovate/gopter" + "github.com/leanovate/gopter/gen" + "github.com/leanovate/gopter/prop" + "os" + "reflect" + "testing" +) + +func Test_AdvancedNetworking_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from AdvancedNetworking to AdvancedNetworking via AssignProperties_To_AdvancedNetworking & AssignProperties_From_AdvancedNetworking returns original", + prop.ForAll(RunPropertyAssignmentTestForAdvancedNetworking, AdvancedNetworkingGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForAdvancedNetworking tests if a specific instance of AdvancedNetworking can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForAdvancedNetworking(subject AdvancedNetworking) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.AdvancedNetworking + err := copied.AssignProperties_To_AdvancedNetworking(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual AdvancedNetworking + err = actual.AssignProperties_From_AdvancedNetworking(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_AdvancedNetworking_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of AdvancedNetworking via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAdvancedNetworking, AdvancedNetworkingGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAdvancedNetworking runs a test to see if a specific instance of AdvancedNetworking round trips to JSON and back losslessly +func RunJSONSerializationTestForAdvancedNetworking(subject AdvancedNetworking) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AdvancedNetworking + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of AdvancedNetworking instances for property testing - lazily instantiated by AdvancedNetworkingGenerator() +var advancedNetworkingGenerator gopter.Gen + +// AdvancedNetworkingGenerator returns a generator of AdvancedNetworking instances for property testing. +func AdvancedNetworkingGenerator() gopter.Gen { + if advancedNetworkingGenerator != nil { + return advancedNetworkingGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForAdvancedNetworking(generators) + advancedNetworkingGenerator = gen.Struct(reflect.TypeOf(AdvancedNetworking{}), generators) + + return advancedNetworkingGenerator +} + +// AddRelatedPropertyGeneratorsForAdvancedNetworking is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForAdvancedNetworking(gens map[string]gopter.Gen) { + gens["Observability"] = gen.PtrOf(AdvancedNetworkingObservabilityGenerator()) +} + +func Test_AdvancedNetworkingObservability_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from AdvancedNetworkingObservability to AdvancedNetworkingObservability via AssignProperties_To_AdvancedNetworkingObservability & AssignProperties_From_AdvancedNetworkingObservability returns original", + prop.ForAll(RunPropertyAssignmentTestForAdvancedNetworkingObservability, AdvancedNetworkingObservabilityGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForAdvancedNetworkingObservability tests if a specific instance of AdvancedNetworkingObservability can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForAdvancedNetworkingObservability(subject AdvancedNetworkingObservability) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.AdvancedNetworkingObservability + err := copied.AssignProperties_To_AdvancedNetworkingObservability(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual AdvancedNetworkingObservability + err = actual.AssignProperties_From_AdvancedNetworkingObservability(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_AdvancedNetworkingObservability_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of AdvancedNetworkingObservability via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAdvancedNetworkingObservability, AdvancedNetworkingObservabilityGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAdvancedNetworkingObservability runs a test to see if a specific instance of AdvancedNetworkingObservability round trips to JSON and back losslessly +func RunJSONSerializationTestForAdvancedNetworkingObservability(subject AdvancedNetworkingObservability) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AdvancedNetworkingObservability + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of AdvancedNetworkingObservability instances for property testing - lazily instantiated by +// AdvancedNetworkingObservabilityGenerator() +var advancedNetworkingObservabilityGenerator gopter.Gen + +// AdvancedNetworkingObservabilityGenerator returns a generator of AdvancedNetworkingObservability instances for property testing. +func AdvancedNetworkingObservabilityGenerator() gopter.Gen { + if advancedNetworkingObservabilityGenerator != nil { + return advancedNetworkingObservabilityGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAdvancedNetworkingObservability(generators) + advancedNetworkingObservabilityGenerator = gen.Struct(reflect.TypeOf(AdvancedNetworkingObservability{}), generators) + + return advancedNetworkingObservabilityGenerator +} + +// AddIndependentPropertyGeneratorsForAdvancedNetworkingObservability is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAdvancedNetworkingObservability(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} diff --git a/v2/api/containerservice/v1api20231001/storage/compat/agent_pool_security_profile_status_types_gen.go b/v2/api/containerservice/v1api20231001/storage/compat/agent_pool_security_profile_status_types_gen.go new file mode 100644 index 00000000000..794030d9113 --- /dev/null +++ b/v2/api/containerservice/v1api20231001/storage/compat/agent_pool_security_profile_status_types_gen.go @@ -0,0 +1,125 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package compat + +import ( + storage "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20240901/storage" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime" + "github.com/pkg/errors" +) + +// Storage version of v1api20231102preview.AgentPoolSecurityProfile_STATUS +type AgentPoolSecurityProfile_STATUS struct { + EnableSecureBoot *bool `json:"enableSecureBoot,omitempty"` + EnableVTPM *bool `json:"enableVTPM,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + SshAccess *string `json:"sshAccess,omitempty"` +} + +// AssignProperties_From_AgentPoolSecurityProfile_STATUS populates our AgentPoolSecurityProfile_STATUS from the provided source AgentPoolSecurityProfile_STATUS +func (profile *AgentPoolSecurityProfile_STATUS) AssignProperties_From_AgentPoolSecurityProfile_STATUS(source *storage.AgentPoolSecurityProfile_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // EnableSecureBoot + if source.EnableSecureBoot != nil { + enableSecureBoot := *source.EnableSecureBoot + profile.EnableSecureBoot = &enableSecureBoot + } else { + profile.EnableSecureBoot = nil + } + + // EnableVTPM + if source.EnableVTPM != nil { + enableVTPM := *source.EnableVTPM + profile.EnableVTPM = &enableVTPM + } else { + profile.EnableVTPM = nil + } + + // SshAccess + if propertyBag.Contains("SshAccess") { + var sshAccess string + err := propertyBag.Pull("SshAccess", &sshAccess) + if err != nil { + return errors.Wrap(err, "pulling 'SshAccess' from propertyBag") + } + + profile.SshAccess = &sshAccess + } else { + profile.SshAccess = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + profile.PropertyBag = propertyBag + } else { + profile.PropertyBag = nil + } + + // Invoke the augmentConversionForAgentPoolSecurityProfile_STATUS interface (if implemented) to customize the conversion + var profileAsAny any = profile + if augmentedProfile, ok := profileAsAny.(augmentConversionForAgentPoolSecurityProfile_STATUS); ok { + err := augmentedProfile.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_AgentPoolSecurityProfile_STATUS populates the provided destination AgentPoolSecurityProfile_STATUS from our AgentPoolSecurityProfile_STATUS +func (profile *AgentPoolSecurityProfile_STATUS) AssignProperties_To_AgentPoolSecurityProfile_STATUS(destination *storage.AgentPoolSecurityProfile_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) + + // EnableSecureBoot + if profile.EnableSecureBoot != nil { + enableSecureBoot := *profile.EnableSecureBoot + destination.EnableSecureBoot = &enableSecureBoot + } else { + destination.EnableSecureBoot = nil + } + + // EnableVTPM + if profile.EnableVTPM != nil { + enableVTPM := *profile.EnableVTPM + destination.EnableVTPM = &enableVTPM + } else { + destination.EnableVTPM = nil + } + + // SshAccess + if profile.SshAccess != nil { + propertyBag.Add("SshAccess", *profile.SshAccess) + } else { + propertyBag.Remove("SshAccess") + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForAgentPoolSecurityProfile_STATUS interface (if implemented) to customize the conversion + var profileAsAny any = profile + if augmentedProfile, ok := profileAsAny.(augmentConversionForAgentPoolSecurityProfile_STATUS); ok { + err := augmentedProfile.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +type augmentConversionForAgentPoolSecurityProfile_STATUS interface { + AssignPropertiesFrom(src *storage.AgentPoolSecurityProfile_STATUS) error + AssignPropertiesTo(dst *storage.AgentPoolSecurityProfile_STATUS) error +} diff --git a/v2/api/containerservice/v1api20231001/storage/compat/agent_pool_security_profile_status_types_gen_test.go b/v2/api/containerservice/v1api20231001/storage/compat/agent_pool_security_profile_status_types_gen_test.go new file mode 100644 index 00000000000..dfaa33ad5b7 --- /dev/null +++ b/v2/api/containerservice/v1api20231001/storage/compat/agent_pool_security_profile_status_types_gen_test.go @@ -0,0 +1,124 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package compat + +import ( + "encoding/json" + storage "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20240901/storage" + "github.com/google/go-cmp/cmp" + "github.com/google/go-cmp/cmp/cmpopts" + "github.com/kr/pretty" + "github.com/kylelemons/godebug/diff" + "github.com/leanovate/gopter" + "github.com/leanovate/gopter/gen" + "github.com/leanovate/gopter/prop" + "os" + "reflect" + "testing" +) + +func Test_AgentPoolSecurityProfile_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from AgentPoolSecurityProfile_STATUS to AgentPoolSecurityProfile_STATUS via AssignProperties_To_AgentPoolSecurityProfile_STATUS & AssignProperties_From_AgentPoolSecurityProfile_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForAgentPoolSecurityProfile_STATUS, AgentPoolSecurityProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForAgentPoolSecurityProfile_STATUS tests if a specific instance of AgentPoolSecurityProfile_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForAgentPoolSecurityProfile_STATUS(subject AgentPoolSecurityProfile_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.AgentPoolSecurityProfile_STATUS + err := copied.AssignProperties_To_AgentPoolSecurityProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual AgentPoolSecurityProfile_STATUS + err = actual.AssignProperties_From_AgentPoolSecurityProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_AgentPoolSecurityProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of AgentPoolSecurityProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAgentPoolSecurityProfile_STATUS, AgentPoolSecurityProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAgentPoolSecurityProfile_STATUS runs a test to see if a specific instance of AgentPoolSecurityProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForAgentPoolSecurityProfile_STATUS(subject AgentPoolSecurityProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AgentPoolSecurityProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of AgentPoolSecurityProfile_STATUS instances for property testing - lazily instantiated by +// AgentPoolSecurityProfile_STATUSGenerator() +var agentPoolSecurityProfile_STATUSGenerator gopter.Gen + +// AgentPoolSecurityProfile_STATUSGenerator returns a generator of AgentPoolSecurityProfile_STATUS instances for property testing. +func AgentPoolSecurityProfile_STATUSGenerator() gopter.Gen { + if agentPoolSecurityProfile_STATUSGenerator != nil { + return agentPoolSecurityProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAgentPoolSecurityProfile_STATUS(generators) + agentPoolSecurityProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(AgentPoolSecurityProfile_STATUS{}), generators) + + return agentPoolSecurityProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForAgentPoolSecurityProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAgentPoolSecurityProfile_STATUS(gens map[string]gopter.Gen) { + gens["EnableSecureBoot"] = gen.PtrOf(gen.Bool()) + gens["EnableVTPM"] = gen.PtrOf(gen.Bool()) + gens["SshAccess"] = gen.PtrOf(gen.AlphaString()) +} diff --git a/v2/api/containerservice/v1api20231001/storage/compat/agent_pool_security_profile_types_gen.go b/v2/api/containerservice/v1api20231001/storage/compat/agent_pool_security_profile_types_gen.go new file mode 100644 index 00000000000..e6ba1580c8c --- /dev/null +++ b/v2/api/containerservice/v1api20231001/storage/compat/agent_pool_security_profile_types_gen.go @@ -0,0 +1,125 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package compat + +import ( + storage "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20240901/storage" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime" + "github.com/pkg/errors" +) + +// Storage version of v1api20231102preview.AgentPoolSecurityProfile +type AgentPoolSecurityProfile struct { + EnableSecureBoot *bool `json:"enableSecureBoot,omitempty"` + EnableVTPM *bool `json:"enableVTPM,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + SshAccess *string `json:"sshAccess,omitempty"` +} + +// AssignProperties_From_AgentPoolSecurityProfile populates our AgentPoolSecurityProfile from the provided source AgentPoolSecurityProfile +func (profile *AgentPoolSecurityProfile) AssignProperties_From_AgentPoolSecurityProfile(source *storage.AgentPoolSecurityProfile) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // EnableSecureBoot + if source.EnableSecureBoot != nil { + enableSecureBoot := *source.EnableSecureBoot + profile.EnableSecureBoot = &enableSecureBoot + } else { + profile.EnableSecureBoot = nil + } + + // EnableVTPM + if source.EnableVTPM != nil { + enableVTPM := *source.EnableVTPM + profile.EnableVTPM = &enableVTPM + } else { + profile.EnableVTPM = nil + } + + // SshAccess + if propertyBag.Contains("SshAccess") { + var sshAccess string + err := propertyBag.Pull("SshAccess", &sshAccess) + if err != nil { + return errors.Wrap(err, "pulling 'SshAccess' from propertyBag") + } + + profile.SshAccess = &sshAccess + } else { + profile.SshAccess = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + profile.PropertyBag = propertyBag + } else { + profile.PropertyBag = nil + } + + // Invoke the augmentConversionForAgentPoolSecurityProfile interface (if implemented) to customize the conversion + var profileAsAny any = profile + if augmentedProfile, ok := profileAsAny.(augmentConversionForAgentPoolSecurityProfile); ok { + err := augmentedProfile.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_AgentPoolSecurityProfile populates the provided destination AgentPoolSecurityProfile from our AgentPoolSecurityProfile +func (profile *AgentPoolSecurityProfile) AssignProperties_To_AgentPoolSecurityProfile(destination *storage.AgentPoolSecurityProfile) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) + + // EnableSecureBoot + if profile.EnableSecureBoot != nil { + enableSecureBoot := *profile.EnableSecureBoot + destination.EnableSecureBoot = &enableSecureBoot + } else { + destination.EnableSecureBoot = nil + } + + // EnableVTPM + if profile.EnableVTPM != nil { + enableVTPM := *profile.EnableVTPM + destination.EnableVTPM = &enableVTPM + } else { + destination.EnableVTPM = nil + } + + // SshAccess + if profile.SshAccess != nil { + propertyBag.Add("SshAccess", *profile.SshAccess) + } else { + propertyBag.Remove("SshAccess") + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForAgentPoolSecurityProfile interface (if implemented) to customize the conversion + var profileAsAny any = profile + if augmentedProfile, ok := profileAsAny.(augmentConversionForAgentPoolSecurityProfile); ok { + err := augmentedProfile.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +type augmentConversionForAgentPoolSecurityProfile interface { + AssignPropertiesFrom(src *storage.AgentPoolSecurityProfile) error + AssignPropertiesTo(dst *storage.AgentPoolSecurityProfile) error +} diff --git a/v2/api/containerservice/v1api20231001/storage/compat/agent_pool_security_profile_types_gen_test.go b/v2/api/containerservice/v1api20231001/storage/compat/agent_pool_security_profile_types_gen_test.go new file mode 100644 index 00000000000..7ec2d8440d5 --- /dev/null +++ b/v2/api/containerservice/v1api20231001/storage/compat/agent_pool_security_profile_types_gen_test.go @@ -0,0 +1,124 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package compat + +import ( + "encoding/json" + storage "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20240901/storage" + "github.com/google/go-cmp/cmp" + "github.com/google/go-cmp/cmp/cmpopts" + "github.com/kr/pretty" + "github.com/kylelemons/godebug/diff" + "github.com/leanovate/gopter" + "github.com/leanovate/gopter/gen" + "github.com/leanovate/gopter/prop" + "os" + "reflect" + "testing" +) + +func Test_AgentPoolSecurityProfile_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from AgentPoolSecurityProfile to AgentPoolSecurityProfile via AssignProperties_To_AgentPoolSecurityProfile & AssignProperties_From_AgentPoolSecurityProfile returns original", + prop.ForAll(RunPropertyAssignmentTestForAgentPoolSecurityProfile, AgentPoolSecurityProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForAgentPoolSecurityProfile tests if a specific instance of AgentPoolSecurityProfile can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForAgentPoolSecurityProfile(subject AgentPoolSecurityProfile) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.AgentPoolSecurityProfile + err := copied.AssignProperties_To_AgentPoolSecurityProfile(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual AgentPoolSecurityProfile + err = actual.AssignProperties_From_AgentPoolSecurityProfile(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_AgentPoolSecurityProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of AgentPoolSecurityProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAgentPoolSecurityProfile, AgentPoolSecurityProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAgentPoolSecurityProfile runs a test to see if a specific instance of AgentPoolSecurityProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForAgentPoolSecurityProfile(subject AgentPoolSecurityProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AgentPoolSecurityProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of AgentPoolSecurityProfile instances for property testing - lazily instantiated by +// AgentPoolSecurityProfileGenerator() +var agentPoolSecurityProfileGenerator gopter.Gen + +// AgentPoolSecurityProfileGenerator returns a generator of AgentPoolSecurityProfile instances for property testing. +func AgentPoolSecurityProfileGenerator() gopter.Gen { + if agentPoolSecurityProfileGenerator != nil { + return agentPoolSecurityProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAgentPoolSecurityProfile(generators) + agentPoolSecurityProfileGenerator = gen.Struct(reflect.TypeOf(AgentPoolSecurityProfile{}), generators) + + return agentPoolSecurityProfileGenerator +} + +// AddIndependentPropertyGeneratorsForAgentPoolSecurityProfile is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAgentPoolSecurityProfile(gens map[string]gopter.Gen) { + gens["EnableSecureBoot"] = gen.PtrOf(gen.Bool()) + gens["EnableVTPM"] = gen.PtrOf(gen.Bool()) + gens["SshAccess"] = gen.PtrOf(gen.AlphaString()) +} diff --git a/v2/api/containerservice/v1api20231001/storage/compat/structure.txt b/v2/api/containerservice/v1api20231001/storage/compat/structure.txt new file mode 100644 index 00000000000..d4111ed0fe4 --- /dev/null +++ b/v2/api/containerservice/v1api20231001/storage/compat/structure.txt @@ -0,0 +1,29 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20231001/storage/compat +-------------------------------------------------------------------------------------------- +AdvancedNetworking: Object (2 properties) +├── Observability: *Object (2 properties) +│ ├── Enabled: *bool +│ └── PropertyBag: genruntime.PropertyBag +└── PropertyBag: genruntime.PropertyBag +AdvancedNetworking_STATUS: Object (2 properties) +├── Observability: *Object (2 properties) +│ ├── Enabled: *bool +│ └── PropertyBag: genruntime.PropertyBag +└── PropertyBag: genruntime.PropertyBag +AgentPoolSecurityProfile: Object (4 properties) +├── EnableSecureBoot: *bool +├── EnableVTPM: *bool +├── PropertyBag: genruntime.PropertyBag +└── SshAccess: *string +AgentPoolSecurityProfile_STATUS: Object (4 properties) +├── EnableSecureBoot: *bool +├── EnableVTPM: *bool +├── PropertyBag: genruntime.PropertyBag +└── SshAccess: *string +augmentConversionForAdvancedNetworking: Interface +augmentConversionForAdvancedNetworkingObservability: Interface +augmentConversionForAdvancedNetworkingObservability_STATUS: Interface +augmentConversionForAdvancedNetworking_STATUS: Interface +augmentConversionForAgentPoolSecurityProfile: Interface +augmentConversionForAgentPoolSecurityProfile_STATUS: Interface diff --git a/v2/api/containerservice/v1api20231001/storage/compat/subpackage_info_gen.go b/v2/api/containerservice/v1api20231001/storage/compat/subpackage_info_gen.go new file mode 100644 index 00000000000..25f98c3d6eb --- /dev/null +++ b/v2/api/containerservice/v1api20231001/storage/compat/subpackage_info_gen.go @@ -0,0 +1,9 @@ +/* +Copyright (c) Microsoft Corporation. +Licensed under the MIT license. +*/ + +// Code generated by azure-service-operator-codegen. DO NOT EDIT. + +// +kubebuilder:object:generate=true +package compat diff --git a/v2/api/containerservice/v1api20231001/storage/compat/zz_generated.deepcopy.go b/v2/api/containerservice/v1api20231001/storage/compat/zz_generated.deepcopy.go new file mode 100644 index 00000000000..daf05a8a781 --- /dev/null +++ b/v2/api/containerservice/v1api20231001/storage/compat/zz_generated.deepcopy.go @@ -0,0 +1,196 @@ +//go:build !ignore_autogenerated + +/* +Copyright (c) Microsoft Corporation. +Licensed under the MIT license. +*/ + +// Code generated by controller-gen. DO NOT EDIT. + +package compat + +import ( + "github.com/Azure/azure-service-operator/v2/pkg/genruntime" +) + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AdvancedNetworking) DeepCopyInto(out *AdvancedNetworking) { + *out = *in + if in.Observability != nil { + in, out := &in.Observability, &out.Observability + *out = new(AdvancedNetworkingObservability) + (*in).DeepCopyInto(*out) + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AdvancedNetworking. +func (in *AdvancedNetworking) DeepCopy() *AdvancedNetworking { + if in == nil { + return nil + } + out := new(AdvancedNetworking) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AdvancedNetworkingObservability) DeepCopyInto(out *AdvancedNetworkingObservability) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AdvancedNetworkingObservability. +func (in *AdvancedNetworkingObservability) DeepCopy() *AdvancedNetworkingObservability { + if in == nil { + return nil + } + out := new(AdvancedNetworkingObservability) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AdvancedNetworkingObservability_STATUS) DeepCopyInto(out *AdvancedNetworkingObservability_STATUS) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AdvancedNetworkingObservability_STATUS. +func (in *AdvancedNetworkingObservability_STATUS) DeepCopy() *AdvancedNetworkingObservability_STATUS { + if in == nil { + return nil + } + out := new(AdvancedNetworkingObservability_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AdvancedNetworking_STATUS) DeepCopyInto(out *AdvancedNetworking_STATUS) { + *out = *in + if in.Observability != nil { + in, out := &in.Observability, &out.Observability + *out = new(AdvancedNetworkingObservability_STATUS) + (*in).DeepCopyInto(*out) + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AdvancedNetworking_STATUS. +func (in *AdvancedNetworking_STATUS) DeepCopy() *AdvancedNetworking_STATUS { + if in == nil { + return nil + } + out := new(AdvancedNetworking_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AgentPoolSecurityProfile) DeepCopyInto(out *AgentPoolSecurityProfile) { + *out = *in + if in.EnableSecureBoot != nil { + in, out := &in.EnableSecureBoot, &out.EnableSecureBoot + *out = new(bool) + **out = **in + } + if in.EnableVTPM != nil { + in, out := &in.EnableVTPM, &out.EnableVTPM + *out = new(bool) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.SshAccess != nil { + in, out := &in.SshAccess, &out.SshAccess + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AgentPoolSecurityProfile. +func (in *AgentPoolSecurityProfile) DeepCopy() *AgentPoolSecurityProfile { + if in == nil { + return nil + } + out := new(AgentPoolSecurityProfile) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AgentPoolSecurityProfile_STATUS) DeepCopyInto(out *AgentPoolSecurityProfile_STATUS) { + *out = *in + if in.EnableSecureBoot != nil { + in, out := &in.EnableSecureBoot, &out.EnableSecureBoot + *out = new(bool) + **out = **in + } + if in.EnableVTPM != nil { + in, out := &in.EnableVTPM, &out.EnableVTPM + *out = new(bool) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.SshAccess != nil { + in, out := &in.SshAccess, &out.SshAccess + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AgentPoolSecurityProfile_STATUS. +func (in *AgentPoolSecurityProfile_STATUS) DeepCopy() *AgentPoolSecurityProfile_STATUS { + if in == nil { + return nil + } + out := new(AgentPoolSecurityProfile_STATUS) + in.DeepCopyInto(out) + return out +} diff --git a/v2/api/containerservice/v1api20231001/storage/managed_cluster_types_gen.go b/v2/api/containerservice/v1api20231001/storage/managed_cluster_types_gen.go index a7d6c6294f7..a3d5d9cece0 100644 --- a/v2/api/containerservice/v1api20231001/storage/managed_cluster_types_gen.go +++ b/v2/api/containerservice/v1api20231001/storage/managed_cluster_types_gen.go @@ -5,6 +5,9 @@ package storage import ( "context" + "fmt" + compat "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20231001/storage/compat" + storage "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20240901/storage" "github.com/Azure/azure-service-operator/v2/internal/genericarmclient" "github.com/Azure/azure-service-operator/v2/pkg/genruntime" "github.com/Azure/azure-service-operator/v2/pkg/genruntime/conditions" @@ -14,14 +17,11 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime/schema" "sigs.k8s.io/controller-runtime/pkg/client" + "sigs.k8s.io/controller-runtime/pkg/conversion" ) -// +kubebuilder:rbac:groups=containerservice.azure.com,resources=managedclusters,verbs=get;list;watch;create;update;patch;delete -// +kubebuilder:rbac:groups=containerservice.azure.com,resources={managedclusters/status,managedclusters/finalizers},verbs=get;update;patch - // +kubebuilder:object:root=true // +kubebuilder:subresource:status -// +kubebuilder:storageversion // +kubebuilder:printcolumn:name="Ready",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="Severity",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].severity" // +kubebuilder:printcolumn:name="Reason",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].reason" @@ -49,6 +49,28 @@ func (cluster *ManagedCluster) SetConditions(conditions conditions.Conditions) { cluster.Status.Conditions = conditions } +var _ conversion.Convertible = &ManagedCluster{} + +// ConvertFrom populates our ManagedCluster from the provided hub ManagedCluster +func (cluster *ManagedCluster) ConvertFrom(hub conversion.Hub) error { + source, ok := hub.(*storage.ManagedCluster) + if !ok { + return fmt.Errorf("expected containerservice/v1api20240901/storage/ManagedCluster but received %T instead", hub) + } + + return cluster.AssignProperties_From_ManagedCluster(source) +} + +// ConvertTo populates the provided hub ManagedCluster from our ManagedCluster +func (cluster *ManagedCluster) ConvertTo(hub conversion.Hub) error { + destination, ok := hub.(*storage.ManagedCluster) + if !ok { + return fmt.Errorf("expected containerservice/v1api20240901/storage/ManagedCluster but received %T instead", hub) + } + + return cluster.AssignProperties_To_ManagedCluster(destination) +} + var _ genruntime.KubernetesConfigExporter = &ManagedCluster{} // ExportKubernetesConfigMaps defines a resource which can create ConfigMaps in Kubernetes. @@ -146,8 +168,75 @@ func (cluster *ManagedCluster) SetStatus(status genruntime.ConvertibleStatus) er return nil } -// Hub marks that this ManagedCluster is the hub type for conversion -func (cluster *ManagedCluster) Hub() {} +// AssignProperties_From_ManagedCluster populates our ManagedCluster from the provided source ManagedCluster +func (cluster *ManagedCluster) AssignProperties_From_ManagedCluster(source *storage.ManagedCluster) error { + + // ObjectMeta + cluster.ObjectMeta = *source.ObjectMeta.DeepCopy() + + // Spec + var spec ManagedCluster_Spec + err := spec.AssignProperties_From_ManagedCluster_Spec(&source.Spec) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedCluster_Spec() to populate field Spec") + } + cluster.Spec = spec + + // Status + var status ManagedCluster_STATUS + err = status.AssignProperties_From_ManagedCluster_STATUS(&source.Status) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedCluster_STATUS() to populate field Status") + } + cluster.Status = status + + // Invoke the augmentConversionForManagedCluster interface (if implemented) to customize the conversion + var clusterAsAny any = cluster + if augmentedCluster, ok := clusterAsAny.(augmentConversionForManagedCluster); ok { + err := augmentedCluster.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_ManagedCluster populates the provided destination ManagedCluster from our ManagedCluster +func (cluster *ManagedCluster) AssignProperties_To_ManagedCluster(destination *storage.ManagedCluster) error { + + // ObjectMeta + destination.ObjectMeta = *cluster.ObjectMeta.DeepCopy() + + // Spec + var spec storage.ManagedCluster_Spec + err := cluster.Spec.AssignProperties_To_ManagedCluster_Spec(&spec) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedCluster_Spec() to populate field Spec") + } + destination.Spec = spec + + // Status + var status storage.ManagedCluster_STATUS + err = cluster.Status.AssignProperties_To_ManagedCluster_STATUS(&status) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedCluster_STATUS() to populate field Status") + } + destination.Status = status + + // Invoke the augmentConversionForManagedCluster interface (if implemented) to customize the conversion + var clusterAsAny any = cluster + if augmentedCluster, ok := clusterAsAny.(augmentConversionForManagedCluster); ok { + err := augmentedCluster.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} // OriginalGVK returns a GroupValueKind for the original API version used to create the resource func (cluster *ManagedCluster) OriginalGVK() *schema.GroupVersionKind { @@ -175,6 +264,11 @@ type APIVersion string const APIVersion_Value = APIVersion("2023-10-01") +type augmentConversionForManagedCluster interface { + AssignPropertiesFrom(src *storage.ManagedCluster) error + AssignPropertiesTo(dst *storage.ManagedCluster) error +} + // Storage version of v1api20231001.ManagedCluster_Spec type ManagedCluster_Spec struct { AadProfile *ManagedClusterAADProfile `json:"aadProfile,omitempty"` @@ -235,1247 +329,15101 @@ var _ genruntime.ConvertibleSpec = &ManagedCluster_Spec{} // ConvertSpecFrom populates our ManagedCluster_Spec from the provided source func (cluster *ManagedCluster_Spec) ConvertSpecFrom(source genruntime.ConvertibleSpec) error { - if source == cluster { - return errors.New("attempted conversion between unrelated implementations of github.com/Azure/azure-service-operator/v2/pkg/genruntime/ConvertibleSpec") + src, ok := source.(*storage.ManagedCluster_Spec) + if ok { + // Populate our instance from source + return cluster.AssignProperties_From_ManagedCluster_Spec(src) + } + + // Convert to an intermediate form + src = &storage.ManagedCluster_Spec{} + err := src.ConvertSpecFrom(source) + if err != nil { + return errors.Wrap(err, "initial step of conversion in ConvertSpecFrom()") } - return source.ConvertSpecTo(cluster) + // Update our instance from src + err = cluster.AssignProperties_From_ManagedCluster_Spec(src) + if err != nil { + return errors.Wrap(err, "final step of conversion in ConvertSpecFrom()") + } + + return nil } // ConvertSpecTo populates the provided destination from our ManagedCluster_Spec func (cluster *ManagedCluster_Spec) ConvertSpecTo(destination genruntime.ConvertibleSpec) error { - if destination == cluster { - return errors.New("attempted conversion between unrelated implementations of github.com/Azure/azure-service-operator/v2/pkg/genruntime/ConvertibleSpec") + dst, ok := destination.(*storage.ManagedCluster_Spec) + if ok { + // Populate destination from our instance + return cluster.AssignProperties_To_ManagedCluster_Spec(dst) } - return destination.ConvertSpecFrom(cluster) -} + // Convert to an intermediate form + dst = &storage.ManagedCluster_Spec{} + err := cluster.AssignProperties_To_ManagedCluster_Spec(dst) + if err != nil { + return errors.Wrap(err, "initial step of conversion in ConvertSpecTo()") + } -// Storage version of v1api20231001.ManagedCluster_STATUS -// Managed cluster. -type ManagedCluster_STATUS struct { - AadProfile *ManagedClusterAADProfile_STATUS `json:"aadProfile,omitempty"` - AddonProfiles map[string]ManagedClusterAddonProfile_STATUS `json:"addonProfiles,omitempty"` - AgentPoolProfiles []ManagedClusterAgentPoolProfile_STATUS `json:"agentPoolProfiles,omitempty"` - ApiServerAccessProfile *ManagedClusterAPIServerAccessProfile_STATUS `json:"apiServerAccessProfile,omitempty"` - AutoScalerProfile *ManagedClusterProperties_AutoScalerProfile_STATUS `json:"autoScalerProfile,omitempty"` - AutoUpgradeProfile *ManagedClusterAutoUpgradeProfile_STATUS `json:"autoUpgradeProfile,omitempty"` - AzureMonitorProfile *ManagedClusterAzureMonitorProfile_STATUS `json:"azureMonitorProfile,omitempty"` - AzurePortalFQDN *string `json:"azurePortalFQDN,omitempty"` - Conditions []conditions.Condition `json:"conditions,omitempty"` - CurrentKubernetesVersion *string `json:"currentKubernetesVersion,omitempty"` - DisableLocalAccounts *bool `json:"disableLocalAccounts,omitempty"` - DiskEncryptionSetID *string `json:"diskEncryptionSetID,omitempty"` - DnsPrefix *string `json:"dnsPrefix,omitempty"` - EnablePodSecurityPolicy *bool `json:"enablePodSecurityPolicy,omitempty"` - EnableRBAC *bool `json:"enableRBAC,omitempty"` - ExtendedLocation *ExtendedLocation_STATUS `json:"extendedLocation,omitempty"` - Fqdn *string `json:"fqdn,omitempty"` - FqdnSubdomain *string `json:"fqdnSubdomain,omitempty"` - HttpProxyConfig *ManagedClusterHTTPProxyConfig_STATUS `json:"httpProxyConfig,omitempty"` - Id *string `json:"id,omitempty"` - Identity *ManagedClusterIdentity_STATUS `json:"identity,omitempty"` - IdentityProfile map[string]UserAssignedIdentity_STATUS `json:"identityProfile,omitempty"` - KubernetesVersion *string `json:"kubernetesVersion,omitempty"` - LinuxProfile *ContainerServiceLinuxProfile_STATUS `json:"linuxProfile,omitempty"` - Location *string `json:"location,omitempty"` - MaxAgentPools *int `json:"maxAgentPools,omitempty"` - Name *string `json:"name,omitempty"` - NetworkProfile *ContainerServiceNetworkProfile_STATUS `json:"networkProfile,omitempty"` - NodeResourceGroup *string `json:"nodeResourceGroup,omitempty"` - OidcIssuerProfile *ManagedClusterOIDCIssuerProfile_STATUS `json:"oidcIssuerProfile,omitempty"` - PodIdentityProfile *ManagedClusterPodIdentityProfile_STATUS `json:"podIdentityProfile,omitempty"` - PowerState *PowerState_STATUS `json:"powerState,omitempty"` - PrivateFQDN *string `json:"privateFQDN,omitempty"` - PrivateLinkResources []PrivateLinkResource_STATUS `json:"privateLinkResources,omitempty"` - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` - ProvisioningState *string `json:"provisioningState,omitempty"` - PublicNetworkAccess *string `json:"publicNetworkAccess,omitempty"` - ResourceUID *string `json:"resourceUID,omitempty"` - SecurityProfile *ManagedClusterSecurityProfile_STATUS `json:"securityProfile,omitempty"` - ServiceMeshProfile *ServiceMeshProfile_STATUS `json:"serviceMeshProfile,omitempty"` - ServicePrincipalProfile *ManagedClusterServicePrincipalProfile_STATUS `json:"servicePrincipalProfile,omitempty"` - Sku *ManagedClusterSKU_STATUS `json:"sku,omitempty"` - StorageProfile *ManagedClusterStorageProfile_STATUS `json:"storageProfile,omitempty"` - SupportPlan *string `json:"supportPlan,omitempty"` - SystemData *SystemData_STATUS `json:"systemData,omitempty"` - Tags map[string]string `json:"tags,omitempty"` - Type *string `json:"type,omitempty"` - UpgradeSettings *ClusterUpgradeSettings_STATUS `json:"upgradeSettings,omitempty"` - WindowsProfile *ManagedClusterWindowsProfile_STATUS `json:"windowsProfile,omitempty"` - WorkloadAutoScalerProfile *ManagedClusterWorkloadAutoScalerProfile_STATUS `json:"workloadAutoScalerProfile,omitempty"` + // Update dst from our instance + err = dst.ConvertSpecTo(destination) + if err != nil { + return errors.Wrap(err, "final step of conversion in ConvertSpecTo()") + } + + return nil } -var _ genruntime.ConvertibleStatus = &ManagedCluster_STATUS{} +// AssignProperties_From_ManagedCluster_Spec populates our ManagedCluster_Spec from the provided source ManagedCluster_Spec +func (cluster *ManagedCluster_Spec) AssignProperties_From_ManagedCluster_Spec(source *storage.ManagedCluster_Spec) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) -// ConvertStatusFrom populates our ManagedCluster_STATUS from the provided source -func (cluster *ManagedCluster_STATUS) ConvertStatusFrom(source genruntime.ConvertibleStatus) error { - if source == cluster { - return errors.New("attempted conversion between unrelated implementations of github.com/Azure/azure-service-operator/v2/pkg/genruntime/ConvertibleStatus") + // AadProfile + if source.AadProfile != nil { + var aadProfile ManagedClusterAADProfile + err := aadProfile.AssignProperties_From_ManagedClusterAADProfile(source.AadProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterAADProfile() to populate field AadProfile") + } + cluster.AadProfile = &aadProfile + } else { + cluster.AadProfile = nil } - return source.ConvertStatusTo(cluster) -} + // AddonProfiles + if source.AddonProfiles != nil { + addonProfileMap := make(map[string]ManagedClusterAddonProfile, len(source.AddonProfiles)) + for addonProfileKey, addonProfileValue := range source.AddonProfiles { + // Shadow the loop variable to avoid aliasing + addonProfileValue := addonProfileValue + var addonProfile ManagedClusterAddonProfile + err := addonProfile.AssignProperties_From_ManagedClusterAddonProfile(&addonProfileValue) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterAddonProfile() to populate field AddonProfiles") + } + addonProfileMap[addonProfileKey] = addonProfile + } + cluster.AddonProfiles = addonProfileMap + } else { + cluster.AddonProfiles = nil + } -// ConvertStatusTo populates the provided destination from our ManagedCluster_STATUS -func (cluster *ManagedCluster_STATUS) ConvertStatusTo(destination genruntime.ConvertibleStatus) error { - if destination == cluster { - return errors.New("attempted conversion between unrelated implementations of github.com/Azure/azure-service-operator/v2/pkg/genruntime/ConvertibleStatus") + // AgentPoolProfiles + if source.AgentPoolProfiles != nil { + agentPoolProfileList := make([]ManagedClusterAgentPoolProfile, len(source.AgentPoolProfiles)) + for agentPoolProfileIndex, agentPoolProfileItem := range source.AgentPoolProfiles { + // Shadow the loop variable to avoid aliasing + agentPoolProfileItem := agentPoolProfileItem + var agentPoolProfile ManagedClusterAgentPoolProfile + err := agentPoolProfile.AssignProperties_From_ManagedClusterAgentPoolProfile(&agentPoolProfileItem) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterAgentPoolProfile() to populate field AgentPoolProfiles") + } + agentPoolProfileList[agentPoolProfileIndex] = agentPoolProfile + } + cluster.AgentPoolProfiles = agentPoolProfileList + } else { + cluster.AgentPoolProfiles = nil } - return destination.ConvertStatusFrom(cluster) -} + // ApiServerAccessProfile + if source.ApiServerAccessProfile != nil { + var apiServerAccessProfile ManagedClusterAPIServerAccessProfile + err := apiServerAccessProfile.AssignProperties_From_ManagedClusterAPIServerAccessProfile(source.ApiServerAccessProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterAPIServerAccessProfile() to populate field ApiServerAccessProfile") + } + cluster.ApiServerAccessProfile = &apiServerAccessProfile + } else { + cluster.ApiServerAccessProfile = nil + } -// Storage version of v1api20231001.ClusterUpgradeSettings -// Settings for upgrading a cluster. -type ClusterUpgradeSettings struct { - OverrideSettings *UpgradeOverrideSettings `json:"overrideSettings,omitempty"` - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` -} + // AutoScalerProfile + if source.AutoScalerProfile != nil { + var autoScalerProfile ManagedClusterProperties_AutoScalerProfile + err := autoScalerProfile.AssignProperties_From_ManagedClusterProperties_AutoScalerProfile(source.AutoScalerProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterProperties_AutoScalerProfile() to populate field AutoScalerProfile") + } + cluster.AutoScalerProfile = &autoScalerProfile + } else { + cluster.AutoScalerProfile = nil + } -// Storage version of v1api20231001.ClusterUpgradeSettings_STATUS -// Settings for upgrading a cluster. -type ClusterUpgradeSettings_STATUS struct { - OverrideSettings *UpgradeOverrideSettings_STATUS `json:"overrideSettings,omitempty"` - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` -} + // AutoUpgradeProfile + if source.AutoUpgradeProfile != nil { + var autoUpgradeProfile ManagedClusterAutoUpgradeProfile + err := autoUpgradeProfile.AssignProperties_From_ManagedClusterAutoUpgradeProfile(source.AutoUpgradeProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterAutoUpgradeProfile() to populate field AutoUpgradeProfile") + } + cluster.AutoUpgradeProfile = &autoUpgradeProfile + } else { + cluster.AutoUpgradeProfile = nil + } -// Storage version of v1api20231001.ContainerServiceLinuxProfile -// Profile for Linux VMs in the container service cluster. -type ContainerServiceLinuxProfile struct { - AdminUsername *string `json:"adminUsername,omitempty"` - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` - Ssh *ContainerServiceSshConfiguration `json:"ssh,omitempty"` -} + // AzureMonitorProfile + if source.AzureMonitorProfile != nil { + var azureMonitorProfile ManagedClusterAzureMonitorProfile + err := azureMonitorProfile.AssignProperties_From_ManagedClusterAzureMonitorProfile(source.AzureMonitorProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterAzureMonitorProfile() to populate field AzureMonitorProfile") + } + cluster.AzureMonitorProfile = &azureMonitorProfile + } else { + cluster.AzureMonitorProfile = nil + } -// Storage version of v1api20231001.ContainerServiceLinuxProfile_STATUS -// Profile for Linux VMs in the container service cluster. -type ContainerServiceLinuxProfile_STATUS struct { - AdminUsername *string `json:"adminUsername,omitempty"` - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` - Ssh *ContainerServiceSshConfiguration_STATUS `json:"ssh,omitempty"` -} + // AzureName + cluster.AzureName = source.AzureName -// Storage version of v1api20231001.ContainerServiceNetworkProfile -// Profile of network configuration. -type ContainerServiceNetworkProfile struct { - DnsServiceIP *string `json:"dnsServiceIP,omitempty"` - IpFamilies []string `json:"ipFamilies,omitempty"` - LoadBalancerProfile *ManagedClusterLoadBalancerProfile `json:"loadBalancerProfile,omitempty"` - LoadBalancerSku *string `json:"loadBalancerSku,omitempty"` - NatGatewayProfile *ManagedClusterNATGatewayProfile `json:"natGatewayProfile,omitempty"` - NetworkDataplane *string `json:"networkDataplane,omitempty"` - NetworkMode *string `json:"networkMode,omitempty"` - NetworkPlugin *string `json:"networkPlugin,omitempty"` - NetworkPluginMode *string `json:"networkPluginMode,omitempty"` - NetworkPolicy *string `json:"networkPolicy,omitempty"` - OutboundType *string `json:"outboundType,omitempty"` - PodCidr *string `json:"podCidr,omitempty"` - PodCidrs []string `json:"podCidrs,omitempty"` - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` - ServiceCidr *string `json:"serviceCidr,omitempty"` - ServiceCidrs []string `json:"serviceCidrs,omitempty"` -} + // DisableLocalAccounts + if source.DisableLocalAccounts != nil { + disableLocalAccount := *source.DisableLocalAccounts + cluster.DisableLocalAccounts = &disableLocalAccount + } else { + cluster.DisableLocalAccounts = nil + } -// Storage version of v1api20231001.ContainerServiceNetworkProfile_STATUS -// Profile of network configuration. -type ContainerServiceNetworkProfile_STATUS struct { - DnsServiceIP *string `json:"dnsServiceIP,omitempty"` - IpFamilies []string `json:"ipFamilies,omitempty"` - LoadBalancerProfile *ManagedClusterLoadBalancerProfile_STATUS `json:"loadBalancerProfile,omitempty"` - LoadBalancerSku *string `json:"loadBalancerSku,omitempty"` - NatGatewayProfile *ManagedClusterNATGatewayProfile_STATUS `json:"natGatewayProfile,omitempty"` - NetworkDataplane *string `json:"networkDataplane,omitempty"` - NetworkMode *string `json:"networkMode,omitempty"` - NetworkPlugin *string `json:"networkPlugin,omitempty"` - NetworkPluginMode *string `json:"networkPluginMode,omitempty"` - NetworkPolicy *string `json:"networkPolicy,omitempty"` - OutboundType *string `json:"outboundType,omitempty"` - PodCidr *string `json:"podCidr,omitempty"` - PodCidrs []string `json:"podCidrs,omitempty"` - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` - ServiceCidr *string `json:"serviceCidr,omitempty"` - ServiceCidrs []string `json:"serviceCidrs,omitempty"` -} + // DiskEncryptionSetReference + if source.DiskEncryptionSetReference != nil { + diskEncryptionSetReference := source.DiskEncryptionSetReference.Copy() + cluster.DiskEncryptionSetReference = &diskEncryptionSetReference + } else { + cluster.DiskEncryptionSetReference = nil + } -// Storage version of v1api20231001.ExtendedLocation -// The complex type of the extended location. -type ExtendedLocation struct { - Name *string `json:"name,omitempty"` - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` - Type *string `json:"type,omitempty"` -} + // DnsPrefix + cluster.DnsPrefix = genruntime.ClonePointerToString(source.DnsPrefix) -// Storage version of v1api20231001.ExtendedLocation_STATUS -// The complex type of the extended location. -type ExtendedLocation_STATUS struct { - Name *string `json:"name,omitempty"` - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` - Type *string `json:"type,omitempty"` -} + // EnablePodSecurityPolicy + if source.EnablePodSecurityPolicy != nil { + enablePodSecurityPolicy := *source.EnablePodSecurityPolicy + cluster.EnablePodSecurityPolicy = &enablePodSecurityPolicy + } else { + cluster.EnablePodSecurityPolicy = nil + } -// Storage version of v1api20231001.ManagedClusterAADProfile -// For more details see [managed AAD on AKS](https://docs.microsoft.com/azure/aks/managed-aad). -type ManagedClusterAADProfile struct { - AdminGroupObjectIDs []string `json:"adminGroupObjectIDs,omitempty"` - ClientAppID *string `json:"clientAppID,omitempty"` - EnableAzureRBAC *bool `json:"enableAzureRBAC,omitempty"` - Managed *bool `json:"managed,omitempty"` - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` - ServerAppID *string `json:"serverAppID,omitempty"` - ServerAppSecret *string `json:"serverAppSecret,omitempty"` - TenantID *string `json:"tenantID,omitempty"` -} + // EnableRBAC + if source.EnableRBAC != nil { + enableRBAC := *source.EnableRBAC + cluster.EnableRBAC = &enableRBAC + } else { + cluster.EnableRBAC = nil + } -// Storage version of v1api20231001.ManagedClusterAADProfile_STATUS -// For more details see [managed AAD on AKS](https://docs.microsoft.com/azure/aks/managed-aad). -type ManagedClusterAADProfile_STATUS struct { - AdminGroupObjectIDs []string `json:"adminGroupObjectIDs,omitempty"` - ClientAppID *string `json:"clientAppID,omitempty"` - EnableAzureRBAC *bool `json:"enableAzureRBAC,omitempty"` - Managed *bool `json:"managed,omitempty"` - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` - ServerAppID *string `json:"serverAppID,omitempty"` - ServerAppSecret *string `json:"serverAppSecret,omitempty"` - TenantID *string `json:"tenantID,omitempty"` -} + // ExtendedLocation + if source.ExtendedLocation != nil { + var extendedLocation ExtendedLocation + err := extendedLocation.AssignProperties_From_ExtendedLocation(source.ExtendedLocation) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ExtendedLocation() to populate field ExtendedLocation") + } + cluster.ExtendedLocation = &extendedLocation + } else { + cluster.ExtendedLocation = nil + } -// Storage version of v1api20231001.ManagedClusterAddonProfile -// A Kubernetes add-on profile for a managed cluster. -type ManagedClusterAddonProfile struct { - Config map[string]string `json:"config,omitempty"` - Enabled *bool `json:"enabled,omitempty"` - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` -} + // FqdnSubdomain + cluster.FqdnSubdomain = genruntime.ClonePointerToString(source.FqdnSubdomain) -// Storage version of v1api20231001.ManagedClusterAddonProfile_STATUS -// A Kubernetes add-on profile for a managed cluster. -type ManagedClusterAddonProfile_STATUS struct { - Config map[string]string `json:"config,omitempty"` - Enabled *bool `json:"enabled,omitempty"` - Identity *UserAssignedIdentity_STATUS `json:"identity,omitempty"` - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` -} + // HttpProxyConfig + if source.HttpProxyConfig != nil { + var httpProxyConfig ManagedClusterHTTPProxyConfig + err := httpProxyConfig.AssignProperties_From_ManagedClusterHTTPProxyConfig(source.HttpProxyConfig) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterHTTPProxyConfig() to populate field HttpProxyConfig") + } + cluster.HttpProxyConfig = &httpProxyConfig + } else { + cluster.HttpProxyConfig = nil + } -// Storage version of v1api20231001.ManagedClusterAgentPoolProfile -// Profile for the container service agent pool. -type ManagedClusterAgentPoolProfile struct { - AvailabilityZones []string `json:"availabilityZones,omitempty"` + // Identity + if source.Identity != nil { + var identity ManagedClusterIdentity + err := identity.AssignProperties_From_ManagedClusterIdentity(source.Identity) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterIdentity() to populate field Identity") + } + cluster.Identity = &identity + } else { + cluster.Identity = nil + } + + // IdentityProfile + if source.IdentityProfile != nil { + identityProfileMap := make(map[string]UserAssignedIdentity, len(source.IdentityProfile)) + for identityProfileKey, identityProfileValue := range source.IdentityProfile { + // Shadow the loop variable to avoid aliasing + identityProfileValue := identityProfileValue + var identityProfile UserAssignedIdentity + err := identityProfile.AssignProperties_From_UserAssignedIdentity(&identityProfileValue) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_UserAssignedIdentity() to populate field IdentityProfile") + } + identityProfileMap[identityProfileKey] = identityProfile + } + cluster.IdentityProfile = identityProfileMap + } else { + cluster.IdentityProfile = nil + } + + // IngressProfile + if source.IngressProfile != nil { + propertyBag.Add("IngressProfile", *source.IngressProfile) + } else { + propertyBag.Remove("IngressProfile") + } + + // KubernetesVersion + cluster.KubernetesVersion = genruntime.ClonePointerToString(source.KubernetesVersion) + + // LinuxProfile + if source.LinuxProfile != nil { + var linuxProfile ContainerServiceLinuxProfile + err := linuxProfile.AssignProperties_From_ContainerServiceLinuxProfile(source.LinuxProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ContainerServiceLinuxProfile() to populate field LinuxProfile") + } + cluster.LinuxProfile = &linuxProfile + } else { + cluster.LinuxProfile = nil + } + + // Location + cluster.Location = genruntime.ClonePointerToString(source.Location) + + // MetricsProfile + if source.MetricsProfile != nil { + propertyBag.Add("MetricsProfile", *source.MetricsProfile) + } else { + propertyBag.Remove("MetricsProfile") + } + + // NetworkProfile + if source.NetworkProfile != nil { + var networkProfile ContainerServiceNetworkProfile + err := networkProfile.AssignProperties_From_ContainerServiceNetworkProfile(source.NetworkProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ContainerServiceNetworkProfile() to populate field NetworkProfile") + } + cluster.NetworkProfile = &networkProfile + } else { + cluster.NetworkProfile = nil + } + + // NodeResourceGroup + cluster.NodeResourceGroup = genruntime.ClonePointerToString(source.NodeResourceGroup) + + // NodeResourceGroupProfile + if source.NodeResourceGroupProfile != nil { + propertyBag.Add("NodeResourceGroupProfile", *source.NodeResourceGroupProfile) + } else { + propertyBag.Remove("NodeResourceGroupProfile") + } + + // OidcIssuerProfile + if source.OidcIssuerProfile != nil { + var oidcIssuerProfile ManagedClusterOIDCIssuerProfile + err := oidcIssuerProfile.AssignProperties_From_ManagedClusterOIDCIssuerProfile(source.OidcIssuerProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterOIDCIssuerProfile() to populate field OidcIssuerProfile") + } + cluster.OidcIssuerProfile = &oidcIssuerProfile + } else { + cluster.OidcIssuerProfile = nil + } + + // OperatorSpec + if source.OperatorSpec != nil { + var operatorSpec ManagedClusterOperatorSpec + err := operatorSpec.AssignProperties_From_ManagedClusterOperatorSpec(source.OperatorSpec) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterOperatorSpec() to populate field OperatorSpec") + } + cluster.OperatorSpec = &operatorSpec + } else { + cluster.OperatorSpec = nil + } + + // OriginalVersion + cluster.OriginalVersion = source.OriginalVersion + + // Owner + if source.Owner != nil { + owner := source.Owner.Copy() + cluster.Owner = &owner + } else { + cluster.Owner = nil + } + + // PodIdentityProfile + if source.PodIdentityProfile != nil { + var podIdentityProfile ManagedClusterPodIdentityProfile + err := podIdentityProfile.AssignProperties_From_ManagedClusterPodIdentityProfile(source.PodIdentityProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterPodIdentityProfile() to populate field PodIdentityProfile") + } + cluster.PodIdentityProfile = &podIdentityProfile + } else { + cluster.PodIdentityProfile = nil + } + + // PrivateLinkResources + if source.PrivateLinkResources != nil { + privateLinkResourceList := make([]PrivateLinkResource, len(source.PrivateLinkResources)) + for privateLinkResourceIndex, privateLinkResourceItem := range source.PrivateLinkResources { + // Shadow the loop variable to avoid aliasing + privateLinkResourceItem := privateLinkResourceItem + var privateLinkResource PrivateLinkResource + err := privateLinkResource.AssignProperties_From_PrivateLinkResource(&privateLinkResourceItem) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_PrivateLinkResource() to populate field PrivateLinkResources") + } + privateLinkResourceList[privateLinkResourceIndex] = privateLinkResource + } + cluster.PrivateLinkResources = privateLinkResourceList + } else { + cluster.PrivateLinkResources = nil + } + + // PublicNetworkAccess + cluster.PublicNetworkAccess = genruntime.ClonePointerToString(source.PublicNetworkAccess) + + // SecurityProfile + if source.SecurityProfile != nil { + var securityProfile ManagedClusterSecurityProfile + err := securityProfile.AssignProperties_From_ManagedClusterSecurityProfile(source.SecurityProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterSecurityProfile() to populate field SecurityProfile") + } + cluster.SecurityProfile = &securityProfile + } else { + cluster.SecurityProfile = nil + } + + // ServiceMeshProfile + if source.ServiceMeshProfile != nil { + var serviceMeshProfile ServiceMeshProfile + err := serviceMeshProfile.AssignProperties_From_ServiceMeshProfile(source.ServiceMeshProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ServiceMeshProfile() to populate field ServiceMeshProfile") + } + cluster.ServiceMeshProfile = &serviceMeshProfile + } else { + cluster.ServiceMeshProfile = nil + } + + // ServicePrincipalProfile + if source.ServicePrincipalProfile != nil { + var servicePrincipalProfile ManagedClusterServicePrincipalProfile + err := servicePrincipalProfile.AssignProperties_From_ManagedClusterServicePrincipalProfile(source.ServicePrincipalProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterServicePrincipalProfile() to populate field ServicePrincipalProfile") + } + cluster.ServicePrincipalProfile = &servicePrincipalProfile + } else { + cluster.ServicePrincipalProfile = nil + } + + // Sku + if source.Sku != nil { + var sku ManagedClusterSKU + err := sku.AssignProperties_From_ManagedClusterSKU(source.Sku) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterSKU() to populate field Sku") + } + cluster.Sku = &sku + } else { + cluster.Sku = nil + } + + // StorageProfile + if source.StorageProfile != nil { + var storageProfile ManagedClusterStorageProfile + err := storageProfile.AssignProperties_From_ManagedClusterStorageProfile(source.StorageProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterStorageProfile() to populate field StorageProfile") + } + cluster.StorageProfile = &storageProfile + } else { + cluster.StorageProfile = nil + } + + // SupportPlan + cluster.SupportPlan = genruntime.ClonePointerToString(source.SupportPlan) + + // Tags + cluster.Tags = genruntime.CloneMapOfStringToString(source.Tags) + + // UpgradeSettings + if source.UpgradeSettings != nil { + var upgradeSetting ClusterUpgradeSettings + err := upgradeSetting.AssignProperties_From_ClusterUpgradeSettings(source.UpgradeSettings) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ClusterUpgradeSettings() to populate field UpgradeSettings") + } + cluster.UpgradeSettings = &upgradeSetting + } else { + cluster.UpgradeSettings = nil + } + + // WindowsProfile + if source.WindowsProfile != nil { + var windowsProfile ManagedClusterWindowsProfile + err := windowsProfile.AssignProperties_From_ManagedClusterWindowsProfile(source.WindowsProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterWindowsProfile() to populate field WindowsProfile") + } + cluster.WindowsProfile = &windowsProfile + } else { + cluster.WindowsProfile = nil + } + + // WorkloadAutoScalerProfile + if source.WorkloadAutoScalerProfile != nil { + var workloadAutoScalerProfile ManagedClusterWorkloadAutoScalerProfile + err := workloadAutoScalerProfile.AssignProperties_From_ManagedClusterWorkloadAutoScalerProfile(source.WorkloadAutoScalerProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterWorkloadAutoScalerProfile() to populate field WorkloadAutoScalerProfile") + } + cluster.WorkloadAutoScalerProfile = &workloadAutoScalerProfile + } else { + cluster.WorkloadAutoScalerProfile = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + cluster.PropertyBag = propertyBag + } else { + cluster.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedCluster_Spec interface (if implemented) to customize the conversion + var clusterAsAny any = cluster + if augmentedCluster, ok := clusterAsAny.(augmentConversionForManagedCluster_Spec); ok { + err := augmentedCluster.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_ManagedCluster_Spec populates the provided destination ManagedCluster_Spec from our ManagedCluster_Spec +func (cluster *ManagedCluster_Spec) AssignProperties_To_ManagedCluster_Spec(destination *storage.ManagedCluster_Spec) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(cluster.PropertyBag) + + // AadProfile + if cluster.AadProfile != nil { + var aadProfile storage.ManagedClusterAADProfile + err := cluster.AadProfile.AssignProperties_To_ManagedClusterAADProfile(&aadProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterAADProfile() to populate field AadProfile") + } + destination.AadProfile = &aadProfile + } else { + destination.AadProfile = nil + } + + // AddonProfiles + if cluster.AddonProfiles != nil { + addonProfileMap := make(map[string]storage.ManagedClusterAddonProfile, len(cluster.AddonProfiles)) + for addonProfileKey, addonProfileValue := range cluster.AddonProfiles { + // Shadow the loop variable to avoid aliasing + addonProfileValue := addonProfileValue + var addonProfile storage.ManagedClusterAddonProfile + err := addonProfileValue.AssignProperties_To_ManagedClusterAddonProfile(&addonProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterAddonProfile() to populate field AddonProfiles") + } + addonProfileMap[addonProfileKey] = addonProfile + } + destination.AddonProfiles = addonProfileMap + } else { + destination.AddonProfiles = nil + } + + // AgentPoolProfiles + if cluster.AgentPoolProfiles != nil { + agentPoolProfileList := make([]storage.ManagedClusterAgentPoolProfile, len(cluster.AgentPoolProfiles)) + for agentPoolProfileIndex, agentPoolProfileItem := range cluster.AgentPoolProfiles { + // Shadow the loop variable to avoid aliasing + agentPoolProfileItem := agentPoolProfileItem + var agentPoolProfile storage.ManagedClusterAgentPoolProfile + err := agentPoolProfileItem.AssignProperties_To_ManagedClusterAgentPoolProfile(&agentPoolProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterAgentPoolProfile() to populate field AgentPoolProfiles") + } + agentPoolProfileList[agentPoolProfileIndex] = agentPoolProfile + } + destination.AgentPoolProfiles = agentPoolProfileList + } else { + destination.AgentPoolProfiles = nil + } + + // ApiServerAccessProfile + if cluster.ApiServerAccessProfile != nil { + var apiServerAccessProfile storage.ManagedClusterAPIServerAccessProfile + err := cluster.ApiServerAccessProfile.AssignProperties_To_ManagedClusterAPIServerAccessProfile(&apiServerAccessProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterAPIServerAccessProfile() to populate field ApiServerAccessProfile") + } + destination.ApiServerAccessProfile = &apiServerAccessProfile + } else { + destination.ApiServerAccessProfile = nil + } + + // AutoScalerProfile + if cluster.AutoScalerProfile != nil { + var autoScalerProfile storage.ManagedClusterProperties_AutoScalerProfile + err := cluster.AutoScalerProfile.AssignProperties_To_ManagedClusterProperties_AutoScalerProfile(&autoScalerProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterProperties_AutoScalerProfile() to populate field AutoScalerProfile") + } + destination.AutoScalerProfile = &autoScalerProfile + } else { + destination.AutoScalerProfile = nil + } + + // AutoUpgradeProfile + if cluster.AutoUpgradeProfile != nil { + var autoUpgradeProfile storage.ManagedClusterAutoUpgradeProfile + err := cluster.AutoUpgradeProfile.AssignProperties_To_ManagedClusterAutoUpgradeProfile(&autoUpgradeProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterAutoUpgradeProfile() to populate field AutoUpgradeProfile") + } + destination.AutoUpgradeProfile = &autoUpgradeProfile + } else { + destination.AutoUpgradeProfile = nil + } + + // AzureMonitorProfile + if cluster.AzureMonitorProfile != nil { + var azureMonitorProfile storage.ManagedClusterAzureMonitorProfile + err := cluster.AzureMonitorProfile.AssignProperties_To_ManagedClusterAzureMonitorProfile(&azureMonitorProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterAzureMonitorProfile() to populate field AzureMonitorProfile") + } + destination.AzureMonitorProfile = &azureMonitorProfile + } else { + destination.AzureMonitorProfile = nil + } + + // AzureName + destination.AzureName = cluster.AzureName + + // DisableLocalAccounts + if cluster.DisableLocalAccounts != nil { + disableLocalAccount := *cluster.DisableLocalAccounts + destination.DisableLocalAccounts = &disableLocalAccount + } else { + destination.DisableLocalAccounts = nil + } + + // DiskEncryptionSetReference + if cluster.DiskEncryptionSetReference != nil { + diskEncryptionSetReference := cluster.DiskEncryptionSetReference.Copy() + destination.DiskEncryptionSetReference = &diskEncryptionSetReference + } else { + destination.DiskEncryptionSetReference = nil + } + + // DnsPrefix + destination.DnsPrefix = genruntime.ClonePointerToString(cluster.DnsPrefix) + + // EnablePodSecurityPolicy + if cluster.EnablePodSecurityPolicy != nil { + enablePodSecurityPolicy := *cluster.EnablePodSecurityPolicy + destination.EnablePodSecurityPolicy = &enablePodSecurityPolicy + } else { + destination.EnablePodSecurityPolicy = nil + } + + // EnableRBAC + if cluster.EnableRBAC != nil { + enableRBAC := *cluster.EnableRBAC + destination.EnableRBAC = &enableRBAC + } else { + destination.EnableRBAC = nil + } + + // ExtendedLocation + if cluster.ExtendedLocation != nil { + var extendedLocation storage.ExtendedLocation + err := cluster.ExtendedLocation.AssignProperties_To_ExtendedLocation(&extendedLocation) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ExtendedLocation() to populate field ExtendedLocation") + } + destination.ExtendedLocation = &extendedLocation + } else { + destination.ExtendedLocation = nil + } + + // FqdnSubdomain + destination.FqdnSubdomain = genruntime.ClonePointerToString(cluster.FqdnSubdomain) + + // HttpProxyConfig + if cluster.HttpProxyConfig != nil { + var httpProxyConfig storage.ManagedClusterHTTPProxyConfig + err := cluster.HttpProxyConfig.AssignProperties_To_ManagedClusterHTTPProxyConfig(&httpProxyConfig) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterHTTPProxyConfig() to populate field HttpProxyConfig") + } + destination.HttpProxyConfig = &httpProxyConfig + } else { + destination.HttpProxyConfig = nil + } + + // Identity + if cluster.Identity != nil { + var identity storage.ManagedClusterIdentity + err := cluster.Identity.AssignProperties_To_ManagedClusterIdentity(&identity) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterIdentity() to populate field Identity") + } + destination.Identity = &identity + } else { + destination.Identity = nil + } + + // IdentityProfile + if cluster.IdentityProfile != nil { + identityProfileMap := make(map[string]storage.UserAssignedIdentity, len(cluster.IdentityProfile)) + for identityProfileKey, identityProfileValue := range cluster.IdentityProfile { + // Shadow the loop variable to avoid aliasing + identityProfileValue := identityProfileValue + var identityProfile storage.UserAssignedIdentity + err := identityProfileValue.AssignProperties_To_UserAssignedIdentity(&identityProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_UserAssignedIdentity() to populate field IdentityProfile") + } + identityProfileMap[identityProfileKey] = identityProfile + } + destination.IdentityProfile = identityProfileMap + } else { + destination.IdentityProfile = nil + } + + // IngressProfile + if propertyBag.Contains("IngressProfile") { + var ingressProfile storage.ManagedClusterIngressProfile + err := propertyBag.Pull("IngressProfile", &ingressProfile) + if err != nil { + return errors.Wrap(err, "pulling 'IngressProfile' from propertyBag") + } + + destination.IngressProfile = &ingressProfile + } else { + destination.IngressProfile = nil + } + + // KubernetesVersion + destination.KubernetesVersion = genruntime.ClonePointerToString(cluster.KubernetesVersion) + + // LinuxProfile + if cluster.LinuxProfile != nil { + var linuxProfile storage.ContainerServiceLinuxProfile + err := cluster.LinuxProfile.AssignProperties_To_ContainerServiceLinuxProfile(&linuxProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ContainerServiceLinuxProfile() to populate field LinuxProfile") + } + destination.LinuxProfile = &linuxProfile + } else { + destination.LinuxProfile = nil + } + + // Location + destination.Location = genruntime.ClonePointerToString(cluster.Location) + + // MetricsProfile + if propertyBag.Contains("MetricsProfile") { + var metricsProfile storage.ManagedClusterMetricsProfile + err := propertyBag.Pull("MetricsProfile", &metricsProfile) + if err != nil { + return errors.Wrap(err, "pulling 'MetricsProfile' from propertyBag") + } + + destination.MetricsProfile = &metricsProfile + } else { + destination.MetricsProfile = nil + } + + // NetworkProfile + if cluster.NetworkProfile != nil { + var networkProfile storage.ContainerServiceNetworkProfile + err := cluster.NetworkProfile.AssignProperties_To_ContainerServiceNetworkProfile(&networkProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ContainerServiceNetworkProfile() to populate field NetworkProfile") + } + destination.NetworkProfile = &networkProfile + } else { + destination.NetworkProfile = nil + } + + // NodeResourceGroup + destination.NodeResourceGroup = genruntime.ClonePointerToString(cluster.NodeResourceGroup) + + // NodeResourceGroupProfile + if propertyBag.Contains("NodeResourceGroupProfile") { + var nodeResourceGroupProfile storage.ManagedClusterNodeResourceGroupProfile + err := propertyBag.Pull("NodeResourceGroupProfile", &nodeResourceGroupProfile) + if err != nil { + return errors.Wrap(err, "pulling 'NodeResourceGroupProfile' from propertyBag") + } + + destination.NodeResourceGroupProfile = &nodeResourceGroupProfile + } else { + destination.NodeResourceGroupProfile = nil + } + + // OidcIssuerProfile + if cluster.OidcIssuerProfile != nil { + var oidcIssuerProfile storage.ManagedClusterOIDCIssuerProfile + err := cluster.OidcIssuerProfile.AssignProperties_To_ManagedClusterOIDCIssuerProfile(&oidcIssuerProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterOIDCIssuerProfile() to populate field OidcIssuerProfile") + } + destination.OidcIssuerProfile = &oidcIssuerProfile + } else { + destination.OidcIssuerProfile = nil + } + + // OperatorSpec + if cluster.OperatorSpec != nil { + var operatorSpec storage.ManagedClusterOperatorSpec + err := cluster.OperatorSpec.AssignProperties_To_ManagedClusterOperatorSpec(&operatorSpec) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterOperatorSpec() to populate field OperatorSpec") + } + destination.OperatorSpec = &operatorSpec + } else { + destination.OperatorSpec = nil + } + + // OriginalVersion + destination.OriginalVersion = cluster.OriginalVersion + + // Owner + if cluster.Owner != nil { + owner := cluster.Owner.Copy() + destination.Owner = &owner + } else { + destination.Owner = nil + } + + // PodIdentityProfile + if cluster.PodIdentityProfile != nil { + var podIdentityProfile storage.ManagedClusterPodIdentityProfile + err := cluster.PodIdentityProfile.AssignProperties_To_ManagedClusterPodIdentityProfile(&podIdentityProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterPodIdentityProfile() to populate field PodIdentityProfile") + } + destination.PodIdentityProfile = &podIdentityProfile + } else { + destination.PodIdentityProfile = nil + } + + // PrivateLinkResources + if cluster.PrivateLinkResources != nil { + privateLinkResourceList := make([]storage.PrivateLinkResource, len(cluster.PrivateLinkResources)) + for privateLinkResourceIndex, privateLinkResourceItem := range cluster.PrivateLinkResources { + // Shadow the loop variable to avoid aliasing + privateLinkResourceItem := privateLinkResourceItem + var privateLinkResource storage.PrivateLinkResource + err := privateLinkResourceItem.AssignProperties_To_PrivateLinkResource(&privateLinkResource) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_PrivateLinkResource() to populate field PrivateLinkResources") + } + privateLinkResourceList[privateLinkResourceIndex] = privateLinkResource + } + destination.PrivateLinkResources = privateLinkResourceList + } else { + destination.PrivateLinkResources = nil + } + + // PublicNetworkAccess + destination.PublicNetworkAccess = genruntime.ClonePointerToString(cluster.PublicNetworkAccess) + + // SecurityProfile + if cluster.SecurityProfile != nil { + var securityProfile storage.ManagedClusterSecurityProfile + err := cluster.SecurityProfile.AssignProperties_To_ManagedClusterSecurityProfile(&securityProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterSecurityProfile() to populate field SecurityProfile") + } + destination.SecurityProfile = &securityProfile + } else { + destination.SecurityProfile = nil + } + + // ServiceMeshProfile + if cluster.ServiceMeshProfile != nil { + var serviceMeshProfile storage.ServiceMeshProfile + err := cluster.ServiceMeshProfile.AssignProperties_To_ServiceMeshProfile(&serviceMeshProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ServiceMeshProfile() to populate field ServiceMeshProfile") + } + destination.ServiceMeshProfile = &serviceMeshProfile + } else { + destination.ServiceMeshProfile = nil + } + + // ServicePrincipalProfile + if cluster.ServicePrincipalProfile != nil { + var servicePrincipalProfile storage.ManagedClusterServicePrincipalProfile + err := cluster.ServicePrincipalProfile.AssignProperties_To_ManagedClusterServicePrincipalProfile(&servicePrincipalProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterServicePrincipalProfile() to populate field ServicePrincipalProfile") + } + destination.ServicePrincipalProfile = &servicePrincipalProfile + } else { + destination.ServicePrincipalProfile = nil + } + + // Sku + if cluster.Sku != nil { + var sku storage.ManagedClusterSKU + err := cluster.Sku.AssignProperties_To_ManagedClusterSKU(&sku) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterSKU() to populate field Sku") + } + destination.Sku = &sku + } else { + destination.Sku = nil + } + + // StorageProfile + if cluster.StorageProfile != nil { + var storageProfile storage.ManagedClusterStorageProfile + err := cluster.StorageProfile.AssignProperties_To_ManagedClusterStorageProfile(&storageProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterStorageProfile() to populate field StorageProfile") + } + destination.StorageProfile = &storageProfile + } else { + destination.StorageProfile = nil + } + + // SupportPlan + destination.SupportPlan = genruntime.ClonePointerToString(cluster.SupportPlan) + + // Tags + destination.Tags = genruntime.CloneMapOfStringToString(cluster.Tags) + + // UpgradeSettings + if cluster.UpgradeSettings != nil { + var upgradeSetting storage.ClusterUpgradeSettings + err := cluster.UpgradeSettings.AssignProperties_To_ClusterUpgradeSettings(&upgradeSetting) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ClusterUpgradeSettings() to populate field UpgradeSettings") + } + destination.UpgradeSettings = &upgradeSetting + } else { + destination.UpgradeSettings = nil + } + + // WindowsProfile + if cluster.WindowsProfile != nil { + var windowsProfile storage.ManagedClusterWindowsProfile + err := cluster.WindowsProfile.AssignProperties_To_ManagedClusterWindowsProfile(&windowsProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterWindowsProfile() to populate field WindowsProfile") + } + destination.WindowsProfile = &windowsProfile + } else { + destination.WindowsProfile = nil + } + + // WorkloadAutoScalerProfile + if cluster.WorkloadAutoScalerProfile != nil { + var workloadAutoScalerProfile storage.ManagedClusterWorkloadAutoScalerProfile + err := cluster.WorkloadAutoScalerProfile.AssignProperties_To_ManagedClusterWorkloadAutoScalerProfile(&workloadAutoScalerProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterWorkloadAutoScalerProfile() to populate field WorkloadAutoScalerProfile") + } + destination.WorkloadAutoScalerProfile = &workloadAutoScalerProfile + } else { + destination.WorkloadAutoScalerProfile = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedCluster_Spec interface (if implemented) to customize the conversion + var clusterAsAny any = cluster + if augmentedCluster, ok := clusterAsAny.(augmentConversionForManagedCluster_Spec); ok { + err := augmentedCluster.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +// Storage version of v1api20231001.ManagedCluster_STATUS +// Managed cluster. +type ManagedCluster_STATUS struct { + AadProfile *ManagedClusterAADProfile_STATUS `json:"aadProfile,omitempty"` + AddonProfiles map[string]ManagedClusterAddonProfile_STATUS `json:"addonProfiles,omitempty"` + AgentPoolProfiles []ManagedClusterAgentPoolProfile_STATUS `json:"agentPoolProfiles,omitempty"` + ApiServerAccessProfile *ManagedClusterAPIServerAccessProfile_STATUS `json:"apiServerAccessProfile,omitempty"` + AutoScalerProfile *ManagedClusterProperties_AutoScalerProfile_STATUS `json:"autoScalerProfile,omitempty"` + AutoUpgradeProfile *ManagedClusterAutoUpgradeProfile_STATUS `json:"autoUpgradeProfile,omitempty"` + AzureMonitorProfile *ManagedClusterAzureMonitorProfile_STATUS `json:"azureMonitorProfile,omitempty"` + AzurePortalFQDN *string `json:"azurePortalFQDN,omitempty"` + Conditions []conditions.Condition `json:"conditions,omitempty"` + CurrentKubernetesVersion *string `json:"currentKubernetesVersion,omitempty"` + DisableLocalAccounts *bool `json:"disableLocalAccounts,omitempty"` + DiskEncryptionSetID *string `json:"diskEncryptionSetID,omitempty"` + DnsPrefix *string `json:"dnsPrefix,omitempty"` + EnablePodSecurityPolicy *bool `json:"enablePodSecurityPolicy,omitempty"` + EnableRBAC *bool `json:"enableRBAC,omitempty"` + ExtendedLocation *ExtendedLocation_STATUS `json:"extendedLocation,omitempty"` + Fqdn *string `json:"fqdn,omitempty"` + FqdnSubdomain *string `json:"fqdnSubdomain,omitempty"` + HttpProxyConfig *ManagedClusterHTTPProxyConfig_STATUS `json:"httpProxyConfig,omitempty"` + Id *string `json:"id,omitempty"` + Identity *ManagedClusterIdentity_STATUS `json:"identity,omitempty"` + IdentityProfile map[string]UserAssignedIdentity_STATUS `json:"identityProfile,omitempty"` + KubernetesVersion *string `json:"kubernetesVersion,omitempty"` + LinuxProfile *ContainerServiceLinuxProfile_STATUS `json:"linuxProfile,omitempty"` + Location *string `json:"location,omitempty"` + MaxAgentPools *int `json:"maxAgentPools,omitempty"` + Name *string `json:"name,omitempty"` + NetworkProfile *ContainerServiceNetworkProfile_STATUS `json:"networkProfile,omitempty"` + NodeResourceGroup *string `json:"nodeResourceGroup,omitempty"` + OidcIssuerProfile *ManagedClusterOIDCIssuerProfile_STATUS `json:"oidcIssuerProfile,omitempty"` + PodIdentityProfile *ManagedClusterPodIdentityProfile_STATUS `json:"podIdentityProfile,omitempty"` + PowerState *PowerState_STATUS `json:"powerState,omitempty"` + PrivateFQDN *string `json:"privateFQDN,omitempty"` + PrivateLinkResources []PrivateLinkResource_STATUS `json:"privateLinkResources,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + ProvisioningState *string `json:"provisioningState,omitempty"` + PublicNetworkAccess *string `json:"publicNetworkAccess,omitempty"` + ResourceUID *string `json:"resourceUID,omitempty"` + SecurityProfile *ManagedClusterSecurityProfile_STATUS `json:"securityProfile,omitempty"` + ServiceMeshProfile *ServiceMeshProfile_STATUS `json:"serviceMeshProfile,omitempty"` + ServicePrincipalProfile *ManagedClusterServicePrincipalProfile_STATUS `json:"servicePrincipalProfile,omitempty"` + Sku *ManagedClusterSKU_STATUS `json:"sku,omitempty"` + StorageProfile *ManagedClusterStorageProfile_STATUS `json:"storageProfile,omitempty"` + SupportPlan *string `json:"supportPlan,omitempty"` + SystemData *SystemData_STATUS `json:"systemData,omitempty"` + Tags map[string]string `json:"tags,omitempty"` + Type *string `json:"type,omitempty"` + UpgradeSettings *ClusterUpgradeSettings_STATUS `json:"upgradeSettings,omitempty"` + WindowsProfile *ManagedClusterWindowsProfile_STATUS `json:"windowsProfile,omitempty"` + WorkloadAutoScalerProfile *ManagedClusterWorkloadAutoScalerProfile_STATUS `json:"workloadAutoScalerProfile,omitempty"` +} + +var _ genruntime.ConvertibleStatus = &ManagedCluster_STATUS{} + +// ConvertStatusFrom populates our ManagedCluster_STATUS from the provided source +func (cluster *ManagedCluster_STATUS) ConvertStatusFrom(source genruntime.ConvertibleStatus) error { + src, ok := source.(*storage.ManagedCluster_STATUS) + if ok { + // Populate our instance from source + return cluster.AssignProperties_From_ManagedCluster_STATUS(src) + } + + // Convert to an intermediate form + src = &storage.ManagedCluster_STATUS{} + err := src.ConvertStatusFrom(source) + if err != nil { + return errors.Wrap(err, "initial step of conversion in ConvertStatusFrom()") + } + + // Update our instance from src + err = cluster.AssignProperties_From_ManagedCluster_STATUS(src) + if err != nil { + return errors.Wrap(err, "final step of conversion in ConvertStatusFrom()") + } + + return nil +} + +// ConvertStatusTo populates the provided destination from our ManagedCluster_STATUS +func (cluster *ManagedCluster_STATUS) ConvertStatusTo(destination genruntime.ConvertibleStatus) error { + dst, ok := destination.(*storage.ManagedCluster_STATUS) + if ok { + // Populate destination from our instance + return cluster.AssignProperties_To_ManagedCluster_STATUS(dst) + } + + // Convert to an intermediate form + dst = &storage.ManagedCluster_STATUS{} + err := cluster.AssignProperties_To_ManagedCluster_STATUS(dst) + if err != nil { + return errors.Wrap(err, "initial step of conversion in ConvertStatusTo()") + } + + // Update dst from our instance + err = dst.ConvertStatusTo(destination) + if err != nil { + return errors.Wrap(err, "final step of conversion in ConvertStatusTo()") + } + + return nil +} + +// AssignProperties_From_ManagedCluster_STATUS populates our ManagedCluster_STATUS from the provided source ManagedCluster_STATUS +func (cluster *ManagedCluster_STATUS) AssignProperties_From_ManagedCluster_STATUS(source *storage.ManagedCluster_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // AadProfile + if source.AadProfile != nil { + var aadProfile ManagedClusterAADProfile_STATUS + err := aadProfile.AssignProperties_From_ManagedClusterAADProfile_STATUS(source.AadProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterAADProfile_STATUS() to populate field AadProfile") + } + cluster.AadProfile = &aadProfile + } else { + cluster.AadProfile = nil + } + + // AddonProfiles + if source.AddonProfiles != nil { + addonProfileMap := make(map[string]ManagedClusterAddonProfile_STATUS, len(source.AddonProfiles)) + for addonProfileKey, addonProfileValue := range source.AddonProfiles { + // Shadow the loop variable to avoid aliasing + addonProfileValue := addonProfileValue + var addonProfile ManagedClusterAddonProfile_STATUS + err := addonProfile.AssignProperties_From_ManagedClusterAddonProfile_STATUS(&addonProfileValue) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterAddonProfile_STATUS() to populate field AddonProfiles") + } + addonProfileMap[addonProfileKey] = addonProfile + } + cluster.AddonProfiles = addonProfileMap + } else { + cluster.AddonProfiles = nil + } + + // AgentPoolProfiles + if source.AgentPoolProfiles != nil { + agentPoolProfileList := make([]ManagedClusterAgentPoolProfile_STATUS, len(source.AgentPoolProfiles)) + for agentPoolProfileIndex, agentPoolProfileItem := range source.AgentPoolProfiles { + // Shadow the loop variable to avoid aliasing + agentPoolProfileItem := agentPoolProfileItem + var agentPoolProfile ManagedClusterAgentPoolProfile_STATUS + err := agentPoolProfile.AssignProperties_From_ManagedClusterAgentPoolProfile_STATUS(&agentPoolProfileItem) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterAgentPoolProfile_STATUS() to populate field AgentPoolProfiles") + } + agentPoolProfileList[agentPoolProfileIndex] = agentPoolProfile + } + cluster.AgentPoolProfiles = agentPoolProfileList + } else { + cluster.AgentPoolProfiles = nil + } + + // ApiServerAccessProfile + if source.ApiServerAccessProfile != nil { + var apiServerAccessProfile ManagedClusterAPIServerAccessProfile_STATUS + err := apiServerAccessProfile.AssignProperties_From_ManagedClusterAPIServerAccessProfile_STATUS(source.ApiServerAccessProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterAPIServerAccessProfile_STATUS() to populate field ApiServerAccessProfile") + } + cluster.ApiServerAccessProfile = &apiServerAccessProfile + } else { + cluster.ApiServerAccessProfile = nil + } + + // AutoScalerProfile + if source.AutoScalerProfile != nil { + var autoScalerProfile ManagedClusterProperties_AutoScalerProfile_STATUS + err := autoScalerProfile.AssignProperties_From_ManagedClusterProperties_AutoScalerProfile_STATUS(source.AutoScalerProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterProperties_AutoScalerProfile_STATUS() to populate field AutoScalerProfile") + } + cluster.AutoScalerProfile = &autoScalerProfile + } else { + cluster.AutoScalerProfile = nil + } + + // AutoUpgradeProfile + if source.AutoUpgradeProfile != nil { + var autoUpgradeProfile ManagedClusterAutoUpgradeProfile_STATUS + err := autoUpgradeProfile.AssignProperties_From_ManagedClusterAutoUpgradeProfile_STATUS(source.AutoUpgradeProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterAutoUpgradeProfile_STATUS() to populate field AutoUpgradeProfile") + } + cluster.AutoUpgradeProfile = &autoUpgradeProfile + } else { + cluster.AutoUpgradeProfile = nil + } + + // AzureMonitorProfile + if source.AzureMonitorProfile != nil { + var azureMonitorProfile ManagedClusterAzureMonitorProfile_STATUS + err := azureMonitorProfile.AssignProperties_From_ManagedClusterAzureMonitorProfile_STATUS(source.AzureMonitorProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterAzureMonitorProfile_STATUS() to populate field AzureMonitorProfile") + } + cluster.AzureMonitorProfile = &azureMonitorProfile + } else { + cluster.AzureMonitorProfile = nil + } + + // AzurePortalFQDN + cluster.AzurePortalFQDN = genruntime.ClonePointerToString(source.AzurePortalFQDN) + + // Conditions + cluster.Conditions = genruntime.CloneSliceOfCondition(source.Conditions) + + // CurrentKubernetesVersion + cluster.CurrentKubernetesVersion = genruntime.ClonePointerToString(source.CurrentKubernetesVersion) + + // DisableLocalAccounts + if source.DisableLocalAccounts != nil { + disableLocalAccount := *source.DisableLocalAccounts + cluster.DisableLocalAccounts = &disableLocalAccount + } else { + cluster.DisableLocalAccounts = nil + } + + // DiskEncryptionSetID + cluster.DiskEncryptionSetID = genruntime.ClonePointerToString(source.DiskEncryptionSetID) + + // DnsPrefix + cluster.DnsPrefix = genruntime.ClonePointerToString(source.DnsPrefix) + + // ETag + if source.ETag != nil { + propertyBag.Add("ETag", *source.ETag) + } else { + propertyBag.Remove("ETag") + } + + // EnablePodSecurityPolicy + if source.EnablePodSecurityPolicy != nil { + enablePodSecurityPolicy := *source.EnablePodSecurityPolicy + cluster.EnablePodSecurityPolicy = &enablePodSecurityPolicy + } else { + cluster.EnablePodSecurityPolicy = nil + } + + // EnableRBAC + if source.EnableRBAC != nil { + enableRBAC := *source.EnableRBAC + cluster.EnableRBAC = &enableRBAC + } else { + cluster.EnableRBAC = nil + } + + // ExtendedLocation + if source.ExtendedLocation != nil { + var extendedLocation ExtendedLocation_STATUS + err := extendedLocation.AssignProperties_From_ExtendedLocation_STATUS(source.ExtendedLocation) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ExtendedLocation_STATUS() to populate field ExtendedLocation") + } + cluster.ExtendedLocation = &extendedLocation + } else { + cluster.ExtendedLocation = nil + } + + // Fqdn + cluster.Fqdn = genruntime.ClonePointerToString(source.Fqdn) + + // FqdnSubdomain + cluster.FqdnSubdomain = genruntime.ClonePointerToString(source.FqdnSubdomain) + + // HttpProxyConfig + if source.HttpProxyConfig != nil { + var httpProxyConfig ManagedClusterHTTPProxyConfig_STATUS + err := httpProxyConfig.AssignProperties_From_ManagedClusterHTTPProxyConfig_STATUS(source.HttpProxyConfig) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterHTTPProxyConfig_STATUS() to populate field HttpProxyConfig") + } + cluster.HttpProxyConfig = &httpProxyConfig + } else { + cluster.HttpProxyConfig = nil + } + + // Id + cluster.Id = genruntime.ClonePointerToString(source.Id) + + // Identity + if source.Identity != nil { + var identity ManagedClusterIdentity_STATUS + err := identity.AssignProperties_From_ManagedClusterIdentity_STATUS(source.Identity) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterIdentity_STATUS() to populate field Identity") + } + cluster.Identity = &identity + } else { + cluster.Identity = nil + } + + // IdentityProfile + if source.IdentityProfile != nil { + identityProfileMap := make(map[string]UserAssignedIdentity_STATUS, len(source.IdentityProfile)) + for identityProfileKey, identityProfileValue := range source.IdentityProfile { + // Shadow the loop variable to avoid aliasing + identityProfileValue := identityProfileValue + var identityProfile UserAssignedIdentity_STATUS + err := identityProfile.AssignProperties_From_UserAssignedIdentity_STATUS(&identityProfileValue) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_UserAssignedIdentity_STATUS() to populate field IdentityProfile") + } + identityProfileMap[identityProfileKey] = identityProfile + } + cluster.IdentityProfile = identityProfileMap + } else { + cluster.IdentityProfile = nil + } + + // IngressProfile + if source.IngressProfile != nil { + propertyBag.Add("IngressProfile", *source.IngressProfile) + } else { + propertyBag.Remove("IngressProfile") + } + + // KubernetesVersion + cluster.KubernetesVersion = genruntime.ClonePointerToString(source.KubernetesVersion) + + // LinuxProfile + if source.LinuxProfile != nil { + var linuxProfile ContainerServiceLinuxProfile_STATUS + err := linuxProfile.AssignProperties_From_ContainerServiceLinuxProfile_STATUS(source.LinuxProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ContainerServiceLinuxProfile_STATUS() to populate field LinuxProfile") + } + cluster.LinuxProfile = &linuxProfile + } else { + cluster.LinuxProfile = nil + } + + // Location + cluster.Location = genruntime.ClonePointerToString(source.Location) + + // MaxAgentPools + cluster.MaxAgentPools = genruntime.ClonePointerToInt(source.MaxAgentPools) + + // MetricsProfile + if source.MetricsProfile != nil { + propertyBag.Add("MetricsProfile", *source.MetricsProfile) + } else { + propertyBag.Remove("MetricsProfile") + } + + // Name + cluster.Name = genruntime.ClonePointerToString(source.Name) + + // NetworkProfile + if source.NetworkProfile != nil { + var networkProfile ContainerServiceNetworkProfile_STATUS + err := networkProfile.AssignProperties_From_ContainerServiceNetworkProfile_STATUS(source.NetworkProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ContainerServiceNetworkProfile_STATUS() to populate field NetworkProfile") + } + cluster.NetworkProfile = &networkProfile + } else { + cluster.NetworkProfile = nil + } + + // NodeResourceGroup + cluster.NodeResourceGroup = genruntime.ClonePointerToString(source.NodeResourceGroup) + + // NodeResourceGroupProfile + if source.NodeResourceGroupProfile != nil { + propertyBag.Add("NodeResourceGroupProfile", *source.NodeResourceGroupProfile) + } else { + propertyBag.Remove("NodeResourceGroupProfile") + } + + // OidcIssuerProfile + if source.OidcIssuerProfile != nil { + var oidcIssuerProfile ManagedClusterOIDCIssuerProfile_STATUS + err := oidcIssuerProfile.AssignProperties_From_ManagedClusterOIDCIssuerProfile_STATUS(source.OidcIssuerProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterOIDCIssuerProfile_STATUS() to populate field OidcIssuerProfile") + } + cluster.OidcIssuerProfile = &oidcIssuerProfile + } else { + cluster.OidcIssuerProfile = nil + } + + // PodIdentityProfile + if source.PodIdentityProfile != nil { + var podIdentityProfile ManagedClusterPodIdentityProfile_STATUS + err := podIdentityProfile.AssignProperties_From_ManagedClusterPodIdentityProfile_STATUS(source.PodIdentityProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterPodIdentityProfile_STATUS() to populate field PodIdentityProfile") + } + cluster.PodIdentityProfile = &podIdentityProfile + } else { + cluster.PodIdentityProfile = nil + } + + // PowerState + if source.PowerState != nil { + var powerState PowerState_STATUS + err := powerState.AssignProperties_From_PowerState_STATUS(source.PowerState) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_PowerState_STATUS() to populate field PowerState") + } + cluster.PowerState = &powerState + } else { + cluster.PowerState = nil + } + + // PrivateFQDN + cluster.PrivateFQDN = genruntime.ClonePointerToString(source.PrivateFQDN) + + // PrivateLinkResources + if source.PrivateLinkResources != nil { + privateLinkResourceList := make([]PrivateLinkResource_STATUS, len(source.PrivateLinkResources)) + for privateLinkResourceIndex, privateLinkResourceItem := range source.PrivateLinkResources { + // Shadow the loop variable to avoid aliasing + privateLinkResourceItem := privateLinkResourceItem + var privateLinkResource PrivateLinkResource_STATUS + err := privateLinkResource.AssignProperties_From_PrivateLinkResource_STATUS(&privateLinkResourceItem) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_PrivateLinkResource_STATUS() to populate field PrivateLinkResources") + } + privateLinkResourceList[privateLinkResourceIndex] = privateLinkResource + } + cluster.PrivateLinkResources = privateLinkResourceList + } else { + cluster.PrivateLinkResources = nil + } + + // ProvisioningState + cluster.ProvisioningState = genruntime.ClonePointerToString(source.ProvisioningState) + + // PublicNetworkAccess + cluster.PublicNetworkAccess = genruntime.ClonePointerToString(source.PublicNetworkAccess) + + // ResourceUID + cluster.ResourceUID = genruntime.ClonePointerToString(source.ResourceUID) + + // SecurityProfile + if source.SecurityProfile != nil { + var securityProfile ManagedClusterSecurityProfile_STATUS + err := securityProfile.AssignProperties_From_ManagedClusterSecurityProfile_STATUS(source.SecurityProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterSecurityProfile_STATUS() to populate field SecurityProfile") + } + cluster.SecurityProfile = &securityProfile + } else { + cluster.SecurityProfile = nil + } + + // ServiceMeshProfile + if source.ServiceMeshProfile != nil { + var serviceMeshProfile ServiceMeshProfile_STATUS + err := serviceMeshProfile.AssignProperties_From_ServiceMeshProfile_STATUS(source.ServiceMeshProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ServiceMeshProfile_STATUS() to populate field ServiceMeshProfile") + } + cluster.ServiceMeshProfile = &serviceMeshProfile + } else { + cluster.ServiceMeshProfile = nil + } + + // ServicePrincipalProfile + if source.ServicePrincipalProfile != nil { + var servicePrincipalProfile ManagedClusterServicePrincipalProfile_STATUS + err := servicePrincipalProfile.AssignProperties_From_ManagedClusterServicePrincipalProfile_STATUS(source.ServicePrincipalProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterServicePrincipalProfile_STATUS() to populate field ServicePrincipalProfile") + } + cluster.ServicePrincipalProfile = &servicePrincipalProfile + } else { + cluster.ServicePrincipalProfile = nil + } + + // Sku + if source.Sku != nil { + var sku ManagedClusterSKU_STATUS + err := sku.AssignProperties_From_ManagedClusterSKU_STATUS(source.Sku) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterSKU_STATUS() to populate field Sku") + } + cluster.Sku = &sku + } else { + cluster.Sku = nil + } + + // StorageProfile + if source.StorageProfile != nil { + var storageProfile ManagedClusterStorageProfile_STATUS + err := storageProfile.AssignProperties_From_ManagedClusterStorageProfile_STATUS(source.StorageProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterStorageProfile_STATUS() to populate field StorageProfile") + } + cluster.StorageProfile = &storageProfile + } else { + cluster.StorageProfile = nil + } + + // SupportPlan + cluster.SupportPlan = genruntime.ClonePointerToString(source.SupportPlan) + + // SystemData + if source.SystemData != nil { + var systemDatum SystemData_STATUS + err := systemDatum.AssignProperties_From_SystemData_STATUS(source.SystemData) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_SystemData_STATUS() to populate field SystemData") + } + cluster.SystemData = &systemDatum + } else { + cluster.SystemData = nil + } + + // Tags + cluster.Tags = genruntime.CloneMapOfStringToString(source.Tags) + + // Type + cluster.Type = genruntime.ClonePointerToString(source.Type) + + // UpgradeSettings + if source.UpgradeSettings != nil { + var upgradeSetting ClusterUpgradeSettings_STATUS + err := upgradeSetting.AssignProperties_From_ClusterUpgradeSettings_STATUS(source.UpgradeSettings) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ClusterUpgradeSettings_STATUS() to populate field UpgradeSettings") + } + cluster.UpgradeSettings = &upgradeSetting + } else { + cluster.UpgradeSettings = nil + } + + // WindowsProfile + if source.WindowsProfile != nil { + var windowsProfile ManagedClusterWindowsProfile_STATUS + err := windowsProfile.AssignProperties_From_ManagedClusterWindowsProfile_STATUS(source.WindowsProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterWindowsProfile_STATUS() to populate field WindowsProfile") + } + cluster.WindowsProfile = &windowsProfile + } else { + cluster.WindowsProfile = nil + } + + // WorkloadAutoScalerProfile + if source.WorkloadAutoScalerProfile != nil { + var workloadAutoScalerProfile ManagedClusterWorkloadAutoScalerProfile_STATUS + err := workloadAutoScalerProfile.AssignProperties_From_ManagedClusterWorkloadAutoScalerProfile_STATUS(source.WorkloadAutoScalerProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterWorkloadAutoScalerProfile_STATUS() to populate field WorkloadAutoScalerProfile") + } + cluster.WorkloadAutoScalerProfile = &workloadAutoScalerProfile + } else { + cluster.WorkloadAutoScalerProfile = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + cluster.PropertyBag = propertyBag + } else { + cluster.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedCluster_STATUS interface (if implemented) to customize the conversion + var clusterAsAny any = cluster + if augmentedCluster, ok := clusterAsAny.(augmentConversionForManagedCluster_STATUS); ok { + err := augmentedCluster.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_ManagedCluster_STATUS populates the provided destination ManagedCluster_STATUS from our ManagedCluster_STATUS +func (cluster *ManagedCluster_STATUS) AssignProperties_To_ManagedCluster_STATUS(destination *storage.ManagedCluster_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(cluster.PropertyBag) + + // AadProfile + if cluster.AadProfile != nil { + var aadProfile storage.ManagedClusterAADProfile_STATUS + err := cluster.AadProfile.AssignProperties_To_ManagedClusterAADProfile_STATUS(&aadProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterAADProfile_STATUS() to populate field AadProfile") + } + destination.AadProfile = &aadProfile + } else { + destination.AadProfile = nil + } + + // AddonProfiles + if cluster.AddonProfiles != nil { + addonProfileMap := make(map[string]storage.ManagedClusterAddonProfile_STATUS, len(cluster.AddonProfiles)) + for addonProfileKey, addonProfileValue := range cluster.AddonProfiles { + // Shadow the loop variable to avoid aliasing + addonProfileValue := addonProfileValue + var addonProfile storage.ManagedClusterAddonProfile_STATUS + err := addonProfileValue.AssignProperties_To_ManagedClusterAddonProfile_STATUS(&addonProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterAddonProfile_STATUS() to populate field AddonProfiles") + } + addonProfileMap[addonProfileKey] = addonProfile + } + destination.AddonProfiles = addonProfileMap + } else { + destination.AddonProfiles = nil + } + + // AgentPoolProfiles + if cluster.AgentPoolProfiles != nil { + agentPoolProfileList := make([]storage.ManagedClusterAgentPoolProfile_STATUS, len(cluster.AgentPoolProfiles)) + for agentPoolProfileIndex, agentPoolProfileItem := range cluster.AgentPoolProfiles { + // Shadow the loop variable to avoid aliasing + agentPoolProfileItem := agentPoolProfileItem + var agentPoolProfile storage.ManagedClusterAgentPoolProfile_STATUS + err := agentPoolProfileItem.AssignProperties_To_ManagedClusterAgentPoolProfile_STATUS(&agentPoolProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterAgentPoolProfile_STATUS() to populate field AgentPoolProfiles") + } + agentPoolProfileList[agentPoolProfileIndex] = agentPoolProfile + } + destination.AgentPoolProfiles = agentPoolProfileList + } else { + destination.AgentPoolProfiles = nil + } + + // ApiServerAccessProfile + if cluster.ApiServerAccessProfile != nil { + var apiServerAccessProfile storage.ManagedClusterAPIServerAccessProfile_STATUS + err := cluster.ApiServerAccessProfile.AssignProperties_To_ManagedClusterAPIServerAccessProfile_STATUS(&apiServerAccessProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterAPIServerAccessProfile_STATUS() to populate field ApiServerAccessProfile") + } + destination.ApiServerAccessProfile = &apiServerAccessProfile + } else { + destination.ApiServerAccessProfile = nil + } + + // AutoScalerProfile + if cluster.AutoScalerProfile != nil { + var autoScalerProfile storage.ManagedClusterProperties_AutoScalerProfile_STATUS + err := cluster.AutoScalerProfile.AssignProperties_To_ManagedClusterProperties_AutoScalerProfile_STATUS(&autoScalerProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterProperties_AutoScalerProfile_STATUS() to populate field AutoScalerProfile") + } + destination.AutoScalerProfile = &autoScalerProfile + } else { + destination.AutoScalerProfile = nil + } + + // AutoUpgradeProfile + if cluster.AutoUpgradeProfile != nil { + var autoUpgradeProfile storage.ManagedClusterAutoUpgradeProfile_STATUS + err := cluster.AutoUpgradeProfile.AssignProperties_To_ManagedClusterAutoUpgradeProfile_STATUS(&autoUpgradeProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterAutoUpgradeProfile_STATUS() to populate field AutoUpgradeProfile") + } + destination.AutoUpgradeProfile = &autoUpgradeProfile + } else { + destination.AutoUpgradeProfile = nil + } + + // AzureMonitorProfile + if cluster.AzureMonitorProfile != nil { + var azureMonitorProfile storage.ManagedClusterAzureMonitorProfile_STATUS + err := cluster.AzureMonitorProfile.AssignProperties_To_ManagedClusterAzureMonitorProfile_STATUS(&azureMonitorProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterAzureMonitorProfile_STATUS() to populate field AzureMonitorProfile") + } + destination.AzureMonitorProfile = &azureMonitorProfile + } else { + destination.AzureMonitorProfile = nil + } + + // AzurePortalFQDN + destination.AzurePortalFQDN = genruntime.ClonePointerToString(cluster.AzurePortalFQDN) + + // Conditions + destination.Conditions = genruntime.CloneSliceOfCondition(cluster.Conditions) + + // CurrentKubernetesVersion + destination.CurrentKubernetesVersion = genruntime.ClonePointerToString(cluster.CurrentKubernetesVersion) + + // DisableLocalAccounts + if cluster.DisableLocalAccounts != nil { + disableLocalAccount := *cluster.DisableLocalAccounts + destination.DisableLocalAccounts = &disableLocalAccount + } else { + destination.DisableLocalAccounts = nil + } + + // DiskEncryptionSetID + destination.DiskEncryptionSetID = genruntime.ClonePointerToString(cluster.DiskEncryptionSetID) + + // DnsPrefix + destination.DnsPrefix = genruntime.ClonePointerToString(cluster.DnsPrefix) + + // ETag + if propertyBag.Contains("ETag") { + var eTag string + err := propertyBag.Pull("ETag", &eTag) + if err != nil { + return errors.Wrap(err, "pulling 'ETag' from propertyBag") + } + + destination.ETag = &eTag + } else { + destination.ETag = nil + } + + // EnablePodSecurityPolicy + if cluster.EnablePodSecurityPolicy != nil { + enablePodSecurityPolicy := *cluster.EnablePodSecurityPolicy + destination.EnablePodSecurityPolicy = &enablePodSecurityPolicy + } else { + destination.EnablePodSecurityPolicy = nil + } + + // EnableRBAC + if cluster.EnableRBAC != nil { + enableRBAC := *cluster.EnableRBAC + destination.EnableRBAC = &enableRBAC + } else { + destination.EnableRBAC = nil + } + + // ExtendedLocation + if cluster.ExtendedLocation != nil { + var extendedLocation storage.ExtendedLocation_STATUS + err := cluster.ExtendedLocation.AssignProperties_To_ExtendedLocation_STATUS(&extendedLocation) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ExtendedLocation_STATUS() to populate field ExtendedLocation") + } + destination.ExtendedLocation = &extendedLocation + } else { + destination.ExtendedLocation = nil + } + + // Fqdn + destination.Fqdn = genruntime.ClonePointerToString(cluster.Fqdn) + + // FqdnSubdomain + destination.FqdnSubdomain = genruntime.ClonePointerToString(cluster.FqdnSubdomain) + + // HttpProxyConfig + if cluster.HttpProxyConfig != nil { + var httpProxyConfig storage.ManagedClusterHTTPProxyConfig_STATUS + err := cluster.HttpProxyConfig.AssignProperties_To_ManagedClusterHTTPProxyConfig_STATUS(&httpProxyConfig) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterHTTPProxyConfig_STATUS() to populate field HttpProxyConfig") + } + destination.HttpProxyConfig = &httpProxyConfig + } else { + destination.HttpProxyConfig = nil + } + + // Id + destination.Id = genruntime.ClonePointerToString(cluster.Id) + + // Identity + if cluster.Identity != nil { + var identity storage.ManagedClusterIdentity_STATUS + err := cluster.Identity.AssignProperties_To_ManagedClusterIdentity_STATUS(&identity) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterIdentity_STATUS() to populate field Identity") + } + destination.Identity = &identity + } else { + destination.Identity = nil + } + + // IdentityProfile + if cluster.IdentityProfile != nil { + identityProfileMap := make(map[string]storage.UserAssignedIdentity_STATUS, len(cluster.IdentityProfile)) + for identityProfileKey, identityProfileValue := range cluster.IdentityProfile { + // Shadow the loop variable to avoid aliasing + identityProfileValue := identityProfileValue + var identityProfile storage.UserAssignedIdentity_STATUS + err := identityProfileValue.AssignProperties_To_UserAssignedIdentity_STATUS(&identityProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_UserAssignedIdentity_STATUS() to populate field IdentityProfile") + } + identityProfileMap[identityProfileKey] = identityProfile + } + destination.IdentityProfile = identityProfileMap + } else { + destination.IdentityProfile = nil + } + + // IngressProfile + if propertyBag.Contains("IngressProfile") { + var ingressProfile storage.ManagedClusterIngressProfile_STATUS + err := propertyBag.Pull("IngressProfile", &ingressProfile) + if err != nil { + return errors.Wrap(err, "pulling 'IngressProfile' from propertyBag") + } + + destination.IngressProfile = &ingressProfile + } else { + destination.IngressProfile = nil + } + + // KubernetesVersion + destination.KubernetesVersion = genruntime.ClonePointerToString(cluster.KubernetesVersion) + + // LinuxProfile + if cluster.LinuxProfile != nil { + var linuxProfile storage.ContainerServiceLinuxProfile_STATUS + err := cluster.LinuxProfile.AssignProperties_To_ContainerServiceLinuxProfile_STATUS(&linuxProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ContainerServiceLinuxProfile_STATUS() to populate field LinuxProfile") + } + destination.LinuxProfile = &linuxProfile + } else { + destination.LinuxProfile = nil + } + + // Location + destination.Location = genruntime.ClonePointerToString(cluster.Location) + + // MaxAgentPools + destination.MaxAgentPools = genruntime.ClonePointerToInt(cluster.MaxAgentPools) + + // MetricsProfile + if propertyBag.Contains("MetricsProfile") { + var metricsProfile storage.ManagedClusterMetricsProfile_STATUS + err := propertyBag.Pull("MetricsProfile", &metricsProfile) + if err != nil { + return errors.Wrap(err, "pulling 'MetricsProfile' from propertyBag") + } + + destination.MetricsProfile = &metricsProfile + } else { + destination.MetricsProfile = nil + } + + // Name + destination.Name = genruntime.ClonePointerToString(cluster.Name) + + // NetworkProfile + if cluster.NetworkProfile != nil { + var networkProfile storage.ContainerServiceNetworkProfile_STATUS + err := cluster.NetworkProfile.AssignProperties_To_ContainerServiceNetworkProfile_STATUS(&networkProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ContainerServiceNetworkProfile_STATUS() to populate field NetworkProfile") + } + destination.NetworkProfile = &networkProfile + } else { + destination.NetworkProfile = nil + } + + // NodeResourceGroup + destination.NodeResourceGroup = genruntime.ClonePointerToString(cluster.NodeResourceGroup) + + // NodeResourceGroupProfile + if propertyBag.Contains("NodeResourceGroupProfile") { + var nodeResourceGroupProfile storage.ManagedClusterNodeResourceGroupProfile_STATUS + err := propertyBag.Pull("NodeResourceGroupProfile", &nodeResourceGroupProfile) + if err != nil { + return errors.Wrap(err, "pulling 'NodeResourceGroupProfile' from propertyBag") + } + + destination.NodeResourceGroupProfile = &nodeResourceGroupProfile + } else { + destination.NodeResourceGroupProfile = nil + } + + // OidcIssuerProfile + if cluster.OidcIssuerProfile != nil { + var oidcIssuerProfile storage.ManagedClusterOIDCIssuerProfile_STATUS + err := cluster.OidcIssuerProfile.AssignProperties_To_ManagedClusterOIDCIssuerProfile_STATUS(&oidcIssuerProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterOIDCIssuerProfile_STATUS() to populate field OidcIssuerProfile") + } + destination.OidcIssuerProfile = &oidcIssuerProfile + } else { + destination.OidcIssuerProfile = nil + } + + // PodIdentityProfile + if cluster.PodIdentityProfile != nil { + var podIdentityProfile storage.ManagedClusterPodIdentityProfile_STATUS + err := cluster.PodIdentityProfile.AssignProperties_To_ManagedClusterPodIdentityProfile_STATUS(&podIdentityProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterPodIdentityProfile_STATUS() to populate field PodIdentityProfile") + } + destination.PodIdentityProfile = &podIdentityProfile + } else { + destination.PodIdentityProfile = nil + } + + // PowerState + if cluster.PowerState != nil { + var powerState storage.PowerState_STATUS + err := cluster.PowerState.AssignProperties_To_PowerState_STATUS(&powerState) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_PowerState_STATUS() to populate field PowerState") + } + destination.PowerState = &powerState + } else { + destination.PowerState = nil + } + + // PrivateFQDN + destination.PrivateFQDN = genruntime.ClonePointerToString(cluster.PrivateFQDN) + + // PrivateLinkResources + if cluster.PrivateLinkResources != nil { + privateLinkResourceList := make([]storage.PrivateLinkResource_STATUS, len(cluster.PrivateLinkResources)) + for privateLinkResourceIndex, privateLinkResourceItem := range cluster.PrivateLinkResources { + // Shadow the loop variable to avoid aliasing + privateLinkResourceItem := privateLinkResourceItem + var privateLinkResource storage.PrivateLinkResource_STATUS + err := privateLinkResourceItem.AssignProperties_To_PrivateLinkResource_STATUS(&privateLinkResource) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_PrivateLinkResource_STATUS() to populate field PrivateLinkResources") + } + privateLinkResourceList[privateLinkResourceIndex] = privateLinkResource + } + destination.PrivateLinkResources = privateLinkResourceList + } else { + destination.PrivateLinkResources = nil + } + + // ProvisioningState + destination.ProvisioningState = genruntime.ClonePointerToString(cluster.ProvisioningState) + + // PublicNetworkAccess + destination.PublicNetworkAccess = genruntime.ClonePointerToString(cluster.PublicNetworkAccess) + + // ResourceUID + destination.ResourceUID = genruntime.ClonePointerToString(cluster.ResourceUID) + + // SecurityProfile + if cluster.SecurityProfile != nil { + var securityProfile storage.ManagedClusterSecurityProfile_STATUS + err := cluster.SecurityProfile.AssignProperties_To_ManagedClusterSecurityProfile_STATUS(&securityProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterSecurityProfile_STATUS() to populate field SecurityProfile") + } + destination.SecurityProfile = &securityProfile + } else { + destination.SecurityProfile = nil + } + + // ServiceMeshProfile + if cluster.ServiceMeshProfile != nil { + var serviceMeshProfile storage.ServiceMeshProfile_STATUS + err := cluster.ServiceMeshProfile.AssignProperties_To_ServiceMeshProfile_STATUS(&serviceMeshProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ServiceMeshProfile_STATUS() to populate field ServiceMeshProfile") + } + destination.ServiceMeshProfile = &serviceMeshProfile + } else { + destination.ServiceMeshProfile = nil + } + + // ServicePrincipalProfile + if cluster.ServicePrincipalProfile != nil { + var servicePrincipalProfile storage.ManagedClusterServicePrincipalProfile_STATUS + err := cluster.ServicePrincipalProfile.AssignProperties_To_ManagedClusterServicePrincipalProfile_STATUS(&servicePrincipalProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterServicePrincipalProfile_STATUS() to populate field ServicePrincipalProfile") + } + destination.ServicePrincipalProfile = &servicePrincipalProfile + } else { + destination.ServicePrincipalProfile = nil + } + + // Sku + if cluster.Sku != nil { + var sku storage.ManagedClusterSKU_STATUS + err := cluster.Sku.AssignProperties_To_ManagedClusterSKU_STATUS(&sku) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterSKU_STATUS() to populate field Sku") + } + destination.Sku = &sku + } else { + destination.Sku = nil + } + + // StorageProfile + if cluster.StorageProfile != nil { + var storageProfile storage.ManagedClusterStorageProfile_STATUS + err := cluster.StorageProfile.AssignProperties_To_ManagedClusterStorageProfile_STATUS(&storageProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterStorageProfile_STATUS() to populate field StorageProfile") + } + destination.StorageProfile = &storageProfile + } else { + destination.StorageProfile = nil + } + + // SupportPlan + destination.SupportPlan = genruntime.ClonePointerToString(cluster.SupportPlan) + + // SystemData + if cluster.SystemData != nil { + var systemDatum storage.SystemData_STATUS + err := cluster.SystemData.AssignProperties_To_SystemData_STATUS(&systemDatum) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_SystemData_STATUS() to populate field SystemData") + } + destination.SystemData = &systemDatum + } else { + destination.SystemData = nil + } + + // Tags + destination.Tags = genruntime.CloneMapOfStringToString(cluster.Tags) + + // Type + destination.Type = genruntime.ClonePointerToString(cluster.Type) + + // UpgradeSettings + if cluster.UpgradeSettings != nil { + var upgradeSetting storage.ClusterUpgradeSettings_STATUS + err := cluster.UpgradeSettings.AssignProperties_To_ClusterUpgradeSettings_STATUS(&upgradeSetting) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ClusterUpgradeSettings_STATUS() to populate field UpgradeSettings") + } + destination.UpgradeSettings = &upgradeSetting + } else { + destination.UpgradeSettings = nil + } + + // WindowsProfile + if cluster.WindowsProfile != nil { + var windowsProfile storage.ManagedClusterWindowsProfile_STATUS + err := cluster.WindowsProfile.AssignProperties_To_ManagedClusterWindowsProfile_STATUS(&windowsProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterWindowsProfile_STATUS() to populate field WindowsProfile") + } + destination.WindowsProfile = &windowsProfile + } else { + destination.WindowsProfile = nil + } + + // WorkloadAutoScalerProfile + if cluster.WorkloadAutoScalerProfile != nil { + var workloadAutoScalerProfile storage.ManagedClusterWorkloadAutoScalerProfile_STATUS + err := cluster.WorkloadAutoScalerProfile.AssignProperties_To_ManagedClusterWorkloadAutoScalerProfile_STATUS(&workloadAutoScalerProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterWorkloadAutoScalerProfile_STATUS() to populate field WorkloadAutoScalerProfile") + } + destination.WorkloadAutoScalerProfile = &workloadAutoScalerProfile + } else { + destination.WorkloadAutoScalerProfile = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedCluster_STATUS interface (if implemented) to customize the conversion + var clusterAsAny any = cluster + if augmentedCluster, ok := clusterAsAny.(augmentConversionForManagedCluster_STATUS); ok { + err := augmentedCluster.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +type augmentConversionForManagedCluster_Spec interface { + AssignPropertiesFrom(src *storage.ManagedCluster_Spec) error + AssignPropertiesTo(dst *storage.ManagedCluster_Spec) error +} + +type augmentConversionForManagedCluster_STATUS interface { + AssignPropertiesFrom(src *storage.ManagedCluster_STATUS) error + AssignPropertiesTo(dst *storage.ManagedCluster_STATUS) error +} + +// Storage version of v1api20231001.ClusterUpgradeSettings +// Settings for upgrading a cluster. +type ClusterUpgradeSettings struct { + OverrideSettings *UpgradeOverrideSettings `json:"overrideSettings,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// AssignProperties_From_ClusterUpgradeSettings populates our ClusterUpgradeSettings from the provided source ClusterUpgradeSettings +func (settings *ClusterUpgradeSettings) AssignProperties_From_ClusterUpgradeSettings(source *storage.ClusterUpgradeSettings) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // OverrideSettings + if source.OverrideSettings != nil { + var overrideSetting UpgradeOverrideSettings + err := overrideSetting.AssignProperties_From_UpgradeOverrideSettings(source.OverrideSettings) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_UpgradeOverrideSettings() to populate field OverrideSettings") + } + settings.OverrideSettings = &overrideSetting + } else { + settings.OverrideSettings = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + settings.PropertyBag = propertyBag + } else { + settings.PropertyBag = nil + } + + // Invoke the augmentConversionForClusterUpgradeSettings interface (if implemented) to customize the conversion + var settingsAsAny any = settings + if augmentedSettings, ok := settingsAsAny.(augmentConversionForClusterUpgradeSettings); ok { + err := augmentedSettings.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_ClusterUpgradeSettings populates the provided destination ClusterUpgradeSettings from our ClusterUpgradeSettings +func (settings *ClusterUpgradeSettings) AssignProperties_To_ClusterUpgradeSettings(destination *storage.ClusterUpgradeSettings) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(settings.PropertyBag) + + // OverrideSettings + if settings.OverrideSettings != nil { + var overrideSetting storage.UpgradeOverrideSettings + err := settings.OverrideSettings.AssignProperties_To_UpgradeOverrideSettings(&overrideSetting) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_UpgradeOverrideSettings() to populate field OverrideSettings") + } + destination.OverrideSettings = &overrideSetting + } else { + destination.OverrideSettings = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForClusterUpgradeSettings interface (if implemented) to customize the conversion + var settingsAsAny any = settings + if augmentedSettings, ok := settingsAsAny.(augmentConversionForClusterUpgradeSettings); ok { + err := augmentedSettings.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +// Storage version of v1api20231001.ClusterUpgradeSettings_STATUS +// Settings for upgrading a cluster. +type ClusterUpgradeSettings_STATUS struct { + OverrideSettings *UpgradeOverrideSettings_STATUS `json:"overrideSettings,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// AssignProperties_From_ClusterUpgradeSettings_STATUS populates our ClusterUpgradeSettings_STATUS from the provided source ClusterUpgradeSettings_STATUS +func (settings *ClusterUpgradeSettings_STATUS) AssignProperties_From_ClusterUpgradeSettings_STATUS(source *storage.ClusterUpgradeSettings_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // OverrideSettings + if source.OverrideSettings != nil { + var overrideSetting UpgradeOverrideSettings_STATUS + err := overrideSetting.AssignProperties_From_UpgradeOverrideSettings_STATUS(source.OverrideSettings) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_UpgradeOverrideSettings_STATUS() to populate field OverrideSettings") + } + settings.OverrideSettings = &overrideSetting + } else { + settings.OverrideSettings = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + settings.PropertyBag = propertyBag + } else { + settings.PropertyBag = nil + } + + // Invoke the augmentConversionForClusterUpgradeSettings_STATUS interface (if implemented) to customize the conversion + var settingsAsAny any = settings + if augmentedSettings, ok := settingsAsAny.(augmentConversionForClusterUpgradeSettings_STATUS); ok { + err := augmentedSettings.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_ClusterUpgradeSettings_STATUS populates the provided destination ClusterUpgradeSettings_STATUS from our ClusterUpgradeSettings_STATUS +func (settings *ClusterUpgradeSettings_STATUS) AssignProperties_To_ClusterUpgradeSettings_STATUS(destination *storage.ClusterUpgradeSettings_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(settings.PropertyBag) + + // OverrideSettings + if settings.OverrideSettings != nil { + var overrideSetting storage.UpgradeOverrideSettings_STATUS + err := settings.OverrideSettings.AssignProperties_To_UpgradeOverrideSettings_STATUS(&overrideSetting) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_UpgradeOverrideSettings_STATUS() to populate field OverrideSettings") + } + destination.OverrideSettings = &overrideSetting + } else { + destination.OverrideSettings = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForClusterUpgradeSettings_STATUS interface (if implemented) to customize the conversion + var settingsAsAny any = settings + if augmentedSettings, ok := settingsAsAny.(augmentConversionForClusterUpgradeSettings_STATUS); ok { + err := augmentedSettings.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +// Storage version of v1api20231001.ContainerServiceLinuxProfile +// Profile for Linux VMs in the container service cluster. +type ContainerServiceLinuxProfile struct { + AdminUsername *string `json:"adminUsername,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Ssh *ContainerServiceSshConfiguration `json:"ssh,omitempty"` +} + +// AssignProperties_From_ContainerServiceLinuxProfile populates our ContainerServiceLinuxProfile from the provided source ContainerServiceLinuxProfile +func (profile *ContainerServiceLinuxProfile) AssignProperties_From_ContainerServiceLinuxProfile(source *storage.ContainerServiceLinuxProfile) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // AdminUsername + profile.AdminUsername = genruntime.ClonePointerToString(source.AdminUsername) + + // Ssh + if source.Ssh != nil { + var ssh ContainerServiceSshConfiguration + err := ssh.AssignProperties_From_ContainerServiceSshConfiguration(source.Ssh) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ContainerServiceSshConfiguration() to populate field Ssh") + } + profile.Ssh = &ssh + } else { + profile.Ssh = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + profile.PropertyBag = propertyBag + } else { + profile.PropertyBag = nil + } + + // Invoke the augmentConversionForContainerServiceLinuxProfile interface (if implemented) to customize the conversion + var profileAsAny any = profile + if augmentedProfile, ok := profileAsAny.(augmentConversionForContainerServiceLinuxProfile); ok { + err := augmentedProfile.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_ContainerServiceLinuxProfile populates the provided destination ContainerServiceLinuxProfile from our ContainerServiceLinuxProfile +func (profile *ContainerServiceLinuxProfile) AssignProperties_To_ContainerServiceLinuxProfile(destination *storage.ContainerServiceLinuxProfile) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) + + // AdminUsername + destination.AdminUsername = genruntime.ClonePointerToString(profile.AdminUsername) + + // Ssh + if profile.Ssh != nil { + var ssh storage.ContainerServiceSshConfiguration + err := profile.Ssh.AssignProperties_To_ContainerServiceSshConfiguration(&ssh) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ContainerServiceSshConfiguration() to populate field Ssh") + } + destination.Ssh = &ssh + } else { + destination.Ssh = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForContainerServiceLinuxProfile interface (if implemented) to customize the conversion + var profileAsAny any = profile + if augmentedProfile, ok := profileAsAny.(augmentConversionForContainerServiceLinuxProfile); ok { + err := augmentedProfile.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +// Storage version of v1api20231001.ContainerServiceLinuxProfile_STATUS +// Profile for Linux VMs in the container service cluster. +type ContainerServiceLinuxProfile_STATUS struct { + AdminUsername *string `json:"adminUsername,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Ssh *ContainerServiceSshConfiguration_STATUS `json:"ssh,omitempty"` +} + +// AssignProperties_From_ContainerServiceLinuxProfile_STATUS populates our ContainerServiceLinuxProfile_STATUS from the provided source ContainerServiceLinuxProfile_STATUS +func (profile *ContainerServiceLinuxProfile_STATUS) AssignProperties_From_ContainerServiceLinuxProfile_STATUS(source *storage.ContainerServiceLinuxProfile_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // AdminUsername + profile.AdminUsername = genruntime.ClonePointerToString(source.AdminUsername) + + // Ssh + if source.Ssh != nil { + var ssh ContainerServiceSshConfiguration_STATUS + err := ssh.AssignProperties_From_ContainerServiceSshConfiguration_STATUS(source.Ssh) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ContainerServiceSshConfiguration_STATUS() to populate field Ssh") + } + profile.Ssh = &ssh + } else { + profile.Ssh = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + profile.PropertyBag = propertyBag + } else { + profile.PropertyBag = nil + } + + // Invoke the augmentConversionForContainerServiceLinuxProfile_STATUS interface (if implemented) to customize the conversion + var profileAsAny any = profile + if augmentedProfile, ok := profileAsAny.(augmentConversionForContainerServiceLinuxProfile_STATUS); ok { + err := augmentedProfile.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_ContainerServiceLinuxProfile_STATUS populates the provided destination ContainerServiceLinuxProfile_STATUS from our ContainerServiceLinuxProfile_STATUS +func (profile *ContainerServiceLinuxProfile_STATUS) AssignProperties_To_ContainerServiceLinuxProfile_STATUS(destination *storage.ContainerServiceLinuxProfile_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) + + // AdminUsername + destination.AdminUsername = genruntime.ClonePointerToString(profile.AdminUsername) + + // Ssh + if profile.Ssh != nil { + var ssh storage.ContainerServiceSshConfiguration_STATUS + err := profile.Ssh.AssignProperties_To_ContainerServiceSshConfiguration_STATUS(&ssh) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ContainerServiceSshConfiguration_STATUS() to populate field Ssh") + } + destination.Ssh = &ssh + } else { + destination.Ssh = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForContainerServiceLinuxProfile_STATUS interface (if implemented) to customize the conversion + var profileAsAny any = profile + if augmentedProfile, ok := profileAsAny.(augmentConversionForContainerServiceLinuxProfile_STATUS); ok { + err := augmentedProfile.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +// Storage version of v1api20231001.ContainerServiceNetworkProfile +// Profile of network configuration. +type ContainerServiceNetworkProfile struct { + DnsServiceIP *string `json:"dnsServiceIP,omitempty"` + IpFamilies []string `json:"ipFamilies,omitempty"` + LoadBalancerProfile *ManagedClusterLoadBalancerProfile `json:"loadBalancerProfile,omitempty"` + LoadBalancerSku *string `json:"loadBalancerSku,omitempty"` + NatGatewayProfile *ManagedClusterNATGatewayProfile `json:"natGatewayProfile,omitempty"` + NetworkDataplane *string `json:"networkDataplane,omitempty"` + NetworkMode *string `json:"networkMode,omitempty"` + NetworkPlugin *string `json:"networkPlugin,omitempty"` + NetworkPluginMode *string `json:"networkPluginMode,omitempty"` + NetworkPolicy *string `json:"networkPolicy,omitempty"` + OutboundType *string `json:"outboundType,omitempty"` + PodCidr *string `json:"podCidr,omitempty"` + PodCidrs []string `json:"podCidrs,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + ServiceCidr *string `json:"serviceCidr,omitempty"` + ServiceCidrs []string `json:"serviceCidrs,omitempty"` +} + +// AssignProperties_From_ContainerServiceNetworkProfile populates our ContainerServiceNetworkProfile from the provided source ContainerServiceNetworkProfile +func (profile *ContainerServiceNetworkProfile) AssignProperties_From_ContainerServiceNetworkProfile(source *storage.ContainerServiceNetworkProfile) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // AdvancedNetworking + if source.AdvancedNetworking != nil { + var advancedNetworking compat.AdvancedNetworking + err := advancedNetworking.AssignProperties_From_AdvancedNetworking(source.AdvancedNetworking) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_AdvancedNetworking() to populate field AdvancedNetworking") + } + propertyBag.Add("AdvancedNetworking", advancedNetworking) + } else { + propertyBag.Remove("AdvancedNetworking") + } + + // DnsServiceIP + profile.DnsServiceIP = genruntime.ClonePointerToString(source.DnsServiceIP) + + // IpFamilies + profile.IpFamilies = genruntime.CloneSliceOfString(source.IpFamilies) + + // LoadBalancerProfile + if source.LoadBalancerProfile != nil { + var loadBalancerProfile ManagedClusterLoadBalancerProfile + err := loadBalancerProfile.AssignProperties_From_ManagedClusterLoadBalancerProfile(source.LoadBalancerProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterLoadBalancerProfile() to populate field LoadBalancerProfile") + } + profile.LoadBalancerProfile = &loadBalancerProfile + } else { + profile.LoadBalancerProfile = nil + } + + // LoadBalancerSku + profile.LoadBalancerSku = genruntime.ClonePointerToString(source.LoadBalancerSku) + + // NatGatewayProfile + if source.NatGatewayProfile != nil { + var natGatewayProfile ManagedClusterNATGatewayProfile + err := natGatewayProfile.AssignProperties_From_ManagedClusterNATGatewayProfile(source.NatGatewayProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterNATGatewayProfile() to populate field NatGatewayProfile") + } + profile.NatGatewayProfile = &natGatewayProfile + } else { + profile.NatGatewayProfile = nil + } + + // NetworkDataplane + profile.NetworkDataplane = genruntime.ClonePointerToString(source.NetworkDataplane) + + // NetworkMode + profile.NetworkMode = genruntime.ClonePointerToString(source.NetworkMode) + + // NetworkPlugin + profile.NetworkPlugin = genruntime.ClonePointerToString(source.NetworkPlugin) + + // NetworkPluginMode + profile.NetworkPluginMode = genruntime.ClonePointerToString(source.NetworkPluginMode) + + // NetworkPolicy + profile.NetworkPolicy = genruntime.ClonePointerToString(source.NetworkPolicy) + + // OutboundType + profile.OutboundType = genruntime.ClonePointerToString(source.OutboundType) + + // PodCidr + profile.PodCidr = genruntime.ClonePointerToString(source.PodCidr) + + // PodCidrs + profile.PodCidrs = genruntime.CloneSliceOfString(source.PodCidrs) + + // ServiceCidr + profile.ServiceCidr = genruntime.ClonePointerToString(source.ServiceCidr) + + // ServiceCidrs + profile.ServiceCidrs = genruntime.CloneSliceOfString(source.ServiceCidrs) + + // Update the property bag + if len(propertyBag) > 0 { + profile.PropertyBag = propertyBag + } else { + profile.PropertyBag = nil + } + + // Invoke the augmentConversionForContainerServiceNetworkProfile interface (if implemented) to customize the conversion + var profileAsAny any = profile + if augmentedProfile, ok := profileAsAny.(augmentConversionForContainerServiceNetworkProfile); ok { + err := augmentedProfile.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_ContainerServiceNetworkProfile populates the provided destination ContainerServiceNetworkProfile from our ContainerServiceNetworkProfile +func (profile *ContainerServiceNetworkProfile) AssignProperties_To_ContainerServiceNetworkProfile(destination *storage.ContainerServiceNetworkProfile) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) + + // AdvancedNetworking + if propertyBag.Contains("AdvancedNetworking") { + var advancedNetworkingFromBag compat.AdvancedNetworking + err := propertyBag.Pull("AdvancedNetworking", &advancedNetworkingFromBag) + if err != nil { + return errors.Wrap(err, "pulling 'AdvancedNetworking' from propertyBag") + } + + var advancedNetworking storage.AdvancedNetworking + err = advancedNetworkingFromBag.AssignProperties_To_AdvancedNetworking(&advancedNetworking) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_AdvancedNetworking() to populate field AdvancedNetworking") + } + destination.AdvancedNetworking = &advancedNetworking + } else { + destination.AdvancedNetworking = nil + } + + // DnsServiceIP + destination.DnsServiceIP = genruntime.ClonePointerToString(profile.DnsServiceIP) + + // IpFamilies + destination.IpFamilies = genruntime.CloneSliceOfString(profile.IpFamilies) + + // LoadBalancerProfile + if profile.LoadBalancerProfile != nil { + var loadBalancerProfile storage.ManagedClusterLoadBalancerProfile + err := profile.LoadBalancerProfile.AssignProperties_To_ManagedClusterLoadBalancerProfile(&loadBalancerProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterLoadBalancerProfile() to populate field LoadBalancerProfile") + } + destination.LoadBalancerProfile = &loadBalancerProfile + } else { + destination.LoadBalancerProfile = nil + } + + // LoadBalancerSku + destination.LoadBalancerSku = genruntime.ClonePointerToString(profile.LoadBalancerSku) + + // NatGatewayProfile + if profile.NatGatewayProfile != nil { + var natGatewayProfile storage.ManagedClusterNATGatewayProfile + err := profile.NatGatewayProfile.AssignProperties_To_ManagedClusterNATGatewayProfile(&natGatewayProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterNATGatewayProfile() to populate field NatGatewayProfile") + } + destination.NatGatewayProfile = &natGatewayProfile + } else { + destination.NatGatewayProfile = nil + } + + // NetworkDataplane + destination.NetworkDataplane = genruntime.ClonePointerToString(profile.NetworkDataplane) + + // NetworkMode + destination.NetworkMode = genruntime.ClonePointerToString(profile.NetworkMode) + + // NetworkPlugin + destination.NetworkPlugin = genruntime.ClonePointerToString(profile.NetworkPlugin) + + // NetworkPluginMode + destination.NetworkPluginMode = genruntime.ClonePointerToString(profile.NetworkPluginMode) + + // NetworkPolicy + destination.NetworkPolicy = genruntime.ClonePointerToString(profile.NetworkPolicy) + + // OutboundType + destination.OutboundType = genruntime.ClonePointerToString(profile.OutboundType) + + // PodCidr + destination.PodCidr = genruntime.ClonePointerToString(profile.PodCidr) + + // PodCidrs + destination.PodCidrs = genruntime.CloneSliceOfString(profile.PodCidrs) + + // ServiceCidr + destination.ServiceCidr = genruntime.ClonePointerToString(profile.ServiceCidr) + + // ServiceCidrs + destination.ServiceCidrs = genruntime.CloneSliceOfString(profile.ServiceCidrs) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForContainerServiceNetworkProfile interface (if implemented) to customize the conversion + var profileAsAny any = profile + if augmentedProfile, ok := profileAsAny.(augmentConversionForContainerServiceNetworkProfile); ok { + err := augmentedProfile.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +// Storage version of v1api20231001.ContainerServiceNetworkProfile_STATUS +// Profile of network configuration. +type ContainerServiceNetworkProfile_STATUS struct { + DnsServiceIP *string `json:"dnsServiceIP,omitempty"` + IpFamilies []string `json:"ipFamilies,omitempty"` + LoadBalancerProfile *ManagedClusterLoadBalancerProfile_STATUS `json:"loadBalancerProfile,omitempty"` + LoadBalancerSku *string `json:"loadBalancerSku,omitempty"` + NatGatewayProfile *ManagedClusterNATGatewayProfile_STATUS `json:"natGatewayProfile,omitempty"` + NetworkDataplane *string `json:"networkDataplane,omitempty"` + NetworkMode *string `json:"networkMode,omitempty"` + NetworkPlugin *string `json:"networkPlugin,omitempty"` + NetworkPluginMode *string `json:"networkPluginMode,omitempty"` + NetworkPolicy *string `json:"networkPolicy,omitempty"` + OutboundType *string `json:"outboundType,omitempty"` + PodCidr *string `json:"podCidr,omitempty"` + PodCidrs []string `json:"podCidrs,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + ServiceCidr *string `json:"serviceCidr,omitempty"` + ServiceCidrs []string `json:"serviceCidrs,omitempty"` +} + +// AssignProperties_From_ContainerServiceNetworkProfile_STATUS populates our ContainerServiceNetworkProfile_STATUS from the provided source ContainerServiceNetworkProfile_STATUS +func (profile *ContainerServiceNetworkProfile_STATUS) AssignProperties_From_ContainerServiceNetworkProfile_STATUS(source *storage.ContainerServiceNetworkProfile_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // AdvancedNetworking + if source.AdvancedNetworking != nil { + var advancedNetworking compat.AdvancedNetworking_STATUS + err := advancedNetworking.AssignProperties_From_AdvancedNetworking_STATUS(source.AdvancedNetworking) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_AdvancedNetworking_STATUS() to populate field AdvancedNetworking") + } + propertyBag.Add("AdvancedNetworking", advancedNetworking) + } else { + propertyBag.Remove("AdvancedNetworking") + } + + // DnsServiceIP + profile.DnsServiceIP = genruntime.ClonePointerToString(source.DnsServiceIP) + + // IpFamilies + profile.IpFamilies = genruntime.CloneSliceOfString(source.IpFamilies) + + // LoadBalancerProfile + if source.LoadBalancerProfile != nil { + var loadBalancerProfile ManagedClusterLoadBalancerProfile_STATUS + err := loadBalancerProfile.AssignProperties_From_ManagedClusterLoadBalancerProfile_STATUS(source.LoadBalancerProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterLoadBalancerProfile_STATUS() to populate field LoadBalancerProfile") + } + profile.LoadBalancerProfile = &loadBalancerProfile + } else { + profile.LoadBalancerProfile = nil + } + + // LoadBalancerSku + profile.LoadBalancerSku = genruntime.ClonePointerToString(source.LoadBalancerSku) + + // NatGatewayProfile + if source.NatGatewayProfile != nil { + var natGatewayProfile ManagedClusterNATGatewayProfile_STATUS + err := natGatewayProfile.AssignProperties_From_ManagedClusterNATGatewayProfile_STATUS(source.NatGatewayProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterNATGatewayProfile_STATUS() to populate field NatGatewayProfile") + } + profile.NatGatewayProfile = &natGatewayProfile + } else { + profile.NatGatewayProfile = nil + } + + // NetworkDataplane + profile.NetworkDataplane = genruntime.ClonePointerToString(source.NetworkDataplane) + + // NetworkMode + profile.NetworkMode = genruntime.ClonePointerToString(source.NetworkMode) + + // NetworkPlugin + profile.NetworkPlugin = genruntime.ClonePointerToString(source.NetworkPlugin) + + // NetworkPluginMode + profile.NetworkPluginMode = genruntime.ClonePointerToString(source.NetworkPluginMode) + + // NetworkPolicy + profile.NetworkPolicy = genruntime.ClonePointerToString(source.NetworkPolicy) + + // OutboundType + profile.OutboundType = genruntime.ClonePointerToString(source.OutboundType) + + // PodCidr + profile.PodCidr = genruntime.ClonePointerToString(source.PodCidr) + + // PodCidrs + profile.PodCidrs = genruntime.CloneSliceOfString(source.PodCidrs) + + // ServiceCidr + profile.ServiceCidr = genruntime.ClonePointerToString(source.ServiceCidr) + + // ServiceCidrs + profile.ServiceCidrs = genruntime.CloneSliceOfString(source.ServiceCidrs) + + // Update the property bag + if len(propertyBag) > 0 { + profile.PropertyBag = propertyBag + } else { + profile.PropertyBag = nil + } + + // Invoke the augmentConversionForContainerServiceNetworkProfile_STATUS interface (if implemented) to customize the conversion + var profileAsAny any = profile + if augmentedProfile, ok := profileAsAny.(augmentConversionForContainerServiceNetworkProfile_STATUS); ok { + err := augmentedProfile.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_ContainerServiceNetworkProfile_STATUS populates the provided destination ContainerServiceNetworkProfile_STATUS from our ContainerServiceNetworkProfile_STATUS +func (profile *ContainerServiceNetworkProfile_STATUS) AssignProperties_To_ContainerServiceNetworkProfile_STATUS(destination *storage.ContainerServiceNetworkProfile_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) + + // AdvancedNetworking + if propertyBag.Contains("AdvancedNetworking") { + var advancedNetworkingFromBag compat.AdvancedNetworking_STATUS + err := propertyBag.Pull("AdvancedNetworking", &advancedNetworkingFromBag) + if err != nil { + return errors.Wrap(err, "pulling 'AdvancedNetworking' from propertyBag") + } + + var advancedNetworking storage.AdvancedNetworking_STATUS + err = advancedNetworkingFromBag.AssignProperties_To_AdvancedNetworking_STATUS(&advancedNetworking) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_AdvancedNetworking_STATUS() to populate field AdvancedNetworking") + } + destination.AdvancedNetworking = &advancedNetworking + } else { + destination.AdvancedNetworking = nil + } + + // DnsServiceIP + destination.DnsServiceIP = genruntime.ClonePointerToString(profile.DnsServiceIP) + + // IpFamilies + destination.IpFamilies = genruntime.CloneSliceOfString(profile.IpFamilies) + + // LoadBalancerProfile + if profile.LoadBalancerProfile != nil { + var loadBalancerProfile storage.ManagedClusterLoadBalancerProfile_STATUS + err := profile.LoadBalancerProfile.AssignProperties_To_ManagedClusterLoadBalancerProfile_STATUS(&loadBalancerProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterLoadBalancerProfile_STATUS() to populate field LoadBalancerProfile") + } + destination.LoadBalancerProfile = &loadBalancerProfile + } else { + destination.LoadBalancerProfile = nil + } + + // LoadBalancerSku + destination.LoadBalancerSku = genruntime.ClonePointerToString(profile.LoadBalancerSku) + + // NatGatewayProfile + if profile.NatGatewayProfile != nil { + var natGatewayProfile storage.ManagedClusterNATGatewayProfile_STATUS + err := profile.NatGatewayProfile.AssignProperties_To_ManagedClusterNATGatewayProfile_STATUS(&natGatewayProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterNATGatewayProfile_STATUS() to populate field NatGatewayProfile") + } + destination.NatGatewayProfile = &natGatewayProfile + } else { + destination.NatGatewayProfile = nil + } + + // NetworkDataplane + destination.NetworkDataplane = genruntime.ClonePointerToString(profile.NetworkDataplane) + + // NetworkMode + destination.NetworkMode = genruntime.ClonePointerToString(profile.NetworkMode) + + // NetworkPlugin + destination.NetworkPlugin = genruntime.ClonePointerToString(profile.NetworkPlugin) + + // NetworkPluginMode + destination.NetworkPluginMode = genruntime.ClonePointerToString(profile.NetworkPluginMode) + + // NetworkPolicy + destination.NetworkPolicy = genruntime.ClonePointerToString(profile.NetworkPolicy) + + // OutboundType + destination.OutboundType = genruntime.ClonePointerToString(profile.OutboundType) + + // PodCidr + destination.PodCidr = genruntime.ClonePointerToString(profile.PodCidr) + + // PodCidrs + destination.PodCidrs = genruntime.CloneSliceOfString(profile.PodCidrs) + + // ServiceCidr + destination.ServiceCidr = genruntime.ClonePointerToString(profile.ServiceCidr) + + // ServiceCidrs + destination.ServiceCidrs = genruntime.CloneSliceOfString(profile.ServiceCidrs) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForContainerServiceNetworkProfile_STATUS interface (if implemented) to customize the conversion + var profileAsAny any = profile + if augmentedProfile, ok := profileAsAny.(augmentConversionForContainerServiceNetworkProfile_STATUS); ok { + err := augmentedProfile.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +// Storage version of v1api20231001.ExtendedLocation +// The complex type of the extended location. +type ExtendedLocation struct { + Name *string `json:"name,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Type *string `json:"type,omitempty"` +} + +// AssignProperties_From_ExtendedLocation populates our ExtendedLocation from the provided source ExtendedLocation +func (location *ExtendedLocation) AssignProperties_From_ExtendedLocation(source *storage.ExtendedLocation) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // Name + location.Name = genruntime.ClonePointerToString(source.Name) + + // Type + location.Type = genruntime.ClonePointerToString(source.Type) + + // Update the property bag + if len(propertyBag) > 0 { + location.PropertyBag = propertyBag + } else { + location.PropertyBag = nil + } + + // Invoke the augmentConversionForExtendedLocation interface (if implemented) to customize the conversion + var locationAsAny any = location + if augmentedLocation, ok := locationAsAny.(augmentConversionForExtendedLocation); ok { + err := augmentedLocation.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_ExtendedLocation populates the provided destination ExtendedLocation from our ExtendedLocation +func (location *ExtendedLocation) AssignProperties_To_ExtendedLocation(destination *storage.ExtendedLocation) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(location.PropertyBag) + + // Name + destination.Name = genruntime.ClonePointerToString(location.Name) + + // Type + destination.Type = genruntime.ClonePointerToString(location.Type) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForExtendedLocation interface (if implemented) to customize the conversion + var locationAsAny any = location + if augmentedLocation, ok := locationAsAny.(augmentConversionForExtendedLocation); ok { + err := augmentedLocation.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +// Storage version of v1api20231001.ExtendedLocation_STATUS +// The complex type of the extended location. +type ExtendedLocation_STATUS struct { + Name *string `json:"name,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Type *string `json:"type,omitempty"` +} + +// AssignProperties_From_ExtendedLocation_STATUS populates our ExtendedLocation_STATUS from the provided source ExtendedLocation_STATUS +func (location *ExtendedLocation_STATUS) AssignProperties_From_ExtendedLocation_STATUS(source *storage.ExtendedLocation_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // Name + location.Name = genruntime.ClonePointerToString(source.Name) + + // Type + location.Type = genruntime.ClonePointerToString(source.Type) + + // Update the property bag + if len(propertyBag) > 0 { + location.PropertyBag = propertyBag + } else { + location.PropertyBag = nil + } + + // Invoke the augmentConversionForExtendedLocation_STATUS interface (if implemented) to customize the conversion + var locationAsAny any = location + if augmentedLocation, ok := locationAsAny.(augmentConversionForExtendedLocation_STATUS); ok { + err := augmentedLocation.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_ExtendedLocation_STATUS populates the provided destination ExtendedLocation_STATUS from our ExtendedLocation_STATUS +func (location *ExtendedLocation_STATUS) AssignProperties_To_ExtendedLocation_STATUS(destination *storage.ExtendedLocation_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(location.PropertyBag) + + // Name + destination.Name = genruntime.ClonePointerToString(location.Name) + + // Type + destination.Type = genruntime.ClonePointerToString(location.Type) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForExtendedLocation_STATUS interface (if implemented) to customize the conversion + var locationAsAny any = location + if augmentedLocation, ok := locationAsAny.(augmentConversionForExtendedLocation_STATUS); ok { + err := augmentedLocation.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +// Storage version of v1api20231001.ManagedClusterAADProfile +// For more details see [managed AAD on AKS](https://docs.microsoft.com/azure/aks/managed-aad). +type ManagedClusterAADProfile struct { + AdminGroupObjectIDs []string `json:"adminGroupObjectIDs,omitempty"` + ClientAppID *string `json:"clientAppID,omitempty"` + EnableAzureRBAC *bool `json:"enableAzureRBAC,omitempty"` + Managed *bool `json:"managed,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + ServerAppID *string `json:"serverAppID,omitempty"` + ServerAppSecret *string `json:"serverAppSecret,omitempty"` + TenantID *string `json:"tenantID,omitempty"` +} + +// AssignProperties_From_ManagedClusterAADProfile populates our ManagedClusterAADProfile from the provided source ManagedClusterAADProfile +func (profile *ManagedClusterAADProfile) AssignProperties_From_ManagedClusterAADProfile(source *storage.ManagedClusterAADProfile) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // AdminGroupObjectIDs + profile.AdminGroupObjectIDs = genruntime.CloneSliceOfString(source.AdminGroupObjectIDs) + + // ClientAppID + profile.ClientAppID = genruntime.ClonePointerToString(source.ClientAppID) + + // EnableAzureRBAC + if source.EnableAzureRBAC != nil { + enableAzureRBAC := *source.EnableAzureRBAC + profile.EnableAzureRBAC = &enableAzureRBAC + } else { + profile.EnableAzureRBAC = nil + } + + // Managed + if source.Managed != nil { + managed := *source.Managed + profile.Managed = &managed + } else { + profile.Managed = nil + } + + // ServerAppID + profile.ServerAppID = genruntime.ClonePointerToString(source.ServerAppID) + + // ServerAppSecret + profile.ServerAppSecret = genruntime.ClonePointerToString(source.ServerAppSecret) + + // TenantID + profile.TenantID = genruntime.ClonePointerToString(source.TenantID) + + // Update the property bag + if len(propertyBag) > 0 { + profile.PropertyBag = propertyBag + } else { + profile.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterAADProfile interface (if implemented) to customize the conversion + var profileAsAny any = profile + if augmentedProfile, ok := profileAsAny.(augmentConversionForManagedClusterAADProfile); ok { + err := augmentedProfile.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterAADProfile populates the provided destination ManagedClusterAADProfile from our ManagedClusterAADProfile +func (profile *ManagedClusterAADProfile) AssignProperties_To_ManagedClusterAADProfile(destination *storage.ManagedClusterAADProfile) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) + + // AdminGroupObjectIDs + destination.AdminGroupObjectIDs = genruntime.CloneSliceOfString(profile.AdminGroupObjectIDs) + + // ClientAppID + destination.ClientAppID = genruntime.ClonePointerToString(profile.ClientAppID) + + // EnableAzureRBAC + if profile.EnableAzureRBAC != nil { + enableAzureRBAC := *profile.EnableAzureRBAC + destination.EnableAzureRBAC = &enableAzureRBAC + } else { + destination.EnableAzureRBAC = nil + } + + // Managed + if profile.Managed != nil { + managed := *profile.Managed + destination.Managed = &managed + } else { + destination.Managed = nil + } + + // ServerAppID + destination.ServerAppID = genruntime.ClonePointerToString(profile.ServerAppID) + + // ServerAppSecret + destination.ServerAppSecret = genruntime.ClonePointerToString(profile.ServerAppSecret) + + // TenantID + destination.TenantID = genruntime.ClonePointerToString(profile.TenantID) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterAADProfile interface (if implemented) to customize the conversion + var profileAsAny any = profile + if augmentedProfile, ok := profileAsAny.(augmentConversionForManagedClusterAADProfile); ok { + err := augmentedProfile.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +// Storage version of v1api20231001.ManagedClusterAADProfile_STATUS +// For more details see [managed AAD on AKS](https://docs.microsoft.com/azure/aks/managed-aad). +type ManagedClusterAADProfile_STATUS struct { + AdminGroupObjectIDs []string `json:"adminGroupObjectIDs,omitempty"` + ClientAppID *string `json:"clientAppID,omitempty"` + EnableAzureRBAC *bool `json:"enableAzureRBAC,omitempty"` + Managed *bool `json:"managed,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + ServerAppID *string `json:"serverAppID,omitempty"` + ServerAppSecret *string `json:"serverAppSecret,omitempty"` + TenantID *string `json:"tenantID,omitempty"` +} + +// AssignProperties_From_ManagedClusterAADProfile_STATUS populates our ManagedClusterAADProfile_STATUS from the provided source ManagedClusterAADProfile_STATUS +func (profile *ManagedClusterAADProfile_STATUS) AssignProperties_From_ManagedClusterAADProfile_STATUS(source *storage.ManagedClusterAADProfile_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // AdminGroupObjectIDs + profile.AdminGroupObjectIDs = genruntime.CloneSliceOfString(source.AdminGroupObjectIDs) + + // ClientAppID + profile.ClientAppID = genruntime.ClonePointerToString(source.ClientAppID) + + // EnableAzureRBAC + if source.EnableAzureRBAC != nil { + enableAzureRBAC := *source.EnableAzureRBAC + profile.EnableAzureRBAC = &enableAzureRBAC + } else { + profile.EnableAzureRBAC = nil + } + + // Managed + if source.Managed != nil { + managed := *source.Managed + profile.Managed = &managed + } else { + profile.Managed = nil + } + + // ServerAppID + profile.ServerAppID = genruntime.ClonePointerToString(source.ServerAppID) + + // ServerAppSecret + profile.ServerAppSecret = genruntime.ClonePointerToString(source.ServerAppSecret) + + // TenantID + profile.TenantID = genruntime.ClonePointerToString(source.TenantID) + + // Update the property bag + if len(propertyBag) > 0 { + profile.PropertyBag = propertyBag + } else { + profile.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterAADProfile_STATUS interface (if implemented) to customize the conversion + var profileAsAny any = profile + if augmentedProfile, ok := profileAsAny.(augmentConversionForManagedClusterAADProfile_STATUS); ok { + err := augmentedProfile.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterAADProfile_STATUS populates the provided destination ManagedClusterAADProfile_STATUS from our ManagedClusterAADProfile_STATUS +func (profile *ManagedClusterAADProfile_STATUS) AssignProperties_To_ManagedClusterAADProfile_STATUS(destination *storage.ManagedClusterAADProfile_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) + + // AdminGroupObjectIDs + destination.AdminGroupObjectIDs = genruntime.CloneSliceOfString(profile.AdminGroupObjectIDs) + + // ClientAppID + destination.ClientAppID = genruntime.ClonePointerToString(profile.ClientAppID) + + // EnableAzureRBAC + if profile.EnableAzureRBAC != nil { + enableAzureRBAC := *profile.EnableAzureRBAC + destination.EnableAzureRBAC = &enableAzureRBAC + } else { + destination.EnableAzureRBAC = nil + } + + // Managed + if profile.Managed != nil { + managed := *profile.Managed + destination.Managed = &managed + } else { + destination.Managed = nil + } + + // ServerAppID + destination.ServerAppID = genruntime.ClonePointerToString(profile.ServerAppID) + + // ServerAppSecret + destination.ServerAppSecret = genruntime.ClonePointerToString(profile.ServerAppSecret) + + // TenantID + destination.TenantID = genruntime.ClonePointerToString(profile.TenantID) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterAADProfile_STATUS interface (if implemented) to customize the conversion + var profileAsAny any = profile + if augmentedProfile, ok := profileAsAny.(augmentConversionForManagedClusterAADProfile_STATUS); ok { + err := augmentedProfile.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +// Storage version of v1api20231001.ManagedClusterAddonProfile +// A Kubernetes add-on profile for a managed cluster. +type ManagedClusterAddonProfile struct { + Config map[string]string `json:"config,omitempty"` + Enabled *bool `json:"enabled,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// AssignProperties_From_ManagedClusterAddonProfile populates our ManagedClusterAddonProfile from the provided source ManagedClusterAddonProfile +func (profile *ManagedClusterAddonProfile) AssignProperties_From_ManagedClusterAddonProfile(source *storage.ManagedClusterAddonProfile) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // Config + profile.Config = genruntime.CloneMapOfStringToString(source.Config) + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + profile.Enabled = &enabled + } else { + profile.Enabled = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + profile.PropertyBag = propertyBag + } else { + profile.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterAddonProfile interface (if implemented) to customize the conversion + var profileAsAny any = profile + if augmentedProfile, ok := profileAsAny.(augmentConversionForManagedClusterAddonProfile); ok { + err := augmentedProfile.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterAddonProfile populates the provided destination ManagedClusterAddonProfile from our ManagedClusterAddonProfile +func (profile *ManagedClusterAddonProfile) AssignProperties_To_ManagedClusterAddonProfile(destination *storage.ManagedClusterAddonProfile) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) + + // Config + destination.Config = genruntime.CloneMapOfStringToString(profile.Config) + + // Enabled + if profile.Enabled != nil { + enabled := *profile.Enabled + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterAddonProfile interface (if implemented) to customize the conversion + var profileAsAny any = profile + if augmentedProfile, ok := profileAsAny.(augmentConversionForManagedClusterAddonProfile); ok { + err := augmentedProfile.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +// Storage version of v1api20231001.ManagedClusterAddonProfile_STATUS +// A Kubernetes add-on profile for a managed cluster. +type ManagedClusterAddonProfile_STATUS struct { + Config map[string]string `json:"config,omitempty"` + Enabled *bool `json:"enabled,omitempty"` + Identity *UserAssignedIdentity_STATUS `json:"identity,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// AssignProperties_From_ManagedClusterAddonProfile_STATUS populates our ManagedClusterAddonProfile_STATUS from the provided source ManagedClusterAddonProfile_STATUS +func (profile *ManagedClusterAddonProfile_STATUS) AssignProperties_From_ManagedClusterAddonProfile_STATUS(source *storage.ManagedClusterAddonProfile_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // Config + profile.Config = genruntime.CloneMapOfStringToString(source.Config) + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + profile.Enabled = &enabled + } else { + profile.Enabled = nil + } + + // Identity + if source.Identity != nil { + var identity UserAssignedIdentity_STATUS + err := identity.AssignProperties_From_UserAssignedIdentity_STATUS(source.Identity) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_UserAssignedIdentity_STATUS() to populate field Identity") + } + profile.Identity = &identity + } else { + profile.Identity = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + profile.PropertyBag = propertyBag + } else { + profile.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterAddonProfile_STATUS interface (if implemented) to customize the conversion + var profileAsAny any = profile + if augmentedProfile, ok := profileAsAny.(augmentConversionForManagedClusterAddonProfile_STATUS); ok { + err := augmentedProfile.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterAddonProfile_STATUS populates the provided destination ManagedClusterAddonProfile_STATUS from our ManagedClusterAddonProfile_STATUS +func (profile *ManagedClusterAddonProfile_STATUS) AssignProperties_To_ManagedClusterAddonProfile_STATUS(destination *storage.ManagedClusterAddonProfile_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) + + // Config + destination.Config = genruntime.CloneMapOfStringToString(profile.Config) + + // Enabled + if profile.Enabled != nil { + enabled := *profile.Enabled + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // Identity + if profile.Identity != nil { + var identity storage.UserAssignedIdentity_STATUS + err := profile.Identity.AssignProperties_To_UserAssignedIdentity_STATUS(&identity) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_UserAssignedIdentity_STATUS() to populate field Identity") + } + destination.Identity = &identity + } else { + destination.Identity = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterAddonProfile_STATUS interface (if implemented) to customize the conversion + var profileAsAny any = profile + if augmentedProfile, ok := profileAsAny.(augmentConversionForManagedClusterAddonProfile_STATUS); ok { + err := augmentedProfile.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +// Storage version of v1api20231001.ManagedClusterAgentPoolProfile +// Profile for the container service agent pool. +type ManagedClusterAgentPoolProfile struct { + AvailabilityZones []string `json:"availabilityZones,omitempty"` + + // CapacityReservationGroupReference: AKS will associate the specified agent pool with the Capacity Reservation Group. + CapacityReservationGroupReference *genruntime.ResourceReference `armReference:"CapacityReservationGroupID" json:"capacityReservationGroupReference,omitempty"` + Count *int `json:"count,omitempty"` + CreationData *CreationData `json:"creationData,omitempty"` + EnableAutoScaling *bool `json:"enableAutoScaling,omitempty"` + EnableEncryptionAtHost *bool `json:"enableEncryptionAtHost,omitempty"` + EnableFIPS *bool `json:"enableFIPS,omitempty"` + EnableNodePublicIP *bool `json:"enableNodePublicIP,omitempty"` + EnableUltraSSD *bool `json:"enableUltraSSD,omitempty"` + GpuInstanceProfile *string `json:"gpuInstanceProfile,omitempty"` + + // HostGroupReference: This is of the form: + // /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. + // For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). + HostGroupReference *genruntime.ResourceReference `armReference:"HostGroupID" json:"hostGroupReference,omitempty"` + KubeletConfig *KubeletConfig `json:"kubeletConfig,omitempty"` + KubeletDiskType *string `json:"kubeletDiskType,omitempty"` + LinuxOSConfig *LinuxOSConfig `json:"linuxOSConfig,omitempty"` + MaxCount *int `json:"maxCount,omitempty"` + MaxPods *int `json:"maxPods,omitempty"` + MinCount *int `json:"minCount,omitempty"` + Mode *string `json:"mode,omitempty"` + Name *string `json:"name,omitempty"` + NetworkProfile *AgentPoolNetworkProfile `json:"networkProfile,omitempty"` + NodeLabels map[string]string `json:"nodeLabels,omitempty" serializationType:"explicitEmptyCollection"` + + // NodePublicIPPrefixReference: This is of the form: + // /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} + NodePublicIPPrefixReference *genruntime.ResourceReference `armReference:"NodePublicIPPrefixID" json:"nodePublicIPPrefixReference,omitempty"` + NodeTaints []string `json:"nodeTaints,omitempty" serializationType:"explicitEmptyCollection"` + OrchestratorVersion *string `json:"orchestratorVersion,omitempty"` + OsDiskSizeGB *int `json:"osDiskSizeGB,omitempty"` + OsDiskType *string `json:"osDiskType,omitempty"` + OsSKU *string `json:"osSKU,omitempty"` + OsType *string `json:"osType,omitempty"` + + // PodSubnetReference: If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). + // This is of the form: + // /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + PodSubnetReference *genruntime.ResourceReference `armReference:"PodSubnetID" json:"podSubnetReference,omitempty"` + PowerState *PowerState `json:"powerState,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + + // ProximityPlacementGroupReference: The ID for Proximity Placement Group. + ProximityPlacementGroupReference *genruntime.ResourceReference `armReference:"ProximityPlacementGroupID" json:"proximityPlacementGroupReference,omitempty"` + ScaleDownMode *string `json:"scaleDownMode,omitempty"` + ScaleSetEvictionPolicy *string `json:"scaleSetEvictionPolicy,omitempty"` + ScaleSetPriority *string `json:"scaleSetPriority,omitempty"` + SpotMaxPrice *float64 `json:"spotMaxPrice,omitempty"` + Tags map[string]string `json:"tags,omitempty" serializationType:"explicitEmptyCollection"` + Type *string `json:"type,omitempty"` + UpgradeSettings *AgentPoolUpgradeSettings `json:"upgradeSettings,omitempty"` + VmSize *string `json:"vmSize,omitempty"` + + // VnetSubnetReference: If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is + // specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: + // /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + VnetSubnetReference *genruntime.ResourceReference `armReference:"VnetSubnetID" json:"vnetSubnetReference,omitempty"` + WorkloadRuntime *string `json:"workloadRuntime,omitempty"` +} + +// AssignProperties_From_ManagedClusterAgentPoolProfile populates our ManagedClusterAgentPoolProfile from the provided source ManagedClusterAgentPoolProfile +func (profile *ManagedClusterAgentPoolProfile) AssignProperties_From_ManagedClusterAgentPoolProfile(source *storage.ManagedClusterAgentPoolProfile) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // AvailabilityZones + profile.AvailabilityZones = genruntime.CloneSliceOfString(source.AvailabilityZones) + + // CapacityReservationGroupReference + if source.CapacityReservationGroupReference != nil { + capacityReservationGroupReference := source.CapacityReservationGroupReference.Copy() + profile.CapacityReservationGroupReference = &capacityReservationGroupReference + } else { + profile.CapacityReservationGroupReference = nil + } + + // Count + profile.Count = genruntime.ClonePointerToInt(source.Count) + + // CreationData + if source.CreationData != nil { + var creationDatum CreationData + err := creationDatum.AssignProperties_From_CreationData(source.CreationData) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_CreationData() to populate field CreationData") + } + profile.CreationData = &creationDatum + } else { + profile.CreationData = nil + } + + // EnableAutoScaling + if source.EnableAutoScaling != nil { + enableAutoScaling := *source.EnableAutoScaling + profile.EnableAutoScaling = &enableAutoScaling + } else { + profile.EnableAutoScaling = nil + } + + // EnableEncryptionAtHost + if source.EnableEncryptionAtHost != nil { + enableEncryptionAtHost := *source.EnableEncryptionAtHost + profile.EnableEncryptionAtHost = &enableEncryptionAtHost + } else { + profile.EnableEncryptionAtHost = nil + } + + // EnableFIPS + if source.EnableFIPS != nil { + enableFIPS := *source.EnableFIPS + profile.EnableFIPS = &enableFIPS + } else { + profile.EnableFIPS = nil + } + + // EnableNodePublicIP + if source.EnableNodePublicIP != nil { + enableNodePublicIP := *source.EnableNodePublicIP + profile.EnableNodePublicIP = &enableNodePublicIP + } else { + profile.EnableNodePublicIP = nil + } + + // EnableUltraSSD + if source.EnableUltraSSD != nil { + enableUltraSSD := *source.EnableUltraSSD + profile.EnableUltraSSD = &enableUltraSSD + } else { + profile.EnableUltraSSD = nil + } + + // GpuInstanceProfile + profile.GpuInstanceProfile = genruntime.ClonePointerToString(source.GpuInstanceProfile) + + // HostGroupReference + if source.HostGroupReference != nil { + hostGroupReference := source.HostGroupReference.Copy() + profile.HostGroupReference = &hostGroupReference + } else { + profile.HostGroupReference = nil + } + + // KubeletConfig + if source.KubeletConfig != nil { + var kubeletConfig KubeletConfig + err := kubeletConfig.AssignProperties_From_KubeletConfig(source.KubeletConfig) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_KubeletConfig() to populate field KubeletConfig") + } + profile.KubeletConfig = &kubeletConfig + } else { + profile.KubeletConfig = nil + } + + // KubeletDiskType + profile.KubeletDiskType = genruntime.ClonePointerToString(source.KubeletDiskType) + + // LinuxOSConfig + if source.LinuxOSConfig != nil { + var linuxOSConfig LinuxOSConfig + err := linuxOSConfig.AssignProperties_From_LinuxOSConfig(source.LinuxOSConfig) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_LinuxOSConfig() to populate field LinuxOSConfig") + } + profile.LinuxOSConfig = &linuxOSConfig + } else { + profile.LinuxOSConfig = nil + } + + // MaxCount + profile.MaxCount = genruntime.ClonePointerToInt(source.MaxCount) + + // MaxPods + profile.MaxPods = genruntime.ClonePointerToInt(source.MaxPods) + + // MinCount + profile.MinCount = genruntime.ClonePointerToInt(source.MinCount) + + // Mode + profile.Mode = genruntime.ClonePointerToString(source.Mode) + + // Name + profile.Name = genruntime.ClonePointerToString(source.Name) + + // NetworkProfile + if source.NetworkProfile != nil { + var networkProfile AgentPoolNetworkProfile + err := networkProfile.AssignProperties_From_AgentPoolNetworkProfile(source.NetworkProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_AgentPoolNetworkProfile() to populate field NetworkProfile") + } + profile.NetworkProfile = &networkProfile + } else { + profile.NetworkProfile = nil + } + + // NodeLabels + profile.NodeLabels = genruntime.CloneMapOfStringToString(source.NodeLabels) + + // NodePublicIPPrefixReference + if source.NodePublicIPPrefixReference != nil { + nodePublicIPPrefixReference := source.NodePublicIPPrefixReference.Copy() + profile.NodePublicIPPrefixReference = &nodePublicIPPrefixReference + } else { + profile.NodePublicIPPrefixReference = nil + } + + // NodeTaints + profile.NodeTaints = genruntime.CloneSliceOfString(source.NodeTaints) + + // OrchestratorVersion + profile.OrchestratorVersion = genruntime.ClonePointerToString(source.OrchestratorVersion) + + // OsDiskSizeGB + profile.OsDiskSizeGB = genruntime.ClonePointerToInt(source.OsDiskSizeGB) + + // OsDiskType + profile.OsDiskType = genruntime.ClonePointerToString(source.OsDiskType) + + // OsSKU + profile.OsSKU = genruntime.ClonePointerToString(source.OsSKU) + + // OsType + profile.OsType = genruntime.ClonePointerToString(source.OsType) + + // PodSubnetReference + if source.PodSubnetReference != nil { + podSubnetReference := source.PodSubnetReference.Copy() + profile.PodSubnetReference = &podSubnetReference + } else { + profile.PodSubnetReference = nil + } + + // PowerState + if source.PowerState != nil { + var powerState PowerState + err := powerState.AssignProperties_From_PowerState(source.PowerState) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_PowerState() to populate field PowerState") + } + profile.PowerState = &powerState + } else { + profile.PowerState = nil + } + + // ProximityPlacementGroupReference + if source.ProximityPlacementGroupReference != nil { + proximityPlacementGroupReference := source.ProximityPlacementGroupReference.Copy() + profile.ProximityPlacementGroupReference = &proximityPlacementGroupReference + } else { + profile.ProximityPlacementGroupReference = nil + } + + // ScaleDownMode + profile.ScaleDownMode = genruntime.ClonePointerToString(source.ScaleDownMode) + + // ScaleSetEvictionPolicy + profile.ScaleSetEvictionPolicy = genruntime.ClonePointerToString(source.ScaleSetEvictionPolicy) + + // ScaleSetPriority + profile.ScaleSetPriority = genruntime.ClonePointerToString(source.ScaleSetPriority) + + // SecurityProfile + if source.SecurityProfile != nil { + var securityProfile compat.AgentPoolSecurityProfile + err := securityProfile.AssignProperties_From_AgentPoolSecurityProfile(source.SecurityProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_AgentPoolSecurityProfile() to populate field SecurityProfile") + } + propertyBag.Add("SecurityProfile", securityProfile) + } else { + propertyBag.Remove("SecurityProfile") + } + + // SpotMaxPrice + if source.SpotMaxPrice != nil { + spotMaxPrice := *source.SpotMaxPrice + profile.SpotMaxPrice = &spotMaxPrice + } else { + profile.SpotMaxPrice = nil + } + + // Tags + profile.Tags = genruntime.CloneMapOfStringToString(source.Tags) + + // Type + profile.Type = genruntime.ClonePointerToString(source.Type) + + // UpgradeSettings + if source.UpgradeSettings != nil { + var upgradeSetting AgentPoolUpgradeSettings + err := upgradeSetting.AssignProperties_From_AgentPoolUpgradeSettings(source.UpgradeSettings) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_AgentPoolUpgradeSettings() to populate field UpgradeSettings") + } + profile.UpgradeSettings = &upgradeSetting + } else { + profile.UpgradeSettings = nil + } + + // VmSize + profile.VmSize = genruntime.ClonePointerToString(source.VmSize) + + // VnetSubnetReference + if source.VnetSubnetReference != nil { + vnetSubnetReference := source.VnetSubnetReference.Copy() + profile.VnetSubnetReference = &vnetSubnetReference + } else { + profile.VnetSubnetReference = nil + } + + // WindowsProfile + if source.WindowsProfile != nil { + propertyBag.Add("WindowsProfile", *source.WindowsProfile) + } else { + propertyBag.Remove("WindowsProfile") + } + + // WorkloadRuntime + profile.WorkloadRuntime = genruntime.ClonePointerToString(source.WorkloadRuntime) + + // Update the property bag + if len(propertyBag) > 0 { + profile.PropertyBag = propertyBag + } else { + profile.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterAgentPoolProfile interface (if implemented) to customize the conversion + var profileAsAny any = profile + if augmentedProfile, ok := profileAsAny.(augmentConversionForManagedClusterAgentPoolProfile); ok { + err := augmentedProfile.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterAgentPoolProfile populates the provided destination ManagedClusterAgentPoolProfile from our ManagedClusterAgentPoolProfile +func (profile *ManagedClusterAgentPoolProfile) AssignProperties_To_ManagedClusterAgentPoolProfile(destination *storage.ManagedClusterAgentPoolProfile) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) + + // AvailabilityZones + destination.AvailabilityZones = genruntime.CloneSliceOfString(profile.AvailabilityZones) + + // CapacityReservationGroupReference + if profile.CapacityReservationGroupReference != nil { + capacityReservationGroupReference := profile.CapacityReservationGroupReference.Copy() + destination.CapacityReservationGroupReference = &capacityReservationGroupReference + } else { + destination.CapacityReservationGroupReference = nil + } + + // Count + destination.Count = genruntime.ClonePointerToInt(profile.Count) + + // CreationData + if profile.CreationData != nil { + var creationDatum storage.CreationData + err := profile.CreationData.AssignProperties_To_CreationData(&creationDatum) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_CreationData() to populate field CreationData") + } + destination.CreationData = &creationDatum + } else { + destination.CreationData = nil + } + + // EnableAutoScaling + if profile.EnableAutoScaling != nil { + enableAutoScaling := *profile.EnableAutoScaling + destination.EnableAutoScaling = &enableAutoScaling + } else { + destination.EnableAutoScaling = nil + } + + // EnableEncryptionAtHost + if profile.EnableEncryptionAtHost != nil { + enableEncryptionAtHost := *profile.EnableEncryptionAtHost + destination.EnableEncryptionAtHost = &enableEncryptionAtHost + } else { + destination.EnableEncryptionAtHost = nil + } + + // EnableFIPS + if profile.EnableFIPS != nil { + enableFIPS := *profile.EnableFIPS + destination.EnableFIPS = &enableFIPS + } else { + destination.EnableFIPS = nil + } + + // EnableNodePublicIP + if profile.EnableNodePublicIP != nil { + enableNodePublicIP := *profile.EnableNodePublicIP + destination.EnableNodePublicIP = &enableNodePublicIP + } else { + destination.EnableNodePublicIP = nil + } + + // EnableUltraSSD + if profile.EnableUltraSSD != nil { + enableUltraSSD := *profile.EnableUltraSSD + destination.EnableUltraSSD = &enableUltraSSD + } else { + destination.EnableUltraSSD = nil + } + + // GpuInstanceProfile + destination.GpuInstanceProfile = genruntime.ClonePointerToString(profile.GpuInstanceProfile) + + // HostGroupReference + if profile.HostGroupReference != nil { + hostGroupReference := profile.HostGroupReference.Copy() + destination.HostGroupReference = &hostGroupReference + } else { + destination.HostGroupReference = nil + } + + // KubeletConfig + if profile.KubeletConfig != nil { + var kubeletConfig storage.KubeletConfig + err := profile.KubeletConfig.AssignProperties_To_KubeletConfig(&kubeletConfig) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_KubeletConfig() to populate field KubeletConfig") + } + destination.KubeletConfig = &kubeletConfig + } else { + destination.KubeletConfig = nil + } + + // KubeletDiskType + destination.KubeletDiskType = genruntime.ClonePointerToString(profile.KubeletDiskType) + + // LinuxOSConfig + if profile.LinuxOSConfig != nil { + var linuxOSConfig storage.LinuxOSConfig + err := profile.LinuxOSConfig.AssignProperties_To_LinuxOSConfig(&linuxOSConfig) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_LinuxOSConfig() to populate field LinuxOSConfig") + } + destination.LinuxOSConfig = &linuxOSConfig + } else { + destination.LinuxOSConfig = nil + } + + // MaxCount + destination.MaxCount = genruntime.ClonePointerToInt(profile.MaxCount) + + // MaxPods + destination.MaxPods = genruntime.ClonePointerToInt(profile.MaxPods) + + // MinCount + destination.MinCount = genruntime.ClonePointerToInt(profile.MinCount) + + // Mode + destination.Mode = genruntime.ClonePointerToString(profile.Mode) + + // Name + destination.Name = genruntime.ClonePointerToString(profile.Name) + + // NetworkProfile + if profile.NetworkProfile != nil { + var networkProfile storage.AgentPoolNetworkProfile + err := profile.NetworkProfile.AssignProperties_To_AgentPoolNetworkProfile(&networkProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_AgentPoolNetworkProfile() to populate field NetworkProfile") + } + destination.NetworkProfile = &networkProfile + } else { + destination.NetworkProfile = nil + } + + // NodeLabels + destination.NodeLabels = genruntime.CloneMapOfStringToString(profile.NodeLabels) + + // NodePublicIPPrefixReference + if profile.NodePublicIPPrefixReference != nil { + nodePublicIPPrefixReference := profile.NodePublicIPPrefixReference.Copy() + destination.NodePublicIPPrefixReference = &nodePublicIPPrefixReference + } else { + destination.NodePublicIPPrefixReference = nil + } + + // NodeTaints + destination.NodeTaints = genruntime.CloneSliceOfString(profile.NodeTaints) + + // OrchestratorVersion + destination.OrchestratorVersion = genruntime.ClonePointerToString(profile.OrchestratorVersion) + + // OsDiskSizeGB + destination.OsDiskSizeGB = genruntime.ClonePointerToInt(profile.OsDiskSizeGB) + + // OsDiskType + destination.OsDiskType = genruntime.ClonePointerToString(profile.OsDiskType) + + // OsSKU + destination.OsSKU = genruntime.ClonePointerToString(profile.OsSKU) + + // OsType + destination.OsType = genruntime.ClonePointerToString(profile.OsType) + + // PodSubnetReference + if profile.PodSubnetReference != nil { + podSubnetReference := profile.PodSubnetReference.Copy() + destination.PodSubnetReference = &podSubnetReference + } else { + destination.PodSubnetReference = nil + } + + // PowerState + if profile.PowerState != nil { + var powerState storage.PowerState + err := profile.PowerState.AssignProperties_To_PowerState(&powerState) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_PowerState() to populate field PowerState") + } + destination.PowerState = &powerState + } else { + destination.PowerState = nil + } + + // ProximityPlacementGroupReference + if profile.ProximityPlacementGroupReference != nil { + proximityPlacementGroupReference := profile.ProximityPlacementGroupReference.Copy() + destination.ProximityPlacementGroupReference = &proximityPlacementGroupReference + } else { + destination.ProximityPlacementGroupReference = nil + } + + // ScaleDownMode + destination.ScaleDownMode = genruntime.ClonePointerToString(profile.ScaleDownMode) + + // ScaleSetEvictionPolicy + destination.ScaleSetEvictionPolicy = genruntime.ClonePointerToString(profile.ScaleSetEvictionPolicy) + + // ScaleSetPriority + destination.ScaleSetPriority = genruntime.ClonePointerToString(profile.ScaleSetPriority) + + // SecurityProfile + if propertyBag.Contains("SecurityProfile") { + var securityProfileFromBag compat.AgentPoolSecurityProfile + err := propertyBag.Pull("SecurityProfile", &securityProfileFromBag) + if err != nil { + return errors.Wrap(err, "pulling 'SecurityProfile' from propertyBag") + } + + var securityProfile storage.AgentPoolSecurityProfile + err = securityProfileFromBag.AssignProperties_To_AgentPoolSecurityProfile(&securityProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_AgentPoolSecurityProfile() to populate field SecurityProfile") + } + destination.SecurityProfile = &securityProfile + } else { + destination.SecurityProfile = nil + } + + // SpotMaxPrice + if profile.SpotMaxPrice != nil { + spotMaxPrice := *profile.SpotMaxPrice + destination.SpotMaxPrice = &spotMaxPrice + } else { + destination.SpotMaxPrice = nil + } + + // Tags + destination.Tags = genruntime.CloneMapOfStringToString(profile.Tags) + + // Type + destination.Type = genruntime.ClonePointerToString(profile.Type) + + // UpgradeSettings + if profile.UpgradeSettings != nil { + var upgradeSetting storage.AgentPoolUpgradeSettings + err := profile.UpgradeSettings.AssignProperties_To_AgentPoolUpgradeSettings(&upgradeSetting) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_AgentPoolUpgradeSettings() to populate field UpgradeSettings") + } + destination.UpgradeSettings = &upgradeSetting + } else { + destination.UpgradeSettings = nil + } + + // VmSize + destination.VmSize = genruntime.ClonePointerToString(profile.VmSize) + + // VnetSubnetReference + if profile.VnetSubnetReference != nil { + vnetSubnetReference := profile.VnetSubnetReference.Copy() + destination.VnetSubnetReference = &vnetSubnetReference + } else { + destination.VnetSubnetReference = nil + } + + // WindowsProfile + if propertyBag.Contains("WindowsProfile") { + var windowsProfile storage.AgentPoolWindowsProfile + err := propertyBag.Pull("WindowsProfile", &windowsProfile) + if err != nil { + return errors.Wrap(err, "pulling 'WindowsProfile' from propertyBag") + } + + destination.WindowsProfile = &windowsProfile + } else { + destination.WindowsProfile = nil + } + + // WorkloadRuntime + destination.WorkloadRuntime = genruntime.ClonePointerToString(profile.WorkloadRuntime) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterAgentPoolProfile interface (if implemented) to customize the conversion + var profileAsAny any = profile + if augmentedProfile, ok := profileAsAny.(augmentConversionForManagedClusterAgentPoolProfile); ok { + err := augmentedProfile.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +// Storage version of v1api20231001.ManagedClusterAgentPoolProfile_STATUS +// Profile for the container service agent pool. +type ManagedClusterAgentPoolProfile_STATUS struct { + AvailabilityZones []string `json:"availabilityZones,omitempty"` + CapacityReservationGroupID *string `json:"capacityReservationGroupID,omitempty"` + Count *int `json:"count,omitempty"` + CreationData *CreationData_STATUS `json:"creationData,omitempty"` + CurrentOrchestratorVersion *string `json:"currentOrchestratorVersion,omitempty"` + EnableAutoScaling *bool `json:"enableAutoScaling,omitempty"` + EnableEncryptionAtHost *bool `json:"enableEncryptionAtHost,omitempty"` + EnableFIPS *bool `json:"enableFIPS,omitempty"` + EnableNodePublicIP *bool `json:"enableNodePublicIP,omitempty"` + EnableUltraSSD *bool `json:"enableUltraSSD,omitempty"` + GpuInstanceProfile *string `json:"gpuInstanceProfile,omitempty"` + HostGroupID *string `json:"hostGroupID,omitempty"` + KubeletConfig *KubeletConfig_STATUS `json:"kubeletConfig,omitempty"` + KubeletDiskType *string `json:"kubeletDiskType,omitempty"` + LinuxOSConfig *LinuxOSConfig_STATUS `json:"linuxOSConfig,omitempty"` + MaxCount *int `json:"maxCount,omitempty"` + MaxPods *int `json:"maxPods,omitempty"` + MinCount *int `json:"minCount,omitempty"` + Mode *string `json:"mode,omitempty"` + Name *string `json:"name,omitempty"` + NetworkProfile *AgentPoolNetworkProfile_STATUS `json:"networkProfile,omitempty"` + NodeImageVersion *string `json:"nodeImageVersion,omitempty"` + NodeLabels map[string]string `json:"nodeLabels,omitempty"` + NodePublicIPPrefixID *string `json:"nodePublicIPPrefixID,omitempty"` + NodeTaints []string `json:"nodeTaints,omitempty"` + OrchestratorVersion *string `json:"orchestratorVersion,omitempty"` + OsDiskSizeGB *int `json:"osDiskSizeGB,omitempty"` + OsDiskType *string `json:"osDiskType,omitempty"` + OsSKU *string `json:"osSKU,omitempty"` + OsType *string `json:"osType,omitempty"` + PodSubnetID *string `json:"podSubnetID,omitempty"` + PowerState *PowerState_STATUS `json:"powerState,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + ProvisioningState *string `json:"provisioningState,omitempty"` + ProximityPlacementGroupID *string `json:"proximityPlacementGroupID,omitempty"` + ScaleDownMode *string `json:"scaleDownMode,omitempty"` + ScaleSetEvictionPolicy *string `json:"scaleSetEvictionPolicy,omitempty"` + ScaleSetPriority *string `json:"scaleSetPriority,omitempty"` + SpotMaxPrice *float64 `json:"spotMaxPrice,omitempty"` + Tags map[string]string `json:"tags,omitempty"` + Type *string `json:"type,omitempty"` + UpgradeSettings *AgentPoolUpgradeSettings_STATUS `json:"upgradeSettings,omitempty"` + VmSize *string `json:"vmSize,omitempty"` + VnetSubnetID *string `json:"vnetSubnetID,omitempty"` + WorkloadRuntime *string `json:"workloadRuntime,omitempty"` +} + +// AssignProperties_From_ManagedClusterAgentPoolProfile_STATUS populates our ManagedClusterAgentPoolProfile_STATUS from the provided source ManagedClusterAgentPoolProfile_STATUS +func (profile *ManagedClusterAgentPoolProfile_STATUS) AssignProperties_From_ManagedClusterAgentPoolProfile_STATUS(source *storage.ManagedClusterAgentPoolProfile_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // AvailabilityZones + profile.AvailabilityZones = genruntime.CloneSliceOfString(source.AvailabilityZones) + + // CapacityReservationGroupID + profile.CapacityReservationGroupID = genruntime.ClonePointerToString(source.CapacityReservationGroupID) + + // Count + profile.Count = genruntime.ClonePointerToInt(source.Count) + + // CreationData + if source.CreationData != nil { + var creationDatum CreationData_STATUS + err := creationDatum.AssignProperties_From_CreationData_STATUS(source.CreationData) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_CreationData_STATUS() to populate field CreationData") + } + profile.CreationData = &creationDatum + } else { + profile.CreationData = nil + } + + // CurrentOrchestratorVersion + profile.CurrentOrchestratorVersion = genruntime.ClonePointerToString(source.CurrentOrchestratorVersion) + + // ETag + if source.ETag != nil { + propertyBag.Add("ETag", *source.ETag) + } else { + propertyBag.Remove("ETag") + } + + // EnableAutoScaling + if source.EnableAutoScaling != nil { + enableAutoScaling := *source.EnableAutoScaling + profile.EnableAutoScaling = &enableAutoScaling + } else { + profile.EnableAutoScaling = nil + } + + // EnableEncryptionAtHost + if source.EnableEncryptionAtHost != nil { + enableEncryptionAtHost := *source.EnableEncryptionAtHost + profile.EnableEncryptionAtHost = &enableEncryptionAtHost + } else { + profile.EnableEncryptionAtHost = nil + } + + // EnableFIPS + if source.EnableFIPS != nil { + enableFIPS := *source.EnableFIPS + profile.EnableFIPS = &enableFIPS + } else { + profile.EnableFIPS = nil + } + + // EnableNodePublicIP + if source.EnableNodePublicIP != nil { + enableNodePublicIP := *source.EnableNodePublicIP + profile.EnableNodePublicIP = &enableNodePublicIP + } else { + profile.EnableNodePublicIP = nil + } + + // EnableUltraSSD + if source.EnableUltraSSD != nil { + enableUltraSSD := *source.EnableUltraSSD + profile.EnableUltraSSD = &enableUltraSSD + } else { + profile.EnableUltraSSD = nil + } + + // GpuInstanceProfile + profile.GpuInstanceProfile = genruntime.ClonePointerToString(source.GpuInstanceProfile) + + // HostGroupID + profile.HostGroupID = genruntime.ClonePointerToString(source.HostGroupID) + + // KubeletConfig + if source.KubeletConfig != nil { + var kubeletConfig KubeletConfig_STATUS + err := kubeletConfig.AssignProperties_From_KubeletConfig_STATUS(source.KubeletConfig) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_KubeletConfig_STATUS() to populate field KubeletConfig") + } + profile.KubeletConfig = &kubeletConfig + } else { + profile.KubeletConfig = nil + } + + // KubeletDiskType + profile.KubeletDiskType = genruntime.ClonePointerToString(source.KubeletDiskType) + + // LinuxOSConfig + if source.LinuxOSConfig != nil { + var linuxOSConfig LinuxOSConfig_STATUS + err := linuxOSConfig.AssignProperties_From_LinuxOSConfig_STATUS(source.LinuxOSConfig) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_LinuxOSConfig_STATUS() to populate field LinuxOSConfig") + } + profile.LinuxOSConfig = &linuxOSConfig + } else { + profile.LinuxOSConfig = nil + } + + // MaxCount + profile.MaxCount = genruntime.ClonePointerToInt(source.MaxCount) + + // MaxPods + profile.MaxPods = genruntime.ClonePointerToInt(source.MaxPods) + + // MinCount + profile.MinCount = genruntime.ClonePointerToInt(source.MinCount) + + // Mode + profile.Mode = genruntime.ClonePointerToString(source.Mode) + + // Name + profile.Name = genruntime.ClonePointerToString(source.Name) + + // NetworkProfile + if source.NetworkProfile != nil { + var networkProfile AgentPoolNetworkProfile_STATUS + err := networkProfile.AssignProperties_From_AgentPoolNetworkProfile_STATUS(source.NetworkProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_AgentPoolNetworkProfile_STATUS() to populate field NetworkProfile") + } + profile.NetworkProfile = &networkProfile + } else { + profile.NetworkProfile = nil + } + + // NodeImageVersion + profile.NodeImageVersion = genruntime.ClonePointerToString(source.NodeImageVersion) + + // NodeLabels + profile.NodeLabels = genruntime.CloneMapOfStringToString(source.NodeLabels) + + // NodePublicIPPrefixID + profile.NodePublicIPPrefixID = genruntime.ClonePointerToString(source.NodePublicIPPrefixID) + + // NodeTaints + profile.NodeTaints = genruntime.CloneSliceOfString(source.NodeTaints) + + // OrchestratorVersion + profile.OrchestratorVersion = genruntime.ClonePointerToString(source.OrchestratorVersion) + + // OsDiskSizeGB + profile.OsDiskSizeGB = genruntime.ClonePointerToInt(source.OsDiskSizeGB) + + // OsDiskType + profile.OsDiskType = genruntime.ClonePointerToString(source.OsDiskType) + + // OsSKU + profile.OsSKU = genruntime.ClonePointerToString(source.OsSKU) + + // OsType + profile.OsType = genruntime.ClonePointerToString(source.OsType) + + // PodSubnetID + profile.PodSubnetID = genruntime.ClonePointerToString(source.PodSubnetID) + + // PowerState + if source.PowerState != nil { + var powerState PowerState_STATUS + err := powerState.AssignProperties_From_PowerState_STATUS(source.PowerState) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_PowerState_STATUS() to populate field PowerState") + } + profile.PowerState = &powerState + } else { + profile.PowerState = nil + } + + // ProvisioningState + profile.ProvisioningState = genruntime.ClonePointerToString(source.ProvisioningState) + + // ProximityPlacementGroupID + profile.ProximityPlacementGroupID = genruntime.ClonePointerToString(source.ProximityPlacementGroupID) + + // ScaleDownMode + profile.ScaleDownMode = genruntime.ClonePointerToString(source.ScaleDownMode) + + // ScaleSetEvictionPolicy + profile.ScaleSetEvictionPolicy = genruntime.ClonePointerToString(source.ScaleSetEvictionPolicy) + + // ScaleSetPriority + profile.ScaleSetPriority = genruntime.ClonePointerToString(source.ScaleSetPriority) + + // SecurityProfile + if source.SecurityProfile != nil { + var securityProfile compat.AgentPoolSecurityProfile_STATUS + err := securityProfile.AssignProperties_From_AgentPoolSecurityProfile_STATUS(source.SecurityProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_AgentPoolSecurityProfile_STATUS() to populate field SecurityProfile") + } + propertyBag.Add("SecurityProfile", securityProfile) + } else { + propertyBag.Remove("SecurityProfile") + } + + // SpotMaxPrice + if source.SpotMaxPrice != nil { + spotMaxPrice := *source.SpotMaxPrice + profile.SpotMaxPrice = &spotMaxPrice + } else { + profile.SpotMaxPrice = nil + } + + // Tags + profile.Tags = genruntime.CloneMapOfStringToString(source.Tags) + + // Type + profile.Type = genruntime.ClonePointerToString(source.Type) + + // UpgradeSettings + if source.UpgradeSettings != nil { + var upgradeSetting AgentPoolUpgradeSettings_STATUS + err := upgradeSetting.AssignProperties_From_AgentPoolUpgradeSettings_STATUS(source.UpgradeSettings) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_AgentPoolUpgradeSettings_STATUS() to populate field UpgradeSettings") + } + profile.UpgradeSettings = &upgradeSetting + } else { + profile.UpgradeSettings = nil + } + + // VmSize + profile.VmSize = genruntime.ClonePointerToString(source.VmSize) + + // VnetSubnetID + profile.VnetSubnetID = genruntime.ClonePointerToString(source.VnetSubnetID) + + // WindowsProfile + if source.WindowsProfile != nil { + propertyBag.Add("WindowsProfile", *source.WindowsProfile) + } else { + propertyBag.Remove("WindowsProfile") + } + + // WorkloadRuntime + profile.WorkloadRuntime = genruntime.ClonePointerToString(source.WorkloadRuntime) + + // Update the property bag + if len(propertyBag) > 0 { + profile.PropertyBag = propertyBag + } else { + profile.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterAgentPoolProfile_STATUS interface (if implemented) to customize the conversion + var profileAsAny any = profile + if augmentedProfile, ok := profileAsAny.(augmentConversionForManagedClusterAgentPoolProfile_STATUS); ok { + err := augmentedProfile.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterAgentPoolProfile_STATUS populates the provided destination ManagedClusterAgentPoolProfile_STATUS from our ManagedClusterAgentPoolProfile_STATUS +func (profile *ManagedClusterAgentPoolProfile_STATUS) AssignProperties_To_ManagedClusterAgentPoolProfile_STATUS(destination *storage.ManagedClusterAgentPoolProfile_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) + + // AvailabilityZones + destination.AvailabilityZones = genruntime.CloneSliceOfString(profile.AvailabilityZones) + + // CapacityReservationGroupID + destination.CapacityReservationGroupID = genruntime.ClonePointerToString(profile.CapacityReservationGroupID) + + // Count + destination.Count = genruntime.ClonePointerToInt(profile.Count) + + // CreationData + if profile.CreationData != nil { + var creationDatum storage.CreationData_STATUS + err := profile.CreationData.AssignProperties_To_CreationData_STATUS(&creationDatum) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_CreationData_STATUS() to populate field CreationData") + } + destination.CreationData = &creationDatum + } else { + destination.CreationData = nil + } + + // CurrentOrchestratorVersion + destination.CurrentOrchestratorVersion = genruntime.ClonePointerToString(profile.CurrentOrchestratorVersion) + + // ETag + if propertyBag.Contains("ETag") { + var eTag string + err := propertyBag.Pull("ETag", &eTag) + if err != nil { + return errors.Wrap(err, "pulling 'ETag' from propertyBag") + } + + destination.ETag = &eTag + } else { + destination.ETag = nil + } + + // EnableAutoScaling + if profile.EnableAutoScaling != nil { + enableAutoScaling := *profile.EnableAutoScaling + destination.EnableAutoScaling = &enableAutoScaling + } else { + destination.EnableAutoScaling = nil + } + + // EnableEncryptionAtHost + if profile.EnableEncryptionAtHost != nil { + enableEncryptionAtHost := *profile.EnableEncryptionAtHost + destination.EnableEncryptionAtHost = &enableEncryptionAtHost + } else { + destination.EnableEncryptionAtHost = nil + } + + // EnableFIPS + if profile.EnableFIPS != nil { + enableFIPS := *profile.EnableFIPS + destination.EnableFIPS = &enableFIPS + } else { + destination.EnableFIPS = nil + } + + // EnableNodePublicIP + if profile.EnableNodePublicIP != nil { + enableNodePublicIP := *profile.EnableNodePublicIP + destination.EnableNodePublicIP = &enableNodePublicIP + } else { + destination.EnableNodePublicIP = nil + } + + // EnableUltraSSD + if profile.EnableUltraSSD != nil { + enableUltraSSD := *profile.EnableUltraSSD + destination.EnableUltraSSD = &enableUltraSSD + } else { + destination.EnableUltraSSD = nil + } + + // GpuInstanceProfile + destination.GpuInstanceProfile = genruntime.ClonePointerToString(profile.GpuInstanceProfile) + + // HostGroupID + destination.HostGroupID = genruntime.ClonePointerToString(profile.HostGroupID) + + // KubeletConfig + if profile.KubeletConfig != nil { + var kubeletConfig storage.KubeletConfig_STATUS + err := profile.KubeletConfig.AssignProperties_To_KubeletConfig_STATUS(&kubeletConfig) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_KubeletConfig_STATUS() to populate field KubeletConfig") + } + destination.KubeletConfig = &kubeletConfig + } else { + destination.KubeletConfig = nil + } + + // KubeletDiskType + destination.KubeletDiskType = genruntime.ClonePointerToString(profile.KubeletDiskType) + + // LinuxOSConfig + if profile.LinuxOSConfig != nil { + var linuxOSConfig storage.LinuxOSConfig_STATUS + err := profile.LinuxOSConfig.AssignProperties_To_LinuxOSConfig_STATUS(&linuxOSConfig) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_LinuxOSConfig_STATUS() to populate field LinuxOSConfig") + } + destination.LinuxOSConfig = &linuxOSConfig + } else { + destination.LinuxOSConfig = nil + } + + // MaxCount + destination.MaxCount = genruntime.ClonePointerToInt(profile.MaxCount) + + // MaxPods + destination.MaxPods = genruntime.ClonePointerToInt(profile.MaxPods) + + // MinCount + destination.MinCount = genruntime.ClonePointerToInt(profile.MinCount) + + // Mode + destination.Mode = genruntime.ClonePointerToString(profile.Mode) + + // Name + destination.Name = genruntime.ClonePointerToString(profile.Name) + + // NetworkProfile + if profile.NetworkProfile != nil { + var networkProfile storage.AgentPoolNetworkProfile_STATUS + err := profile.NetworkProfile.AssignProperties_To_AgentPoolNetworkProfile_STATUS(&networkProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_AgentPoolNetworkProfile_STATUS() to populate field NetworkProfile") + } + destination.NetworkProfile = &networkProfile + } else { + destination.NetworkProfile = nil + } + + // NodeImageVersion + destination.NodeImageVersion = genruntime.ClonePointerToString(profile.NodeImageVersion) + + // NodeLabels + destination.NodeLabels = genruntime.CloneMapOfStringToString(profile.NodeLabels) + + // NodePublicIPPrefixID + destination.NodePublicIPPrefixID = genruntime.ClonePointerToString(profile.NodePublicIPPrefixID) + + // NodeTaints + destination.NodeTaints = genruntime.CloneSliceOfString(profile.NodeTaints) + + // OrchestratorVersion + destination.OrchestratorVersion = genruntime.ClonePointerToString(profile.OrchestratorVersion) + + // OsDiskSizeGB + destination.OsDiskSizeGB = genruntime.ClonePointerToInt(profile.OsDiskSizeGB) + + // OsDiskType + destination.OsDiskType = genruntime.ClonePointerToString(profile.OsDiskType) + + // OsSKU + destination.OsSKU = genruntime.ClonePointerToString(profile.OsSKU) + + // OsType + destination.OsType = genruntime.ClonePointerToString(profile.OsType) + + // PodSubnetID + destination.PodSubnetID = genruntime.ClonePointerToString(profile.PodSubnetID) + + // PowerState + if profile.PowerState != nil { + var powerState storage.PowerState_STATUS + err := profile.PowerState.AssignProperties_To_PowerState_STATUS(&powerState) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_PowerState_STATUS() to populate field PowerState") + } + destination.PowerState = &powerState + } else { + destination.PowerState = nil + } + + // ProvisioningState + destination.ProvisioningState = genruntime.ClonePointerToString(profile.ProvisioningState) + + // ProximityPlacementGroupID + destination.ProximityPlacementGroupID = genruntime.ClonePointerToString(profile.ProximityPlacementGroupID) + + // ScaleDownMode + destination.ScaleDownMode = genruntime.ClonePointerToString(profile.ScaleDownMode) + + // ScaleSetEvictionPolicy + destination.ScaleSetEvictionPolicy = genruntime.ClonePointerToString(profile.ScaleSetEvictionPolicy) + + // ScaleSetPriority + destination.ScaleSetPriority = genruntime.ClonePointerToString(profile.ScaleSetPriority) + + // SecurityProfile + if propertyBag.Contains("SecurityProfile") { + var securityProfileFromBag compat.AgentPoolSecurityProfile_STATUS + err := propertyBag.Pull("SecurityProfile", &securityProfileFromBag) + if err != nil { + return errors.Wrap(err, "pulling 'SecurityProfile' from propertyBag") + } + + var securityProfile storage.AgentPoolSecurityProfile_STATUS + err = securityProfileFromBag.AssignProperties_To_AgentPoolSecurityProfile_STATUS(&securityProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_AgentPoolSecurityProfile_STATUS() to populate field SecurityProfile") + } + destination.SecurityProfile = &securityProfile + } else { + destination.SecurityProfile = nil + } + + // SpotMaxPrice + if profile.SpotMaxPrice != nil { + spotMaxPrice := *profile.SpotMaxPrice + destination.SpotMaxPrice = &spotMaxPrice + } else { + destination.SpotMaxPrice = nil + } + + // Tags + destination.Tags = genruntime.CloneMapOfStringToString(profile.Tags) + + // Type + destination.Type = genruntime.ClonePointerToString(profile.Type) + + // UpgradeSettings + if profile.UpgradeSettings != nil { + var upgradeSetting storage.AgentPoolUpgradeSettings_STATUS + err := profile.UpgradeSettings.AssignProperties_To_AgentPoolUpgradeSettings_STATUS(&upgradeSetting) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_AgentPoolUpgradeSettings_STATUS() to populate field UpgradeSettings") + } + destination.UpgradeSettings = &upgradeSetting + } else { + destination.UpgradeSettings = nil + } + + // VmSize + destination.VmSize = genruntime.ClonePointerToString(profile.VmSize) + + // VnetSubnetID + destination.VnetSubnetID = genruntime.ClonePointerToString(profile.VnetSubnetID) + + // WindowsProfile + if propertyBag.Contains("WindowsProfile") { + var windowsProfile storage.AgentPoolWindowsProfile_STATUS + err := propertyBag.Pull("WindowsProfile", &windowsProfile) + if err != nil { + return errors.Wrap(err, "pulling 'WindowsProfile' from propertyBag") + } + + destination.WindowsProfile = &windowsProfile + } else { + destination.WindowsProfile = nil + } + + // WorkloadRuntime + destination.WorkloadRuntime = genruntime.ClonePointerToString(profile.WorkloadRuntime) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterAgentPoolProfile_STATUS interface (if implemented) to customize the conversion + var profileAsAny any = profile + if augmentedProfile, ok := profileAsAny.(augmentConversionForManagedClusterAgentPoolProfile_STATUS); ok { + err := augmentedProfile.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +// Storage version of v1api20231001.ManagedClusterAPIServerAccessProfile +// Access profile for managed cluster API server. +type ManagedClusterAPIServerAccessProfile struct { + AuthorizedIPRanges []string `json:"authorizedIPRanges,omitempty"` + DisableRunCommand *bool `json:"disableRunCommand,omitempty"` + EnablePrivateCluster *bool `json:"enablePrivateCluster,omitempty"` + EnablePrivateClusterPublicFQDN *bool `json:"enablePrivateClusterPublicFQDN,omitempty"` + PrivateDNSZone *string `json:"privateDNSZone,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// AssignProperties_From_ManagedClusterAPIServerAccessProfile populates our ManagedClusterAPIServerAccessProfile from the provided source ManagedClusterAPIServerAccessProfile +func (profile *ManagedClusterAPIServerAccessProfile) AssignProperties_From_ManagedClusterAPIServerAccessProfile(source *storage.ManagedClusterAPIServerAccessProfile) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // AuthorizedIPRanges + profile.AuthorizedIPRanges = genruntime.CloneSliceOfString(source.AuthorizedIPRanges) + + // DisableRunCommand + if source.DisableRunCommand != nil { + disableRunCommand := *source.DisableRunCommand + profile.DisableRunCommand = &disableRunCommand + } else { + profile.DisableRunCommand = nil + } + + // EnablePrivateCluster + if source.EnablePrivateCluster != nil { + enablePrivateCluster := *source.EnablePrivateCluster + profile.EnablePrivateCluster = &enablePrivateCluster + } else { + profile.EnablePrivateCluster = nil + } + + // EnablePrivateClusterPublicFQDN + if source.EnablePrivateClusterPublicFQDN != nil { + enablePrivateClusterPublicFQDN := *source.EnablePrivateClusterPublicFQDN + profile.EnablePrivateClusterPublicFQDN = &enablePrivateClusterPublicFQDN + } else { + profile.EnablePrivateClusterPublicFQDN = nil + } + + // PrivateDNSZone + profile.PrivateDNSZone = genruntime.ClonePointerToString(source.PrivateDNSZone) + + // Update the property bag + if len(propertyBag) > 0 { + profile.PropertyBag = propertyBag + } else { + profile.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterAPIServerAccessProfile interface (if implemented) to customize the conversion + var profileAsAny any = profile + if augmentedProfile, ok := profileAsAny.(augmentConversionForManagedClusterAPIServerAccessProfile); ok { + err := augmentedProfile.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterAPIServerAccessProfile populates the provided destination ManagedClusterAPIServerAccessProfile from our ManagedClusterAPIServerAccessProfile +func (profile *ManagedClusterAPIServerAccessProfile) AssignProperties_To_ManagedClusterAPIServerAccessProfile(destination *storage.ManagedClusterAPIServerAccessProfile) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) + + // AuthorizedIPRanges + destination.AuthorizedIPRanges = genruntime.CloneSliceOfString(profile.AuthorizedIPRanges) + + // DisableRunCommand + if profile.DisableRunCommand != nil { + disableRunCommand := *profile.DisableRunCommand + destination.DisableRunCommand = &disableRunCommand + } else { + destination.DisableRunCommand = nil + } + + // EnablePrivateCluster + if profile.EnablePrivateCluster != nil { + enablePrivateCluster := *profile.EnablePrivateCluster + destination.EnablePrivateCluster = &enablePrivateCluster + } else { + destination.EnablePrivateCluster = nil + } + + // EnablePrivateClusterPublicFQDN + if profile.EnablePrivateClusterPublicFQDN != nil { + enablePrivateClusterPublicFQDN := *profile.EnablePrivateClusterPublicFQDN + destination.EnablePrivateClusterPublicFQDN = &enablePrivateClusterPublicFQDN + } else { + destination.EnablePrivateClusterPublicFQDN = nil + } + + // PrivateDNSZone + destination.PrivateDNSZone = genruntime.ClonePointerToString(profile.PrivateDNSZone) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterAPIServerAccessProfile interface (if implemented) to customize the conversion + var profileAsAny any = profile + if augmentedProfile, ok := profileAsAny.(augmentConversionForManagedClusterAPIServerAccessProfile); ok { + err := augmentedProfile.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +// Storage version of v1api20231001.ManagedClusterAPIServerAccessProfile_STATUS +// Access profile for managed cluster API server. +type ManagedClusterAPIServerAccessProfile_STATUS struct { + AuthorizedIPRanges []string `json:"authorizedIPRanges,omitempty"` + DisableRunCommand *bool `json:"disableRunCommand,omitempty"` + EnablePrivateCluster *bool `json:"enablePrivateCluster,omitempty"` + EnablePrivateClusterPublicFQDN *bool `json:"enablePrivateClusterPublicFQDN,omitempty"` + PrivateDNSZone *string `json:"privateDNSZone,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// AssignProperties_From_ManagedClusterAPIServerAccessProfile_STATUS populates our ManagedClusterAPIServerAccessProfile_STATUS from the provided source ManagedClusterAPIServerAccessProfile_STATUS +func (profile *ManagedClusterAPIServerAccessProfile_STATUS) AssignProperties_From_ManagedClusterAPIServerAccessProfile_STATUS(source *storage.ManagedClusterAPIServerAccessProfile_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // AuthorizedIPRanges + profile.AuthorizedIPRanges = genruntime.CloneSliceOfString(source.AuthorizedIPRanges) + + // DisableRunCommand + if source.DisableRunCommand != nil { + disableRunCommand := *source.DisableRunCommand + profile.DisableRunCommand = &disableRunCommand + } else { + profile.DisableRunCommand = nil + } + + // EnablePrivateCluster + if source.EnablePrivateCluster != nil { + enablePrivateCluster := *source.EnablePrivateCluster + profile.EnablePrivateCluster = &enablePrivateCluster + } else { + profile.EnablePrivateCluster = nil + } + + // EnablePrivateClusterPublicFQDN + if source.EnablePrivateClusterPublicFQDN != nil { + enablePrivateClusterPublicFQDN := *source.EnablePrivateClusterPublicFQDN + profile.EnablePrivateClusterPublicFQDN = &enablePrivateClusterPublicFQDN + } else { + profile.EnablePrivateClusterPublicFQDN = nil + } + + // PrivateDNSZone + profile.PrivateDNSZone = genruntime.ClonePointerToString(source.PrivateDNSZone) + + // Update the property bag + if len(propertyBag) > 0 { + profile.PropertyBag = propertyBag + } else { + profile.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterAPIServerAccessProfile_STATUS interface (if implemented) to customize the conversion + var profileAsAny any = profile + if augmentedProfile, ok := profileAsAny.(augmentConversionForManagedClusterAPIServerAccessProfile_STATUS); ok { + err := augmentedProfile.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterAPIServerAccessProfile_STATUS populates the provided destination ManagedClusterAPIServerAccessProfile_STATUS from our ManagedClusterAPIServerAccessProfile_STATUS +func (profile *ManagedClusterAPIServerAccessProfile_STATUS) AssignProperties_To_ManagedClusterAPIServerAccessProfile_STATUS(destination *storage.ManagedClusterAPIServerAccessProfile_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) + + // AuthorizedIPRanges + destination.AuthorizedIPRanges = genruntime.CloneSliceOfString(profile.AuthorizedIPRanges) + + // DisableRunCommand + if profile.DisableRunCommand != nil { + disableRunCommand := *profile.DisableRunCommand + destination.DisableRunCommand = &disableRunCommand + } else { + destination.DisableRunCommand = nil + } + + // EnablePrivateCluster + if profile.EnablePrivateCluster != nil { + enablePrivateCluster := *profile.EnablePrivateCluster + destination.EnablePrivateCluster = &enablePrivateCluster + } else { + destination.EnablePrivateCluster = nil + } + + // EnablePrivateClusterPublicFQDN + if profile.EnablePrivateClusterPublicFQDN != nil { + enablePrivateClusterPublicFQDN := *profile.EnablePrivateClusterPublicFQDN + destination.EnablePrivateClusterPublicFQDN = &enablePrivateClusterPublicFQDN + } else { + destination.EnablePrivateClusterPublicFQDN = nil + } + + // PrivateDNSZone + destination.PrivateDNSZone = genruntime.ClonePointerToString(profile.PrivateDNSZone) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterAPIServerAccessProfile_STATUS interface (if implemented) to customize the conversion + var profileAsAny any = profile + if augmentedProfile, ok := profileAsAny.(augmentConversionForManagedClusterAPIServerAccessProfile_STATUS); ok { + err := augmentedProfile.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +// Storage version of v1api20231001.ManagedClusterAutoUpgradeProfile +// Auto upgrade profile for a managed cluster. +type ManagedClusterAutoUpgradeProfile struct { + NodeOSUpgradeChannel *string `json:"nodeOSUpgradeChannel,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + UpgradeChannel *string `json:"upgradeChannel,omitempty"` +} + +// AssignProperties_From_ManagedClusterAutoUpgradeProfile populates our ManagedClusterAutoUpgradeProfile from the provided source ManagedClusterAutoUpgradeProfile +func (profile *ManagedClusterAutoUpgradeProfile) AssignProperties_From_ManagedClusterAutoUpgradeProfile(source *storage.ManagedClusterAutoUpgradeProfile) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // NodeOSUpgradeChannel + profile.NodeOSUpgradeChannel = genruntime.ClonePointerToString(source.NodeOSUpgradeChannel) + + // UpgradeChannel + profile.UpgradeChannel = genruntime.ClonePointerToString(source.UpgradeChannel) + + // Update the property bag + if len(propertyBag) > 0 { + profile.PropertyBag = propertyBag + } else { + profile.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterAutoUpgradeProfile interface (if implemented) to customize the conversion + var profileAsAny any = profile + if augmentedProfile, ok := profileAsAny.(augmentConversionForManagedClusterAutoUpgradeProfile); ok { + err := augmentedProfile.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterAutoUpgradeProfile populates the provided destination ManagedClusterAutoUpgradeProfile from our ManagedClusterAutoUpgradeProfile +func (profile *ManagedClusterAutoUpgradeProfile) AssignProperties_To_ManagedClusterAutoUpgradeProfile(destination *storage.ManagedClusterAutoUpgradeProfile) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) + + // NodeOSUpgradeChannel + destination.NodeOSUpgradeChannel = genruntime.ClonePointerToString(profile.NodeOSUpgradeChannel) + + // UpgradeChannel + destination.UpgradeChannel = genruntime.ClonePointerToString(profile.UpgradeChannel) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterAutoUpgradeProfile interface (if implemented) to customize the conversion + var profileAsAny any = profile + if augmentedProfile, ok := profileAsAny.(augmentConversionForManagedClusterAutoUpgradeProfile); ok { + err := augmentedProfile.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +// Storage version of v1api20231001.ManagedClusterAutoUpgradeProfile_STATUS +// Auto upgrade profile for a managed cluster. +type ManagedClusterAutoUpgradeProfile_STATUS struct { + NodeOSUpgradeChannel *string `json:"nodeOSUpgradeChannel,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + UpgradeChannel *string `json:"upgradeChannel,omitempty"` +} + +// AssignProperties_From_ManagedClusterAutoUpgradeProfile_STATUS populates our ManagedClusterAutoUpgradeProfile_STATUS from the provided source ManagedClusterAutoUpgradeProfile_STATUS +func (profile *ManagedClusterAutoUpgradeProfile_STATUS) AssignProperties_From_ManagedClusterAutoUpgradeProfile_STATUS(source *storage.ManagedClusterAutoUpgradeProfile_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // NodeOSUpgradeChannel + profile.NodeOSUpgradeChannel = genruntime.ClonePointerToString(source.NodeOSUpgradeChannel) + + // UpgradeChannel + profile.UpgradeChannel = genruntime.ClonePointerToString(source.UpgradeChannel) + + // Update the property bag + if len(propertyBag) > 0 { + profile.PropertyBag = propertyBag + } else { + profile.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterAutoUpgradeProfile_STATUS interface (if implemented) to customize the conversion + var profileAsAny any = profile + if augmentedProfile, ok := profileAsAny.(augmentConversionForManagedClusterAutoUpgradeProfile_STATUS); ok { + err := augmentedProfile.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterAutoUpgradeProfile_STATUS populates the provided destination ManagedClusterAutoUpgradeProfile_STATUS from our ManagedClusterAutoUpgradeProfile_STATUS +func (profile *ManagedClusterAutoUpgradeProfile_STATUS) AssignProperties_To_ManagedClusterAutoUpgradeProfile_STATUS(destination *storage.ManagedClusterAutoUpgradeProfile_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) + + // NodeOSUpgradeChannel + destination.NodeOSUpgradeChannel = genruntime.ClonePointerToString(profile.NodeOSUpgradeChannel) + + // UpgradeChannel + destination.UpgradeChannel = genruntime.ClonePointerToString(profile.UpgradeChannel) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterAutoUpgradeProfile_STATUS interface (if implemented) to customize the conversion + var profileAsAny any = profile + if augmentedProfile, ok := profileAsAny.(augmentConversionForManagedClusterAutoUpgradeProfile_STATUS); ok { + err := augmentedProfile.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +// Storage version of v1api20231001.ManagedClusterAzureMonitorProfile +// Azure Monitor addon profiles for monitoring the managed cluster. +type ManagedClusterAzureMonitorProfile struct { + Metrics *ManagedClusterAzureMonitorProfileMetrics `json:"metrics,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// AssignProperties_From_ManagedClusterAzureMonitorProfile populates our ManagedClusterAzureMonitorProfile from the provided source ManagedClusterAzureMonitorProfile +func (profile *ManagedClusterAzureMonitorProfile) AssignProperties_From_ManagedClusterAzureMonitorProfile(source *storage.ManagedClusterAzureMonitorProfile) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // Metrics + if source.Metrics != nil { + var metric ManagedClusterAzureMonitorProfileMetrics + err := metric.AssignProperties_From_ManagedClusterAzureMonitorProfileMetrics(source.Metrics) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterAzureMonitorProfileMetrics() to populate field Metrics") + } + profile.Metrics = &metric + } else { + profile.Metrics = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + profile.PropertyBag = propertyBag + } else { + profile.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterAzureMonitorProfile interface (if implemented) to customize the conversion + var profileAsAny any = profile + if augmentedProfile, ok := profileAsAny.(augmentConversionForManagedClusterAzureMonitorProfile); ok { + err := augmentedProfile.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterAzureMonitorProfile populates the provided destination ManagedClusterAzureMonitorProfile from our ManagedClusterAzureMonitorProfile +func (profile *ManagedClusterAzureMonitorProfile) AssignProperties_To_ManagedClusterAzureMonitorProfile(destination *storage.ManagedClusterAzureMonitorProfile) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) + + // Metrics + if profile.Metrics != nil { + var metric storage.ManagedClusterAzureMonitorProfileMetrics + err := profile.Metrics.AssignProperties_To_ManagedClusterAzureMonitorProfileMetrics(&metric) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterAzureMonitorProfileMetrics() to populate field Metrics") + } + destination.Metrics = &metric + } else { + destination.Metrics = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterAzureMonitorProfile interface (if implemented) to customize the conversion + var profileAsAny any = profile + if augmentedProfile, ok := profileAsAny.(augmentConversionForManagedClusterAzureMonitorProfile); ok { + err := augmentedProfile.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +// Storage version of v1api20231001.ManagedClusterAzureMonitorProfile_STATUS +// Azure Monitor addon profiles for monitoring the managed cluster. +type ManagedClusterAzureMonitorProfile_STATUS struct { + Metrics *ManagedClusterAzureMonitorProfileMetrics_STATUS `json:"metrics,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// AssignProperties_From_ManagedClusterAzureMonitorProfile_STATUS populates our ManagedClusterAzureMonitorProfile_STATUS from the provided source ManagedClusterAzureMonitorProfile_STATUS +func (profile *ManagedClusterAzureMonitorProfile_STATUS) AssignProperties_From_ManagedClusterAzureMonitorProfile_STATUS(source *storage.ManagedClusterAzureMonitorProfile_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // Metrics + if source.Metrics != nil { + var metric ManagedClusterAzureMonitorProfileMetrics_STATUS + err := metric.AssignProperties_From_ManagedClusterAzureMonitorProfileMetrics_STATUS(source.Metrics) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterAzureMonitorProfileMetrics_STATUS() to populate field Metrics") + } + profile.Metrics = &metric + } else { + profile.Metrics = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + profile.PropertyBag = propertyBag + } else { + profile.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterAzureMonitorProfile_STATUS interface (if implemented) to customize the conversion + var profileAsAny any = profile + if augmentedProfile, ok := profileAsAny.(augmentConversionForManagedClusterAzureMonitorProfile_STATUS); ok { + err := augmentedProfile.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterAzureMonitorProfile_STATUS populates the provided destination ManagedClusterAzureMonitorProfile_STATUS from our ManagedClusterAzureMonitorProfile_STATUS +func (profile *ManagedClusterAzureMonitorProfile_STATUS) AssignProperties_To_ManagedClusterAzureMonitorProfile_STATUS(destination *storage.ManagedClusterAzureMonitorProfile_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) + + // Metrics + if profile.Metrics != nil { + var metric storage.ManagedClusterAzureMonitorProfileMetrics_STATUS + err := profile.Metrics.AssignProperties_To_ManagedClusterAzureMonitorProfileMetrics_STATUS(&metric) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterAzureMonitorProfileMetrics_STATUS() to populate field Metrics") + } + destination.Metrics = &metric + } else { + destination.Metrics = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterAzureMonitorProfile_STATUS interface (if implemented) to customize the conversion + var profileAsAny any = profile + if augmentedProfile, ok := profileAsAny.(augmentConversionForManagedClusterAzureMonitorProfile_STATUS); ok { + err := augmentedProfile.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +// Storage version of v1api20231001.ManagedClusterHTTPProxyConfig +// Cluster HTTP proxy configuration. +type ManagedClusterHTTPProxyConfig struct { + HttpProxy *string `json:"httpProxy,omitempty"` + HttpsProxy *string `json:"httpsProxy,omitempty"` + NoProxy []string `json:"noProxy,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + TrustedCa *string `json:"trustedCa,omitempty"` +} + +// AssignProperties_From_ManagedClusterHTTPProxyConfig populates our ManagedClusterHTTPProxyConfig from the provided source ManagedClusterHTTPProxyConfig +func (config *ManagedClusterHTTPProxyConfig) AssignProperties_From_ManagedClusterHTTPProxyConfig(source *storage.ManagedClusterHTTPProxyConfig) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // HttpProxy + config.HttpProxy = genruntime.ClonePointerToString(source.HttpProxy) + + // HttpsProxy + config.HttpsProxy = genruntime.ClonePointerToString(source.HttpsProxy) + + // NoProxy + config.NoProxy = genruntime.CloneSliceOfString(source.NoProxy) + + // TrustedCa + config.TrustedCa = genruntime.ClonePointerToString(source.TrustedCa) + + // Update the property bag + if len(propertyBag) > 0 { + config.PropertyBag = propertyBag + } else { + config.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterHTTPProxyConfig interface (if implemented) to customize the conversion + var configAsAny any = config + if augmentedConfig, ok := configAsAny.(augmentConversionForManagedClusterHTTPProxyConfig); ok { + err := augmentedConfig.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterHTTPProxyConfig populates the provided destination ManagedClusterHTTPProxyConfig from our ManagedClusterHTTPProxyConfig +func (config *ManagedClusterHTTPProxyConfig) AssignProperties_To_ManagedClusterHTTPProxyConfig(destination *storage.ManagedClusterHTTPProxyConfig) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(config.PropertyBag) + + // HttpProxy + destination.HttpProxy = genruntime.ClonePointerToString(config.HttpProxy) + + // HttpsProxy + destination.HttpsProxy = genruntime.ClonePointerToString(config.HttpsProxy) + + // NoProxy + destination.NoProxy = genruntime.CloneSliceOfString(config.NoProxy) + + // TrustedCa + destination.TrustedCa = genruntime.ClonePointerToString(config.TrustedCa) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterHTTPProxyConfig interface (if implemented) to customize the conversion + var configAsAny any = config + if augmentedConfig, ok := configAsAny.(augmentConversionForManagedClusterHTTPProxyConfig); ok { + err := augmentedConfig.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +// Storage version of v1api20231001.ManagedClusterHTTPProxyConfig_STATUS +// Cluster HTTP proxy configuration. +type ManagedClusterHTTPProxyConfig_STATUS struct { + HttpProxy *string `json:"httpProxy,omitempty"` + HttpsProxy *string `json:"httpsProxy,omitempty"` + NoProxy []string `json:"noProxy,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + TrustedCa *string `json:"trustedCa,omitempty"` +} + +// AssignProperties_From_ManagedClusterHTTPProxyConfig_STATUS populates our ManagedClusterHTTPProxyConfig_STATUS from the provided source ManagedClusterHTTPProxyConfig_STATUS +func (config *ManagedClusterHTTPProxyConfig_STATUS) AssignProperties_From_ManagedClusterHTTPProxyConfig_STATUS(source *storage.ManagedClusterHTTPProxyConfig_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // HttpProxy + config.HttpProxy = genruntime.ClonePointerToString(source.HttpProxy) + + // HttpsProxy + config.HttpsProxy = genruntime.ClonePointerToString(source.HttpsProxy) + + // NoProxy + config.NoProxy = genruntime.CloneSliceOfString(source.NoProxy) + + // TrustedCa + config.TrustedCa = genruntime.ClonePointerToString(source.TrustedCa) + + // Update the property bag + if len(propertyBag) > 0 { + config.PropertyBag = propertyBag + } else { + config.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterHTTPProxyConfig_STATUS interface (if implemented) to customize the conversion + var configAsAny any = config + if augmentedConfig, ok := configAsAny.(augmentConversionForManagedClusterHTTPProxyConfig_STATUS); ok { + err := augmentedConfig.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterHTTPProxyConfig_STATUS populates the provided destination ManagedClusterHTTPProxyConfig_STATUS from our ManagedClusterHTTPProxyConfig_STATUS +func (config *ManagedClusterHTTPProxyConfig_STATUS) AssignProperties_To_ManagedClusterHTTPProxyConfig_STATUS(destination *storage.ManagedClusterHTTPProxyConfig_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(config.PropertyBag) + + // HttpProxy + destination.HttpProxy = genruntime.ClonePointerToString(config.HttpProxy) + + // HttpsProxy + destination.HttpsProxy = genruntime.ClonePointerToString(config.HttpsProxy) + + // NoProxy + destination.NoProxy = genruntime.CloneSliceOfString(config.NoProxy) + + // TrustedCa + destination.TrustedCa = genruntime.ClonePointerToString(config.TrustedCa) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterHTTPProxyConfig_STATUS interface (if implemented) to customize the conversion + var configAsAny any = config + if augmentedConfig, ok := configAsAny.(augmentConversionForManagedClusterHTTPProxyConfig_STATUS); ok { + err := augmentedConfig.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +// Storage version of v1api20231001.ManagedClusterIdentity +// Identity for the managed cluster. +type ManagedClusterIdentity struct { + DelegatedResources map[string]DelegatedResource `json:"delegatedResources,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Type *string `json:"type,omitempty"` + UserAssignedIdentities []UserAssignedIdentityDetails `json:"userAssignedIdentities,omitempty"` +} + +// AssignProperties_From_ManagedClusterIdentity populates our ManagedClusterIdentity from the provided source ManagedClusterIdentity +func (identity *ManagedClusterIdentity) AssignProperties_From_ManagedClusterIdentity(source *storage.ManagedClusterIdentity) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // DelegatedResources + if source.DelegatedResources != nil { + delegatedResourceMap := make(map[string]DelegatedResource, len(source.DelegatedResources)) + for delegatedResourceKey, delegatedResourceValue := range source.DelegatedResources { + // Shadow the loop variable to avoid aliasing + delegatedResourceValue := delegatedResourceValue + var delegatedResource DelegatedResource + err := delegatedResource.AssignProperties_From_DelegatedResource(&delegatedResourceValue) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_DelegatedResource() to populate field DelegatedResources") + } + delegatedResourceMap[delegatedResourceKey] = delegatedResource + } + identity.DelegatedResources = delegatedResourceMap + } else { + identity.DelegatedResources = nil + } + + // Type + identity.Type = genruntime.ClonePointerToString(source.Type) + + // UserAssignedIdentities + if source.UserAssignedIdentities != nil { + userAssignedIdentityList := make([]UserAssignedIdentityDetails, len(source.UserAssignedIdentities)) + for userAssignedIdentityIndex, userAssignedIdentityItem := range source.UserAssignedIdentities { + // Shadow the loop variable to avoid aliasing + userAssignedIdentityItem := userAssignedIdentityItem + var userAssignedIdentity UserAssignedIdentityDetails + err := userAssignedIdentity.AssignProperties_From_UserAssignedIdentityDetails(&userAssignedIdentityItem) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_UserAssignedIdentityDetails() to populate field UserAssignedIdentities") + } + userAssignedIdentityList[userAssignedIdentityIndex] = userAssignedIdentity + } + identity.UserAssignedIdentities = userAssignedIdentityList + } else { + identity.UserAssignedIdentities = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + identity.PropertyBag = propertyBag + } else { + identity.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterIdentity interface (if implemented) to customize the conversion + var identityAsAny any = identity + if augmentedIdentity, ok := identityAsAny.(augmentConversionForManagedClusterIdentity); ok { + err := augmentedIdentity.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterIdentity populates the provided destination ManagedClusterIdentity from our ManagedClusterIdentity +func (identity *ManagedClusterIdentity) AssignProperties_To_ManagedClusterIdentity(destination *storage.ManagedClusterIdentity) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(identity.PropertyBag) + + // DelegatedResources + if identity.DelegatedResources != nil { + delegatedResourceMap := make(map[string]storage.DelegatedResource, len(identity.DelegatedResources)) + for delegatedResourceKey, delegatedResourceValue := range identity.DelegatedResources { + // Shadow the loop variable to avoid aliasing + delegatedResourceValue := delegatedResourceValue + var delegatedResource storage.DelegatedResource + err := delegatedResourceValue.AssignProperties_To_DelegatedResource(&delegatedResource) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_DelegatedResource() to populate field DelegatedResources") + } + delegatedResourceMap[delegatedResourceKey] = delegatedResource + } + destination.DelegatedResources = delegatedResourceMap + } else { + destination.DelegatedResources = nil + } + + // Type + destination.Type = genruntime.ClonePointerToString(identity.Type) + + // UserAssignedIdentities + if identity.UserAssignedIdentities != nil { + userAssignedIdentityList := make([]storage.UserAssignedIdentityDetails, len(identity.UserAssignedIdentities)) + for userAssignedIdentityIndex, userAssignedIdentityItem := range identity.UserAssignedIdentities { + // Shadow the loop variable to avoid aliasing + userAssignedIdentityItem := userAssignedIdentityItem + var userAssignedIdentity storage.UserAssignedIdentityDetails + err := userAssignedIdentityItem.AssignProperties_To_UserAssignedIdentityDetails(&userAssignedIdentity) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_UserAssignedIdentityDetails() to populate field UserAssignedIdentities") + } + userAssignedIdentityList[userAssignedIdentityIndex] = userAssignedIdentity + } + destination.UserAssignedIdentities = userAssignedIdentityList + } else { + destination.UserAssignedIdentities = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterIdentity interface (if implemented) to customize the conversion + var identityAsAny any = identity + if augmentedIdentity, ok := identityAsAny.(augmentConversionForManagedClusterIdentity); ok { + err := augmentedIdentity.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +// Storage version of v1api20231001.ManagedClusterIdentity_STATUS +// Identity for the managed cluster. +type ManagedClusterIdentity_STATUS struct { + DelegatedResources map[string]DelegatedResource_STATUS `json:"delegatedResources,omitempty"` + PrincipalId *string `json:"principalId,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + TenantId *string `json:"tenantId,omitempty"` + Type *string `json:"type,omitempty"` + UserAssignedIdentities map[string]ManagedClusterIdentity_UserAssignedIdentities_STATUS `json:"userAssignedIdentities,omitempty"` +} + +// AssignProperties_From_ManagedClusterIdentity_STATUS populates our ManagedClusterIdentity_STATUS from the provided source ManagedClusterIdentity_STATUS +func (identity *ManagedClusterIdentity_STATUS) AssignProperties_From_ManagedClusterIdentity_STATUS(source *storage.ManagedClusterIdentity_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // DelegatedResources + if source.DelegatedResources != nil { + delegatedResourceMap := make(map[string]DelegatedResource_STATUS, len(source.DelegatedResources)) + for delegatedResourceKey, delegatedResourceValue := range source.DelegatedResources { + // Shadow the loop variable to avoid aliasing + delegatedResourceValue := delegatedResourceValue + var delegatedResource DelegatedResource_STATUS + err := delegatedResource.AssignProperties_From_DelegatedResource_STATUS(&delegatedResourceValue) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_DelegatedResource_STATUS() to populate field DelegatedResources") + } + delegatedResourceMap[delegatedResourceKey] = delegatedResource + } + identity.DelegatedResources = delegatedResourceMap + } else { + identity.DelegatedResources = nil + } + + // PrincipalId + identity.PrincipalId = genruntime.ClonePointerToString(source.PrincipalId) + + // TenantId + identity.TenantId = genruntime.ClonePointerToString(source.TenantId) + + // Type + identity.Type = genruntime.ClonePointerToString(source.Type) + + // UserAssignedIdentities + if source.UserAssignedIdentities != nil { + userAssignedIdentityMap := make(map[string]ManagedClusterIdentity_UserAssignedIdentities_STATUS, len(source.UserAssignedIdentities)) + for userAssignedIdentityKey, userAssignedIdentityValue := range source.UserAssignedIdentities { + // Shadow the loop variable to avoid aliasing + userAssignedIdentityValue := userAssignedIdentityValue + var userAssignedIdentity ManagedClusterIdentity_UserAssignedIdentities_STATUS + err := userAssignedIdentity.AssignProperties_From_ManagedClusterIdentity_UserAssignedIdentities_STATUS(&userAssignedIdentityValue) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterIdentity_UserAssignedIdentities_STATUS() to populate field UserAssignedIdentities") + } + userAssignedIdentityMap[userAssignedIdentityKey] = userAssignedIdentity + } + identity.UserAssignedIdentities = userAssignedIdentityMap + } else { + identity.UserAssignedIdentities = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + identity.PropertyBag = propertyBag + } else { + identity.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterIdentity_STATUS interface (if implemented) to customize the conversion + var identityAsAny any = identity + if augmentedIdentity, ok := identityAsAny.(augmentConversionForManagedClusterIdentity_STATUS); ok { + err := augmentedIdentity.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterIdentity_STATUS populates the provided destination ManagedClusterIdentity_STATUS from our ManagedClusterIdentity_STATUS +func (identity *ManagedClusterIdentity_STATUS) AssignProperties_To_ManagedClusterIdentity_STATUS(destination *storage.ManagedClusterIdentity_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(identity.PropertyBag) + + // DelegatedResources + if identity.DelegatedResources != nil { + delegatedResourceMap := make(map[string]storage.DelegatedResource_STATUS, len(identity.DelegatedResources)) + for delegatedResourceKey, delegatedResourceValue := range identity.DelegatedResources { + // Shadow the loop variable to avoid aliasing + delegatedResourceValue := delegatedResourceValue + var delegatedResource storage.DelegatedResource_STATUS + err := delegatedResourceValue.AssignProperties_To_DelegatedResource_STATUS(&delegatedResource) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_DelegatedResource_STATUS() to populate field DelegatedResources") + } + delegatedResourceMap[delegatedResourceKey] = delegatedResource + } + destination.DelegatedResources = delegatedResourceMap + } else { + destination.DelegatedResources = nil + } + + // PrincipalId + destination.PrincipalId = genruntime.ClonePointerToString(identity.PrincipalId) + + // TenantId + destination.TenantId = genruntime.ClonePointerToString(identity.TenantId) + + // Type + destination.Type = genruntime.ClonePointerToString(identity.Type) + + // UserAssignedIdentities + if identity.UserAssignedIdentities != nil { + userAssignedIdentityMap := make(map[string]storage.ManagedClusterIdentity_UserAssignedIdentities_STATUS, len(identity.UserAssignedIdentities)) + for userAssignedIdentityKey, userAssignedIdentityValue := range identity.UserAssignedIdentities { + // Shadow the loop variable to avoid aliasing + userAssignedIdentityValue := userAssignedIdentityValue + var userAssignedIdentity storage.ManagedClusterIdentity_UserAssignedIdentities_STATUS + err := userAssignedIdentityValue.AssignProperties_To_ManagedClusterIdentity_UserAssignedIdentities_STATUS(&userAssignedIdentity) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterIdentity_UserAssignedIdentities_STATUS() to populate field UserAssignedIdentities") + } + userAssignedIdentityMap[userAssignedIdentityKey] = userAssignedIdentity + } + destination.UserAssignedIdentities = userAssignedIdentityMap + } else { + destination.UserAssignedIdentities = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterIdentity_STATUS interface (if implemented) to customize the conversion + var identityAsAny any = identity + if augmentedIdentity, ok := identityAsAny.(augmentConversionForManagedClusterIdentity_STATUS); ok { + err := augmentedIdentity.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +// Storage version of v1api20231001.ManagedClusterOIDCIssuerProfile +// The OIDC issuer profile of the Managed Cluster. +type ManagedClusterOIDCIssuerProfile struct { + Enabled *bool `json:"enabled,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// AssignProperties_From_ManagedClusterOIDCIssuerProfile populates our ManagedClusterOIDCIssuerProfile from the provided source ManagedClusterOIDCIssuerProfile +func (profile *ManagedClusterOIDCIssuerProfile) AssignProperties_From_ManagedClusterOIDCIssuerProfile(source *storage.ManagedClusterOIDCIssuerProfile) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + profile.Enabled = &enabled + } else { + profile.Enabled = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + profile.PropertyBag = propertyBag + } else { + profile.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterOIDCIssuerProfile interface (if implemented) to customize the conversion + var profileAsAny any = profile + if augmentedProfile, ok := profileAsAny.(augmentConversionForManagedClusterOIDCIssuerProfile); ok { + err := augmentedProfile.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterOIDCIssuerProfile populates the provided destination ManagedClusterOIDCIssuerProfile from our ManagedClusterOIDCIssuerProfile +func (profile *ManagedClusterOIDCIssuerProfile) AssignProperties_To_ManagedClusterOIDCIssuerProfile(destination *storage.ManagedClusterOIDCIssuerProfile) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) + + // Enabled + if profile.Enabled != nil { + enabled := *profile.Enabled + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterOIDCIssuerProfile interface (if implemented) to customize the conversion + var profileAsAny any = profile + if augmentedProfile, ok := profileAsAny.(augmentConversionForManagedClusterOIDCIssuerProfile); ok { + err := augmentedProfile.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +// Storage version of v1api20231001.ManagedClusterOIDCIssuerProfile_STATUS +// The OIDC issuer profile of the Managed Cluster. +type ManagedClusterOIDCIssuerProfile_STATUS struct { + Enabled *bool `json:"enabled,omitempty"` + IssuerURL *string `json:"issuerURL,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// AssignProperties_From_ManagedClusterOIDCIssuerProfile_STATUS populates our ManagedClusterOIDCIssuerProfile_STATUS from the provided source ManagedClusterOIDCIssuerProfile_STATUS +func (profile *ManagedClusterOIDCIssuerProfile_STATUS) AssignProperties_From_ManagedClusterOIDCIssuerProfile_STATUS(source *storage.ManagedClusterOIDCIssuerProfile_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + profile.Enabled = &enabled + } else { + profile.Enabled = nil + } + + // IssuerURL + profile.IssuerURL = genruntime.ClonePointerToString(source.IssuerURL) + + // Update the property bag + if len(propertyBag) > 0 { + profile.PropertyBag = propertyBag + } else { + profile.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterOIDCIssuerProfile_STATUS interface (if implemented) to customize the conversion + var profileAsAny any = profile + if augmentedProfile, ok := profileAsAny.(augmentConversionForManagedClusterOIDCIssuerProfile_STATUS); ok { + err := augmentedProfile.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterOIDCIssuerProfile_STATUS populates the provided destination ManagedClusterOIDCIssuerProfile_STATUS from our ManagedClusterOIDCIssuerProfile_STATUS +func (profile *ManagedClusterOIDCIssuerProfile_STATUS) AssignProperties_To_ManagedClusterOIDCIssuerProfile_STATUS(destination *storage.ManagedClusterOIDCIssuerProfile_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) + + // Enabled + if profile.Enabled != nil { + enabled := *profile.Enabled + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // IssuerURL + destination.IssuerURL = genruntime.ClonePointerToString(profile.IssuerURL) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterOIDCIssuerProfile_STATUS interface (if implemented) to customize the conversion + var profileAsAny any = profile + if augmentedProfile, ok := profileAsAny.(augmentConversionForManagedClusterOIDCIssuerProfile_STATUS); ok { + err := augmentedProfile.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +// Storage version of v1api20231001.ManagedClusterOperatorSpec +// Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure +type ManagedClusterOperatorSpec struct { + ConfigMaps *ManagedClusterOperatorConfigMaps `json:"configMaps,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Secrets *ManagedClusterOperatorSecrets `json:"secrets,omitempty"` +} + +// AssignProperties_From_ManagedClusterOperatorSpec populates our ManagedClusterOperatorSpec from the provided source ManagedClusterOperatorSpec +func (operator *ManagedClusterOperatorSpec) AssignProperties_From_ManagedClusterOperatorSpec(source *storage.ManagedClusterOperatorSpec) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // ConfigMaps + if source.ConfigMaps != nil { + var configMap ManagedClusterOperatorConfigMaps + err := configMap.AssignProperties_From_ManagedClusterOperatorConfigMaps(source.ConfigMaps) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterOperatorConfigMaps() to populate field ConfigMaps") + } + operator.ConfigMaps = &configMap + } else { + operator.ConfigMaps = nil + } + + // Secrets + if source.Secrets != nil { + var secret ManagedClusterOperatorSecrets + err := secret.AssignProperties_From_ManagedClusterOperatorSecrets(source.Secrets) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterOperatorSecrets() to populate field Secrets") + } + operator.Secrets = &secret + } else { + operator.Secrets = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + operator.PropertyBag = propertyBag + } else { + operator.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterOperatorSpec interface (if implemented) to customize the conversion + var operatorAsAny any = operator + if augmentedOperator, ok := operatorAsAny.(augmentConversionForManagedClusterOperatorSpec); ok { + err := augmentedOperator.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterOperatorSpec populates the provided destination ManagedClusterOperatorSpec from our ManagedClusterOperatorSpec +func (operator *ManagedClusterOperatorSpec) AssignProperties_To_ManagedClusterOperatorSpec(destination *storage.ManagedClusterOperatorSpec) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(operator.PropertyBag) + + // ConfigMaps + if operator.ConfigMaps != nil { + var configMap storage.ManagedClusterOperatorConfigMaps + err := operator.ConfigMaps.AssignProperties_To_ManagedClusterOperatorConfigMaps(&configMap) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterOperatorConfigMaps() to populate field ConfigMaps") + } + destination.ConfigMaps = &configMap + } else { + destination.ConfigMaps = nil + } + + // Secrets + if operator.Secrets != nil { + var secret storage.ManagedClusterOperatorSecrets + err := operator.Secrets.AssignProperties_To_ManagedClusterOperatorSecrets(&secret) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterOperatorSecrets() to populate field Secrets") + } + destination.Secrets = &secret + } else { + destination.Secrets = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterOperatorSpec interface (if implemented) to customize the conversion + var operatorAsAny any = operator + if augmentedOperator, ok := operatorAsAny.(augmentConversionForManagedClusterOperatorSpec); ok { + err := augmentedOperator.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +// Storage version of v1api20231001.ManagedClusterPodIdentityProfile +// See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on pod +// identity integration. +type ManagedClusterPodIdentityProfile struct { + AllowNetworkPluginKubenet *bool `json:"allowNetworkPluginKubenet,omitempty"` + Enabled *bool `json:"enabled,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + UserAssignedIdentities []ManagedClusterPodIdentity `json:"userAssignedIdentities,omitempty"` + UserAssignedIdentityExceptions []ManagedClusterPodIdentityException `json:"userAssignedIdentityExceptions,omitempty"` +} + +// AssignProperties_From_ManagedClusterPodIdentityProfile populates our ManagedClusterPodIdentityProfile from the provided source ManagedClusterPodIdentityProfile +func (profile *ManagedClusterPodIdentityProfile) AssignProperties_From_ManagedClusterPodIdentityProfile(source *storage.ManagedClusterPodIdentityProfile) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // AllowNetworkPluginKubenet + if source.AllowNetworkPluginKubenet != nil { + allowNetworkPluginKubenet := *source.AllowNetworkPluginKubenet + profile.AllowNetworkPluginKubenet = &allowNetworkPluginKubenet + } else { + profile.AllowNetworkPluginKubenet = nil + } + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + profile.Enabled = &enabled + } else { + profile.Enabled = nil + } + + // UserAssignedIdentities + if source.UserAssignedIdentities != nil { + userAssignedIdentityList := make([]ManagedClusterPodIdentity, len(source.UserAssignedIdentities)) + for userAssignedIdentityIndex, userAssignedIdentityItem := range source.UserAssignedIdentities { + // Shadow the loop variable to avoid aliasing + userAssignedIdentityItem := userAssignedIdentityItem + var userAssignedIdentity ManagedClusterPodIdentity + err := userAssignedIdentity.AssignProperties_From_ManagedClusterPodIdentity(&userAssignedIdentityItem) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterPodIdentity() to populate field UserAssignedIdentities") + } + userAssignedIdentityList[userAssignedIdentityIndex] = userAssignedIdentity + } + profile.UserAssignedIdentities = userAssignedIdentityList + } else { + profile.UserAssignedIdentities = nil + } + + // UserAssignedIdentityExceptions + if source.UserAssignedIdentityExceptions != nil { + userAssignedIdentityExceptionList := make([]ManagedClusterPodIdentityException, len(source.UserAssignedIdentityExceptions)) + for userAssignedIdentityExceptionIndex, userAssignedIdentityExceptionItem := range source.UserAssignedIdentityExceptions { + // Shadow the loop variable to avoid aliasing + userAssignedIdentityExceptionItem := userAssignedIdentityExceptionItem + var userAssignedIdentityException ManagedClusterPodIdentityException + err := userAssignedIdentityException.AssignProperties_From_ManagedClusterPodIdentityException(&userAssignedIdentityExceptionItem) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterPodIdentityException() to populate field UserAssignedIdentityExceptions") + } + userAssignedIdentityExceptionList[userAssignedIdentityExceptionIndex] = userAssignedIdentityException + } + profile.UserAssignedIdentityExceptions = userAssignedIdentityExceptionList + } else { + profile.UserAssignedIdentityExceptions = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + profile.PropertyBag = propertyBag + } else { + profile.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterPodIdentityProfile interface (if implemented) to customize the conversion + var profileAsAny any = profile + if augmentedProfile, ok := profileAsAny.(augmentConversionForManagedClusterPodIdentityProfile); ok { + err := augmentedProfile.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterPodIdentityProfile populates the provided destination ManagedClusterPodIdentityProfile from our ManagedClusterPodIdentityProfile +func (profile *ManagedClusterPodIdentityProfile) AssignProperties_To_ManagedClusterPodIdentityProfile(destination *storage.ManagedClusterPodIdentityProfile) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) + + // AllowNetworkPluginKubenet + if profile.AllowNetworkPluginKubenet != nil { + allowNetworkPluginKubenet := *profile.AllowNetworkPluginKubenet + destination.AllowNetworkPluginKubenet = &allowNetworkPluginKubenet + } else { + destination.AllowNetworkPluginKubenet = nil + } + + // Enabled + if profile.Enabled != nil { + enabled := *profile.Enabled + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // UserAssignedIdentities + if profile.UserAssignedIdentities != nil { + userAssignedIdentityList := make([]storage.ManagedClusterPodIdentity, len(profile.UserAssignedIdentities)) + for userAssignedIdentityIndex, userAssignedIdentityItem := range profile.UserAssignedIdentities { + // Shadow the loop variable to avoid aliasing + userAssignedIdentityItem := userAssignedIdentityItem + var userAssignedIdentity storage.ManagedClusterPodIdentity + err := userAssignedIdentityItem.AssignProperties_To_ManagedClusterPodIdentity(&userAssignedIdentity) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterPodIdentity() to populate field UserAssignedIdentities") + } + userAssignedIdentityList[userAssignedIdentityIndex] = userAssignedIdentity + } + destination.UserAssignedIdentities = userAssignedIdentityList + } else { + destination.UserAssignedIdentities = nil + } + + // UserAssignedIdentityExceptions + if profile.UserAssignedIdentityExceptions != nil { + userAssignedIdentityExceptionList := make([]storage.ManagedClusterPodIdentityException, len(profile.UserAssignedIdentityExceptions)) + for userAssignedIdentityExceptionIndex, userAssignedIdentityExceptionItem := range profile.UserAssignedIdentityExceptions { + // Shadow the loop variable to avoid aliasing + userAssignedIdentityExceptionItem := userAssignedIdentityExceptionItem + var userAssignedIdentityException storage.ManagedClusterPodIdentityException + err := userAssignedIdentityExceptionItem.AssignProperties_To_ManagedClusterPodIdentityException(&userAssignedIdentityException) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterPodIdentityException() to populate field UserAssignedIdentityExceptions") + } + userAssignedIdentityExceptionList[userAssignedIdentityExceptionIndex] = userAssignedIdentityException + } + destination.UserAssignedIdentityExceptions = userAssignedIdentityExceptionList + } else { + destination.UserAssignedIdentityExceptions = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterPodIdentityProfile interface (if implemented) to customize the conversion + var profileAsAny any = profile + if augmentedProfile, ok := profileAsAny.(augmentConversionForManagedClusterPodIdentityProfile); ok { + err := augmentedProfile.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +// Storage version of v1api20231001.ManagedClusterPodIdentityProfile_STATUS +// See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on pod +// identity integration. +type ManagedClusterPodIdentityProfile_STATUS struct { + AllowNetworkPluginKubenet *bool `json:"allowNetworkPluginKubenet,omitempty"` + Enabled *bool `json:"enabled,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + UserAssignedIdentities []ManagedClusterPodIdentity_STATUS `json:"userAssignedIdentities,omitempty"` + UserAssignedIdentityExceptions []ManagedClusterPodIdentityException_STATUS `json:"userAssignedIdentityExceptions,omitempty"` +} + +// AssignProperties_From_ManagedClusterPodIdentityProfile_STATUS populates our ManagedClusterPodIdentityProfile_STATUS from the provided source ManagedClusterPodIdentityProfile_STATUS +func (profile *ManagedClusterPodIdentityProfile_STATUS) AssignProperties_From_ManagedClusterPodIdentityProfile_STATUS(source *storage.ManagedClusterPodIdentityProfile_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // AllowNetworkPluginKubenet + if source.AllowNetworkPluginKubenet != nil { + allowNetworkPluginKubenet := *source.AllowNetworkPluginKubenet + profile.AllowNetworkPluginKubenet = &allowNetworkPluginKubenet + } else { + profile.AllowNetworkPluginKubenet = nil + } + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + profile.Enabled = &enabled + } else { + profile.Enabled = nil + } + + // UserAssignedIdentities + if source.UserAssignedIdentities != nil { + userAssignedIdentityList := make([]ManagedClusterPodIdentity_STATUS, len(source.UserAssignedIdentities)) + for userAssignedIdentityIndex, userAssignedIdentityItem := range source.UserAssignedIdentities { + // Shadow the loop variable to avoid aliasing + userAssignedIdentityItem := userAssignedIdentityItem + var userAssignedIdentity ManagedClusterPodIdentity_STATUS + err := userAssignedIdentity.AssignProperties_From_ManagedClusterPodIdentity_STATUS(&userAssignedIdentityItem) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterPodIdentity_STATUS() to populate field UserAssignedIdentities") + } + userAssignedIdentityList[userAssignedIdentityIndex] = userAssignedIdentity + } + profile.UserAssignedIdentities = userAssignedIdentityList + } else { + profile.UserAssignedIdentities = nil + } + + // UserAssignedIdentityExceptions + if source.UserAssignedIdentityExceptions != nil { + userAssignedIdentityExceptionList := make([]ManagedClusterPodIdentityException_STATUS, len(source.UserAssignedIdentityExceptions)) + for userAssignedIdentityExceptionIndex, userAssignedIdentityExceptionItem := range source.UserAssignedIdentityExceptions { + // Shadow the loop variable to avoid aliasing + userAssignedIdentityExceptionItem := userAssignedIdentityExceptionItem + var userAssignedIdentityException ManagedClusterPodIdentityException_STATUS + err := userAssignedIdentityException.AssignProperties_From_ManagedClusterPodIdentityException_STATUS(&userAssignedIdentityExceptionItem) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterPodIdentityException_STATUS() to populate field UserAssignedIdentityExceptions") + } + userAssignedIdentityExceptionList[userAssignedIdentityExceptionIndex] = userAssignedIdentityException + } + profile.UserAssignedIdentityExceptions = userAssignedIdentityExceptionList + } else { + profile.UserAssignedIdentityExceptions = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + profile.PropertyBag = propertyBag + } else { + profile.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterPodIdentityProfile_STATUS interface (if implemented) to customize the conversion + var profileAsAny any = profile + if augmentedProfile, ok := profileAsAny.(augmentConversionForManagedClusterPodIdentityProfile_STATUS); ok { + err := augmentedProfile.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterPodIdentityProfile_STATUS populates the provided destination ManagedClusterPodIdentityProfile_STATUS from our ManagedClusterPodIdentityProfile_STATUS +func (profile *ManagedClusterPodIdentityProfile_STATUS) AssignProperties_To_ManagedClusterPodIdentityProfile_STATUS(destination *storage.ManagedClusterPodIdentityProfile_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) + + // AllowNetworkPluginKubenet + if profile.AllowNetworkPluginKubenet != nil { + allowNetworkPluginKubenet := *profile.AllowNetworkPluginKubenet + destination.AllowNetworkPluginKubenet = &allowNetworkPluginKubenet + } else { + destination.AllowNetworkPluginKubenet = nil + } + + // Enabled + if profile.Enabled != nil { + enabled := *profile.Enabled + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // UserAssignedIdentities + if profile.UserAssignedIdentities != nil { + userAssignedIdentityList := make([]storage.ManagedClusterPodIdentity_STATUS, len(profile.UserAssignedIdentities)) + for userAssignedIdentityIndex, userAssignedIdentityItem := range profile.UserAssignedIdentities { + // Shadow the loop variable to avoid aliasing + userAssignedIdentityItem := userAssignedIdentityItem + var userAssignedIdentity storage.ManagedClusterPodIdentity_STATUS + err := userAssignedIdentityItem.AssignProperties_To_ManagedClusterPodIdentity_STATUS(&userAssignedIdentity) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterPodIdentity_STATUS() to populate field UserAssignedIdentities") + } + userAssignedIdentityList[userAssignedIdentityIndex] = userAssignedIdentity + } + destination.UserAssignedIdentities = userAssignedIdentityList + } else { + destination.UserAssignedIdentities = nil + } + + // UserAssignedIdentityExceptions + if profile.UserAssignedIdentityExceptions != nil { + userAssignedIdentityExceptionList := make([]storage.ManagedClusterPodIdentityException_STATUS, len(profile.UserAssignedIdentityExceptions)) + for userAssignedIdentityExceptionIndex, userAssignedIdentityExceptionItem := range profile.UserAssignedIdentityExceptions { + // Shadow the loop variable to avoid aliasing + userAssignedIdentityExceptionItem := userAssignedIdentityExceptionItem + var userAssignedIdentityException storage.ManagedClusterPodIdentityException_STATUS + err := userAssignedIdentityExceptionItem.AssignProperties_To_ManagedClusterPodIdentityException_STATUS(&userAssignedIdentityException) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterPodIdentityException_STATUS() to populate field UserAssignedIdentityExceptions") + } + userAssignedIdentityExceptionList[userAssignedIdentityExceptionIndex] = userAssignedIdentityException + } + destination.UserAssignedIdentityExceptions = userAssignedIdentityExceptionList + } else { + destination.UserAssignedIdentityExceptions = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterPodIdentityProfile_STATUS interface (if implemented) to customize the conversion + var profileAsAny any = profile + if augmentedProfile, ok := profileAsAny.(augmentConversionForManagedClusterPodIdentityProfile_STATUS); ok { + err := augmentedProfile.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +// Storage version of v1api20231001.ManagedClusterProperties_AutoScalerProfile +type ManagedClusterProperties_AutoScalerProfile struct { + BalanceSimilarNodeGroups *string `json:"balance-similar-node-groups,omitempty"` + Expander *string `json:"expander,omitempty"` + MaxEmptyBulkDelete *string `json:"max-empty-bulk-delete,omitempty"` + MaxGracefulTerminationSec *string `json:"max-graceful-termination-sec,omitempty"` + MaxNodeProvisionTime *string `json:"max-node-provision-time,omitempty"` + MaxTotalUnreadyPercentage *string `json:"max-total-unready-percentage,omitempty"` + NewPodScaleUpDelay *string `json:"new-pod-scale-up-delay,omitempty"` + OkTotalUnreadyCount *string `json:"ok-total-unready-count,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + ScaleDownDelayAfterAdd *string `json:"scale-down-delay-after-add,omitempty"` + ScaleDownDelayAfterDelete *string `json:"scale-down-delay-after-delete,omitempty"` + ScaleDownDelayAfterFailure *string `json:"scale-down-delay-after-failure,omitempty"` + ScaleDownUnneededTime *string `json:"scale-down-unneeded-time,omitempty"` + ScaleDownUnreadyTime *string `json:"scale-down-unready-time,omitempty"` + ScaleDownUtilizationThreshold *string `json:"scale-down-utilization-threshold,omitempty"` + ScanInterval *string `json:"scan-interval,omitempty"` + SkipNodesWithLocalStorage *string `json:"skip-nodes-with-local-storage,omitempty"` + SkipNodesWithSystemPods *string `json:"skip-nodes-with-system-pods,omitempty"` +} + +// AssignProperties_From_ManagedClusterProperties_AutoScalerProfile populates our ManagedClusterProperties_AutoScalerProfile from the provided source ManagedClusterProperties_AutoScalerProfile +func (profile *ManagedClusterProperties_AutoScalerProfile) AssignProperties_From_ManagedClusterProperties_AutoScalerProfile(source *storage.ManagedClusterProperties_AutoScalerProfile) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // BalanceSimilarNodeGroups + profile.BalanceSimilarNodeGroups = genruntime.ClonePointerToString(source.BalanceSimilarNodeGroups) + + // DaemonsetEvictionForEmptyNodes + if source.DaemonsetEvictionForEmptyNodes != nil { + propertyBag.Add("DaemonsetEvictionForEmptyNodes", *source.DaemonsetEvictionForEmptyNodes) + } else { + propertyBag.Remove("DaemonsetEvictionForEmptyNodes") + } + + // DaemonsetEvictionForOccupiedNodes + if source.DaemonsetEvictionForOccupiedNodes != nil { + propertyBag.Add("DaemonsetEvictionForOccupiedNodes", *source.DaemonsetEvictionForOccupiedNodes) + } else { + propertyBag.Remove("DaemonsetEvictionForOccupiedNodes") + } + + // Expander + profile.Expander = genruntime.ClonePointerToString(source.Expander) + + // IgnoreDaemonsetsUtilization + if source.IgnoreDaemonsetsUtilization != nil { + propertyBag.Add("IgnoreDaemonsetsUtilization", *source.IgnoreDaemonsetsUtilization) + } else { + propertyBag.Remove("IgnoreDaemonsetsUtilization") + } + + // MaxEmptyBulkDelete + profile.MaxEmptyBulkDelete = genruntime.ClonePointerToString(source.MaxEmptyBulkDelete) + + // MaxGracefulTerminationSec + profile.MaxGracefulTerminationSec = genruntime.ClonePointerToString(source.MaxGracefulTerminationSec) + + // MaxNodeProvisionTime + profile.MaxNodeProvisionTime = genruntime.ClonePointerToString(source.MaxNodeProvisionTime) + + // MaxTotalUnreadyPercentage + profile.MaxTotalUnreadyPercentage = genruntime.ClonePointerToString(source.MaxTotalUnreadyPercentage) + + // NewPodScaleUpDelay + profile.NewPodScaleUpDelay = genruntime.ClonePointerToString(source.NewPodScaleUpDelay) + + // OkTotalUnreadyCount + profile.OkTotalUnreadyCount = genruntime.ClonePointerToString(source.OkTotalUnreadyCount) + + // ScaleDownDelayAfterAdd + profile.ScaleDownDelayAfterAdd = genruntime.ClonePointerToString(source.ScaleDownDelayAfterAdd) + + // ScaleDownDelayAfterDelete + profile.ScaleDownDelayAfterDelete = genruntime.ClonePointerToString(source.ScaleDownDelayAfterDelete) + + // ScaleDownDelayAfterFailure + profile.ScaleDownDelayAfterFailure = genruntime.ClonePointerToString(source.ScaleDownDelayAfterFailure) + + // ScaleDownUnneededTime + profile.ScaleDownUnneededTime = genruntime.ClonePointerToString(source.ScaleDownUnneededTime) + + // ScaleDownUnreadyTime + profile.ScaleDownUnreadyTime = genruntime.ClonePointerToString(source.ScaleDownUnreadyTime) + + // ScaleDownUtilizationThreshold + profile.ScaleDownUtilizationThreshold = genruntime.ClonePointerToString(source.ScaleDownUtilizationThreshold) + + // ScanInterval + profile.ScanInterval = genruntime.ClonePointerToString(source.ScanInterval) + + // SkipNodesWithLocalStorage + profile.SkipNodesWithLocalStorage = genruntime.ClonePointerToString(source.SkipNodesWithLocalStorage) + + // SkipNodesWithSystemPods + profile.SkipNodesWithSystemPods = genruntime.ClonePointerToString(source.SkipNodesWithSystemPods) + + // Update the property bag + if len(propertyBag) > 0 { + profile.PropertyBag = propertyBag + } else { + profile.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterProperties_AutoScalerProfile interface (if implemented) to customize the conversion + var profileAsAny any = profile + if augmentedProfile, ok := profileAsAny.(augmentConversionForManagedClusterProperties_AutoScalerProfile); ok { + err := augmentedProfile.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterProperties_AutoScalerProfile populates the provided destination ManagedClusterProperties_AutoScalerProfile from our ManagedClusterProperties_AutoScalerProfile +func (profile *ManagedClusterProperties_AutoScalerProfile) AssignProperties_To_ManagedClusterProperties_AutoScalerProfile(destination *storage.ManagedClusterProperties_AutoScalerProfile) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) + + // BalanceSimilarNodeGroups + destination.BalanceSimilarNodeGroups = genruntime.ClonePointerToString(profile.BalanceSimilarNodeGroups) + + // DaemonsetEvictionForEmptyNodes + if propertyBag.Contains("DaemonsetEvictionForEmptyNodes") { + var daemonsetEvictionForEmptyNode bool + err := propertyBag.Pull("DaemonsetEvictionForEmptyNodes", &daemonsetEvictionForEmptyNode) + if err != nil { + return errors.Wrap(err, "pulling 'DaemonsetEvictionForEmptyNodes' from propertyBag") + } + + destination.DaemonsetEvictionForEmptyNodes = &daemonsetEvictionForEmptyNode + } else { + destination.DaemonsetEvictionForEmptyNodes = nil + } + + // DaemonsetEvictionForOccupiedNodes + if propertyBag.Contains("DaemonsetEvictionForOccupiedNodes") { + var daemonsetEvictionForOccupiedNode bool + err := propertyBag.Pull("DaemonsetEvictionForOccupiedNodes", &daemonsetEvictionForOccupiedNode) + if err != nil { + return errors.Wrap(err, "pulling 'DaemonsetEvictionForOccupiedNodes' from propertyBag") + } + + destination.DaemonsetEvictionForOccupiedNodes = &daemonsetEvictionForOccupiedNode + } else { + destination.DaemonsetEvictionForOccupiedNodes = nil + } + + // Expander + destination.Expander = genruntime.ClonePointerToString(profile.Expander) + + // IgnoreDaemonsetsUtilization + if propertyBag.Contains("IgnoreDaemonsetsUtilization") { + var ignoreDaemonsetsUtilization bool + err := propertyBag.Pull("IgnoreDaemonsetsUtilization", &ignoreDaemonsetsUtilization) + if err != nil { + return errors.Wrap(err, "pulling 'IgnoreDaemonsetsUtilization' from propertyBag") + } + + destination.IgnoreDaemonsetsUtilization = &ignoreDaemonsetsUtilization + } else { + destination.IgnoreDaemonsetsUtilization = nil + } + + // MaxEmptyBulkDelete + destination.MaxEmptyBulkDelete = genruntime.ClonePointerToString(profile.MaxEmptyBulkDelete) + + // MaxGracefulTerminationSec + destination.MaxGracefulTerminationSec = genruntime.ClonePointerToString(profile.MaxGracefulTerminationSec) + + // MaxNodeProvisionTime + destination.MaxNodeProvisionTime = genruntime.ClonePointerToString(profile.MaxNodeProvisionTime) + + // MaxTotalUnreadyPercentage + destination.MaxTotalUnreadyPercentage = genruntime.ClonePointerToString(profile.MaxTotalUnreadyPercentage) + + // NewPodScaleUpDelay + destination.NewPodScaleUpDelay = genruntime.ClonePointerToString(profile.NewPodScaleUpDelay) + + // OkTotalUnreadyCount + destination.OkTotalUnreadyCount = genruntime.ClonePointerToString(profile.OkTotalUnreadyCount) + + // ScaleDownDelayAfterAdd + destination.ScaleDownDelayAfterAdd = genruntime.ClonePointerToString(profile.ScaleDownDelayAfterAdd) + + // ScaleDownDelayAfterDelete + destination.ScaleDownDelayAfterDelete = genruntime.ClonePointerToString(profile.ScaleDownDelayAfterDelete) + + // ScaleDownDelayAfterFailure + destination.ScaleDownDelayAfterFailure = genruntime.ClonePointerToString(profile.ScaleDownDelayAfterFailure) + + // ScaleDownUnneededTime + destination.ScaleDownUnneededTime = genruntime.ClonePointerToString(profile.ScaleDownUnneededTime) + + // ScaleDownUnreadyTime + destination.ScaleDownUnreadyTime = genruntime.ClonePointerToString(profile.ScaleDownUnreadyTime) + + // ScaleDownUtilizationThreshold + destination.ScaleDownUtilizationThreshold = genruntime.ClonePointerToString(profile.ScaleDownUtilizationThreshold) + + // ScanInterval + destination.ScanInterval = genruntime.ClonePointerToString(profile.ScanInterval) + + // SkipNodesWithLocalStorage + destination.SkipNodesWithLocalStorage = genruntime.ClonePointerToString(profile.SkipNodesWithLocalStorage) + + // SkipNodesWithSystemPods + destination.SkipNodesWithSystemPods = genruntime.ClonePointerToString(profile.SkipNodesWithSystemPods) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterProperties_AutoScalerProfile interface (if implemented) to customize the conversion + var profileAsAny any = profile + if augmentedProfile, ok := profileAsAny.(augmentConversionForManagedClusterProperties_AutoScalerProfile); ok { + err := augmentedProfile.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +// Storage version of v1api20231001.ManagedClusterProperties_AutoScalerProfile_STATUS +type ManagedClusterProperties_AutoScalerProfile_STATUS struct { + BalanceSimilarNodeGroups *string `json:"balance-similar-node-groups,omitempty"` + Expander *string `json:"expander,omitempty"` + MaxEmptyBulkDelete *string `json:"max-empty-bulk-delete,omitempty"` + MaxGracefulTerminationSec *string `json:"max-graceful-termination-sec,omitempty"` + MaxNodeProvisionTime *string `json:"max-node-provision-time,omitempty"` + MaxTotalUnreadyPercentage *string `json:"max-total-unready-percentage,omitempty"` + NewPodScaleUpDelay *string `json:"new-pod-scale-up-delay,omitempty"` + OkTotalUnreadyCount *string `json:"ok-total-unready-count,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + ScaleDownDelayAfterAdd *string `json:"scale-down-delay-after-add,omitempty"` + ScaleDownDelayAfterDelete *string `json:"scale-down-delay-after-delete,omitempty"` + ScaleDownDelayAfterFailure *string `json:"scale-down-delay-after-failure,omitempty"` + ScaleDownUnneededTime *string `json:"scale-down-unneeded-time,omitempty"` + ScaleDownUnreadyTime *string `json:"scale-down-unready-time,omitempty"` + ScaleDownUtilizationThreshold *string `json:"scale-down-utilization-threshold,omitempty"` + ScanInterval *string `json:"scan-interval,omitempty"` + SkipNodesWithLocalStorage *string `json:"skip-nodes-with-local-storage,omitempty"` + SkipNodesWithSystemPods *string `json:"skip-nodes-with-system-pods,omitempty"` +} + +// AssignProperties_From_ManagedClusterProperties_AutoScalerProfile_STATUS populates our ManagedClusterProperties_AutoScalerProfile_STATUS from the provided source ManagedClusterProperties_AutoScalerProfile_STATUS +func (profile *ManagedClusterProperties_AutoScalerProfile_STATUS) AssignProperties_From_ManagedClusterProperties_AutoScalerProfile_STATUS(source *storage.ManagedClusterProperties_AutoScalerProfile_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // BalanceSimilarNodeGroups + profile.BalanceSimilarNodeGroups = genruntime.ClonePointerToString(source.BalanceSimilarNodeGroups) + + // DaemonsetEvictionForEmptyNodes + if source.DaemonsetEvictionForEmptyNodes != nil { + propertyBag.Add("DaemonsetEvictionForEmptyNodes", *source.DaemonsetEvictionForEmptyNodes) + } else { + propertyBag.Remove("DaemonsetEvictionForEmptyNodes") + } + + // DaemonsetEvictionForOccupiedNodes + if source.DaemonsetEvictionForOccupiedNodes != nil { + propertyBag.Add("DaemonsetEvictionForOccupiedNodes", *source.DaemonsetEvictionForOccupiedNodes) + } else { + propertyBag.Remove("DaemonsetEvictionForOccupiedNodes") + } + + // Expander + profile.Expander = genruntime.ClonePointerToString(source.Expander) + + // IgnoreDaemonsetsUtilization + if source.IgnoreDaemonsetsUtilization != nil { + propertyBag.Add("IgnoreDaemonsetsUtilization", *source.IgnoreDaemonsetsUtilization) + } else { + propertyBag.Remove("IgnoreDaemonsetsUtilization") + } + + // MaxEmptyBulkDelete + profile.MaxEmptyBulkDelete = genruntime.ClonePointerToString(source.MaxEmptyBulkDelete) + + // MaxGracefulTerminationSec + profile.MaxGracefulTerminationSec = genruntime.ClonePointerToString(source.MaxGracefulTerminationSec) + + // MaxNodeProvisionTime + profile.MaxNodeProvisionTime = genruntime.ClonePointerToString(source.MaxNodeProvisionTime) + + // MaxTotalUnreadyPercentage + profile.MaxTotalUnreadyPercentage = genruntime.ClonePointerToString(source.MaxTotalUnreadyPercentage) + + // NewPodScaleUpDelay + profile.NewPodScaleUpDelay = genruntime.ClonePointerToString(source.NewPodScaleUpDelay) + + // OkTotalUnreadyCount + profile.OkTotalUnreadyCount = genruntime.ClonePointerToString(source.OkTotalUnreadyCount) + + // ScaleDownDelayAfterAdd + profile.ScaleDownDelayAfterAdd = genruntime.ClonePointerToString(source.ScaleDownDelayAfterAdd) + + // ScaleDownDelayAfterDelete + profile.ScaleDownDelayAfterDelete = genruntime.ClonePointerToString(source.ScaleDownDelayAfterDelete) + + // ScaleDownDelayAfterFailure + profile.ScaleDownDelayAfterFailure = genruntime.ClonePointerToString(source.ScaleDownDelayAfterFailure) + + // ScaleDownUnneededTime + profile.ScaleDownUnneededTime = genruntime.ClonePointerToString(source.ScaleDownUnneededTime) + + // ScaleDownUnreadyTime + profile.ScaleDownUnreadyTime = genruntime.ClonePointerToString(source.ScaleDownUnreadyTime) + + // ScaleDownUtilizationThreshold + profile.ScaleDownUtilizationThreshold = genruntime.ClonePointerToString(source.ScaleDownUtilizationThreshold) + + // ScanInterval + profile.ScanInterval = genruntime.ClonePointerToString(source.ScanInterval) + + // SkipNodesWithLocalStorage + profile.SkipNodesWithLocalStorage = genruntime.ClonePointerToString(source.SkipNodesWithLocalStorage) + + // SkipNodesWithSystemPods + profile.SkipNodesWithSystemPods = genruntime.ClonePointerToString(source.SkipNodesWithSystemPods) + + // Update the property bag + if len(propertyBag) > 0 { + profile.PropertyBag = propertyBag + } else { + profile.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterProperties_AutoScalerProfile_STATUS interface (if implemented) to customize the conversion + var profileAsAny any = profile + if augmentedProfile, ok := profileAsAny.(augmentConversionForManagedClusterProperties_AutoScalerProfile_STATUS); ok { + err := augmentedProfile.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterProperties_AutoScalerProfile_STATUS populates the provided destination ManagedClusterProperties_AutoScalerProfile_STATUS from our ManagedClusterProperties_AutoScalerProfile_STATUS +func (profile *ManagedClusterProperties_AutoScalerProfile_STATUS) AssignProperties_To_ManagedClusterProperties_AutoScalerProfile_STATUS(destination *storage.ManagedClusterProperties_AutoScalerProfile_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) + + // BalanceSimilarNodeGroups + destination.BalanceSimilarNodeGroups = genruntime.ClonePointerToString(profile.BalanceSimilarNodeGroups) + + // DaemonsetEvictionForEmptyNodes + if propertyBag.Contains("DaemonsetEvictionForEmptyNodes") { + var daemonsetEvictionForEmptyNode bool + err := propertyBag.Pull("DaemonsetEvictionForEmptyNodes", &daemonsetEvictionForEmptyNode) + if err != nil { + return errors.Wrap(err, "pulling 'DaemonsetEvictionForEmptyNodes' from propertyBag") + } + + destination.DaemonsetEvictionForEmptyNodes = &daemonsetEvictionForEmptyNode + } else { + destination.DaemonsetEvictionForEmptyNodes = nil + } + + // DaemonsetEvictionForOccupiedNodes + if propertyBag.Contains("DaemonsetEvictionForOccupiedNodes") { + var daemonsetEvictionForOccupiedNode bool + err := propertyBag.Pull("DaemonsetEvictionForOccupiedNodes", &daemonsetEvictionForOccupiedNode) + if err != nil { + return errors.Wrap(err, "pulling 'DaemonsetEvictionForOccupiedNodes' from propertyBag") + } + + destination.DaemonsetEvictionForOccupiedNodes = &daemonsetEvictionForOccupiedNode + } else { + destination.DaemonsetEvictionForOccupiedNodes = nil + } + + // Expander + destination.Expander = genruntime.ClonePointerToString(profile.Expander) + + // IgnoreDaemonsetsUtilization + if propertyBag.Contains("IgnoreDaemonsetsUtilization") { + var ignoreDaemonsetsUtilization bool + err := propertyBag.Pull("IgnoreDaemonsetsUtilization", &ignoreDaemonsetsUtilization) + if err != nil { + return errors.Wrap(err, "pulling 'IgnoreDaemonsetsUtilization' from propertyBag") + } + + destination.IgnoreDaemonsetsUtilization = &ignoreDaemonsetsUtilization + } else { + destination.IgnoreDaemonsetsUtilization = nil + } + + // MaxEmptyBulkDelete + destination.MaxEmptyBulkDelete = genruntime.ClonePointerToString(profile.MaxEmptyBulkDelete) + + // MaxGracefulTerminationSec + destination.MaxGracefulTerminationSec = genruntime.ClonePointerToString(profile.MaxGracefulTerminationSec) + + // MaxNodeProvisionTime + destination.MaxNodeProvisionTime = genruntime.ClonePointerToString(profile.MaxNodeProvisionTime) + + // MaxTotalUnreadyPercentage + destination.MaxTotalUnreadyPercentage = genruntime.ClonePointerToString(profile.MaxTotalUnreadyPercentage) + + // NewPodScaleUpDelay + destination.NewPodScaleUpDelay = genruntime.ClonePointerToString(profile.NewPodScaleUpDelay) + + // OkTotalUnreadyCount + destination.OkTotalUnreadyCount = genruntime.ClonePointerToString(profile.OkTotalUnreadyCount) + + // ScaleDownDelayAfterAdd + destination.ScaleDownDelayAfterAdd = genruntime.ClonePointerToString(profile.ScaleDownDelayAfterAdd) + + // ScaleDownDelayAfterDelete + destination.ScaleDownDelayAfterDelete = genruntime.ClonePointerToString(profile.ScaleDownDelayAfterDelete) + + // ScaleDownDelayAfterFailure + destination.ScaleDownDelayAfterFailure = genruntime.ClonePointerToString(profile.ScaleDownDelayAfterFailure) + + // ScaleDownUnneededTime + destination.ScaleDownUnneededTime = genruntime.ClonePointerToString(profile.ScaleDownUnneededTime) + + // ScaleDownUnreadyTime + destination.ScaleDownUnreadyTime = genruntime.ClonePointerToString(profile.ScaleDownUnreadyTime) + + // ScaleDownUtilizationThreshold + destination.ScaleDownUtilizationThreshold = genruntime.ClonePointerToString(profile.ScaleDownUtilizationThreshold) + + // ScanInterval + destination.ScanInterval = genruntime.ClonePointerToString(profile.ScanInterval) + + // SkipNodesWithLocalStorage + destination.SkipNodesWithLocalStorage = genruntime.ClonePointerToString(profile.SkipNodesWithLocalStorage) + + // SkipNodesWithSystemPods + destination.SkipNodesWithSystemPods = genruntime.ClonePointerToString(profile.SkipNodesWithSystemPods) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterProperties_AutoScalerProfile_STATUS interface (if implemented) to customize the conversion + var profileAsAny any = profile + if augmentedProfile, ok := profileAsAny.(augmentConversionForManagedClusterProperties_AutoScalerProfile_STATUS); ok { + err := augmentedProfile.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +// Storage version of v1api20231001.ManagedClusterSecurityProfile +// Security profile for the container service cluster. +type ManagedClusterSecurityProfile struct { + AzureKeyVaultKms *AzureKeyVaultKms `json:"azureKeyVaultKms,omitempty"` + Defender *ManagedClusterSecurityProfileDefender `json:"defender,omitempty"` + ImageCleaner *ManagedClusterSecurityProfileImageCleaner `json:"imageCleaner,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + WorkloadIdentity *ManagedClusterSecurityProfileWorkloadIdentity `json:"workloadIdentity,omitempty"` +} + +// AssignProperties_From_ManagedClusterSecurityProfile populates our ManagedClusterSecurityProfile from the provided source ManagedClusterSecurityProfile +func (profile *ManagedClusterSecurityProfile) AssignProperties_From_ManagedClusterSecurityProfile(source *storage.ManagedClusterSecurityProfile) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // AzureKeyVaultKms + if source.AzureKeyVaultKms != nil { + var azureKeyVaultKm AzureKeyVaultKms + err := azureKeyVaultKm.AssignProperties_From_AzureKeyVaultKms(source.AzureKeyVaultKms) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_AzureKeyVaultKms() to populate field AzureKeyVaultKms") + } + profile.AzureKeyVaultKms = &azureKeyVaultKm + } else { + profile.AzureKeyVaultKms = nil + } + + // Defender + if source.Defender != nil { + var defender ManagedClusterSecurityProfileDefender + err := defender.AssignProperties_From_ManagedClusterSecurityProfileDefender(source.Defender) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterSecurityProfileDefender() to populate field Defender") + } + profile.Defender = &defender + } else { + profile.Defender = nil + } + + // ImageCleaner + if source.ImageCleaner != nil { + var imageCleaner ManagedClusterSecurityProfileImageCleaner + err := imageCleaner.AssignProperties_From_ManagedClusterSecurityProfileImageCleaner(source.ImageCleaner) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterSecurityProfileImageCleaner() to populate field ImageCleaner") + } + profile.ImageCleaner = &imageCleaner + } else { + profile.ImageCleaner = nil + } + + // WorkloadIdentity + if source.WorkloadIdentity != nil { + var workloadIdentity ManagedClusterSecurityProfileWorkloadIdentity + err := workloadIdentity.AssignProperties_From_ManagedClusterSecurityProfileWorkloadIdentity(source.WorkloadIdentity) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterSecurityProfileWorkloadIdentity() to populate field WorkloadIdentity") + } + profile.WorkloadIdentity = &workloadIdentity + } else { + profile.WorkloadIdentity = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + profile.PropertyBag = propertyBag + } else { + profile.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterSecurityProfile interface (if implemented) to customize the conversion + var profileAsAny any = profile + if augmentedProfile, ok := profileAsAny.(augmentConversionForManagedClusterSecurityProfile); ok { + err := augmentedProfile.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterSecurityProfile populates the provided destination ManagedClusterSecurityProfile from our ManagedClusterSecurityProfile +func (profile *ManagedClusterSecurityProfile) AssignProperties_To_ManagedClusterSecurityProfile(destination *storage.ManagedClusterSecurityProfile) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) + + // AzureKeyVaultKms + if profile.AzureKeyVaultKms != nil { + var azureKeyVaultKm storage.AzureKeyVaultKms + err := profile.AzureKeyVaultKms.AssignProperties_To_AzureKeyVaultKms(&azureKeyVaultKm) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_AzureKeyVaultKms() to populate field AzureKeyVaultKms") + } + destination.AzureKeyVaultKms = &azureKeyVaultKm + } else { + destination.AzureKeyVaultKms = nil + } + + // Defender + if profile.Defender != nil { + var defender storage.ManagedClusterSecurityProfileDefender + err := profile.Defender.AssignProperties_To_ManagedClusterSecurityProfileDefender(&defender) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterSecurityProfileDefender() to populate field Defender") + } + destination.Defender = &defender + } else { + destination.Defender = nil + } + + // ImageCleaner + if profile.ImageCleaner != nil { + var imageCleaner storage.ManagedClusterSecurityProfileImageCleaner + err := profile.ImageCleaner.AssignProperties_To_ManagedClusterSecurityProfileImageCleaner(&imageCleaner) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterSecurityProfileImageCleaner() to populate field ImageCleaner") + } + destination.ImageCleaner = &imageCleaner + } else { + destination.ImageCleaner = nil + } + + // WorkloadIdentity + if profile.WorkloadIdentity != nil { + var workloadIdentity storage.ManagedClusterSecurityProfileWorkloadIdentity + err := profile.WorkloadIdentity.AssignProperties_To_ManagedClusterSecurityProfileWorkloadIdentity(&workloadIdentity) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterSecurityProfileWorkloadIdentity() to populate field WorkloadIdentity") + } + destination.WorkloadIdentity = &workloadIdentity + } else { + destination.WorkloadIdentity = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterSecurityProfile interface (if implemented) to customize the conversion + var profileAsAny any = profile + if augmentedProfile, ok := profileAsAny.(augmentConversionForManagedClusterSecurityProfile); ok { + err := augmentedProfile.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +// Storage version of v1api20231001.ManagedClusterSecurityProfile_STATUS +// Security profile for the container service cluster. +type ManagedClusterSecurityProfile_STATUS struct { + AzureKeyVaultKms *AzureKeyVaultKms_STATUS `json:"azureKeyVaultKms,omitempty"` + Defender *ManagedClusterSecurityProfileDefender_STATUS `json:"defender,omitempty"` + ImageCleaner *ManagedClusterSecurityProfileImageCleaner_STATUS `json:"imageCleaner,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + WorkloadIdentity *ManagedClusterSecurityProfileWorkloadIdentity_STATUS `json:"workloadIdentity,omitempty"` +} + +// AssignProperties_From_ManagedClusterSecurityProfile_STATUS populates our ManagedClusterSecurityProfile_STATUS from the provided source ManagedClusterSecurityProfile_STATUS +func (profile *ManagedClusterSecurityProfile_STATUS) AssignProperties_From_ManagedClusterSecurityProfile_STATUS(source *storage.ManagedClusterSecurityProfile_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // AzureKeyVaultKms + if source.AzureKeyVaultKms != nil { + var azureKeyVaultKm AzureKeyVaultKms_STATUS + err := azureKeyVaultKm.AssignProperties_From_AzureKeyVaultKms_STATUS(source.AzureKeyVaultKms) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_AzureKeyVaultKms_STATUS() to populate field AzureKeyVaultKms") + } + profile.AzureKeyVaultKms = &azureKeyVaultKm + } else { + profile.AzureKeyVaultKms = nil + } + + // Defender + if source.Defender != nil { + var defender ManagedClusterSecurityProfileDefender_STATUS + err := defender.AssignProperties_From_ManagedClusterSecurityProfileDefender_STATUS(source.Defender) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterSecurityProfileDefender_STATUS() to populate field Defender") + } + profile.Defender = &defender + } else { + profile.Defender = nil + } + + // ImageCleaner + if source.ImageCleaner != nil { + var imageCleaner ManagedClusterSecurityProfileImageCleaner_STATUS + err := imageCleaner.AssignProperties_From_ManagedClusterSecurityProfileImageCleaner_STATUS(source.ImageCleaner) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterSecurityProfileImageCleaner_STATUS() to populate field ImageCleaner") + } + profile.ImageCleaner = &imageCleaner + } else { + profile.ImageCleaner = nil + } + + // WorkloadIdentity + if source.WorkloadIdentity != nil { + var workloadIdentity ManagedClusterSecurityProfileWorkloadIdentity_STATUS + err := workloadIdentity.AssignProperties_From_ManagedClusterSecurityProfileWorkloadIdentity_STATUS(source.WorkloadIdentity) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterSecurityProfileWorkloadIdentity_STATUS() to populate field WorkloadIdentity") + } + profile.WorkloadIdentity = &workloadIdentity + } else { + profile.WorkloadIdentity = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + profile.PropertyBag = propertyBag + } else { + profile.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterSecurityProfile_STATUS interface (if implemented) to customize the conversion + var profileAsAny any = profile + if augmentedProfile, ok := profileAsAny.(augmentConversionForManagedClusterSecurityProfile_STATUS); ok { + err := augmentedProfile.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterSecurityProfile_STATUS populates the provided destination ManagedClusterSecurityProfile_STATUS from our ManagedClusterSecurityProfile_STATUS +func (profile *ManagedClusterSecurityProfile_STATUS) AssignProperties_To_ManagedClusterSecurityProfile_STATUS(destination *storage.ManagedClusterSecurityProfile_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) + + // AzureKeyVaultKms + if profile.AzureKeyVaultKms != nil { + var azureKeyVaultKm storage.AzureKeyVaultKms_STATUS + err := profile.AzureKeyVaultKms.AssignProperties_To_AzureKeyVaultKms_STATUS(&azureKeyVaultKm) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_AzureKeyVaultKms_STATUS() to populate field AzureKeyVaultKms") + } + destination.AzureKeyVaultKms = &azureKeyVaultKm + } else { + destination.AzureKeyVaultKms = nil + } + + // Defender + if profile.Defender != nil { + var defender storage.ManagedClusterSecurityProfileDefender_STATUS + err := profile.Defender.AssignProperties_To_ManagedClusterSecurityProfileDefender_STATUS(&defender) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterSecurityProfileDefender_STATUS() to populate field Defender") + } + destination.Defender = &defender + } else { + destination.Defender = nil + } + + // ImageCleaner + if profile.ImageCleaner != nil { + var imageCleaner storage.ManagedClusterSecurityProfileImageCleaner_STATUS + err := profile.ImageCleaner.AssignProperties_To_ManagedClusterSecurityProfileImageCleaner_STATUS(&imageCleaner) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterSecurityProfileImageCleaner_STATUS() to populate field ImageCleaner") + } + destination.ImageCleaner = &imageCleaner + } else { + destination.ImageCleaner = nil + } + + // WorkloadIdentity + if profile.WorkloadIdentity != nil { + var workloadIdentity storage.ManagedClusterSecurityProfileWorkloadIdentity_STATUS + err := profile.WorkloadIdentity.AssignProperties_To_ManagedClusterSecurityProfileWorkloadIdentity_STATUS(&workloadIdentity) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterSecurityProfileWorkloadIdentity_STATUS() to populate field WorkloadIdentity") + } + destination.WorkloadIdentity = &workloadIdentity + } else { + destination.WorkloadIdentity = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterSecurityProfile_STATUS interface (if implemented) to customize the conversion + var profileAsAny any = profile + if augmentedProfile, ok := profileAsAny.(augmentConversionForManagedClusterSecurityProfile_STATUS); ok { + err := augmentedProfile.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +// Storage version of v1api20231001.ManagedClusterServicePrincipalProfile +// Information about a service principal identity for the cluster to use for manipulating Azure APIs. +type ManagedClusterServicePrincipalProfile struct { + ClientId *string `json:"clientId,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Secret *genruntime.SecretReference `json:"secret,omitempty"` +} + +// AssignProperties_From_ManagedClusterServicePrincipalProfile populates our ManagedClusterServicePrincipalProfile from the provided source ManagedClusterServicePrincipalProfile +func (profile *ManagedClusterServicePrincipalProfile) AssignProperties_From_ManagedClusterServicePrincipalProfile(source *storage.ManagedClusterServicePrincipalProfile) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // ClientId + profile.ClientId = genruntime.ClonePointerToString(source.ClientId) + + // Secret + if source.Secret != nil { + secret := source.Secret.Copy() + profile.Secret = &secret + } else { + profile.Secret = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + profile.PropertyBag = propertyBag + } else { + profile.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterServicePrincipalProfile interface (if implemented) to customize the conversion + var profileAsAny any = profile + if augmentedProfile, ok := profileAsAny.(augmentConversionForManagedClusterServicePrincipalProfile); ok { + err := augmentedProfile.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterServicePrincipalProfile populates the provided destination ManagedClusterServicePrincipalProfile from our ManagedClusterServicePrincipalProfile +func (profile *ManagedClusterServicePrincipalProfile) AssignProperties_To_ManagedClusterServicePrincipalProfile(destination *storage.ManagedClusterServicePrincipalProfile) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) + + // ClientId + destination.ClientId = genruntime.ClonePointerToString(profile.ClientId) + + // Secret + if profile.Secret != nil { + secret := profile.Secret.Copy() + destination.Secret = &secret + } else { + destination.Secret = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterServicePrincipalProfile interface (if implemented) to customize the conversion + var profileAsAny any = profile + if augmentedProfile, ok := profileAsAny.(augmentConversionForManagedClusterServicePrincipalProfile); ok { + err := augmentedProfile.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +// Storage version of v1api20231001.ManagedClusterServicePrincipalProfile_STATUS +// Information about a service principal identity for the cluster to use for manipulating Azure APIs. +type ManagedClusterServicePrincipalProfile_STATUS struct { + ClientId *string `json:"clientId,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// AssignProperties_From_ManagedClusterServicePrincipalProfile_STATUS populates our ManagedClusterServicePrincipalProfile_STATUS from the provided source ManagedClusterServicePrincipalProfile_STATUS +func (profile *ManagedClusterServicePrincipalProfile_STATUS) AssignProperties_From_ManagedClusterServicePrincipalProfile_STATUS(source *storage.ManagedClusterServicePrincipalProfile_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // ClientId + profile.ClientId = genruntime.ClonePointerToString(source.ClientId) + + // Update the property bag + if len(propertyBag) > 0 { + profile.PropertyBag = propertyBag + } else { + profile.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterServicePrincipalProfile_STATUS interface (if implemented) to customize the conversion + var profileAsAny any = profile + if augmentedProfile, ok := profileAsAny.(augmentConversionForManagedClusterServicePrincipalProfile_STATUS); ok { + err := augmentedProfile.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterServicePrincipalProfile_STATUS populates the provided destination ManagedClusterServicePrincipalProfile_STATUS from our ManagedClusterServicePrincipalProfile_STATUS +func (profile *ManagedClusterServicePrincipalProfile_STATUS) AssignProperties_To_ManagedClusterServicePrincipalProfile_STATUS(destination *storage.ManagedClusterServicePrincipalProfile_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) + + // ClientId + destination.ClientId = genruntime.ClonePointerToString(profile.ClientId) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterServicePrincipalProfile_STATUS interface (if implemented) to customize the conversion + var profileAsAny any = profile + if augmentedProfile, ok := profileAsAny.(augmentConversionForManagedClusterServicePrincipalProfile_STATUS); ok { + err := augmentedProfile.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +// Storage version of v1api20231001.ManagedClusterSKU +// The SKU of a Managed Cluster. +type ManagedClusterSKU struct { + Name *string `json:"name,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Tier *string `json:"tier,omitempty"` +} + +// AssignProperties_From_ManagedClusterSKU populates our ManagedClusterSKU from the provided source ManagedClusterSKU +func (clusterSKU *ManagedClusterSKU) AssignProperties_From_ManagedClusterSKU(source *storage.ManagedClusterSKU) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // Name + clusterSKU.Name = genruntime.ClonePointerToString(source.Name) + + // Tier + clusterSKU.Tier = genruntime.ClonePointerToString(source.Tier) + + // Update the property bag + if len(propertyBag) > 0 { + clusterSKU.PropertyBag = propertyBag + } else { + clusterSKU.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterSKU interface (if implemented) to customize the conversion + var clusterSKUAsAny any = clusterSKU + if augmentedClusterSKU, ok := clusterSKUAsAny.(augmentConversionForManagedClusterSKU); ok { + err := augmentedClusterSKU.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterSKU populates the provided destination ManagedClusterSKU from our ManagedClusterSKU +func (clusterSKU *ManagedClusterSKU) AssignProperties_To_ManagedClusterSKU(destination *storage.ManagedClusterSKU) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(clusterSKU.PropertyBag) + + // Name + destination.Name = genruntime.ClonePointerToString(clusterSKU.Name) + + // Tier + destination.Tier = genruntime.ClonePointerToString(clusterSKU.Tier) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterSKU interface (if implemented) to customize the conversion + var clusterSKUAsAny any = clusterSKU + if augmentedClusterSKU, ok := clusterSKUAsAny.(augmentConversionForManagedClusterSKU); ok { + err := augmentedClusterSKU.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +// Storage version of v1api20231001.ManagedClusterSKU_STATUS +// The SKU of a Managed Cluster. +type ManagedClusterSKU_STATUS struct { + Name *string `json:"name,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Tier *string `json:"tier,omitempty"` +} + +// AssignProperties_From_ManagedClusterSKU_STATUS populates our ManagedClusterSKU_STATUS from the provided source ManagedClusterSKU_STATUS +func (clusterSKU *ManagedClusterSKU_STATUS) AssignProperties_From_ManagedClusterSKU_STATUS(source *storage.ManagedClusterSKU_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // Name + clusterSKU.Name = genruntime.ClonePointerToString(source.Name) + + // Tier + clusterSKU.Tier = genruntime.ClonePointerToString(source.Tier) + + // Update the property bag + if len(propertyBag) > 0 { + clusterSKU.PropertyBag = propertyBag + } else { + clusterSKU.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterSKU_STATUS interface (if implemented) to customize the conversion + var clusterSKUAsAny any = clusterSKU + if augmentedClusterSKU, ok := clusterSKUAsAny.(augmentConversionForManagedClusterSKU_STATUS); ok { + err := augmentedClusterSKU.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterSKU_STATUS populates the provided destination ManagedClusterSKU_STATUS from our ManagedClusterSKU_STATUS +func (clusterSKU *ManagedClusterSKU_STATUS) AssignProperties_To_ManagedClusterSKU_STATUS(destination *storage.ManagedClusterSKU_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(clusterSKU.PropertyBag) + + // Name + destination.Name = genruntime.ClonePointerToString(clusterSKU.Name) + + // Tier + destination.Tier = genruntime.ClonePointerToString(clusterSKU.Tier) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterSKU_STATUS interface (if implemented) to customize the conversion + var clusterSKUAsAny any = clusterSKU + if augmentedClusterSKU, ok := clusterSKUAsAny.(augmentConversionForManagedClusterSKU_STATUS); ok { + err := augmentedClusterSKU.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +// Storage version of v1api20231001.ManagedClusterStorageProfile +// Storage profile for the container service cluster. +type ManagedClusterStorageProfile struct { + BlobCSIDriver *ManagedClusterStorageProfileBlobCSIDriver `json:"blobCSIDriver,omitempty"` + DiskCSIDriver *ManagedClusterStorageProfileDiskCSIDriver `json:"diskCSIDriver,omitempty"` + FileCSIDriver *ManagedClusterStorageProfileFileCSIDriver `json:"fileCSIDriver,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + SnapshotController *ManagedClusterStorageProfileSnapshotController `json:"snapshotController,omitempty"` +} + +// AssignProperties_From_ManagedClusterStorageProfile populates our ManagedClusterStorageProfile from the provided source ManagedClusterStorageProfile +func (profile *ManagedClusterStorageProfile) AssignProperties_From_ManagedClusterStorageProfile(source *storage.ManagedClusterStorageProfile) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // BlobCSIDriver + if source.BlobCSIDriver != nil { + var blobCSIDriver ManagedClusterStorageProfileBlobCSIDriver + err := blobCSIDriver.AssignProperties_From_ManagedClusterStorageProfileBlobCSIDriver(source.BlobCSIDriver) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterStorageProfileBlobCSIDriver() to populate field BlobCSIDriver") + } + profile.BlobCSIDriver = &blobCSIDriver + } else { + profile.BlobCSIDriver = nil + } + + // DiskCSIDriver + if source.DiskCSIDriver != nil { + var diskCSIDriver ManagedClusterStorageProfileDiskCSIDriver + err := diskCSIDriver.AssignProperties_From_ManagedClusterStorageProfileDiskCSIDriver(source.DiskCSIDriver) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterStorageProfileDiskCSIDriver() to populate field DiskCSIDriver") + } + profile.DiskCSIDriver = &diskCSIDriver + } else { + profile.DiskCSIDriver = nil + } + + // FileCSIDriver + if source.FileCSIDriver != nil { + var fileCSIDriver ManagedClusterStorageProfileFileCSIDriver + err := fileCSIDriver.AssignProperties_From_ManagedClusterStorageProfileFileCSIDriver(source.FileCSIDriver) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterStorageProfileFileCSIDriver() to populate field FileCSIDriver") + } + profile.FileCSIDriver = &fileCSIDriver + } else { + profile.FileCSIDriver = nil + } + + // SnapshotController + if source.SnapshotController != nil { + var snapshotController ManagedClusterStorageProfileSnapshotController + err := snapshotController.AssignProperties_From_ManagedClusterStorageProfileSnapshotController(source.SnapshotController) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterStorageProfileSnapshotController() to populate field SnapshotController") + } + profile.SnapshotController = &snapshotController + } else { + profile.SnapshotController = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + profile.PropertyBag = propertyBag + } else { + profile.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterStorageProfile interface (if implemented) to customize the conversion + var profileAsAny any = profile + if augmentedProfile, ok := profileAsAny.(augmentConversionForManagedClusterStorageProfile); ok { + err := augmentedProfile.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterStorageProfile populates the provided destination ManagedClusterStorageProfile from our ManagedClusterStorageProfile +func (profile *ManagedClusterStorageProfile) AssignProperties_To_ManagedClusterStorageProfile(destination *storage.ManagedClusterStorageProfile) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) + + // BlobCSIDriver + if profile.BlobCSIDriver != nil { + var blobCSIDriver storage.ManagedClusterStorageProfileBlobCSIDriver + err := profile.BlobCSIDriver.AssignProperties_To_ManagedClusterStorageProfileBlobCSIDriver(&blobCSIDriver) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterStorageProfileBlobCSIDriver() to populate field BlobCSIDriver") + } + destination.BlobCSIDriver = &blobCSIDriver + } else { + destination.BlobCSIDriver = nil + } + + // DiskCSIDriver + if profile.DiskCSIDriver != nil { + var diskCSIDriver storage.ManagedClusterStorageProfileDiskCSIDriver + err := profile.DiskCSIDriver.AssignProperties_To_ManagedClusterStorageProfileDiskCSIDriver(&diskCSIDriver) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterStorageProfileDiskCSIDriver() to populate field DiskCSIDriver") + } + destination.DiskCSIDriver = &diskCSIDriver + } else { + destination.DiskCSIDriver = nil + } + + // FileCSIDriver + if profile.FileCSIDriver != nil { + var fileCSIDriver storage.ManagedClusterStorageProfileFileCSIDriver + err := profile.FileCSIDriver.AssignProperties_To_ManagedClusterStorageProfileFileCSIDriver(&fileCSIDriver) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterStorageProfileFileCSIDriver() to populate field FileCSIDriver") + } + destination.FileCSIDriver = &fileCSIDriver + } else { + destination.FileCSIDriver = nil + } + + // SnapshotController + if profile.SnapshotController != nil { + var snapshotController storage.ManagedClusterStorageProfileSnapshotController + err := profile.SnapshotController.AssignProperties_To_ManagedClusterStorageProfileSnapshotController(&snapshotController) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterStorageProfileSnapshotController() to populate field SnapshotController") + } + destination.SnapshotController = &snapshotController + } else { + destination.SnapshotController = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterStorageProfile interface (if implemented) to customize the conversion + var profileAsAny any = profile + if augmentedProfile, ok := profileAsAny.(augmentConversionForManagedClusterStorageProfile); ok { + err := augmentedProfile.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +// Storage version of v1api20231001.ManagedClusterStorageProfile_STATUS +// Storage profile for the container service cluster. +type ManagedClusterStorageProfile_STATUS struct { + BlobCSIDriver *ManagedClusterStorageProfileBlobCSIDriver_STATUS `json:"blobCSIDriver,omitempty"` + DiskCSIDriver *ManagedClusterStorageProfileDiskCSIDriver_STATUS `json:"diskCSIDriver,omitempty"` + FileCSIDriver *ManagedClusterStorageProfileFileCSIDriver_STATUS `json:"fileCSIDriver,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + SnapshotController *ManagedClusterStorageProfileSnapshotController_STATUS `json:"snapshotController,omitempty"` +} + +// AssignProperties_From_ManagedClusterStorageProfile_STATUS populates our ManagedClusterStorageProfile_STATUS from the provided source ManagedClusterStorageProfile_STATUS +func (profile *ManagedClusterStorageProfile_STATUS) AssignProperties_From_ManagedClusterStorageProfile_STATUS(source *storage.ManagedClusterStorageProfile_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // BlobCSIDriver + if source.BlobCSIDriver != nil { + var blobCSIDriver ManagedClusterStorageProfileBlobCSIDriver_STATUS + err := blobCSIDriver.AssignProperties_From_ManagedClusterStorageProfileBlobCSIDriver_STATUS(source.BlobCSIDriver) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterStorageProfileBlobCSIDriver_STATUS() to populate field BlobCSIDriver") + } + profile.BlobCSIDriver = &blobCSIDriver + } else { + profile.BlobCSIDriver = nil + } + + // DiskCSIDriver + if source.DiskCSIDriver != nil { + var diskCSIDriver ManagedClusterStorageProfileDiskCSIDriver_STATUS + err := diskCSIDriver.AssignProperties_From_ManagedClusterStorageProfileDiskCSIDriver_STATUS(source.DiskCSIDriver) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterStorageProfileDiskCSIDriver_STATUS() to populate field DiskCSIDriver") + } + profile.DiskCSIDriver = &diskCSIDriver + } else { + profile.DiskCSIDriver = nil + } + + // FileCSIDriver + if source.FileCSIDriver != nil { + var fileCSIDriver ManagedClusterStorageProfileFileCSIDriver_STATUS + err := fileCSIDriver.AssignProperties_From_ManagedClusterStorageProfileFileCSIDriver_STATUS(source.FileCSIDriver) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterStorageProfileFileCSIDriver_STATUS() to populate field FileCSIDriver") + } + profile.FileCSIDriver = &fileCSIDriver + } else { + profile.FileCSIDriver = nil + } + + // SnapshotController + if source.SnapshotController != nil { + var snapshotController ManagedClusterStorageProfileSnapshotController_STATUS + err := snapshotController.AssignProperties_From_ManagedClusterStorageProfileSnapshotController_STATUS(source.SnapshotController) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterStorageProfileSnapshotController_STATUS() to populate field SnapshotController") + } + profile.SnapshotController = &snapshotController + } else { + profile.SnapshotController = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + profile.PropertyBag = propertyBag + } else { + profile.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterStorageProfile_STATUS interface (if implemented) to customize the conversion + var profileAsAny any = profile + if augmentedProfile, ok := profileAsAny.(augmentConversionForManagedClusterStorageProfile_STATUS); ok { + err := augmentedProfile.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterStorageProfile_STATUS populates the provided destination ManagedClusterStorageProfile_STATUS from our ManagedClusterStorageProfile_STATUS +func (profile *ManagedClusterStorageProfile_STATUS) AssignProperties_To_ManagedClusterStorageProfile_STATUS(destination *storage.ManagedClusterStorageProfile_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) + + // BlobCSIDriver + if profile.BlobCSIDriver != nil { + var blobCSIDriver storage.ManagedClusterStorageProfileBlobCSIDriver_STATUS + err := profile.BlobCSIDriver.AssignProperties_To_ManagedClusterStorageProfileBlobCSIDriver_STATUS(&blobCSIDriver) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterStorageProfileBlobCSIDriver_STATUS() to populate field BlobCSIDriver") + } + destination.BlobCSIDriver = &blobCSIDriver + } else { + destination.BlobCSIDriver = nil + } + + // DiskCSIDriver + if profile.DiskCSIDriver != nil { + var diskCSIDriver storage.ManagedClusterStorageProfileDiskCSIDriver_STATUS + err := profile.DiskCSIDriver.AssignProperties_To_ManagedClusterStorageProfileDiskCSIDriver_STATUS(&diskCSIDriver) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterStorageProfileDiskCSIDriver_STATUS() to populate field DiskCSIDriver") + } + destination.DiskCSIDriver = &diskCSIDriver + } else { + destination.DiskCSIDriver = nil + } + + // FileCSIDriver + if profile.FileCSIDriver != nil { + var fileCSIDriver storage.ManagedClusterStorageProfileFileCSIDriver_STATUS + err := profile.FileCSIDriver.AssignProperties_To_ManagedClusterStorageProfileFileCSIDriver_STATUS(&fileCSIDriver) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterStorageProfileFileCSIDriver_STATUS() to populate field FileCSIDriver") + } + destination.FileCSIDriver = &fileCSIDriver + } else { + destination.FileCSIDriver = nil + } + + // SnapshotController + if profile.SnapshotController != nil { + var snapshotController storage.ManagedClusterStorageProfileSnapshotController_STATUS + err := profile.SnapshotController.AssignProperties_To_ManagedClusterStorageProfileSnapshotController_STATUS(&snapshotController) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterStorageProfileSnapshotController_STATUS() to populate field SnapshotController") + } + destination.SnapshotController = &snapshotController + } else { + destination.SnapshotController = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterStorageProfile_STATUS interface (if implemented) to customize the conversion + var profileAsAny any = profile + if augmentedProfile, ok := profileAsAny.(augmentConversionForManagedClusterStorageProfile_STATUS); ok { + err := augmentedProfile.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +// Storage version of v1api20231001.ManagedClusterWindowsProfile +// Profile for Windows VMs in the managed cluster. +type ManagedClusterWindowsProfile struct { + AdminPassword *genruntime.SecretReference `json:"adminPassword,omitempty"` + AdminUsername *string `json:"adminUsername,omitempty"` + EnableCSIProxy *bool `json:"enableCSIProxy,omitempty"` + GmsaProfile *WindowsGmsaProfile `json:"gmsaProfile,omitempty"` + LicenseType *string `json:"licenseType,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// AssignProperties_From_ManagedClusterWindowsProfile populates our ManagedClusterWindowsProfile from the provided source ManagedClusterWindowsProfile +func (profile *ManagedClusterWindowsProfile) AssignProperties_From_ManagedClusterWindowsProfile(source *storage.ManagedClusterWindowsProfile) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // AdminPassword + if source.AdminPassword != nil { + adminPassword := source.AdminPassword.Copy() + profile.AdminPassword = &adminPassword + } else { + profile.AdminPassword = nil + } + + // AdminUsername + profile.AdminUsername = genruntime.ClonePointerToString(source.AdminUsername) + + // EnableCSIProxy + if source.EnableCSIProxy != nil { + enableCSIProxy := *source.EnableCSIProxy + profile.EnableCSIProxy = &enableCSIProxy + } else { + profile.EnableCSIProxy = nil + } + + // GmsaProfile + if source.GmsaProfile != nil { + var gmsaProfile WindowsGmsaProfile + err := gmsaProfile.AssignProperties_From_WindowsGmsaProfile(source.GmsaProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_WindowsGmsaProfile() to populate field GmsaProfile") + } + profile.GmsaProfile = &gmsaProfile + } else { + profile.GmsaProfile = nil + } + + // LicenseType + profile.LicenseType = genruntime.ClonePointerToString(source.LicenseType) + + // Update the property bag + if len(propertyBag) > 0 { + profile.PropertyBag = propertyBag + } else { + profile.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterWindowsProfile interface (if implemented) to customize the conversion + var profileAsAny any = profile + if augmentedProfile, ok := profileAsAny.(augmentConversionForManagedClusterWindowsProfile); ok { + err := augmentedProfile.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterWindowsProfile populates the provided destination ManagedClusterWindowsProfile from our ManagedClusterWindowsProfile +func (profile *ManagedClusterWindowsProfile) AssignProperties_To_ManagedClusterWindowsProfile(destination *storage.ManagedClusterWindowsProfile) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) + + // AdminPassword + if profile.AdminPassword != nil { + adminPassword := profile.AdminPassword.Copy() + destination.AdminPassword = &adminPassword + } else { + destination.AdminPassword = nil + } + + // AdminUsername + destination.AdminUsername = genruntime.ClonePointerToString(profile.AdminUsername) + + // EnableCSIProxy + if profile.EnableCSIProxy != nil { + enableCSIProxy := *profile.EnableCSIProxy + destination.EnableCSIProxy = &enableCSIProxy + } else { + destination.EnableCSIProxy = nil + } + + // GmsaProfile + if profile.GmsaProfile != nil { + var gmsaProfile storage.WindowsGmsaProfile + err := profile.GmsaProfile.AssignProperties_To_WindowsGmsaProfile(&gmsaProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_WindowsGmsaProfile() to populate field GmsaProfile") + } + destination.GmsaProfile = &gmsaProfile + } else { + destination.GmsaProfile = nil + } + + // LicenseType + destination.LicenseType = genruntime.ClonePointerToString(profile.LicenseType) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterWindowsProfile interface (if implemented) to customize the conversion + var profileAsAny any = profile + if augmentedProfile, ok := profileAsAny.(augmentConversionForManagedClusterWindowsProfile); ok { + err := augmentedProfile.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +// Storage version of v1api20231001.ManagedClusterWindowsProfile_STATUS +// Profile for Windows VMs in the managed cluster. +type ManagedClusterWindowsProfile_STATUS struct { + AdminUsername *string `json:"adminUsername,omitempty"` + EnableCSIProxy *bool `json:"enableCSIProxy,omitempty"` + GmsaProfile *WindowsGmsaProfile_STATUS `json:"gmsaProfile,omitempty"` + LicenseType *string `json:"licenseType,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// AssignProperties_From_ManagedClusterWindowsProfile_STATUS populates our ManagedClusterWindowsProfile_STATUS from the provided source ManagedClusterWindowsProfile_STATUS +func (profile *ManagedClusterWindowsProfile_STATUS) AssignProperties_From_ManagedClusterWindowsProfile_STATUS(source *storage.ManagedClusterWindowsProfile_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // AdminUsername + profile.AdminUsername = genruntime.ClonePointerToString(source.AdminUsername) + + // EnableCSIProxy + if source.EnableCSIProxy != nil { + enableCSIProxy := *source.EnableCSIProxy + profile.EnableCSIProxy = &enableCSIProxy + } else { + profile.EnableCSIProxy = nil + } + + // GmsaProfile + if source.GmsaProfile != nil { + var gmsaProfile WindowsGmsaProfile_STATUS + err := gmsaProfile.AssignProperties_From_WindowsGmsaProfile_STATUS(source.GmsaProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_WindowsGmsaProfile_STATUS() to populate field GmsaProfile") + } + profile.GmsaProfile = &gmsaProfile + } else { + profile.GmsaProfile = nil + } + + // LicenseType + profile.LicenseType = genruntime.ClonePointerToString(source.LicenseType) + + // Update the property bag + if len(propertyBag) > 0 { + profile.PropertyBag = propertyBag + } else { + profile.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterWindowsProfile_STATUS interface (if implemented) to customize the conversion + var profileAsAny any = profile + if augmentedProfile, ok := profileAsAny.(augmentConversionForManagedClusterWindowsProfile_STATUS); ok { + err := augmentedProfile.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterWindowsProfile_STATUS populates the provided destination ManagedClusterWindowsProfile_STATUS from our ManagedClusterWindowsProfile_STATUS +func (profile *ManagedClusterWindowsProfile_STATUS) AssignProperties_To_ManagedClusterWindowsProfile_STATUS(destination *storage.ManagedClusterWindowsProfile_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) + + // AdminUsername + destination.AdminUsername = genruntime.ClonePointerToString(profile.AdminUsername) + + // EnableCSIProxy + if profile.EnableCSIProxy != nil { + enableCSIProxy := *profile.EnableCSIProxy + destination.EnableCSIProxy = &enableCSIProxy + } else { + destination.EnableCSIProxy = nil + } + + // GmsaProfile + if profile.GmsaProfile != nil { + var gmsaProfile storage.WindowsGmsaProfile_STATUS + err := profile.GmsaProfile.AssignProperties_To_WindowsGmsaProfile_STATUS(&gmsaProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_WindowsGmsaProfile_STATUS() to populate field GmsaProfile") + } + destination.GmsaProfile = &gmsaProfile + } else { + destination.GmsaProfile = nil + } + + // LicenseType + destination.LicenseType = genruntime.ClonePointerToString(profile.LicenseType) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterWindowsProfile_STATUS interface (if implemented) to customize the conversion + var profileAsAny any = profile + if augmentedProfile, ok := profileAsAny.(augmentConversionForManagedClusterWindowsProfile_STATUS); ok { + err := augmentedProfile.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +// Storage version of v1api20231001.ManagedClusterWorkloadAutoScalerProfile +// Workload Auto-scaler profile for the managed cluster. +type ManagedClusterWorkloadAutoScalerProfile struct { + Keda *ManagedClusterWorkloadAutoScalerProfileKeda `json:"keda,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + VerticalPodAutoscaler *ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler `json:"verticalPodAutoscaler,omitempty"` +} + +// AssignProperties_From_ManagedClusterWorkloadAutoScalerProfile populates our ManagedClusterWorkloadAutoScalerProfile from the provided source ManagedClusterWorkloadAutoScalerProfile +func (profile *ManagedClusterWorkloadAutoScalerProfile) AssignProperties_From_ManagedClusterWorkloadAutoScalerProfile(source *storage.ManagedClusterWorkloadAutoScalerProfile) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // Keda + if source.Keda != nil { + var kedum ManagedClusterWorkloadAutoScalerProfileKeda + err := kedum.AssignProperties_From_ManagedClusterWorkloadAutoScalerProfileKeda(source.Keda) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterWorkloadAutoScalerProfileKeda() to populate field Keda") + } + profile.Keda = &kedum + } else { + profile.Keda = nil + } + + // VerticalPodAutoscaler + if source.VerticalPodAutoscaler != nil { + var verticalPodAutoscaler ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler + err := verticalPodAutoscaler.AssignProperties_From_ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler(source.VerticalPodAutoscaler) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler() to populate field VerticalPodAutoscaler") + } + profile.VerticalPodAutoscaler = &verticalPodAutoscaler + } else { + profile.VerticalPodAutoscaler = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + profile.PropertyBag = propertyBag + } else { + profile.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterWorkloadAutoScalerProfile interface (if implemented) to customize the conversion + var profileAsAny any = profile + if augmentedProfile, ok := profileAsAny.(augmentConversionForManagedClusterWorkloadAutoScalerProfile); ok { + err := augmentedProfile.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterWorkloadAutoScalerProfile populates the provided destination ManagedClusterWorkloadAutoScalerProfile from our ManagedClusterWorkloadAutoScalerProfile +func (profile *ManagedClusterWorkloadAutoScalerProfile) AssignProperties_To_ManagedClusterWorkloadAutoScalerProfile(destination *storage.ManagedClusterWorkloadAutoScalerProfile) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) + + // Keda + if profile.Keda != nil { + var kedum storage.ManagedClusterWorkloadAutoScalerProfileKeda + err := profile.Keda.AssignProperties_To_ManagedClusterWorkloadAutoScalerProfileKeda(&kedum) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterWorkloadAutoScalerProfileKeda() to populate field Keda") + } + destination.Keda = &kedum + } else { + destination.Keda = nil + } + + // VerticalPodAutoscaler + if profile.VerticalPodAutoscaler != nil { + var verticalPodAutoscaler storage.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler + err := profile.VerticalPodAutoscaler.AssignProperties_To_ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler(&verticalPodAutoscaler) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler() to populate field VerticalPodAutoscaler") + } + destination.VerticalPodAutoscaler = &verticalPodAutoscaler + } else { + destination.VerticalPodAutoscaler = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterWorkloadAutoScalerProfile interface (if implemented) to customize the conversion + var profileAsAny any = profile + if augmentedProfile, ok := profileAsAny.(augmentConversionForManagedClusterWorkloadAutoScalerProfile); ok { + err := augmentedProfile.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +// Storage version of v1api20231001.ManagedClusterWorkloadAutoScalerProfile_STATUS +// Workload Auto-scaler profile for the managed cluster. +type ManagedClusterWorkloadAutoScalerProfile_STATUS struct { + Keda *ManagedClusterWorkloadAutoScalerProfileKeda_STATUS `json:"keda,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + VerticalPodAutoscaler *ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS `json:"verticalPodAutoscaler,omitempty"` +} + +// AssignProperties_From_ManagedClusterWorkloadAutoScalerProfile_STATUS populates our ManagedClusterWorkloadAutoScalerProfile_STATUS from the provided source ManagedClusterWorkloadAutoScalerProfile_STATUS +func (profile *ManagedClusterWorkloadAutoScalerProfile_STATUS) AssignProperties_From_ManagedClusterWorkloadAutoScalerProfile_STATUS(source *storage.ManagedClusterWorkloadAutoScalerProfile_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // Keda + if source.Keda != nil { + var kedum ManagedClusterWorkloadAutoScalerProfileKeda_STATUS + err := kedum.AssignProperties_From_ManagedClusterWorkloadAutoScalerProfileKeda_STATUS(source.Keda) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterWorkloadAutoScalerProfileKeda_STATUS() to populate field Keda") + } + profile.Keda = &kedum + } else { + profile.Keda = nil + } + + // VerticalPodAutoscaler + if source.VerticalPodAutoscaler != nil { + var verticalPodAutoscaler ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS + err := verticalPodAutoscaler.AssignProperties_From_ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS(source.VerticalPodAutoscaler) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS() to populate field VerticalPodAutoscaler") + } + profile.VerticalPodAutoscaler = &verticalPodAutoscaler + } else { + profile.VerticalPodAutoscaler = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + profile.PropertyBag = propertyBag + } else { + profile.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterWorkloadAutoScalerProfile_STATUS interface (if implemented) to customize the conversion + var profileAsAny any = profile + if augmentedProfile, ok := profileAsAny.(augmentConversionForManagedClusterWorkloadAutoScalerProfile_STATUS); ok { + err := augmentedProfile.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterWorkloadAutoScalerProfile_STATUS populates the provided destination ManagedClusterWorkloadAutoScalerProfile_STATUS from our ManagedClusterWorkloadAutoScalerProfile_STATUS +func (profile *ManagedClusterWorkloadAutoScalerProfile_STATUS) AssignProperties_To_ManagedClusterWorkloadAutoScalerProfile_STATUS(destination *storage.ManagedClusterWorkloadAutoScalerProfile_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) + + // Keda + if profile.Keda != nil { + var kedum storage.ManagedClusterWorkloadAutoScalerProfileKeda_STATUS + err := profile.Keda.AssignProperties_To_ManagedClusterWorkloadAutoScalerProfileKeda_STATUS(&kedum) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterWorkloadAutoScalerProfileKeda_STATUS() to populate field Keda") + } + destination.Keda = &kedum + } else { + destination.Keda = nil + } + + // VerticalPodAutoscaler + if profile.VerticalPodAutoscaler != nil { + var verticalPodAutoscaler storage.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS + err := profile.VerticalPodAutoscaler.AssignProperties_To_ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS(&verticalPodAutoscaler) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS() to populate field VerticalPodAutoscaler") + } + destination.VerticalPodAutoscaler = &verticalPodAutoscaler + } else { + destination.VerticalPodAutoscaler = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterWorkloadAutoScalerProfile_STATUS interface (if implemented) to customize the conversion + var profileAsAny any = profile + if augmentedProfile, ok := profileAsAny.(augmentConversionForManagedClusterWorkloadAutoScalerProfile_STATUS); ok { + err := augmentedProfile.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +// Storage version of v1api20231001.PowerState_STATUS +// Describes the Power State of the cluster +type PowerState_STATUS struct { + Code *string `json:"code,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// AssignProperties_From_PowerState_STATUS populates our PowerState_STATUS from the provided source PowerState_STATUS +func (state *PowerState_STATUS) AssignProperties_From_PowerState_STATUS(source *storage.PowerState_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // Code + state.Code = genruntime.ClonePointerToString(source.Code) + + // Update the property bag + if len(propertyBag) > 0 { + state.PropertyBag = propertyBag + } else { + state.PropertyBag = nil + } + + // Invoke the augmentConversionForPowerState_STATUS interface (if implemented) to customize the conversion + var stateAsAny any = state + if augmentedState, ok := stateAsAny.(augmentConversionForPowerState_STATUS); ok { + err := augmentedState.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_PowerState_STATUS populates the provided destination PowerState_STATUS from our PowerState_STATUS +func (state *PowerState_STATUS) AssignProperties_To_PowerState_STATUS(destination *storage.PowerState_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(state.PropertyBag) + + // Code + destination.Code = genruntime.ClonePointerToString(state.Code) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForPowerState_STATUS interface (if implemented) to customize the conversion + var stateAsAny any = state + if augmentedState, ok := stateAsAny.(augmentConversionForPowerState_STATUS); ok { + err := augmentedState.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +// Storage version of v1api20231001.PrivateLinkResource +// A private link resource +type PrivateLinkResource struct { + GroupId *string `json:"groupId,omitempty"` + Name *string `json:"name,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + + // Reference: The ID of the private link resource. + Reference *genruntime.ResourceReference `armReference:"Id" json:"reference,omitempty"` + RequiredMembers []string `json:"requiredMembers,omitempty"` + Type *string `json:"type,omitempty"` +} + +// AssignProperties_From_PrivateLinkResource populates our PrivateLinkResource from the provided source PrivateLinkResource +func (resource *PrivateLinkResource) AssignProperties_From_PrivateLinkResource(source *storage.PrivateLinkResource) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // GroupId + resource.GroupId = genruntime.ClonePointerToString(source.GroupId) + + // Name + resource.Name = genruntime.ClonePointerToString(source.Name) + + // Reference + if source.Reference != nil { + reference := source.Reference.Copy() + resource.Reference = &reference + } else { + resource.Reference = nil + } + + // RequiredMembers + resource.RequiredMembers = genruntime.CloneSliceOfString(source.RequiredMembers) + + // Type + resource.Type = genruntime.ClonePointerToString(source.Type) + + // Update the property bag + if len(propertyBag) > 0 { + resource.PropertyBag = propertyBag + } else { + resource.PropertyBag = nil + } + + // Invoke the augmentConversionForPrivateLinkResource interface (if implemented) to customize the conversion + var resourceAsAny any = resource + if augmentedResource, ok := resourceAsAny.(augmentConversionForPrivateLinkResource); ok { + err := augmentedResource.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_PrivateLinkResource populates the provided destination PrivateLinkResource from our PrivateLinkResource +func (resource *PrivateLinkResource) AssignProperties_To_PrivateLinkResource(destination *storage.PrivateLinkResource) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(resource.PropertyBag) + + // GroupId + destination.GroupId = genruntime.ClonePointerToString(resource.GroupId) + + // Name + destination.Name = genruntime.ClonePointerToString(resource.Name) + + // Reference + if resource.Reference != nil { + reference := resource.Reference.Copy() + destination.Reference = &reference + } else { + destination.Reference = nil + } + + // RequiredMembers + destination.RequiredMembers = genruntime.CloneSliceOfString(resource.RequiredMembers) + + // Type + destination.Type = genruntime.ClonePointerToString(resource.Type) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForPrivateLinkResource interface (if implemented) to customize the conversion + var resourceAsAny any = resource + if augmentedResource, ok := resourceAsAny.(augmentConversionForPrivateLinkResource); ok { + err := augmentedResource.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +// Storage version of v1api20231001.PrivateLinkResource_STATUS +// A private link resource +type PrivateLinkResource_STATUS struct { + GroupId *string `json:"groupId,omitempty"` + Id *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + PrivateLinkServiceID *string `json:"privateLinkServiceID,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + RequiredMembers []string `json:"requiredMembers,omitempty"` + Type *string `json:"type,omitempty"` +} + +// AssignProperties_From_PrivateLinkResource_STATUS populates our PrivateLinkResource_STATUS from the provided source PrivateLinkResource_STATUS +func (resource *PrivateLinkResource_STATUS) AssignProperties_From_PrivateLinkResource_STATUS(source *storage.PrivateLinkResource_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // GroupId + resource.GroupId = genruntime.ClonePointerToString(source.GroupId) + + // Id + resource.Id = genruntime.ClonePointerToString(source.Id) + + // Name + resource.Name = genruntime.ClonePointerToString(source.Name) + + // PrivateLinkServiceID + resource.PrivateLinkServiceID = genruntime.ClonePointerToString(source.PrivateLinkServiceID) + + // RequiredMembers + resource.RequiredMembers = genruntime.CloneSliceOfString(source.RequiredMembers) + + // Type + resource.Type = genruntime.ClonePointerToString(source.Type) + + // Update the property bag + if len(propertyBag) > 0 { + resource.PropertyBag = propertyBag + } else { + resource.PropertyBag = nil + } + + // Invoke the augmentConversionForPrivateLinkResource_STATUS interface (if implemented) to customize the conversion + var resourceAsAny any = resource + if augmentedResource, ok := resourceAsAny.(augmentConversionForPrivateLinkResource_STATUS); ok { + err := augmentedResource.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_PrivateLinkResource_STATUS populates the provided destination PrivateLinkResource_STATUS from our PrivateLinkResource_STATUS +func (resource *PrivateLinkResource_STATUS) AssignProperties_To_PrivateLinkResource_STATUS(destination *storage.PrivateLinkResource_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(resource.PropertyBag) + + // GroupId + destination.GroupId = genruntime.ClonePointerToString(resource.GroupId) + + // Id + destination.Id = genruntime.ClonePointerToString(resource.Id) + + // Name + destination.Name = genruntime.ClonePointerToString(resource.Name) + + // PrivateLinkServiceID + destination.PrivateLinkServiceID = genruntime.ClonePointerToString(resource.PrivateLinkServiceID) + + // RequiredMembers + destination.RequiredMembers = genruntime.CloneSliceOfString(resource.RequiredMembers) + + // Type + destination.Type = genruntime.ClonePointerToString(resource.Type) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForPrivateLinkResource_STATUS interface (if implemented) to customize the conversion + var resourceAsAny any = resource + if augmentedResource, ok := resourceAsAny.(augmentConversionForPrivateLinkResource_STATUS); ok { + err := augmentedResource.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +// Storage version of v1api20231001.ServiceMeshProfile +// Service mesh profile for a managed cluster. +type ServiceMeshProfile struct { + Istio *IstioServiceMesh `json:"istio,omitempty"` + Mode *string `json:"mode,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// AssignProperties_From_ServiceMeshProfile populates our ServiceMeshProfile from the provided source ServiceMeshProfile +func (profile *ServiceMeshProfile) AssignProperties_From_ServiceMeshProfile(source *storage.ServiceMeshProfile) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // Istio + if source.Istio != nil { + var istio IstioServiceMesh + err := istio.AssignProperties_From_IstioServiceMesh(source.Istio) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_IstioServiceMesh() to populate field Istio") + } + profile.Istio = &istio + } else { + profile.Istio = nil + } + + // Mode + profile.Mode = genruntime.ClonePointerToString(source.Mode) + + // Update the property bag + if len(propertyBag) > 0 { + profile.PropertyBag = propertyBag + } else { + profile.PropertyBag = nil + } + + // Invoke the augmentConversionForServiceMeshProfile interface (if implemented) to customize the conversion + var profileAsAny any = profile + if augmentedProfile, ok := profileAsAny.(augmentConversionForServiceMeshProfile); ok { + err := augmentedProfile.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_ServiceMeshProfile populates the provided destination ServiceMeshProfile from our ServiceMeshProfile +func (profile *ServiceMeshProfile) AssignProperties_To_ServiceMeshProfile(destination *storage.ServiceMeshProfile) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) + + // Istio + if profile.Istio != nil { + var istio storage.IstioServiceMesh + err := profile.Istio.AssignProperties_To_IstioServiceMesh(&istio) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_IstioServiceMesh() to populate field Istio") + } + destination.Istio = &istio + } else { + destination.Istio = nil + } + + // Mode + destination.Mode = genruntime.ClonePointerToString(profile.Mode) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForServiceMeshProfile interface (if implemented) to customize the conversion + var profileAsAny any = profile + if augmentedProfile, ok := profileAsAny.(augmentConversionForServiceMeshProfile); ok { + err := augmentedProfile.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +// Storage version of v1api20231001.ServiceMeshProfile_STATUS +// Service mesh profile for a managed cluster. +type ServiceMeshProfile_STATUS struct { + Istio *IstioServiceMesh_STATUS `json:"istio,omitempty"` + Mode *string `json:"mode,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// AssignProperties_From_ServiceMeshProfile_STATUS populates our ServiceMeshProfile_STATUS from the provided source ServiceMeshProfile_STATUS +func (profile *ServiceMeshProfile_STATUS) AssignProperties_From_ServiceMeshProfile_STATUS(source *storage.ServiceMeshProfile_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // Istio + if source.Istio != nil { + var istio IstioServiceMesh_STATUS + err := istio.AssignProperties_From_IstioServiceMesh_STATUS(source.Istio) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_IstioServiceMesh_STATUS() to populate field Istio") + } + profile.Istio = &istio + } else { + profile.Istio = nil + } + + // Mode + profile.Mode = genruntime.ClonePointerToString(source.Mode) + + // Update the property bag + if len(propertyBag) > 0 { + profile.PropertyBag = propertyBag + } else { + profile.PropertyBag = nil + } + + // Invoke the augmentConversionForServiceMeshProfile_STATUS interface (if implemented) to customize the conversion + var profileAsAny any = profile + if augmentedProfile, ok := profileAsAny.(augmentConversionForServiceMeshProfile_STATUS); ok { + err := augmentedProfile.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_ServiceMeshProfile_STATUS populates the provided destination ServiceMeshProfile_STATUS from our ServiceMeshProfile_STATUS +func (profile *ServiceMeshProfile_STATUS) AssignProperties_To_ServiceMeshProfile_STATUS(destination *storage.ServiceMeshProfile_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) + + // Istio + if profile.Istio != nil { + var istio storage.IstioServiceMesh_STATUS + err := profile.Istio.AssignProperties_To_IstioServiceMesh_STATUS(&istio) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_IstioServiceMesh_STATUS() to populate field Istio") + } + destination.Istio = &istio + } else { + destination.Istio = nil + } + + // Mode + destination.Mode = genruntime.ClonePointerToString(profile.Mode) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForServiceMeshProfile_STATUS interface (if implemented) to customize the conversion + var profileAsAny any = profile + if augmentedProfile, ok := profileAsAny.(augmentConversionForServiceMeshProfile_STATUS); ok { + err := augmentedProfile.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +// Storage version of v1api20231001.SystemData_STATUS +// Metadata pertaining to creation and last modification of the resource. +type SystemData_STATUS struct { + CreatedAt *string `json:"createdAt,omitempty"` + CreatedBy *string `json:"createdBy,omitempty"` + CreatedByType *string `json:"createdByType,omitempty"` + LastModifiedAt *string `json:"lastModifiedAt,omitempty"` + LastModifiedBy *string `json:"lastModifiedBy,omitempty"` + LastModifiedByType *string `json:"lastModifiedByType,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// AssignProperties_From_SystemData_STATUS populates our SystemData_STATUS from the provided source SystemData_STATUS +func (data *SystemData_STATUS) AssignProperties_From_SystemData_STATUS(source *storage.SystemData_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // CreatedAt + data.CreatedAt = genruntime.ClonePointerToString(source.CreatedAt) + + // CreatedBy + data.CreatedBy = genruntime.ClonePointerToString(source.CreatedBy) + + // CreatedByType + data.CreatedByType = genruntime.ClonePointerToString(source.CreatedByType) + + // LastModifiedAt + data.LastModifiedAt = genruntime.ClonePointerToString(source.LastModifiedAt) + + // LastModifiedBy + data.LastModifiedBy = genruntime.ClonePointerToString(source.LastModifiedBy) + + // LastModifiedByType + data.LastModifiedByType = genruntime.ClonePointerToString(source.LastModifiedByType) + + // Update the property bag + if len(propertyBag) > 0 { + data.PropertyBag = propertyBag + } else { + data.PropertyBag = nil + } + + // Invoke the augmentConversionForSystemData_STATUS interface (if implemented) to customize the conversion + var dataAsAny any = data + if augmentedData, ok := dataAsAny.(augmentConversionForSystemData_STATUS); ok { + err := augmentedData.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_SystemData_STATUS populates the provided destination SystemData_STATUS from our SystemData_STATUS +func (data *SystemData_STATUS) AssignProperties_To_SystemData_STATUS(destination *storage.SystemData_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(data.PropertyBag) + + // CreatedAt + destination.CreatedAt = genruntime.ClonePointerToString(data.CreatedAt) + + // CreatedBy + destination.CreatedBy = genruntime.ClonePointerToString(data.CreatedBy) + + // CreatedByType + destination.CreatedByType = genruntime.ClonePointerToString(data.CreatedByType) + + // LastModifiedAt + destination.LastModifiedAt = genruntime.ClonePointerToString(data.LastModifiedAt) + + // LastModifiedBy + destination.LastModifiedBy = genruntime.ClonePointerToString(data.LastModifiedBy) + + // LastModifiedByType + destination.LastModifiedByType = genruntime.ClonePointerToString(data.LastModifiedByType) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForSystemData_STATUS interface (if implemented) to customize the conversion + var dataAsAny any = data + if augmentedData, ok := dataAsAny.(augmentConversionForSystemData_STATUS); ok { + err := augmentedData.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +// Storage version of v1api20231001.UserAssignedIdentity +// Details about a user assigned identity. +type UserAssignedIdentity struct { + ClientId *string `json:"clientId,omitempty"` + ObjectId *string `json:"objectId,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + + // ResourceReference: The resource ID of the user assigned identity. + ResourceReference *genruntime.ResourceReference `armReference:"ResourceId" json:"resourceReference,omitempty"` +} + +// AssignProperties_From_UserAssignedIdentity populates our UserAssignedIdentity from the provided source UserAssignedIdentity +func (identity *UserAssignedIdentity) AssignProperties_From_UserAssignedIdentity(source *storage.UserAssignedIdentity) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // ClientId + identity.ClientId = genruntime.ClonePointerToString(source.ClientId) + + // ObjectId + identity.ObjectId = genruntime.ClonePointerToString(source.ObjectId) + + // ResourceReference + if source.ResourceReference != nil { + resourceReference := source.ResourceReference.Copy() + identity.ResourceReference = &resourceReference + } else { + identity.ResourceReference = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + identity.PropertyBag = propertyBag + } else { + identity.PropertyBag = nil + } + + // Invoke the augmentConversionForUserAssignedIdentity interface (if implemented) to customize the conversion + var identityAsAny any = identity + if augmentedIdentity, ok := identityAsAny.(augmentConversionForUserAssignedIdentity); ok { + err := augmentedIdentity.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_UserAssignedIdentity populates the provided destination UserAssignedIdentity from our UserAssignedIdentity +func (identity *UserAssignedIdentity) AssignProperties_To_UserAssignedIdentity(destination *storage.UserAssignedIdentity) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(identity.PropertyBag) + + // ClientId + destination.ClientId = genruntime.ClonePointerToString(identity.ClientId) + + // ObjectId + destination.ObjectId = genruntime.ClonePointerToString(identity.ObjectId) + + // ResourceReference + if identity.ResourceReference != nil { + resourceReference := identity.ResourceReference.Copy() + destination.ResourceReference = &resourceReference + } else { + destination.ResourceReference = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForUserAssignedIdentity interface (if implemented) to customize the conversion + var identityAsAny any = identity + if augmentedIdentity, ok := identityAsAny.(augmentConversionForUserAssignedIdentity); ok { + err := augmentedIdentity.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +// Storage version of v1api20231001.UserAssignedIdentity_STATUS +// Details about a user assigned identity. +type UserAssignedIdentity_STATUS struct { + ClientId *string `json:"clientId,omitempty"` + ObjectId *string `json:"objectId,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + ResourceId *string `json:"resourceId,omitempty"` +} + +// AssignProperties_From_UserAssignedIdentity_STATUS populates our UserAssignedIdentity_STATUS from the provided source UserAssignedIdentity_STATUS +func (identity *UserAssignedIdentity_STATUS) AssignProperties_From_UserAssignedIdentity_STATUS(source *storage.UserAssignedIdentity_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // ClientId + identity.ClientId = genruntime.ClonePointerToString(source.ClientId) + + // ObjectId + identity.ObjectId = genruntime.ClonePointerToString(source.ObjectId) + + // ResourceId + identity.ResourceId = genruntime.ClonePointerToString(source.ResourceId) + + // Update the property bag + if len(propertyBag) > 0 { + identity.PropertyBag = propertyBag + } else { + identity.PropertyBag = nil + } + + // Invoke the augmentConversionForUserAssignedIdentity_STATUS interface (if implemented) to customize the conversion + var identityAsAny any = identity + if augmentedIdentity, ok := identityAsAny.(augmentConversionForUserAssignedIdentity_STATUS); ok { + err := augmentedIdentity.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_UserAssignedIdentity_STATUS populates the provided destination UserAssignedIdentity_STATUS from our UserAssignedIdentity_STATUS +func (identity *UserAssignedIdentity_STATUS) AssignProperties_To_UserAssignedIdentity_STATUS(destination *storage.UserAssignedIdentity_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(identity.PropertyBag) + + // ClientId + destination.ClientId = genruntime.ClonePointerToString(identity.ClientId) + + // ObjectId + destination.ObjectId = genruntime.ClonePointerToString(identity.ObjectId) + + // ResourceId + destination.ResourceId = genruntime.ClonePointerToString(identity.ResourceId) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForUserAssignedIdentity_STATUS interface (if implemented) to customize the conversion + var identityAsAny any = identity + if augmentedIdentity, ok := identityAsAny.(augmentConversionForUserAssignedIdentity_STATUS); ok { + err := augmentedIdentity.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +type augmentConversionForClusterUpgradeSettings interface { + AssignPropertiesFrom(src *storage.ClusterUpgradeSettings) error + AssignPropertiesTo(dst *storage.ClusterUpgradeSettings) error +} + +type augmentConversionForClusterUpgradeSettings_STATUS interface { + AssignPropertiesFrom(src *storage.ClusterUpgradeSettings_STATUS) error + AssignPropertiesTo(dst *storage.ClusterUpgradeSettings_STATUS) error +} + +type augmentConversionForContainerServiceLinuxProfile interface { + AssignPropertiesFrom(src *storage.ContainerServiceLinuxProfile) error + AssignPropertiesTo(dst *storage.ContainerServiceLinuxProfile) error +} + +type augmentConversionForContainerServiceLinuxProfile_STATUS interface { + AssignPropertiesFrom(src *storage.ContainerServiceLinuxProfile_STATUS) error + AssignPropertiesTo(dst *storage.ContainerServiceLinuxProfile_STATUS) error +} + +type augmentConversionForContainerServiceNetworkProfile interface { + AssignPropertiesFrom(src *storage.ContainerServiceNetworkProfile) error + AssignPropertiesTo(dst *storage.ContainerServiceNetworkProfile) error +} + +type augmentConversionForContainerServiceNetworkProfile_STATUS interface { + AssignPropertiesFrom(src *storage.ContainerServiceNetworkProfile_STATUS) error + AssignPropertiesTo(dst *storage.ContainerServiceNetworkProfile_STATUS) error +} + +type augmentConversionForExtendedLocation interface { + AssignPropertiesFrom(src *storage.ExtendedLocation) error + AssignPropertiesTo(dst *storage.ExtendedLocation) error +} + +type augmentConversionForExtendedLocation_STATUS interface { + AssignPropertiesFrom(src *storage.ExtendedLocation_STATUS) error + AssignPropertiesTo(dst *storage.ExtendedLocation_STATUS) error +} + +type augmentConversionForManagedClusterAADProfile interface { + AssignPropertiesFrom(src *storage.ManagedClusterAADProfile) error + AssignPropertiesTo(dst *storage.ManagedClusterAADProfile) error +} + +type augmentConversionForManagedClusterAADProfile_STATUS interface { + AssignPropertiesFrom(src *storage.ManagedClusterAADProfile_STATUS) error + AssignPropertiesTo(dst *storage.ManagedClusterAADProfile_STATUS) error +} + +type augmentConversionForManagedClusterAddonProfile interface { + AssignPropertiesFrom(src *storage.ManagedClusterAddonProfile) error + AssignPropertiesTo(dst *storage.ManagedClusterAddonProfile) error +} + +type augmentConversionForManagedClusterAddonProfile_STATUS interface { + AssignPropertiesFrom(src *storage.ManagedClusterAddonProfile_STATUS) error + AssignPropertiesTo(dst *storage.ManagedClusterAddonProfile_STATUS) error +} + +type augmentConversionForManagedClusterAgentPoolProfile interface { + AssignPropertiesFrom(src *storage.ManagedClusterAgentPoolProfile) error + AssignPropertiesTo(dst *storage.ManagedClusterAgentPoolProfile) error +} + +type augmentConversionForManagedClusterAgentPoolProfile_STATUS interface { + AssignPropertiesFrom(src *storage.ManagedClusterAgentPoolProfile_STATUS) error + AssignPropertiesTo(dst *storage.ManagedClusterAgentPoolProfile_STATUS) error +} + +type augmentConversionForManagedClusterAPIServerAccessProfile interface { + AssignPropertiesFrom(src *storage.ManagedClusterAPIServerAccessProfile) error + AssignPropertiesTo(dst *storage.ManagedClusterAPIServerAccessProfile) error +} + +type augmentConversionForManagedClusterAPIServerAccessProfile_STATUS interface { + AssignPropertiesFrom(src *storage.ManagedClusterAPIServerAccessProfile_STATUS) error + AssignPropertiesTo(dst *storage.ManagedClusterAPIServerAccessProfile_STATUS) error +} + +type augmentConversionForManagedClusterAutoUpgradeProfile interface { + AssignPropertiesFrom(src *storage.ManagedClusterAutoUpgradeProfile) error + AssignPropertiesTo(dst *storage.ManagedClusterAutoUpgradeProfile) error +} + +type augmentConversionForManagedClusterAutoUpgradeProfile_STATUS interface { + AssignPropertiesFrom(src *storage.ManagedClusterAutoUpgradeProfile_STATUS) error + AssignPropertiesTo(dst *storage.ManagedClusterAutoUpgradeProfile_STATUS) error +} + +type augmentConversionForManagedClusterAzureMonitorProfile interface { + AssignPropertiesFrom(src *storage.ManagedClusterAzureMonitorProfile) error + AssignPropertiesTo(dst *storage.ManagedClusterAzureMonitorProfile) error +} + +type augmentConversionForManagedClusterAzureMonitorProfile_STATUS interface { + AssignPropertiesFrom(src *storage.ManagedClusterAzureMonitorProfile_STATUS) error + AssignPropertiesTo(dst *storage.ManagedClusterAzureMonitorProfile_STATUS) error +} + +type augmentConversionForManagedClusterHTTPProxyConfig interface { + AssignPropertiesFrom(src *storage.ManagedClusterHTTPProxyConfig) error + AssignPropertiesTo(dst *storage.ManagedClusterHTTPProxyConfig) error +} + +type augmentConversionForManagedClusterHTTPProxyConfig_STATUS interface { + AssignPropertiesFrom(src *storage.ManagedClusterHTTPProxyConfig_STATUS) error + AssignPropertiesTo(dst *storage.ManagedClusterHTTPProxyConfig_STATUS) error +} + +type augmentConversionForManagedClusterIdentity interface { + AssignPropertiesFrom(src *storage.ManagedClusterIdentity) error + AssignPropertiesTo(dst *storage.ManagedClusterIdentity) error +} + +type augmentConversionForManagedClusterIdentity_STATUS interface { + AssignPropertiesFrom(src *storage.ManagedClusterIdentity_STATUS) error + AssignPropertiesTo(dst *storage.ManagedClusterIdentity_STATUS) error +} + +type augmentConversionForManagedClusterOIDCIssuerProfile interface { + AssignPropertiesFrom(src *storage.ManagedClusterOIDCIssuerProfile) error + AssignPropertiesTo(dst *storage.ManagedClusterOIDCIssuerProfile) error +} + +type augmentConversionForManagedClusterOIDCIssuerProfile_STATUS interface { + AssignPropertiesFrom(src *storage.ManagedClusterOIDCIssuerProfile_STATUS) error + AssignPropertiesTo(dst *storage.ManagedClusterOIDCIssuerProfile_STATUS) error +} + +type augmentConversionForManagedClusterOperatorSpec interface { + AssignPropertiesFrom(src *storage.ManagedClusterOperatorSpec) error + AssignPropertiesTo(dst *storage.ManagedClusterOperatorSpec) error +} + +type augmentConversionForManagedClusterPodIdentityProfile interface { + AssignPropertiesFrom(src *storage.ManagedClusterPodIdentityProfile) error + AssignPropertiesTo(dst *storage.ManagedClusterPodIdentityProfile) error +} + +type augmentConversionForManagedClusterPodIdentityProfile_STATUS interface { + AssignPropertiesFrom(src *storage.ManagedClusterPodIdentityProfile_STATUS) error + AssignPropertiesTo(dst *storage.ManagedClusterPodIdentityProfile_STATUS) error +} + +type augmentConversionForManagedClusterProperties_AutoScalerProfile interface { + AssignPropertiesFrom(src *storage.ManagedClusterProperties_AutoScalerProfile) error + AssignPropertiesTo(dst *storage.ManagedClusterProperties_AutoScalerProfile) error +} + +type augmentConversionForManagedClusterProperties_AutoScalerProfile_STATUS interface { + AssignPropertiesFrom(src *storage.ManagedClusterProperties_AutoScalerProfile_STATUS) error + AssignPropertiesTo(dst *storage.ManagedClusterProperties_AutoScalerProfile_STATUS) error +} + +type augmentConversionForManagedClusterSecurityProfile interface { + AssignPropertiesFrom(src *storage.ManagedClusterSecurityProfile) error + AssignPropertiesTo(dst *storage.ManagedClusterSecurityProfile) error +} + +type augmentConversionForManagedClusterSecurityProfile_STATUS interface { + AssignPropertiesFrom(src *storage.ManagedClusterSecurityProfile_STATUS) error + AssignPropertiesTo(dst *storage.ManagedClusterSecurityProfile_STATUS) error +} + +type augmentConversionForManagedClusterServicePrincipalProfile interface { + AssignPropertiesFrom(src *storage.ManagedClusterServicePrincipalProfile) error + AssignPropertiesTo(dst *storage.ManagedClusterServicePrincipalProfile) error +} + +type augmentConversionForManagedClusterServicePrincipalProfile_STATUS interface { + AssignPropertiesFrom(src *storage.ManagedClusterServicePrincipalProfile_STATUS) error + AssignPropertiesTo(dst *storage.ManagedClusterServicePrincipalProfile_STATUS) error +} + +type augmentConversionForManagedClusterSKU interface { + AssignPropertiesFrom(src *storage.ManagedClusterSKU) error + AssignPropertiesTo(dst *storage.ManagedClusterSKU) error +} + +type augmentConversionForManagedClusterSKU_STATUS interface { + AssignPropertiesFrom(src *storage.ManagedClusterSKU_STATUS) error + AssignPropertiesTo(dst *storage.ManagedClusterSKU_STATUS) error +} + +type augmentConversionForManagedClusterStorageProfile interface { + AssignPropertiesFrom(src *storage.ManagedClusterStorageProfile) error + AssignPropertiesTo(dst *storage.ManagedClusterStorageProfile) error +} + +type augmentConversionForManagedClusterStorageProfile_STATUS interface { + AssignPropertiesFrom(src *storage.ManagedClusterStorageProfile_STATUS) error + AssignPropertiesTo(dst *storage.ManagedClusterStorageProfile_STATUS) error +} + +type augmentConversionForManagedClusterWindowsProfile interface { + AssignPropertiesFrom(src *storage.ManagedClusterWindowsProfile) error + AssignPropertiesTo(dst *storage.ManagedClusterWindowsProfile) error +} + +type augmentConversionForManagedClusterWindowsProfile_STATUS interface { + AssignPropertiesFrom(src *storage.ManagedClusterWindowsProfile_STATUS) error + AssignPropertiesTo(dst *storage.ManagedClusterWindowsProfile_STATUS) error +} + +type augmentConversionForManagedClusterWorkloadAutoScalerProfile interface { + AssignPropertiesFrom(src *storage.ManagedClusterWorkloadAutoScalerProfile) error + AssignPropertiesTo(dst *storage.ManagedClusterWorkloadAutoScalerProfile) error +} + +type augmentConversionForManagedClusterWorkloadAutoScalerProfile_STATUS interface { + AssignPropertiesFrom(src *storage.ManagedClusterWorkloadAutoScalerProfile_STATUS) error + AssignPropertiesTo(dst *storage.ManagedClusterWorkloadAutoScalerProfile_STATUS) error +} + +type augmentConversionForPowerState_STATUS interface { + AssignPropertiesFrom(src *storage.PowerState_STATUS) error + AssignPropertiesTo(dst *storage.PowerState_STATUS) error +} + +type augmentConversionForPrivateLinkResource interface { + AssignPropertiesFrom(src *storage.PrivateLinkResource) error + AssignPropertiesTo(dst *storage.PrivateLinkResource) error +} + +type augmentConversionForPrivateLinkResource_STATUS interface { + AssignPropertiesFrom(src *storage.PrivateLinkResource_STATUS) error + AssignPropertiesTo(dst *storage.PrivateLinkResource_STATUS) error +} + +type augmentConversionForServiceMeshProfile interface { + AssignPropertiesFrom(src *storage.ServiceMeshProfile) error + AssignPropertiesTo(dst *storage.ServiceMeshProfile) error +} + +type augmentConversionForServiceMeshProfile_STATUS interface { + AssignPropertiesFrom(src *storage.ServiceMeshProfile_STATUS) error + AssignPropertiesTo(dst *storage.ServiceMeshProfile_STATUS) error +} + +type augmentConversionForSystemData_STATUS interface { + AssignPropertiesFrom(src *storage.SystemData_STATUS) error + AssignPropertiesTo(dst *storage.SystemData_STATUS) error +} + +type augmentConversionForUserAssignedIdentity interface { + AssignPropertiesFrom(src *storage.UserAssignedIdentity) error + AssignPropertiesTo(dst *storage.UserAssignedIdentity) error +} + +type augmentConversionForUserAssignedIdentity_STATUS interface { + AssignPropertiesFrom(src *storage.UserAssignedIdentity_STATUS) error + AssignPropertiesTo(dst *storage.UserAssignedIdentity_STATUS) error +} + +// Storage version of v1api20231001.AzureKeyVaultKms +// Azure Key Vault key management service settings for the security profile. +type AzureKeyVaultKms struct { + Enabled *bool `json:"enabled,omitempty"` + KeyId *string `json:"keyId,omitempty"` + KeyVaultNetworkAccess *string `json:"keyVaultNetworkAccess,omitempty"` + + // KeyVaultResourceReference: Resource ID of key vault. When keyVaultNetworkAccess is `Private`, this field is required and + // must be a valid resource ID. When keyVaultNetworkAccess is `Public`, leave the field empty. + KeyVaultResourceReference *genruntime.ResourceReference `armReference:"KeyVaultResourceId" json:"keyVaultResourceReference,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// AssignProperties_From_AzureKeyVaultKms populates our AzureKeyVaultKms from the provided source AzureKeyVaultKms +func (vaultKms *AzureKeyVaultKms) AssignProperties_From_AzureKeyVaultKms(source *storage.AzureKeyVaultKms) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + vaultKms.Enabled = &enabled + } else { + vaultKms.Enabled = nil + } + + // KeyId + vaultKms.KeyId = genruntime.ClonePointerToString(source.KeyId) + + // KeyVaultNetworkAccess + vaultKms.KeyVaultNetworkAccess = genruntime.ClonePointerToString(source.KeyVaultNetworkAccess) + + // KeyVaultResourceReference + if source.KeyVaultResourceReference != nil { + keyVaultResourceReference := source.KeyVaultResourceReference.Copy() + vaultKms.KeyVaultResourceReference = &keyVaultResourceReference + } else { + vaultKms.KeyVaultResourceReference = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + vaultKms.PropertyBag = propertyBag + } else { + vaultKms.PropertyBag = nil + } + + // Invoke the augmentConversionForAzureKeyVaultKms interface (if implemented) to customize the conversion + var vaultKmsAsAny any = vaultKms + if augmentedVaultKms, ok := vaultKmsAsAny.(augmentConversionForAzureKeyVaultKms); ok { + err := augmentedVaultKms.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_AzureKeyVaultKms populates the provided destination AzureKeyVaultKms from our AzureKeyVaultKms +func (vaultKms *AzureKeyVaultKms) AssignProperties_To_AzureKeyVaultKms(destination *storage.AzureKeyVaultKms) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(vaultKms.PropertyBag) + + // Enabled + if vaultKms.Enabled != nil { + enabled := *vaultKms.Enabled + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // KeyId + destination.KeyId = genruntime.ClonePointerToString(vaultKms.KeyId) + + // KeyVaultNetworkAccess + destination.KeyVaultNetworkAccess = genruntime.ClonePointerToString(vaultKms.KeyVaultNetworkAccess) + + // KeyVaultResourceReference + if vaultKms.KeyVaultResourceReference != nil { + keyVaultResourceReference := vaultKms.KeyVaultResourceReference.Copy() + destination.KeyVaultResourceReference = &keyVaultResourceReference + } else { + destination.KeyVaultResourceReference = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForAzureKeyVaultKms interface (if implemented) to customize the conversion + var vaultKmsAsAny any = vaultKms + if augmentedVaultKms, ok := vaultKmsAsAny.(augmentConversionForAzureKeyVaultKms); ok { + err := augmentedVaultKms.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +// Storage version of v1api20231001.AzureKeyVaultKms_STATUS +// Azure Key Vault key management service settings for the security profile. +type AzureKeyVaultKms_STATUS struct { + Enabled *bool `json:"enabled,omitempty"` + KeyId *string `json:"keyId,omitempty"` + KeyVaultNetworkAccess *string `json:"keyVaultNetworkAccess,omitempty"` + KeyVaultResourceId *string `json:"keyVaultResourceId,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// AssignProperties_From_AzureKeyVaultKms_STATUS populates our AzureKeyVaultKms_STATUS from the provided source AzureKeyVaultKms_STATUS +func (vaultKms *AzureKeyVaultKms_STATUS) AssignProperties_From_AzureKeyVaultKms_STATUS(source *storage.AzureKeyVaultKms_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + vaultKms.Enabled = &enabled + } else { + vaultKms.Enabled = nil + } + + // KeyId + vaultKms.KeyId = genruntime.ClonePointerToString(source.KeyId) + + // KeyVaultNetworkAccess + vaultKms.KeyVaultNetworkAccess = genruntime.ClonePointerToString(source.KeyVaultNetworkAccess) + + // KeyVaultResourceId + vaultKms.KeyVaultResourceId = genruntime.ClonePointerToString(source.KeyVaultResourceId) + + // Update the property bag + if len(propertyBag) > 0 { + vaultKms.PropertyBag = propertyBag + } else { + vaultKms.PropertyBag = nil + } + + // Invoke the augmentConversionForAzureKeyVaultKms_STATUS interface (if implemented) to customize the conversion + var vaultKmsAsAny any = vaultKms + if augmentedVaultKms, ok := vaultKmsAsAny.(augmentConversionForAzureKeyVaultKms_STATUS); ok { + err := augmentedVaultKms.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_AzureKeyVaultKms_STATUS populates the provided destination AzureKeyVaultKms_STATUS from our AzureKeyVaultKms_STATUS +func (vaultKms *AzureKeyVaultKms_STATUS) AssignProperties_To_AzureKeyVaultKms_STATUS(destination *storage.AzureKeyVaultKms_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(vaultKms.PropertyBag) + + // Enabled + if vaultKms.Enabled != nil { + enabled := *vaultKms.Enabled + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // KeyId + destination.KeyId = genruntime.ClonePointerToString(vaultKms.KeyId) + + // KeyVaultNetworkAccess + destination.KeyVaultNetworkAccess = genruntime.ClonePointerToString(vaultKms.KeyVaultNetworkAccess) + + // KeyVaultResourceId + destination.KeyVaultResourceId = genruntime.ClonePointerToString(vaultKms.KeyVaultResourceId) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForAzureKeyVaultKms_STATUS interface (if implemented) to customize the conversion + var vaultKmsAsAny any = vaultKms + if augmentedVaultKms, ok := vaultKmsAsAny.(augmentConversionForAzureKeyVaultKms_STATUS); ok { + err := augmentedVaultKms.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +// Storage version of v1api20231001.ContainerServiceSshConfiguration +// SSH configuration for Linux-based VMs running on Azure. +type ContainerServiceSshConfiguration struct { + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + PublicKeys []ContainerServiceSshPublicKey `json:"publicKeys,omitempty"` +} + +// AssignProperties_From_ContainerServiceSshConfiguration populates our ContainerServiceSshConfiguration from the provided source ContainerServiceSshConfiguration +func (configuration *ContainerServiceSshConfiguration) AssignProperties_From_ContainerServiceSshConfiguration(source *storage.ContainerServiceSshConfiguration) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // PublicKeys + if source.PublicKeys != nil { + publicKeyList := make([]ContainerServiceSshPublicKey, len(source.PublicKeys)) + for publicKeyIndex, publicKeyItem := range source.PublicKeys { + // Shadow the loop variable to avoid aliasing + publicKeyItem := publicKeyItem + var publicKey ContainerServiceSshPublicKey + err := publicKey.AssignProperties_From_ContainerServiceSshPublicKey(&publicKeyItem) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ContainerServiceSshPublicKey() to populate field PublicKeys") + } + publicKeyList[publicKeyIndex] = publicKey + } + configuration.PublicKeys = publicKeyList + } else { + configuration.PublicKeys = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + configuration.PropertyBag = propertyBag + } else { + configuration.PropertyBag = nil + } + + // Invoke the augmentConversionForContainerServiceSshConfiguration interface (if implemented) to customize the conversion + var configurationAsAny any = configuration + if augmentedConfiguration, ok := configurationAsAny.(augmentConversionForContainerServiceSshConfiguration); ok { + err := augmentedConfiguration.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_ContainerServiceSshConfiguration populates the provided destination ContainerServiceSshConfiguration from our ContainerServiceSshConfiguration +func (configuration *ContainerServiceSshConfiguration) AssignProperties_To_ContainerServiceSshConfiguration(destination *storage.ContainerServiceSshConfiguration) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(configuration.PropertyBag) + + // PublicKeys + if configuration.PublicKeys != nil { + publicKeyList := make([]storage.ContainerServiceSshPublicKey, len(configuration.PublicKeys)) + for publicKeyIndex, publicKeyItem := range configuration.PublicKeys { + // Shadow the loop variable to avoid aliasing + publicKeyItem := publicKeyItem + var publicKey storage.ContainerServiceSshPublicKey + err := publicKeyItem.AssignProperties_To_ContainerServiceSshPublicKey(&publicKey) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ContainerServiceSshPublicKey() to populate field PublicKeys") + } + publicKeyList[publicKeyIndex] = publicKey + } + destination.PublicKeys = publicKeyList + } else { + destination.PublicKeys = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForContainerServiceSshConfiguration interface (if implemented) to customize the conversion + var configurationAsAny any = configuration + if augmentedConfiguration, ok := configurationAsAny.(augmentConversionForContainerServiceSshConfiguration); ok { + err := augmentedConfiguration.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +// Storage version of v1api20231001.ContainerServiceSshConfiguration_STATUS +// SSH configuration for Linux-based VMs running on Azure. +type ContainerServiceSshConfiguration_STATUS struct { + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + PublicKeys []ContainerServiceSshPublicKey_STATUS `json:"publicKeys,omitempty"` +} + +// AssignProperties_From_ContainerServiceSshConfiguration_STATUS populates our ContainerServiceSshConfiguration_STATUS from the provided source ContainerServiceSshConfiguration_STATUS +func (configuration *ContainerServiceSshConfiguration_STATUS) AssignProperties_From_ContainerServiceSshConfiguration_STATUS(source *storage.ContainerServiceSshConfiguration_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // PublicKeys + if source.PublicKeys != nil { + publicKeyList := make([]ContainerServiceSshPublicKey_STATUS, len(source.PublicKeys)) + for publicKeyIndex, publicKeyItem := range source.PublicKeys { + // Shadow the loop variable to avoid aliasing + publicKeyItem := publicKeyItem + var publicKey ContainerServiceSshPublicKey_STATUS + err := publicKey.AssignProperties_From_ContainerServiceSshPublicKey_STATUS(&publicKeyItem) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ContainerServiceSshPublicKey_STATUS() to populate field PublicKeys") + } + publicKeyList[publicKeyIndex] = publicKey + } + configuration.PublicKeys = publicKeyList + } else { + configuration.PublicKeys = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + configuration.PropertyBag = propertyBag + } else { + configuration.PropertyBag = nil + } + + // Invoke the augmentConversionForContainerServiceSshConfiguration_STATUS interface (if implemented) to customize the conversion + var configurationAsAny any = configuration + if augmentedConfiguration, ok := configurationAsAny.(augmentConversionForContainerServiceSshConfiguration_STATUS); ok { + err := augmentedConfiguration.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_ContainerServiceSshConfiguration_STATUS populates the provided destination ContainerServiceSshConfiguration_STATUS from our ContainerServiceSshConfiguration_STATUS +func (configuration *ContainerServiceSshConfiguration_STATUS) AssignProperties_To_ContainerServiceSshConfiguration_STATUS(destination *storage.ContainerServiceSshConfiguration_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(configuration.PropertyBag) + + // PublicKeys + if configuration.PublicKeys != nil { + publicKeyList := make([]storage.ContainerServiceSshPublicKey_STATUS, len(configuration.PublicKeys)) + for publicKeyIndex, publicKeyItem := range configuration.PublicKeys { + // Shadow the loop variable to avoid aliasing + publicKeyItem := publicKeyItem + var publicKey storage.ContainerServiceSshPublicKey_STATUS + err := publicKeyItem.AssignProperties_To_ContainerServiceSshPublicKey_STATUS(&publicKey) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ContainerServiceSshPublicKey_STATUS() to populate field PublicKeys") + } + publicKeyList[publicKeyIndex] = publicKey + } + destination.PublicKeys = publicKeyList + } else { + destination.PublicKeys = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForContainerServiceSshConfiguration_STATUS interface (if implemented) to customize the conversion + var configurationAsAny any = configuration + if augmentedConfiguration, ok := configurationAsAny.(augmentConversionForContainerServiceSshConfiguration_STATUS); ok { + err := augmentedConfiguration.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +// Storage version of v1api20231001.DelegatedResource +// Delegated resource properties - internal use only. +type DelegatedResource struct { + Location *string `json:"location,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + ReferralResource *string `json:"referralResource,omitempty"` + + // ResourceReference: The ARM resource id of the delegated resource - internal use only. + ResourceReference *genruntime.ResourceReference `armReference:"ResourceId" json:"resourceReference,omitempty"` + TenantId *string `json:"tenantId,omitempty"` +} + +// AssignProperties_From_DelegatedResource populates our DelegatedResource from the provided source DelegatedResource +func (resource *DelegatedResource) AssignProperties_From_DelegatedResource(source *storage.DelegatedResource) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // Location + resource.Location = genruntime.ClonePointerToString(source.Location) + + // ReferralResource + resource.ReferralResource = genruntime.ClonePointerToString(source.ReferralResource) + + // ResourceReference + if source.ResourceReference != nil { + resourceReference := source.ResourceReference.Copy() + resource.ResourceReference = &resourceReference + } else { + resource.ResourceReference = nil + } + + // TenantId + resource.TenantId = genruntime.ClonePointerToString(source.TenantId) + + // Update the property bag + if len(propertyBag) > 0 { + resource.PropertyBag = propertyBag + } else { + resource.PropertyBag = nil + } + + // Invoke the augmentConversionForDelegatedResource interface (if implemented) to customize the conversion + var resourceAsAny any = resource + if augmentedResource, ok := resourceAsAny.(augmentConversionForDelegatedResource); ok { + err := augmentedResource.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_DelegatedResource populates the provided destination DelegatedResource from our DelegatedResource +func (resource *DelegatedResource) AssignProperties_To_DelegatedResource(destination *storage.DelegatedResource) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(resource.PropertyBag) + + // Location + destination.Location = genruntime.ClonePointerToString(resource.Location) + + // ReferralResource + destination.ReferralResource = genruntime.ClonePointerToString(resource.ReferralResource) + + // ResourceReference + if resource.ResourceReference != nil { + resourceReference := resource.ResourceReference.Copy() + destination.ResourceReference = &resourceReference + } else { + destination.ResourceReference = nil + } + + // TenantId + destination.TenantId = genruntime.ClonePointerToString(resource.TenantId) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForDelegatedResource interface (if implemented) to customize the conversion + var resourceAsAny any = resource + if augmentedResource, ok := resourceAsAny.(augmentConversionForDelegatedResource); ok { + err := augmentedResource.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +// Storage version of v1api20231001.DelegatedResource_STATUS +// Delegated resource properties - internal use only. +type DelegatedResource_STATUS struct { + Location *string `json:"location,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + ReferralResource *string `json:"referralResource,omitempty"` + ResourceId *string `json:"resourceId,omitempty"` + TenantId *string `json:"tenantId,omitempty"` +} + +// AssignProperties_From_DelegatedResource_STATUS populates our DelegatedResource_STATUS from the provided source DelegatedResource_STATUS +func (resource *DelegatedResource_STATUS) AssignProperties_From_DelegatedResource_STATUS(source *storage.DelegatedResource_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // Location + resource.Location = genruntime.ClonePointerToString(source.Location) + + // ReferralResource + resource.ReferralResource = genruntime.ClonePointerToString(source.ReferralResource) + + // ResourceId + resource.ResourceId = genruntime.ClonePointerToString(source.ResourceId) + + // TenantId + resource.TenantId = genruntime.ClonePointerToString(source.TenantId) + + // Update the property bag + if len(propertyBag) > 0 { + resource.PropertyBag = propertyBag + } else { + resource.PropertyBag = nil + } + + // Invoke the augmentConversionForDelegatedResource_STATUS interface (if implemented) to customize the conversion + var resourceAsAny any = resource + if augmentedResource, ok := resourceAsAny.(augmentConversionForDelegatedResource_STATUS); ok { + err := augmentedResource.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_DelegatedResource_STATUS populates the provided destination DelegatedResource_STATUS from our DelegatedResource_STATUS +func (resource *DelegatedResource_STATUS) AssignProperties_To_DelegatedResource_STATUS(destination *storage.DelegatedResource_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(resource.PropertyBag) + + // Location + destination.Location = genruntime.ClonePointerToString(resource.Location) + + // ReferralResource + destination.ReferralResource = genruntime.ClonePointerToString(resource.ReferralResource) + + // ResourceId + destination.ResourceId = genruntime.ClonePointerToString(resource.ResourceId) + + // TenantId + destination.TenantId = genruntime.ClonePointerToString(resource.TenantId) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForDelegatedResource_STATUS interface (if implemented) to customize the conversion + var resourceAsAny any = resource + if augmentedResource, ok := resourceAsAny.(augmentConversionForDelegatedResource_STATUS); ok { + err := augmentedResource.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +// Storage version of v1api20231001.IstioServiceMesh +// Istio service mesh configuration. +type IstioServiceMesh struct { + CertificateAuthority *IstioCertificateAuthority `json:"certificateAuthority,omitempty"` + Components *IstioComponents `json:"components,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Revisions []string `json:"revisions,omitempty"` +} + +// AssignProperties_From_IstioServiceMesh populates our IstioServiceMesh from the provided source IstioServiceMesh +func (mesh *IstioServiceMesh) AssignProperties_From_IstioServiceMesh(source *storage.IstioServiceMesh) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // CertificateAuthority + if source.CertificateAuthority != nil { + var certificateAuthority IstioCertificateAuthority + err := certificateAuthority.AssignProperties_From_IstioCertificateAuthority(source.CertificateAuthority) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_IstioCertificateAuthority() to populate field CertificateAuthority") + } + mesh.CertificateAuthority = &certificateAuthority + } else { + mesh.CertificateAuthority = nil + } + + // Components + if source.Components != nil { + var component IstioComponents + err := component.AssignProperties_From_IstioComponents(source.Components) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_IstioComponents() to populate field Components") + } + mesh.Components = &component + } else { + mesh.Components = nil + } + + // Revisions + mesh.Revisions = genruntime.CloneSliceOfString(source.Revisions) + + // Update the property bag + if len(propertyBag) > 0 { + mesh.PropertyBag = propertyBag + } else { + mesh.PropertyBag = nil + } + + // Invoke the augmentConversionForIstioServiceMesh interface (if implemented) to customize the conversion + var meshAsAny any = mesh + if augmentedMesh, ok := meshAsAny.(augmentConversionForIstioServiceMesh); ok { + err := augmentedMesh.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_IstioServiceMesh populates the provided destination IstioServiceMesh from our IstioServiceMesh +func (mesh *IstioServiceMesh) AssignProperties_To_IstioServiceMesh(destination *storage.IstioServiceMesh) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(mesh.PropertyBag) + + // CertificateAuthority + if mesh.CertificateAuthority != nil { + var certificateAuthority storage.IstioCertificateAuthority + err := mesh.CertificateAuthority.AssignProperties_To_IstioCertificateAuthority(&certificateAuthority) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_IstioCertificateAuthority() to populate field CertificateAuthority") + } + destination.CertificateAuthority = &certificateAuthority + } else { + destination.CertificateAuthority = nil + } + + // Components + if mesh.Components != nil { + var component storage.IstioComponents + err := mesh.Components.AssignProperties_To_IstioComponents(&component) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_IstioComponents() to populate field Components") + } + destination.Components = &component + } else { + destination.Components = nil + } + + // Revisions + destination.Revisions = genruntime.CloneSliceOfString(mesh.Revisions) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForIstioServiceMesh interface (if implemented) to customize the conversion + var meshAsAny any = mesh + if augmentedMesh, ok := meshAsAny.(augmentConversionForIstioServiceMesh); ok { + err := augmentedMesh.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +// Storage version of v1api20231001.IstioServiceMesh_STATUS +// Istio service mesh configuration. +type IstioServiceMesh_STATUS struct { + CertificateAuthority *IstioCertificateAuthority_STATUS `json:"certificateAuthority,omitempty"` + Components *IstioComponents_STATUS `json:"components,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Revisions []string `json:"revisions,omitempty"` +} + +// AssignProperties_From_IstioServiceMesh_STATUS populates our IstioServiceMesh_STATUS from the provided source IstioServiceMesh_STATUS +func (mesh *IstioServiceMesh_STATUS) AssignProperties_From_IstioServiceMesh_STATUS(source *storage.IstioServiceMesh_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // CertificateAuthority + if source.CertificateAuthority != nil { + var certificateAuthority IstioCertificateAuthority_STATUS + err := certificateAuthority.AssignProperties_From_IstioCertificateAuthority_STATUS(source.CertificateAuthority) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_IstioCertificateAuthority_STATUS() to populate field CertificateAuthority") + } + mesh.CertificateAuthority = &certificateAuthority + } else { + mesh.CertificateAuthority = nil + } + + // Components + if source.Components != nil { + var component IstioComponents_STATUS + err := component.AssignProperties_From_IstioComponents_STATUS(source.Components) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_IstioComponents_STATUS() to populate field Components") + } + mesh.Components = &component + } else { + mesh.Components = nil + } + + // Revisions + mesh.Revisions = genruntime.CloneSliceOfString(source.Revisions) + + // Update the property bag + if len(propertyBag) > 0 { + mesh.PropertyBag = propertyBag + } else { + mesh.PropertyBag = nil + } + + // Invoke the augmentConversionForIstioServiceMesh_STATUS interface (if implemented) to customize the conversion + var meshAsAny any = mesh + if augmentedMesh, ok := meshAsAny.(augmentConversionForIstioServiceMesh_STATUS); ok { + err := augmentedMesh.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_IstioServiceMesh_STATUS populates the provided destination IstioServiceMesh_STATUS from our IstioServiceMesh_STATUS +func (mesh *IstioServiceMesh_STATUS) AssignProperties_To_IstioServiceMesh_STATUS(destination *storage.IstioServiceMesh_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(mesh.PropertyBag) + + // CertificateAuthority + if mesh.CertificateAuthority != nil { + var certificateAuthority storage.IstioCertificateAuthority_STATUS + err := mesh.CertificateAuthority.AssignProperties_To_IstioCertificateAuthority_STATUS(&certificateAuthority) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_IstioCertificateAuthority_STATUS() to populate field CertificateAuthority") + } + destination.CertificateAuthority = &certificateAuthority + } else { + destination.CertificateAuthority = nil + } + + // Components + if mesh.Components != nil { + var component storage.IstioComponents_STATUS + err := mesh.Components.AssignProperties_To_IstioComponents_STATUS(&component) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_IstioComponents_STATUS() to populate field Components") + } + destination.Components = &component + } else { + destination.Components = nil + } + + // Revisions + destination.Revisions = genruntime.CloneSliceOfString(mesh.Revisions) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForIstioServiceMesh_STATUS interface (if implemented) to customize the conversion + var meshAsAny any = mesh + if augmentedMesh, ok := meshAsAny.(augmentConversionForIstioServiceMesh_STATUS); ok { + err := augmentedMesh.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +// Storage version of v1api20231001.ManagedClusterAzureMonitorProfileMetrics +// Metrics profile for the Azure Monitor managed service for Prometheus addon. Collect out-of-the-box Kubernetes +// infrastructure metrics to send to an Azure Monitor Workspace and configure additional scraping for custom targets. See +// aka.ms/AzureManagedPrometheus for an overview. +type ManagedClusterAzureMonitorProfileMetrics struct { + Enabled *bool `json:"enabled,omitempty"` + KubeStateMetrics *ManagedClusterAzureMonitorProfileKubeStateMetrics `json:"kubeStateMetrics,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// AssignProperties_From_ManagedClusterAzureMonitorProfileMetrics populates our ManagedClusterAzureMonitorProfileMetrics from the provided source ManagedClusterAzureMonitorProfileMetrics +func (metrics *ManagedClusterAzureMonitorProfileMetrics) AssignProperties_From_ManagedClusterAzureMonitorProfileMetrics(source *storage.ManagedClusterAzureMonitorProfileMetrics) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + metrics.Enabled = &enabled + } else { + metrics.Enabled = nil + } + + // KubeStateMetrics + if source.KubeStateMetrics != nil { + var kubeStateMetric ManagedClusterAzureMonitorProfileKubeStateMetrics + err := kubeStateMetric.AssignProperties_From_ManagedClusterAzureMonitorProfileKubeStateMetrics(source.KubeStateMetrics) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterAzureMonitorProfileKubeStateMetrics() to populate field KubeStateMetrics") + } + metrics.KubeStateMetrics = &kubeStateMetric + } else { + metrics.KubeStateMetrics = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + metrics.PropertyBag = propertyBag + } else { + metrics.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterAzureMonitorProfileMetrics interface (if implemented) to customize the conversion + var metricsAsAny any = metrics + if augmentedMetrics, ok := metricsAsAny.(augmentConversionForManagedClusterAzureMonitorProfileMetrics); ok { + err := augmentedMetrics.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterAzureMonitorProfileMetrics populates the provided destination ManagedClusterAzureMonitorProfileMetrics from our ManagedClusterAzureMonitorProfileMetrics +func (metrics *ManagedClusterAzureMonitorProfileMetrics) AssignProperties_To_ManagedClusterAzureMonitorProfileMetrics(destination *storage.ManagedClusterAzureMonitorProfileMetrics) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(metrics.PropertyBag) + + // Enabled + if metrics.Enabled != nil { + enabled := *metrics.Enabled + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // KubeStateMetrics + if metrics.KubeStateMetrics != nil { + var kubeStateMetric storage.ManagedClusterAzureMonitorProfileKubeStateMetrics + err := metrics.KubeStateMetrics.AssignProperties_To_ManagedClusterAzureMonitorProfileKubeStateMetrics(&kubeStateMetric) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterAzureMonitorProfileKubeStateMetrics() to populate field KubeStateMetrics") + } + destination.KubeStateMetrics = &kubeStateMetric + } else { + destination.KubeStateMetrics = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterAzureMonitorProfileMetrics interface (if implemented) to customize the conversion + var metricsAsAny any = metrics + if augmentedMetrics, ok := metricsAsAny.(augmentConversionForManagedClusterAzureMonitorProfileMetrics); ok { + err := augmentedMetrics.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +// Storage version of v1api20231001.ManagedClusterAzureMonitorProfileMetrics_STATUS +// Metrics profile for the Azure Monitor managed service for Prometheus addon. Collect out-of-the-box Kubernetes +// infrastructure metrics to send to an Azure Monitor Workspace and configure additional scraping for custom targets. See +// aka.ms/AzureManagedPrometheus for an overview. +type ManagedClusterAzureMonitorProfileMetrics_STATUS struct { + Enabled *bool `json:"enabled,omitempty"` + KubeStateMetrics *ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS `json:"kubeStateMetrics,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// AssignProperties_From_ManagedClusterAzureMonitorProfileMetrics_STATUS populates our ManagedClusterAzureMonitorProfileMetrics_STATUS from the provided source ManagedClusterAzureMonitorProfileMetrics_STATUS +func (metrics *ManagedClusterAzureMonitorProfileMetrics_STATUS) AssignProperties_From_ManagedClusterAzureMonitorProfileMetrics_STATUS(source *storage.ManagedClusterAzureMonitorProfileMetrics_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + metrics.Enabled = &enabled + } else { + metrics.Enabled = nil + } + + // KubeStateMetrics + if source.KubeStateMetrics != nil { + var kubeStateMetric ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS + err := kubeStateMetric.AssignProperties_From_ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS(source.KubeStateMetrics) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS() to populate field KubeStateMetrics") + } + metrics.KubeStateMetrics = &kubeStateMetric + } else { + metrics.KubeStateMetrics = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + metrics.PropertyBag = propertyBag + } else { + metrics.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterAzureMonitorProfileMetrics_STATUS interface (if implemented) to customize the conversion + var metricsAsAny any = metrics + if augmentedMetrics, ok := metricsAsAny.(augmentConversionForManagedClusterAzureMonitorProfileMetrics_STATUS); ok { + err := augmentedMetrics.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterAzureMonitorProfileMetrics_STATUS populates the provided destination ManagedClusterAzureMonitorProfileMetrics_STATUS from our ManagedClusterAzureMonitorProfileMetrics_STATUS +func (metrics *ManagedClusterAzureMonitorProfileMetrics_STATUS) AssignProperties_To_ManagedClusterAzureMonitorProfileMetrics_STATUS(destination *storage.ManagedClusterAzureMonitorProfileMetrics_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(metrics.PropertyBag) + + // Enabled + if metrics.Enabled != nil { + enabled := *metrics.Enabled + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // KubeStateMetrics + if metrics.KubeStateMetrics != nil { + var kubeStateMetric storage.ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS + err := metrics.KubeStateMetrics.AssignProperties_To_ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS(&kubeStateMetric) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS() to populate field KubeStateMetrics") + } + destination.KubeStateMetrics = &kubeStateMetric + } else { + destination.KubeStateMetrics = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterAzureMonitorProfileMetrics_STATUS interface (if implemented) to customize the conversion + var metricsAsAny any = metrics + if augmentedMetrics, ok := metricsAsAny.(augmentConversionForManagedClusterAzureMonitorProfileMetrics_STATUS); ok { + err := augmentedMetrics.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +// Storage version of v1api20231001.ManagedClusterIdentity_UserAssignedIdentities_STATUS +type ManagedClusterIdentity_UserAssignedIdentities_STATUS struct { + ClientId *string `json:"clientId,omitempty"` + PrincipalId *string `json:"principalId,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// AssignProperties_From_ManagedClusterIdentity_UserAssignedIdentities_STATUS populates our ManagedClusterIdentity_UserAssignedIdentities_STATUS from the provided source ManagedClusterIdentity_UserAssignedIdentities_STATUS +func (identities *ManagedClusterIdentity_UserAssignedIdentities_STATUS) AssignProperties_From_ManagedClusterIdentity_UserAssignedIdentities_STATUS(source *storage.ManagedClusterIdentity_UserAssignedIdentities_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // ClientId + identities.ClientId = genruntime.ClonePointerToString(source.ClientId) + + // PrincipalId + identities.PrincipalId = genruntime.ClonePointerToString(source.PrincipalId) + + // Update the property bag + if len(propertyBag) > 0 { + identities.PropertyBag = propertyBag + } else { + identities.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterIdentity_UserAssignedIdentities_STATUS interface (if implemented) to customize the conversion + var identitiesAsAny any = identities + if augmentedIdentities, ok := identitiesAsAny.(augmentConversionForManagedClusterIdentity_UserAssignedIdentities_STATUS); ok { + err := augmentedIdentities.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterIdentity_UserAssignedIdentities_STATUS populates the provided destination ManagedClusterIdentity_UserAssignedIdentities_STATUS from our ManagedClusterIdentity_UserAssignedIdentities_STATUS +func (identities *ManagedClusterIdentity_UserAssignedIdentities_STATUS) AssignProperties_To_ManagedClusterIdentity_UserAssignedIdentities_STATUS(destination *storage.ManagedClusterIdentity_UserAssignedIdentities_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(identities.PropertyBag) + + // ClientId + destination.ClientId = genruntime.ClonePointerToString(identities.ClientId) + + // PrincipalId + destination.PrincipalId = genruntime.ClonePointerToString(identities.PrincipalId) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterIdentity_UserAssignedIdentities_STATUS interface (if implemented) to customize the conversion + var identitiesAsAny any = identities + if augmentedIdentities, ok := identitiesAsAny.(augmentConversionForManagedClusterIdentity_UserAssignedIdentities_STATUS); ok { + err := augmentedIdentities.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +// Storage version of v1api20231001.ManagedClusterLoadBalancerProfile +// Profile of the managed cluster load balancer. +type ManagedClusterLoadBalancerProfile struct { + AllocatedOutboundPorts *int `json:"allocatedOutboundPorts,omitempty"` + BackendPoolType *string `json:"backendPoolType,omitempty"` + EffectiveOutboundIPs []ResourceReference `json:"effectiveOutboundIPs,omitempty"` + EnableMultipleStandardLoadBalancers *bool `json:"enableMultipleStandardLoadBalancers,omitempty"` + IdleTimeoutInMinutes *int `json:"idleTimeoutInMinutes,omitempty"` + ManagedOutboundIPs *ManagedClusterLoadBalancerProfile_ManagedOutboundIPs `json:"managedOutboundIPs,omitempty"` + OutboundIPPrefixes *ManagedClusterLoadBalancerProfile_OutboundIPPrefixes `json:"outboundIPPrefixes,omitempty"` + OutboundIPs *ManagedClusterLoadBalancerProfile_OutboundIPs `json:"outboundIPs,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// AssignProperties_From_ManagedClusterLoadBalancerProfile populates our ManagedClusterLoadBalancerProfile from the provided source ManagedClusterLoadBalancerProfile +func (profile *ManagedClusterLoadBalancerProfile) AssignProperties_From_ManagedClusterLoadBalancerProfile(source *storage.ManagedClusterLoadBalancerProfile) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // AllocatedOutboundPorts + profile.AllocatedOutboundPorts = genruntime.ClonePointerToInt(source.AllocatedOutboundPorts) + + // BackendPoolType + profile.BackendPoolType = genruntime.ClonePointerToString(source.BackendPoolType) + + // EffectiveOutboundIPs + if source.EffectiveOutboundIPs != nil { + effectiveOutboundIPList := make([]ResourceReference, len(source.EffectiveOutboundIPs)) + for effectiveOutboundIPIndex, effectiveOutboundIPItem := range source.EffectiveOutboundIPs { + // Shadow the loop variable to avoid aliasing + effectiveOutboundIPItem := effectiveOutboundIPItem + var effectiveOutboundIP ResourceReference + err := effectiveOutboundIP.AssignProperties_From_ResourceReference(&effectiveOutboundIPItem) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ResourceReference() to populate field EffectiveOutboundIPs") + } + effectiveOutboundIPList[effectiveOutboundIPIndex] = effectiveOutboundIP + } + profile.EffectiveOutboundIPs = effectiveOutboundIPList + } else { + profile.EffectiveOutboundIPs = nil + } + + // EnableMultipleStandardLoadBalancers + if source.EnableMultipleStandardLoadBalancers != nil { + enableMultipleStandardLoadBalancer := *source.EnableMultipleStandardLoadBalancers + profile.EnableMultipleStandardLoadBalancers = &enableMultipleStandardLoadBalancer + } else { + profile.EnableMultipleStandardLoadBalancers = nil + } + + // IdleTimeoutInMinutes + profile.IdleTimeoutInMinutes = genruntime.ClonePointerToInt(source.IdleTimeoutInMinutes) + + // ManagedOutboundIPs + if source.ManagedOutboundIPs != nil { + var managedOutboundIP ManagedClusterLoadBalancerProfile_ManagedOutboundIPs + err := managedOutboundIP.AssignProperties_From_ManagedClusterLoadBalancerProfile_ManagedOutboundIPs(source.ManagedOutboundIPs) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterLoadBalancerProfile_ManagedOutboundIPs() to populate field ManagedOutboundIPs") + } + profile.ManagedOutboundIPs = &managedOutboundIP + } else { + profile.ManagedOutboundIPs = nil + } + + // OutboundIPPrefixes + if source.OutboundIPPrefixes != nil { + var outboundIPPrefix ManagedClusterLoadBalancerProfile_OutboundIPPrefixes + err := outboundIPPrefix.AssignProperties_From_ManagedClusterLoadBalancerProfile_OutboundIPPrefixes(source.OutboundIPPrefixes) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterLoadBalancerProfile_OutboundIPPrefixes() to populate field OutboundIPPrefixes") + } + profile.OutboundIPPrefixes = &outboundIPPrefix + } else { + profile.OutboundIPPrefixes = nil + } + + // OutboundIPs + if source.OutboundIPs != nil { + var outboundIP ManagedClusterLoadBalancerProfile_OutboundIPs + err := outboundIP.AssignProperties_From_ManagedClusterLoadBalancerProfile_OutboundIPs(source.OutboundIPs) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterLoadBalancerProfile_OutboundIPs() to populate field OutboundIPs") + } + profile.OutboundIPs = &outboundIP + } else { + profile.OutboundIPs = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + profile.PropertyBag = propertyBag + } else { + profile.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterLoadBalancerProfile interface (if implemented) to customize the conversion + var profileAsAny any = profile + if augmentedProfile, ok := profileAsAny.(augmentConversionForManagedClusterLoadBalancerProfile); ok { + err := augmentedProfile.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterLoadBalancerProfile populates the provided destination ManagedClusterLoadBalancerProfile from our ManagedClusterLoadBalancerProfile +func (profile *ManagedClusterLoadBalancerProfile) AssignProperties_To_ManagedClusterLoadBalancerProfile(destination *storage.ManagedClusterLoadBalancerProfile) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) + + // AllocatedOutboundPorts + destination.AllocatedOutboundPorts = genruntime.ClonePointerToInt(profile.AllocatedOutboundPorts) + + // BackendPoolType + destination.BackendPoolType = genruntime.ClonePointerToString(profile.BackendPoolType) + + // EffectiveOutboundIPs + if profile.EffectiveOutboundIPs != nil { + effectiveOutboundIPList := make([]storage.ResourceReference, len(profile.EffectiveOutboundIPs)) + for effectiveOutboundIPIndex, effectiveOutboundIPItem := range profile.EffectiveOutboundIPs { + // Shadow the loop variable to avoid aliasing + effectiveOutboundIPItem := effectiveOutboundIPItem + var effectiveOutboundIP storage.ResourceReference + err := effectiveOutboundIPItem.AssignProperties_To_ResourceReference(&effectiveOutboundIP) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ResourceReference() to populate field EffectiveOutboundIPs") + } + effectiveOutboundIPList[effectiveOutboundIPIndex] = effectiveOutboundIP + } + destination.EffectiveOutboundIPs = effectiveOutboundIPList + } else { + destination.EffectiveOutboundIPs = nil + } + + // EnableMultipleStandardLoadBalancers + if profile.EnableMultipleStandardLoadBalancers != nil { + enableMultipleStandardLoadBalancer := *profile.EnableMultipleStandardLoadBalancers + destination.EnableMultipleStandardLoadBalancers = &enableMultipleStandardLoadBalancer + } else { + destination.EnableMultipleStandardLoadBalancers = nil + } + + // IdleTimeoutInMinutes + destination.IdleTimeoutInMinutes = genruntime.ClonePointerToInt(profile.IdleTimeoutInMinutes) + + // ManagedOutboundIPs + if profile.ManagedOutboundIPs != nil { + var managedOutboundIP storage.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs + err := profile.ManagedOutboundIPs.AssignProperties_To_ManagedClusterLoadBalancerProfile_ManagedOutboundIPs(&managedOutboundIP) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterLoadBalancerProfile_ManagedOutboundIPs() to populate field ManagedOutboundIPs") + } + destination.ManagedOutboundIPs = &managedOutboundIP + } else { + destination.ManagedOutboundIPs = nil + } + + // OutboundIPPrefixes + if profile.OutboundIPPrefixes != nil { + var outboundIPPrefix storage.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes + err := profile.OutboundIPPrefixes.AssignProperties_To_ManagedClusterLoadBalancerProfile_OutboundIPPrefixes(&outboundIPPrefix) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterLoadBalancerProfile_OutboundIPPrefixes() to populate field OutboundIPPrefixes") + } + destination.OutboundIPPrefixes = &outboundIPPrefix + } else { + destination.OutboundIPPrefixes = nil + } + + // OutboundIPs + if profile.OutboundIPs != nil { + var outboundIP storage.ManagedClusterLoadBalancerProfile_OutboundIPs + err := profile.OutboundIPs.AssignProperties_To_ManagedClusterLoadBalancerProfile_OutboundIPs(&outboundIP) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterLoadBalancerProfile_OutboundIPs() to populate field OutboundIPs") + } + destination.OutboundIPs = &outboundIP + } else { + destination.OutboundIPs = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterLoadBalancerProfile interface (if implemented) to customize the conversion + var profileAsAny any = profile + if augmentedProfile, ok := profileAsAny.(augmentConversionForManagedClusterLoadBalancerProfile); ok { + err := augmentedProfile.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +// Storage version of v1api20231001.ManagedClusterLoadBalancerProfile_STATUS +// Profile of the managed cluster load balancer. +type ManagedClusterLoadBalancerProfile_STATUS struct { + AllocatedOutboundPorts *int `json:"allocatedOutboundPorts,omitempty"` + BackendPoolType *string `json:"backendPoolType,omitempty"` + EffectiveOutboundIPs []ResourceReference_STATUS `json:"effectiveOutboundIPs,omitempty"` + EnableMultipleStandardLoadBalancers *bool `json:"enableMultipleStandardLoadBalancers,omitempty"` + IdleTimeoutInMinutes *int `json:"idleTimeoutInMinutes,omitempty"` + ManagedOutboundIPs *ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS `json:"managedOutboundIPs,omitempty"` + OutboundIPPrefixes *ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS `json:"outboundIPPrefixes,omitempty"` + OutboundIPs *ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS `json:"outboundIPs,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// AssignProperties_From_ManagedClusterLoadBalancerProfile_STATUS populates our ManagedClusterLoadBalancerProfile_STATUS from the provided source ManagedClusterLoadBalancerProfile_STATUS +func (profile *ManagedClusterLoadBalancerProfile_STATUS) AssignProperties_From_ManagedClusterLoadBalancerProfile_STATUS(source *storage.ManagedClusterLoadBalancerProfile_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // AllocatedOutboundPorts + profile.AllocatedOutboundPorts = genruntime.ClonePointerToInt(source.AllocatedOutboundPorts) + + // BackendPoolType + profile.BackendPoolType = genruntime.ClonePointerToString(source.BackendPoolType) + + // EffectiveOutboundIPs + if source.EffectiveOutboundIPs != nil { + effectiveOutboundIPList := make([]ResourceReference_STATUS, len(source.EffectiveOutboundIPs)) + for effectiveOutboundIPIndex, effectiveOutboundIPItem := range source.EffectiveOutboundIPs { + // Shadow the loop variable to avoid aliasing + effectiveOutboundIPItem := effectiveOutboundIPItem + var effectiveOutboundIP ResourceReference_STATUS + err := effectiveOutboundIP.AssignProperties_From_ResourceReference_STATUS(&effectiveOutboundIPItem) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ResourceReference_STATUS() to populate field EffectiveOutboundIPs") + } + effectiveOutboundIPList[effectiveOutboundIPIndex] = effectiveOutboundIP + } + profile.EffectiveOutboundIPs = effectiveOutboundIPList + } else { + profile.EffectiveOutboundIPs = nil + } + + // EnableMultipleStandardLoadBalancers + if source.EnableMultipleStandardLoadBalancers != nil { + enableMultipleStandardLoadBalancer := *source.EnableMultipleStandardLoadBalancers + profile.EnableMultipleStandardLoadBalancers = &enableMultipleStandardLoadBalancer + } else { + profile.EnableMultipleStandardLoadBalancers = nil + } + + // IdleTimeoutInMinutes + profile.IdleTimeoutInMinutes = genruntime.ClonePointerToInt(source.IdleTimeoutInMinutes) + + // ManagedOutboundIPs + if source.ManagedOutboundIPs != nil { + var managedOutboundIP ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS + err := managedOutboundIP.AssignProperties_From_ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS(source.ManagedOutboundIPs) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS() to populate field ManagedOutboundIPs") + } + profile.ManagedOutboundIPs = &managedOutboundIP + } else { + profile.ManagedOutboundIPs = nil + } + + // OutboundIPPrefixes + if source.OutboundIPPrefixes != nil { + var outboundIPPrefix ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS + err := outboundIPPrefix.AssignProperties_From_ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS(source.OutboundIPPrefixes) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS() to populate field OutboundIPPrefixes") + } + profile.OutboundIPPrefixes = &outboundIPPrefix + } else { + profile.OutboundIPPrefixes = nil + } + + // OutboundIPs + if source.OutboundIPs != nil { + var outboundIP ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS + err := outboundIP.AssignProperties_From_ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS(source.OutboundIPs) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS() to populate field OutboundIPs") + } + profile.OutboundIPs = &outboundIP + } else { + profile.OutboundIPs = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + profile.PropertyBag = propertyBag + } else { + profile.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterLoadBalancerProfile_STATUS interface (if implemented) to customize the conversion + var profileAsAny any = profile + if augmentedProfile, ok := profileAsAny.(augmentConversionForManagedClusterLoadBalancerProfile_STATUS); ok { + err := augmentedProfile.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterLoadBalancerProfile_STATUS populates the provided destination ManagedClusterLoadBalancerProfile_STATUS from our ManagedClusterLoadBalancerProfile_STATUS +func (profile *ManagedClusterLoadBalancerProfile_STATUS) AssignProperties_To_ManagedClusterLoadBalancerProfile_STATUS(destination *storage.ManagedClusterLoadBalancerProfile_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) + + // AllocatedOutboundPorts + destination.AllocatedOutboundPorts = genruntime.ClonePointerToInt(profile.AllocatedOutboundPorts) + + // BackendPoolType + destination.BackendPoolType = genruntime.ClonePointerToString(profile.BackendPoolType) + + // EffectiveOutboundIPs + if profile.EffectiveOutboundIPs != nil { + effectiveOutboundIPList := make([]storage.ResourceReference_STATUS, len(profile.EffectiveOutboundIPs)) + for effectiveOutboundIPIndex, effectiveOutboundIPItem := range profile.EffectiveOutboundIPs { + // Shadow the loop variable to avoid aliasing + effectiveOutboundIPItem := effectiveOutboundIPItem + var effectiveOutboundIP storage.ResourceReference_STATUS + err := effectiveOutboundIPItem.AssignProperties_To_ResourceReference_STATUS(&effectiveOutboundIP) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ResourceReference_STATUS() to populate field EffectiveOutboundIPs") + } + effectiveOutboundIPList[effectiveOutboundIPIndex] = effectiveOutboundIP + } + destination.EffectiveOutboundIPs = effectiveOutboundIPList + } else { + destination.EffectiveOutboundIPs = nil + } + + // EnableMultipleStandardLoadBalancers + if profile.EnableMultipleStandardLoadBalancers != nil { + enableMultipleStandardLoadBalancer := *profile.EnableMultipleStandardLoadBalancers + destination.EnableMultipleStandardLoadBalancers = &enableMultipleStandardLoadBalancer + } else { + destination.EnableMultipleStandardLoadBalancers = nil + } + + // IdleTimeoutInMinutes + destination.IdleTimeoutInMinutes = genruntime.ClonePointerToInt(profile.IdleTimeoutInMinutes) + + // ManagedOutboundIPs + if profile.ManagedOutboundIPs != nil { + var managedOutboundIP storage.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS + err := profile.ManagedOutboundIPs.AssignProperties_To_ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS(&managedOutboundIP) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS() to populate field ManagedOutboundIPs") + } + destination.ManagedOutboundIPs = &managedOutboundIP + } else { + destination.ManagedOutboundIPs = nil + } + + // OutboundIPPrefixes + if profile.OutboundIPPrefixes != nil { + var outboundIPPrefix storage.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS + err := profile.OutboundIPPrefixes.AssignProperties_To_ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS(&outboundIPPrefix) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS() to populate field OutboundIPPrefixes") + } + destination.OutboundIPPrefixes = &outboundIPPrefix + } else { + destination.OutboundIPPrefixes = nil + } + + // OutboundIPs + if profile.OutboundIPs != nil { + var outboundIP storage.ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS + err := profile.OutboundIPs.AssignProperties_To_ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS(&outboundIP) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS() to populate field OutboundIPs") + } + destination.OutboundIPs = &outboundIP + } else { + destination.OutboundIPs = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterLoadBalancerProfile_STATUS interface (if implemented) to customize the conversion + var profileAsAny any = profile + if augmentedProfile, ok := profileAsAny.(augmentConversionForManagedClusterLoadBalancerProfile_STATUS); ok { + err := augmentedProfile.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +// Storage version of v1api20231001.ManagedClusterNATGatewayProfile +// Profile of the managed cluster NAT gateway. +type ManagedClusterNATGatewayProfile struct { + EffectiveOutboundIPs []ResourceReference `json:"effectiveOutboundIPs,omitempty"` + IdleTimeoutInMinutes *int `json:"idleTimeoutInMinutes,omitempty"` + ManagedOutboundIPProfile *ManagedClusterManagedOutboundIPProfile `json:"managedOutboundIPProfile,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// AssignProperties_From_ManagedClusterNATGatewayProfile populates our ManagedClusterNATGatewayProfile from the provided source ManagedClusterNATGatewayProfile +func (profile *ManagedClusterNATGatewayProfile) AssignProperties_From_ManagedClusterNATGatewayProfile(source *storage.ManagedClusterNATGatewayProfile) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // EffectiveOutboundIPs + if source.EffectiveOutboundIPs != nil { + effectiveOutboundIPList := make([]ResourceReference, len(source.EffectiveOutboundIPs)) + for effectiveOutboundIPIndex, effectiveOutboundIPItem := range source.EffectiveOutboundIPs { + // Shadow the loop variable to avoid aliasing + effectiveOutboundIPItem := effectiveOutboundIPItem + var effectiveOutboundIP ResourceReference + err := effectiveOutboundIP.AssignProperties_From_ResourceReference(&effectiveOutboundIPItem) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ResourceReference() to populate field EffectiveOutboundIPs") + } + effectiveOutboundIPList[effectiveOutboundIPIndex] = effectiveOutboundIP + } + profile.EffectiveOutboundIPs = effectiveOutboundIPList + } else { + profile.EffectiveOutboundIPs = nil + } + + // IdleTimeoutInMinutes + profile.IdleTimeoutInMinutes = genruntime.ClonePointerToInt(source.IdleTimeoutInMinutes) + + // ManagedOutboundIPProfile + if source.ManagedOutboundIPProfile != nil { + var managedOutboundIPProfile ManagedClusterManagedOutboundIPProfile + err := managedOutboundIPProfile.AssignProperties_From_ManagedClusterManagedOutboundIPProfile(source.ManagedOutboundIPProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterManagedOutboundIPProfile() to populate field ManagedOutboundIPProfile") + } + profile.ManagedOutboundIPProfile = &managedOutboundIPProfile + } else { + profile.ManagedOutboundIPProfile = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + profile.PropertyBag = propertyBag + } else { + profile.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterNATGatewayProfile interface (if implemented) to customize the conversion + var profileAsAny any = profile + if augmentedProfile, ok := profileAsAny.(augmentConversionForManagedClusterNATGatewayProfile); ok { + err := augmentedProfile.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterNATGatewayProfile populates the provided destination ManagedClusterNATGatewayProfile from our ManagedClusterNATGatewayProfile +func (profile *ManagedClusterNATGatewayProfile) AssignProperties_To_ManagedClusterNATGatewayProfile(destination *storage.ManagedClusterNATGatewayProfile) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) + + // EffectiveOutboundIPs + if profile.EffectiveOutboundIPs != nil { + effectiveOutboundIPList := make([]storage.ResourceReference, len(profile.EffectiveOutboundIPs)) + for effectiveOutboundIPIndex, effectiveOutboundIPItem := range profile.EffectiveOutboundIPs { + // Shadow the loop variable to avoid aliasing + effectiveOutboundIPItem := effectiveOutboundIPItem + var effectiveOutboundIP storage.ResourceReference + err := effectiveOutboundIPItem.AssignProperties_To_ResourceReference(&effectiveOutboundIP) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ResourceReference() to populate field EffectiveOutboundIPs") + } + effectiveOutboundIPList[effectiveOutboundIPIndex] = effectiveOutboundIP + } + destination.EffectiveOutboundIPs = effectiveOutboundIPList + } else { + destination.EffectiveOutboundIPs = nil + } + + // IdleTimeoutInMinutes + destination.IdleTimeoutInMinutes = genruntime.ClonePointerToInt(profile.IdleTimeoutInMinutes) + + // ManagedOutboundIPProfile + if profile.ManagedOutboundIPProfile != nil { + var managedOutboundIPProfile storage.ManagedClusterManagedOutboundIPProfile + err := profile.ManagedOutboundIPProfile.AssignProperties_To_ManagedClusterManagedOutboundIPProfile(&managedOutboundIPProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterManagedOutboundIPProfile() to populate field ManagedOutboundIPProfile") + } + destination.ManagedOutboundIPProfile = &managedOutboundIPProfile + } else { + destination.ManagedOutboundIPProfile = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterNATGatewayProfile interface (if implemented) to customize the conversion + var profileAsAny any = profile + if augmentedProfile, ok := profileAsAny.(augmentConversionForManagedClusterNATGatewayProfile); ok { + err := augmentedProfile.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +// Storage version of v1api20231001.ManagedClusterNATGatewayProfile_STATUS +// Profile of the managed cluster NAT gateway. +type ManagedClusterNATGatewayProfile_STATUS struct { + EffectiveOutboundIPs []ResourceReference_STATUS `json:"effectiveOutboundIPs,omitempty"` + IdleTimeoutInMinutes *int `json:"idleTimeoutInMinutes,omitempty"` + ManagedOutboundIPProfile *ManagedClusterManagedOutboundIPProfile_STATUS `json:"managedOutboundIPProfile,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// AssignProperties_From_ManagedClusterNATGatewayProfile_STATUS populates our ManagedClusterNATGatewayProfile_STATUS from the provided source ManagedClusterNATGatewayProfile_STATUS +func (profile *ManagedClusterNATGatewayProfile_STATUS) AssignProperties_From_ManagedClusterNATGatewayProfile_STATUS(source *storage.ManagedClusterNATGatewayProfile_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // EffectiveOutboundIPs + if source.EffectiveOutboundIPs != nil { + effectiveOutboundIPList := make([]ResourceReference_STATUS, len(source.EffectiveOutboundIPs)) + for effectiveOutboundIPIndex, effectiveOutboundIPItem := range source.EffectiveOutboundIPs { + // Shadow the loop variable to avoid aliasing + effectiveOutboundIPItem := effectiveOutboundIPItem + var effectiveOutboundIP ResourceReference_STATUS + err := effectiveOutboundIP.AssignProperties_From_ResourceReference_STATUS(&effectiveOutboundIPItem) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ResourceReference_STATUS() to populate field EffectiveOutboundIPs") + } + effectiveOutboundIPList[effectiveOutboundIPIndex] = effectiveOutboundIP + } + profile.EffectiveOutboundIPs = effectiveOutboundIPList + } else { + profile.EffectiveOutboundIPs = nil + } + + // IdleTimeoutInMinutes + profile.IdleTimeoutInMinutes = genruntime.ClonePointerToInt(source.IdleTimeoutInMinutes) + + // ManagedOutboundIPProfile + if source.ManagedOutboundIPProfile != nil { + var managedOutboundIPProfile ManagedClusterManagedOutboundIPProfile_STATUS + err := managedOutboundIPProfile.AssignProperties_From_ManagedClusterManagedOutboundIPProfile_STATUS(source.ManagedOutboundIPProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterManagedOutboundIPProfile_STATUS() to populate field ManagedOutboundIPProfile") + } + profile.ManagedOutboundIPProfile = &managedOutboundIPProfile + } else { + profile.ManagedOutboundIPProfile = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + profile.PropertyBag = propertyBag + } else { + profile.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterNATGatewayProfile_STATUS interface (if implemented) to customize the conversion + var profileAsAny any = profile + if augmentedProfile, ok := profileAsAny.(augmentConversionForManagedClusterNATGatewayProfile_STATUS); ok { + err := augmentedProfile.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterNATGatewayProfile_STATUS populates the provided destination ManagedClusterNATGatewayProfile_STATUS from our ManagedClusterNATGatewayProfile_STATUS +func (profile *ManagedClusterNATGatewayProfile_STATUS) AssignProperties_To_ManagedClusterNATGatewayProfile_STATUS(destination *storage.ManagedClusterNATGatewayProfile_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) + + // EffectiveOutboundIPs + if profile.EffectiveOutboundIPs != nil { + effectiveOutboundIPList := make([]storage.ResourceReference_STATUS, len(profile.EffectiveOutboundIPs)) + for effectiveOutboundIPIndex, effectiveOutboundIPItem := range profile.EffectiveOutboundIPs { + // Shadow the loop variable to avoid aliasing + effectiveOutboundIPItem := effectiveOutboundIPItem + var effectiveOutboundIP storage.ResourceReference_STATUS + err := effectiveOutboundIPItem.AssignProperties_To_ResourceReference_STATUS(&effectiveOutboundIP) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ResourceReference_STATUS() to populate field EffectiveOutboundIPs") + } + effectiveOutboundIPList[effectiveOutboundIPIndex] = effectiveOutboundIP + } + destination.EffectiveOutboundIPs = effectiveOutboundIPList + } else { + destination.EffectiveOutboundIPs = nil + } + + // IdleTimeoutInMinutes + destination.IdleTimeoutInMinutes = genruntime.ClonePointerToInt(profile.IdleTimeoutInMinutes) + + // ManagedOutboundIPProfile + if profile.ManagedOutboundIPProfile != nil { + var managedOutboundIPProfile storage.ManagedClusterManagedOutboundIPProfile_STATUS + err := profile.ManagedOutboundIPProfile.AssignProperties_To_ManagedClusterManagedOutboundIPProfile_STATUS(&managedOutboundIPProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterManagedOutboundIPProfile_STATUS() to populate field ManagedOutboundIPProfile") + } + destination.ManagedOutboundIPProfile = &managedOutboundIPProfile + } else { + destination.ManagedOutboundIPProfile = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterNATGatewayProfile_STATUS interface (if implemented) to customize the conversion + var profileAsAny any = profile + if augmentedProfile, ok := profileAsAny.(augmentConversionForManagedClusterNATGatewayProfile_STATUS); ok { + err := augmentedProfile.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +// Storage version of v1api20231001.ManagedClusterOperatorConfigMaps +type ManagedClusterOperatorConfigMaps struct { + OIDCIssuerProfile *genruntime.ConfigMapDestination `json:"oidcIssuerProfile,omitempty"` + PrincipalId *genruntime.ConfigMapDestination `json:"principalId,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// AssignProperties_From_ManagedClusterOperatorConfigMaps populates our ManagedClusterOperatorConfigMaps from the provided source ManagedClusterOperatorConfigMaps +func (maps *ManagedClusterOperatorConfigMaps) AssignProperties_From_ManagedClusterOperatorConfigMaps(source *storage.ManagedClusterOperatorConfigMaps) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // OIDCIssuerProfile + if source.OIDCIssuerProfile != nil { + oidcIssuerProfile := source.OIDCIssuerProfile.Copy() + maps.OIDCIssuerProfile = &oidcIssuerProfile + } else { + maps.OIDCIssuerProfile = nil + } + + // PrincipalId + if propertyBag.Contains("PrincipalId") { + var principalId genruntime.ConfigMapDestination + err := propertyBag.Pull("PrincipalId", &principalId) + if err != nil { + return errors.Wrap(err, "pulling 'PrincipalId' from propertyBag") + } + + maps.PrincipalId = &principalId + } else { + maps.PrincipalId = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + maps.PropertyBag = propertyBag + } else { + maps.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterOperatorConfigMaps interface (if implemented) to customize the conversion + var mapsAsAny any = maps + if augmentedMaps, ok := mapsAsAny.(augmentConversionForManagedClusterOperatorConfigMaps); ok { + err := augmentedMaps.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterOperatorConfigMaps populates the provided destination ManagedClusterOperatorConfigMaps from our ManagedClusterOperatorConfigMaps +func (maps *ManagedClusterOperatorConfigMaps) AssignProperties_To_ManagedClusterOperatorConfigMaps(destination *storage.ManagedClusterOperatorConfigMaps) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(maps.PropertyBag) + + // OIDCIssuerProfile + if maps.OIDCIssuerProfile != nil { + oidcIssuerProfile := maps.OIDCIssuerProfile.Copy() + destination.OIDCIssuerProfile = &oidcIssuerProfile + } else { + destination.OIDCIssuerProfile = nil + } + + // PrincipalId + if maps.PrincipalId != nil { + propertyBag.Add("PrincipalId", *maps.PrincipalId) + } else { + propertyBag.Remove("PrincipalId") + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterOperatorConfigMaps interface (if implemented) to customize the conversion + var mapsAsAny any = maps + if augmentedMaps, ok := mapsAsAny.(augmentConversionForManagedClusterOperatorConfigMaps); ok { + err := augmentedMaps.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +// Storage version of v1api20231001.ManagedClusterOperatorSecrets +type ManagedClusterOperatorSecrets struct { + AdminCredentials *genruntime.SecretDestination `json:"adminCredentials,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + UserCredentials *genruntime.SecretDestination `json:"userCredentials,omitempty"` +} + +// AssignProperties_From_ManagedClusterOperatorSecrets populates our ManagedClusterOperatorSecrets from the provided source ManagedClusterOperatorSecrets +func (secrets *ManagedClusterOperatorSecrets) AssignProperties_From_ManagedClusterOperatorSecrets(source *storage.ManagedClusterOperatorSecrets) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // AdminCredentials + if source.AdminCredentials != nil { + adminCredential := source.AdminCredentials.Copy() + secrets.AdminCredentials = &adminCredential + } else { + secrets.AdminCredentials = nil + } + + // UserCredentials + if source.UserCredentials != nil { + userCredential := source.UserCredentials.Copy() + secrets.UserCredentials = &userCredential + } else { + secrets.UserCredentials = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + secrets.PropertyBag = propertyBag + } else { + secrets.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterOperatorSecrets interface (if implemented) to customize the conversion + var secretsAsAny any = secrets + if augmentedSecrets, ok := secretsAsAny.(augmentConversionForManagedClusterOperatorSecrets); ok { + err := augmentedSecrets.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterOperatorSecrets populates the provided destination ManagedClusterOperatorSecrets from our ManagedClusterOperatorSecrets +func (secrets *ManagedClusterOperatorSecrets) AssignProperties_To_ManagedClusterOperatorSecrets(destination *storage.ManagedClusterOperatorSecrets) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(secrets.PropertyBag) + + // AdminCredentials + if secrets.AdminCredentials != nil { + adminCredential := secrets.AdminCredentials.Copy() + destination.AdminCredentials = &adminCredential + } else { + destination.AdminCredentials = nil + } + + // UserCredentials + if secrets.UserCredentials != nil { + userCredential := secrets.UserCredentials.Copy() + destination.UserCredentials = &userCredential + } else { + destination.UserCredentials = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterOperatorSecrets interface (if implemented) to customize the conversion + var secretsAsAny any = secrets + if augmentedSecrets, ok := secretsAsAny.(augmentConversionForManagedClusterOperatorSecrets); ok { + err := augmentedSecrets.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +// Storage version of v1api20231001.ManagedClusterPodIdentity +// Details about the pod identity assigned to the Managed Cluster. +type ManagedClusterPodIdentity struct { + BindingSelector *string `json:"bindingSelector,omitempty"` + Identity *UserAssignedIdentity `json:"identity,omitempty"` + Name *string `json:"name,omitempty"` + Namespace *string `json:"namespace,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// AssignProperties_From_ManagedClusterPodIdentity populates our ManagedClusterPodIdentity from the provided source ManagedClusterPodIdentity +func (identity *ManagedClusterPodIdentity) AssignProperties_From_ManagedClusterPodIdentity(source *storage.ManagedClusterPodIdentity) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // BindingSelector + identity.BindingSelector = genruntime.ClonePointerToString(source.BindingSelector) + + // Identity + if source.Identity != nil { + var identityLocal UserAssignedIdentity + err := identityLocal.AssignProperties_From_UserAssignedIdentity(source.Identity) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_UserAssignedIdentity() to populate field Identity") + } + identity.Identity = &identityLocal + } else { + identity.Identity = nil + } + + // Name + identity.Name = genruntime.ClonePointerToString(source.Name) + + // Namespace + identity.Namespace = genruntime.ClonePointerToString(source.Namespace) + + // Update the property bag + if len(propertyBag) > 0 { + identity.PropertyBag = propertyBag + } else { + identity.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterPodIdentity interface (if implemented) to customize the conversion + var identityAsAny any = identity + if augmentedIdentity, ok := identityAsAny.(augmentConversionForManagedClusterPodIdentity); ok { + err := augmentedIdentity.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterPodIdentity populates the provided destination ManagedClusterPodIdentity from our ManagedClusterPodIdentity +func (identity *ManagedClusterPodIdentity) AssignProperties_To_ManagedClusterPodIdentity(destination *storage.ManagedClusterPodIdentity) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(identity.PropertyBag) + + // BindingSelector + destination.BindingSelector = genruntime.ClonePointerToString(identity.BindingSelector) + + // Identity + if identity.Identity != nil { + var identityLocal storage.UserAssignedIdentity + err := identity.Identity.AssignProperties_To_UserAssignedIdentity(&identityLocal) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_UserAssignedIdentity() to populate field Identity") + } + destination.Identity = &identityLocal + } else { + destination.Identity = nil + } + + // Name + destination.Name = genruntime.ClonePointerToString(identity.Name) + + // Namespace + destination.Namespace = genruntime.ClonePointerToString(identity.Namespace) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterPodIdentity interface (if implemented) to customize the conversion + var identityAsAny any = identity + if augmentedIdentity, ok := identityAsAny.(augmentConversionForManagedClusterPodIdentity); ok { + err := augmentedIdentity.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +// Storage version of v1api20231001.ManagedClusterPodIdentity_STATUS +// Details about the pod identity assigned to the Managed Cluster. +type ManagedClusterPodIdentity_STATUS struct { + BindingSelector *string `json:"bindingSelector,omitempty"` + Identity *UserAssignedIdentity_STATUS `json:"identity,omitempty"` + Name *string `json:"name,omitempty"` + Namespace *string `json:"namespace,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + ProvisioningInfo *ManagedClusterPodIdentity_ProvisioningInfo_STATUS `json:"provisioningInfo,omitempty"` + ProvisioningState *string `json:"provisioningState,omitempty"` +} + +// AssignProperties_From_ManagedClusterPodIdentity_STATUS populates our ManagedClusterPodIdentity_STATUS from the provided source ManagedClusterPodIdentity_STATUS +func (identity *ManagedClusterPodIdentity_STATUS) AssignProperties_From_ManagedClusterPodIdentity_STATUS(source *storage.ManagedClusterPodIdentity_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // BindingSelector + identity.BindingSelector = genruntime.ClonePointerToString(source.BindingSelector) + + // Identity + if source.Identity != nil { + var identityLocal UserAssignedIdentity_STATUS + err := identityLocal.AssignProperties_From_UserAssignedIdentity_STATUS(source.Identity) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_UserAssignedIdentity_STATUS() to populate field Identity") + } + identity.Identity = &identityLocal + } else { + identity.Identity = nil + } + + // Name + identity.Name = genruntime.ClonePointerToString(source.Name) + + // Namespace + identity.Namespace = genruntime.ClonePointerToString(source.Namespace) + + // ProvisioningInfo + if source.ProvisioningInfo != nil { + var provisioningInfo ManagedClusterPodIdentity_ProvisioningInfo_STATUS + err := provisioningInfo.AssignProperties_From_ManagedClusterPodIdentity_ProvisioningInfo_STATUS(source.ProvisioningInfo) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterPodIdentity_ProvisioningInfo_STATUS() to populate field ProvisioningInfo") + } + identity.ProvisioningInfo = &provisioningInfo + } else { + identity.ProvisioningInfo = nil + } + + // ProvisioningState + identity.ProvisioningState = genruntime.ClonePointerToString(source.ProvisioningState) + + // Update the property bag + if len(propertyBag) > 0 { + identity.PropertyBag = propertyBag + } else { + identity.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterPodIdentity_STATUS interface (if implemented) to customize the conversion + var identityAsAny any = identity + if augmentedIdentity, ok := identityAsAny.(augmentConversionForManagedClusterPodIdentity_STATUS); ok { + err := augmentedIdentity.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterPodIdentity_STATUS populates the provided destination ManagedClusterPodIdentity_STATUS from our ManagedClusterPodIdentity_STATUS +func (identity *ManagedClusterPodIdentity_STATUS) AssignProperties_To_ManagedClusterPodIdentity_STATUS(destination *storage.ManagedClusterPodIdentity_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(identity.PropertyBag) + + // BindingSelector + destination.BindingSelector = genruntime.ClonePointerToString(identity.BindingSelector) + + // Identity + if identity.Identity != nil { + var identityLocal storage.UserAssignedIdentity_STATUS + err := identity.Identity.AssignProperties_To_UserAssignedIdentity_STATUS(&identityLocal) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_UserAssignedIdentity_STATUS() to populate field Identity") + } + destination.Identity = &identityLocal + } else { + destination.Identity = nil + } + + // Name + destination.Name = genruntime.ClonePointerToString(identity.Name) + + // Namespace + destination.Namespace = genruntime.ClonePointerToString(identity.Namespace) + + // ProvisioningInfo + if identity.ProvisioningInfo != nil { + var provisioningInfo storage.ManagedClusterPodIdentity_ProvisioningInfo_STATUS + err := identity.ProvisioningInfo.AssignProperties_To_ManagedClusterPodIdentity_ProvisioningInfo_STATUS(&provisioningInfo) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterPodIdentity_ProvisioningInfo_STATUS() to populate field ProvisioningInfo") + } + destination.ProvisioningInfo = &provisioningInfo + } else { + destination.ProvisioningInfo = nil + } + + // ProvisioningState + destination.ProvisioningState = genruntime.ClonePointerToString(identity.ProvisioningState) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterPodIdentity_STATUS interface (if implemented) to customize the conversion + var identityAsAny any = identity + if augmentedIdentity, ok := identityAsAny.(augmentConversionForManagedClusterPodIdentity_STATUS); ok { + err := augmentedIdentity.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +// Storage version of v1api20231001.ManagedClusterPodIdentityException +// See [disable AAD Pod Identity for a specific +// Pod/Application](https://azure.github.io/aad-pod-identity/docs/configure/application_exception/) for more details. +type ManagedClusterPodIdentityException struct { + Name *string `json:"name,omitempty"` + Namespace *string `json:"namespace,omitempty"` + PodLabels map[string]string `json:"podLabels,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// AssignProperties_From_ManagedClusterPodIdentityException populates our ManagedClusterPodIdentityException from the provided source ManagedClusterPodIdentityException +func (exception *ManagedClusterPodIdentityException) AssignProperties_From_ManagedClusterPodIdentityException(source *storage.ManagedClusterPodIdentityException) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // Name + exception.Name = genruntime.ClonePointerToString(source.Name) + + // Namespace + exception.Namespace = genruntime.ClonePointerToString(source.Namespace) + + // PodLabels + exception.PodLabels = genruntime.CloneMapOfStringToString(source.PodLabels) + + // Update the property bag + if len(propertyBag) > 0 { + exception.PropertyBag = propertyBag + } else { + exception.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterPodIdentityException interface (if implemented) to customize the conversion + var exceptionAsAny any = exception + if augmentedException, ok := exceptionAsAny.(augmentConversionForManagedClusterPodIdentityException); ok { + err := augmentedException.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterPodIdentityException populates the provided destination ManagedClusterPodIdentityException from our ManagedClusterPodIdentityException +func (exception *ManagedClusterPodIdentityException) AssignProperties_To_ManagedClusterPodIdentityException(destination *storage.ManagedClusterPodIdentityException) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(exception.PropertyBag) + + // Name + destination.Name = genruntime.ClonePointerToString(exception.Name) + + // Namespace + destination.Namespace = genruntime.ClonePointerToString(exception.Namespace) + + // PodLabels + destination.PodLabels = genruntime.CloneMapOfStringToString(exception.PodLabels) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterPodIdentityException interface (if implemented) to customize the conversion + var exceptionAsAny any = exception + if augmentedException, ok := exceptionAsAny.(augmentConversionForManagedClusterPodIdentityException); ok { + err := augmentedException.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +// Storage version of v1api20231001.ManagedClusterPodIdentityException_STATUS +// See [disable AAD Pod Identity for a specific +// Pod/Application](https://azure.github.io/aad-pod-identity/docs/configure/application_exception/) for more details. +type ManagedClusterPodIdentityException_STATUS struct { + Name *string `json:"name,omitempty"` + Namespace *string `json:"namespace,omitempty"` + PodLabels map[string]string `json:"podLabels,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// AssignProperties_From_ManagedClusterPodIdentityException_STATUS populates our ManagedClusterPodIdentityException_STATUS from the provided source ManagedClusterPodIdentityException_STATUS +func (exception *ManagedClusterPodIdentityException_STATUS) AssignProperties_From_ManagedClusterPodIdentityException_STATUS(source *storage.ManagedClusterPodIdentityException_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // Name + exception.Name = genruntime.ClonePointerToString(source.Name) + + // Namespace + exception.Namespace = genruntime.ClonePointerToString(source.Namespace) + + // PodLabels + exception.PodLabels = genruntime.CloneMapOfStringToString(source.PodLabels) + + // Update the property bag + if len(propertyBag) > 0 { + exception.PropertyBag = propertyBag + } else { + exception.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterPodIdentityException_STATUS interface (if implemented) to customize the conversion + var exceptionAsAny any = exception + if augmentedException, ok := exceptionAsAny.(augmentConversionForManagedClusterPodIdentityException_STATUS); ok { + err := augmentedException.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterPodIdentityException_STATUS populates the provided destination ManagedClusterPodIdentityException_STATUS from our ManagedClusterPodIdentityException_STATUS +func (exception *ManagedClusterPodIdentityException_STATUS) AssignProperties_To_ManagedClusterPodIdentityException_STATUS(destination *storage.ManagedClusterPodIdentityException_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(exception.PropertyBag) + + // Name + destination.Name = genruntime.ClonePointerToString(exception.Name) + + // Namespace + destination.Namespace = genruntime.ClonePointerToString(exception.Namespace) + + // PodLabels + destination.PodLabels = genruntime.CloneMapOfStringToString(exception.PodLabels) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterPodIdentityException_STATUS interface (if implemented) to customize the conversion + var exceptionAsAny any = exception + if augmentedException, ok := exceptionAsAny.(augmentConversionForManagedClusterPodIdentityException_STATUS); ok { + err := augmentedException.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +// Storage version of v1api20231001.ManagedClusterSecurityProfileDefender +// Microsoft Defender settings for the security profile. +type ManagedClusterSecurityProfileDefender struct { + // LogAnalyticsWorkspaceResourceReference: Resource ID of the Log Analytics workspace to be associated with Microsoft + // Defender. When Microsoft Defender is enabled, this field is required and must be a valid workspace resource ID. When + // Microsoft Defender is disabled, leave the field empty. + LogAnalyticsWorkspaceResourceReference *genruntime.ResourceReference `armReference:"LogAnalyticsWorkspaceResourceId" json:"logAnalyticsWorkspaceResourceReference,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + SecurityMonitoring *ManagedClusterSecurityProfileDefenderSecurityMonitoring `json:"securityMonitoring,omitempty"` +} + +// AssignProperties_From_ManagedClusterSecurityProfileDefender populates our ManagedClusterSecurityProfileDefender from the provided source ManagedClusterSecurityProfileDefender +func (defender *ManagedClusterSecurityProfileDefender) AssignProperties_From_ManagedClusterSecurityProfileDefender(source *storage.ManagedClusterSecurityProfileDefender) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // LogAnalyticsWorkspaceResourceReference + if source.LogAnalyticsWorkspaceResourceReference != nil { + logAnalyticsWorkspaceResourceReference := source.LogAnalyticsWorkspaceResourceReference.Copy() + defender.LogAnalyticsWorkspaceResourceReference = &logAnalyticsWorkspaceResourceReference + } else { + defender.LogAnalyticsWorkspaceResourceReference = nil + } + + // SecurityMonitoring + if source.SecurityMonitoring != nil { + var securityMonitoring ManagedClusterSecurityProfileDefenderSecurityMonitoring + err := securityMonitoring.AssignProperties_From_ManagedClusterSecurityProfileDefenderSecurityMonitoring(source.SecurityMonitoring) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterSecurityProfileDefenderSecurityMonitoring() to populate field SecurityMonitoring") + } + defender.SecurityMonitoring = &securityMonitoring + } else { + defender.SecurityMonitoring = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + defender.PropertyBag = propertyBag + } else { + defender.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterSecurityProfileDefender interface (if implemented) to customize the conversion + var defenderAsAny any = defender + if augmentedDefender, ok := defenderAsAny.(augmentConversionForManagedClusterSecurityProfileDefender); ok { + err := augmentedDefender.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterSecurityProfileDefender populates the provided destination ManagedClusterSecurityProfileDefender from our ManagedClusterSecurityProfileDefender +func (defender *ManagedClusterSecurityProfileDefender) AssignProperties_To_ManagedClusterSecurityProfileDefender(destination *storage.ManagedClusterSecurityProfileDefender) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(defender.PropertyBag) + + // LogAnalyticsWorkspaceResourceReference + if defender.LogAnalyticsWorkspaceResourceReference != nil { + logAnalyticsWorkspaceResourceReference := defender.LogAnalyticsWorkspaceResourceReference.Copy() + destination.LogAnalyticsWorkspaceResourceReference = &logAnalyticsWorkspaceResourceReference + } else { + destination.LogAnalyticsWorkspaceResourceReference = nil + } + + // SecurityMonitoring + if defender.SecurityMonitoring != nil { + var securityMonitoring storage.ManagedClusterSecurityProfileDefenderSecurityMonitoring + err := defender.SecurityMonitoring.AssignProperties_To_ManagedClusterSecurityProfileDefenderSecurityMonitoring(&securityMonitoring) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterSecurityProfileDefenderSecurityMonitoring() to populate field SecurityMonitoring") + } + destination.SecurityMonitoring = &securityMonitoring + } else { + destination.SecurityMonitoring = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterSecurityProfileDefender interface (if implemented) to customize the conversion + var defenderAsAny any = defender + if augmentedDefender, ok := defenderAsAny.(augmentConversionForManagedClusterSecurityProfileDefender); ok { + err := augmentedDefender.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +// Storage version of v1api20231001.ManagedClusterSecurityProfileDefender_STATUS +// Microsoft Defender settings for the security profile. +type ManagedClusterSecurityProfileDefender_STATUS struct { + LogAnalyticsWorkspaceResourceId *string `json:"logAnalyticsWorkspaceResourceId,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + SecurityMonitoring *ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS `json:"securityMonitoring,omitempty"` +} + +// AssignProperties_From_ManagedClusterSecurityProfileDefender_STATUS populates our ManagedClusterSecurityProfileDefender_STATUS from the provided source ManagedClusterSecurityProfileDefender_STATUS +func (defender *ManagedClusterSecurityProfileDefender_STATUS) AssignProperties_From_ManagedClusterSecurityProfileDefender_STATUS(source *storage.ManagedClusterSecurityProfileDefender_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // LogAnalyticsWorkspaceResourceId + defender.LogAnalyticsWorkspaceResourceId = genruntime.ClonePointerToString(source.LogAnalyticsWorkspaceResourceId) + + // SecurityMonitoring + if source.SecurityMonitoring != nil { + var securityMonitoring ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS + err := securityMonitoring.AssignProperties_From_ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS(source.SecurityMonitoring) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS() to populate field SecurityMonitoring") + } + defender.SecurityMonitoring = &securityMonitoring + } else { + defender.SecurityMonitoring = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + defender.PropertyBag = propertyBag + } else { + defender.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterSecurityProfileDefender_STATUS interface (if implemented) to customize the conversion + var defenderAsAny any = defender + if augmentedDefender, ok := defenderAsAny.(augmentConversionForManagedClusterSecurityProfileDefender_STATUS); ok { + err := augmentedDefender.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterSecurityProfileDefender_STATUS populates the provided destination ManagedClusterSecurityProfileDefender_STATUS from our ManagedClusterSecurityProfileDefender_STATUS +func (defender *ManagedClusterSecurityProfileDefender_STATUS) AssignProperties_To_ManagedClusterSecurityProfileDefender_STATUS(destination *storage.ManagedClusterSecurityProfileDefender_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(defender.PropertyBag) + + // LogAnalyticsWorkspaceResourceId + destination.LogAnalyticsWorkspaceResourceId = genruntime.ClonePointerToString(defender.LogAnalyticsWorkspaceResourceId) + + // SecurityMonitoring + if defender.SecurityMonitoring != nil { + var securityMonitoring storage.ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS + err := defender.SecurityMonitoring.AssignProperties_To_ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS(&securityMonitoring) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS() to populate field SecurityMonitoring") + } + destination.SecurityMonitoring = &securityMonitoring + } else { + destination.SecurityMonitoring = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterSecurityProfileDefender_STATUS interface (if implemented) to customize the conversion + var defenderAsAny any = defender + if augmentedDefender, ok := defenderAsAny.(augmentConversionForManagedClusterSecurityProfileDefender_STATUS); ok { + err := augmentedDefender.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +// Storage version of v1api20231001.ManagedClusterSecurityProfileImageCleaner +// Image Cleaner removes unused images from nodes, freeing up disk space and helping to reduce attack surface area. Here +// are settings for the security profile. +type ManagedClusterSecurityProfileImageCleaner struct { + Enabled *bool `json:"enabled,omitempty"` + IntervalHours *int `json:"intervalHours,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// AssignProperties_From_ManagedClusterSecurityProfileImageCleaner populates our ManagedClusterSecurityProfileImageCleaner from the provided source ManagedClusterSecurityProfileImageCleaner +func (cleaner *ManagedClusterSecurityProfileImageCleaner) AssignProperties_From_ManagedClusterSecurityProfileImageCleaner(source *storage.ManagedClusterSecurityProfileImageCleaner) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + cleaner.Enabled = &enabled + } else { + cleaner.Enabled = nil + } + + // IntervalHours + cleaner.IntervalHours = genruntime.ClonePointerToInt(source.IntervalHours) + + // Update the property bag + if len(propertyBag) > 0 { + cleaner.PropertyBag = propertyBag + } else { + cleaner.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterSecurityProfileImageCleaner interface (if implemented) to customize the conversion + var cleanerAsAny any = cleaner + if augmentedCleaner, ok := cleanerAsAny.(augmentConversionForManagedClusterSecurityProfileImageCleaner); ok { + err := augmentedCleaner.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterSecurityProfileImageCleaner populates the provided destination ManagedClusterSecurityProfileImageCleaner from our ManagedClusterSecurityProfileImageCleaner +func (cleaner *ManagedClusterSecurityProfileImageCleaner) AssignProperties_To_ManagedClusterSecurityProfileImageCleaner(destination *storage.ManagedClusterSecurityProfileImageCleaner) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(cleaner.PropertyBag) + + // Enabled + if cleaner.Enabled != nil { + enabled := *cleaner.Enabled + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // IntervalHours + destination.IntervalHours = genruntime.ClonePointerToInt(cleaner.IntervalHours) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterSecurityProfileImageCleaner interface (if implemented) to customize the conversion + var cleanerAsAny any = cleaner + if augmentedCleaner, ok := cleanerAsAny.(augmentConversionForManagedClusterSecurityProfileImageCleaner); ok { + err := augmentedCleaner.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +// Storage version of v1api20231001.ManagedClusterSecurityProfileImageCleaner_STATUS +// Image Cleaner removes unused images from nodes, freeing up disk space and helping to reduce attack surface area. Here +// are settings for the security profile. +type ManagedClusterSecurityProfileImageCleaner_STATUS struct { + Enabled *bool `json:"enabled,omitempty"` + IntervalHours *int `json:"intervalHours,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// AssignProperties_From_ManagedClusterSecurityProfileImageCleaner_STATUS populates our ManagedClusterSecurityProfileImageCleaner_STATUS from the provided source ManagedClusterSecurityProfileImageCleaner_STATUS +func (cleaner *ManagedClusterSecurityProfileImageCleaner_STATUS) AssignProperties_From_ManagedClusterSecurityProfileImageCleaner_STATUS(source *storage.ManagedClusterSecurityProfileImageCleaner_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + cleaner.Enabled = &enabled + } else { + cleaner.Enabled = nil + } + + // IntervalHours + cleaner.IntervalHours = genruntime.ClonePointerToInt(source.IntervalHours) + + // Update the property bag + if len(propertyBag) > 0 { + cleaner.PropertyBag = propertyBag + } else { + cleaner.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterSecurityProfileImageCleaner_STATUS interface (if implemented) to customize the conversion + var cleanerAsAny any = cleaner + if augmentedCleaner, ok := cleanerAsAny.(augmentConversionForManagedClusterSecurityProfileImageCleaner_STATUS); ok { + err := augmentedCleaner.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterSecurityProfileImageCleaner_STATUS populates the provided destination ManagedClusterSecurityProfileImageCleaner_STATUS from our ManagedClusterSecurityProfileImageCleaner_STATUS +func (cleaner *ManagedClusterSecurityProfileImageCleaner_STATUS) AssignProperties_To_ManagedClusterSecurityProfileImageCleaner_STATUS(destination *storage.ManagedClusterSecurityProfileImageCleaner_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(cleaner.PropertyBag) + + // Enabled + if cleaner.Enabled != nil { + enabled := *cleaner.Enabled + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // IntervalHours + destination.IntervalHours = genruntime.ClonePointerToInt(cleaner.IntervalHours) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterSecurityProfileImageCleaner_STATUS interface (if implemented) to customize the conversion + var cleanerAsAny any = cleaner + if augmentedCleaner, ok := cleanerAsAny.(augmentConversionForManagedClusterSecurityProfileImageCleaner_STATUS); ok { + err := augmentedCleaner.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +// Storage version of v1api20231001.ManagedClusterSecurityProfileWorkloadIdentity +// Workload identity settings for the security profile. +type ManagedClusterSecurityProfileWorkloadIdentity struct { + Enabled *bool `json:"enabled,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// AssignProperties_From_ManagedClusterSecurityProfileWorkloadIdentity populates our ManagedClusterSecurityProfileWorkloadIdentity from the provided source ManagedClusterSecurityProfileWorkloadIdentity +func (identity *ManagedClusterSecurityProfileWorkloadIdentity) AssignProperties_From_ManagedClusterSecurityProfileWorkloadIdentity(source *storage.ManagedClusterSecurityProfileWorkloadIdentity) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + identity.Enabled = &enabled + } else { + identity.Enabled = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + identity.PropertyBag = propertyBag + } else { + identity.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterSecurityProfileWorkloadIdentity interface (if implemented) to customize the conversion + var identityAsAny any = identity + if augmentedIdentity, ok := identityAsAny.(augmentConversionForManagedClusterSecurityProfileWorkloadIdentity); ok { + err := augmentedIdentity.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterSecurityProfileWorkloadIdentity populates the provided destination ManagedClusterSecurityProfileWorkloadIdentity from our ManagedClusterSecurityProfileWorkloadIdentity +func (identity *ManagedClusterSecurityProfileWorkloadIdentity) AssignProperties_To_ManagedClusterSecurityProfileWorkloadIdentity(destination *storage.ManagedClusterSecurityProfileWorkloadIdentity) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(identity.PropertyBag) + + // Enabled + if identity.Enabled != nil { + enabled := *identity.Enabled + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterSecurityProfileWorkloadIdentity interface (if implemented) to customize the conversion + var identityAsAny any = identity + if augmentedIdentity, ok := identityAsAny.(augmentConversionForManagedClusterSecurityProfileWorkloadIdentity); ok { + err := augmentedIdentity.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +// Storage version of v1api20231001.ManagedClusterSecurityProfileWorkloadIdentity_STATUS +// Workload identity settings for the security profile. +type ManagedClusterSecurityProfileWorkloadIdentity_STATUS struct { + Enabled *bool `json:"enabled,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// AssignProperties_From_ManagedClusterSecurityProfileWorkloadIdentity_STATUS populates our ManagedClusterSecurityProfileWorkloadIdentity_STATUS from the provided source ManagedClusterSecurityProfileWorkloadIdentity_STATUS +func (identity *ManagedClusterSecurityProfileWorkloadIdentity_STATUS) AssignProperties_From_ManagedClusterSecurityProfileWorkloadIdentity_STATUS(source *storage.ManagedClusterSecurityProfileWorkloadIdentity_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + identity.Enabled = &enabled + } else { + identity.Enabled = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + identity.PropertyBag = propertyBag + } else { + identity.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterSecurityProfileWorkloadIdentity_STATUS interface (if implemented) to customize the conversion + var identityAsAny any = identity + if augmentedIdentity, ok := identityAsAny.(augmentConversionForManagedClusterSecurityProfileWorkloadIdentity_STATUS); ok { + err := augmentedIdentity.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterSecurityProfileWorkloadIdentity_STATUS populates the provided destination ManagedClusterSecurityProfileWorkloadIdentity_STATUS from our ManagedClusterSecurityProfileWorkloadIdentity_STATUS +func (identity *ManagedClusterSecurityProfileWorkloadIdentity_STATUS) AssignProperties_To_ManagedClusterSecurityProfileWorkloadIdentity_STATUS(destination *storage.ManagedClusterSecurityProfileWorkloadIdentity_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(identity.PropertyBag) + + // Enabled + if identity.Enabled != nil { + enabled := *identity.Enabled + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterSecurityProfileWorkloadIdentity_STATUS interface (if implemented) to customize the conversion + var identityAsAny any = identity + if augmentedIdentity, ok := identityAsAny.(augmentConversionForManagedClusterSecurityProfileWorkloadIdentity_STATUS); ok { + err := augmentedIdentity.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +// Storage version of v1api20231001.ManagedClusterStorageProfileBlobCSIDriver +// AzureBlob CSI Driver settings for the storage profile. +type ManagedClusterStorageProfileBlobCSIDriver struct { + Enabled *bool `json:"enabled,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// AssignProperties_From_ManagedClusterStorageProfileBlobCSIDriver populates our ManagedClusterStorageProfileBlobCSIDriver from the provided source ManagedClusterStorageProfileBlobCSIDriver +func (driver *ManagedClusterStorageProfileBlobCSIDriver) AssignProperties_From_ManagedClusterStorageProfileBlobCSIDriver(source *storage.ManagedClusterStorageProfileBlobCSIDriver) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + driver.Enabled = &enabled + } else { + driver.Enabled = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + driver.PropertyBag = propertyBag + } else { + driver.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterStorageProfileBlobCSIDriver interface (if implemented) to customize the conversion + var driverAsAny any = driver + if augmentedDriver, ok := driverAsAny.(augmentConversionForManagedClusterStorageProfileBlobCSIDriver); ok { + err := augmentedDriver.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterStorageProfileBlobCSIDriver populates the provided destination ManagedClusterStorageProfileBlobCSIDriver from our ManagedClusterStorageProfileBlobCSIDriver +func (driver *ManagedClusterStorageProfileBlobCSIDriver) AssignProperties_To_ManagedClusterStorageProfileBlobCSIDriver(destination *storage.ManagedClusterStorageProfileBlobCSIDriver) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(driver.PropertyBag) + + // Enabled + if driver.Enabled != nil { + enabled := *driver.Enabled + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterStorageProfileBlobCSIDriver interface (if implemented) to customize the conversion + var driverAsAny any = driver + if augmentedDriver, ok := driverAsAny.(augmentConversionForManagedClusterStorageProfileBlobCSIDriver); ok { + err := augmentedDriver.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +// Storage version of v1api20231001.ManagedClusterStorageProfileBlobCSIDriver_STATUS +// AzureBlob CSI Driver settings for the storage profile. +type ManagedClusterStorageProfileBlobCSIDriver_STATUS struct { + Enabled *bool `json:"enabled,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// AssignProperties_From_ManagedClusterStorageProfileBlobCSIDriver_STATUS populates our ManagedClusterStorageProfileBlobCSIDriver_STATUS from the provided source ManagedClusterStorageProfileBlobCSIDriver_STATUS +func (driver *ManagedClusterStorageProfileBlobCSIDriver_STATUS) AssignProperties_From_ManagedClusterStorageProfileBlobCSIDriver_STATUS(source *storage.ManagedClusterStorageProfileBlobCSIDriver_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + driver.Enabled = &enabled + } else { + driver.Enabled = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + driver.PropertyBag = propertyBag + } else { + driver.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterStorageProfileBlobCSIDriver_STATUS interface (if implemented) to customize the conversion + var driverAsAny any = driver + if augmentedDriver, ok := driverAsAny.(augmentConversionForManagedClusterStorageProfileBlobCSIDriver_STATUS); ok { + err := augmentedDriver.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterStorageProfileBlobCSIDriver_STATUS populates the provided destination ManagedClusterStorageProfileBlobCSIDriver_STATUS from our ManagedClusterStorageProfileBlobCSIDriver_STATUS +func (driver *ManagedClusterStorageProfileBlobCSIDriver_STATUS) AssignProperties_To_ManagedClusterStorageProfileBlobCSIDriver_STATUS(destination *storage.ManagedClusterStorageProfileBlobCSIDriver_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(driver.PropertyBag) + + // Enabled + if driver.Enabled != nil { + enabled := *driver.Enabled + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterStorageProfileBlobCSIDriver_STATUS interface (if implemented) to customize the conversion + var driverAsAny any = driver + if augmentedDriver, ok := driverAsAny.(augmentConversionForManagedClusterStorageProfileBlobCSIDriver_STATUS); ok { + err := augmentedDriver.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +// Storage version of v1api20231001.ManagedClusterStorageProfileDiskCSIDriver +// AzureDisk CSI Driver settings for the storage profile. +type ManagedClusterStorageProfileDiskCSIDriver struct { + Enabled *bool `json:"enabled,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// AssignProperties_From_ManagedClusterStorageProfileDiskCSIDriver populates our ManagedClusterStorageProfileDiskCSIDriver from the provided source ManagedClusterStorageProfileDiskCSIDriver +func (driver *ManagedClusterStorageProfileDiskCSIDriver) AssignProperties_From_ManagedClusterStorageProfileDiskCSIDriver(source *storage.ManagedClusterStorageProfileDiskCSIDriver) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + driver.Enabled = &enabled + } else { + driver.Enabled = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + driver.PropertyBag = propertyBag + } else { + driver.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterStorageProfileDiskCSIDriver interface (if implemented) to customize the conversion + var driverAsAny any = driver + if augmentedDriver, ok := driverAsAny.(augmentConversionForManagedClusterStorageProfileDiskCSIDriver); ok { + err := augmentedDriver.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterStorageProfileDiskCSIDriver populates the provided destination ManagedClusterStorageProfileDiskCSIDriver from our ManagedClusterStorageProfileDiskCSIDriver +func (driver *ManagedClusterStorageProfileDiskCSIDriver) AssignProperties_To_ManagedClusterStorageProfileDiskCSIDriver(destination *storage.ManagedClusterStorageProfileDiskCSIDriver) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(driver.PropertyBag) + + // Enabled + if driver.Enabled != nil { + enabled := *driver.Enabled + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterStorageProfileDiskCSIDriver interface (if implemented) to customize the conversion + var driverAsAny any = driver + if augmentedDriver, ok := driverAsAny.(augmentConversionForManagedClusterStorageProfileDiskCSIDriver); ok { + err := augmentedDriver.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +// Storage version of v1api20231001.ManagedClusterStorageProfileDiskCSIDriver_STATUS +// AzureDisk CSI Driver settings for the storage profile. +type ManagedClusterStorageProfileDiskCSIDriver_STATUS struct { + Enabled *bool `json:"enabled,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// AssignProperties_From_ManagedClusterStorageProfileDiskCSIDriver_STATUS populates our ManagedClusterStorageProfileDiskCSIDriver_STATUS from the provided source ManagedClusterStorageProfileDiskCSIDriver_STATUS +func (driver *ManagedClusterStorageProfileDiskCSIDriver_STATUS) AssignProperties_From_ManagedClusterStorageProfileDiskCSIDriver_STATUS(source *storage.ManagedClusterStorageProfileDiskCSIDriver_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + driver.Enabled = &enabled + } else { + driver.Enabled = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + driver.PropertyBag = propertyBag + } else { + driver.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterStorageProfileDiskCSIDriver_STATUS interface (if implemented) to customize the conversion + var driverAsAny any = driver + if augmentedDriver, ok := driverAsAny.(augmentConversionForManagedClusterStorageProfileDiskCSIDriver_STATUS); ok { + err := augmentedDriver.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterStorageProfileDiskCSIDriver_STATUS populates the provided destination ManagedClusterStorageProfileDiskCSIDriver_STATUS from our ManagedClusterStorageProfileDiskCSIDriver_STATUS +func (driver *ManagedClusterStorageProfileDiskCSIDriver_STATUS) AssignProperties_To_ManagedClusterStorageProfileDiskCSIDriver_STATUS(destination *storage.ManagedClusterStorageProfileDiskCSIDriver_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(driver.PropertyBag) + + // Enabled + if driver.Enabled != nil { + enabled := *driver.Enabled + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterStorageProfileDiskCSIDriver_STATUS interface (if implemented) to customize the conversion + var driverAsAny any = driver + if augmentedDriver, ok := driverAsAny.(augmentConversionForManagedClusterStorageProfileDiskCSIDriver_STATUS); ok { + err := augmentedDriver.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +// Storage version of v1api20231001.ManagedClusterStorageProfileFileCSIDriver +// AzureFile CSI Driver settings for the storage profile. +type ManagedClusterStorageProfileFileCSIDriver struct { + Enabled *bool `json:"enabled,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// AssignProperties_From_ManagedClusterStorageProfileFileCSIDriver populates our ManagedClusterStorageProfileFileCSIDriver from the provided source ManagedClusterStorageProfileFileCSIDriver +func (driver *ManagedClusterStorageProfileFileCSIDriver) AssignProperties_From_ManagedClusterStorageProfileFileCSIDriver(source *storage.ManagedClusterStorageProfileFileCSIDriver) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + driver.Enabled = &enabled + } else { + driver.Enabled = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + driver.PropertyBag = propertyBag + } else { + driver.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterStorageProfileFileCSIDriver interface (if implemented) to customize the conversion + var driverAsAny any = driver + if augmentedDriver, ok := driverAsAny.(augmentConversionForManagedClusterStorageProfileFileCSIDriver); ok { + err := augmentedDriver.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterStorageProfileFileCSIDriver populates the provided destination ManagedClusterStorageProfileFileCSIDriver from our ManagedClusterStorageProfileFileCSIDriver +func (driver *ManagedClusterStorageProfileFileCSIDriver) AssignProperties_To_ManagedClusterStorageProfileFileCSIDriver(destination *storage.ManagedClusterStorageProfileFileCSIDriver) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(driver.PropertyBag) + + // Enabled + if driver.Enabled != nil { + enabled := *driver.Enabled + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterStorageProfileFileCSIDriver interface (if implemented) to customize the conversion + var driverAsAny any = driver + if augmentedDriver, ok := driverAsAny.(augmentConversionForManagedClusterStorageProfileFileCSIDriver); ok { + err := augmentedDriver.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +// Storage version of v1api20231001.ManagedClusterStorageProfileFileCSIDriver_STATUS +// AzureFile CSI Driver settings for the storage profile. +type ManagedClusterStorageProfileFileCSIDriver_STATUS struct { + Enabled *bool `json:"enabled,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// AssignProperties_From_ManagedClusterStorageProfileFileCSIDriver_STATUS populates our ManagedClusterStorageProfileFileCSIDriver_STATUS from the provided source ManagedClusterStorageProfileFileCSIDriver_STATUS +func (driver *ManagedClusterStorageProfileFileCSIDriver_STATUS) AssignProperties_From_ManagedClusterStorageProfileFileCSIDriver_STATUS(source *storage.ManagedClusterStorageProfileFileCSIDriver_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + driver.Enabled = &enabled + } else { + driver.Enabled = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + driver.PropertyBag = propertyBag + } else { + driver.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterStorageProfileFileCSIDriver_STATUS interface (if implemented) to customize the conversion + var driverAsAny any = driver + if augmentedDriver, ok := driverAsAny.(augmentConversionForManagedClusterStorageProfileFileCSIDriver_STATUS); ok { + err := augmentedDriver.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterStorageProfileFileCSIDriver_STATUS populates the provided destination ManagedClusterStorageProfileFileCSIDriver_STATUS from our ManagedClusterStorageProfileFileCSIDriver_STATUS +func (driver *ManagedClusterStorageProfileFileCSIDriver_STATUS) AssignProperties_To_ManagedClusterStorageProfileFileCSIDriver_STATUS(destination *storage.ManagedClusterStorageProfileFileCSIDriver_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(driver.PropertyBag) + + // Enabled + if driver.Enabled != nil { + enabled := *driver.Enabled + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterStorageProfileFileCSIDriver_STATUS interface (if implemented) to customize the conversion + var driverAsAny any = driver + if augmentedDriver, ok := driverAsAny.(augmentConversionForManagedClusterStorageProfileFileCSIDriver_STATUS); ok { + err := augmentedDriver.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +// Storage version of v1api20231001.ManagedClusterStorageProfileSnapshotController +// Snapshot Controller settings for the storage profile. +type ManagedClusterStorageProfileSnapshotController struct { + Enabled *bool `json:"enabled,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// AssignProperties_From_ManagedClusterStorageProfileSnapshotController populates our ManagedClusterStorageProfileSnapshotController from the provided source ManagedClusterStorageProfileSnapshotController +func (controller *ManagedClusterStorageProfileSnapshotController) AssignProperties_From_ManagedClusterStorageProfileSnapshotController(source *storage.ManagedClusterStorageProfileSnapshotController) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + controller.Enabled = &enabled + } else { + controller.Enabled = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + controller.PropertyBag = propertyBag + } else { + controller.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterStorageProfileSnapshotController interface (if implemented) to customize the conversion + var controllerAsAny any = controller + if augmentedController, ok := controllerAsAny.(augmentConversionForManagedClusterStorageProfileSnapshotController); ok { + err := augmentedController.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterStorageProfileSnapshotController populates the provided destination ManagedClusterStorageProfileSnapshotController from our ManagedClusterStorageProfileSnapshotController +func (controller *ManagedClusterStorageProfileSnapshotController) AssignProperties_To_ManagedClusterStorageProfileSnapshotController(destination *storage.ManagedClusterStorageProfileSnapshotController) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(controller.PropertyBag) + + // Enabled + if controller.Enabled != nil { + enabled := *controller.Enabled + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterStorageProfileSnapshotController interface (if implemented) to customize the conversion + var controllerAsAny any = controller + if augmentedController, ok := controllerAsAny.(augmentConversionForManagedClusterStorageProfileSnapshotController); ok { + err := augmentedController.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +// Storage version of v1api20231001.ManagedClusterStorageProfileSnapshotController_STATUS +// Snapshot Controller settings for the storage profile. +type ManagedClusterStorageProfileSnapshotController_STATUS struct { + Enabled *bool `json:"enabled,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// AssignProperties_From_ManagedClusterStorageProfileSnapshotController_STATUS populates our ManagedClusterStorageProfileSnapshotController_STATUS from the provided source ManagedClusterStorageProfileSnapshotController_STATUS +func (controller *ManagedClusterStorageProfileSnapshotController_STATUS) AssignProperties_From_ManagedClusterStorageProfileSnapshotController_STATUS(source *storage.ManagedClusterStorageProfileSnapshotController_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + controller.Enabled = &enabled + } else { + controller.Enabled = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + controller.PropertyBag = propertyBag + } else { + controller.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterStorageProfileSnapshotController_STATUS interface (if implemented) to customize the conversion + var controllerAsAny any = controller + if augmentedController, ok := controllerAsAny.(augmentConversionForManagedClusterStorageProfileSnapshotController_STATUS); ok { + err := augmentedController.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterStorageProfileSnapshotController_STATUS populates the provided destination ManagedClusterStorageProfileSnapshotController_STATUS from our ManagedClusterStorageProfileSnapshotController_STATUS +func (controller *ManagedClusterStorageProfileSnapshotController_STATUS) AssignProperties_To_ManagedClusterStorageProfileSnapshotController_STATUS(destination *storage.ManagedClusterStorageProfileSnapshotController_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(controller.PropertyBag) + + // Enabled + if controller.Enabled != nil { + enabled := *controller.Enabled + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterStorageProfileSnapshotController_STATUS interface (if implemented) to customize the conversion + var controllerAsAny any = controller + if augmentedController, ok := controllerAsAny.(augmentConversionForManagedClusterStorageProfileSnapshotController_STATUS); ok { + err := augmentedController.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +// Storage version of v1api20231001.ManagedClusterWorkloadAutoScalerProfileKeda +// KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile. +type ManagedClusterWorkloadAutoScalerProfileKeda struct { + Enabled *bool `json:"enabled,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// AssignProperties_From_ManagedClusterWorkloadAutoScalerProfileKeda populates our ManagedClusterWorkloadAutoScalerProfileKeda from the provided source ManagedClusterWorkloadAutoScalerProfileKeda +func (keda *ManagedClusterWorkloadAutoScalerProfileKeda) AssignProperties_From_ManagedClusterWorkloadAutoScalerProfileKeda(source *storage.ManagedClusterWorkloadAutoScalerProfileKeda) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + keda.Enabled = &enabled + } else { + keda.Enabled = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + keda.PropertyBag = propertyBag + } else { + keda.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterWorkloadAutoScalerProfileKeda interface (if implemented) to customize the conversion + var kedaAsAny any = keda + if augmentedKeda, ok := kedaAsAny.(augmentConversionForManagedClusterWorkloadAutoScalerProfileKeda); ok { + err := augmentedKeda.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterWorkloadAutoScalerProfileKeda populates the provided destination ManagedClusterWorkloadAutoScalerProfileKeda from our ManagedClusterWorkloadAutoScalerProfileKeda +func (keda *ManagedClusterWorkloadAutoScalerProfileKeda) AssignProperties_To_ManagedClusterWorkloadAutoScalerProfileKeda(destination *storage.ManagedClusterWorkloadAutoScalerProfileKeda) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(keda.PropertyBag) + + // Enabled + if keda.Enabled != nil { + enabled := *keda.Enabled + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterWorkloadAutoScalerProfileKeda interface (if implemented) to customize the conversion + var kedaAsAny any = keda + if augmentedKeda, ok := kedaAsAny.(augmentConversionForManagedClusterWorkloadAutoScalerProfileKeda); ok { + err := augmentedKeda.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +// Storage version of v1api20231001.ManagedClusterWorkloadAutoScalerProfileKeda_STATUS +// KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile. +type ManagedClusterWorkloadAutoScalerProfileKeda_STATUS struct { + Enabled *bool `json:"enabled,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// AssignProperties_From_ManagedClusterWorkloadAutoScalerProfileKeda_STATUS populates our ManagedClusterWorkloadAutoScalerProfileKeda_STATUS from the provided source ManagedClusterWorkloadAutoScalerProfileKeda_STATUS +func (keda *ManagedClusterWorkloadAutoScalerProfileKeda_STATUS) AssignProperties_From_ManagedClusterWorkloadAutoScalerProfileKeda_STATUS(source *storage.ManagedClusterWorkloadAutoScalerProfileKeda_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + keda.Enabled = &enabled + } else { + keda.Enabled = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + keda.PropertyBag = propertyBag + } else { + keda.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterWorkloadAutoScalerProfileKeda_STATUS interface (if implemented) to customize the conversion + var kedaAsAny any = keda + if augmentedKeda, ok := kedaAsAny.(augmentConversionForManagedClusterWorkloadAutoScalerProfileKeda_STATUS); ok { + err := augmentedKeda.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterWorkloadAutoScalerProfileKeda_STATUS populates the provided destination ManagedClusterWorkloadAutoScalerProfileKeda_STATUS from our ManagedClusterWorkloadAutoScalerProfileKeda_STATUS +func (keda *ManagedClusterWorkloadAutoScalerProfileKeda_STATUS) AssignProperties_To_ManagedClusterWorkloadAutoScalerProfileKeda_STATUS(destination *storage.ManagedClusterWorkloadAutoScalerProfileKeda_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(keda.PropertyBag) + + // Enabled + if keda.Enabled != nil { + enabled := *keda.Enabled + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterWorkloadAutoScalerProfileKeda_STATUS interface (if implemented) to customize the conversion + var kedaAsAny any = keda + if augmentedKeda, ok := kedaAsAny.(augmentConversionForManagedClusterWorkloadAutoScalerProfileKeda_STATUS); ok { + err := augmentedKeda.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +// Storage version of v1api20231001.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler +// VPA (Vertical Pod Autoscaler) settings for the workload auto-scaler profile. +type ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler struct { + Enabled *bool `json:"enabled,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// AssignProperties_From_ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler populates our ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler from the provided source ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler +func (autoscaler *ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler) AssignProperties_From_ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler(source *storage.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + autoscaler.Enabled = &enabled + } else { + autoscaler.Enabled = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + autoscaler.PropertyBag = propertyBag + } else { + autoscaler.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler interface (if implemented) to customize the conversion + var autoscalerAsAny any = autoscaler + if augmentedAutoscaler, ok := autoscalerAsAny.(augmentConversionForManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler); ok { + err := augmentedAutoscaler.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler populates the provided destination ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler from our ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler +func (autoscaler *ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler) AssignProperties_To_ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler(destination *storage.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(autoscaler.PropertyBag) + + // Enabled + if autoscaler.Enabled != nil { + enabled := *autoscaler.Enabled + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler interface (if implemented) to customize the conversion + var autoscalerAsAny any = autoscaler + if augmentedAutoscaler, ok := autoscalerAsAny.(augmentConversionForManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler); ok { + err := augmentedAutoscaler.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +// Storage version of v1api20231001.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS +// VPA (Vertical Pod Autoscaler) settings for the workload auto-scaler profile. +type ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS struct { + Enabled *bool `json:"enabled,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// AssignProperties_From_ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS populates our ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS from the provided source ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS +func (autoscaler *ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS) AssignProperties_From_ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS(source *storage.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + autoscaler.Enabled = &enabled + } else { + autoscaler.Enabled = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + autoscaler.PropertyBag = propertyBag + } else { + autoscaler.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS interface (if implemented) to customize the conversion + var autoscalerAsAny any = autoscaler + if augmentedAutoscaler, ok := autoscalerAsAny.(augmentConversionForManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS); ok { + err := augmentedAutoscaler.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS populates the provided destination ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS from our ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS +func (autoscaler *ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS) AssignProperties_To_ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS(destination *storage.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(autoscaler.PropertyBag) + + // Enabled + if autoscaler.Enabled != nil { + enabled := *autoscaler.Enabled + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS interface (if implemented) to customize the conversion + var autoscalerAsAny any = autoscaler + if augmentedAutoscaler, ok := autoscalerAsAny.(augmentConversionForManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS); ok { + err := augmentedAutoscaler.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +// Storage version of v1api20231001.UpgradeOverrideSettings +// Settings for overrides when upgrading a cluster. +type UpgradeOverrideSettings struct { + ForceUpgrade *bool `json:"forceUpgrade,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Until *string `json:"until,omitempty"` +} + +// AssignProperties_From_UpgradeOverrideSettings populates our UpgradeOverrideSettings from the provided source UpgradeOverrideSettings +func (settings *UpgradeOverrideSettings) AssignProperties_From_UpgradeOverrideSettings(source *storage.UpgradeOverrideSettings) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // ForceUpgrade + if source.ForceUpgrade != nil { + forceUpgrade := *source.ForceUpgrade + settings.ForceUpgrade = &forceUpgrade + } else { + settings.ForceUpgrade = nil + } + + // Until + settings.Until = genruntime.ClonePointerToString(source.Until) + + // Update the property bag + if len(propertyBag) > 0 { + settings.PropertyBag = propertyBag + } else { + settings.PropertyBag = nil + } + + // Invoke the augmentConversionForUpgradeOverrideSettings interface (if implemented) to customize the conversion + var settingsAsAny any = settings + if augmentedSettings, ok := settingsAsAny.(augmentConversionForUpgradeOverrideSettings); ok { + err := augmentedSettings.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_UpgradeOverrideSettings populates the provided destination UpgradeOverrideSettings from our UpgradeOverrideSettings +func (settings *UpgradeOverrideSettings) AssignProperties_To_UpgradeOverrideSettings(destination *storage.UpgradeOverrideSettings) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(settings.PropertyBag) + + // ForceUpgrade + if settings.ForceUpgrade != nil { + forceUpgrade := *settings.ForceUpgrade + destination.ForceUpgrade = &forceUpgrade + } else { + destination.ForceUpgrade = nil + } + + // Until + destination.Until = genruntime.ClonePointerToString(settings.Until) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForUpgradeOverrideSettings interface (if implemented) to customize the conversion + var settingsAsAny any = settings + if augmentedSettings, ok := settingsAsAny.(augmentConversionForUpgradeOverrideSettings); ok { + err := augmentedSettings.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +// Storage version of v1api20231001.UpgradeOverrideSettings_STATUS +// Settings for overrides when upgrading a cluster. +type UpgradeOverrideSettings_STATUS struct { + ForceUpgrade *bool `json:"forceUpgrade,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Until *string `json:"until,omitempty"` +} + +// AssignProperties_From_UpgradeOverrideSettings_STATUS populates our UpgradeOverrideSettings_STATUS from the provided source UpgradeOverrideSettings_STATUS +func (settings *UpgradeOverrideSettings_STATUS) AssignProperties_From_UpgradeOverrideSettings_STATUS(source *storage.UpgradeOverrideSettings_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // ForceUpgrade + if source.ForceUpgrade != nil { + forceUpgrade := *source.ForceUpgrade + settings.ForceUpgrade = &forceUpgrade + } else { + settings.ForceUpgrade = nil + } + + // Until + settings.Until = genruntime.ClonePointerToString(source.Until) + + // Update the property bag + if len(propertyBag) > 0 { + settings.PropertyBag = propertyBag + } else { + settings.PropertyBag = nil + } + + // Invoke the augmentConversionForUpgradeOverrideSettings_STATUS interface (if implemented) to customize the conversion + var settingsAsAny any = settings + if augmentedSettings, ok := settingsAsAny.(augmentConversionForUpgradeOverrideSettings_STATUS); ok { + err := augmentedSettings.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_UpgradeOverrideSettings_STATUS populates the provided destination UpgradeOverrideSettings_STATUS from our UpgradeOverrideSettings_STATUS +func (settings *UpgradeOverrideSettings_STATUS) AssignProperties_To_UpgradeOverrideSettings_STATUS(destination *storage.UpgradeOverrideSettings_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(settings.PropertyBag) + + // ForceUpgrade + if settings.ForceUpgrade != nil { + forceUpgrade := *settings.ForceUpgrade + destination.ForceUpgrade = &forceUpgrade + } else { + destination.ForceUpgrade = nil + } + + // Until + destination.Until = genruntime.ClonePointerToString(settings.Until) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForUpgradeOverrideSettings_STATUS interface (if implemented) to customize the conversion + var settingsAsAny any = settings + if augmentedSettings, ok := settingsAsAny.(augmentConversionForUpgradeOverrideSettings_STATUS); ok { + err := augmentedSettings.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +// Storage version of v1api20231001.UserAssignedIdentityDetails +// Information about the user assigned identity for the resource +type UserAssignedIdentityDetails struct { + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Reference genruntime.ResourceReference `armReference:"Reference" json:"reference,omitempty"` +} + +// AssignProperties_From_UserAssignedIdentityDetails populates our UserAssignedIdentityDetails from the provided source UserAssignedIdentityDetails +func (details *UserAssignedIdentityDetails) AssignProperties_From_UserAssignedIdentityDetails(source *storage.UserAssignedIdentityDetails) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // Reference + details.Reference = source.Reference.Copy() + + // Update the property bag + if len(propertyBag) > 0 { + details.PropertyBag = propertyBag + } else { + details.PropertyBag = nil + } + + // Invoke the augmentConversionForUserAssignedIdentityDetails interface (if implemented) to customize the conversion + var detailsAsAny any = details + if augmentedDetails, ok := detailsAsAny.(augmentConversionForUserAssignedIdentityDetails); ok { + err := augmentedDetails.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_UserAssignedIdentityDetails populates the provided destination UserAssignedIdentityDetails from our UserAssignedIdentityDetails +func (details *UserAssignedIdentityDetails) AssignProperties_To_UserAssignedIdentityDetails(destination *storage.UserAssignedIdentityDetails) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(details.PropertyBag) + + // Reference + destination.Reference = details.Reference.Copy() + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForUserAssignedIdentityDetails interface (if implemented) to customize the conversion + var detailsAsAny any = details + if augmentedDetails, ok := detailsAsAny.(augmentConversionForUserAssignedIdentityDetails); ok { + err := augmentedDetails.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +// Storage version of v1api20231001.WindowsGmsaProfile +// Windows gMSA Profile in the managed cluster. +type WindowsGmsaProfile struct { + DnsServer *string `json:"dnsServer,omitempty"` + Enabled *bool `json:"enabled,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + RootDomainName *string `json:"rootDomainName,omitempty"` +} + +// AssignProperties_From_WindowsGmsaProfile populates our WindowsGmsaProfile from the provided source WindowsGmsaProfile +func (profile *WindowsGmsaProfile) AssignProperties_From_WindowsGmsaProfile(source *storage.WindowsGmsaProfile) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // DnsServer + profile.DnsServer = genruntime.ClonePointerToString(source.DnsServer) + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + profile.Enabled = &enabled + } else { + profile.Enabled = nil + } + + // RootDomainName + profile.RootDomainName = genruntime.ClonePointerToString(source.RootDomainName) + + // Update the property bag + if len(propertyBag) > 0 { + profile.PropertyBag = propertyBag + } else { + profile.PropertyBag = nil + } + + // Invoke the augmentConversionForWindowsGmsaProfile interface (if implemented) to customize the conversion + var profileAsAny any = profile + if augmentedProfile, ok := profileAsAny.(augmentConversionForWindowsGmsaProfile); ok { + err := augmentedProfile.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_WindowsGmsaProfile populates the provided destination WindowsGmsaProfile from our WindowsGmsaProfile +func (profile *WindowsGmsaProfile) AssignProperties_To_WindowsGmsaProfile(destination *storage.WindowsGmsaProfile) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) + + // DnsServer + destination.DnsServer = genruntime.ClonePointerToString(profile.DnsServer) + + // Enabled + if profile.Enabled != nil { + enabled := *profile.Enabled + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // RootDomainName + destination.RootDomainName = genruntime.ClonePointerToString(profile.RootDomainName) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForWindowsGmsaProfile interface (if implemented) to customize the conversion + var profileAsAny any = profile + if augmentedProfile, ok := profileAsAny.(augmentConversionForWindowsGmsaProfile); ok { + err := augmentedProfile.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +// Storage version of v1api20231001.WindowsGmsaProfile_STATUS +// Windows gMSA Profile in the managed cluster. +type WindowsGmsaProfile_STATUS struct { + DnsServer *string `json:"dnsServer,omitempty"` + Enabled *bool `json:"enabled,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + RootDomainName *string `json:"rootDomainName,omitempty"` +} + +// AssignProperties_From_WindowsGmsaProfile_STATUS populates our WindowsGmsaProfile_STATUS from the provided source WindowsGmsaProfile_STATUS +func (profile *WindowsGmsaProfile_STATUS) AssignProperties_From_WindowsGmsaProfile_STATUS(source *storage.WindowsGmsaProfile_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // DnsServer + profile.DnsServer = genruntime.ClonePointerToString(source.DnsServer) + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + profile.Enabled = &enabled + } else { + profile.Enabled = nil + } + + // RootDomainName + profile.RootDomainName = genruntime.ClonePointerToString(source.RootDomainName) + + // Update the property bag + if len(propertyBag) > 0 { + profile.PropertyBag = propertyBag + } else { + profile.PropertyBag = nil + } + + // Invoke the augmentConversionForWindowsGmsaProfile_STATUS interface (if implemented) to customize the conversion + var profileAsAny any = profile + if augmentedProfile, ok := profileAsAny.(augmentConversionForWindowsGmsaProfile_STATUS); ok { + err := augmentedProfile.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_WindowsGmsaProfile_STATUS populates the provided destination WindowsGmsaProfile_STATUS from our WindowsGmsaProfile_STATUS +func (profile *WindowsGmsaProfile_STATUS) AssignProperties_To_WindowsGmsaProfile_STATUS(destination *storage.WindowsGmsaProfile_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) + + // DnsServer + destination.DnsServer = genruntime.ClonePointerToString(profile.DnsServer) + + // Enabled + if profile.Enabled != nil { + enabled := *profile.Enabled + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // RootDomainName + destination.RootDomainName = genruntime.ClonePointerToString(profile.RootDomainName) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForWindowsGmsaProfile_STATUS interface (if implemented) to customize the conversion + var profileAsAny any = profile + if augmentedProfile, ok := profileAsAny.(augmentConversionForWindowsGmsaProfile_STATUS); ok { + err := augmentedProfile.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +type augmentConversionForAzureKeyVaultKms interface { + AssignPropertiesFrom(src *storage.AzureKeyVaultKms) error + AssignPropertiesTo(dst *storage.AzureKeyVaultKms) error +} + +type augmentConversionForAzureKeyVaultKms_STATUS interface { + AssignPropertiesFrom(src *storage.AzureKeyVaultKms_STATUS) error + AssignPropertiesTo(dst *storage.AzureKeyVaultKms_STATUS) error +} + +type augmentConversionForContainerServiceSshConfiguration interface { + AssignPropertiesFrom(src *storage.ContainerServiceSshConfiguration) error + AssignPropertiesTo(dst *storage.ContainerServiceSshConfiguration) error +} + +type augmentConversionForContainerServiceSshConfiguration_STATUS interface { + AssignPropertiesFrom(src *storage.ContainerServiceSshConfiguration_STATUS) error + AssignPropertiesTo(dst *storage.ContainerServiceSshConfiguration_STATUS) error +} + +type augmentConversionForDelegatedResource interface { + AssignPropertiesFrom(src *storage.DelegatedResource) error + AssignPropertiesTo(dst *storage.DelegatedResource) error +} + +type augmentConversionForDelegatedResource_STATUS interface { + AssignPropertiesFrom(src *storage.DelegatedResource_STATUS) error + AssignPropertiesTo(dst *storage.DelegatedResource_STATUS) error +} + +type augmentConversionForIstioServiceMesh interface { + AssignPropertiesFrom(src *storage.IstioServiceMesh) error + AssignPropertiesTo(dst *storage.IstioServiceMesh) error +} + +type augmentConversionForIstioServiceMesh_STATUS interface { + AssignPropertiesFrom(src *storage.IstioServiceMesh_STATUS) error + AssignPropertiesTo(dst *storage.IstioServiceMesh_STATUS) error +} + +type augmentConversionForManagedClusterAzureMonitorProfileMetrics interface { + AssignPropertiesFrom(src *storage.ManagedClusterAzureMonitorProfileMetrics) error + AssignPropertiesTo(dst *storage.ManagedClusterAzureMonitorProfileMetrics) error +} + +type augmentConversionForManagedClusterAzureMonitorProfileMetrics_STATUS interface { + AssignPropertiesFrom(src *storage.ManagedClusterAzureMonitorProfileMetrics_STATUS) error + AssignPropertiesTo(dst *storage.ManagedClusterAzureMonitorProfileMetrics_STATUS) error +} + +type augmentConversionForManagedClusterIdentity_UserAssignedIdentities_STATUS interface { + AssignPropertiesFrom(src *storage.ManagedClusterIdentity_UserAssignedIdentities_STATUS) error + AssignPropertiesTo(dst *storage.ManagedClusterIdentity_UserAssignedIdentities_STATUS) error +} + +type augmentConversionForManagedClusterLoadBalancerProfile interface { + AssignPropertiesFrom(src *storage.ManagedClusterLoadBalancerProfile) error + AssignPropertiesTo(dst *storage.ManagedClusterLoadBalancerProfile) error +} + +type augmentConversionForManagedClusterLoadBalancerProfile_STATUS interface { + AssignPropertiesFrom(src *storage.ManagedClusterLoadBalancerProfile_STATUS) error + AssignPropertiesTo(dst *storage.ManagedClusterLoadBalancerProfile_STATUS) error +} + +type augmentConversionForManagedClusterNATGatewayProfile interface { + AssignPropertiesFrom(src *storage.ManagedClusterNATGatewayProfile) error + AssignPropertiesTo(dst *storage.ManagedClusterNATGatewayProfile) error +} + +type augmentConversionForManagedClusterNATGatewayProfile_STATUS interface { + AssignPropertiesFrom(src *storage.ManagedClusterNATGatewayProfile_STATUS) error + AssignPropertiesTo(dst *storage.ManagedClusterNATGatewayProfile_STATUS) error +} + +type augmentConversionForManagedClusterOperatorConfigMaps interface { + AssignPropertiesFrom(src *storage.ManagedClusterOperatorConfigMaps) error + AssignPropertiesTo(dst *storage.ManagedClusterOperatorConfigMaps) error +} + +type augmentConversionForManagedClusterOperatorSecrets interface { + AssignPropertiesFrom(src *storage.ManagedClusterOperatorSecrets) error + AssignPropertiesTo(dst *storage.ManagedClusterOperatorSecrets) error +} + +type augmentConversionForManagedClusterPodIdentity interface { + AssignPropertiesFrom(src *storage.ManagedClusterPodIdentity) error + AssignPropertiesTo(dst *storage.ManagedClusterPodIdentity) error +} + +type augmentConversionForManagedClusterPodIdentity_STATUS interface { + AssignPropertiesFrom(src *storage.ManagedClusterPodIdentity_STATUS) error + AssignPropertiesTo(dst *storage.ManagedClusterPodIdentity_STATUS) error +} + +type augmentConversionForManagedClusterPodIdentityException interface { + AssignPropertiesFrom(src *storage.ManagedClusterPodIdentityException) error + AssignPropertiesTo(dst *storage.ManagedClusterPodIdentityException) error +} + +type augmentConversionForManagedClusterPodIdentityException_STATUS interface { + AssignPropertiesFrom(src *storage.ManagedClusterPodIdentityException_STATUS) error + AssignPropertiesTo(dst *storage.ManagedClusterPodIdentityException_STATUS) error +} + +type augmentConversionForManagedClusterSecurityProfileDefender interface { + AssignPropertiesFrom(src *storage.ManagedClusterSecurityProfileDefender) error + AssignPropertiesTo(dst *storage.ManagedClusterSecurityProfileDefender) error +} + +type augmentConversionForManagedClusterSecurityProfileDefender_STATUS interface { + AssignPropertiesFrom(src *storage.ManagedClusterSecurityProfileDefender_STATUS) error + AssignPropertiesTo(dst *storage.ManagedClusterSecurityProfileDefender_STATUS) error +} + +type augmentConversionForManagedClusterSecurityProfileImageCleaner interface { + AssignPropertiesFrom(src *storage.ManagedClusterSecurityProfileImageCleaner) error + AssignPropertiesTo(dst *storage.ManagedClusterSecurityProfileImageCleaner) error +} + +type augmentConversionForManagedClusterSecurityProfileImageCleaner_STATUS interface { + AssignPropertiesFrom(src *storage.ManagedClusterSecurityProfileImageCleaner_STATUS) error + AssignPropertiesTo(dst *storage.ManagedClusterSecurityProfileImageCleaner_STATUS) error +} + +type augmentConversionForManagedClusterSecurityProfileWorkloadIdentity interface { + AssignPropertiesFrom(src *storage.ManagedClusterSecurityProfileWorkloadIdentity) error + AssignPropertiesTo(dst *storage.ManagedClusterSecurityProfileWorkloadIdentity) error +} + +type augmentConversionForManagedClusterSecurityProfileWorkloadIdentity_STATUS interface { + AssignPropertiesFrom(src *storage.ManagedClusterSecurityProfileWorkloadIdentity_STATUS) error + AssignPropertiesTo(dst *storage.ManagedClusterSecurityProfileWorkloadIdentity_STATUS) error +} + +type augmentConversionForManagedClusterStorageProfileBlobCSIDriver interface { + AssignPropertiesFrom(src *storage.ManagedClusterStorageProfileBlobCSIDriver) error + AssignPropertiesTo(dst *storage.ManagedClusterStorageProfileBlobCSIDriver) error +} + +type augmentConversionForManagedClusterStorageProfileBlobCSIDriver_STATUS interface { + AssignPropertiesFrom(src *storage.ManagedClusterStorageProfileBlobCSIDriver_STATUS) error + AssignPropertiesTo(dst *storage.ManagedClusterStorageProfileBlobCSIDriver_STATUS) error +} + +type augmentConversionForManagedClusterStorageProfileDiskCSIDriver interface { + AssignPropertiesFrom(src *storage.ManagedClusterStorageProfileDiskCSIDriver) error + AssignPropertiesTo(dst *storage.ManagedClusterStorageProfileDiskCSIDriver) error +} + +type augmentConversionForManagedClusterStorageProfileDiskCSIDriver_STATUS interface { + AssignPropertiesFrom(src *storage.ManagedClusterStorageProfileDiskCSIDriver_STATUS) error + AssignPropertiesTo(dst *storage.ManagedClusterStorageProfileDiskCSIDriver_STATUS) error +} + +type augmentConversionForManagedClusterStorageProfileFileCSIDriver interface { + AssignPropertiesFrom(src *storage.ManagedClusterStorageProfileFileCSIDriver) error + AssignPropertiesTo(dst *storage.ManagedClusterStorageProfileFileCSIDriver) error +} + +type augmentConversionForManagedClusterStorageProfileFileCSIDriver_STATUS interface { + AssignPropertiesFrom(src *storage.ManagedClusterStorageProfileFileCSIDriver_STATUS) error + AssignPropertiesTo(dst *storage.ManagedClusterStorageProfileFileCSIDriver_STATUS) error +} + +type augmentConversionForManagedClusterStorageProfileSnapshotController interface { + AssignPropertiesFrom(src *storage.ManagedClusterStorageProfileSnapshotController) error + AssignPropertiesTo(dst *storage.ManagedClusterStorageProfileSnapshotController) error +} + +type augmentConversionForManagedClusterStorageProfileSnapshotController_STATUS interface { + AssignPropertiesFrom(src *storage.ManagedClusterStorageProfileSnapshotController_STATUS) error + AssignPropertiesTo(dst *storage.ManagedClusterStorageProfileSnapshotController_STATUS) error +} + +type augmentConversionForManagedClusterWorkloadAutoScalerProfileKeda interface { + AssignPropertiesFrom(src *storage.ManagedClusterWorkloadAutoScalerProfileKeda) error + AssignPropertiesTo(dst *storage.ManagedClusterWorkloadAutoScalerProfileKeda) error +} + +type augmentConversionForManagedClusterWorkloadAutoScalerProfileKeda_STATUS interface { + AssignPropertiesFrom(src *storage.ManagedClusterWorkloadAutoScalerProfileKeda_STATUS) error + AssignPropertiesTo(dst *storage.ManagedClusterWorkloadAutoScalerProfileKeda_STATUS) error +} + +type augmentConversionForManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler interface { + AssignPropertiesFrom(src *storage.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler) error + AssignPropertiesTo(dst *storage.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler) error +} + +type augmentConversionForManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS interface { + AssignPropertiesFrom(src *storage.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS) error + AssignPropertiesTo(dst *storage.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS) error +} + +type augmentConversionForUpgradeOverrideSettings interface { + AssignPropertiesFrom(src *storage.UpgradeOverrideSettings) error + AssignPropertiesTo(dst *storage.UpgradeOverrideSettings) error +} + +type augmentConversionForUpgradeOverrideSettings_STATUS interface { + AssignPropertiesFrom(src *storage.UpgradeOverrideSettings_STATUS) error + AssignPropertiesTo(dst *storage.UpgradeOverrideSettings_STATUS) error +} + +type augmentConversionForUserAssignedIdentityDetails interface { + AssignPropertiesFrom(src *storage.UserAssignedIdentityDetails) error + AssignPropertiesTo(dst *storage.UserAssignedIdentityDetails) error +} + +type augmentConversionForWindowsGmsaProfile interface { + AssignPropertiesFrom(src *storage.WindowsGmsaProfile) error + AssignPropertiesTo(dst *storage.WindowsGmsaProfile) error +} + +type augmentConversionForWindowsGmsaProfile_STATUS interface { + AssignPropertiesFrom(src *storage.WindowsGmsaProfile_STATUS) error + AssignPropertiesTo(dst *storage.WindowsGmsaProfile_STATUS) error +} + +// Storage version of v1api20231001.ContainerServiceSshPublicKey +// Contains information about SSH certificate public key data. +type ContainerServiceSshPublicKey struct { + KeyData *string `json:"keyData,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// AssignProperties_From_ContainerServiceSshPublicKey populates our ContainerServiceSshPublicKey from the provided source ContainerServiceSshPublicKey +func (publicKey *ContainerServiceSshPublicKey) AssignProperties_From_ContainerServiceSshPublicKey(source *storage.ContainerServiceSshPublicKey) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // KeyData + publicKey.KeyData = genruntime.ClonePointerToString(source.KeyData) + + // Update the property bag + if len(propertyBag) > 0 { + publicKey.PropertyBag = propertyBag + } else { + publicKey.PropertyBag = nil + } + + // Invoke the augmentConversionForContainerServiceSshPublicKey interface (if implemented) to customize the conversion + var publicKeyAsAny any = publicKey + if augmentedPublicKey, ok := publicKeyAsAny.(augmentConversionForContainerServiceSshPublicKey); ok { + err := augmentedPublicKey.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_ContainerServiceSshPublicKey populates the provided destination ContainerServiceSshPublicKey from our ContainerServiceSshPublicKey +func (publicKey *ContainerServiceSshPublicKey) AssignProperties_To_ContainerServiceSshPublicKey(destination *storage.ContainerServiceSshPublicKey) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(publicKey.PropertyBag) + + // KeyData + destination.KeyData = genruntime.ClonePointerToString(publicKey.KeyData) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForContainerServiceSshPublicKey interface (if implemented) to customize the conversion + var publicKeyAsAny any = publicKey + if augmentedPublicKey, ok := publicKeyAsAny.(augmentConversionForContainerServiceSshPublicKey); ok { + err := augmentedPublicKey.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +// Storage version of v1api20231001.ContainerServiceSshPublicKey_STATUS +// Contains information about SSH certificate public key data. +type ContainerServiceSshPublicKey_STATUS struct { + KeyData *string `json:"keyData,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} - // CapacityReservationGroupReference: AKS will associate the specified agent pool with the Capacity Reservation Group. - CapacityReservationGroupReference *genruntime.ResourceReference `armReference:"CapacityReservationGroupID" json:"capacityReservationGroupReference,omitempty"` - Count *int `json:"count,omitempty"` - CreationData *CreationData `json:"creationData,omitempty"` - EnableAutoScaling *bool `json:"enableAutoScaling,omitempty"` - EnableEncryptionAtHost *bool `json:"enableEncryptionAtHost,omitempty"` - EnableFIPS *bool `json:"enableFIPS,omitempty"` - EnableNodePublicIP *bool `json:"enableNodePublicIP,omitempty"` - EnableUltraSSD *bool `json:"enableUltraSSD,omitempty"` - GpuInstanceProfile *string `json:"gpuInstanceProfile,omitempty"` +// AssignProperties_From_ContainerServiceSshPublicKey_STATUS populates our ContainerServiceSshPublicKey_STATUS from the provided source ContainerServiceSshPublicKey_STATUS +func (publicKey *ContainerServiceSshPublicKey_STATUS) AssignProperties_From_ContainerServiceSshPublicKey_STATUS(source *storage.ContainerServiceSshPublicKey_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) - // HostGroupReference: This is of the form: - // /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. - // For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). - HostGroupReference *genruntime.ResourceReference `armReference:"HostGroupID" json:"hostGroupReference,omitempty"` - KubeletConfig *KubeletConfig `json:"kubeletConfig,omitempty"` - KubeletDiskType *string `json:"kubeletDiskType,omitempty"` - LinuxOSConfig *LinuxOSConfig `json:"linuxOSConfig,omitempty"` - MaxCount *int `json:"maxCount,omitempty"` - MaxPods *int `json:"maxPods,omitempty"` - MinCount *int `json:"minCount,omitempty"` - Mode *string `json:"mode,omitempty"` - Name *string `json:"name,omitempty"` - NetworkProfile *AgentPoolNetworkProfile `json:"networkProfile,omitempty"` - NodeLabels map[string]string `json:"nodeLabels,omitempty" serializationType:"explicitEmptyCollection"` + // KeyData + publicKey.KeyData = genruntime.ClonePointerToString(source.KeyData) - // NodePublicIPPrefixReference: This is of the form: - // /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} - NodePublicIPPrefixReference *genruntime.ResourceReference `armReference:"NodePublicIPPrefixID" json:"nodePublicIPPrefixReference,omitempty"` - NodeTaints []string `json:"nodeTaints,omitempty" serializationType:"explicitEmptyCollection"` - OrchestratorVersion *string `json:"orchestratorVersion,omitempty"` - OsDiskSizeGB *int `json:"osDiskSizeGB,omitempty"` - OsDiskType *string `json:"osDiskType,omitempty"` - OsSKU *string `json:"osSKU,omitempty"` - OsType *string `json:"osType,omitempty"` + // Update the property bag + if len(propertyBag) > 0 { + publicKey.PropertyBag = propertyBag + } else { + publicKey.PropertyBag = nil + } - // PodSubnetReference: If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). - // This is of the form: - // /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} - PodSubnetReference *genruntime.ResourceReference `armReference:"PodSubnetID" json:"podSubnetReference,omitempty"` - PowerState *PowerState `json:"powerState,omitempty"` - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + // Invoke the augmentConversionForContainerServiceSshPublicKey_STATUS interface (if implemented) to customize the conversion + var publicKeyAsAny any = publicKey + if augmentedPublicKey, ok := publicKeyAsAny.(augmentConversionForContainerServiceSshPublicKey_STATUS); ok { + err := augmentedPublicKey.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } - // ProximityPlacementGroupReference: The ID for Proximity Placement Group. - ProximityPlacementGroupReference *genruntime.ResourceReference `armReference:"ProximityPlacementGroupID" json:"proximityPlacementGroupReference,omitempty"` - ScaleDownMode *string `json:"scaleDownMode,omitempty"` - ScaleSetEvictionPolicy *string `json:"scaleSetEvictionPolicy,omitempty"` - ScaleSetPriority *string `json:"scaleSetPriority,omitempty"` - SpotMaxPrice *float64 `json:"spotMaxPrice,omitempty"` - Tags map[string]string `json:"tags,omitempty" serializationType:"explicitEmptyCollection"` - Type *string `json:"type,omitempty"` - UpgradeSettings *AgentPoolUpgradeSettings `json:"upgradeSettings,omitempty"` - VmSize *string `json:"vmSize,omitempty"` + // No error + return nil +} - // VnetSubnetReference: If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is - // specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: - // /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} - VnetSubnetReference *genruntime.ResourceReference `armReference:"VnetSubnetID" json:"vnetSubnetReference,omitempty"` - WorkloadRuntime *string `json:"workloadRuntime,omitempty"` +// AssignProperties_To_ContainerServiceSshPublicKey_STATUS populates the provided destination ContainerServiceSshPublicKey_STATUS from our ContainerServiceSshPublicKey_STATUS +func (publicKey *ContainerServiceSshPublicKey_STATUS) AssignProperties_To_ContainerServiceSshPublicKey_STATUS(destination *storage.ContainerServiceSshPublicKey_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(publicKey.PropertyBag) + + // KeyData + destination.KeyData = genruntime.ClonePointerToString(publicKey.KeyData) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForContainerServiceSshPublicKey_STATUS interface (if implemented) to customize the conversion + var publicKeyAsAny any = publicKey + if augmentedPublicKey, ok := publicKeyAsAny.(augmentConversionForContainerServiceSshPublicKey_STATUS); ok { + err := augmentedPublicKey.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil } -// Storage version of v1api20231001.ManagedClusterAgentPoolProfile_STATUS -// Profile for the container service agent pool. -type ManagedClusterAgentPoolProfile_STATUS struct { - AvailabilityZones []string `json:"availabilityZones,omitempty"` - CapacityReservationGroupID *string `json:"capacityReservationGroupID,omitempty"` - Count *int `json:"count,omitempty"` - CreationData *CreationData_STATUS `json:"creationData,omitempty"` - CurrentOrchestratorVersion *string `json:"currentOrchestratorVersion,omitempty"` - EnableAutoScaling *bool `json:"enableAutoScaling,omitempty"` - EnableEncryptionAtHost *bool `json:"enableEncryptionAtHost,omitempty"` - EnableFIPS *bool `json:"enableFIPS,omitempty"` - EnableNodePublicIP *bool `json:"enableNodePublicIP,omitempty"` - EnableUltraSSD *bool `json:"enableUltraSSD,omitempty"` - GpuInstanceProfile *string `json:"gpuInstanceProfile,omitempty"` - HostGroupID *string `json:"hostGroupID,omitempty"` - KubeletConfig *KubeletConfig_STATUS `json:"kubeletConfig,omitempty"` - KubeletDiskType *string `json:"kubeletDiskType,omitempty"` - LinuxOSConfig *LinuxOSConfig_STATUS `json:"linuxOSConfig,omitempty"` - MaxCount *int `json:"maxCount,omitempty"` - MaxPods *int `json:"maxPods,omitempty"` - MinCount *int `json:"minCount,omitempty"` - Mode *string `json:"mode,omitempty"` - Name *string `json:"name,omitempty"` - NetworkProfile *AgentPoolNetworkProfile_STATUS `json:"networkProfile,omitempty"` - NodeImageVersion *string `json:"nodeImageVersion,omitempty"` - NodeLabels map[string]string `json:"nodeLabels,omitempty"` - NodePublicIPPrefixID *string `json:"nodePublicIPPrefixID,omitempty"` - NodeTaints []string `json:"nodeTaints,omitempty"` - OrchestratorVersion *string `json:"orchestratorVersion,omitempty"` - OsDiskSizeGB *int `json:"osDiskSizeGB,omitempty"` - OsDiskType *string `json:"osDiskType,omitempty"` - OsSKU *string `json:"osSKU,omitempty"` - OsType *string `json:"osType,omitempty"` - PodSubnetID *string `json:"podSubnetID,omitempty"` - PowerState *PowerState_STATUS `json:"powerState,omitempty"` - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` - ProvisioningState *string `json:"provisioningState,omitempty"` - ProximityPlacementGroupID *string `json:"proximityPlacementGroupID,omitempty"` - ScaleDownMode *string `json:"scaleDownMode,omitempty"` - ScaleSetEvictionPolicy *string `json:"scaleSetEvictionPolicy,omitempty"` - ScaleSetPriority *string `json:"scaleSetPriority,omitempty"` - SpotMaxPrice *float64 `json:"spotMaxPrice,omitempty"` - Tags map[string]string `json:"tags,omitempty"` - Type *string `json:"type,omitempty"` - UpgradeSettings *AgentPoolUpgradeSettings_STATUS `json:"upgradeSettings,omitempty"` - VmSize *string `json:"vmSize,omitempty"` - VnetSubnetID *string `json:"vnetSubnetID,omitempty"` - WorkloadRuntime *string `json:"workloadRuntime,omitempty"` +// Storage version of v1api20231001.IstioCertificateAuthority +// Istio Service Mesh Certificate Authority (CA) configuration. For now, we only support plugin certificates as described +// here https://aka.ms/asm-plugin-ca +type IstioCertificateAuthority struct { + Plugin *IstioPluginCertificateAuthority `json:"plugin,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// AssignProperties_From_IstioCertificateAuthority populates our IstioCertificateAuthority from the provided source IstioCertificateAuthority +func (authority *IstioCertificateAuthority) AssignProperties_From_IstioCertificateAuthority(source *storage.IstioCertificateAuthority) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // Plugin + if source.Plugin != nil { + var plugin IstioPluginCertificateAuthority + err := plugin.AssignProperties_From_IstioPluginCertificateAuthority(source.Plugin) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_IstioPluginCertificateAuthority() to populate field Plugin") + } + authority.Plugin = &plugin + } else { + authority.Plugin = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + authority.PropertyBag = propertyBag + } else { + authority.PropertyBag = nil + } + + // Invoke the augmentConversionForIstioCertificateAuthority interface (if implemented) to customize the conversion + var authorityAsAny any = authority + if augmentedAuthority, ok := authorityAsAny.(augmentConversionForIstioCertificateAuthority); ok { + err := augmentedAuthority.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_IstioCertificateAuthority populates the provided destination IstioCertificateAuthority from our IstioCertificateAuthority +func (authority *IstioCertificateAuthority) AssignProperties_To_IstioCertificateAuthority(destination *storage.IstioCertificateAuthority) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(authority.PropertyBag) + + // Plugin + if authority.Plugin != nil { + var plugin storage.IstioPluginCertificateAuthority + err := authority.Plugin.AssignProperties_To_IstioPluginCertificateAuthority(&plugin) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_IstioPluginCertificateAuthority() to populate field Plugin") + } + destination.Plugin = &plugin + } else { + destination.Plugin = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForIstioCertificateAuthority interface (if implemented) to customize the conversion + var authorityAsAny any = authority + if augmentedAuthority, ok := authorityAsAny.(augmentConversionForIstioCertificateAuthority); ok { + err := augmentedAuthority.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +// Storage version of v1api20231001.IstioCertificateAuthority_STATUS +// Istio Service Mesh Certificate Authority (CA) configuration. For now, we only support plugin certificates as described +// here https://aka.ms/asm-plugin-ca +type IstioCertificateAuthority_STATUS struct { + Plugin *IstioPluginCertificateAuthority_STATUS `json:"plugin,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// AssignProperties_From_IstioCertificateAuthority_STATUS populates our IstioCertificateAuthority_STATUS from the provided source IstioCertificateAuthority_STATUS +func (authority *IstioCertificateAuthority_STATUS) AssignProperties_From_IstioCertificateAuthority_STATUS(source *storage.IstioCertificateAuthority_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // Plugin + if source.Plugin != nil { + var plugin IstioPluginCertificateAuthority_STATUS + err := plugin.AssignProperties_From_IstioPluginCertificateAuthority_STATUS(source.Plugin) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_IstioPluginCertificateAuthority_STATUS() to populate field Plugin") + } + authority.Plugin = &plugin + } else { + authority.Plugin = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + authority.PropertyBag = propertyBag + } else { + authority.PropertyBag = nil + } + + // Invoke the augmentConversionForIstioCertificateAuthority_STATUS interface (if implemented) to customize the conversion + var authorityAsAny any = authority + if augmentedAuthority, ok := authorityAsAny.(augmentConversionForIstioCertificateAuthority_STATUS); ok { + err := augmentedAuthority.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_IstioCertificateAuthority_STATUS populates the provided destination IstioCertificateAuthority_STATUS from our IstioCertificateAuthority_STATUS +func (authority *IstioCertificateAuthority_STATUS) AssignProperties_To_IstioCertificateAuthority_STATUS(destination *storage.IstioCertificateAuthority_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(authority.PropertyBag) + + // Plugin + if authority.Plugin != nil { + var plugin storage.IstioPluginCertificateAuthority_STATUS + err := authority.Plugin.AssignProperties_To_IstioPluginCertificateAuthority_STATUS(&plugin) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_IstioPluginCertificateAuthority_STATUS() to populate field Plugin") + } + destination.Plugin = &plugin + } else { + destination.Plugin = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForIstioCertificateAuthority_STATUS interface (if implemented) to customize the conversion + var authorityAsAny any = authority + if augmentedAuthority, ok := authorityAsAny.(augmentConversionForIstioCertificateAuthority_STATUS); ok { + err := augmentedAuthority.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +// Storage version of v1api20231001.IstioComponents +// Istio components configuration. +type IstioComponents struct { + EgressGateways []IstioEgressGateway `json:"egressGateways,omitempty"` + IngressGateways []IstioIngressGateway `json:"ingressGateways,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// AssignProperties_From_IstioComponents populates our IstioComponents from the provided source IstioComponents +func (components *IstioComponents) AssignProperties_From_IstioComponents(source *storage.IstioComponents) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // EgressGateways + if source.EgressGateways != nil { + egressGatewayList := make([]IstioEgressGateway, len(source.EgressGateways)) + for egressGatewayIndex, egressGatewayItem := range source.EgressGateways { + // Shadow the loop variable to avoid aliasing + egressGatewayItem := egressGatewayItem + var egressGateway IstioEgressGateway + err := egressGateway.AssignProperties_From_IstioEgressGateway(&egressGatewayItem) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_IstioEgressGateway() to populate field EgressGateways") + } + egressGatewayList[egressGatewayIndex] = egressGateway + } + components.EgressGateways = egressGatewayList + } else { + components.EgressGateways = nil + } + + // IngressGateways + if source.IngressGateways != nil { + ingressGatewayList := make([]IstioIngressGateway, len(source.IngressGateways)) + for ingressGatewayIndex, ingressGatewayItem := range source.IngressGateways { + // Shadow the loop variable to avoid aliasing + ingressGatewayItem := ingressGatewayItem + var ingressGateway IstioIngressGateway + err := ingressGateway.AssignProperties_From_IstioIngressGateway(&ingressGatewayItem) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_IstioIngressGateway() to populate field IngressGateways") + } + ingressGatewayList[ingressGatewayIndex] = ingressGateway + } + components.IngressGateways = ingressGatewayList + } else { + components.IngressGateways = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + components.PropertyBag = propertyBag + } else { + components.PropertyBag = nil + } + + // Invoke the augmentConversionForIstioComponents interface (if implemented) to customize the conversion + var componentsAsAny any = components + if augmentedComponents, ok := componentsAsAny.(augmentConversionForIstioComponents); ok { + err := augmentedComponents.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_IstioComponents populates the provided destination IstioComponents from our IstioComponents +func (components *IstioComponents) AssignProperties_To_IstioComponents(destination *storage.IstioComponents) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(components.PropertyBag) + + // EgressGateways + if components.EgressGateways != nil { + egressGatewayList := make([]storage.IstioEgressGateway, len(components.EgressGateways)) + for egressGatewayIndex, egressGatewayItem := range components.EgressGateways { + // Shadow the loop variable to avoid aliasing + egressGatewayItem := egressGatewayItem + var egressGateway storage.IstioEgressGateway + err := egressGatewayItem.AssignProperties_To_IstioEgressGateway(&egressGateway) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_IstioEgressGateway() to populate field EgressGateways") + } + egressGatewayList[egressGatewayIndex] = egressGateway + } + destination.EgressGateways = egressGatewayList + } else { + destination.EgressGateways = nil + } + + // IngressGateways + if components.IngressGateways != nil { + ingressGatewayList := make([]storage.IstioIngressGateway, len(components.IngressGateways)) + for ingressGatewayIndex, ingressGatewayItem := range components.IngressGateways { + // Shadow the loop variable to avoid aliasing + ingressGatewayItem := ingressGatewayItem + var ingressGateway storage.IstioIngressGateway + err := ingressGatewayItem.AssignProperties_To_IstioIngressGateway(&ingressGateway) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_IstioIngressGateway() to populate field IngressGateways") + } + ingressGatewayList[ingressGatewayIndex] = ingressGateway + } + destination.IngressGateways = ingressGatewayList + } else { + destination.IngressGateways = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForIstioComponents interface (if implemented) to customize the conversion + var componentsAsAny any = components + if augmentedComponents, ok := componentsAsAny.(augmentConversionForIstioComponents); ok { + err := augmentedComponents.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +// Storage version of v1api20231001.IstioComponents_STATUS +// Istio components configuration. +type IstioComponents_STATUS struct { + EgressGateways []IstioEgressGateway_STATUS `json:"egressGateways,omitempty"` + IngressGateways []IstioIngressGateway_STATUS `json:"ingressGateways,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// AssignProperties_From_IstioComponents_STATUS populates our IstioComponents_STATUS from the provided source IstioComponents_STATUS +func (components *IstioComponents_STATUS) AssignProperties_From_IstioComponents_STATUS(source *storage.IstioComponents_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // EgressGateways + if source.EgressGateways != nil { + egressGatewayList := make([]IstioEgressGateway_STATUS, len(source.EgressGateways)) + for egressGatewayIndex, egressGatewayItem := range source.EgressGateways { + // Shadow the loop variable to avoid aliasing + egressGatewayItem := egressGatewayItem + var egressGateway IstioEgressGateway_STATUS + err := egressGateway.AssignProperties_From_IstioEgressGateway_STATUS(&egressGatewayItem) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_IstioEgressGateway_STATUS() to populate field EgressGateways") + } + egressGatewayList[egressGatewayIndex] = egressGateway + } + components.EgressGateways = egressGatewayList + } else { + components.EgressGateways = nil + } + + // IngressGateways + if source.IngressGateways != nil { + ingressGatewayList := make([]IstioIngressGateway_STATUS, len(source.IngressGateways)) + for ingressGatewayIndex, ingressGatewayItem := range source.IngressGateways { + // Shadow the loop variable to avoid aliasing + ingressGatewayItem := ingressGatewayItem + var ingressGateway IstioIngressGateway_STATUS + err := ingressGateway.AssignProperties_From_IstioIngressGateway_STATUS(&ingressGatewayItem) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_IstioIngressGateway_STATUS() to populate field IngressGateways") + } + ingressGatewayList[ingressGatewayIndex] = ingressGateway + } + components.IngressGateways = ingressGatewayList + } else { + components.IngressGateways = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + components.PropertyBag = propertyBag + } else { + components.PropertyBag = nil + } + + // Invoke the augmentConversionForIstioComponents_STATUS interface (if implemented) to customize the conversion + var componentsAsAny any = components + if augmentedComponents, ok := componentsAsAny.(augmentConversionForIstioComponents_STATUS); ok { + err := augmentedComponents.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil } -// Storage version of v1api20231001.ManagedClusterAPIServerAccessProfile -// Access profile for managed cluster API server. -type ManagedClusterAPIServerAccessProfile struct { - AuthorizedIPRanges []string `json:"authorizedIPRanges,omitempty"` - DisableRunCommand *bool `json:"disableRunCommand,omitempty"` - EnablePrivateCluster *bool `json:"enablePrivateCluster,omitempty"` - EnablePrivateClusterPublicFQDN *bool `json:"enablePrivateClusterPublicFQDN,omitempty"` - PrivateDNSZone *string `json:"privateDNSZone,omitempty"` - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +// AssignProperties_To_IstioComponents_STATUS populates the provided destination IstioComponents_STATUS from our IstioComponents_STATUS +func (components *IstioComponents_STATUS) AssignProperties_To_IstioComponents_STATUS(destination *storage.IstioComponents_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(components.PropertyBag) + + // EgressGateways + if components.EgressGateways != nil { + egressGatewayList := make([]storage.IstioEgressGateway_STATUS, len(components.EgressGateways)) + for egressGatewayIndex, egressGatewayItem := range components.EgressGateways { + // Shadow the loop variable to avoid aliasing + egressGatewayItem := egressGatewayItem + var egressGateway storage.IstioEgressGateway_STATUS + err := egressGatewayItem.AssignProperties_To_IstioEgressGateway_STATUS(&egressGateway) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_IstioEgressGateway_STATUS() to populate field EgressGateways") + } + egressGatewayList[egressGatewayIndex] = egressGateway + } + destination.EgressGateways = egressGatewayList + } else { + destination.EgressGateways = nil + } + + // IngressGateways + if components.IngressGateways != nil { + ingressGatewayList := make([]storage.IstioIngressGateway_STATUS, len(components.IngressGateways)) + for ingressGatewayIndex, ingressGatewayItem := range components.IngressGateways { + // Shadow the loop variable to avoid aliasing + ingressGatewayItem := ingressGatewayItem + var ingressGateway storage.IstioIngressGateway_STATUS + err := ingressGatewayItem.AssignProperties_To_IstioIngressGateway_STATUS(&ingressGateway) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_IstioIngressGateway_STATUS() to populate field IngressGateways") + } + ingressGatewayList[ingressGatewayIndex] = ingressGateway + } + destination.IngressGateways = ingressGatewayList + } else { + destination.IngressGateways = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForIstioComponents_STATUS interface (if implemented) to customize the conversion + var componentsAsAny any = components + if augmentedComponents, ok := componentsAsAny.(augmentConversionForIstioComponents_STATUS); ok { + err := augmentedComponents.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil } -// Storage version of v1api20231001.ManagedClusterAPIServerAccessProfile_STATUS -// Access profile for managed cluster API server. -type ManagedClusterAPIServerAccessProfile_STATUS struct { - AuthorizedIPRanges []string `json:"authorizedIPRanges,omitempty"` - DisableRunCommand *bool `json:"disableRunCommand,omitempty"` - EnablePrivateCluster *bool `json:"enablePrivateCluster,omitempty"` - EnablePrivateClusterPublicFQDN *bool `json:"enablePrivateClusterPublicFQDN,omitempty"` - PrivateDNSZone *string `json:"privateDNSZone,omitempty"` - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +// Storage version of v1api20231001.ManagedClusterAzureMonitorProfileKubeStateMetrics +// Kube State Metrics profile for the Azure Managed Prometheus addon. These optional settings are for the +// kube-state-metrics pod that is deployed with the addon. See aka.ms/AzureManagedPrometheus-optional-parameters for +// details. +type ManagedClusterAzureMonitorProfileKubeStateMetrics struct { + MetricAnnotationsAllowList *string `json:"metricAnnotationsAllowList,omitempty"` + MetricLabelsAllowlist *string `json:"metricLabelsAllowlist,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` } -// Storage version of v1api20231001.ManagedClusterAutoUpgradeProfile -// Auto upgrade profile for a managed cluster. -type ManagedClusterAutoUpgradeProfile struct { - NodeOSUpgradeChannel *string `json:"nodeOSUpgradeChannel,omitempty"` - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` - UpgradeChannel *string `json:"upgradeChannel,omitempty"` -} +// AssignProperties_From_ManagedClusterAzureMonitorProfileKubeStateMetrics populates our ManagedClusterAzureMonitorProfileKubeStateMetrics from the provided source ManagedClusterAzureMonitorProfileKubeStateMetrics +func (metrics *ManagedClusterAzureMonitorProfileKubeStateMetrics) AssignProperties_From_ManagedClusterAzureMonitorProfileKubeStateMetrics(source *storage.ManagedClusterAzureMonitorProfileKubeStateMetrics) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) -// Storage version of v1api20231001.ManagedClusterAutoUpgradeProfile_STATUS -// Auto upgrade profile for a managed cluster. -type ManagedClusterAutoUpgradeProfile_STATUS struct { - NodeOSUpgradeChannel *string `json:"nodeOSUpgradeChannel,omitempty"` - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` - UpgradeChannel *string `json:"upgradeChannel,omitempty"` -} + // MetricAnnotationsAllowList + metrics.MetricAnnotationsAllowList = genruntime.ClonePointerToString(source.MetricAnnotationsAllowList) -// Storage version of v1api20231001.ManagedClusterAzureMonitorProfile -// Azure Monitor addon profiles for monitoring the managed cluster. -type ManagedClusterAzureMonitorProfile struct { - Metrics *ManagedClusterAzureMonitorProfileMetrics `json:"metrics,omitempty"` - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` -} + // MetricLabelsAllowlist + metrics.MetricLabelsAllowlist = genruntime.ClonePointerToString(source.MetricLabelsAllowlist) -// Storage version of v1api20231001.ManagedClusterAzureMonitorProfile_STATUS -// Azure Monitor addon profiles for monitoring the managed cluster. -type ManagedClusterAzureMonitorProfile_STATUS struct { - Metrics *ManagedClusterAzureMonitorProfileMetrics_STATUS `json:"metrics,omitempty"` - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` -} + // Update the property bag + if len(propertyBag) > 0 { + metrics.PropertyBag = propertyBag + } else { + metrics.PropertyBag = nil + } -// Storage version of v1api20231001.ManagedClusterHTTPProxyConfig -// Cluster HTTP proxy configuration. -type ManagedClusterHTTPProxyConfig struct { - HttpProxy *string `json:"httpProxy,omitempty"` - HttpsProxy *string `json:"httpsProxy,omitempty"` - NoProxy []string `json:"noProxy,omitempty"` - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` - TrustedCa *string `json:"trustedCa,omitempty"` + // Invoke the augmentConversionForManagedClusterAzureMonitorProfileKubeStateMetrics interface (if implemented) to customize the conversion + var metricsAsAny any = metrics + if augmentedMetrics, ok := metricsAsAny.(augmentConversionForManagedClusterAzureMonitorProfileKubeStateMetrics); ok { + err := augmentedMetrics.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil } -// Storage version of v1api20231001.ManagedClusterHTTPProxyConfig_STATUS -// Cluster HTTP proxy configuration. -type ManagedClusterHTTPProxyConfig_STATUS struct { - HttpProxy *string `json:"httpProxy,omitempty"` - HttpsProxy *string `json:"httpsProxy,omitempty"` - NoProxy []string `json:"noProxy,omitempty"` - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` - TrustedCa *string `json:"trustedCa,omitempty"` +// AssignProperties_To_ManagedClusterAzureMonitorProfileKubeStateMetrics populates the provided destination ManagedClusterAzureMonitorProfileKubeStateMetrics from our ManagedClusterAzureMonitorProfileKubeStateMetrics +func (metrics *ManagedClusterAzureMonitorProfileKubeStateMetrics) AssignProperties_To_ManagedClusterAzureMonitorProfileKubeStateMetrics(destination *storage.ManagedClusterAzureMonitorProfileKubeStateMetrics) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(metrics.PropertyBag) + + // MetricAnnotationsAllowList + destination.MetricAnnotationsAllowList = genruntime.ClonePointerToString(metrics.MetricAnnotationsAllowList) + + // MetricLabelsAllowlist + destination.MetricLabelsAllowlist = genruntime.ClonePointerToString(metrics.MetricLabelsAllowlist) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterAzureMonitorProfileKubeStateMetrics interface (if implemented) to customize the conversion + var metricsAsAny any = metrics + if augmentedMetrics, ok := metricsAsAny.(augmentConversionForManagedClusterAzureMonitorProfileKubeStateMetrics); ok { + err := augmentedMetrics.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil } -// Storage version of v1api20231001.ManagedClusterIdentity -// Identity for the managed cluster. -type ManagedClusterIdentity struct { - DelegatedResources map[string]DelegatedResource `json:"delegatedResources,omitempty"` - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` - Type *string `json:"type,omitempty"` - UserAssignedIdentities []UserAssignedIdentityDetails `json:"userAssignedIdentities,omitempty"` +// Storage version of v1api20231001.ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS +// Kube State Metrics profile for the Azure Managed Prometheus addon. These optional settings are for the +// kube-state-metrics pod that is deployed with the addon. See aka.ms/AzureManagedPrometheus-optional-parameters for +// details. +type ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS struct { + MetricAnnotationsAllowList *string `json:"metricAnnotationsAllowList,omitempty"` + MetricLabelsAllowlist *string `json:"metricLabelsAllowlist,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` } -// Storage version of v1api20231001.ManagedClusterIdentity_STATUS -// Identity for the managed cluster. -type ManagedClusterIdentity_STATUS struct { - DelegatedResources map[string]DelegatedResource_STATUS `json:"delegatedResources,omitempty"` - PrincipalId *string `json:"principalId,omitempty"` - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` - TenantId *string `json:"tenantId,omitempty"` - Type *string `json:"type,omitempty"` - UserAssignedIdentities map[string]ManagedClusterIdentity_UserAssignedIdentities_STATUS `json:"userAssignedIdentities,omitempty"` +// AssignProperties_From_ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS populates our ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS from the provided source ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS +func (metrics *ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS) AssignProperties_From_ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS(source *storage.ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // MetricAnnotationsAllowList + metrics.MetricAnnotationsAllowList = genruntime.ClonePointerToString(source.MetricAnnotationsAllowList) + + // MetricLabelsAllowlist + metrics.MetricLabelsAllowlist = genruntime.ClonePointerToString(source.MetricLabelsAllowlist) + + // Update the property bag + if len(propertyBag) > 0 { + metrics.PropertyBag = propertyBag + } else { + metrics.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS interface (if implemented) to customize the conversion + var metricsAsAny any = metrics + if augmentedMetrics, ok := metricsAsAny.(augmentConversionForManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS); ok { + err := augmentedMetrics.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil } -// Storage version of v1api20231001.ManagedClusterOIDCIssuerProfile -// The OIDC issuer profile of the Managed Cluster. -type ManagedClusterOIDCIssuerProfile struct { - Enabled *bool `json:"enabled,omitempty"` - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +// AssignProperties_To_ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS populates the provided destination ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS from our ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS +func (metrics *ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS) AssignProperties_To_ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS(destination *storage.ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(metrics.PropertyBag) + + // MetricAnnotationsAllowList + destination.MetricAnnotationsAllowList = genruntime.ClonePointerToString(metrics.MetricAnnotationsAllowList) + + // MetricLabelsAllowlist + destination.MetricLabelsAllowlist = genruntime.ClonePointerToString(metrics.MetricLabelsAllowlist) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS interface (if implemented) to customize the conversion + var metricsAsAny any = metrics + if augmentedMetrics, ok := metricsAsAny.(augmentConversionForManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS); ok { + err := augmentedMetrics.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil } -// Storage version of v1api20231001.ManagedClusterOIDCIssuerProfile_STATUS -// The OIDC issuer profile of the Managed Cluster. -type ManagedClusterOIDCIssuerProfile_STATUS struct { - Enabled *bool `json:"enabled,omitempty"` - IssuerURL *string `json:"issuerURL,omitempty"` +// Storage version of v1api20231001.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs +type ManagedClusterLoadBalancerProfile_ManagedOutboundIPs struct { + Count *int `json:"count,omitempty"` + CountIPv6 *int `json:"countIPv6,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` } -// Storage version of v1api20231001.ManagedClusterOperatorSpec -// Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure -type ManagedClusterOperatorSpec struct { - ConfigMaps *ManagedClusterOperatorConfigMaps `json:"configMaps,omitempty"` - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` - Secrets *ManagedClusterOperatorSecrets `json:"secrets,omitempty"` -} +// AssignProperties_From_ManagedClusterLoadBalancerProfile_ManagedOutboundIPs populates our ManagedClusterLoadBalancerProfile_ManagedOutboundIPs from the provided source ManagedClusterLoadBalancerProfile_ManagedOutboundIPs +func (iPs *ManagedClusterLoadBalancerProfile_ManagedOutboundIPs) AssignProperties_From_ManagedClusterLoadBalancerProfile_ManagedOutboundIPs(source *storage.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) -// Storage version of v1api20231001.ManagedClusterPodIdentityProfile -// See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on pod -// identity integration. -type ManagedClusterPodIdentityProfile struct { - AllowNetworkPluginKubenet *bool `json:"allowNetworkPluginKubenet,omitempty"` - Enabled *bool `json:"enabled,omitempty"` - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` - UserAssignedIdentities []ManagedClusterPodIdentity `json:"userAssignedIdentities,omitempty"` - UserAssignedIdentityExceptions []ManagedClusterPodIdentityException `json:"userAssignedIdentityExceptions,omitempty"` -} + // Count + iPs.Count = genruntime.ClonePointerToInt(source.Count) -// Storage version of v1api20231001.ManagedClusterPodIdentityProfile_STATUS -// See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on pod -// identity integration. -type ManagedClusterPodIdentityProfile_STATUS struct { - AllowNetworkPluginKubenet *bool `json:"allowNetworkPluginKubenet,omitempty"` - Enabled *bool `json:"enabled,omitempty"` - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` - UserAssignedIdentities []ManagedClusterPodIdentity_STATUS `json:"userAssignedIdentities,omitempty"` - UserAssignedIdentityExceptions []ManagedClusterPodIdentityException_STATUS `json:"userAssignedIdentityExceptions,omitempty"` -} + // CountIPv6 + iPs.CountIPv6 = genruntime.ClonePointerToInt(source.CountIPv6) -// Storage version of v1api20231001.ManagedClusterProperties_AutoScalerProfile -type ManagedClusterProperties_AutoScalerProfile struct { - BalanceSimilarNodeGroups *string `json:"balance-similar-node-groups,omitempty"` - Expander *string `json:"expander,omitempty"` - MaxEmptyBulkDelete *string `json:"max-empty-bulk-delete,omitempty"` - MaxGracefulTerminationSec *string `json:"max-graceful-termination-sec,omitempty"` - MaxNodeProvisionTime *string `json:"max-node-provision-time,omitempty"` - MaxTotalUnreadyPercentage *string `json:"max-total-unready-percentage,omitempty"` - NewPodScaleUpDelay *string `json:"new-pod-scale-up-delay,omitempty"` - OkTotalUnreadyCount *string `json:"ok-total-unready-count,omitempty"` - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` - ScaleDownDelayAfterAdd *string `json:"scale-down-delay-after-add,omitempty"` - ScaleDownDelayAfterDelete *string `json:"scale-down-delay-after-delete,omitempty"` - ScaleDownDelayAfterFailure *string `json:"scale-down-delay-after-failure,omitempty"` - ScaleDownUnneededTime *string `json:"scale-down-unneeded-time,omitempty"` - ScaleDownUnreadyTime *string `json:"scale-down-unready-time,omitempty"` - ScaleDownUtilizationThreshold *string `json:"scale-down-utilization-threshold,omitempty"` - ScanInterval *string `json:"scan-interval,omitempty"` - SkipNodesWithLocalStorage *string `json:"skip-nodes-with-local-storage,omitempty"` - SkipNodesWithSystemPods *string `json:"skip-nodes-with-system-pods,omitempty"` -} + // Update the property bag + if len(propertyBag) > 0 { + iPs.PropertyBag = propertyBag + } else { + iPs.PropertyBag = nil + } -// Storage version of v1api20231001.ManagedClusterProperties_AutoScalerProfile_STATUS -type ManagedClusterProperties_AutoScalerProfile_STATUS struct { - BalanceSimilarNodeGroups *string `json:"balance-similar-node-groups,omitempty"` - Expander *string `json:"expander,omitempty"` - MaxEmptyBulkDelete *string `json:"max-empty-bulk-delete,omitempty"` - MaxGracefulTerminationSec *string `json:"max-graceful-termination-sec,omitempty"` - MaxNodeProvisionTime *string `json:"max-node-provision-time,omitempty"` - MaxTotalUnreadyPercentage *string `json:"max-total-unready-percentage,omitempty"` - NewPodScaleUpDelay *string `json:"new-pod-scale-up-delay,omitempty"` - OkTotalUnreadyCount *string `json:"ok-total-unready-count,omitempty"` - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` - ScaleDownDelayAfterAdd *string `json:"scale-down-delay-after-add,omitempty"` - ScaleDownDelayAfterDelete *string `json:"scale-down-delay-after-delete,omitempty"` - ScaleDownDelayAfterFailure *string `json:"scale-down-delay-after-failure,omitempty"` - ScaleDownUnneededTime *string `json:"scale-down-unneeded-time,omitempty"` - ScaleDownUnreadyTime *string `json:"scale-down-unready-time,omitempty"` - ScaleDownUtilizationThreshold *string `json:"scale-down-utilization-threshold,omitempty"` - ScanInterval *string `json:"scan-interval,omitempty"` - SkipNodesWithLocalStorage *string `json:"skip-nodes-with-local-storage,omitempty"` - SkipNodesWithSystemPods *string `json:"skip-nodes-with-system-pods,omitempty"` -} + // Invoke the augmentConversionForManagedClusterLoadBalancerProfile_ManagedOutboundIPs interface (if implemented) to customize the conversion + var iPsAsAny any = iPs + if augmentedIPs, ok := iPsAsAny.(augmentConversionForManagedClusterLoadBalancerProfile_ManagedOutboundIPs); ok { + err := augmentedIPs.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } -// Storage version of v1api20231001.ManagedClusterSecurityProfile -// Security profile for the container service cluster. -type ManagedClusterSecurityProfile struct { - AzureKeyVaultKms *AzureKeyVaultKms `json:"azureKeyVaultKms,omitempty"` - Defender *ManagedClusterSecurityProfileDefender `json:"defender,omitempty"` - ImageCleaner *ManagedClusterSecurityProfileImageCleaner `json:"imageCleaner,omitempty"` - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` - WorkloadIdentity *ManagedClusterSecurityProfileWorkloadIdentity `json:"workloadIdentity,omitempty"` + // No error + return nil } -// Storage version of v1api20231001.ManagedClusterSecurityProfile_STATUS -// Security profile for the container service cluster. -type ManagedClusterSecurityProfile_STATUS struct { - AzureKeyVaultKms *AzureKeyVaultKms_STATUS `json:"azureKeyVaultKms,omitempty"` - Defender *ManagedClusterSecurityProfileDefender_STATUS `json:"defender,omitempty"` - ImageCleaner *ManagedClusterSecurityProfileImageCleaner_STATUS `json:"imageCleaner,omitempty"` - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` - WorkloadIdentity *ManagedClusterSecurityProfileWorkloadIdentity_STATUS `json:"workloadIdentity,omitempty"` -} +// AssignProperties_To_ManagedClusterLoadBalancerProfile_ManagedOutboundIPs populates the provided destination ManagedClusterLoadBalancerProfile_ManagedOutboundIPs from our ManagedClusterLoadBalancerProfile_ManagedOutboundIPs +func (iPs *ManagedClusterLoadBalancerProfile_ManagedOutboundIPs) AssignProperties_To_ManagedClusterLoadBalancerProfile_ManagedOutboundIPs(destination *storage.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(iPs.PropertyBag) -// Storage version of v1api20231001.ManagedClusterServicePrincipalProfile -// Information about a service principal identity for the cluster to use for manipulating Azure APIs. -type ManagedClusterServicePrincipalProfile struct { - ClientId *string `json:"clientId,omitempty"` - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` - Secret *genruntime.SecretReference `json:"secret,omitempty"` -} + // Count + destination.Count = genruntime.ClonePointerToInt(iPs.Count) -// Storage version of v1api20231001.ManagedClusterServicePrincipalProfile_STATUS -// Information about a service principal identity for the cluster to use for manipulating Azure APIs. -type ManagedClusterServicePrincipalProfile_STATUS struct { - ClientId *string `json:"clientId,omitempty"` - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + // CountIPv6 + destination.CountIPv6 = genruntime.ClonePointerToInt(iPs.CountIPv6) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterLoadBalancerProfile_ManagedOutboundIPs interface (if implemented) to customize the conversion + var iPsAsAny any = iPs + if augmentedIPs, ok := iPsAsAny.(augmentConversionForManagedClusterLoadBalancerProfile_ManagedOutboundIPs); ok { + err := augmentedIPs.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil } -// Storage version of v1api20231001.ManagedClusterSKU -// The SKU of a Managed Cluster. -type ManagedClusterSKU struct { - Name *string `json:"name,omitempty"` +// Storage version of v1api20231001.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS +type ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS struct { + Count *int `json:"count,omitempty"` + CountIPv6 *int `json:"countIPv6,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` - Tier *string `json:"tier,omitempty"` } -// Storage version of v1api20231001.ManagedClusterSKU_STATUS -// The SKU of a Managed Cluster. -type ManagedClusterSKU_STATUS struct { - Name *string `json:"name,omitempty"` - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` - Tier *string `json:"tier,omitempty"` -} +// AssignProperties_From_ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS populates our ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS from the provided source ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS +func (iPs *ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS) AssignProperties_From_ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS(source *storage.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) -// Storage version of v1api20231001.ManagedClusterStorageProfile -// Storage profile for the container service cluster. -type ManagedClusterStorageProfile struct { - BlobCSIDriver *ManagedClusterStorageProfileBlobCSIDriver `json:"blobCSIDriver,omitempty"` - DiskCSIDriver *ManagedClusterStorageProfileDiskCSIDriver `json:"diskCSIDriver,omitempty"` - FileCSIDriver *ManagedClusterStorageProfileFileCSIDriver `json:"fileCSIDriver,omitempty"` - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` - SnapshotController *ManagedClusterStorageProfileSnapshotController `json:"snapshotController,omitempty"` -} + // Count + iPs.Count = genruntime.ClonePointerToInt(source.Count) -// Storage version of v1api20231001.ManagedClusterStorageProfile_STATUS -// Storage profile for the container service cluster. -type ManagedClusterStorageProfile_STATUS struct { - BlobCSIDriver *ManagedClusterStorageProfileBlobCSIDriver_STATUS `json:"blobCSIDriver,omitempty"` - DiskCSIDriver *ManagedClusterStorageProfileDiskCSIDriver_STATUS `json:"diskCSIDriver,omitempty"` - FileCSIDriver *ManagedClusterStorageProfileFileCSIDriver_STATUS `json:"fileCSIDriver,omitempty"` - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` - SnapshotController *ManagedClusterStorageProfileSnapshotController_STATUS `json:"snapshotController,omitempty"` -} + // CountIPv6 + iPs.CountIPv6 = genruntime.ClonePointerToInt(source.CountIPv6) -// Storage version of v1api20231001.ManagedClusterWindowsProfile -// Profile for Windows VMs in the managed cluster. -type ManagedClusterWindowsProfile struct { - AdminPassword *genruntime.SecretReference `json:"adminPassword,omitempty"` - AdminUsername *string `json:"adminUsername,omitempty"` - EnableCSIProxy *bool `json:"enableCSIProxy,omitempty"` - GmsaProfile *WindowsGmsaProfile `json:"gmsaProfile,omitempty"` - LicenseType *string `json:"licenseType,omitempty"` - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` -} + // Update the property bag + if len(propertyBag) > 0 { + iPs.PropertyBag = propertyBag + } else { + iPs.PropertyBag = nil + } -// Storage version of v1api20231001.ManagedClusterWindowsProfile_STATUS -// Profile for Windows VMs in the managed cluster. -type ManagedClusterWindowsProfile_STATUS struct { - AdminUsername *string `json:"adminUsername,omitempty"` - EnableCSIProxy *bool `json:"enableCSIProxy,omitempty"` - GmsaProfile *WindowsGmsaProfile_STATUS `json:"gmsaProfile,omitempty"` - LicenseType *string `json:"licenseType,omitempty"` - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` -} + // Invoke the augmentConversionForManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS interface (if implemented) to customize the conversion + var iPsAsAny any = iPs + if augmentedIPs, ok := iPsAsAny.(augmentConversionForManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS); ok { + err := augmentedIPs.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } -// Storage version of v1api20231001.ManagedClusterWorkloadAutoScalerProfile -// Workload Auto-scaler profile for the managed cluster. -type ManagedClusterWorkloadAutoScalerProfile struct { - Keda *ManagedClusterWorkloadAutoScalerProfileKeda `json:"keda,omitempty"` - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` - VerticalPodAutoscaler *ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler `json:"verticalPodAutoscaler,omitempty"` + // No error + return nil } -// Storage version of v1api20231001.ManagedClusterWorkloadAutoScalerProfile_STATUS -// Workload Auto-scaler profile for the managed cluster. -type ManagedClusterWorkloadAutoScalerProfile_STATUS struct { - Keda *ManagedClusterWorkloadAutoScalerProfileKeda_STATUS `json:"keda,omitempty"` - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` - VerticalPodAutoscaler *ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS `json:"verticalPodAutoscaler,omitempty"` +// AssignProperties_To_ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS populates the provided destination ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS from our ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS +func (iPs *ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS) AssignProperties_To_ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS(destination *storage.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(iPs.PropertyBag) + + // Count + destination.Count = genruntime.ClonePointerToInt(iPs.Count) + + // CountIPv6 + destination.CountIPv6 = genruntime.ClonePointerToInt(iPs.CountIPv6) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS interface (if implemented) to customize the conversion + var iPsAsAny any = iPs + if augmentedIPs, ok := iPsAsAny.(augmentConversionForManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS); ok { + err := augmentedIPs.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil } -// Storage version of v1api20231001.PowerState_STATUS -// Describes the Power State of the cluster -type PowerState_STATUS struct { - Code *string `json:"code,omitempty"` - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +// Storage version of v1api20231001.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes +type ManagedClusterLoadBalancerProfile_OutboundIPPrefixes struct { + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + PublicIPPrefixes []ResourceReference `json:"publicIPPrefixes,omitempty"` } -// Storage version of v1api20231001.PrivateLinkResource -// A private link resource -type PrivateLinkResource struct { - GroupId *string `json:"groupId,omitempty"` - Name *string `json:"name,omitempty"` - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +// AssignProperties_From_ManagedClusterLoadBalancerProfile_OutboundIPPrefixes populates our ManagedClusterLoadBalancerProfile_OutboundIPPrefixes from the provided source ManagedClusterLoadBalancerProfile_OutboundIPPrefixes +func (prefixes *ManagedClusterLoadBalancerProfile_OutboundIPPrefixes) AssignProperties_From_ManagedClusterLoadBalancerProfile_OutboundIPPrefixes(source *storage.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // PublicIPPrefixes + if source.PublicIPPrefixes != nil { + publicIPPrefixList := make([]ResourceReference, len(source.PublicIPPrefixes)) + for publicIPPrefixIndex, publicIPPrefixItem := range source.PublicIPPrefixes { + // Shadow the loop variable to avoid aliasing + publicIPPrefixItem := publicIPPrefixItem + var publicIPPrefix ResourceReference + err := publicIPPrefix.AssignProperties_From_ResourceReference(&publicIPPrefixItem) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ResourceReference() to populate field PublicIPPrefixes") + } + publicIPPrefixList[publicIPPrefixIndex] = publicIPPrefix + } + prefixes.PublicIPPrefixes = publicIPPrefixList + } else { + prefixes.PublicIPPrefixes = nil + } - // Reference: The ID of the private link resource. - Reference *genruntime.ResourceReference `armReference:"Id" json:"reference,omitempty"` - RequiredMembers []string `json:"requiredMembers,omitempty"` - Type *string `json:"type,omitempty"` -} + // Update the property bag + if len(propertyBag) > 0 { + prefixes.PropertyBag = propertyBag + } else { + prefixes.PropertyBag = nil + } -// Storage version of v1api20231001.PrivateLinkResource_STATUS -// A private link resource -type PrivateLinkResource_STATUS struct { - GroupId *string `json:"groupId,omitempty"` - Id *string `json:"id,omitempty"` - Name *string `json:"name,omitempty"` - PrivateLinkServiceID *string `json:"privateLinkServiceID,omitempty"` - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` - RequiredMembers []string `json:"requiredMembers,omitempty"` - Type *string `json:"type,omitempty"` + // Invoke the augmentConversionForManagedClusterLoadBalancerProfile_OutboundIPPrefixes interface (if implemented) to customize the conversion + var prefixesAsAny any = prefixes + if augmentedPrefixes, ok := prefixesAsAny.(augmentConversionForManagedClusterLoadBalancerProfile_OutboundIPPrefixes); ok { + err := augmentedPrefixes.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil } -// Storage version of v1api20231001.ServiceMeshProfile -// Service mesh profile for a managed cluster. -type ServiceMeshProfile struct { - Istio *IstioServiceMesh `json:"istio,omitempty"` - Mode *string `json:"mode,omitempty"` - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +// AssignProperties_To_ManagedClusterLoadBalancerProfile_OutboundIPPrefixes populates the provided destination ManagedClusterLoadBalancerProfile_OutboundIPPrefixes from our ManagedClusterLoadBalancerProfile_OutboundIPPrefixes +func (prefixes *ManagedClusterLoadBalancerProfile_OutboundIPPrefixes) AssignProperties_To_ManagedClusterLoadBalancerProfile_OutboundIPPrefixes(destination *storage.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(prefixes.PropertyBag) + + // PublicIPPrefixes + if prefixes.PublicIPPrefixes != nil { + publicIPPrefixList := make([]storage.ResourceReference, len(prefixes.PublicIPPrefixes)) + for publicIPPrefixIndex, publicIPPrefixItem := range prefixes.PublicIPPrefixes { + // Shadow the loop variable to avoid aliasing + publicIPPrefixItem := publicIPPrefixItem + var publicIPPrefix storage.ResourceReference + err := publicIPPrefixItem.AssignProperties_To_ResourceReference(&publicIPPrefix) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ResourceReference() to populate field PublicIPPrefixes") + } + publicIPPrefixList[publicIPPrefixIndex] = publicIPPrefix + } + destination.PublicIPPrefixes = publicIPPrefixList + } else { + destination.PublicIPPrefixes = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterLoadBalancerProfile_OutboundIPPrefixes interface (if implemented) to customize the conversion + var prefixesAsAny any = prefixes + if augmentedPrefixes, ok := prefixesAsAny.(augmentConversionForManagedClusterLoadBalancerProfile_OutboundIPPrefixes); ok { + err := augmentedPrefixes.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil } -// Storage version of v1api20231001.ServiceMeshProfile_STATUS -// Service mesh profile for a managed cluster. -type ServiceMeshProfile_STATUS struct { - Istio *IstioServiceMesh_STATUS `json:"istio,omitempty"` - Mode *string `json:"mode,omitempty"` - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +// Storage version of v1api20231001.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS +type ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS struct { + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + PublicIPPrefixes []ResourceReference_STATUS `json:"publicIPPrefixes,omitempty"` } -// Storage version of v1api20231001.SystemData_STATUS -// Metadata pertaining to creation and last modification of the resource. -type SystemData_STATUS struct { - CreatedAt *string `json:"createdAt,omitempty"` - CreatedBy *string `json:"createdBy,omitempty"` - CreatedByType *string `json:"createdByType,omitempty"` - LastModifiedAt *string `json:"lastModifiedAt,omitempty"` - LastModifiedBy *string `json:"lastModifiedBy,omitempty"` - LastModifiedByType *string `json:"lastModifiedByType,omitempty"` - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +// AssignProperties_From_ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS populates our ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS from the provided source ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS +func (prefixes *ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS) AssignProperties_From_ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS(source *storage.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // PublicIPPrefixes + if source.PublicIPPrefixes != nil { + publicIPPrefixList := make([]ResourceReference_STATUS, len(source.PublicIPPrefixes)) + for publicIPPrefixIndex, publicIPPrefixItem := range source.PublicIPPrefixes { + // Shadow the loop variable to avoid aliasing + publicIPPrefixItem := publicIPPrefixItem + var publicIPPrefix ResourceReference_STATUS + err := publicIPPrefix.AssignProperties_From_ResourceReference_STATUS(&publicIPPrefixItem) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ResourceReference_STATUS() to populate field PublicIPPrefixes") + } + publicIPPrefixList[publicIPPrefixIndex] = publicIPPrefix + } + prefixes.PublicIPPrefixes = publicIPPrefixList + } else { + prefixes.PublicIPPrefixes = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + prefixes.PropertyBag = propertyBag + } else { + prefixes.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS interface (if implemented) to customize the conversion + var prefixesAsAny any = prefixes + if augmentedPrefixes, ok := prefixesAsAny.(augmentConversionForManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS); ok { + err := augmentedPrefixes.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil } -// Storage version of v1api20231001.UserAssignedIdentity -// Details about a user assigned identity. -type UserAssignedIdentity struct { - ClientId *string `json:"clientId,omitempty"` - ObjectId *string `json:"objectId,omitempty"` - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +// AssignProperties_To_ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS populates the provided destination ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS from our ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS +func (prefixes *ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS) AssignProperties_To_ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS(destination *storage.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(prefixes.PropertyBag) + + // PublicIPPrefixes + if prefixes.PublicIPPrefixes != nil { + publicIPPrefixList := make([]storage.ResourceReference_STATUS, len(prefixes.PublicIPPrefixes)) + for publicIPPrefixIndex, publicIPPrefixItem := range prefixes.PublicIPPrefixes { + // Shadow the loop variable to avoid aliasing + publicIPPrefixItem := publicIPPrefixItem + var publicIPPrefix storage.ResourceReference_STATUS + err := publicIPPrefixItem.AssignProperties_To_ResourceReference_STATUS(&publicIPPrefix) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ResourceReference_STATUS() to populate field PublicIPPrefixes") + } + publicIPPrefixList[publicIPPrefixIndex] = publicIPPrefix + } + destination.PublicIPPrefixes = publicIPPrefixList + } else { + destination.PublicIPPrefixes = nil + } - // ResourceReference: The resource ID of the user assigned identity. - ResourceReference *genruntime.ResourceReference `armReference:"ResourceId" json:"resourceReference,omitempty"` + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS interface (if implemented) to customize the conversion + var prefixesAsAny any = prefixes + if augmentedPrefixes, ok := prefixesAsAny.(augmentConversionForManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS); ok { + err := augmentedPrefixes.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil } -// Storage version of v1api20231001.UserAssignedIdentity_STATUS -// Details about a user assigned identity. -type UserAssignedIdentity_STATUS struct { - ClientId *string `json:"clientId,omitempty"` - ObjectId *string `json:"objectId,omitempty"` +// Storage version of v1api20231001.ManagedClusterLoadBalancerProfile_OutboundIPs +type ManagedClusterLoadBalancerProfile_OutboundIPs struct { PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` - ResourceId *string `json:"resourceId,omitempty"` + PublicIPs []ResourceReference `json:"publicIPs,omitempty"` } -// Storage version of v1api20231001.AzureKeyVaultKms -// Azure Key Vault key management service settings for the security profile. -type AzureKeyVaultKms struct { - Enabled *bool `json:"enabled,omitempty"` - KeyId *string `json:"keyId,omitempty"` - KeyVaultNetworkAccess *string `json:"keyVaultNetworkAccess,omitempty"` +// AssignProperties_From_ManagedClusterLoadBalancerProfile_OutboundIPs populates our ManagedClusterLoadBalancerProfile_OutboundIPs from the provided source ManagedClusterLoadBalancerProfile_OutboundIPs +func (iPs *ManagedClusterLoadBalancerProfile_OutboundIPs) AssignProperties_From_ManagedClusterLoadBalancerProfile_OutboundIPs(source *storage.ManagedClusterLoadBalancerProfile_OutboundIPs) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // PublicIPs + if source.PublicIPs != nil { + publicIPList := make([]ResourceReference, len(source.PublicIPs)) + for publicIPIndex, publicIPItem := range source.PublicIPs { + // Shadow the loop variable to avoid aliasing + publicIPItem := publicIPItem + var publicIP ResourceReference + err := publicIP.AssignProperties_From_ResourceReference(&publicIPItem) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ResourceReference() to populate field PublicIPs") + } + publicIPList[publicIPIndex] = publicIP + } + iPs.PublicIPs = publicIPList + } else { + iPs.PublicIPs = nil + } - // KeyVaultResourceReference: Resource ID of key vault. When keyVaultNetworkAccess is `Private`, this field is required and - // must be a valid resource ID. When keyVaultNetworkAccess is `Public`, leave the field empty. - KeyVaultResourceReference *genruntime.ResourceReference `armReference:"KeyVaultResourceId" json:"keyVaultResourceReference,omitempty"` - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` -} + // Update the property bag + if len(propertyBag) > 0 { + iPs.PropertyBag = propertyBag + } else { + iPs.PropertyBag = nil + } -// Storage version of v1api20231001.AzureKeyVaultKms_STATUS -// Azure Key Vault key management service settings for the security profile. -type AzureKeyVaultKms_STATUS struct { - Enabled *bool `json:"enabled,omitempty"` - KeyId *string `json:"keyId,omitempty"` - KeyVaultNetworkAccess *string `json:"keyVaultNetworkAccess,omitempty"` - KeyVaultResourceId *string `json:"keyVaultResourceId,omitempty"` - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` -} + // Invoke the augmentConversionForManagedClusterLoadBalancerProfile_OutboundIPs interface (if implemented) to customize the conversion + var iPsAsAny any = iPs + if augmentedIPs, ok := iPsAsAny.(augmentConversionForManagedClusterLoadBalancerProfile_OutboundIPs); ok { + err := augmentedIPs.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } -// Storage version of v1api20231001.ContainerServiceSshConfiguration -// SSH configuration for Linux-based VMs running on Azure. -type ContainerServiceSshConfiguration struct { - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` - PublicKeys []ContainerServiceSshPublicKey `json:"publicKeys,omitempty"` + // No error + return nil } -// Storage version of v1api20231001.ContainerServiceSshConfiguration_STATUS -// SSH configuration for Linux-based VMs running on Azure. -type ContainerServiceSshConfiguration_STATUS struct { - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` - PublicKeys []ContainerServiceSshPublicKey_STATUS `json:"publicKeys,omitempty"` -} +// AssignProperties_To_ManagedClusterLoadBalancerProfile_OutboundIPs populates the provided destination ManagedClusterLoadBalancerProfile_OutboundIPs from our ManagedClusterLoadBalancerProfile_OutboundIPs +func (iPs *ManagedClusterLoadBalancerProfile_OutboundIPs) AssignProperties_To_ManagedClusterLoadBalancerProfile_OutboundIPs(destination *storage.ManagedClusterLoadBalancerProfile_OutboundIPs) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(iPs.PropertyBag) + + // PublicIPs + if iPs.PublicIPs != nil { + publicIPList := make([]storage.ResourceReference, len(iPs.PublicIPs)) + for publicIPIndex, publicIPItem := range iPs.PublicIPs { + // Shadow the loop variable to avoid aliasing + publicIPItem := publicIPItem + var publicIP storage.ResourceReference + err := publicIPItem.AssignProperties_To_ResourceReference(&publicIP) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ResourceReference() to populate field PublicIPs") + } + publicIPList[publicIPIndex] = publicIP + } + destination.PublicIPs = publicIPList + } else { + destination.PublicIPs = nil + } -// Storage version of v1api20231001.DelegatedResource -// Delegated resource properties - internal use only. -type DelegatedResource struct { - Location *string `json:"location,omitempty"` - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` - ReferralResource *string `json:"referralResource,omitempty"` + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } - // ResourceReference: The ARM resource id of the delegated resource - internal use only. - ResourceReference *genruntime.ResourceReference `armReference:"ResourceId" json:"resourceReference,omitempty"` - TenantId *string `json:"tenantId,omitempty"` + // Invoke the augmentConversionForManagedClusterLoadBalancerProfile_OutboundIPs interface (if implemented) to customize the conversion + var iPsAsAny any = iPs + if augmentedIPs, ok := iPsAsAny.(augmentConversionForManagedClusterLoadBalancerProfile_OutboundIPs); ok { + err := augmentedIPs.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil } -// Storage version of v1api20231001.DelegatedResource_STATUS -// Delegated resource properties - internal use only. -type DelegatedResource_STATUS struct { - Location *string `json:"location,omitempty"` - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` - ReferralResource *string `json:"referralResource,omitempty"` - ResourceId *string `json:"resourceId,omitempty"` - TenantId *string `json:"tenantId,omitempty"` +// Storage version of v1api20231001.ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS +type ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS struct { + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + PublicIPs []ResourceReference_STATUS `json:"publicIPs,omitempty"` } -// Storage version of v1api20231001.IstioServiceMesh -// Istio service mesh configuration. -type IstioServiceMesh struct { - CertificateAuthority *IstioCertificateAuthority `json:"certificateAuthority,omitempty"` - Components *IstioComponents `json:"components,omitempty"` - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` - Revisions []string `json:"revisions,omitempty"` +// AssignProperties_From_ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS populates our ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS from the provided source ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS +func (iPs *ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS) AssignProperties_From_ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS(source *storage.ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // PublicIPs + if source.PublicIPs != nil { + publicIPList := make([]ResourceReference_STATUS, len(source.PublicIPs)) + for publicIPIndex, publicIPItem := range source.PublicIPs { + // Shadow the loop variable to avoid aliasing + publicIPItem := publicIPItem + var publicIP ResourceReference_STATUS + err := publicIP.AssignProperties_From_ResourceReference_STATUS(&publicIPItem) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ResourceReference_STATUS() to populate field PublicIPs") + } + publicIPList[publicIPIndex] = publicIP + } + iPs.PublicIPs = publicIPList + } else { + iPs.PublicIPs = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + iPs.PropertyBag = propertyBag + } else { + iPs.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterLoadBalancerProfile_OutboundIPs_STATUS interface (if implemented) to customize the conversion + var iPsAsAny any = iPs + if augmentedIPs, ok := iPsAsAny.(augmentConversionForManagedClusterLoadBalancerProfile_OutboundIPs_STATUS); ok { + err := augmentedIPs.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil } -// Storage version of v1api20231001.IstioServiceMesh_STATUS -// Istio service mesh configuration. -type IstioServiceMesh_STATUS struct { - CertificateAuthority *IstioCertificateAuthority_STATUS `json:"certificateAuthority,omitempty"` - Components *IstioComponents_STATUS `json:"components,omitempty"` - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` - Revisions []string `json:"revisions,omitempty"` -} +// AssignProperties_To_ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS populates the provided destination ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS from our ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS +func (iPs *ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS) AssignProperties_To_ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS(destination *storage.ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(iPs.PropertyBag) + + // PublicIPs + if iPs.PublicIPs != nil { + publicIPList := make([]storage.ResourceReference_STATUS, len(iPs.PublicIPs)) + for publicIPIndex, publicIPItem := range iPs.PublicIPs { + // Shadow the loop variable to avoid aliasing + publicIPItem := publicIPItem + var publicIP storage.ResourceReference_STATUS + err := publicIPItem.AssignProperties_To_ResourceReference_STATUS(&publicIP) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ResourceReference_STATUS() to populate field PublicIPs") + } + publicIPList[publicIPIndex] = publicIP + } + destination.PublicIPs = publicIPList + } else { + destination.PublicIPs = nil + } -// Storage version of v1api20231001.ManagedClusterAzureMonitorProfileMetrics -// Metrics profile for the Azure Monitor managed service for Prometheus addon. Collect out-of-the-box Kubernetes -// infrastructure metrics to send to an Azure Monitor Workspace and configure additional scraping for custom targets. See -// aka.ms/AzureManagedPrometheus for an overview. -type ManagedClusterAzureMonitorProfileMetrics struct { - Enabled *bool `json:"enabled,omitempty"` - KubeStateMetrics *ManagedClusterAzureMonitorProfileKubeStateMetrics `json:"kubeStateMetrics,omitempty"` - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` -} + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } -// Storage version of v1api20231001.ManagedClusterAzureMonitorProfileMetrics_STATUS -// Metrics profile for the Azure Monitor managed service for Prometheus addon. Collect out-of-the-box Kubernetes -// infrastructure metrics to send to an Azure Monitor Workspace and configure additional scraping for custom targets. See -// aka.ms/AzureManagedPrometheus for an overview. -type ManagedClusterAzureMonitorProfileMetrics_STATUS struct { - Enabled *bool `json:"enabled,omitempty"` - KubeStateMetrics *ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS `json:"kubeStateMetrics,omitempty"` - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + // Invoke the augmentConversionForManagedClusterLoadBalancerProfile_OutboundIPs_STATUS interface (if implemented) to customize the conversion + var iPsAsAny any = iPs + if augmentedIPs, ok := iPsAsAny.(augmentConversionForManagedClusterLoadBalancerProfile_OutboundIPs_STATUS); ok { + err := augmentedIPs.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil } -// Storage version of v1api20231001.ManagedClusterIdentity_UserAssignedIdentities_STATUS -type ManagedClusterIdentity_UserAssignedIdentities_STATUS struct { - ClientId *string `json:"clientId,omitempty"` - PrincipalId *string `json:"principalId,omitempty"` +// Storage version of v1api20231001.ManagedClusterManagedOutboundIPProfile +// Profile of the managed outbound IP resources of the managed cluster. +type ManagedClusterManagedOutboundIPProfile struct { + Count *int `json:"count,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` } -// Storage version of v1api20231001.ManagedClusterLoadBalancerProfile -// Profile of the managed cluster load balancer. -type ManagedClusterLoadBalancerProfile struct { - AllocatedOutboundPorts *int `json:"allocatedOutboundPorts,omitempty"` - BackendPoolType *string `json:"backendPoolType,omitempty"` - EffectiveOutboundIPs []ResourceReference `json:"effectiveOutboundIPs,omitempty"` - EnableMultipleStandardLoadBalancers *bool `json:"enableMultipleStandardLoadBalancers,omitempty"` - IdleTimeoutInMinutes *int `json:"idleTimeoutInMinutes,omitempty"` - ManagedOutboundIPs *ManagedClusterLoadBalancerProfile_ManagedOutboundIPs `json:"managedOutboundIPs,omitempty"` - OutboundIPPrefixes *ManagedClusterLoadBalancerProfile_OutboundIPPrefixes `json:"outboundIPPrefixes,omitempty"` - OutboundIPs *ManagedClusterLoadBalancerProfile_OutboundIPs `json:"outboundIPs,omitempty"` - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` -} +// AssignProperties_From_ManagedClusterManagedOutboundIPProfile populates our ManagedClusterManagedOutboundIPProfile from the provided source ManagedClusterManagedOutboundIPProfile +func (profile *ManagedClusterManagedOutboundIPProfile) AssignProperties_From_ManagedClusterManagedOutboundIPProfile(source *storage.ManagedClusterManagedOutboundIPProfile) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) -// Storage version of v1api20231001.ManagedClusterLoadBalancerProfile_STATUS -// Profile of the managed cluster load balancer. -type ManagedClusterLoadBalancerProfile_STATUS struct { - AllocatedOutboundPorts *int `json:"allocatedOutboundPorts,omitempty"` - BackendPoolType *string `json:"backendPoolType,omitempty"` - EffectiveOutboundIPs []ResourceReference_STATUS `json:"effectiveOutboundIPs,omitempty"` - EnableMultipleStandardLoadBalancers *bool `json:"enableMultipleStandardLoadBalancers,omitempty"` - IdleTimeoutInMinutes *int `json:"idleTimeoutInMinutes,omitempty"` - ManagedOutboundIPs *ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS `json:"managedOutboundIPs,omitempty"` - OutboundIPPrefixes *ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS `json:"outboundIPPrefixes,omitempty"` - OutboundIPs *ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS `json:"outboundIPs,omitempty"` - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` -} + // Count + profile.Count = genruntime.ClonePointerToInt(source.Count) -// Storage version of v1api20231001.ManagedClusterNATGatewayProfile -// Profile of the managed cluster NAT gateway. -type ManagedClusterNATGatewayProfile struct { - EffectiveOutboundIPs []ResourceReference `json:"effectiveOutboundIPs,omitempty"` - IdleTimeoutInMinutes *int `json:"idleTimeoutInMinutes,omitempty"` - ManagedOutboundIPProfile *ManagedClusterManagedOutboundIPProfile `json:"managedOutboundIPProfile,omitempty"` - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` -} + // Update the property bag + if len(propertyBag) > 0 { + profile.PropertyBag = propertyBag + } else { + profile.PropertyBag = nil + } -// Storage version of v1api20231001.ManagedClusterNATGatewayProfile_STATUS -// Profile of the managed cluster NAT gateway. -type ManagedClusterNATGatewayProfile_STATUS struct { - EffectiveOutboundIPs []ResourceReference_STATUS `json:"effectiveOutboundIPs,omitempty"` - IdleTimeoutInMinutes *int `json:"idleTimeoutInMinutes,omitempty"` - ManagedOutboundIPProfile *ManagedClusterManagedOutboundIPProfile_STATUS `json:"managedOutboundIPProfile,omitempty"` - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` -} + // Invoke the augmentConversionForManagedClusterManagedOutboundIPProfile interface (if implemented) to customize the conversion + var profileAsAny any = profile + if augmentedProfile, ok := profileAsAny.(augmentConversionForManagedClusterManagedOutboundIPProfile); ok { + err := augmentedProfile.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } -// Storage version of v1api20231001.ManagedClusterOperatorConfigMaps -type ManagedClusterOperatorConfigMaps struct { - OIDCIssuerProfile *genruntime.ConfigMapDestination `json:"oidcIssuerProfile,omitempty"` - PrincipalId *genruntime.ConfigMapDestination `json:"principalId,omitempty"` - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + // No error + return nil } -// Storage version of v1api20231001.ManagedClusterOperatorSecrets -type ManagedClusterOperatorSecrets struct { - AdminCredentials *genruntime.SecretDestination `json:"adminCredentials,omitempty"` - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` - UserCredentials *genruntime.SecretDestination `json:"userCredentials,omitempty"` -} +// AssignProperties_To_ManagedClusterManagedOutboundIPProfile populates the provided destination ManagedClusterManagedOutboundIPProfile from our ManagedClusterManagedOutboundIPProfile +func (profile *ManagedClusterManagedOutboundIPProfile) AssignProperties_To_ManagedClusterManagedOutboundIPProfile(destination *storage.ManagedClusterManagedOutboundIPProfile) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) -// Storage version of v1api20231001.ManagedClusterPodIdentity -// Details about the pod identity assigned to the Managed Cluster. -type ManagedClusterPodIdentity struct { - BindingSelector *string `json:"bindingSelector,omitempty"` - Identity *UserAssignedIdentity `json:"identity,omitempty"` - Name *string `json:"name,omitempty"` - Namespace *string `json:"namespace,omitempty"` - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` -} + // Count + destination.Count = genruntime.ClonePointerToInt(profile.Count) -// Storage version of v1api20231001.ManagedClusterPodIdentity_STATUS -// Details about the pod identity assigned to the Managed Cluster. -type ManagedClusterPodIdentity_STATUS struct { - BindingSelector *string `json:"bindingSelector,omitempty"` - Identity *UserAssignedIdentity_STATUS `json:"identity,omitempty"` - Name *string `json:"name,omitempty"` - Namespace *string `json:"namespace,omitempty"` - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` - ProvisioningInfo *ManagedClusterPodIdentity_ProvisioningInfo_STATUS `json:"provisioningInfo,omitempty"` - ProvisioningState *string `json:"provisioningState,omitempty"` -} + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } -// Storage version of v1api20231001.ManagedClusterPodIdentityException -// See [disable AAD Pod Identity for a specific -// Pod/Application](https://azure.github.io/aad-pod-identity/docs/configure/application_exception/) for more details. -type ManagedClusterPodIdentityException struct { - Name *string `json:"name,omitempty"` - Namespace *string `json:"namespace,omitempty"` - PodLabels map[string]string `json:"podLabels,omitempty"` - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + // Invoke the augmentConversionForManagedClusterManagedOutboundIPProfile interface (if implemented) to customize the conversion + var profileAsAny any = profile + if augmentedProfile, ok := profileAsAny.(augmentConversionForManagedClusterManagedOutboundIPProfile); ok { + err := augmentedProfile.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil } -// Storage version of v1api20231001.ManagedClusterPodIdentityException_STATUS -// See [disable AAD Pod Identity for a specific -// Pod/Application](https://azure.github.io/aad-pod-identity/docs/configure/application_exception/) for more details. -type ManagedClusterPodIdentityException_STATUS struct { - Name *string `json:"name,omitempty"` - Namespace *string `json:"namespace,omitempty"` - PodLabels map[string]string `json:"podLabels,omitempty"` +// Storage version of v1api20231001.ManagedClusterManagedOutboundIPProfile_STATUS +// Profile of the managed outbound IP resources of the managed cluster. +type ManagedClusterManagedOutboundIPProfile_STATUS struct { + Count *int `json:"count,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` } -// Storage version of v1api20231001.ManagedClusterSecurityProfileDefender -// Microsoft Defender settings for the security profile. -type ManagedClusterSecurityProfileDefender struct { - // LogAnalyticsWorkspaceResourceReference: Resource ID of the Log Analytics workspace to be associated with Microsoft - // Defender. When Microsoft Defender is enabled, this field is required and must be a valid workspace resource ID. When - // Microsoft Defender is disabled, leave the field empty. - LogAnalyticsWorkspaceResourceReference *genruntime.ResourceReference `armReference:"LogAnalyticsWorkspaceResourceId" json:"logAnalyticsWorkspaceResourceReference,omitempty"` - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` - SecurityMonitoring *ManagedClusterSecurityProfileDefenderSecurityMonitoring `json:"securityMonitoring,omitempty"` -} +// AssignProperties_From_ManagedClusterManagedOutboundIPProfile_STATUS populates our ManagedClusterManagedOutboundIPProfile_STATUS from the provided source ManagedClusterManagedOutboundIPProfile_STATUS +func (profile *ManagedClusterManagedOutboundIPProfile_STATUS) AssignProperties_From_ManagedClusterManagedOutboundIPProfile_STATUS(source *storage.ManagedClusterManagedOutboundIPProfile_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) -// Storage version of v1api20231001.ManagedClusterSecurityProfileDefender_STATUS -// Microsoft Defender settings for the security profile. -type ManagedClusterSecurityProfileDefender_STATUS struct { - LogAnalyticsWorkspaceResourceId *string `json:"logAnalyticsWorkspaceResourceId,omitempty"` - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` - SecurityMonitoring *ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS `json:"securityMonitoring,omitempty"` + // Count + profile.Count = genruntime.ClonePointerToInt(source.Count) + + // Update the property bag + if len(propertyBag) > 0 { + profile.PropertyBag = propertyBag + } else { + profile.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterManagedOutboundIPProfile_STATUS interface (if implemented) to customize the conversion + var profileAsAny any = profile + if augmentedProfile, ok := profileAsAny.(augmentConversionForManagedClusterManagedOutboundIPProfile_STATUS); ok { + err := augmentedProfile.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil } -// Storage version of v1api20231001.ManagedClusterSecurityProfileImageCleaner -// Image Cleaner removes unused images from nodes, freeing up disk space and helping to reduce attack surface area. Here -// are settings for the security profile. -type ManagedClusterSecurityProfileImageCleaner struct { - Enabled *bool `json:"enabled,omitempty"` - IntervalHours *int `json:"intervalHours,omitempty"` - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +// AssignProperties_To_ManagedClusterManagedOutboundIPProfile_STATUS populates the provided destination ManagedClusterManagedOutboundIPProfile_STATUS from our ManagedClusterManagedOutboundIPProfile_STATUS +func (profile *ManagedClusterManagedOutboundIPProfile_STATUS) AssignProperties_To_ManagedClusterManagedOutboundIPProfile_STATUS(destination *storage.ManagedClusterManagedOutboundIPProfile_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) + + // Count + destination.Count = genruntime.ClonePointerToInt(profile.Count) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterManagedOutboundIPProfile_STATUS interface (if implemented) to customize the conversion + var profileAsAny any = profile + if augmentedProfile, ok := profileAsAny.(augmentConversionForManagedClusterManagedOutboundIPProfile_STATUS); ok { + err := augmentedProfile.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil } -// Storage version of v1api20231001.ManagedClusterSecurityProfileImageCleaner_STATUS -// Image Cleaner removes unused images from nodes, freeing up disk space and helping to reduce attack surface area. Here -// are settings for the security profile. -type ManagedClusterSecurityProfileImageCleaner_STATUS struct { - Enabled *bool `json:"enabled,omitempty"` - IntervalHours *int `json:"intervalHours,omitempty"` - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +// Storage version of v1api20231001.ManagedClusterPodIdentity_ProvisioningInfo_STATUS +type ManagedClusterPodIdentity_ProvisioningInfo_STATUS struct { + Error *ManagedClusterPodIdentityProvisioningError_STATUS `json:"error,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` } -// Storage version of v1api20231001.ManagedClusterSecurityProfileWorkloadIdentity -// Workload identity settings for the security profile. -type ManagedClusterSecurityProfileWorkloadIdentity struct { - Enabled *bool `json:"enabled,omitempty"` - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +// AssignProperties_From_ManagedClusterPodIdentity_ProvisioningInfo_STATUS populates our ManagedClusterPodIdentity_ProvisioningInfo_STATUS from the provided source ManagedClusterPodIdentity_ProvisioningInfo_STATUS +func (info *ManagedClusterPodIdentity_ProvisioningInfo_STATUS) AssignProperties_From_ManagedClusterPodIdentity_ProvisioningInfo_STATUS(source *storage.ManagedClusterPodIdentity_ProvisioningInfo_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // Error + if source.Error != nil { + var error ManagedClusterPodIdentityProvisioningError_STATUS + err := error.AssignProperties_From_ManagedClusterPodIdentityProvisioningError_STATUS(source.Error) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterPodIdentityProvisioningError_STATUS() to populate field Error") + } + info.Error = &error + } else { + info.Error = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + info.PropertyBag = propertyBag + } else { + info.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterPodIdentity_ProvisioningInfo_STATUS interface (if implemented) to customize the conversion + var infoAsAny any = info + if augmentedInfo, ok := infoAsAny.(augmentConversionForManagedClusterPodIdentity_ProvisioningInfo_STATUS); ok { + err := augmentedInfo.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil } -// Storage version of v1api20231001.ManagedClusterSecurityProfileWorkloadIdentity_STATUS -// Workload identity settings for the security profile. -type ManagedClusterSecurityProfileWorkloadIdentity_STATUS struct { - Enabled *bool `json:"enabled,omitempty"` - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +// AssignProperties_To_ManagedClusterPodIdentity_ProvisioningInfo_STATUS populates the provided destination ManagedClusterPodIdentity_ProvisioningInfo_STATUS from our ManagedClusterPodIdentity_ProvisioningInfo_STATUS +func (info *ManagedClusterPodIdentity_ProvisioningInfo_STATUS) AssignProperties_To_ManagedClusterPodIdentity_ProvisioningInfo_STATUS(destination *storage.ManagedClusterPodIdentity_ProvisioningInfo_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(info.PropertyBag) + + // Error + if info.Error != nil { + var error storage.ManagedClusterPodIdentityProvisioningError_STATUS + err := info.Error.AssignProperties_To_ManagedClusterPodIdentityProvisioningError_STATUS(&error) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterPodIdentityProvisioningError_STATUS() to populate field Error") + } + destination.Error = &error + } else { + destination.Error = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterPodIdentity_ProvisioningInfo_STATUS interface (if implemented) to customize the conversion + var infoAsAny any = info + if augmentedInfo, ok := infoAsAny.(augmentConversionForManagedClusterPodIdentity_ProvisioningInfo_STATUS); ok { + err := augmentedInfo.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil } -// Storage version of v1api20231001.ManagedClusterStorageProfileBlobCSIDriver -// AzureBlob CSI Driver settings for the storage profile. -type ManagedClusterStorageProfileBlobCSIDriver struct { +// Storage version of v1api20231001.ManagedClusterSecurityProfileDefenderSecurityMonitoring +// Microsoft Defender settings for the security profile threat detection. +type ManagedClusterSecurityProfileDefenderSecurityMonitoring struct { Enabled *bool `json:"enabled,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` } -// Storage version of v1api20231001.ManagedClusterStorageProfileBlobCSIDriver_STATUS -// AzureBlob CSI Driver settings for the storage profile. -type ManagedClusterStorageProfileBlobCSIDriver_STATUS struct { - Enabled *bool `json:"enabled,omitempty"` - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +// AssignProperties_From_ManagedClusterSecurityProfileDefenderSecurityMonitoring populates our ManagedClusterSecurityProfileDefenderSecurityMonitoring from the provided source ManagedClusterSecurityProfileDefenderSecurityMonitoring +func (monitoring *ManagedClusterSecurityProfileDefenderSecurityMonitoring) AssignProperties_From_ManagedClusterSecurityProfileDefenderSecurityMonitoring(source *storage.ManagedClusterSecurityProfileDefenderSecurityMonitoring) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + monitoring.Enabled = &enabled + } else { + monitoring.Enabled = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + monitoring.PropertyBag = propertyBag + } else { + monitoring.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterSecurityProfileDefenderSecurityMonitoring interface (if implemented) to customize the conversion + var monitoringAsAny any = monitoring + if augmentedMonitoring, ok := monitoringAsAny.(augmentConversionForManagedClusterSecurityProfileDefenderSecurityMonitoring); ok { + err := augmentedMonitoring.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil } -// Storage version of v1api20231001.ManagedClusterStorageProfileDiskCSIDriver -// AzureDisk CSI Driver settings for the storage profile. -type ManagedClusterStorageProfileDiskCSIDriver struct { - Enabled *bool `json:"enabled,omitempty"` - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +// AssignProperties_To_ManagedClusterSecurityProfileDefenderSecurityMonitoring populates the provided destination ManagedClusterSecurityProfileDefenderSecurityMonitoring from our ManagedClusterSecurityProfileDefenderSecurityMonitoring +func (monitoring *ManagedClusterSecurityProfileDefenderSecurityMonitoring) AssignProperties_To_ManagedClusterSecurityProfileDefenderSecurityMonitoring(destination *storage.ManagedClusterSecurityProfileDefenderSecurityMonitoring) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(monitoring.PropertyBag) + + // Enabled + if monitoring.Enabled != nil { + enabled := *monitoring.Enabled + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterSecurityProfileDefenderSecurityMonitoring interface (if implemented) to customize the conversion + var monitoringAsAny any = monitoring + if augmentedMonitoring, ok := monitoringAsAny.(augmentConversionForManagedClusterSecurityProfileDefenderSecurityMonitoring); ok { + err := augmentedMonitoring.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil } -// Storage version of v1api20231001.ManagedClusterStorageProfileDiskCSIDriver_STATUS -// AzureDisk CSI Driver settings for the storage profile. -type ManagedClusterStorageProfileDiskCSIDriver_STATUS struct { +// Storage version of v1api20231001.ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS +// Microsoft Defender settings for the security profile threat detection. +type ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS struct { Enabled *bool `json:"enabled,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` } -// Storage version of v1api20231001.ManagedClusterStorageProfileFileCSIDriver -// AzureFile CSI Driver settings for the storage profile. -type ManagedClusterStorageProfileFileCSIDriver struct { - Enabled *bool `json:"enabled,omitempty"` - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` -} +// AssignProperties_From_ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS populates our ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS from the provided source ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS +func (monitoring *ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS) AssignProperties_From_ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS(source *storage.ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) -// Storage version of v1api20231001.ManagedClusterStorageProfileFileCSIDriver_STATUS -// AzureFile CSI Driver settings for the storage profile. -type ManagedClusterStorageProfileFileCSIDriver_STATUS struct { - Enabled *bool `json:"enabled,omitempty"` - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` -} + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + monitoring.Enabled = &enabled + } else { + monitoring.Enabled = nil + } -// Storage version of v1api20231001.ManagedClusterStorageProfileSnapshotController -// Snapshot Controller settings for the storage profile. -type ManagedClusterStorageProfileSnapshotController struct { - Enabled *bool `json:"enabled,omitempty"` - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + // Update the property bag + if len(propertyBag) > 0 { + monitoring.PropertyBag = propertyBag + } else { + monitoring.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS interface (if implemented) to customize the conversion + var monitoringAsAny any = monitoring + if augmentedMonitoring, ok := monitoringAsAny.(augmentConversionForManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS); ok { + err := augmentedMonitoring.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil } -// Storage version of v1api20231001.ManagedClusterStorageProfileSnapshotController_STATUS -// Snapshot Controller settings for the storage profile. -type ManagedClusterStorageProfileSnapshotController_STATUS struct { - Enabled *bool `json:"enabled,omitempty"` - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +// AssignProperties_To_ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS populates the provided destination ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS from our ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS +func (monitoring *ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS) AssignProperties_To_ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS(destination *storage.ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(monitoring.PropertyBag) + + // Enabled + if monitoring.Enabled != nil { + enabled := *monitoring.Enabled + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS interface (if implemented) to customize the conversion + var monitoringAsAny any = monitoring + if augmentedMonitoring, ok := monitoringAsAny.(augmentConversionForManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS); ok { + err := augmentedMonitoring.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil } -// Storage version of v1api20231001.ManagedClusterWorkloadAutoScalerProfileKeda -// KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile. -type ManagedClusterWorkloadAutoScalerProfileKeda struct { - Enabled *bool `json:"enabled,omitempty"` +// Storage version of v1api20231001.ResourceReference +// A reference to an Azure resource. +type ResourceReference struct { PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + + // Reference: The fully qualified Azure resource id. + Reference *genruntime.ResourceReference `armReference:"Id" json:"reference,omitempty"` } -// Storage version of v1api20231001.ManagedClusterWorkloadAutoScalerProfileKeda_STATUS -// KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile. -type ManagedClusterWorkloadAutoScalerProfileKeda_STATUS struct { - Enabled *bool `json:"enabled,omitempty"` - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +// AssignProperties_From_ResourceReference populates our ResourceReference from the provided source ResourceReference +func (reference *ResourceReference) AssignProperties_From_ResourceReference(source *storage.ResourceReference) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // Reference + if source.Reference != nil { + referenceTemp := source.Reference.Copy() + reference.Reference = &referenceTemp + } else { + reference.Reference = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + reference.PropertyBag = propertyBag + } else { + reference.PropertyBag = nil + } + + // Invoke the augmentConversionForResourceReference interface (if implemented) to customize the conversion + var referenceAsAny any = reference + if augmentedReference, ok := referenceAsAny.(augmentConversionForResourceReference); ok { + err := augmentedReference.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil } -// Storage version of v1api20231001.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler -// VPA (Vertical Pod Autoscaler) settings for the workload auto-scaler profile. -type ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler struct { - Enabled *bool `json:"enabled,omitempty"` - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +// AssignProperties_To_ResourceReference populates the provided destination ResourceReference from our ResourceReference +func (reference *ResourceReference) AssignProperties_To_ResourceReference(destination *storage.ResourceReference) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(reference.PropertyBag) + + // Reference + if reference.Reference != nil { + referenceTemp := reference.Reference.Copy() + destination.Reference = &referenceTemp + } else { + destination.Reference = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForResourceReference interface (if implemented) to customize the conversion + var referenceAsAny any = reference + if augmentedReference, ok := referenceAsAny.(augmentConversionForResourceReference); ok { + err := augmentedReference.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil } -// Storage version of v1api20231001.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS -// VPA (Vertical Pod Autoscaler) settings for the workload auto-scaler profile. -type ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS struct { - Enabled *bool `json:"enabled,omitempty"` +// Storage version of v1api20231001.ResourceReference_STATUS +// A reference to an Azure resource. +type ResourceReference_STATUS struct { + Id *string `json:"id,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` } -// Storage version of v1api20231001.UpgradeOverrideSettings -// Settings for overrides when upgrading a cluster. -type UpgradeOverrideSettings struct { - ForceUpgrade *bool `json:"forceUpgrade,omitempty"` - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` - Until *string `json:"until,omitempty"` -} +// AssignProperties_From_ResourceReference_STATUS populates our ResourceReference_STATUS from the provided source ResourceReference_STATUS +func (reference *ResourceReference_STATUS) AssignProperties_From_ResourceReference_STATUS(source *storage.ResourceReference_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) -// Storage version of v1api20231001.UpgradeOverrideSettings_STATUS -// Settings for overrides when upgrading a cluster. -type UpgradeOverrideSettings_STATUS struct { - ForceUpgrade *bool `json:"forceUpgrade,omitempty"` - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` - Until *string `json:"until,omitempty"` -} + // Id + reference.Id = genruntime.ClonePointerToString(source.Id) -// Storage version of v1api20231001.UserAssignedIdentityDetails -// Information about the user assigned identity for the resource -type UserAssignedIdentityDetails struct { - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` - Reference genruntime.ResourceReference `armReference:"Reference" json:"reference,omitempty"` -} + // Update the property bag + if len(propertyBag) > 0 { + reference.PropertyBag = propertyBag + } else { + reference.PropertyBag = nil + } -// Storage version of v1api20231001.WindowsGmsaProfile -// Windows gMSA Profile in the managed cluster. -type WindowsGmsaProfile struct { - DnsServer *string `json:"dnsServer,omitempty"` - Enabled *bool `json:"enabled,omitempty"` - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` - RootDomainName *string `json:"rootDomainName,omitempty"` -} + // Invoke the augmentConversionForResourceReference_STATUS interface (if implemented) to customize the conversion + var referenceAsAny any = reference + if augmentedReference, ok := referenceAsAny.(augmentConversionForResourceReference_STATUS); ok { + err := augmentedReference.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } -// Storage version of v1api20231001.WindowsGmsaProfile_STATUS -// Windows gMSA Profile in the managed cluster. -type WindowsGmsaProfile_STATUS struct { - DnsServer *string `json:"dnsServer,omitempty"` - Enabled *bool `json:"enabled,omitempty"` - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` - RootDomainName *string `json:"rootDomainName,omitempty"` + // No error + return nil } -// Storage version of v1api20231001.ContainerServiceSshPublicKey -// Contains information about SSH certificate public key data. -type ContainerServiceSshPublicKey struct { - KeyData *string `json:"keyData,omitempty"` - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +// AssignProperties_To_ResourceReference_STATUS populates the provided destination ResourceReference_STATUS from our ResourceReference_STATUS +func (reference *ResourceReference_STATUS) AssignProperties_To_ResourceReference_STATUS(destination *storage.ResourceReference_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(reference.PropertyBag) + + // Id + destination.Id = genruntime.ClonePointerToString(reference.Id) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForResourceReference_STATUS interface (if implemented) to customize the conversion + var referenceAsAny any = reference + if augmentedReference, ok := referenceAsAny.(augmentConversionForResourceReference_STATUS); ok { + err := augmentedReference.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil } -// Storage version of v1api20231001.ContainerServiceSshPublicKey_STATUS -// Contains information about SSH certificate public key data. -type ContainerServiceSshPublicKey_STATUS struct { - KeyData *string `json:"keyData,omitempty"` - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +type augmentConversionForContainerServiceSshPublicKey interface { + AssignPropertiesFrom(src *storage.ContainerServiceSshPublicKey) error + AssignPropertiesTo(dst *storage.ContainerServiceSshPublicKey) error } -// Storage version of v1api20231001.IstioCertificateAuthority -// Istio Service Mesh Certificate Authority (CA) configuration. For now, we only support plugin certificates as described -// here https://aka.ms/asm-plugin-ca -type IstioCertificateAuthority struct { - Plugin *IstioPluginCertificateAuthority `json:"plugin,omitempty"` - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +type augmentConversionForContainerServiceSshPublicKey_STATUS interface { + AssignPropertiesFrom(src *storage.ContainerServiceSshPublicKey_STATUS) error + AssignPropertiesTo(dst *storage.ContainerServiceSshPublicKey_STATUS) error } -// Storage version of v1api20231001.IstioCertificateAuthority_STATUS -// Istio Service Mesh Certificate Authority (CA) configuration. For now, we only support plugin certificates as described -// here https://aka.ms/asm-plugin-ca -type IstioCertificateAuthority_STATUS struct { - Plugin *IstioPluginCertificateAuthority_STATUS `json:"plugin,omitempty"` - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +type augmentConversionForIstioCertificateAuthority interface { + AssignPropertiesFrom(src *storage.IstioCertificateAuthority) error + AssignPropertiesTo(dst *storage.IstioCertificateAuthority) error } -// Storage version of v1api20231001.IstioComponents -// Istio components configuration. -type IstioComponents struct { - EgressGateways []IstioEgressGateway `json:"egressGateways,omitempty"` - IngressGateways []IstioIngressGateway `json:"ingressGateways,omitempty"` - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +type augmentConversionForIstioCertificateAuthority_STATUS interface { + AssignPropertiesFrom(src *storage.IstioCertificateAuthority_STATUS) error + AssignPropertiesTo(dst *storage.IstioCertificateAuthority_STATUS) error } -// Storage version of v1api20231001.IstioComponents_STATUS -// Istio components configuration. -type IstioComponents_STATUS struct { - EgressGateways []IstioEgressGateway_STATUS `json:"egressGateways,omitempty"` - IngressGateways []IstioIngressGateway_STATUS `json:"ingressGateways,omitempty"` - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +type augmentConversionForIstioComponents interface { + AssignPropertiesFrom(src *storage.IstioComponents) error + AssignPropertiesTo(dst *storage.IstioComponents) error } -// Storage version of v1api20231001.ManagedClusterAzureMonitorProfileKubeStateMetrics -// Kube State Metrics profile for the Azure Managed Prometheus addon. These optional settings are for the -// kube-state-metrics pod that is deployed with the addon. See aka.ms/AzureManagedPrometheus-optional-parameters for -// details. -type ManagedClusterAzureMonitorProfileKubeStateMetrics struct { - MetricAnnotationsAllowList *string `json:"metricAnnotationsAllowList,omitempty"` - MetricLabelsAllowlist *string `json:"metricLabelsAllowlist,omitempty"` - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +type augmentConversionForIstioComponents_STATUS interface { + AssignPropertiesFrom(src *storage.IstioComponents_STATUS) error + AssignPropertiesTo(dst *storage.IstioComponents_STATUS) error } -// Storage version of v1api20231001.ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS -// Kube State Metrics profile for the Azure Managed Prometheus addon. These optional settings are for the -// kube-state-metrics pod that is deployed with the addon. See aka.ms/AzureManagedPrometheus-optional-parameters for -// details. -type ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS struct { - MetricAnnotationsAllowList *string `json:"metricAnnotationsAllowList,omitempty"` - MetricLabelsAllowlist *string `json:"metricLabelsAllowlist,omitempty"` - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +type augmentConversionForManagedClusterAzureMonitorProfileKubeStateMetrics interface { + AssignPropertiesFrom(src *storage.ManagedClusterAzureMonitorProfileKubeStateMetrics) error + AssignPropertiesTo(dst *storage.ManagedClusterAzureMonitorProfileKubeStateMetrics) error } -// Storage version of v1api20231001.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs -type ManagedClusterLoadBalancerProfile_ManagedOutboundIPs struct { - Count *int `json:"count,omitempty"` - CountIPv6 *int `json:"countIPv6,omitempty"` - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +type augmentConversionForManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS interface { + AssignPropertiesFrom(src *storage.ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS) error + AssignPropertiesTo(dst *storage.ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS) error } -// Storage version of v1api20231001.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS -type ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS struct { - Count *int `json:"count,omitempty"` - CountIPv6 *int `json:"countIPv6,omitempty"` - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +type augmentConversionForManagedClusterLoadBalancerProfile_ManagedOutboundIPs interface { + AssignPropertiesFrom(src *storage.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs) error + AssignPropertiesTo(dst *storage.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs) error } -// Storage version of v1api20231001.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes -type ManagedClusterLoadBalancerProfile_OutboundIPPrefixes struct { - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` - PublicIPPrefixes []ResourceReference `json:"publicIPPrefixes,omitempty"` +type augmentConversionForManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS interface { + AssignPropertiesFrom(src *storage.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS) error + AssignPropertiesTo(dst *storage.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS) error } -// Storage version of v1api20231001.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS -type ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS struct { - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` - PublicIPPrefixes []ResourceReference_STATUS `json:"publicIPPrefixes,omitempty"` +type augmentConversionForManagedClusterLoadBalancerProfile_OutboundIPPrefixes interface { + AssignPropertiesFrom(src *storage.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes) error + AssignPropertiesTo(dst *storage.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes) error } -// Storage version of v1api20231001.ManagedClusterLoadBalancerProfile_OutboundIPs -type ManagedClusterLoadBalancerProfile_OutboundIPs struct { - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` - PublicIPs []ResourceReference `json:"publicIPs,omitempty"` +type augmentConversionForManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS interface { + AssignPropertiesFrom(src *storage.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS) error + AssignPropertiesTo(dst *storage.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS) error } -// Storage version of v1api20231001.ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS -type ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS struct { - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` - PublicIPs []ResourceReference_STATUS `json:"publicIPs,omitempty"` +type augmentConversionForManagedClusterLoadBalancerProfile_OutboundIPs interface { + AssignPropertiesFrom(src *storage.ManagedClusterLoadBalancerProfile_OutboundIPs) error + AssignPropertiesTo(dst *storage.ManagedClusterLoadBalancerProfile_OutboundIPs) error } -// Storage version of v1api20231001.ManagedClusterManagedOutboundIPProfile -// Profile of the managed outbound IP resources of the managed cluster. -type ManagedClusterManagedOutboundIPProfile struct { - Count *int `json:"count,omitempty"` - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +type augmentConversionForManagedClusterLoadBalancerProfile_OutboundIPs_STATUS interface { + AssignPropertiesFrom(src *storage.ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS) error + AssignPropertiesTo(dst *storage.ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS) error } -// Storage version of v1api20231001.ManagedClusterManagedOutboundIPProfile_STATUS -// Profile of the managed outbound IP resources of the managed cluster. -type ManagedClusterManagedOutboundIPProfile_STATUS struct { - Count *int `json:"count,omitempty"` - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +type augmentConversionForManagedClusterManagedOutboundIPProfile interface { + AssignPropertiesFrom(src *storage.ManagedClusterManagedOutboundIPProfile) error + AssignPropertiesTo(dst *storage.ManagedClusterManagedOutboundIPProfile) error } -// Storage version of v1api20231001.ManagedClusterPodIdentity_ProvisioningInfo_STATUS -type ManagedClusterPodIdentity_ProvisioningInfo_STATUS struct { - Error *ManagedClusterPodIdentityProvisioningError_STATUS `json:"error,omitempty"` - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +type augmentConversionForManagedClusterManagedOutboundIPProfile_STATUS interface { + AssignPropertiesFrom(src *storage.ManagedClusterManagedOutboundIPProfile_STATUS) error + AssignPropertiesTo(dst *storage.ManagedClusterManagedOutboundIPProfile_STATUS) error } -// Storage version of v1api20231001.ManagedClusterSecurityProfileDefenderSecurityMonitoring -// Microsoft Defender settings for the security profile threat detection. -type ManagedClusterSecurityProfileDefenderSecurityMonitoring struct { - Enabled *bool `json:"enabled,omitempty"` - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +type augmentConversionForManagedClusterPodIdentity_ProvisioningInfo_STATUS interface { + AssignPropertiesFrom(src *storage.ManagedClusterPodIdentity_ProvisioningInfo_STATUS) error + AssignPropertiesTo(dst *storage.ManagedClusterPodIdentity_ProvisioningInfo_STATUS) error } -// Storage version of v1api20231001.ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS -// Microsoft Defender settings for the security profile threat detection. -type ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS struct { - Enabled *bool `json:"enabled,omitempty"` - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +type augmentConversionForManagedClusterSecurityProfileDefenderSecurityMonitoring interface { + AssignPropertiesFrom(src *storage.ManagedClusterSecurityProfileDefenderSecurityMonitoring) error + AssignPropertiesTo(dst *storage.ManagedClusterSecurityProfileDefenderSecurityMonitoring) error } -// Storage version of v1api20231001.ResourceReference -// A reference to an Azure resource. -type ResourceReference struct { - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +type augmentConversionForManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS interface { + AssignPropertiesFrom(src *storage.ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS) error + AssignPropertiesTo(dst *storage.ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS) error +} - // Reference: The fully qualified Azure resource id. - Reference *genruntime.ResourceReference `armReference:"Id" json:"reference,omitempty"` +type augmentConversionForResourceReference interface { + AssignPropertiesFrom(src *storage.ResourceReference) error + AssignPropertiesTo(dst *storage.ResourceReference) error } -// Storage version of v1api20231001.ResourceReference_STATUS -// A reference to an Azure resource. -type ResourceReference_STATUS struct { - Id *string `json:"id,omitempty"` - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +type augmentConversionForResourceReference_STATUS interface { + AssignPropertiesFrom(src *storage.ResourceReference_STATUS) error + AssignPropertiesTo(dst *storage.ResourceReference_STATUS) error } // Storage version of v1api20231001.IstioEgressGateway @@ -1486,6 +15434,92 @@ type IstioEgressGateway struct { PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` } +// AssignProperties_From_IstioEgressGateway populates our IstioEgressGateway from the provided source IstioEgressGateway +func (gateway *IstioEgressGateway) AssignProperties_From_IstioEgressGateway(source *storage.IstioEgressGateway) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + gateway.Enabled = &enabled + } else { + gateway.Enabled = nil + } + + // NodeSelector + if propertyBag.Contains("NodeSelector") { + var nodeSelector map[string]string + err := propertyBag.Pull("NodeSelector", &nodeSelector) + if err != nil { + return errors.Wrap(err, "pulling 'NodeSelector' from propertyBag") + } + + gateway.NodeSelector = nodeSelector + } else { + gateway.NodeSelector = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + gateway.PropertyBag = propertyBag + } else { + gateway.PropertyBag = nil + } + + // Invoke the augmentConversionForIstioEgressGateway interface (if implemented) to customize the conversion + var gatewayAsAny any = gateway + if augmentedGateway, ok := gatewayAsAny.(augmentConversionForIstioEgressGateway); ok { + err := augmentedGateway.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_IstioEgressGateway populates the provided destination IstioEgressGateway from our IstioEgressGateway +func (gateway *IstioEgressGateway) AssignProperties_To_IstioEgressGateway(destination *storage.IstioEgressGateway) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(gateway.PropertyBag) + + // Enabled + if gateway.Enabled != nil { + enabled := *gateway.Enabled + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // NodeSelector + if len(gateway.NodeSelector) > 0 { + propertyBag.Add("NodeSelector", gateway.NodeSelector) + } else { + propertyBag.Remove("NodeSelector") + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForIstioEgressGateway interface (if implemented) to customize the conversion + var gatewayAsAny any = gateway + if augmentedGateway, ok := gatewayAsAny.(augmentConversionForIstioEgressGateway); ok { + err := augmentedGateway.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + // Storage version of v1api20231001.IstioEgressGateway_STATUS // Istio egress gateway configuration. type IstioEgressGateway_STATUS struct { @@ -1494,6 +15528,92 @@ type IstioEgressGateway_STATUS struct { PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` } +// AssignProperties_From_IstioEgressGateway_STATUS populates our IstioEgressGateway_STATUS from the provided source IstioEgressGateway_STATUS +func (gateway *IstioEgressGateway_STATUS) AssignProperties_From_IstioEgressGateway_STATUS(source *storage.IstioEgressGateway_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + gateway.Enabled = &enabled + } else { + gateway.Enabled = nil + } + + // NodeSelector + if propertyBag.Contains("NodeSelector") { + var nodeSelector map[string]string + err := propertyBag.Pull("NodeSelector", &nodeSelector) + if err != nil { + return errors.Wrap(err, "pulling 'NodeSelector' from propertyBag") + } + + gateway.NodeSelector = nodeSelector + } else { + gateway.NodeSelector = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + gateway.PropertyBag = propertyBag + } else { + gateway.PropertyBag = nil + } + + // Invoke the augmentConversionForIstioEgressGateway_STATUS interface (if implemented) to customize the conversion + var gatewayAsAny any = gateway + if augmentedGateway, ok := gatewayAsAny.(augmentConversionForIstioEgressGateway_STATUS); ok { + err := augmentedGateway.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_IstioEgressGateway_STATUS populates the provided destination IstioEgressGateway_STATUS from our IstioEgressGateway_STATUS +func (gateway *IstioEgressGateway_STATUS) AssignProperties_To_IstioEgressGateway_STATUS(destination *storage.IstioEgressGateway_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(gateway.PropertyBag) + + // Enabled + if gateway.Enabled != nil { + enabled := *gateway.Enabled + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // NodeSelector + if len(gateway.NodeSelector) > 0 { + propertyBag.Add("NodeSelector", gateway.NodeSelector) + } else { + propertyBag.Remove("NodeSelector") + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForIstioEgressGateway_STATUS interface (if implemented) to customize the conversion + var gatewayAsAny any = gateway + if augmentedGateway, ok := gatewayAsAny.(augmentConversionForIstioEgressGateway_STATUS); ok { + err := augmentedGateway.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + // Storage version of v1api20231001.IstioIngressGateway // Istio ingress gateway configuration. For now, we support up to one external ingress gateway named // `aks-istio-ingressgateway-external` and one internal ingress gateway named `aks-istio-ingressgateway-internal`. @@ -1503,6 +15623,78 @@ type IstioIngressGateway struct { PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` } +// AssignProperties_From_IstioIngressGateway populates our IstioIngressGateway from the provided source IstioIngressGateway +func (gateway *IstioIngressGateway) AssignProperties_From_IstioIngressGateway(source *storage.IstioIngressGateway) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + gateway.Enabled = &enabled + } else { + gateway.Enabled = nil + } + + // Mode + gateway.Mode = genruntime.ClonePointerToString(source.Mode) + + // Update the property bag + if len(propertyBag) > 0 { + gateway.PropertyBag = propertyBag + } else { + gateway.PropertyBag = nil + } + + // Invoke the augmentConversionForIstioIngressGateway interface (if implemented) to customize the conversion + var gatewayAsAny any = gateway + if augmentedGateway, ok := gatewayAsAny.(augmentConversionForIstioIngressGateway); ok { + err := augmentedGateway.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_IstioIngressGateway populates the provided destination IstioIngressGateway from our IstioIngressGateway +func (gateway *IstioIngressGateway) AssignProperties_To_IstioIngressGateway(destination *storage.IstioIngressGateway) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(gateway.PropertyBag) + + // Enabled + if gateway.Enabled != nil { + enabled := *gateway.Enabled + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // Mode + destination.Mode = genruntime.ClonePointerToString(gateway.Mode) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForIstioIngressGateway interface (if implemented) to customize the conversion + var gatewayAsAny any = gateway + if augmentedGateway, ok := gatewayAsAny.(augmentConversionForIstioIngressGateway); ok { + err := augmentedGateway.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + // Storage version of v1api20231001.IstioIngressGateway_STATUS // Istio ingress gateway configuration. For now, we support up to one external ingress gateway named // `aks-istio-ingressgateway-external` and one internal ingress gateway named `aks-istio-ingressgateway-internal`. @@ -1512,6 +15704,78 @@ type IstioIngressGateway_STATUS struct { PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` } +// AssignProperties_From_IstioIngressGateway_STATUS populates our IstioIngressGateway_STATUS from the provided source IstioIngressGateway_STATUS +func (gateway *IstioIngressGateway_STATUS) AssignProperties_From_IstioIngressGateway_STATUS(source *storage.IstioIngressGateway_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + gateway.Enabled = &enabled + } else { + gateway.Enabled = nil + } + + // Mode + gateway.Mode = genruntime.ClonePointerToString(source.Mode) + + // Update the property bag + if len(propertyBag) > 0 { + gateway.PropertyBag = propertyBag + } else { + gateway.PropertyBag = nil + } + + // Invoke the augmentConversionForIstioIngressGateway_STATUS interface (if implemented) to customize the conversion + var gatewayAsAny any = gateway + if augmentedGateway, ok := gatewayAsAny.(augmentConversionForIstioIngressGateway_STATUS); ok { + err := augmentedGateway.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_IstioIngressGateway_STATUS populates the provided destination IstioIngressGateway_STATUS from our IstioIngressGateway_STATUS +func (gateway *IstioIngressGateway_STATUS) AssignProperties_To_IstioIngressGateway_STATUS(destination *storage.IstioIngressGateway_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(gateway.PropertyBag) + + // Enabled + if gateway.Enabled != nil { + enabled := *gateway.Enabled + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // Mode + destination.Mode = genruntime.ClonePointerToString(gateway.Mode) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForIstioIngressGateway_STATUS interface (if implemented) to customize the conversion + var gatewayAsAny any = gateway + if augmentedGateway, ok := gatewayAsAny.(augmentConversionForIstioIngressGateway_STATUS); ok { + err := augmentedGateway.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + // Storage version of v1api20231001.IstioPluginCertificateAuthority // Plugin certificates information for Service Mesh. type IstioPluginCertificateAuthority struct { @@ -1525,6 +15789,96 @@ type IstioPluginCertificateAuthority struct { RootCertObjectName *string `json:"rootCertObjectName,omitempty"` } +// AssignProperties_From_IstioPluginCertificateAuthority populates our IstioPluginCertificateAuthority from the provided source IstioPluginCertificateAuthority +func (authority *IstioPluginCertificateAuthority) AssignProperties_From_IstioPluginCertificateAuthority(source *storage.IstioPluginCertificateAuthority) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // CertChainObjectName + authority.CertChainObjectName = genruntime.ClonePointerToString(source.CertChainObjectName) + + // CertObjectName + authority.CertObjectName = genruntime.ClonePointerToString(source.CertObjectName) + + // KeyObjectName + authority.KeyObjectName = genruntime.ClonePointerToString(source.KeyObjectName) + + // KeyVaultReference + if source.KeyVaultReference != nil { + keyVaultReference := source.KeyVaultReference.Copy() + authority.KeyVaultReference = &keyVaultReference + } else { + authority.KeyVaultReference = nil + } + + // RootCertObjectName + authority.RootCertObjectName = genruntime.ClonePointerToString(source.RootCertObjectName) + + // Update the property bag + if len(propertyBag) > 0 { + authority.PropertyBag = propertyBag + } else { + authority.PropertyBag = nil + } + + // Invoke the augmentConversionForIstioPluginCertificateAuthority interface (if implemented) to customize the conversion + var authorityAsAny any = authority + if augmentedAuthority, ok := authorityAsAny.(augmentConversionForIstioPluginCertificateAuthority); ok { + err := augmentedAuthority.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_IstioPluginCertificateAuthority populates the provided destination IstioPluginCertificateAuthority from our IstioPluginCertificateAuthority +func (authority *IstioPluginCertificateAuthority) AssignProperties_To_IstioPluginCertificateAuthority(destination *storage.IstioPluginCertificateAuthority) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(authority.PropertyBag) + + // CertChainObjectName + destination.CertChainObjectName = genruntime.ClonePointerToString(authority.CertChainObjectName) + + // CertObjectName + destination.CertObjectName = genruntime.ClonePointerToString(authority.CertObjectName) + + // KeyObjectName + destination.KeyObjectName = genruntime.ClonePointerToString(authority.KeyObjectName) + + // KeyVaultReference + if authority.KeyVaultReference != nil { + keyVaultReference := authority.KeyVaultReference.Copy() + destination.KeyVaultReference = &keyVaultReference + } else { + destination.KeyVaultReference = nil + } + + // RootCertObjectName + destination.RootCertObjectName = genruntime.ClonePointerToString(authority.RootCertObjectName) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForIstioPluginCertificateAuthority interface (if implemented) to customize the conversion + var authorityAsAny any = authority + if augmentedAuthority, ok := authorityAsAny.(augmentConversionForIstioPluginCertificateAuthority); ok { + err := augmentedAuthority.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + // Storage version of v1api20231001.IstioPluginCertificateAuthority_STATUS // Plugin certificates information for Service Mesh. type IstioPluginCertificateAuthority_STATUS struct { @@ -1536,6 +15890,86 @@ type IstioPluginCertificateAuthority_STATUS struct { RootCertObjectName *string `json:"rootCertObjectName,omitempty"` } +// AssignProperties_From_IstioPluginCertificateAuthority_STATUS populates our IstioPluginCertificateAuthority_STATUS from the provided source IstioPluginCertificateAuthority_STATUS +func (authority *IstioPluginCertificateAuthority_STATUS) AssignProperties_From_IstioPluginCertificateAuthority_STATUS(source *storage.IstioPluginCertificateAuthority_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // CertChainObjectName + authority.CertChainObjectName = genruntime.ClonePointerToString(source.CertChainObjectName) + + // CertObjectName + authority.CertObjectName = genruntime.ClonePointerToString(source.CertObjectName) + + // KeyObjectName + authority.KeyObjectName = genruntime.ClonePointerToString(source.KeyObjectName) + + // KeyVaultId + authority.KeyVaultId = genruntime.ClonePointerToString(source.KeyVaultId) + + // RootCertObjectName + authority.RootCertObjectName = genruntime.ClonePointerToString(source.RootCertObjectName) + + // Update the property bag + if len(propertyBag) > 0 { + authority.PropertyBag = propertyBag + } else { + authority.PropertyBag = nil + } + + // Invoke the augmentConversionForIstioPluginCertificateAuthority_STATUS interface (if implemented) to customize the conversion + var authorityAsAny any = authority + if augmentedAuthority, ok := authorityAsAny.(augmentConversionForIstioPluginCertificateAuthority_STATUS); ok { + err := augmentedAuthority.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_IstioPluginCertificateAuthority_STATUS populates the provided destination IstioPluginCertificateAuthority_STATUS from our IstioPluginCertificateAuthority_STATUS +func (authority *IstioPluginCertificateAuthority_STATUS) AssignProperties_To_IstioPluginCertificateAuthority_STATUS(destination *storage.IstioPluginCertificateAuthority_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(authority.PropertyBag) + + // CertChainObjectName + destination.CertChainObjectName = genruntime.ClonePointerToString(authority.CertChainObjectName) + + // CertObjectName + destination.CertObjectName = genruntime.ClonePointerToString(authority.CertObjectName) + + // KeyObjectName + destination.KeyObjectName = genruntime.ClonePointerToString(authority.KeyObjectName) + + // KeyVaultId + destination.KeyVaultId = genruntime.ClonePointerToString(authority.KeyVaultId) + + // RootCertObjectName + destination.RootCertObjectName = genruntime.ClonePointerToString(authority.RootCertObjectName) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForIstioPluginCertificateAuthority_STATUS interface (if implemented) to customize the conversion + var authorityAsAny any = authority + if augmentedAuthority, ok := authorityAsAny.(augmentConversionForIstioPluginCertificateAuthority_STATUS); ok { + err := augmentedAuthority.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + // Storage version of v1api20231001.ManagedClusterPodIdentityProvisioningError_STATUS // An error response from the pod identity provisioning. type ManagedClusterPodIdentityProvisioningError_STATUS struct { @@ -1543,6 +15977,115 @@ type ManagedClusterPodIdentityProvisioningError_STATUS struct { PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` } +// AssignProperties_From_ManagedClusterPodIdentityProvisioningError_STATUS populates our ManagedClusterPodIdentityProvisioningError_STATUS from the provided source ManagedClusterPodIdentityProvisioningError_STATUS +func (error *ManagedClusterPodIdentityProvisioningError_STATUS) AssignProperties_From_ManagedClusterPodIdentityProvisioningError_STATUS(source *storage.ManagedClusterPodIdentityProvisioningError_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // Error + if source.Error != nil { + var errorLocal ManagedClusterPodIdentityProvisioningErrorBody_STATUS + err := errorLocal.AssignProperties_From_ManagedClusterPodIdentityProvisioningErrorBody_STATUS(source.Error) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterPodIdentityProvisioningErrorBody_STATUS() to populate field Error") + } + error.Error = &errorLocal + } else { + error.Error = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + error.PropertyBag = propertyBag + } else { + error.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterPodIdentityProvisioningError_STATUS interface (if implemented) to customize the conversion + var errorAsAny any = error + if augmentedError, ok := errorAsAny.(augmentConversionForManagedClusterPodIdentityProvisioningError_STATUS); ok { + err := augmentedError.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterPodIdentityProvisioningError_STATUS populates the provided destination ManagedClusterPodIdentityProvisioningError_STATUS from our ManagedClusterPodIdentityProvisioningError_STATUS +func (error *ManagedClusterPodIdentityProvisioningError_STATUS) AssignProperties_To_ManagedClusterPodIdentityProvisioningError_STATUS(destination *storage.ManagedClusterPodIdentityProvisioningError_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(error.PropertyBag) + + // Error + if error.Error != nil { + var errorLocal storage.ManagedClusterPodIdentityProvisioningErrorBody_STATUS + err := error.Error.AssignProperties_To_ManagedClusterPodIdentityProvisioningErrorBody_STATUS(&errorLocal) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterPodIdentityProvisioningErrorBody_STATUS() to populate field Error") + } + destination.Error = &errorLocal + } else { + destination.Error = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterPodIdentityProvisioningError_STATUS interface (if implemented) to customize the conversion + var errorAsAny any = error + if augmentedError, ok := errorAsAny.(augmentConversionForManagedClusterPodIdentityProvisioningError_STATUS); ok { + err := augmentedError.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +type augmentConversionForIstioEgressGateway interface { + AssignPropertiesFrom(src *storage.IstioEgressGateway) error + AssignPropertiesTo(dst *storage.IstioEgressGateway) error +} + +type augmentConversionForIstioEgressGateway_STATUS interface { + AssignPropertiesFrom(src *storage.IstioEgressGateway_STATUS) error + AssignPropertiesTo(dst *storage.IstioEgressGateway_STATUS) error +} + +type augmentConversionForIstioIngressGateway interface { + AssignPropertiesFrom(src *storage.IstioIngressGateway) error + AssignPropertiesTo(dst *storage.IstioIngressGateway) error +} + +type augmentConversionForIstioIngressGateway_STATUS interface { + AssignPropertiesFrom(src *storage.IstioIngressGateway_STATUS) error + AssignPropertiesTo(dst *storage.IstioIngressGateway_STATUS) error +} + +type augmentConversionForIstioPluginCertificateAuthority interface { + AssignPropertiesFrom(src *storage.IstioPluginCertificateAuthority) error + AssignPropertiesTo(dst *storage.IstioPluginCertificateAuthority) error +} + +type augmentConversionForIstioPluginCertificateAuthority_STATUS interface { + AssignPropertiesFrom(src *storage.IstioPluginCertificateAuthority_STATUS) error + AssignPropertiesTo(dst *storage.IstioPluginCertificateAuthority_STATUS) error +} + +type augmentConversionForManagedClusterPodIdentityProvisioningError_STATUS interface { + AssignPropertiesFrom(src *storage.ManagedClusterPodIdentityProvisioningError_STATUS) error + AssignPropertiesTo(dst *storage.ManagedClusterPodIdentityProvisioningError_STATUS) error +} + // Storage version of v1api20231001.ManagedClusterPodIdentityProvisioningErrorBody_STATUS // An error response from the pod identity provisioning. type ManagedClusterPodIdentityProvisioningErrorBody_STATUS struct { @@ -1553,6 +16096,115 @@ type ManagedClusterPodIdentityProvisioningErrorBody_STATUS struct { Target *string `json:"target,omitempty"` } +// AssignProperties_From_ManagedClusterPodIdentityProvisioningErrorBody_STATUS populates our ManagedClusterPodIdentityProvisioningErrorBody_STATUS from the provided source ManagedClusterPodIdentityProvisioningErrorBody_STATUS +func (body *ManagedClusterPodIdentityProvisioningErrorBody_STATUS) AssignProperties_From_ManagedClusterPodIdentityProvisioningErrorBody_STATUS(source *storage.ManagedClusterPodIdentityProvisioningErrorBody_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // Code + body.Code = genruntime.ClonePointerToString(source.Code) + + // Details + if source.Details != nil { + detailList := make([]ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled, len(source.Details)) + for detailIndex, detailItem := range source.Details { + // Shadow the loop variable to avoid aliasing + detailItem := detailItem + var detail ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled + err := detail.AssignProperties_From_ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled(&detailItem) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled() to populate field Details") + } + detailList[detailIndex] = detail + } + body.Details = detailList + } else { + body.Details = nil + } + + // Message + body.Message = genruntime.ClonePointerToString(source.Message) + + // Target + body.Target = genruntime.ClonePointerToString(source.Target) + + // Update the property bag + if len(propertyBag) > 0 { + body.PropertyBag = propertyBag + } else { + body.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterPodIdentityProvisioningErrorBody_STATUS interface (if implemented) to customize the conversion + var bodyAsAny any = body + if augmentedBody, ok := bodyAsAny.(augmentConversionForManagedClusterPodIdentityProvisioningErrorBody_STATUS); ok { + err := augmentedBody.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterPodIdentityProvisioningErrorBody_STATUS populates the provided destination ManagedClusterPodIdentityProvisioningErrorBody_STATUS from our ManagedClusterPodIdentityProvisioningErrorBody_STATUS +func (body *ManagedClusterPodIdentityProvisioningErrorBody_STATUS) AssignProperties_To_ManagedClusterPodIdentityProvisioningErrorBody_STATUS(destination *storage.ManagedClusterPodIdentityProvisioningErrorBody_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(body.PropertyBag) + + // Code + destination.Code = genruntime.ClonePointerToString(body.Code) + + // Details + if body.Details != nil { + detailList := make([]storage.ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled, len(body.Details)) + for detailIndex, detailItem := range body.Details { + // Shadow the loop variable to avoid aliasing + detailItem := detailItem + var detail storage.ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled + err := detailItem.AssignProperties_To_ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled(&detail) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled() to populate field Details") + } + detailList[detailIndex] = detail + } + destination.Details = detailList + } else { + destination.Details = nil + } + + // Message + destination.Message = genruntime.ClonePointerToString(body.Message) + + // Target + destination.Target = genruntime.ClonePointerToString(body.Target) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterPodIdentityProvisioningErrorBody_STATUS interface (if implemented) to customize the conversion + var bodyAsAny any = body + if augmentedBody, ok := bodyAsAny.(augmentConversionForManagedClusterPodIdentityProvisioningErrorBody_STATUS); ok { + err := augmentedBody.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +type augmentConversionForManagedClusterPodIdentityProvisioningErrorBody_STATUS interface { + AssignPropertiesFrom(src *storage.ManagedClusterPodIdentityProvisioningErrorBody_STATUS) error + AssignPropertiesTo(dst *storage.ManagedClusterPodIdentityProvisioningErrorBody_STATUS) error +} + // Storage version of v1api20231001.ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled type ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled struct { Code *string `json:"code,omitempty"` @@ -1561,6 +16213,79 @@ type ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled struct { Target *string `json:"target,omitempty"` } +// AssignProperties_From_ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled populates our ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled from the provided source ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled +func (unrolled *ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled) AssignProperties_From_ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled(source *storage.ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // Code + unrolled.Code = genruntime.ClonePointerToString(source.Code) + + // Message + unrolled.Message = genruntime.ClonePointerToString(source.Message) + + // Target + unrolled.Target = genruntime.ClonePointerToString(source.Target) + + // Update the property bag + if len(propertyBag) > 0 { + unrolled.PropertyBag = propertyBag + } else { + unrolled.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled interface (if implemented) to customize the conversion + var unrolledAsAny any = unrolled + if augmentedUnrolled, ok := unrolledAsAny.(augmentConversionForManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled); ok { + err := augmentedUnrolled.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled populates the provided destination ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled from our ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled +func (unrolled *ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled) AssignProperties_To_ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled(destination *storage.ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(unrolled.PropertyBag) + + // Code + destination.Code = genruntime.ClonePointerToString(unrolled.Code) + + // Message + destination.Message = genruntime.ClonePointerToString(unrolled.Message) + + // Target + destination.Target = genruntime.ClonePointerToString(unrolled.Target) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled interface (if implemented) to customize the conversion + var unrolledAsAny any = unrolled + if augmentedUnrolled, ok := unrolledAsAny.(augmentConversionForManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled); ok { + err := augmentedUnrolled.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +type augmentConversionForManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled interface { + AssignPropertiesFrom(src *storage.ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled) error + AssignPropertiesTo(dst *storage.ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled) error +} + func init() { SchemeBuilder.Register(&ManagedCluster{}, &ManagedClusterList{}) } diff --git a/v2/api/containerservice/v1api20231001/storage/managed_cluster_types_gen_test.go b/v2/api/containerservice/v1api20231001/storage/managed_cluster_types_gen_test.go index bf4e2313faf..57a1242583b 100644 --- a/v2/api/containerservice/v1api20231001/storage/managed_cluster_types_gen_test.go +++ b/v2/api/containerservice/v1api20231001/storage/managed_cluster_types_gen_test.go @@ -5,6 +5,7 @@ package storage import ( "encoding/json" + storage "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20240901/storage" "github.com/google/go-cmp/cmp" "github.com/google/go-cmp/cmp/cmpopts" "github.com/kr/pretty" @@ -17,6 +18,48 @@ import ( "testing" ) +func Test_AzureKeyVaultKms_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from AzureKeyVaultKms to AzureKeyVaultKms via AssignProperties_To_AzureKeyVaultKms & AssignProperties_From_AzureKeyVaultKms returns original", + prop.ForAll(RunPropertyAssignmentTestForAzureKeyVaultKms, AzureKeyVaultKmsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForAzureKeyVaultKms tests if a specific instance of AzureKeyVaultKms can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForAzureKeyVaultKms(subject AzureKeyVaultKms) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.AzureKeyVaultKms + err := copied.AssignProperties_To_AzureKeyVaultKms(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual AzureKeyVaultKms + err = actual.AssignProperties_From_AzureKeyVaultKms(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_AzureKeyVaultKms_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -79,6 +122,48 @@ func AddIndependentPropertyGeneratorsForAzureKeyVaultKms(gens map[string]gopter. gens["KeyVaultNetworkAccess"] = gen.PtrOf(gen.AlphaString()) } +func Test_AzureKeyVaultKms_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from AzureKeyVaultKms_STATUS to AzureKeyVaultKms_STATUS via AssignProperties_To_AzureKeyVaultKms_STATUS & AssignProperties_From_AzureKeyVaultKms_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForAzureKeyVaultKms_STATUS, AzureKeyVaultKms_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForAzureKeyVaultKms_STATUS tests if a specific instance of AzureKeyVaultKms_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForAzureKeyVaultKms_STATUS(subject AzureKeyVaultKms_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.AzureKeyVaultKms_STATUS + err := copied.AssignProperties_To_AzureKeyVaultKms_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual AzureKeyVaultKms_STATUS + err = actual.AssignProperties_From_AzureKeyVaultKms_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_AzureKeyVaultKms_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -143,6 +228,48 @@ func AddIndependentPropertyGeneratorsForAzureKeyVaultKms_STATUS(gens map[string] gens["KeyVaultResourceId"] = gen.PtrOf(gen.AlphaString()) } +func Test_ClusterUpgradeSettings_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ClusterUpgradeSettings to ClusterUpgradeSettings via AssignProperties_To_ClusterUpgradeSettings & AssignProperties_From_ClusterUpgradeSettings returns original", + prop.ForAll(RunPropertyAssignmentTestForClusterUpgradeSettings, ClusterUpgradeSettingsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForClusterUpgradeSettings tests if a specific instance of ClusterUpgradeSettings can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForClusterUpgradeSettings(subject ClusterUpgradeSettings) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ClusterUpgradeSettings + err := copied.AssignProperties_To_ClusterUpgradeSettings(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ClusterUpgradeSettings + err = actual.AssignProperties_From_ClusterUpgradeSettings(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_ClusterUpgradeSettings_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -204,6 +331,48 @@ func AddRelatedPropertyGeneratorsForClusterUpgradeSettings(gens map[string]gopte gens["OverrideSettings"] = gen.PtrOf(UpgradeOverrideSettingsGenerator()) } +func Test_ClusterUpgradeSettings_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ClusterUpgradeSettings_STATUS to ClusterUpgradeSettings_STATUS via AssignProperties_To_ClusterUpgradeSettings_STATUS & AssignProperties_From_ClusterUpgradeSettings_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForClusterUpgradeSettings_STATUS, ClusterUpgradeSettings_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForClusterUpgradeSettings_STATUS tests if a specific instance of ClusterUpgradeSettings_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForClusterUpgradeSettings_STATUS(subject ClusterUpgradeSettings_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ClusterUpgradeSettings_STATUS + err := copied.AssignProperties_To_ClusterUpgradeSettings_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ClusterUpgradeSettings_STATUS + err = actual.AssignProperties_From_ClusterUpgradeSettings_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_ClusterUpgradeSettings_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -265,6 +434,48 @@ func AddRelatedPropertyGeneratorsForClusterUpgradeSettings_STATUS(gens map[strin gens["OverrideSettings"] = gen.PtrOf(UpgradeOverrideSettings_STATUSGenerator()) } +func Test_ContainerServiceLinuxProfile_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ContainerServiceLinuxProfile to ContainerServiceLinuxProfile via AssignProperties_To_ContainerServiceLinuxProfile & AssignProperties_From_ContainerServiceLinuxProfile returns original", + prop.ForAll(RunPropertyAssignmentTestForContainerServiceLinuxProfile, ContainerServiceLinuxProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForContainerServiceLinuxProfile tests if a specific instance of ContainerServiceLinuxProfile can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForContainerServiceLinuxProfile(subject ContainerServiceLinuxProfile) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ContainerServiceLinuxProfile + err := copied.AssignProperties_To_ContainerServiceLinuxProfile(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ContainerServiceLinuxProfile + err = actual.AssignProperties_From_ContainerServiceLinuxProfile(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_ContainerServiceLinuxProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -340,6 +551,48 @@ func AddRelatedPropertyGeneratorsForContainerServiceLinuxProfile(gens map[string gens["Ssh"] = gen.PtrOf(ContainerServiceSshConfigurationGenerator()) } +func Test_ContainerServiceLinuxProfile_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ContainerServiceLinuxProfile_STATUS to ContainerServiceLinuxProfile_STATUS via AssignProperties_To_ContainerServiceLinuxProfile_STATUS & AssignProperties_From_ContainerServiceLinuxProfile_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForContainerServiceLinuxProfile_STATUS, ContainerServiceLinuxProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForContainerServiceLinuxProfile_STATUS tests if a specific instance of ContainerServiceLinuxProfile_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForContainerServiceLinuxProfile_STATUS(subject ContainerServiceLinuxProfile_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ContainerServiceLinuxProfile_STATUS + err := copied.AssignProperties_To_ContainerServiceLinuxProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ContainerServiceLinuxProfile_STATUS + err = actual.AssignProperties_From_ContainerServiceLinuxProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_ContainerServiceLinuxProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -415,6 +668,48 @@ func AddRelatedPropertyGeneratorsForContainerServiceLinuxProfile_STATUS(gens map gens["Ssh"] = gen.PtrOf(ContainerServiceSshConfiguration_STATUSGenerator()) } +func Test_ContainerServiceNetworkProfile_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ContainerServiceNetworkProfile to ContainerServiceNetworkProfile via AssignProperties_To_ContainerServiceNetworkProfile & AssignProperties_From_ContainerServiceNetworkProfile returns original", + prop.ForAll(RunPropertyAssignmentTestForContainerServiceNetworkProfile, ContainerServiceNetworkProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForContainerServiceNetworkProfile tests if a specific instance of ContainerServiceNetworkProfile can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForContainerServiceNetworkProfile(subject ContainerServiceNetworkProfile) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ContainerServiceNetworkProfile + err := copied.AssignProperties_To_ContainerServiceNetworkProfile(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ContainerServiceNetworkProfile + err = actual.AssignProperties_From_ContainerServiceNetworkProfile(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_ContainerServiceNetworkProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -503,6 +798,48 @@ func AddRelatedPropertyGeneratorsForContainerServiceNetworkProfile(gens map[stri gens["NatGatewayProfile"] = gen.PtrOf(ManagedClusterNATGatewayProfileGenerator()) } +func Test_ContainerServiceNetworkProfile_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ContainerServiceNetworkProfile_STATUS to ContainerServiceNetworkProfile_STATUS via AssignProperties_To_ContainerServiceNetworkProfile_STATUS & AssignProperties_From_ContainerServiceNetworkProfile_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForContainerServiceNetworkProfile_STATUS, ContainerServiceNetworkProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForContainerServiceNetworkProfile_STATUS tests if a specific instance of ContainerServiceNetworkProfile_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForContainerServiceNetworkProfile_STATUS(subject ContainerServiceNetworkProfile_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ContainerServiceNetworkProfile_STATUS + err := copied.AssignProperties_To_ContainerServiceNetworkProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ContainerServiceNetworkProfile_STATUS + err = actual.AssignProperties_From_ContainerServiceNetworkProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_ContainerServiceNetworkProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -591,6 +928,48 @@ func AddRelatedPropertyGeneratorsForContainerServiceNetworkProfile_STATUS(gens m gens["NatGatewayProfile"] = gen.PtrOf(ManagedClusterNATGatewayProfile_STATUSGenerator()) } +func Test_ContainerServiceSshConfiguration_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ContainerServiceSshConfiguration to ContainerServiceSshConfiguration via AssignProperties_To_ContainerServiceSshConfiguration & AssignProperties_From_ContainerServiceSshConfiguration returns original", + prop.ForAll(RunPropertyAssignmentTestForContainerServiceSshConfiguration, ContainerServiceSshConfigurationGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForContainerServiceSshConfiguration tests if a specific instance of ContainerServiceSshConfiguration can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForContainerServiceSshConfiguration(subject ContainerServiceSshConfiguration) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ContainerServiceSshConfiguration + err := copied.AssignProperties_To_ContainerServiceSshConfiguration(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ContainerServiceSshConfiguration + err = actual.AssignProperties_From_ContainerServiceSshConfiguration(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_ContainerServiceSshConfiguration_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -652,29 +1031,71 @@ func AddRelatedPropertyGeneratorsForContainerServiceSshConfiguration(gens map[st gens["PublicKeys"] = gen.SliceOf(ContainerServiceSshPublicKeyGenerator()) } -func Test_ContainerServiceSshConfiguration_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { +func Test_ContainerServiceSshConfiguration_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() - parameters.MinSuccessfulTests = 80 - parameters.MaxSize = 3 + parameters.MaxSize = 10 properties := gopter.NewProperties(parameters) properties.Property( - "Round trip of ContainerServiceSshConfiguration_STATUS via JSON returns original", - prop.ForAll(RunJSONSerializationTestForContainerServiceSshConfiguration_STATUS, ContainerServiceSshConfiguration_STATUSGenerator())) - properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) + "Round trip from ContainerServiceSshConfiguration_STATUS to ContainerServiceSshConfiguration_STATUS via AssignProperties_To_ContainerServiceSshConfiguration_STATUS & AssignProperties_From_ContainerServiceSshConfiguration_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForContainerServiceSshConfiguration_STATUS, ContainerServiceSshConfiguration_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) } -// RunJSONSerializationTestForContainerServiceSshConfiguration_STATUS runs a test to see if a specific instance of ContainerServiceSshConfiguration_STATUS round trips to JSON and back losslessly -func RunJSONSerializationTestForContainerServiceSshConfiguration_STATUS(subject ContainerServiceSshConfiguration_STATUS) string { - // Serialize to JSON - bin, err := json.Marshal(subject) +// RunPropertyAssignmentTestForContainerServiceSshConfiguration_STATUS tests if a specific instance of ContainerServiceSshConfiguration_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForContainerServiceSshConfiguration_STATUS(subject ContainerServiceSshConfiguration_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ContainerServiceSshConfiguration_STATUS + err := copied.AssignProperties_To_ContainerServiceSshConfiguration_STATUS(&other) if err != nil { return err.Error() } - // Deserialize back into memory + // Use AssignPropertiesFrom() to convert back to our original type var actual ContainerServiceSshConfiguration_STATUS - err = json.Unmarshal(bin, &actual) + err = actual.AssignProperties_From_ContainerServiceSshConfiguration_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ContainerServiceSshConfiguration_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ContainerServiceSshConfiguration_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForContainerServiceSshConfiguration_STATUS, ContainerServiceSshConfiguration_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForContainerServiceSshConfiguration_STATUS runs a test to see if a specific instance of ContainerServiceSshConfiguration_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForContainerServiceSshConfiguration_STATUS(subject ContainerServiceSshConfiguration_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ContainerServiceSshConfiguration_STATUS + err = json.Unmarshal(bin, &actual) if err != nil { return err.Error() } @@ -713,6 +1134,48 @@ func AddRelatedPropertyGeneratorsForContainerServiceSshConfiguration_STATUS(gens gens["PublicKeys"] = gen.SliceOf(ContainerServiceSshPublicKey_STATUSGenerator()) } +func Test_ContainerServiceSshPublicKey_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ContainerServiceSshPublicKey to ContainerServiceSshPublicKey via AssignProperties_To_ContainerServiceSshPublicKey & AssignProperties_From_ContainerServiceSshPublicKey returns original", + prop.ForAll(RunPropertyAssignmentTestForContainerServiceSshPublicKey, ContainerServiceSshPublicKeyGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForContainerServiceSshPublicKey tests if a specific instance of ContainerServiceSshPublicKey can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForContainerServiceSshPublicKey(subject ContainerServiceSshPublicKey) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ContainerServiceSshPublicKey + err := copied.AssignProperties_To_ContainerServiceSshPublicKey(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ContainerServiceSshPublicKey + err = actual.AssignProperties_From_ContainerServiceSshPublicKey(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_ContainerServiceSshPublicKey_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -774,6 +1237,48 @@ func AddIndependentPropertyGeneratorsForContainerServiceSshPublicKey(gens map[st gens["KeyData"] = gen.PtrOf(gen.AlphaString()) } +func Test_ContainerServiceSshPublicKey_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ContainerServiceSshPublicKey_STATUS to ContainerServiceSshPublicKey_STATUS via AssignProperties_To_ContainerServiceSshPublicKey_STATUS & AssignProperties_From_ContainerServiceSshPublicKey_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForContainerServiceSshPublicKey_STATUS, ContainerServiceSshPublicKey_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForContainerServiceSshPublicKey_STATUS tests if a specific instance of ContainerServiceSshPublicKey_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForContainerServiceSshPublicKey_STATUS(subject ContainerServiceSshPublicKey_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ContainerServiceSshPublicKey_STATUS + err := copied.AssignProperties_To_ContainerServiceSshPublicKey_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ContainerServiceSshPublicKey_STATUS + err = actual.AssignProperties_From_ContainerServiceSshPublicKey_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_ContainerServiceSshPublicKey_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -835,6 +1340,48 @@ func AddIndependentPropertyGeneratorsForContainerServiceSshPublicKey_STATUS(gens gens["KeyData"] = gen.PtrOf(gen.AlphaString()) } +func Test_DelegatedResource_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from DelegatedResource to DelegatedResource via AssignProperties_To_DelegatedResource & AssignProperties_From_DelegatedResource returns original", + prop.ForAll(RunPropertyAssignmentTestForDelegatedResource, DelegatedResourceGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForDelegatedResource tests if a specific instance of DelegatedResource can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForDelegatedResource(subject DelegatedResource) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.DelegatedResource + err := copied.AssignProperties_To_DelegatedResource(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual DelegatedResource + err = actual.AssignProperties_From_DelegatedResource(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_DelegatedResource_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -897,6 +1444,48 @@ func AddIndependentPropertyGeneratorsForDelegatedResource(gens map[string]gopter gens["TenantId"] = gen.PtrOf(gen.AlphaString()) } +func Test_DelegatedResource_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from DelegatedResource_STATUS to DelegatedResource_STATUS via AssignProperties_To_DelegatedResource_STATUS & AssignProperties_From_DelegatedResource_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForDelegatedResource_STATUS, DelegatedResource_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForDelegatedResource_STATUS tests if a specific instance of DelegatedResource_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForDelegatedResource_STATUS(subject DelegatedResource_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.DelegatedResource_STATUS + err := copied.AssignProperties_To_DelegatedResource_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual DelegatedResource_STATUS + err = actual.AssignProperties_From_DelegatedResource_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_DelegatedResource_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -961,6 +1550,48 @@ func AddIndependentPropertyGeneratorsForDelegatedResource_STATUS(gens map[string gens["TenantId"] = gen.PtrOf(gen.AlphaString()) } +func Test_ExtendedLocation_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ExtendedLocation to ExtendedLocation via AssignProperties_To_ExtendedLocation & AssignProperties_From_ExtendedLocation returns original", + prop.ForAll(RunPropertyAssignmentTestForExtendedLocation, ExtendedLocationGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForExtendedLocation tests if a specific instance of ExtendedLocation can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForExtendedLocation(subject ExtendedLocation) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ExtendedLocation + err := copied.AssignProperties_To_ExtendedLocation(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ExtendedLocation + err = actual.AssignProperties_From_ExtendedLocation(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_ExtendedLocation_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -1022,6 +1653,48 @@ func AddIndependentPropertyGeneratorsForExtendedLocation(gens map[string]gopter. gens["Type"] = gen.PtrOf(gen.AlphaString()) } +func Test_ExtendedLocation_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ExtendedLocation_STATUS to ExtendedLocation_STATUS via AssignProperties_To_ExtendedLocation_STATUS & AssignProperties_From_ExtendedLocation_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForExtendedLocation_STATUS, ExtendedLocation_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForExtendedLocation_STATUS tests if a specific instance of ExtendedLocation_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForExtendedLocation_STATUS(subject ExtendedLocation_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ExtendedLocation_STATUS + err := copied.AssignProperties_To_ExtendedLocation_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ExtendedLocation_STATUS + err = actual.AssignProperties_From_ExtendedLocation_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_ExtendedLocation_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -1084,6 +1757,48 @@ func AddIndependentPropertyGeneratorsForExtendedLocation_STATUS(gens map[string] gens["Type"] = gen.PtrOf(gen.AlphaString()) } +func Test_IstioCertificateAuthority_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from IstioCertificateAuthority to IstioCertificateAuthority via AssignProperties_To_IstioCertificateAuthority & AssignProperties_From_IstioCertificateAuthority returns original", + prop.ForAll(RunPropertyAssignmentTestForIstioCertificateAuthority, IstioCertificateAuthorityGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForIstioCertificateAuthority tests if a specific instance of IstioCertificateAuthority can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForIstioCertificateAuthority(subject IstioCertificateAuthority) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.IstioCertificateAuthority + err := copied.AssignProperties_To_IstioCertificateAuthority(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual IstioCertificateAuthority + err = actual.AssignProperties_From_IstioCertificateAuthority(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_IstioCertificateAuthority_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -1145,6 +1860,48 @@ func AddRelatedPropertyGeneratorsForIstioCertificateAuthority(gens map[string]go gens["Plugin"] = gen.PtrOf(IstioPluginCertificateAuthorityGenerator()) } +func Test_IstioCertificateAuthority_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from IstioCertificateAuthority_STATUS to IstioCertificateAuthority_STATUS via AssignProperties_To_IstioCertificateAuthority_STATUS & AssignProperties_From_IstioCertificateAuthority_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForIstioCertificateAuthority_STATUS, IstioCertificateAuthority_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForIstioCertificateAuthority_STATUS tests if a specific instance of IstioCertificateAuthority_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForIstioCertificateAuthority_STATUS(subject IstioCertificateAuthority_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.IstioCertificateAuthority_STATUS + err := copied.AssignProperties_To_IstioCertificateAuthority_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual IstioCertificateAuthority_STATUS + err = actual.AssignProperties_From_IstioCertificateAuthority_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_IstioCertificateAuthority_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -1206,6 +1963,48 @@ func AddRelatedPropertyGeneratorsForIstioCertificateAuthority_STATUS(gens map[st gens["Plugin"] = gen.PtrOf(IstioPluginCertificateAuthority_STATUSGenerator()) } +func Test_IstioComponents_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from IstioComponents to IstioComponents via AssignProperties_To_IstioComponents & AssignProperties_From_IstioComponents returns original", + prop.ForAll(RunPropertyAssignmentTestForIstioComponents, IstioComponentsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForIstioComponents tests if a specific instance of IstioComponents can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForIstioComponents(subject IstioComponents) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.IstioComponents + err := copied.AssignProperties_To_IstioComponents(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual IstioComponents + err = actual.AssignProperties_From_IstioComponents(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_IstioComponents_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -1267,6 +2066,48 @@ func AddRelatedPropertyGeneratorsForIstioComponents(gens map[string]gopter.Gen) gens["IngressGateways"] = gen.SliceOf(IstioIngressGatewayGenerator()) } +func Test_IstioComponents_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from IstioComponents_STATUS to IstioComponents_STATUS via AssignProperties_To_IstioComponents_STATUS & AssignProperties_From_IstioComponents_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForIstioComponents_STATUS, IstioComponents_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForIstioComponents_STATUS tests if a specific instance of IstioComponents_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForIstioComponents_STATUS(subject IstioComponents_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.IstioComponents_STATUS + err := copied.AssignProperties_To_IstioComponents_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual IstioComponents_STATUS + err = actual.AssignProperties_From_IstioComponents_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_IstioComponents_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -1316,17 +2157,59 @@ func IstioComponents_STATUSGenerator() gopter.Gen { return istioComponents_STATUSGenerator } - generators := make(map[string]gopter.Gen) - AddRelatedPropertyGeneratorsForIstioComponents_STATUS(generators) - istioComponents_STATUSGenerator = gen.Struct(reflect.TypeOf(IstioComponents_STATUS{}), generators) - - return istioComponents_STATUSGenerator -} + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForIstioComponents_STATUS(generators) + istioComponents_STATUSGenerator = gen.Struct(reflect.TypeOf(IstioComponents_STATUS{}), generators) + + return istioComponents_STATUSGenerator +} + +// AddRelatedPropertyGeneratorsForIstioComponents_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForIstioComponents_STATUS(gens map[string]gopter.Gen) { + gens["EgressGateways"] = gen.SliceOf(IstioEgressGateway_STATUSGenerator()) + gens["IngressGateways"] = gen.SliceOf(IstioIngressGateway_STATUSGenerator()) +} + +func Test_IstioEgressGateway_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from IstioEgressGateway to IstioEgressGateway via AssignProperties_To_IstioEgressGateway & AssignProperties_From_IstioEgressGateway returns original", + prop.ForAll(RunPropertyAssignmentTestForIstioEgressGateway, IstioEgressGatewayGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForIstioEgressGateway tests if a specific instance of IstioEgressGateway can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForIstioEgressGateway(subject IstioEgressGateway) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.IstioEgressGateway + err := copied.AssignProperties_To_IstioEgressGateway(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual IstioEgressGateway + err = actual.AssignProperties_From_IstioEgressGateway(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } -// AddRelatedPropertyGeneratorsForIstioComponents_STATUS is a factory method for creating gopter generators -func AddRelatedPropertyGeneratorsForIstioComponents_STATUS(gens map[string]gopter.Gen) { - gens["EgressGateways"] = gen.SliceOf(IstioEgressGateway_STATUSGenerator()) - gens["IngressGateways"] = gen.SliceOf(IstioIngressGateway_STATUSGenerator()) + return "" } func Test_IstioEgressGateway_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { @@ -1392,6 +2275,48 @@ func AddIndependentPropertyGeneratorsForIstioEgressGateway(gens map[string]gopte gen.AlphaString()) } +func Test_IstioEgressGateway_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from IstioEgressGateway_STATUS to IstioEgressGateway_STATUS via AssignProperties_To_IstioEgressGateway_STATUS & AssignProperties_From_IstioEgressGateway_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForIstioEgressGateway_STATUS, IstioEgressGateway_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForIstioEgressGateway_STATUS tests if a specific instance of IstioEgressGateway_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForIstioEgressGateway_STATUS(subject IstioEgressGateway_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.IstioEgressGateway_STATUS + err := copied.AssignProperties_To_IstioEgressGateway_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual IstioEgressGateway_STATUS + err = actual.AssignProperties_From_IstioEgressGateway_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_IstioEgressGateway_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -1456,6 +2381,48 @@ func AddIndependentPropertyGeneratorsForIstioEgressGateway_STATUS(gens map[strin gen.AlphaString()) } +func Test_IstioIngressGateway_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from IstioIngressGateway to IstioIngressGateway via AssignProperties_To_IstioIngressGateway & AssignProperties_From_IstioIngressGateway returns original", + prop.ForAll(RunPropertyAssignmentTestForIstioIngressGateway, IstioIngressGatewayGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForIstioIngressGateway tests if a specific instance of IstioIngressGateway can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForIstioIngressGateway(subject IstioIngressGateway) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.IstioIngressGateway + err := copied.AssignProperties_To_IstioIngressGateway(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual IstioIngressGateway + err = actual.AssignProperties_From_IstioIngressGateway(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_IstioIngressGateway_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -1518,6 +2485,48 @@ func AddIndependentPropertyGeneratorsForIstioIngressGateway(gens map[string]gopt gens["Mode"] = gen.PtrOf(gen.AlphaString()) } +func Test_IstioIngressGateway_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from IstioIngressGateway_STATUS to IstioIngressGateway_STATUS via AssignProperties_To_IstioIngressGateway_STATUS & AssignProperties_From_IstioIngressGateway_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForIstioIngressGateway_STATUS, IstioIngressGateway_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForIstioIngressGateway_STATUS tests if a specific instance of IstioIngressGateway_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForIstioIngressGateway_STATUS(subject IstioIngressGateway_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.IstioIngressGateway_STATUS + err := copied.AssignProperties_To_IstioIngressGateway_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual IstioIngressGateway_STATUS + err = actual.AssignProperties_From_IstioIngressGateway_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_IstioIngressGateway_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -1580,6 +2589,48 @@ func AddIndependentPropertyGeneratorsForIstioIngressGateway_STATUS(gens map[stri gens["Mode"] = gen.PtrOf(gen.AlphaString()) } +func Test_IstioPluginCertificateAuthority_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from IstioPluginCertificateAuthority to IstioPluginCertificateAuthority via AssignProperties_To_IstioPluginCertificateAuthority & AssignProperties_From_IstioPluginCertificateAuthority returns original", + prop.ForAll(RunPropertyAssignmentTestForIstioPluginCertificateAuthority, IstioPluginCertificateAuthorityGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForIstioPluginCertificateAuthority tests if a specific instance of IstioPluginCertificateAuthority can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForIstioPluginCertificateAuthority(subject IstioPluginCertificateAuthority) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.IstioPluginCertificateAuthority + err := copied.AssignProperties_To_IstioPluginCertificateAuthority(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual IstioPluginCertificateAuthority + err = actual.AssignProperties_From_IstioPluginCertificateAuthority(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_IstioPluginCertificateAuthority_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -1644,6 +2695,48 @@ func AddIndependentPropertyGeneratorsForIstioPluginCertificateAuthority(gens map gens["RootCertObjectName"] = gen.PtrOf(gen.AlphaString()) } +func Test_IstioPluginCertificateAuthority_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from IstioPluginCertificateAuthority_STATUS to IstioPluginCertificateAuthority_STATUS via AssignProperties_To_IstioPluginCertificateAuthority_STATUS & AssignProperties_From_IstioPluginCertificateAuthority_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForIstioPluginCertificateAuthority_STATUS, IstioPluginCertificateAuthority_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForIstioPluginCertificateAuthority_STATUS tests if a specific instance of IstioPluginCertificateAuthority_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForIstioPluginCertificateAuthority_STATUS(subject IstioPluginCertificateAuthority_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.IstioPluginCertificateAuthority_STATUS + err := copied.AssignProperties_To_IstioPluginCertificateAuthority_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual IstioPluginCertificateAuthority_STATUS + err = actual.AssignProperties_From_IstioPluginCertificateAuthority_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_IstioPluginCertificateAuthority_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -1709,6 +2802,48 @@ func AddIndependentPropertyGeneratorsForIstioPluginCertificateAuthority_STATUS(g gens["RootCertObjectName"] = gen.PtrOf(gen.AlphaString()) } +func Test_IstioServiceMesh_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from IstioServiceMesh to IstioServiceMesh via AssignProperties_To_IstioServiceMesh & AssignProperties_From_IstioServiceMesh returns original", + prop.ForAll(RunPropertyAssignmentTestForIstioServiceMesh, IstioServiceMeshGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForIstioServiceMesh tests if a specific instance of IstioServiceMesh can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForIstioServiceMesh(subject IstioServiceMesh) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.IstioServiceMesh + err := copied.AssignProperties_To_IstioServiceMesh(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual IstioServiceMesh + err = actual.AssignProperties_From_IstioServiceMesh(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_IstioServiceMesh_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -1784,6 +2919,48 @@ func AddRelatedPropertyGeneratorsForIstioServiceMesh(gens map[string]gopter.Gen) gens["Components"] = gen.PtrOf(IstioComponentsGenerator()) } +func Test_IstioServiceMesh_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from IstioServiceMesh_STATUS to IstioServiceMesh_STATUS via AssignProperties_To_IstioServiceMesh_STATUS & AssignProperties_From_IstioServiceMesh_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForIstioServiceMesh_STATUS, IstioServiceMesh_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForIstioServiceMesh_STATUS tests if a specific instance of IstioServiceMesh_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForIstioServiceMesh_STATUS(subject IstioServiceMesh_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.IstioServiceMesh_STATUS + err := copied.AssignProperties_To_IstioServiceMesh_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual IstioServiceMesh_STATUS + err = actual.AssignProperties_From_IstioServiceMesh_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_IstioServiceMesh_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -1854,10 +3031,95 @@ func AddIndependentPropertyGeneratorsForIstioServiceMesh_STATUS(gens map[string] gens["Revisions"] = gen.SliceOf(gen.AlphaString()) } -// AddRelatedPropertyGeneratorsForIstioServiceMesh_STATUS is a factory method for creating gopter generators -func AddRelatedPropertyGeneratorsForIstioServiceMesh_STATUS(gens map[string]gopter.Gen) { - gens["CertificateAuthority"] = gen.PtrOf(IstioCertificateAuthority_STATUSGenerator()) - gens["Components"] = gen.PtrOf(IstioComponents_STATUSGenerator()) +// AddRelatedPropertyGeneratorsForIstioServiceMesh_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForIstioServiceMesh_STATUS(gens map[string]gopter.Gen) { + gens["CertificateAuthority"] = gen.PtrOf(IstioCertificateAuthority_STATUSGenerator()) + gens["Components"] = gen.PtrOf(IstioComponents_STATUSGenerator()) +} + +func Test_ManagedCluster_WhenConvertedToHub_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + parameters.MinSuccessfulTests = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedCluster to hub returns original", + prop.ForAll(RunResourceConversionTestForManagedCluster, ManagedClusterGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunResourceConversionTestForManagedCluster tests if a specific instance of ManagedCluster round trips to the hub storage version and back losslessly +func RunResourceConversionTestForManagedCluster(subject ManagedCluster) string { + // Copy subject to make sure conversion doesn't modify it + copied := subject.DeepCopy() + + // Convert to our hub version + var hub storage.ManagedCluster + err := copied.ConvertTo(&hub) + if err != nil { + return err.Error() + } + + // Convert from our hub version + var actual ManagedCluster + err = actual.ConvertFrom(&hub) + if err != nil { + return err.Error() + } + + // Compare actual with what we started with + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ManagedCluster_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedCluster to ManagedCluster via AssignProperties_To_ManagedCluster & AssignProperties_From_ManagedCluster returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedCluster, ManagedClusterGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedCluster tests if a specific instance of ManagedCluster can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedCluster(subject ManagedCluster) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedCluster + err := copied.AssignProperties_To_ManagedCluster(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedCluster + err = actual.AssignProperties_From_ManagedCluster(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" } func Test_ManagedCluster_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { @@ -1921,6 +3183,48 @@ func AddRelatedPropertyGeneratorsForManagedCluster(gens map[string]gopter.Gen) { gens["Status"] = ManagedCluster_STATUSGenerator() } +func Test_ManagedClusterAADProfile_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterAADProfile to ManagedClusterAADProfile via AssignProperties_To_ManagedClusterAADProfile & AssignProperties_From_ManagedClusterAADProfile returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterAADProfile, ManagedClusterAADProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterAADProfile tests if a specific instance of ManagedClusterAADProfile can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterAADProfile(subject ManagedClusterAADProfile) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterAADProfile + err := copied.AssignProperties_To_ManagedClusterAADProfile(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterAADProfile + err = actual.AssignProperties_From_ManagedClusterAADProfile(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_ManagedClusterAADProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -1988,6 +3292,48 @@ func AddIndependentPropertyGeneratorsForManagedClusterAADProfile(gens map[string gens["TenantID"] = gen.PtrOf(gen.AlphaString()) } +func Test_ManagedClusterAADProfile_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterAADProfile_STATUS to ManagedClusterAADProfile_STATUS via AssignProperties_To_ManagedClusterAADProfile_STATUS & AssignProperties_From_ManagedClusterAADProfile_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterAADProfile_STATUS, ManagedClusterAADProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterAADProfile_STATUS tests if a specific instance of ManagedClusterAADProfile_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterAADProfile_STATUS(subject ManagedClusterAADProfile_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterAADProfile_STATUS + err := copied.AssignProperties_To_ManagedClusterAADProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterAADProfile_STATUS + err = actual.AssignProperties_From_ManagedClusterAADProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_ManagedClusterAADProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -2055,6 +3401,48 @@ func AddIndependentPropertyGeneratorsForManagedClusterAADProfile_STATUS(gens map gens["TenantID"] = gen.PtrOf(gen.AlphaString()) } +func Test_ManagedClusterAPIServerAccessProfile_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterAPIServerAccessProfile to ManagedClusterAPIServerAccessProfile via AssignProperties_To_ManagedClusterAPIServerAccessProfile & AssignProperties_From_ManagedClusterAPIServerAccessProfile returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterAPIServerAccessProfile, ManagedClusterAPIServerAccessProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterAPIServerAccessProfile tests if a specific instance of ManagedClusterAPIServerAccessProfile can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterAPIServerAccessProfile(subject ManagedClusterAPIServerAccessProfile) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterAPIServerAccessProfile + err := copied.AssignProperties_To_ManagedClusterAPIServerAccessProfile(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterAPIServerAccessProfile + err = actual.AssignProperties_From_ManagedClusterAPIServerAccessProfile(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_ManagedClusterAPIServerAccessProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -2120,6 +3508,48 @@ func AddIndependentPropertyGeneratorsForManagedClusterAPIServerAccessProfile(gen gens["PrivateDNSZone"] = gen.PtrOf(gen.AlphaString()) } +func Test_ManagedClusterAPIServerAccessProfile_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterAPIServerAccessProfile_STATUS to ManagedClusterAPIServerAccessProfile_STATUS via AssignProperties_To_ManagedClusterAPIServerAccessProfile_STATUS & AssignProperties_From_ManagedClusterAPIServerAccessProfile_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterAPIServerAccessProfile_STATUS, ManagedClusterAPIServerAccessProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterAPIServerAccessProfile_STATUS tests if a specific instance of ManagedClusterAPIServerAccessProfile_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterAPIServerAccessProfile_STATUS(subject ManagedClusterAPIServerAccessProfile_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterAPIServerAccessProfile_STATUS + err := copied.AssignProperties_To_ManagedClusterAPIServerAccessProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterAPIServerAccessProfile_STATUS + err = actual.AssignProperties_From_ManagedClusterAPIServerAccessProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_ManagedClusterAPIServerAccessProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -2185,6 +3615,48 @@ func AddIndependentPropertyGeneratorsForManagedClusterAPIServerAccessProfile_STA gens["PrivateDNSZone"] = gen.PtrOf(gen.AlphaString()) } +func Test_ManagedClusterAddonProfile_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterAddonProfile to ManagedClusterAddonProfile via AssignProperties_To_ManagedClusterAddonProfile & AssignProperties_From_ManagedClusterAddonProfile returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterAddonProfile, ManagedClusterAddonProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterAddonProfile tests if a specific instance of ManagedClusterAddonProfile can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterAddonProfile(subject ManagedClusterAddonProfile) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterAddonProfile + err := copied.AssignProperties_To_ManagedClusterAddonProfile(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterAddonProfile + err = actual.AssignProperties_From_ManagedClusterAddonProfile(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_ManagedClusterAddonProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -2249,6 +3721,48 @@ func AddIndependentPropertyGeneratorsForManagedClusterAddonProfile(gens map[stri gens["Enabled"] = gen.PtrOf(gen.Bool()) } +func Test_ManagedClusterAddonProfile_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterAddonProfile_STATUS to ManagedClusterAddonProfile_STATUS via AssignProperties_To_ManagedClusterAddonProfile_STATUS & AssignProperties_From_ManagedClusterAddonProfile_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterAddonProfile_STATUS, ManagedClusterAddonProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterAddonProfile_STATUS tests if a specific instance of ManagedClusterAddonProfile_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterAddonProfile_STATUS(subject ManagedClusterAddonProfile_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterAddonProfile_STATUS + err := copied.AssignProperties_To_ManagedClusterAddonProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterAddonProfile_STATUS + err = actual.AssignProperties_From_ManagedClusterAddonProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_ManagedClusterAddonProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -2327,6 +3841,48 @@ func AddRelatedPropertyGeneratorsForManagedClusterAddonProfile_STATUS(gens map[s gens["Identity"] = gen.PtrOf(UserAssignedIdentity_STATUSGenerator()) } +func Test_ManagedClusterAgentPoolProfile_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterAgentPoolProfile to ManagedClusterAgentPoolProfile via AssignProperties_To_ManagedClusterAgentPoolProfile & AssignProperties_From_ManagedClusterAgentPoolProfile returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterAgentPoolProfile, ManagedClusterAgentPoolProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterAgentPoolProfile tests if a specific instance of ManagedClusterAgentPoolProfile can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterAgentPoolProfile(subject ManagedClusterAgentPoolProfile) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterAgentPoolProfile + err := copied.AssignProperties_To_ManagedClusterAgentPoolProfile(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterAgentPoolProfile + err = actual.AssignProperties_From_ManagedClusterAgentPoolProfile(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_ManagedClusterAgentPoolProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -2439,6 +3995,48 @@ func AddRelatedPropertyGeneratorsForManagedClusterAgentPoolProfile(gens map[stri gens["UpgradeSettings"] = gen.PtrOf(AgentPoolUpgradeSettingsGenerator()) } +func Test_ManagedClusterAgentPoolProfile_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterAgentPoolProfile_STATUS to ManagedClusterAgentPoolProfile_STATUS via AssignProperties_To_ManagedClusterAgentPoolProfile_STATUS & AssignProperties_From_ManagedClusterAgentPoolProfile_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterAgentPoolProfile_STATUS, ManagedClusterAgentPoolProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterAgentPoolProfile_STATUS tests if a specific instance of ManagedClusterAgentPoolProfile_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterAgentPoolProfile_STATUS(subject ManagedClusterAgentPoolProfile_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterAgentPoolProfile_STATUS + err := copied.AssignProperties_To_ManagedClusterAgentPoolProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterAgentPoolProfile_STATUS + err = actual.AssignProperties_From_ManagedClusterAgentPoolProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_ManagedClusterAgentPoolProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -2550,14 +4148,56 @@ func AddIndependentPropertyGeneratorsForManagedClusterAgentPoolProfile_STATUS(ge gens["WorkloadRuntime"] = gen.PtrOf(gen.AlphaString()) } -// AddRelatedPropertyGeneratorsForManagedClusterAgentPoolProfile_STATUS is a factory method for creating gopter generators -func AddRelatedPropertyGeneratorsForManagedClusterAgentPoolProfile_STATUS(gens map[string]gopter.Gen) { - gens["CreationData"] = gen.PtrOf(CreationData_STATUSGenerator()) - gens["KubeletConfig"] = gen.PtrOf(KubeletConfig_STATUSGenerator()) - gens["LinuxOSConfig"] = gen.PtrOf(LinuxOSConfig_STATUSGenerator()) - gens["NetworkProfile"] = gen.PtrOf(AgentPoolNetworkProfile_STATUSGenerator()) - gens["PowerState"] = gen.PtrOf(PowerState_STATUSGenerator()) - gens["UpgradeSettings"] = gen.PtrOf(AgentPoolUpgradeSettings_STATUSGenerator()) +// AddRelatedPropertyGeneratorsForManagedClusterAgentPoolProfile_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterAgentPoolProfile_STATUS(gens map[string]gopter.Gen) { + gens["CreationData"] = gen.PtrOf(CreationData_STATUSGenerator()) + gens["KubeletConfig"] = gen.PtrOf(KubeletConfig_STATUSGenerator()) + gens["LinuxOSConfig"] = gen.PtrOf(LinuxOSConfig_STATUSGenerator()) + gens["NetworkProfile"] = gen.PtrOf(AgentPoolNetworkProfile_STATUSGenerator()) + gens["PowerState"] = gen.PtrOf(PowerState_STATUSGenerator()) + gens["UpgradeSettings"] = gen.PtrOf(AgentPoolUpgradeSettings_STATUSGenerator()) +} + +func Test_ManagedClusterAutoUpgradeProfile_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterAutoUpgradeProfile to ManagedClusterAutoUpgradeProfile via AssignProperties_To_ManagedClusterAutoUpgradeProfile & AssignProperties_From_ManagedClusterAutoUpgradeProfile returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterAutoUpgradeProfile, ManagedClusterAutoUpgradeProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterAutoUpgradeProfile tests if a specific instance of ManagedClusterAutoUpgradeProfile can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterAutoUpgradeProfile(subject ManagedClusterAutoUpgradeProfile) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterAutoUpgradeProfile + err := copied.AssignProperties_To_ManagedClusterAutoUpgradeProfile(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterAutoUpgradeProfile + err = actual.AssignProperties_From_ManagedClusterAutoUpgradeProfile(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" } func Test_ManagedClusterAutoUpgradeProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { @@ -2622,6 +4262,48 @@ func AddIndependentPropertyGeneratorsForManagedClusterAutoUpgradeProfile(gens ma gens["UpgradeChannel"] = gen.PtrOf(gen.AlphaString()) } +func Test_ManagedClusterAutoUpgradeProfile_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterAutoUpgradeProfile_STATUS to ManagedClusterAutoUpgradeProfile_STATUS via AssignProperties_To_ManagedClusterAutoUpgradeProfile_STATUS & AssignProperties_From_ManagedClusterAutoUpgradeProfile_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterAutoUpgradeProfile_STATUS, ManagedClusterAutoUpgradeProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterAutoUpgradeProfile_STATUS tests if a specific instance of ManagedClusterAutoUpgradeProfile_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterAutoUpgradeProfile_STATUS(subject ManagedClusterAutoUpgradeProfile_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterAutoUpgradeProfile_STATUS + err := copied.AssignProperties_To_ManagedClusterAutoUpgradeProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterAutoUpgradeProfile_STATUS + err = actual.AssignProperties_From_ManagedClusterAutoUpgradeProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_ManagedClusterAutoUpgradeProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -2684,6 +4366,48 @@ func AddIndependentPropertyGeneratorsForManagedClusterAutoUpgradeProfile_STATUS( gens["UpgradeChannel"] = gen.PtrOf(gen.AlphaString()) } +func Test_ManagedClusterAzureMonitorProfile_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterAzureMonitorProfile to ManagedClusterAzureMonitorProfile via AssignProperties_To_ManagedClusterAzureMonitorProfile & AssignProperties_From_ManagedClusterAzureMonitorProfile returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterAzureMonitorProfile, ManagedClusterAzureMonitorProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterAzureMonitorProfile tests if a specific instance of ManagedClusterAzureMonitorProfile can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterAzureMonitorProfile(subject ManagedClusterAzureMonitorProfile) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterAzureMonitorProfile + err := copied.AssignProperties_To_ManagedClusterAzureMonitorProfile(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterAzureMonitorProfile + err = actual.AssignProperties_From_ManagedClusterAzureMonitorProfile(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_ManagedClusterAzureMonitorProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -2745,6 +4469,48 @@ func AddRelatedPropertyGeneratorsForManagedClusterAzureMonitorProfile(gens map[s gens["Metrics"] = gen.PtrOf(ManagedClusterAzureMonitorProfileMetricsGenerator()) } +func Test_ManagedClusterAzureMonitorProfileKubeStateMetrics_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterAzureMonitorProfileKubeStateMetrics to ManagedClusterAzureMonitorProfileKubeStateMetrics via AssignProperties_To_ManagedClusterAzureMonitorProfileKubeStateMetrics & AssignProperties_From_ManagedClusterAzureMonitorProfileKubeStateMetrics returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterAzureMonitorProfileKubeStateMetrics, ManagedClusterAzureMonitorProfileKubeStateMetricsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterAzureMonitorProfileKubeStateMetrics tests if a specific instance of ManagedClusterAzureMonitorProfileKubeStateMetrics can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterAzureMonitorProfileKubeStateMetrics(subject ManagedClusterAzureMonitorProfileKubeStateMetrics) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterAzureMonitorProfileKubeStateMetrics + err := copied.AssignProperties_To_ManagedClusterAzureMonitorProfileKubeStateMetrics(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterAzureMonitorProfileKubeStateMetrics + err = actual.AssignProperties_From_ManagedClusterAzureMonitorProfileKubeStateMetrics(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_ManagedClusterAzureMonitorProfileKubeStateMetrics_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -2807,6 +4573,48 @@ func AddIndependentPropertyGeneratorsForManagedClusterAzureMonitorProfileKubeSta gens["MetricLabelsAllowlist"] = gen.PtrOf(gen.AlphaString()) } +func Test_ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS to ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS via AssignProperties_To_ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS & AssignProperties_From_ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS, ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS tests if a specific instance of ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS(subject ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS + err := copied.AssignProperties_To_ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS + err = actual.AssignProperties_From_ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -2869,6 +4677,48 @@ func AddIndependentPropertyGeneratorsForManagedClusterAzureMonitorProfileKubeSta gens["MetricLabelsAllowlist"] = gen.PtrOf(gen.AlphaString()) } +func Test_ManagedClusterAzureMonitorProfileMetrics_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterAzureMonitorProfileMetrics to ManagedClusterAzureMonitorProfileMetrics via AssignProperties_To_ManagedClusterAzureMonitorProfileMetrics & AssignProperties_From_ManagedClusterAzureMonitorProfileMetrics returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterAzureMonitorProfileMetrics, ManagedClusterAzureMonitorProfileMetricsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterAzureMonitorProfileMetrics tests if a specific instance of ManagedClusterAzureMonitorProfileMetrics can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterAzureMonitorProfileMetrics(subject ManagedClusterAzureMonitorProfileMetrics) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterAzureMonitorProfileMetrics + err := copied.AssignProperties_To_ManagedClusterAzureMonitorProfileMetrics(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterAzureMonitorProfileMetrics + err = actual.AssignProperties_From_ManagedClusterAzureMonitorProfileMetrics(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_ManagedClusterAzureMonitorProfileMetrics_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -2944,6 +4794,48 @@ func AddRelatedPropertyGeneratorsForManagedClusterAzureMonitorProfileMetrics(gen gens["KubeStateMetrics"] = gen.PtrOf(ManagedClusterAzureMonitorProfileKubeStateMetricsGenerator()) } +func Test_ManagedClusterAzureMonitorProfileMetrics_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterAzureMonitorProfileMetrics_STATUS to ManagedClusterAzureMonitorProfileMetrics_STATUS via AssignProperties_To_ManagedClusterAzureMonitorProfileMetrics_STATUS & AssignProperties_From_ManagedClusterAzureMonitorProfileMetrics_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterAzureMonitorProfileMetrics_STATUS, ManagedClusterAzureMonitorProfileMetrics_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterAzureMonitorProfileMetrics_STATUS tests if a specific instance of ManagedClusterAzureMonitorProfileMetrics_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterAzureMonitorProfileMetrics_STATUS(subject ManagedClusterAzureMonitorProfileMetrics_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterAzureMonitorProfileMetrics_STATUS + err := copied.AssignProperties_To_ManagedClusterAzureMonitorProfileMetrics_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterAzureMonitorProfileMetrics_STATUS + err = actual.AssignProperties_From_ManagedClusterAzureMonitorProfileMetrics_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_ManagedClusterAzureMonitorProfileMetrics_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -3019,6 +4911,48 @@ func AddRelatedPropertyGeneratorsForManagedClusterAzureMonitorProfileMetrics_STA gens["KubeStateMetrics"] = gen.PtrOf(ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUSGenerator()) } +func Test_ManagedClusterAzureMonitorProfile_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterAzureMonitorProfile_STATUS to ManagedClusterAzureMonitorProfile_STATUS via AssignProperties_To_ManagedClusterAzureMonitorProfile_STATUS & AssignProperties_From_ManagedClusterAzureMonitorProfile_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterAzureMonitorProfile_STATUS, ManagedClusterAzureMonitorProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterAzureMonitorProfile_STATUS tests if a specific instance of ManagedClusterAzureMonitorProfile_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterAzureMonitorProfile_STATUS(subject ManagedClusterAzureMonitorProfile_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterAzureMonitorProfile_STATUS + err := copied.AssignProperties_To_ManagedClusterAzureMonitorProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterAzureMonitorProfile_STATUS + err = actual.AssignProperties_From_ManagedClusterAzureMonitorProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_ManagedClusterAzureMonitorProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -3080,6 +5014,48 @@ func AddRelatedPropertyGeneratorsForManagedClusterAzureMonitorProfile_STATUS(gen gens["Metrics"] = gen.PtrOf(ManagedClusterAzureMonitorProfileMetrics_STATUSGenerator()) } +func Test_ManagedClusterHTTPProxyConfig_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterHTTPProxyConfig to ManagedClusterHTTPProxyConfig via AssignProperties_To_ManagedClusterHTTPProxyConfig & AssignProperties_From_ManagedClusterHTTPProxyConfig returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterHTTPProxyConfig, ManagedClusterHTTPProxyConfigGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterHTTPProxyConfig tests if a specific instance of ManagedClusterHTTPProxyConfig can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterHTTPProxyConfig(subject ManagedClusterHTTPProxyConfig) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterHTTPProxyConfig + err := copied.AssignProperties_To_ManagedClusterHTTPProxyConfig(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterHTTPProxyConfig + err = actual.AssignProperties_From_ManagedClusterHTTPProxyConfig(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_ManagedClusterHTTPProxyConfig_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -3133,15 +5109,57 @@ func ManagedClusterHTTPProxyConfigGenerator() gopter.Gen { AddIndependentPropertyGeneratorsForManagedClusterHTTPProxyConfig(generators) managedClusterHTTPProxyConfigGenerator = gen.Struct(reflect.TypeOf(ManagedClusterHTTPProxyConfig{}), generators) - return managedClusterHTTPProxyConfigGenerator -} + return managedClusterHTTPProxyConfigGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterHTTPProxyConfig is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterHTTPProxyConfig(gens map[string]gopter.Gen) { + gens["HttpProxy"] = gen.PtrOf(gen.AlphaString()) + gens["HttpsProxy"] = gen.PtrOf(gen.AlphaString()) + gens["NoProxy"] = gen.SliceOf(gen.AlphaString()) + gens["TrustedCa"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ManagedClusterHTTPProxyConfig_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterHTTPProxyConfig_STATUS to ManagedClusterHTTPProxyConfig_STATUS via AssignProperties_To_ManagedClusterHTTPProxyConfig_STATUS & AssignProperties_From_ManagedClusterHTTPProxyConfig_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterHTTPProxyConfig_STATUS, ManagedClusterHTTPProxyConfig_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterHTTPProxyConfig_STATUS tests if a specific instance of ManagedClusterHTTPProxyConfig_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterHTTPProxyConfig_STATUS(subject ManagedClusterHTTPProxyConfig_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterHTTPProxyConfig_STATUS + err := copied.AssignProperties_To_ManagedClusterHTTPProxyConfig_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterHTTPProxyConfig_STATUS + err = actual.AssignProperties_From_ManagedClusterHTTPProxyConfig_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } -// AddIndependentPropertyGeneratorsForManagedClusterHTTPProxyConfig is a factory method for creating gopter generators -func AddIndependentPropertyGeneratorsForManagedClusterHTTPProxyConfig(gens map[string]gopter.Gen) { - gens["HttpProxy"] = gen.PtrOf(gen.AlphaString()) - gens["HttpsProxy"] = gen.PtrOf(gen.AlphaString()) - gens["NoProxy"] = gen.SliceOf(gen.AlphaString()) - gens["TrustedCa"] = gen.PtrOf(gen.AlphaString()) + return "" } func Test_ManagedClusterHTTPProxyConfig_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { @@ -3208,6 +5226,48 @@ func AddIndependentPropertyGeneratorsForManagedClusterHTTPProxyConfig_STATUS(gen gens["TrustedCa"] = gen.PtrOf(gen.AlphaString()) } +func Test_ManagedClusterIdentity_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterIdentity to ManagedClusterIdentity via AssignProperties_To_ManagedClusterIdentity & AssignProperties_From_ManagedClusterIdentity returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterIdentity, ManagedClusterIdentityGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterIdentity tests if a specific instance of ManagedClusterIdentity can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterIdentity(subject ManagedClusterIdentity) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterIdentity + err := copied.AssignProperties_To_ManagedClusterIdentity(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterIdentity + err = actual.AssignProperties_From_ManagedClusterIdentity(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_ManagedClusterIdentity_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -3286,6 +5346,48 @@ func AddRelatedPropertyGeneratorsForManagedClusterIdentity(gens map[string]gopte gens["UserAssignedIdentities"] = gen.SliceOf(UserAssignedIdentityDetailsGenerator()) } +func Test_ManagedClusterIdentity_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterIdentity_STATUS to ManagedClusterIdentity_STATUS via AssignProperties_To_ManagedClusterIdentity_STATUS & AssignProperties_From_ManagedClusterIdentity_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterIdentity_STATUS, ManagedClusterIdentity_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterIdentity_STATUS tests if a specific instance of ManagedClusterIdentity_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterIdentity_STATUS(subject ManagedClusterIdentity_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterIdentity_STATUS + err := copied.AssignProperties_To_ManagedClusterIdentity_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterIdentity_STATUS + err = actual.AssignProperties_From_ManagedClusterIdentity_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_ManagedClusterIdentity_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -3368,6 +5470,48 @@ func AddRelatedPropertyGeneratorsForManagedClusterIdentity_STATUS(gens map[strin ManagedClusterIdentity_UserAssignedIdentities_STATUSGenerator()) } +func Test_ManagedClusterIdentity_UserAssignedIdentities_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterIdentity_UserAssignedIdentities_STATUS to ManagedClusterIdentity_UserAssignedIdentities_STATUS via AssignProperties_To_ManagedClusterIdentity_UserAssignedIdentities_STATUS & AssignProperties_From_ManagedClusterIdentity_UserAssignedIdentities_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterIdentity_UserAssignedIdentities_STATUS, ManagedClusterIdentity_UserAssignedIdentities_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterIdentity_UserAssignedIdentities_STATUS tests if a specific instance of ManagedClusterIdentity_UserAssignedIdentities_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterIdentity_UserAssignedIdentities_STATUS(subject ManagedClusterIdentity_UserAssignedIdentities_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterIdentity_UserAssignedIdentities_STATUS + err := copied.AssignProperties_To_ManagedClusterIdentity_UserAssignedIdentities_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterIdentity_UserAssignedIdentities_STATUS + err = actual.AssignProperties_From_ManagedClusterIdentity_UserAssignedIdentities_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_ManagedClusterIdentity_UserAssignedIdentities_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -3430,6 +5574,48 @@ func AddIndependentPropertyGeneratorsForManagedClusterIdentity_UserAssignedIdent gens["PrincipalId"] = gen.PtrOf(gen.AlphaString()) } +func Test_ManagedClusterLoadBalancerProfile_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterLoadBalancerProfile to ManagedClusterLoadBalancerProfile via AssignProperties_To_ManagedClusterLoadBalancerProfile & AssignProperties_From_ManagedClusterLoadBalancerProfile returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterLoadBalancerProfile, ManagedClusterLoadBalancerProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterLoadBalancerProfile tests if a specific instance of ManagedClusterLoadBalancerProfile can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterLoadBalancerProfile(subject ManagedClusterLoadBalancerProfile) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterLoadBalancerProfile + err := copied.AssignProperties_To_ManagedClusterLoadBalancerProfile(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterLoadBalancerProfile + err = actual.AssignProperties_From_ManagedClusterLoadBalancerProfile(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_ManagedClusterLoadBalancerProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -3511,6 +5697,48 @@ func AddRelatedPropertyGeneratorsForManagedClusterLoadBalancerProfile(gens map[s gens["OutboundIPs"] = gen.PtrOf(ManagedClusterLoadBalancerProfile_OutboundIPsGenerator()) } +func Test_ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterLoadBalancerProfile_ManagedOutboundIPs to ManagedClusterLoadBalancerProfile_ManagedOutboundIPs via AssignProperties_To_ManagedClusterLoadBalancerProfile_ManagedOutboundIPs & AssignProperties_From_ManagedClusterLoadBalancerProfile_ManagedOutboundIPs returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterLoadBalancerProfile_ManagedOutboundIPs, ManagedClusterLoadBalancerProfile_ManagedOutboundIPsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterLoadBalancerProfile_ManagedOutboundIPs tests if a specific instance of ManagedClusterLoadBalancerProfile_ManagedOutboundIPs can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterLoadBalancerProfile_ManagedOutboundIPs(subject ManagedClusterLoadBalancerProfile_ManagedOutboundIPs) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs + err := copied.AssignProperties_To_ManagedClusterLoadBalancerProfile_ManagedOutboundIPs(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterLoadBalancerProfile_ManagedOutboundIPs + err = actual.AssignProperties_From_ManagedClusterLoadBalancerProfile_ManagedOutboundIPs(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -3573,6 +5801,48 @@ func AddIndependentPropertyGeneratorsForManagedClusterLoadBalancerProfile_Manage gens["CountIPv6"] = gen.PtrOf(gen.Int()) } +func Test_ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS to ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS via AssignProperties_To_ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS & AssignProperties_From_ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS, ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS tests if a specific instance of ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS(subject ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS + err := copied.AssignProperties_To_ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS + err = actual.AssignProperties_From_ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -3635,6 +5905,48 @@ func AddIndependentPropertyGeneratorsForManagedClusterLoadBalancerProfile_Manage gens["CountIPv6"] = gen.PtrOf(gen.Int()) } +func Test_ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterLoadBalancerProfile_OutboundIPPrefixes to ManagedClusterLoadBalancerProfile_OutboundIPPrefixes via AssignProperties_To_ManagedClusterLoadBalancerProfile_OutboundIPPrefixes & AssignProperties_From_ManagedClusterLoadBalancerProfile_OutboundIPPrefixes returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterLoadBalancerProfile_OutboundIPPrefixes, ManagedClusterLoadBalancerProfile_OutboundIPPrefixesGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterLoadBalancerProfile_OutboundIPPrefixes tests if a specific instance of ManagedClusterLoadBalancerProfile_OutboundIPPrefixes can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterLoadBalancerProfile_OutboundIPPrefixes(subject ManagedClusterLoadBalancerProfile_OutboundIPPrefixes) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes + err := copied.AssignProperties_To_ManagedClusterLoadBalancerProfile_OutboundIPPrefixes(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterLoadBalancerProfile_OutboundIPPrefixes + err = actual.AssignProperties_From_ManagedClusterLoadBalancerProfile_OutboundIPPrefixes(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -3696,6 +6008,48 @@ func AddRelatedPropertyGeneratorsForManagedClusterLoadBalancerProfile_OutboundIP gens["PublicIPPrefixes"] = gen.SliceOf(ResourceReferenceGenerator()) } +func Test_ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS to ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS via AssignProperties_To_ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS & AssignProperties_From_ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS, ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS tests if a specific instance of ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS(subject ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS + err := copied.AssignProperties_To_ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS + err = actual.AssignProperties_From_ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -3749,12 +6103,54 @@ func ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUSGenerator() gopt AddRelatedPropertyGeneratorsForManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS(generators) managedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS{}), generators) - return managedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUSGenerator -} + return managedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUSGenerator +} + +// AddRelatedPropertyGeneratorsForManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS(gens map[string]gopter.Gen) { + gens["PublicIPPrefixes"] = gen.SliceOf(ResourceReference_STATUSGenerator()) +} + +func Test_ManagedClusterLoadBalancerProfile_OutboundIPs_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterLoadBalancerProfile_OutboundIPs to ManagedClusterLoadBalancerProfile_OutboundIPs via AssignProperties_To_ManagedClusterLoadBalancerProfile_OutboundIPs & AssignProperties_From_ManagedClusterLoadBalancerProfile_OutboundIPs returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterLoadBalancerProfile_OutboundIPs, ManagedClusterLoadBalancerProfile_OutboundIPsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterLoadBalancerProfile_OutboundIPs tests if a specific instance of ManagedClusterLoadBalancerProfile_OutboundIPs can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterLoadBalancerProfile_OutboundIPs(subject ManagedClusterLoadBalancerProfile_OutboundIPs) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterLoadBalancerProfile_OutboundIPs + err := copied.AssignProperties_To_ManagedClusterLoadBalancerProfile_OutboundIPs(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterLoadBalancerProfile_OutboundIPs + err = actual.AssignProperties_From_ManagedClusterLoadBalancerProfile_OutboundIPs(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } -// AddRelatedPropertyGeneratorsForManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS is a factory method for creating gopter generators -func AddRelatedPropertyGeneratorsForManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS(gens map[string]gopter.Gen) { - gens["PublicIPPrefixes"] = gen.SliceOf(ResourceReference_STATUSGenerator()) + return "" } func Test_ManagedClusterLoadBalancerProfile_OutboundIPs_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { @@ -3818,6 +6214,48 @@ func AddRelatedPropertyGeneratorsForManagedClusterLoadBalancerProfile_OutboundIP gens["PublicIPs"] = gen.SliceOf(ResourceReferenceGenerator()) } +func Test_ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS to ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS via AssignProperties_To_ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS & AssignProperties_From_ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterLoadBalancerProfile_OutboundIPs_STATUS, ManagedClusterLoadBalancerProfile_OutboundIPs_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterLoadBalancerProfile_OutboundIPs_STATUS tests if a specific instance of ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterLoadBalancerProfile_OutboundIPs_STATUS(subject ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS + err := copied.AssignProperties_To_ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS + err = actual.AssignProperties_From_ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -3879,6 +6317,48 @@ func AddRelatedPropertyGeneratorsForManagedClusterLoadBalancerProfile_OutboundIP gens["PublicIPs"] = gen.SliceOf(ResourceReference_STATUSGenerator()) } +func Test_ManagedClusterLoadBalancerProfile_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterLoadBalancerProfile_STATUS to ManagedClusterLoadBalancerProfile_STATUS via AssignProperties_To_ManagedClusterLoadBalancerProfile_STATUS & AssignProperties_From_ManagedClusterLoadBalancerProfile_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterLoadBalancerProfile_STATUS, ManagedClusterLoadBalancerProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterLoadBalancerProfile_STATUS tests if a specific instance of ManagedClusterLoadBalancerProfile_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterLoadBalancerProfile_STATUS(subject ManagedClusterLoadBalancerProfile_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterLoadBalancerProfile_STATUS + err := copied.AssignProperties_To_ManagedClusterLoadBalancerProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterLoadBalancerProfile_STATUS + err = actual.AssignProperties_From_ManagedClusterLoadBalancerProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_ManagedClusterLoadBalancerProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -3960,6 +6440,48 @@ func AddRelatedPropertyGeneratorsForManagedClusterLoadBalancerProfile_STATUS(gen gens["OutboundIPs"] = gen.PtrOf(ManagedClusterLoadBalancerProfile_OutboundIPs_STATUSGenerator()) } +func Test_ManagedClusterManagedOutboundIPProfile_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterManagedOutboundIPProfile to ManagedClusterManagedOutboundIPProfile via AssignProperties_To_ManagedClusterManagedOutboundIPProfile & AssignProperties_From_ManagedClusterManagedOutboundIPProfile returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterManagedOutboundIPProfile, ManagedClusterManagedOutboundIPProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterManagedOutboundIPProfile tests if a specific instance of ManagedClusterManagedOutboundIPProfile can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterManagedOutboundIPProfile(subject ManagedClusterManagedOutboundIPProfile) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterManagedOutboundIPProfile + err := copied.AssignProperties_To_ManagedClusterManagedOutboundIPProfile(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterManagedOutboundIPProfile + err = actual.AssignProperties_From_ManagedClusterManagedOutboundIPProfile(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_ManagedClusterManagedOutboundIPProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -4021,6 +6543,48 @@ func AddIndependentPropertyGeneratorsForManagedClusterManagedOutboundIPProfile(g gens["Count"] = gen.PtrOf(gen.Int()) } +func Test_ManagedClusterManagedOutboundIPProfile_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterManagedOutboundIPProfile_STATUS to ManagedClusterManagedOutboundIPProfile_STATUS via AssignProperties_To_ManagedClusterManagedOutboundIPProfile_STATUS & AssignProperties_From_ManagedClusterManagedOutboundIPProfile_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterManagedOutboundIPProfile_STATUS, ManagedClusterManagedOutboundIPProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterManagedOutboundIPProfile_STATUS tests if a specific instance of ManagedClusterManagedOutboundIPProfile_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterManagedOutboundIPProfile_STATUS(subject ManagedClusterManagedOutboundIPProfile_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterManagedOutboundIPProfile_STATUS + err := copied.AssignProperties_To_ManagedClusterManagedOutboundIPProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterManagedOutboundIPProfile_STATUS + err = actual.AssignProperties_From_ManagedClusterManagedOutboundIPProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_ManagedClusterManagedOutboundIPProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -4082,6 +6646,48 @@ func AddIndependentPropertyGeneratorsForManagedClusterManagedOutboundIPProfile_S gens["Count"] = gen.PtrOf(gen.Int()) } +func Test_ManagedClusterNATGatewayProfile_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterNATGatewayProfile to ManagedClusterNATGatewayProfile via AssignProperties_To_ManagedClusterNATGatewayProfile & AssignProperties_From_ManagedClusterNATGatewayProfile returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterNATGatewayProfile, ManagedClusterNATGatewayProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterNATGatewayProfile tests if a specific instance of ManagedClusterNATGatewayProfile can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterNATGatewayProfile(subject ManagedClusterNATGatewayProfile) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterNATGatewayProfile + err := copied.AssignProperties_To_ManagedClusterNATGatewayProfile(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterNATGatewayProfile + err = actual.AssignProperties_From_ManagedClusterNATGatewayProfile(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_ManagedClusterNATGatewayProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -4158,6 +6764,48 @@ func AddRelatedPropertyGeneratorsForManagedClusterNATGatewayProfile(gens map[str gens["ManagedOutboundIPProfile"] = gen.PtrOf(ManagedClusterManagedOutboundIPProfileGenerator()) } +func Test_ManagedClusterNATGatewayProfile_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterNATGatewayProfile_STATUS to ManagedClusterNATGatewayProfile_STATUS via AssignProperties_To_ManagedClusterNATGatewayProfile_STATUS & AssignProperties_From_ManagedClusterNATGatewayProfile_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterNATGatewayProfile_STATUS, ManagedClusterNATGatewayProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterNATGatewayProfile_STATUS tests if a specific instance of ManagedClusterNATGatewayProfile_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterNATGatewayProfile_STATUS(subject ManagedClusterNATGatewayProfile_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterNATGatewayProfile_STATUS + err := copied.AssignProperties_To_ManagedClusterNATGatewayProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterNATGatewayProfile_STATUS + err = actual.AssignProperties_From_ManagedClusterNATGatewayProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_ManagedClusterNATGatewayProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -4234,6 +6882,48 @@ func AddRelatedPropertyGeneratorsForManagedClusterNATGatewayProfile_STATUS(gens gens["ManagedOutboundIPProfile"] = gen.PtrOf(ManagedClusterManagedOutboundIPProfile_STATUSGenerator()) } +func Test_ManagedClusterOIDCIssuerProfile_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterOIDCIssuerProfile to ManagedClusterOIDCIssuerProfile via AssignProperties_To_ManagedClusterOIDCIssuerProfile & AssignProperties_From_ManagedClusterOIDCIssuerProfile returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterOIDCIssuerProfile, ManagedClusterOIDCIssuerProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterOIDCIssuerProfile tests if a specific instance of ManagedClusterOIDCIssuerProfile can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterOIDCIssuerProfile(subject ManagedClusterOIDCIssuerProfile) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterOIDCIssuerProfile + err := copied.AssignProperties_To_ManagedClusterOIDCIssuerProfile(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterOIDCIssuerProfile + err = actual.AssignProperties_From_ManagedClusterOIDCIssuerProfile(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_ManagedClusterOIDCIssuerProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -4295,6 +6985,48 @@ func AddIndependentPropertyGeneratorsForManagedClusterOIDCIssuerProfile(gens map gens["Enabled"] = gen.PtrOf(gen.Bool()) } +func Test_ManagedClusterOIDCIssuerProfile_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterOIDCIssuerProfile_STATUS to ManagedClusterOIDCIssuerProfile_STATUS via AssignProperties_To_ManagedClusterOIDCIssuerProfile_STATUS & AssignProperties_From_ManagedClusterOIDCIssuerProfile_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterOIDCIssuerProfile_STATUS, ManagedClusterOIDCIssuerProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterOIDCIssuerProfile_STATUS tests if a specific instance of ManagedClusterOIDCIssuerProfile_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterOIDCIssuerProfile_STATUS(subject ManagedClusterOIDCIssuerProfile_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterOIDCIssuerProfile_STATUS + err := copied.AssignProperties_To_ManagedClusterOIDCIssuerProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterOIDCIssuerProfile_STATUS + err = actual.AssignProperties_From_ManagedClusterOIDCIssuerProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_ManagedClusterOIDCIssuerProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -4344,17 +7076,59 @@ func ManagedClusterOIDCIssuerProfile_STATUSGenerator() gopter.Gen { return managedClusterOIDCIssuerProfile_STATUSGenerator } - generators := make(map[string]gopter.Gen) - AddIndependentPropertyGeneratorsForManagedClusterOIDCIssuerProfile_STATUS(generators) - managedClusterOIDCIssuerProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterOIDCIssuerProfile_STATUS{}), generators) + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterOIDCIssuerProfile_STATUS(generators) + managedClusterOIDCIssuerProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterOIDCIssuerProfile_STATUS{}), generators) + + return managedClusterOIDCIssuerProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterOIDCIssuerProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterOIDCIssuerProfile_STATUS(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) + gens["IssuerURL"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ManagedClusterOperatorConfigMaps_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterOperatorConfigMaps to ManagedClusterOperatorConfigMaps via AssignProperties_To_ManagedClusterOperatorConfigMaps & AssignProperties_From_ManagedClusterOperatorConfigMaps returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterOperatorConfigMaps, ManagedClusterOperatorConfigMapsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterOperatorConfigMaps tests if a specific instance of ManagedClusterOperatorConfigMaps can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterOperatorConfigMaps(subject ManagedClusterOperatorConfigMaps) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterOperatorConfigMaps + err := copied.AssignProperties_To_ManagedClusterOperatorConfigMaps(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterOperatorConfigMaps + err = actual.AssignProperties_From_ManagedClusterOperatorConfigMaps(&other) + if err != nil { + return err.Error() + } - return managedClusterOIDCIssuerProfile_STATUSGenerator -} + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } -// AddIndependentPropertyGeneratorsForManagedClusterOIDCIssuerProfile_STATUS is a factory method for creating gopter generators -func AddIndependentPropertyGeneratorsForManagedClusterOIDCIssuerProfile_STATUS(gens map[string]gopter.Gen) { - gens["Enabled"] = gen.PtrOf(gen.Bool()) - gens["IssuerURL"] = gen.PtrOf(gen.AlphaString()) + return "" } func Test_ManagedClusterOperatorConfigMaps_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { @@ -4412,6 +7186,48 @@ func ManagedClusterOperatorConfigMapsGenerator() gopter.Gen { return managedClusterOperatorConfigMapsGenerator } +func Test_ManagedClusterOperatorSecrets_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterOperatorSecrets to ManagedClusterOperatorSecrets via AssignProperties_To_ManagedClusterOperatorSecrets & AssignProperties_From_ManagedClusterOperatorSecrets returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterOperatorSecrets, ManagedClusterOperatorSecretsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterOperatorSecrets tests if a specific instance of ManagedClusterOperatorSecrets can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterOperatorSecrets(subject ManagedClusterOperatorSecrets) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterOperatorSecrets + err := copied.AssignProperties_To_ManagedClusterOperatorSecrets(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterOperatorSecrets + err = actual.AssignProperties_From_ManagedClusterOperatorSecrets(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_ManagedClusterOperatorSecrets_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -4467,6 +7283,48 @@ func ManagedClusterOperatorSecretsGenerator() gopter.Gen { return managedClusterOperatorSecretsGenerator } +func Test_ManagedClusterOperatorSpec_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterOperatorSpec to ManagedClusterOperatorSpec via AssignProperties_To_ManagedClusterOperatorSpec & AssignProperties_From_ManagedClusterOperatorSpec returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterOperatorSpec, ManagedClusterOperatorSpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterOperatorSpec tests if a specific instance of ManagedClusterOperatorSpec can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterOperatorSpec(subject ManagedClusterOperatorSpec) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterOperatorSpec + err := copied.AssignProperties_To_ManagedClusterOperatorSpec(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterOperatorSpec + err = actual.AssignProperties_From_ManagedClusterOperatorSpec(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_ManagedClusterOperatorSpec_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -4529,6 +7387,48 @@ func AddRelatedPropertyGeneratorsForManagedClusterOperatorSpec(gens map[string]g gens["Secrets"] = gen.PtrOf(ManagedClusterOperatorSecretsGenerator()) } +func Test_ManagedClusterPodIdentity_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterPodIdentity to ManagedClusterPodIdentity via AssignProperties_To_ManagedClusterPodIdentity & AssignProperties_From_ManagedClusterPodIdentity returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterPodIdentity, ManagedClusterPodIdentityGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterPodIdentity tests if a specific instance of ManagedClusterPodIdentity can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterPodIdentity(subject ManagedClusterPodIdentity) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterPodIdentity + err := copied.AssignProperties_To_ManagedClusterPodIdentity(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterPodIdentity + err = actual.AssignProperties_From_ManagedClusterPodIdentity(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_ManagedClusterPodIdentity_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -4606,6 +7506,48 @@ func AddRelatedPropertyGeneratorsForManagedClusterPodIdentity(gens map[string]go gens["Identity"] = gen.PtrOf(UserAssignedIdentityGenerator()) } +func Test_ManagedClusterPodIdentityException_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterPodIdentityException to ManagedClusterPodIdentityException via AssignProperties_To_ManagedClusterPodIdentityException & AssignProperties_From_ManagedClusterPodIdentityException returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterPodIdentityException, ManagedClusterPodIdentityExceptionGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterPodIdentityException tests if a specific instance of ManagedClusterPodIdentityException can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterPodIdentityException(subject ManagedClusterPodIdentityException) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterPodIdentityException + err := copied.AssignProperties_To_ManagedClusterPodIdentityException(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterPodIdentityException + err = actual.AssignProperties_From_ManagedClusterPodIdentityException(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_ManagedClusterPodIdentityException_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -4671,6 +7613,48 @@ func AddIndependentPropertyGeneratorsForManagedClusterPodIdentityException(gens gen.AlphaString()) } +func Test_ManagedClusterPodIdentityException_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterPodIdentityException_STATUS to ManagedClusterPodIdentityException_STATUS via AssignProperties_To_ManagedClusterPodIdentityException_STATUS & AssignProperties_From_ManagedClusterPodIdentityException_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterPodIdentityException_STATUS, ManagedClusterPodIdentityException_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterPodIdentityException_STATUS tests if a specific instance of ManagedClusterPodIdentityException_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterPodIdentityException_STATUS(subject ManagedClusterPodIdentityException_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterPodIdentityException_STATUS + err := copied.AssignProperties_To_ManagedClusterPodIdentityException_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterPodIdentityException_STATUS + err = actual.AssignProperties_From_ManagedClusterPodIdentityException_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_ManagedClusterPodIdentityException_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -4736,6 +7720,48 @@ func AddIndependentPropertyGeneratorsForManagedClusterPodIdentityException_STATU gen.AlphaString()) } +func Test_ManagedClusterPodIdentityProfile_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterPodIdentityProfile to ManagedClusterPodIdentityProfile via AssignProperties_To_ManagedClusterPodIdentityProfile & AssignProperties_From_ManagedClusterPodIdentityProfile returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterPodIdentityProfile, ManagedClusterPodIdentityProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterPodIdentityProfile tests if a specific instance of ManagedClusterPodIdentityProfile can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterPodIdentityProfile(subject ManagedClusterPodIdentityProfile) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterPodIdentityProfile + err := copied.AssignProperties_To_ManagedClusterPodIdentityProfile(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterPodIdentityProfile + err = actual.AssignProperties_From_ManagedClusterPodIdentityProfile(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_ManagedClusterPodIdentityProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -4813,6 +7839,48 @@ func AddRelatedPropertyGeneratorsForManagedClusterPodIdentityProfile(gens map[st gens["UserAssignedIdentityExceptions"] = gen.SliceOf(ManagedClusterPodIdentityExceptionGenerator()) } +func Test_ManagedClusterPodIdentityProfile_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterPodIdentityProfile_STATUS to ManagedClusterPodIdentityProfile_STATUS via AssignProperties_To_ManagedClusterPodIdentityProfile_STATUS & AssignProperties_From_ManagedClusterPodIdentityProfile_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterPodIdentityProfile_STATUS, ManagedClusterPodIdentityProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterPodIdentityProfile_STATUS tests if a specific instance of ManagedClusterPodIdentityProfile_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterPodIdentityProfile_STATUS(subject ManagedClusterPodIdentityProfile_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterPodIdentityProfile_STATUS + err := copied.AssignProperties_To_ManagedClusterPodIdentityProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterPodIdentityProfile_STATUS + err = actual.AssignProperties_From_ManagedClusterPodIdentityProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_ManagedClusterPodIdentityProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -4890,6 +7958,48 @@ func AddRelatedPropertyGeneratorsForManagedClusterPodIdentityProfile_STATUS(gens gens["UserAssignedIdentityExceptions"] = gen.SliceOf(ManagedClusterPodIdentityException_STATUSGenerator()) } +func Test_ManagedClusterPodIdentityProvisioningErrorBody_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterPodIdentityProvisioningErrorBody_STATUS to ManagedClusterPodIdentityProvisioningErrorBody_STATUS via AssignProperties_To_ManagedClusterPodIdentityProvisioningErrorBody_STATUS & AssignProperties_From_ManagedClusterPodIdentityProvisioningErrorBody_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterPodIdentityProvisioningErrorBody_STATUS, ManagedClusterPodIdentityProvisioningErrorBody_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterPodIdentityProvisioningErrorBody_STATUS tests if a specific instance of ManagedClusterPodIdentityProvisioningErrorBody_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterPodIdentityProvisioningErrorBody_STATUS(subject ManagedClusterPodIdentityProvisioningErrorBody_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterPodIdentityProvisioningErrorBody_STATUS + err := copied.AssignProperties_To_ManagedClusterPodIdentityProvisioningErrorBody_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterPodIdentityProvisioningErrorBody_STATUS + err = actual.AssignProperties_From_ManagedClusterPodIdentityProvisioningErrorBody_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_ManagedClusterPodIdentityProvisioningErrorBody_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -4962,9 +8072,51 @@ func AddIndependentPropertyGeneratorsForManagedClusterPodIdentityProvisioningErr gens["Target"] = gen.PtrOf(gen.AlphaString()) } -// AddRelatedPropertyGeneratorsForManagedClusterPodIdentityProvisioningErrorBody_STATUS is a factory method for creating gopter generators -func AddRelatedPropertyGeneratorsForManagedClusterPodIdentityProvisioningErrorBody_STATUS(gens map[string]gopter.Gen) { - gens["Details"] = gen.SliceOf(ManagedClusterPodIdentityProvisioningErrorBody_STATUS_UnrolledGenerator()) +// AddRelatedPropertyGeneratorsForManagedClusterPodIdentityProvisioningErrorBody_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterPodIdentityProvisioningErrorBody_STATUS(gens map[string]gopter.Gen) { + gens["Details"] = gen.SliceOf(ManagedClusterPodIdentityProvisioningErrorBody_STATUS_UnrolledGenerator()) +} + +func Test_ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled to ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled via AssignProperties_To_ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled & AssignProperties_From_ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled, ManagedClusterPodIdentityProvisioningErrorBody_STATUS_UnrolledGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled tests if a specific instance of ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled(subject ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled + err := copied.AssignProperties_To_ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled + err = actual.AssignProperties_From_ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" } func Test_ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { @@ -5030,6 +8182,48 @@ func AddIndependentPropertyGeneratorsForManagedClusterPodIdentityProvisioningErr gens["Target"] = gen.PtrOf(gen.AlphaString()) } +func Test_ManagedClusterPodIdentityProvisioningError_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterPodIdentityProvisioningError_STATUS to ManagedClusterPodIdentityProvisioningError_STATUS via AssignProperties_To_ManagedClusterPodIdentityProvisioningError_STATUS & AssignProperties_From_ManagedClusterPodIdentityProvisioningError_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterPodIdentityProvisioningError_STATUS, ManagedClusterPodIdentityProvisioningError_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterPodIdentityProvisioningError_STATUS tests if a specific instance of ManagedClusterPodIdentityProvisioningError_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterPodIdentityProvisioningError_STATUS(subject ManagedClusterPodIdentityProvisioningError_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterPodIdentityProvisioningError_STATUS + err := copied.AssignProperties_To_ManagedClusterPodIdentityProvisioningError_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterPodIdentityProvisioningError_STATUS + err = actual.AssignProperties_From_ManagedClusterPodIdentityProvisioningError_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_ManagedClusterPodIdentityProvisioningError_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -5091,6 +8285,48 @@ func AddRelatedPropertyGeneratorsForManagedClusterPodIdentityProvisioningError_S gens["Error"] = gen.PtrOf(ManagedClusterPodIdentityProvisioningErrorBody_STATUSGenerator()) } +func Test_ManagedClusterPodIdentity_ProvisioningInfo_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterPodIdentity_ProvisioningInfo_STATUS to ManagedClusterPodIdentity_ProvisioningInfo_STATUS via AssignProperties_To_ManagedClusterPodIdentity_ProvisioningInfo_STATUS & AssignProperties_From_ManagedClusterPodIdentity_ProvisioningInfo_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterPodIdentity_ProvisioningInfo_STATUS, ManagedClusterPodIdentity_ProvisioningInfo_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterPodIdentity_ProvisioningInfo_STATUS tests if a specific instance of ManagedClusterPodIdentity_ProvisioningInfo_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterPodIdentity_ProvisioningInfo_STATUS(subject ManagedClusterPodIdentity_ProvisioningInfo_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterPodIdentity_ProvisioningInfo_STATUS + err := copied.AssignProperties_To_ManagedClusterPodIdentity_ProvisioningInfo_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterPodIdentity_ProvisioningInfo_STATUS + err = actual.AssignProperties_From_ManagedClusterPodIdentity_ProvisioningInfo_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_ManagedClusterPodIdentity_ProvisioningInfo_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -5152,6 +8388,48 @@ func AddRelatedPropertyGeneratorsForManagedClusterPodIdentity_ProvisioningInfo_S gens["Error"] = gen.PtrOf(ManagedClusterPodIdentityProvisioningError_STATUSGenerator()) } +func Test_ManagedClusterPodIdentity_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterPodIdentity_STATUS to ManagedClusterPodIdentity_STATUS via AssignProperties_To_ManagedClusterPodIdentity_STATUS & AssignProperties_From_ManagedClusterPodIdentity_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterPodIdentity_STATUS, ManagedClusterPodIdentity_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterPodIdentity_STATUS tests if a specific instance of ManagedClusterPodIdentity_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterPodIdentity_STATUS(subject ManagedClusterPodIdentity_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterPodIdentity_STATUS + err := copied.AssignProperties_To_ManagedClusterPodIdentity_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterPodIdentity_STATUS + err = actual.AssignProperties_From_ManagedClusterPodIdentity_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_ManagedClusterPodIdentity_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -5231,6 +8509,48 @@ func AddRelatedPropertyGeneratorsForManagedClusterPodIdentity_STATUS(gens map[st gens["ProvisioningInfo"] = gen.PtrOf(ManagedClusterPodIdentity_ProvisioningInfo_STATUSGenerator()) } +func Test_ManagedClusterProperties_AutoScalerProfile_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterProperties_AutoScalerProfile to ManagedClusterProperties_AutoScalerProfile via AssignProperties_To_ManagedClusterProperties_AutoScalerProfile & AssignProperties_From_ManagedClusterProperties_AutoScalerProfile returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterProperties_AutoScalerProfile, ManagedClusterProperties_AutoScalerProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterProperties_AutoScalerProfile tests if a specific instance of ManagedClusterProperties_AutoScalerProfile can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterProperties_AutoScalerProfile(subject ManagedClusterProperties_AutoScalerProfile) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterProperties_AutoScalerProfile + err := copied.AssignProperties_To_ManagedClusterProperties_AutoScalerProfile(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterProperties_AutoScalerProfile + err = actual.AssignProperties_From_ManagedClusterProperties_AutoScalerProfile(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_ManagedClusterProperties_AutoScalerProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -5308,6 +8628,48 @@ func AddIndependentPropertyGeneratorsForManagedClusterProperties_AutoScalerProfi gens["SkipNodesWithSystemPods"] = gen.PtrOf(gen.AlphaString()) } +func Test_ManagedClusterProperties_AutoScalerProfile_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterProperties_AutoScalerProfile_STATUS to ManagedClusterProperties_AutoScalerProfile_STATUS via AssignProperties_To_ManagedClusterProperties_AutoScalerProfile_STATUS & AssignProperties_From_ManagedClusterProperties_AutoScalerProfile_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterProperties_AutoScalerProfile_STATUS, ManagedClusterProperties_AutoScalerProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterProperties_AutoScalerProfile_STATUS tests if a specific instance of ManagedClusterProperties_AutoScalerProfile_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterProperties_AutoScalerProfile_STATUS(subject ManagedClusterProperties_AutoScalerProfile_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterProperties_AutoScalerProfile_STATUS + err := copied.AssignProperties_To_ManagedClusterProperties_AutoScalerProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterProperties_AutoScalerProfile_STATUS + err = actual.AssignProperties_From_ManagedClusterProperties_AutoScalerProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_ManagedClusterProperties_AutoScalerProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -5385,6 +8747,48 @@ func AddIndependentPropertyGeneratorsForManagedClusterProperties_AutoScalerProfi gens["SkipNodesWithSystemPods"] = gen.PtrOf(gen.AlphaString()) } +func Test_ManagedClusterSKU_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterSKU to ManagedClusterSKU via AssignProperties_To_ManagedClusterSKU & AssignProperties_From_ManagedClusterSKU returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterSKU, ManagedClusterSKUGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterSKU tests if a specific instance of ManagedClusterSKU can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterSKU(subject ManagedClusterSKU) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterSKU + err := copied.AssignProperties_To_ManagedClusterSKU(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterSKU + err = actual.AssignProperties_From_ManagedClusterSKU(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_ManagedClusterSKU_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -5446,6 +8850,48 @@ func AddIndependentPropertyGeneratorsForManagedClusterSKU(gens map[string]gopter gens["Tier"] = gen.PtrOf(gen.AlphaString()) } +func Test_ManagedClusterSKU_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterSKU_STATUS to ManagedClusterSKU_STATUS via AssignProperties_To_ManagedClusterSKU_STATUS & AssignProperties_From_ManagedClusterSKU_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterSKU_STATUS, ManagedClusterSKU_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterSKU_STATUS tests if a specific instance of ManagedClusterSKU_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterSKU_STATUS(subject ManagedClusterSKU_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterSKU_STATUS + err := copied.AssignProperties_To_ManagedClusterSKU_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterSKU_STATUS + err = actual.AssignProperties_From_ManagedClusterSKU_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_ManagedClusterSKU_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -5508,6 +8954,48 @@ func AddIndependentPropertyGeneratorsForManagedClusterSKU_STATUS(gens map[string gens["Tier"] = gen.PtrOf(gen.AlphaString()) } +func Test_ManagedClusterSecurityProfile_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterSecurityProfile to ManagedClusterSecurityProfile via AssignProperties_To_ManagedClusterSecurityProfile & AssignProperties_From_ManagedClusterSecurityProfile returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterSecurityProfile, ManagedClusterSecurityProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterSecurityProfile tests if a specific instance of ManagedClusterSecurityProfile can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterSecurityProfile(subject ManagedClusterSecurityProfile) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterSecurityProfile + err := copied.AssignProperties_To_ManagedClusterSecurityProfile(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterSecurityProfile + err = actual.AssignProperties_From_ManagedClusterSecurityProfile(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_ManagedClusterSecurityProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -5572,6 +9060,48 @@ func AddRelatedPropertyGeneratorsForManagedClusterSecurityProfile(gens map[strin gens["WorkloadIdentity"] = gen.PtrOf(ManagedClusterSecurityProfileWorkloadIdentityGenerator()) } +func Test_ManagedClusterSecurityProfileDefender_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterSecurityProfileDefender to ManagedClusterSecurityProfileDefender via AssignProperties_To_ManagedClusterSecurityProfileDefender & AssignProperties_From_ManagedClusterSecurityProfileDefender returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterSecurityProfileDefender, ManagedClusterSecurityProfileDefenderGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterSecurityProfileDefender tests if a specific instance of ManagedClusterSecurityProfileDefender can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterSecurityProfileDefender(subject ManagedClusterSecurityProfileDefender) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterSecurityProfileDefender + err := copied.AssignProperties_To_ManagedClusterSecurityProfileDefender(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterSecurityProfileDefender + err = actual.AssignProperties_From_ManagedClusterSecurityProfileDefender(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_ManagedClusterSecurityProfileDefender_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -5633,6 +9163,48 @@ func AddRelatedPropertyGeneratorsForManagedClusterSecurityProfileDefender(gens m gens["SecurityMonitoring"] = gen.PtrOf(ManagedClusterSecurityProfileDefenderSecurityMonitoringGenerator()) } +func Test_ManagedClusterSecurityProfileDefenderSecurityMonitoring_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterSecurityProfileDefenderSecurityMonitoring to ManagedClusterSecurityProfileDefenderSecurityMonitoring via AssignProperties_To_ManagedClusterSecurityProfileDefenderSecurityMonitoring & AssignProperties_From_ManagedClusterSecurityProfileDefenderSecurityMonitoring returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterSecurityProfileDefenderSecurityMonitoring, ManagedClusterSecurityProfileDefenderSecurityMonitoringGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterSecurityProfileDefenderSecurityMonitoring tests if a specific instance of ManagedClusterSecurityProfileDefenderSecurityMonitoring can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterSecurityProfileDefenderSecurityMonitoring(subject ManagedClusterSecurityProfileDefenderSecurityMonitoring) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterSecurityProfileDefenderSecurityMonitoring + err := copied.AssignProperties_To_ManagedClusterSecurityProfileDefenderSecurityMonitoring(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterSecurityProfileDefenderSecurityMonitoring + err = actual.AssignProperties_From_ManagedClusterSecurityProfileDefenderSecurityMonitoring(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_ManagedClusterSecurityProfileDefenderSecurityMonitoring_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -5694,6 +9266,48 @@ func AddIndependentPropertyGeneratorsForManagedClusterSecurityProfileDefenderSec gens["Enabled"] = gen.PtrOf(gen.Bool()) } +func Test_ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS to ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS via AssignProperties_To_ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS & AssignProperties_From_ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS, ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS tests if a specific instance of ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS(subject ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS + err := copied.AssignProperties_To_ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS + err = actual.AssignProperties_From_ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -5755,6 +9369,48 @@ func AddIndependentPropertyGeneratorsForManagedClusterSecurityProfileDefenderSec gens["Enabled"] = gen.PtrOf(gen.Bool()) } +func Test_ManagedClusterSecurityProfileDefender_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterSecurityProfileDefender_STATUS to ManagedClusterSecurityProfileDefender_STATUS via AssignProperties_To_ManagedClusterSecurityProfileDefender_STATUS & AssignProperties_From_ManagedClusterSecurityProfileDefender_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterSecurityProfileDefender_STATUS, ManagedClusterSecurityProfileDefender_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterSecurityProfileDefender_STATUS tests if a specific instance of ManagedClusterSecurityProfileDefender_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterSecurityProfileDefender_STATUS(subject ManagedClusterSecurityProfileDefender_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterSecurityProfileDefender_STATUS + err := copied.AssignProperties_To_ManagedClusterSecurityProfileDefender_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterSecurityProfileDefender_STATUS + err = actual.AssignProperties_From_ManagedClusterSecurityProfileDefender_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_ManagedClusterSecurityProfileDefender_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -5830,6 +9486,48 @@ func AddRelatedPropertyGeneratorsForManagedClusterSecurityProfileDefender_STATUS gens["SecurityMonitoring"] = gen.PtrOf(ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUSGenerator()) } +func Test_ManagedClusterSecurityProfileImageCleaner_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterSecurityProfileImageCleaner to ManagedClusterSecurityProfileImageCleaner via AssignProperties_To_ManagedClusterSecurityProfileImageCleaner & AssignProperties_From_ManagedClusterSecurityProfileImageCleaner returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterSecurityProfileImageCleaner, ManagedClusterSecurityProfileImageCleanerGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterSecurityProfileImageCleaner tests if a specific instance of ManagedClusterSecurityProfileImageCleaner can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterSecurityProfileImageCleaner(subject ManagedClusterSecurityProfileImageCleaner) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterSecurityProfileImageCleaner + err := copied.AssignProperties_To_ManagedClusterSecurityProfileImageCleaner(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterSecurityProfileImageCleaner + err = actual.AssignProperties_From_ManagedClusterSecurityProfileImageCleaner(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_ManagedClusterSecurityProfileImageCleaner_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -5892,6 +9590,48 @@ func AddIndependentPropertyGeneratorsForManagedClusterSecurityProfileImageCleane gens["IntervalHours"] = gen.PtrOf(gen.Int()) } +func Test_ManagedClusterSecurityProfileImageCleaner_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterSecurityProfileImageCleaner_STATUS to ManagedClusterSecurityProfileImageCleaner_STATUS via AssignProperties_To_ManagedClusterSecurityProfileImageCleaner_STATUS & AssignProperties_From_ManagedClusterSecurityProfileImageCleaner_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterSecurityProfileImageCleaner_STATUS, ManagedClusterSecurityProfileImageCleaner_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterSecurityProfileImageCleaner_STATUS tests if a specific instance of ManagedClusterSecurityProfileImageCleaner_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterSecurityProfileImageCleaner_STATUS(subject ManagedClusterSecurityProfileImageCleaner_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterSecurityProfileImageCleaner_STATUS + err := copied.AssignProperties_To_ManagedClusterSecurityProfileImageCleaner_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterSecurityProfileImageCleaner_STATUS + err = actual.AssignProperties_From_ManagedClusterSecurityProfileImageCleaner_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_ManagedClusterSecurityProfileImageCleaner_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -5954,6 +9694,48 @@ func AddIndependentPropertyGeneratorsForManagedClusterSecurityProfileImageCleane gens["IntervalHours"] = gen.PtrOf(gen.Int()) } +func Test_ManagedClusterSecurityProfileWorkloadIdentity_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterSecurityProfileWorkloadIdentity to ManagedClusterSecurityProfileWorkloadIdentity via AssignProperties_To_ManagedClusterSecurityProfileWorkloadIdentity & AssignProperties_From_ManagedClusterSecurityProfileWorkloadIdentity returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterSecurityProfileWorkloadIdentity, ManagedClusterSecurityProfileWorkloadIdentityGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterSecurityProfileWorkloadIdentity tests if a specific instance of ManagedClusterSecurityProfileWorkloadIdentity can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterSecurityProfileWorkloadIdentity(subject ManagedClusterSecurityProfileWorkloadIdentity) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterSecurityProfileWorkloadIdentity + err := copied.AssignProperties_To_ManagedClusterSecurityProfileWorkloadIdentity(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterSecurityProfileWorkloadIdentity + err = actual.AssignProperties_From_ManagedClusterSecurityProfileWorkloadIdentity(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_ManagedClusterSecurityProfileWorkloadIdentity_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -6015,6 +9797,48 @@ func AddIndependentPropertyGeneratorsForManagedClusterSecurityProfileWorkloadIde gens["Enabled"] = gen.PtrOf(gen.Bool()) } +func Test_ManagedClusterSecurityProfileWorkloadIdentity_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterSecurityProfileWorkloadIdentity_STATUS to ManagedClusterSecurityProfileWorkloadIdentity_STATUS via AssignProperties_To_ManagedClusterSecurityProfileWorkloadIdentity_STATUS & AssignProperties_From_ManagedClusterSecurityProfileWorkloadIdentity_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterSecurityProfileWorkloadIdentity_STATUS, ManagedClusterSecurityProfileWorkloadIdentity_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterSecurityProfileWorkloadIdentity_STATUS tests if a specific instance of ManagedClusterSecurityProfileWorkloadIdentity_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterSecurityProfileWorkloadIdentity_STATUS(subject ManagedClusterSecurityProfileWorkloadIdentity_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterSecurityProfileWorkloadIdentity_STATUS + err := copied.AssignProperties_To_ManagedClusterSecurityProfileWorkloadIdentity_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterSecurityProfileWorkloadIdentity_STATUS + err = actual.AssignProperties_From_ManagedClusterSecurityProfileWorkloadIdentity_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_ManagedClusterSecurityProfileWorkloadIdentity_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -6076,6 +9900,48 @@ func AddIndependentPropertyGeneratorsForManagedClusterSecurityProfileWorkloadIde gens["Enabled"] = gen.PtrOf(gen.Bool()) } +func Test_ManagedClusterSecurityProfile_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterSecurityProfile_STATUS to ManagedClusterSecurityProfile_STATUS via AssignProperties_To_ManagedClusterSecurityProfile_STATUS & AssignProperties_From_ManagedClusterSecurityProfile_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterSecurityProfile_STATUS, ManagedClusterSecurityProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterSecurityProfile_STATUS tests if a specific instance of ManagedClusterSecurityProfile_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterSecurityProfile_STATUS(subject ManagedClusterSecurityProfile_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterSecurityProfile_STATUS + err := copied.AssignProperties_To_ManagedClusterSecurityProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterSecurityProfile_STATUS + err = actual.AssignProperties_From_ManagedClusterSecurityProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_ManagedClusterSecurityProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -6125,19 +9991,61 @@ func ManagedClusterSecurityProfile_STATUSGenerator() gopter.Gen { return managedClusterSecurityProfile_STATUSGenerator } - generators := make(map[string]gopter.Gen) - AddRelatedPropertyGeneratorsForManagedClusterSecurityProfile_STATUS(generators) - managedClusterSecurityProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterSecurityProfile_STATUS{}), generators) - - return managedClusterSecurityProfile_STATUSGenerator -} - -// AddRelatedPropertyGeneratorsForManagedClusterSecurityProfile_STATUS is a factory method for creating gopter generators -func AddRelatedPropertyGeneratorsForManagedClusterSecurityProfile_STATUS(gens map[string]gopter.Gen) { - gens["AzureKeyVaultKms"] = gen.PtrOf(AzureKeyVaultKms_STATUSGenerator()) - gens["Defender"] = gen.PtrOf(ManagedClusterSecurityProfileDefender_STATUSGenerator()) - gens["ImageCleaner"] = gen.PtrOf(ManagedClusterSecurityProfileImageCleaner_STATUSGenerator()) - gens["WorkloadIdentity"] = gen.PtrOf(ManagedClusterSecurityProfileWorkloadIdentity_STATUSGenerator()) + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForManagedClusterSecurityProfile_STATUS(generators) + managedClusterSecurityProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterSecurityProfile_STATUS{}), generators) + + return managedClusterSecurityProfile_STATUSGenerator +} + +// AddRelatedPropertyGeneratorsForManagedClusterSecurityProfile_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterSecurityProfile_STATUS(gens map[string]gopter.Gen) { + gens["AzureKeyVaultKms"] = gen.PtrOf(AzureKeyVaultKms_STATUSGenerator()) + gens["Defender"] = gen.PtrOf(ManagedClusterSecurityProfileDefender_STATUSGenerator()) + gens["ImageCleaner"] = gen.PtrOf(ManagedClusterSecurityProfileImageCleaner_STATUSGenerator()) + gens["WorkloadIdentity"] = gen.PtrOf(ManagedClusterSecurityProfileWorkloadIdentity_STATUSGenerator()) +} + +func Test_ManagedClusterServicePrincipalProfile_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterServicePrincipalProfile to ManagedClusterServicePrincipalProfile via AssignProperties_To_ManagedClusterServicePrincipalProfile & AssignProperties_From_ManagedClusterServicePrincipalProfile returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterServicePrincipalProfile, ManagedClusterServicePrincipalProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterServicePrincipalProfile tests if a specific instance of ManagedClusterServicePrincipalProfile can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterServicePrincipalProfile(subject ManagedClusterServicePrincipalProfile) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterServicePrincipalProfile + err := copied.AssignProperties_To_ManagedClusterServicePrincipalProfile(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterServicePrincipalProfile + err = actual.AssignProperties_From_ManagedClusterServicePrincipalProfile(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" } func Test_ManagedClusterServicePrincipalProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { @@ -6201,6 +10109,48 @@ func AddIndependentPropertyGeneratorsForManagedClusterServicePrincipalProfile(ge gens["ClientId"] = gen.PtrOf(gen.AlphaString()) } +func Test_ManagedClusterServicePrincipalProfile_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterServicePrincipalProfile_STATUS to ManagedClusterServicePrincipalProfile_STATUS via AssignProperties_To_ManagedClusterServicePrincipalProfile_STATUS & AssignProperties_From_ManagedClusterServicePrincipalProfile_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterServicePrincipalProfile_STATUS, ManagedClusterServicePrincipalProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterServicePrincipalProfile_STATUS tests if a specific instance of ManagedClusterServicePrincipalProfile_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterServicePrincipalProfile_STATUS(subject ManagedClusterServicePrincipalProfile_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterServicePrincipalProfile_STATUS + err := copied.AssignProperties_To_ManagedClusterServicePrincipalProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterServicePrincipalProfile_STATUS + err = actual.AssignProperties_From_ManagedClusterServicePrincipalProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_ManagedClusterServicePrincipalProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -6262,6 +10212,48 @@ func AddIndependentPropertyGeneratorsForManagedClusterServicePrincipalProfile_ST gens["ClientId"] = gen.PtrOf(gen.AlphaString()) } +func Test_ManagedClusterStorageProfile_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterStorageProfile to ManagedClusterStorageProfile via AssignProperties_To_ManagedClusterStorageProfile & AssignProperties_From_ManagedClusterStorageProfile returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterStorageProfile, ManagedClusterStorageProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterStorageProfile tests if a specific instance of ManagedClusterStorageProfile can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterStorageProfile(subject ManagedClusterStorageProfile) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterStorageProfile + err := copied.AssignProperties_To_ManagedClusterStorageProfile(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterStorageProfile + err = actual.AssignProperties_From_ManagedClusterStorageProfile(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_ManagedClusterStorageProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -6326,6 +10318,48 @@ func AddRelatedPropertyGeneratorsForManagedClusterStorageProfile(gens map[string gens["SnapshotController"] = gen.PtrOf(ManagedClusterStorageProfileSnapshotControllerGenerator()) } +func Test_ManagedClusterStorageProfileBlobCSIDriver_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterStorageProfileBlobCSIDriver to ManagedClusterStorageProfileBlobCSIDriver via AssignProperties_To_ManagedClusterStorageProfileBlobCSIDriver & AssignProperties_From_ManagedClusterStorageProfileBlobCSIDriver returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterStorageProfileBlobCSIDriver, ManagedClusterStorageProfileBlobCSIDriverGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterStorageProfileBlobCSIDriver tests if a specific instance of ManagedClusterStorageProfileBlobCSIDriver can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterStorageProfileBlobCSIDriver(subject ManagedClusterStorageProfileBlobCSIDriver) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterStorageProfileBlobCSIDriver + err := copied.AssignProperties_To_ManagedClusterStorageProfileBlobCSIDriver(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterStorageProfileBlobCSIDriver + err = actual.AssignProperties_From_ManagedClusterStorageProfileBlobCSIDriver(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_ManagedClusterStorageProfileBlobCSIDriver_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -6387,6 +10421,48 @@ func AddIndependentPropertyGeneratorsForManagedClusterStorageProfileBlobCSIDrive gens["Enabled"] = gen.PtrOf(gen.Bool()) } +func Test_ManagedClusterStorageProfileBlobCSIDriver_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterStorageProfileBlobCSIDriver_STATUS to ManagedClusterStorageProfileBlobCSIDriver_STATUS via AssignProperties_To_ManagedClusterStorageProfileBlobCSIDriver_STATUS & AssignProperties_From_ManagedClusterStorageProfileBlobCSIDriver_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterStorageProfileBlobCSIDriver_STATUS, ManagedClusterStorageProfileBlobCSIDriver_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterStorageProfileBlobCSIDriver_STATUS tests if a specific instance of ManagedClusterStorageProfileBlobCSIDriver_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterStorageProfileBlobCSIDriver_STATUS(subject ManagedClusterStorageProfileBlobCSIDriver_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterStorageProfileBlobCSIDriver_STATUS + err := copied.AssignProperties_To_ManagedClusterStorageProfileBlobCSIDriver_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterStorageProfileBlobCSIDriver_STATUS + err = actual.AssignProperties_From_ManagedClusterStorageProfileBlobCSIDriver_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_ManagedClusterStorageProfileBlobCSIDriver_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -6448,6 +10524,48 @@ func AddIndependentPropertyGeneratorsForManagedClusterStorageProfileBlobCSIDrive gens["Enabled"] = gen.PtrOf(gen.Bool()) } +func Test_ManagedClusterStorageProfileDiskCSIDriver_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterStorageProfileDiskCSIDriver to ManagedClusterStorageProfileDiskCSIDriver via AssignProperties_To_ManagedClusterStorageProfileDiskCSIDriver & AssignProperties_From_ManagedClusterStorageProfileDiskCSIDriver returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterStorageProfileDiskCSIDriver, ManagedClusterStorageProfileDiskCSIDriverGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterStorageProfileDiskCSIDriver tests if a specific instance of ManagedClusterStorageProfileDiskCSIDriver can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterStorageProfileDiskCSIDriver(subject ManagedClusterStorageProfileDiskCSIDriver) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterStorageProfileDiskCSIDriver + err := copied.AssignProperties_To_ManagedClusterStorageProfileDiskCSIDriver(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterStorageProfileDiskCSIDriver + err = actual.AssignProperties_From_ManagedClusterStorageProfileDiskCSIDriver(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_ManagedClusterStorageProfileDiskCSIDriver_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -6509,6 +10627,48 @@ func AddIndependentPropertyGeneratorsForManagedClusterStorageProfileDiskCSIDrive gens["Enabled"] = gen.PtrOf(gen.Bool()) } +func Test_ManagedClusterStorageProfileDiskCSIDriver_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterStorageProfileDiskCSIDriver_STATUS to ManagedClusterStorageProfileDiskCSIDriver_STATUS via AssignProperties_To_ManagedClusterStorageProfileDiskCSIDriver_STATUS & AssignProperties_From_ManagedClusterStorageProfileDiskCSIDriver_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterStorageProfileDiskCSIDriver_STATUS, ManagedClusterStorageProfileDiskCSIDriver_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterStorageProfileDiskCSIDriver_STATUS tests if a specific instance of ManagedClusterStorageProfileDiskCSIDriver_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterStorageProfileDiskCSIDriver_STATUS(subject ManagedClusterStorageProfileDiskCSIDriver_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterStorageProfileDiskCSIDriver_STATUS + err := copied.AssignProperties_To_ManagedClusterStorageProfileDiskCSIDriver_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterStorageProfileDiskCSIDriver_STATUS + err = actual.AssignProperties_From_ManagedClusterStorageProfileDiskCSIDriver_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_ManagedClusterStorageProfileDiskCSIDriver_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -6570,6 +10730,48 @@ func AddIndependentPropertyGeneratorsForManagedClusterStorageProfileDiskCSIDrive gens["Enabled"] = gen.PtrOf(gen.Bool()) } +func Test_ManagedClusterStorageProfileFileCSIDriver_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterStorageProfileFileCSIDriver to ManagedClusterStorageProfileFileCSIDriver via AssignProperties_To_ManagedClusterStorageProfileFileCSIDriver & AssignProperties_From_ManagedClusterStorageProfileFileCSIDriver returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterStorageProfileFileCSIDriver, ManagedClusterStorageProfileFileCSIDriverGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterStorageProfileFileCSIDriver tests if a specific instance of ManagedClusterStorageProfileFileCSIDriver can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterStorageProfileFileCSIDriver(subject ManagedClusterStorageProfileFileCSIDriver) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterStorageProfileFileCSIDriver + err := copied.AssignProperties_To_ManagedClusterStorageProfileFileCSIDriver(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterStorageProfileFileCSIDriver + err = actual.AssignProperties_From_ManagedClusterStorageProfileFileCSIDriver(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_ManagedClusterStorageProfileFileCSIDriver_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -6631,6 +10833,48 @@ func AddIndependentPropertyGeneratorsForManagedClusterStorageProfileFileCSIDrive gens["Enabled"] = gen.PtrOf(gen.Bool()) } +func Test_ManagedClusterStorageProfileFileCSIDriver_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterStorageProfileFileCSIDriver_STATUS to ManagedClusterStorageProfileFileCSIDriver_STATUS via AssignProperties_To_ManagedClusterStorageProfileFileCSIDriver_STATUS & AssignProperties_From_ManagedClusterStorageProfileFileCSIDriver_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterStorageProfileFileCSIDriver_STATUS, ManagedClusterStorageProfileFileCSIDriver_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterStorageProfileFileCSIDriver_STATUS tests if a specific instance of ManagedClusterStorageProfileFileCSIDriver_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterStorageProfileFileCSIDriver_STATUS(subject ManagedClusterStorageProfileFileCSIDriver_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterStorageProfileFileCSIDriver_STATUS + err := copied.AssignProperties_To_ManagedClusterStorageProfileFileCSIDriver_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterStorageProfileFileCSIDriver_STATUS + err = actual.AssignProperties_From_ManagedClusterStorageProfileFileCSIDriver_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_ManagedClusterStorageProfileFileCSIDriver_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -6680,16 +10924,58 @@ func ManagedClusterStorageProfileFileCSIDriver_STATUSGenerator() gopter.Gen { return managedClusterStorageProfileFileCSIDriver_STATUSGenerator } - generators := make(map[string]gopter.Gen) - AddIndependentPropertyGeneratorsForManagedClusterStorageProfileFileCSIDriver_STATUS(generators) - managedClusterStorageProfileFileCSIDriver_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterStorageProfileFileCSIDriver_STATUS{}), generators) - - return managedClusterStorageProfileFileCSIDriver_STATUSGenerator -} + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterStorageProfileFileCSIDriver_STATUS(generators) + managedClusterStorageProfileFileCSIDriver_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterStorageProfileFileCSIDriver_STATUS{}), generators) + + return managedClusterStorageProfileFileCSIDriver_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterStorageProfileFileCSIDriver_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterStorageProfileFileCSIDriver_STATUS(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +func Test_ManagedClusterStorageProfileSnapshotController_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterStorageProfileSnapshotController to ManagedClusterStorageProfileSnapshotController via AssignProperties_To_ManagedClusterStorageProfileSnapshotController & AssignProperties_From_ManagedClusterStorageProfileSnapshotController returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterStorageProfileSnapshotController, ManagedClusterStorageProfileSnapshotControllerGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterStorageProfileSnapshotController tests if a specific instance of ManagedClusterStorageProfileSnapshotController can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterStorageProfileSnapshotController(subject ManagedClusterStorageProfileSnapshotController) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterStorageProfileSnapshotController + err := copied.AssignProperties_To_ManagedClusterStorageProfileSnapshotController(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterStorageProfileSnapshotController + err = actual.AssignProperties_From_ManagedClusterStorageProfileSnapshotController(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } -// AddIndependentPropertyGeneratorsForManagedClusterStorageProfileFileCSIDriver_STATUS is a factory method for creating gopter generators -func AddIndependentPropertyGeneratorsForManagedClusterStorageProfileFileCSIDriver_STATUS(gens map[string]gopter.Gen) { - gens["Enabled"] = gen.PtrOf(gen.Bool()) + return "" } func Test_ManagedClusterStorageProfileSnapshotController_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { @@ -6753,6 +11039,48 @@ func AddIndependentPropertyGeneratorsForManagedClusterStorageProfileSnapshotCont gens["Enabled"] = gen.PtrOf(gen.Bool()) } +func Test_ManagedClusterStorageProfileSnapshotController_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterStorageProfileSnapshotController_STATUS to ManagedClusterStorageProfileSnapshotController_STATUS via AssignProperties_To_ManagedClusterStorageProfileSnapshotController_STATUS & AssignProperties_From_ManagedClusterStorageProfileSnapshotController_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterStorageProfileSnapshotController_STATUS, ManagedClusterStorageProfileSnapshotController_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterStorageProfileSnapshotController_STATUS tests if a specific instance of ManagedClusterStorageProfileSnapshotController_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterStorageProfileSnapshotController_STATUS(subject ManagedClusterStorageProfileSnapshotController_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterStorageProfileSnapshotController_STATUS + err := copied.AssignProperties_To_ManagedClusterStorageProfileSnapshotController_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterStorageProfileSnapshotController_STATUS + err = actual.AssignProperties_From_ManagedClusterStorageProfileSnapshotController_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_ManagedClusterStorageProfileSnapshotController_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -6814,6 +11142,48 @@ func AddIndependentPropertyGeneratorsForManagedClusterStorageProfileSnapshotCont gens["Enabled"] = gen.PtrOf(gen.Bool()) } +func Test_ManagedClusterStorageProfile_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterStorageProfile_STATUS to ManagedClusterStorageProfile_STATUS via AssignProperties_To_ManagedClusterStorageProfile_STATUS & AssignProperties_From_ManagedClusterStorageProfile_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterStorageProfile_STATUS, ManagedClusterStorageProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterStorageProfile_STATUS tests if a specific instance of ManagedClusterStorageProfile_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterStorageProfile_STATUS(subject ManagedClusterStorageProfile_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterStorageProfile_STATUS + err := copied.AssignProperties_To_ManagedClusterStorageProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterStorageProfile_STATUS + err = actual.AssignProperties_From_ManagedClusterStorageProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_ManagedClusterStorageProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -6878,6 +11248,48 @@ func AddRelatedPropertyGeneratorsForManagedClusterStorageProfile_STATUS(gens map gens["SnapshotController"] = gen.PtrOf(ManagedClusterStorageProfileSnapshotController_STATUSGenerator()) } +func Test_ManagedClusterWindowsProfile_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterWindowsProfile to ManagedClusterWindowsProfile via AssignProperties_To_ManagedClusterWindowsProfile & AssignProperties_From_ManagedClusterWindowsProfile returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterWindowsProfile, ManagedClusterWindowsProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterWindowsProfile tests if a specific instance of ManagedClusterWindowsProfile can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterWindowsProfile(subject ManagedClusterWindowsProfile) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterWindowsProfile + err := copied.AssignProperties_To_ManagedClusterWindowsProfile(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterWindowsProfile + err = actual.AssignProperties_From_ManagedClusterWindowsProfile(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_ManagedClusterWindowsProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -6955,6 +11367,48 @@ func AddRelatedPropertyGeneratorsForManagedClusterWindowsProfile(gens map[string gens["GmsaProfile"] = gen.PtrOf(WindowsGmsaProfileGenerator()) } +func Test_ManagedClusterWindowsProfile_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterWindowsProfile_STATUS to ManagedClusterWindowsProfile_STATUS via AssignProperties_To_ManagedClusterWindowsProfile_STATUS & AssignProperties_From_ManagedClusterWindowsProfile_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterWindowsProfile_STATUS, ManagedClusterWindowsProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterWindowsProfile_STATUS tests if a specific instance of ManagedClusterWindowsProfile_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterWindowsProfile_STATUS(subject ManagedClusterWindowsProfile_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterWindowsProfile_STATUS + err := copied.AssignProperties_To_ManagedClusterWindowsProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterWindowsProfile_STATUS + err = actual.AssignProperties_From_ManagedClusterWindowsProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_ManagedClusterWindowsProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -7032,6 +11486,48 @@ func AddRelatedPropertyGeneratorsForManagedClusterWindowsProfile_STATUS(gens map gens["GmsaProfile"] = gen.PtrOf(WindowsGmsaProfile_STATUSGenerator()) } +func Test_ManagedClusterWorkloadAutoScalerProfile_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterWorkloadAutoScalerProfile to ManagedClusterWorkloadAutoScalerProfile via AssignProperties_To_ManagedClusterWorkloadAutoScalerProfile & AssignProperties_From_ManagedClusterWorkloadAutoScalerProfile returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterWorkloadAutoScalerProfile, ManagedClusterWorkloadAutoScalerProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterWorkloadAutoScalerProfile tests if a specific instance of ManagedClusterWorkloadAutoScalerProfile can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterWorkloadAutoScalerProfile(subject ManagedClusterWorkloadAutoScalerProfile) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterWorkloadAutoScalerProfile + err := copied.AssignProperties_To_ManagedClusterWorkloadAutoScalerProfile(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterWorkloadAutoScalerProfile + err = actual.AssignProperties_From_ManagedClusterWorkloadAutoScalerProfile(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_ManagedClusterWorkloadAutoScalerProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -7094,6 +11590,48 @@ func AddRelatedPropertyGeneratorsForManagedClusterWorkloadAutoScalerProfile(gens gens["VerticalPodAutoscaler"] = gen.PtrOf(ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerGenerator()) } +func Test_ManagedClusterWorkloadAutoScalerProfileKeda_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterWorkloadAutoScalerProfileKeda to ManagedClusterWorkloadAutoScalerProfileKeda via AssignProperties_To_ManagedClusterWorkloadAutoScalerProfileKeda & AssignProperties_From_ManagedClusterWorkloadAutoScalerProfileKeda returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterWorkloadAutoScalerProfileKeda, ManagedClusterWorkloadAutoScalerProfileKedaGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterWorkloadAutoScalerProfileKeda tests if a specific instance of ManagedClusterWorkloadAutoScalerProfileKeda can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterWorkloadAutoScalerProfileKeda(subject ManagedClusterWorkloadAutoScalerProfileKeda) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterWorkloadAutoScalerProfileKeda + err := copied.AssignProperties_To_ManagedClusterWorkloadAutoScalerProfileKeda(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterWorkloadAutoScalerProfileKeda + err = actual.AssignProperties_From_ManagedClusterWorkloadAutoScalerProfileKeda(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_ManagedClusterWorkloadAutoScalerProfileKeda_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -7155,6 +11693,48 @@ func AddIndependentPropertyGeneratorsForManagedClusterWorkloadAutoScalerProfileK gens["Enabled"] = gen.PtrOf(gen.Bool()) } +func Test_ManagedClusterWorkloadAutoScalerProfileKeda_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterWorkloadAutoScalerProfileKeda_STATUS to ManagedClusterWorkloadAutoScalerProfileKeda_STATUS via AssignProperties_To_ManagedClusterWorkloadAutoScalerProfileKeda_STATUS & AssignProperties_From_ManagedClusterWorkloadAutoScalerProfileKeda_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterWorkloadAutoScalerProfileKeda_STATUS, ManagedClusterWorkloadAutoScalerProfileKeda_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterWorkloadAutoScalerProfileKeda_STATUS tests if a specific instance of ManagedClusterWorkloadAutoScalerProfileKeda_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterWorkloadAutoScalerProfileKeda_STATUS(subject ManagedClusterWorkloadAutoScalerProfileKeda_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterWorkloadAutoScalerProfileKeda_STATUS + err := copied.AssignProperties_To_ManagedClusterWorkloadAutoScalerProfileKeda_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterWorkloadAutoScalerProfileKeda_STATUS + err = actual.AssignProperties_From_ManagedClusterWorkloadAutoScalerProfileKeda_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_ManagedClusterWorkloadAutoScalerProfileKeda_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -7216,6 +11796,48 @@ func AddIndependentPropertyGeneratorsForManagedClusterWorkloadAutoScalerProfileK gens["Enabled"] = gen.PtrOf(gen.Bool()) } +func Test_ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler to ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler via AssignProperties_To_ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler & AssignProperties_From_ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler, ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler tests if a specific instance of ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler(subject ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler + err := copied.AssignProperties_To_ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler + err = actual.AssignProperties_From_ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -7269,12 +11891,54 @@ func ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerGenerator() gop AddIndependentPropertyGeneratorsForManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler(generators) managedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerGenerator = gen.Struct(reflect.TypeOf(ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler{}), generators) - return managedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerGenerator -} + return managedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +func Test_ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS to ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS via AssignProperties_To_ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS & AssignProperties_From_ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS, ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS tests if a specific instance of ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS(subject ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS + err := copied.AssignProperties_To_ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS + err = actual.AssignProperties_From_ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } -// AddIndependentPropertyGeneratorsForManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler is a factory method for creating gopter generators -func AddIndependentPropertyGeneratorsForManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler(gens map[string]gopter.Gen) { - gens["Enabled"] = gen.PtrOf(gen.Bool()) + return "" } func Test_ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { @@ -7338,6 +12002,48 @@ func AddIndependentPropertyGeneratorsForManagedClusterWorkloadAutoScalerProfileV gens["Enabled"] = gen.PtrOf(gen.Bool()) } +func Test_ManagedClusterWorkloadAutoScalerProfile_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterWorkloadAutoScalerProfile_STATUS to ManagedClusterWorkloadAutoScalerProfile_STATUS via AssignProperties_To_ManagedClusterWorkloadAutoScalerProfile_STATUS & AssignProperties_From_ManagedClusterWorkloadAutoScalerProfile_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterWorkloadAutoScalerProfile_STATUS, ManagedClusterWorkloadAutoScalerProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterWorkloadAutoScalerProfile_STATUS tests if a specific instance of ManagedClusterWorkloadAutoScalerProfile_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterWorkloadAutoScalerProfile_STATUS(subject ManagedClusterWorkloadAutoScalerProfile_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterWorkloadAutoScalerProfile_STATUS + err := copied.AssignProperties_To_ManagedClusterWorkloadAutoScalerProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterWorkloadAutoScalerProfile_STATUS + err = actual.AssignProperties_From_ManagedClusterWorkloadAutoScalerProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_ManagedClusterWorkloadAutoScalerProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -7400,6 +12106,48 @@ func AddRelatedPropertyGeneratorsForManagedClusterWorkloadAutoScalerProfile_STAT gens["VerticalPodAutoscaler"] = gen.PtrOf(ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUSGenerator()) } +func Test_ManagedCluster_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedCluster_STATUS to ManagedCluster_STATUS via AssignProperties_To_ManagedCluster_STATUS & AssignProperties_From_ManagedCluster_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedCluster_STATUS, ManagedCluster_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedCluster_STATUS tests if a specific instance of ManagedCluster_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedCluster_STATUS(subject ManagedCluster_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedCluster_STATUS + err := copied.AssignProperties_To_ManagedCluster_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedCluster_STATUS + err = actual.AssignProperties_From_ManagedCluster_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_ManagedCluster_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -7527,6 +12275,48 @@ func AddRelatedPropertyGeneratorsForManagedCluster_STATUS(gens map[string]gopter gens["WorkloadAutoScalerProfile"] = gen.PtrOf(ManagedClusterWorkloadAutoScalerProfile_STATUSGenerator()) } +func Test_ManagedCluster_Spec_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedCluster_Spec to ManagedCluster_Spec via AssignProperties_To_ManagedCluster_Spec & AssignProperties_From_ManagedCluster_Spec returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedCluster_Spec, ManagedCluster_SpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedCluster_Spec tests if a specific instance of ManagedCluster_Spec can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedCluster_Spec(subject ManagedCluster_Spec) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedCluster_Spec + err := copied.AssignProperties_To_ManagedCluster_Spec(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedCluster_Spec + err = actual.AssignProperties_From_ManagedCluster_Spec(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_ManagedCluster_Spec_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -7644,6 +12434,48 @@ func AddRelatedPropertyGeneratorsForManagedCluster_Spec(gens map[string]gopter.G gens["WorkloadAutoScalerProfile"] = gen.PtrOf(ManagedClusterWorkloadAutoScalerProfileGenerator()) } +func Test_PowerState_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from PowerState_STATUS to PowerState_STATUS via AssignProperties_To_PowerState_STATUS & AssignProperties_From_PowerState_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForPowerState_STATUS, PowerState_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForPowerState_STATUS tests if a specific instance of PowerState_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForPowerState_STATUS(subject PowerState_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.PowerState_STATUS + err := copied.AssignProperties_To_PowerState_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual PowerState_STATUS + err = actual.AssignProperties_From_PowerState_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_PowerState_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -7704,6 +12536,48 @@ func AddIndependentPropertyGeneratorsForPowerState_STATUS(gens map[string]gopter gens["Code"] = gen.PtrOf(gen.AlphaString()) } +func Test_PrivateLinkResource_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from PrivateLinkResource to PrivateLinkResource via AssignProperties_To_PrivateLinkResource & AssignProperties_From_PrivateLinkResource returns original", + prop.ForAll(RunPropertyAssignmentTestForPrivateLinkResource, PrivateLinkResourceGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForPrivateLinkResource tests if a specific instance of PrivateLinkResource can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForPrivateLinkResource(subject PrivateLinkResource) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.PrivateLinkResource + err := copied.AssignProperties_To_PrivateLinkResource(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual PrivateLinkResource + err = actual.AssignProperties_From_PrivateLinkResource(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_PrivateLinkResource_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -7768,6 +12642,48 @@ func AddIndependentPropertyGeneratorsForPrivateLinkResource(gens map[string]gopt gens["Type"] = gen.PtrOf(gen.AlphaString()) } +func Test_PrivateLinkResource_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from PrivateLinkResource_STATUS to PrivateLinkResource_STATUS via AssignProperties_To_PrivateLinkResource_STATUS & AssignProperties_From_PrivateLinkResource_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForPrivateLinkResource_STATUS, PrivateLinkResource_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForPrivateLinkResource_STATUS tests if a specific instance of PrivateLinkResource_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForPrivateLinkResource_STATUS(subject PrivateLinkResource_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.PrivateLinkResource_STATUS + err := copied.AssignProperties_To_PrivateLinkResource_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual PrivateLinkResource_STATUS + err = actual.AssignProperties_From_PrivateLinkResource_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_PrivateLinkResource_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -7834,6 +12750,48 @@ func AddIndependentPropertyGeneratorsForPrivateLinkResource_STATUS(gens map[stri gens["Type"] = gen.PtrOf(gen.AlphaString()) } +func Test_ResourceReference_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ResourceReference to ResourceReference via AssignProperties_To_ResourceReference & AssignProperties_From_ResourceReference returns original", + prop.ForAll(RunPropertyAssignmentTestForResourceReference, ResourceReferenceGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForResourceReference tests if a specific instance of ResourceReference can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForResourceReference(subject ResourceReference) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ResourceReference + err := copied.AssignProperties_To_ResourceReference(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ResourceReference + err = actual.AssignProperties_From_ResourceReference(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_ResourceReference_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -7888,6 +12846,48 @@ func ResourceReferenceGenerator() gopter.Gen { return resourceReferenceGenerator } +func Test_ResourceReference_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ResourceReference_STATUS to ResourceReference_STATUS via AssignProperties_To_ResourceReference_STATUS & AssignProperties_From_ResourceReference_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForResourceReference_STATUS, ResourceReference_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForResourceReference_STATUS tests if a specific instance of ResourceReference_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForResourceReference_STATUS(subject ResourceReference_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ResourceReference_STATUS + err := copied.AssignProperties_To_ResourceReference_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ResourceReference_STATUS + err = actual.AssignProperties_From_ResourceReference_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_ResourceReference_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -7941,12 +12941,54 @@ func ResourceReference_STATUSGenerator() gopter.Gen { AddIndependentPropertyGeneratorsForResourceReference_STATUS(generators) resourceReference_STATUSGenerator = gen.Struct(reflect.TypeOf(ResourceReference_STATUS{}), generators) - return resourceReference_STATUSGenerator -} + return resourceReference_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForResourceReference_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForResourceReference_STATUS(gens map[string]gopter.Gen) { + gens["Id"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ServiceMeshProfile_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ServiceMeshProfile to ServiceMeshProfile via AssignProperties_To_ServiceMeshProfile & AssignProperties_From_ServiceMeshProfile returns original", + prop.ForAll(RunPropertyAssignmentTestForServiceMeshProfile, ServiceMeshProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForServiceMeshProfile tests if a specific instance of ServiceMeshProfile can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForServiceMeshProfile(subject ServiceMeshProfile) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ServiceMeshProfile + err := copied.AssignProperties_To_ServiceMeshProfile(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ServiceMeshProfile + err = actual.AssignProperties_From_ServiceMeshProfile(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } -// AddIndependentPropertyGeneratorsForResourceReference_STATUS is a factory method for creating gopter generators -func AddIndependentPropertyGeneratorsForResourceReference_STATUS(gens map[string]gopter.Gen) { - gens["Id"] = gen.PtrOf(gen.AlphaString()) + return "" } func Test_ServiceMeshProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { @@ -8023,6 +13065,48 @@ func AddRelatedPropertyGeneratorsForServiceMeshProfile(gens map[string]gopter.Ge gens["Istio"] = gen.PtrOf(IstioServiceMeshGenerator()) } +func Test_ServiceMeshProfile_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ServiceMeshProfile_STATUS to ServiceMeshProfile_STATUS via AssignProperties_To_ServiceMeshProfile_STATUS & AssignProperties_From_ServiceMeshProfile_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForServiceMeshProfile_STATUS, ServiceMeshProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForServiceMeshProfile_STATUS tests if a specific instance of ServiceMeshProfile_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForServiceMeshProfile_STATUS(subject ServiceMeshProfile_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ServiceMeshProfile_STATUS + err := copied.AssignProperties_To_ServiceMeshProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ServiceMeshProfile_STATUS + err = actual.AssignProperties_From_ServiceMeshProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_ServiceMeshProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -8098,6 +13182,48 @@ func AddRelatedPropertyGeneratorsForServiceMeshProfile_STATUS(gens map[string]go gens["Istio"] = gen.PtrOf(IstioServiceMesh_STATUSGenerator()) } +func Test_SystemData_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from SystemData_STATUS to SystemData_STATUS via AssignProperties_To_SystemData_STATUS & AssignProperties_From_SystemData_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForSystemData_STATUS, SystemData_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForSystemData_STATUS tests if a specific instance of SystemData_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForSystemData_STATUS(subject SystemData_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.SystemData_STATUS + err := copied.AssignProperties_To_SystemData_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual SystemData_STATUS + err = actual.AssignProperties_From_SystemData_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_SystemData_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -8163,6 +13289,48 @@ func AddIndependentPropertyGeneratorsForSystemData_STATUS(gens map[string]gopter gens["LastModifiedByType"] = gen.PtrOf(gen.AlphaString()) } +func Test_UpgradeOverrideSettings_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from UpgradeOverrideSettings to UpgradeOverrideSettings via AssignProperties_To_UpgradeOverrideSettings & AssignProperties_From_UpgradeOverrideSettings returns original", + prop.ForAll(RunPropertyAssignmentTestForUpgradeOverrideSettings, UpgradeOverrideSettingsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForUpgradeOverrideSettings tests if a specific instance of UpgradeOverrideSettings can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForUpgradeOverrideSettings(subject UpgradeOverrideSettings) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.UpgradeOverrideSettings + err := copied.AssignProperties_To_UpgradeOverrideSettings(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual UpgradeOverrideSettings + err = actual.AssignProperties_From_UpgradeOverrideSettings(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_UpgradeOverrideSettings_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -8225,6 +13393,48 @@ func AddIndependentPropertyGeneratorsForUpgradeOverrideSettings(gens map[string] gens["Until"] = gen.PtrOf(gen.AlphaString()) } +func Test_UpgradeOverrideSettings_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from UpgradeOverrideSettings_STATUS to UpgradeOverrideSettings_STATUS via AssignProperties_To_UpgradeOverrideSettings_STATUS & AssignProperties_From_UpgradeOverrideSettings_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForUpgradeOverrideSettings_STATUS, UpgradeOverrideSettings_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForUpgradeOverrideSettings_STATUS tests if a specific instance of UpgradeOverrideSettings_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForUpgradeOverrideSettings_STATUS(subject UpgradeOverrideSettings_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.UpgradeOverrideSettings_STATUS + err := copied.AssignProperties_To_UpgradeOverrideSettings_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual UpgradeOverrideSettings_STATUS + err = actual.AssignProperties_From_UpgradeOverrideSettings_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_UpgradeOverrideSettings_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -8287,6 +13497,48 @@ func AddIndependentPropertyGeneratorsForUpgradeOverrideSettings_STATUS(gens map[ gens["Until"] = gen.PtrOf(gen.AlphaString()) } +func Test_UserAssignedIdentity_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from UserAssignedIdentity to UserAssignedIdentity via AssignProperties_To_UserAssignedIdentity & AssignProperties_From_UserAssignedIdentity returns original", + prop.ForAll(RunPropertyAssignmentTestForUserAssignedIdentity, UserAssignedIdentityGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForUserAssignedIdentity tests if a specific instance of UserAssignedIdentity can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForUserAssignedIdentity(subject UserAssignedIdentity) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.UserAssignedIdentity + err := copied.AssignProperties_To_UserAssignedIdentity(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual UserAssignedIdentity + err = actual.AssignProperties_From_UserAssignedIdentity(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_UserAssignedIdentity_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -8349,6 +13601,48 @@ func AddIndependentPropertyGeneratorsForUserAssignedIdentity(gens map[string]gop gens["ObjectId"] = gen.PtrOf(gen.AlphaString()) } +func Test_UserAssignedIdentityDetails_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from UserAssignedIdentityDetails to UserAssignedIdentityDetails via AssignProperties_To_UserAssignedIdentityDetails & AssignProperties_From_UserAssignedIdentityDetails returns original", + prop.ForAll(RunPropertyAssignmentTestForUserAssignedIdentityDetails, UserAssignedIdentityDetailsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForUserAssignedIdentityDetails tests if a specific instance of UserAssignedIdentityDetails can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForUserAssignedIdentityDetails(subject UserAssignedIdentityDetails) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.UserAssignedIdentityDetails + err := copied.AssignProperties_To_UserAssignedIdentityDetails(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual UserAssignedIdentityDetails + err = actual.AssignProperties_From_UserAssignedIdentityDetails(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_UserAssignedIdentityDetails_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -8404,6 +13698,48 @@ func UserAssignedIdentityDetailsGenerator() gopter.Gen { return userAssignedIdentityDetailsGenerator } +func Test_UserAssignedIdentity_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from UserAssignedIdentity_STATUS to UserAssignedIdentity_STATUS via AssignProperties_To_UserAssignedIdentity_STATUS & AssignProperties_From_UserAssignedIdentity_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForUserAssignedIdentity_STATUS, UserAssignedIdentity_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForUserAssignedIdentity_STATUS tests if a specific instance of UserAssignedIdentity_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForUserAssignedIdentity_STATUS(subject UserAssignedIdentity_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.UserAssignedIdentity_STATUS + err := copied.AssignProperties_To_UserAssignedIdentity_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual UserAssignedIdentity_STATUS + err = actual.AssignProperties_From_UserAssignedIdentity_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_UserAssignedIdentity_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -8467,6 +13803,48 @@ func AddIndependentPropertyGeneratorsForUserAssignedIdentity_STATUS(gens map[str gens["ResourceId"] = gen.PtrOf(gen.AlphaString()) } +func Test_WindowsGmsaProfile_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from WindowsGmsaProfile to WindowsGmsaProfile via AssignProperties_To_WindowsGmsaProfile & AssignProperties_From_WindowsGmsaProfile returns original", + prop.ForAll(RunPropertyAssignmentTestForWindowsGmsaProfile, WindowsGmsaProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForWindowsGmsaProfile tests if a specific instance of WindowsGmsaProfile can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForWindowsGmsaProfile(subject WindowsGmsaProfile) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.WindowsGmsaProfile + err := copied.AssignProperties_To_WindowsGmsaProfile(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual WindowsGmsaProfile + err = actual.AssignProperties_From_WindowsGmsaProfile(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_WindowsGmsaProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -8529,6 +13907,48 @@ func AddIndependentPropertyGeneratorsForWindowsGmsaProfile(gens map[string]gopte gens["RootDomainName"] = gen.PtrOf(gen.AlphaString()) } +func Test_WindowsGmsaProfile_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from WindowsGmsaProfile_STATUS to WindowsGmsaProfile_STATUS via AssignProperties_To_WindowsGmsaProfile_STATUS & AssignProperties_From_WindowsGmsaProfile_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForWindowsGmsaProfile_STATUS, WindowsGmsaProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForWindowsGmsaProfile_STATUS tests if a specific instance of WindowsGmsaProfile_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForWindowsGmsaProfile_STATUS(subject WindowsGmsaProfile_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.WindowsGmsaProfile_STATUS + err := copied.AssignProperties_To_WindowsGmsaProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual WindowsGmsaProfile_STATUS + err = actual.AssignProperties_From_WindowsGmsaProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_WindowsGmsaProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() diff --git a/v2/api/containerservice/v1api20231001/storage/managed_clusters_agent_pool_types_gen.go b/v2/api/containerservice/v1api20231001/storage/managed_clusters_agent_pool_types_gen.go index 4c56597582b..d6a3c058291 100644 --- a/v2/api/containerservice/v1api20231001/storage/managed_clusters_agent_pool_types_gen.go +++ b/v2/api/containerservice/v1api20231001/storage/managed_clusters_agent_pool_types_gen.go @@ -4,19 +4,19 @@ package storage import ( + "fmt" + compat "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20231001/storage/compat" + storage "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20240901/storage" "github.com/Azure/azure-service-operator/v2/pkg/genruntime" "github.com/Azure/azure-service-operator/v2/pkg/genruntime/conditions" "github.com/pkg/errors" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/conversion" ) -// +kubebuilder:rbac:groups=containerservice.azure.com,resources=managedclustersagentpools,verbs=get;list;watch;create;update;patch;delete -// +kubebuilder:rbac:groups=containerservice.azure.com,resources={managedclustersagentpools/status,managedclustersagentpools/finalizers},verbs=get;update;patch - // +kubebuilder:object:root=true // +kubebuilder:subresource:status -// +kubebuilder:storageversion // +kubebuilder:printcolumn:name="Ready",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="Severity",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].severity" // +kubebuilder:printcolumn:name="Reason",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].reason" @@ -44,6 +44,28 @@ func (pool *ManagedClustersAgentPool) SetConditions(conditions conditions.Condit pool.Status.Conditions = conditions } +var _ conversion.Convertible = &ManagedClustersAgentPool{} + +// ConvertFrom populates our ManagedClustersAgentPool from the provided hub ManagedClustersAgentPool +func (pool *ManagedClustersAgentPool) ConvertFrom(hub conversion.Hub) error { + source, ok := hub.(*storage.ManagedClustersAgentPool) + if !ok { + return fmt.Errorf("expected containerservice/v1api20240901/storage/ManagedClustersAgentPool but received %T instead", hub) + } + + return pool.AssignProperties_From_ManagedClustersAgentPool(source) +} + +// ConvertTo populates the provided hub ManagedClustersAgentPool from our ManagedClustersAgentPool +func (pool *ManagedClustersAgentPool) ConvertTo(hub conversion.Hub) error { + destination, ok := hub.(*storage.ManagedClustersAgentPool) + if !ok { + return fmt.Errorf("expected containerservice/v1api20240901/storage/ManagedClustersAgentPool but received %T instead", hub) + } + + return pool.AssignProperties_To_ManagedClustersAgentPool(destination) +} + var _ genruntime.KubernetesResource = &ManagedClustersAgentPool{} // AzureName returns the Azure name of the resource @@ -115,8 +137,75 @@ func (pool *ManagedClustersAgentPool) SetStatus(status genruntime.ConvertibleSta return nil } -// Hub marks that this ManagedClustersAgentPool is the hub type for conversion -func (pool *ManagedClustersAgentPool) Hub() {} +// AssignProperties_From_ManagedClustersAgentPool populates our ManagedClustersAgentPool from the provided source ManagedClustersAgentPool +func (pool *ManagedClustersAgentPool) AssignProperties_From_ManagedClustersAgentPool(source *storage.ManagedClustersAgentPool) error { + + // ObjectMeta + pool.ObjectMeta = *source.ObjectMeta.DeepCopy() + + // Spec + var spec ManagedClustersAgentPool_Spec + err := spec.AssignProperties_From_ManagedClustersAgentPool_Spec(&source.Spec) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClustersAgentPool_Spec() to populate field Spec") + } + pool.Spec = spec + + // Status + var status ManagedClustersAgentPool_STATUS + err = status.AssignProperties_From_ManagedClustersAgentPool_STATUS(&source.Status) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClustersAgentPool_STATUS() to populate field Status") + } + pool.Status = status + + // Invoke the augmentConversionForManagedClustersAgentPool interface (if implemented) to customize the conversion + var poolAsAny any = pool + if augmentedPool, ok := poolAsAny.(augmentConversionForManagedClustersAgentPool); ok { + err := augmentedPool.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClustersAgentPool populates the provided destination ManagedClustersAgentPool from our ManagedClustersAgentPool +func (pool *ManagedClustersAgentPool) AssignProperties_To_ManagedClustersAgentPool(destination *storage.ManagedClustersAgentPool) error { + + // ObjectMeta + destination.ObjectMeta = *pool.ObjectMeta.DeepCopy() + + // Spec + var spec storage.ManagedClustersAgentPool_Spec + err := pool.Spec.AssignProperties_To_ManagedClustersAgentPool_Spec(&spec) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClustersAgentPool_Spec() to populate field Spec") + } + destination.Spec = spec + + // Status + var status storage.ManagedClustersAgentPool_STATUS + err = pool.Status.AssignProperties_To_ManagedClustersAgentPool_STATUS(&status) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClustersAgentPool_STATUS() to populate field Status") + } + destination.Status = status + + // Invoke the augmentConversionForManagedClustersAgentPool interface (if implemented) to customize the conversion + var poolAsAny any = pool + if augmentedPool, ok := poolAsAny.(augmentConversionForManagedClustersAgentPool); ok { + err := augmentedPool.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} // OriginalGVK returns a GroupValueKind for the original API version used to create the resource func (pool *ManagedClustersAgentPool) OriginalGVK() *schema.GroupVersionKind { @@ -138,6 +227,11 @@ type ManagedClustersAgentPoolList struct { Items []ManagedClustersAgentPool `json:"items"` } +type augmentConversionForManagedClustersAgentPool interface { + AssignPropertiesFrom(src *storage.ManagedClustersAgentPool) error + AssignPropertiesTo(dst *storage.ManagedClustersAgentPool) error +} + // Storage version of v1api20231001.ManagedClustersAgentPool_Spec type ManagedClustersAgentPool_Spec struct { AvailabilityZones []string `json:"availabilityZones,omitempty"` @@ -217,20 +311,646 @@ var _ genruntime.ConvertibleSpec = &ManagedClustersAgentPool_Spec{} // ConvertSpecFrom populates our ManagedClustersAgentPool_Spec from the provided source func (pool *ManagedClustersAgentPool_Spec) ConvertSpecFrom(source genruntime.ConvertibleSpec) error { - if source == pool { - return errors.New("attempted conversion between unrelated implementations of github.com/Azure/azure-service-operator/v2/pkg/genruntime/ConvertibleSpec") + src, ok := source.(*storage.ManagedClustersAgentPool_Spec) + if ok { + // Populate our instance from source + return pool.AssignProperties_From_ManagedClustersAgentPool_Spec(src) + } + + // Convert to an intermediate form + src = &storage.ManagedClustersAgentPool_Spec{} + err := src.ConvertSpecFrom(source) + if err != nil { + return errors.Wrap(err, "initial step of conversion in ConvertSpecFrom()") } - return source.ConvertSpecTo(pool) + // Update our instance from src + err = pool.AssignProperties_From_ManagedClustersAgentPool_Spec(src) + if err != nil { + return errors.Wrap(err, "final step of conversion in ConvertSpecFrom()") + } + + return nil } // ConvertSpecTo populates the provided destination from our ManagedClustersAgentPool_Spec func (pool *ManagedClustersAgentPool_Spec) ConvertSpecTo(destination genruntime.ConvertibleSpec) error { - if destination == pool { - return errors.New("attempted conversion between unrelated implementations of github.com/Azure/azure-service-operator/v2/pkg/genruntime/ConvertibleSpec") + dst, ok := destination.(*storage.ManagedClustersAgentPool_Spec) + if ok { + // Populate destination from our instance + return pool.AssignProperties_To_ManagedClustersAgentPool_Spec(dst) + } + + // Convert to an intermediate form + dst = &storage.ManagedClustersAgentPool_Spec{} + err := pool.AssignProperties_To_ManagedClustersAgentPool_Spec(dst) + if err != nil { + return errors.Wrap(err, "initial step of conversion in ConvertSpecTo()") + } + + // Update dst from our instance + err = dst.ConvertSpecTo(destination) + if err != nil { + return errors.Wrap(err, "final step of conversion in ConvertSpecTo()") + } + + return nil +} + +// AssignProperties_From_ManagedClustersAgentPool_Spec populates our ManagedClustersAgentPool_Spec from the provided source ManagedClustersAgentPool_Spec +func (pool *ManagedClustersAgentPool_Spec) AssignProperties_From_ManagedClustersAgentPool_Spec(source *storage.ManagedClustersAgentPool_Spec) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // AvailabilityZones + pool.AvailabilityZones = genruntime.CloneSliceOfString(source.AvailabilityZones) + + // AzureName + pool.AzureName = source.AzureName + + // CapacityReservationGroupReference + if source.CapacityReservationGroupReference != nil { + capacityReservationGroupReference := source.CapacityReservationGroupReference.Copy() + pool.CapacityReservationGroupReference = &capacityReservationGroupReference + } else { + pool.CapacityReservationGroupReference = nil + } + + // Count + pool.Count = genruntime.ClonePointerToInt(source.Count) + + // CreationData + if source.CreationData != nil { + var creationDatum CreationData + err := creationDatum.AssignProperties_From_CreationData(source.CreationData) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_CreationData() to populate field CreationData") + } + pool.CreationData = &creationDatum + } else { + pool.CreationData = nil + } + + // EnableAutoScaling + if source.EnableAutoScaling != nil { + enableAutoScaling := *source.EnableAutoScaling + pool.EnableAutoScaling = &enableAutoScaling + } else { + pool.EnableAutoScaling = nil + } + + // EnableEncryptionAtHost + if source.EnableEncryptionAtHost != nil { + enableEncryptionAtHost := *source.EnableEncryptionAtHost + pool.EnableEncryptionAtHost = &enableEncryptionAtHost + } else { + pool.EnableEncryptionAtHost = nil + } + + // EnableFIPS + if source.EnableFIPS != nil { + enableFIPS := *source.EnableFIPS + pool.EnableFIPS = &enableFIPS + } else { + pool.EnableFIPS = nil + } + + // EnableNodePublicIP + if source.EnableNodePublicIP != nil { + enableNodePublicIP := *source.EnableNodePublicIP + pool.EnableNodePublicIP = &enableNodePublicIP + } else { + pool.EnableNodePublicIP = nil + } + + // EnableUltraSSD + if source.EnableUltraSSD != nil { + enableUltraSSD := *source.EnableUltraSSD + pool.EnableUltraSSD = &enableUltraSSD + } else { + pool.EnableUltraSSD = nil + } + + // GpuInstanceProfile + pool.GpuInstanceProfile = genruntime.ClonePointerToString(source.GpuInstanceProfile) + + // HostGroupReference + if source.HostGroupReference != nil { + hostGroupReference := source.HostGroupReference.Copy() + pool.HostGroupReference = &hostGroupReference + } else { + pool.HostGroupReference = nil + } + + // KubeletConfig + if source.KubeletConfig != nil { + var kubeletConfig KubeletConfig + err := kubeletConfig.AssignProperties_From_KubeletConfig(source.KubeletConfig) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_KubeletConfig() to populate field KubeletConfig") + } + pool.KubeletConfig = &kubeletConfig + } else { + pool.KubeletConfig = nil + } + + // KubeletDiskType + pool.KubeletDiskType = genruntime.ClonePointerToString(source.KubeletDiskType) + + // LinuxOSConfig + if source.LinuxOSConfig != nil { + var linuxOSConfig LinuxOSConfig + err := linuxOSConfig.AssignProperties_From_LinuxOSConfig(source.LinuxOSConfig) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_LinuxOSConfig() to populate field LinuxOSConfig") + } + pool.LinuxOSConfig = &linuxOSConfig + } else { + pool.LinuxOSConfig = nil + } + + // MaxCount + pool.MaxCount = genruntime.ClonePointerToInt(source.MaxCount) + + // MaxPods + pool.MaxPods = genruntime.ClonePointerToInt(source.MaxPods) + + // MinCount + pool.MinCount = genruntime.ClonePointerToInt(source.MinCount) + + // Mode + pool.Mode = genruntime.ClonePointerToString(source.Mode) + + // NetworkProfile + if source.NetworkProfile != nil { + var networkProfile AgentPoolNetworkProfile + err := networkProfile.AssignProperties_From_AgentPoolNetworkProfile(source.NetworkProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_AgentPoolNetworkProfile() to populate field NetworkProfile") + } + pool.NetworkProfile = &networkProfile + } else { + pool.NetworkProfile = nil + } + + // NodeLabels + pool.NodeLabels = genruntime.CloneMapOfStringToString(source.NodeLabels) + + // NodePublicIPPrefixReference + if source.NodePublicIPPrefixReference != nil { + nodePublicIPPrefixReference := source.NodePublicIPPrefixReference.Copy() + pool.NodePublicIPPrefixReference = &nodePublicIPPrefixReference + } else { + pool.NodePublicIPPrefixReference = nil + } + + // NodeTaints + pool.NodeTaints = genruntime.CloneSliceOfString(source.NodeTaints) + + // OrchestratorVersion + pool.OrchestratorVersion = genruntime.ClonePointerToString(source.OrchestratorVersion) + + // OriginalVersion + pool.OriginalVersion = source.OriginalVersion + + // OsDiskSizeGB + pool.OsDiskSizeGB = genruntime.ClonePointerToInt(source.OsDiskSizeGB) + + // OsDiskType + pool.OsDiskType = genruntime.ClonePointerToString(source.OsDiskType) + + // OsSKU + pool.OsSKU = genruntime.ClonePointerToString(source.OsSKU) + + // OsType + pool.OsType = genruntime.ClonePointerToString(source.OsType) + + // Owner + if source.Owner != nil { + owner := source.Owner.Copy() + pool.Owner = &owner + } else { + pool.Owner = nil + } + + // PodSubnetReference + if source.PodSubnetReference != nil { + podSubnetReference := source.PodSubnetReference.Copy() + pool.PodSubnetReference = &podSubnetReference + } else { + pool.PodSubnetReference = nil + } + + // PowerState + if source.PowerState != nil { + var powerState PowerState + err := powerState.AssignProperties_From_PowerState(source.PowerState) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_PowerState() to populate field PowerState") + } + pool.PowerState = &powerState + } else { + pool.PowerState = nil + } + + // ProximityPlacementGroupReference + if source.ProximityPlacementGroupReference != nil { + proximityPlacementGroupReference := source.ProximityPlacementGroupReference.Copy() + pool.ProximityPlacementGroupReference = &proximityPlacementGroupReference + } else { + pool.ProximityPlacementGroupReference = nil + } + + // ScaleDownMode + pool.ScaleDownMode = genruntime.ClonePointerToString(source.ScaleDownMode) + + // ScaleSetEvictionPolicy + pool.ScaleSetEvictionPolicy = genruntime.ClonePointerToString(source.ScaleSetEvictionPolicy) + + // ScaleSetPriority + pool.ScaleSetPriority = genruntime.ClonePointerToString(source.ScaleSetPriority) + + // SecurityProfile + if source.SecurityProfile != nil { + var securityProfile compat.AgentPoolSecurityProfile + err := securityProfile.AssignProperties_From_AgentPoolSecurityProfile(source.SecurityProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_AgentPoolSecurityProfile() to populate field SecurityProfile") + } + propertyBag.Add("SecurityProfile", securityProfile) + } else { + propertyBag.Remove("SecurityProfile") + } + + // SpotMaxPrice + if source.SpotMaxPrice != nil { + spotMaxPrice := *source.SpotMaxPrice + pool.SpotMaxPrice = &spotMaxPrice + } else { + pool.SpotMaxPrice = nil + } + + // Tags + pool.Tags = genruntime.CloneMapOfStringToString(source.Tags) + + // Type + pool.Type = genruntime.ClonePointerToString(source.Type) + + // UpgradeSettings + if source.UpgradeSettings != nil { + var upgradeSetting AgentPoolUpgradeSettings + err := upgradeSetting.AssignProperties_From_AgentPoolUpgradeSettings(source.UpgradeSettings) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_AgentPoolUpgradeSettings() to populate field UpgradeSettings") + } + pool.UpgradeSettings = &upgradeSetting + } else { + pool.UpgradeSettings = nil + } + + // VmSize + pool.VmSize = genruntime.ClonePointerToString(source.VmSize) + + // VnetSubnetReference + if source.VnetSubnetReference != nil { + vnetSubnetReference := source.VnetSubnetReference.Copy() + pool.VnetSubnetReference = &vnetSubnetReference + } else { + pool.VnetSubnetReference = nil + } + + // WindowsProfile + if source.WindowsProfile != nil { + propertyBag.Add("WindowsProfile", *source.WindowsProfile) + } else { + propertyBag.Remove("WindowsProfile") + } + + // WorkloadRuntime + pool.WorkloadRuntime = genruntime.ClonePointerToString(source.WorkloadRuntime) + + // Update the property bag + if len(propertyBag) > 0 { + pool.PropertyBag = propertyBag + } else { + pool.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClustersAgentPool_Spec interface (if implemented) to customize the conversion + var poolAsAny any = pool + if augmentedPool, ok := poolAsAny.(augmentConversionForManagedClustersAgentPool_Spec); ok { + err := augmentedPool.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClustersAgentPool_Spec populates the provided destination ManagedClustersAgentPool_Spec from our ManagedClustersAgentPool_Spec +func (pool *ManagedClustersAgentPool_Spec) AssignProperties_To_ManagedClustersAgentPool_Spec(destination *storage.ManagedClustersAgentPool_Spec) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(pool.PropertyBag) + + // AvailabilityZones + destination.AvailabilityZones = genruntime.CloneSliceOfString(pool.AvailabilityZones) + + // AzureName + destination.AzureName = pool.AzureName + + // CapacityReservationGroupReference + if pool.CapacityReservationGroupReference != nil { + capacityReservationGroupReference := pool.CapacityReservationGroupReference.Copy() + destination.CapacityReservationGroupReference = &capacityReservationGroupReference + } else { + destination.CapacityReservationGroupReference = nil + } + + // Count + destination.Count = genruntime.ClonePointerToInt(pool.Count) + + // CreationData + if pool.CreationData != nil { + var creationDatum storage.CreationData + err := pool.CreationData.AssignProperties_To_CreationData(&creationDatum) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_CreationData() to populate field CreationData") + } + destination.CreationData = &creationDatum + } else { + destination.CreationData = nil + } + + // EnableAutoScaling + if pool.EnableAutoScaling != nil { + enableAutoScaling := *pool.EnableAutoScaling + destination.EnableAutoScaling = &enableAutoScaling + } else { + destination.EnableAutoScaling = nil + } + + // EnableEncryptionAtHost + if pool.EnableEncryptionAtHost != nil { + enableEncryptionAtHost := *pool.EnableEncryptionAtHost + destination.EnableEncryptionAtHost = &enableEncryptionAtHost + } else { + destination.EnableEncryptionAtHost = nil + } + + // EnableFIPS + if pool.EnableFIPS != nil { + enableFIPS := *pool.EnableFIPS + destination.EnableFIPS = &enableFIPS + } else { + destination.EnableFIPS = nil + } + + // EnableNodePublicIP + if pool.EnableNodePublicIP != nil { + enableNodePublicIP := *pool.EnableNodePublicIP + destination.EnableNodePublicIP = &enableNodePublicIP + } else { + destination.EnableNodePublicIP = nil + } + + // EnableUltraSSD + if pool.EnableUltraSSD != nil { + enableUltraSSD := *pool.EnableUltraSSD + destination.EnableUltraSSD = &enableUltraSSD + } else { + destination.EnableUltraSSD = nil + } + + // GpuInstanceProfile + destination.GpuInstanceProfile = genruntime.ClonePointerToString(pool.GpuInstanceProfile) + + // HostGroupReference + if pool.HostGroupReference != nil { + hostGroupReference := pool.HostGroupReference.Copy() + destination.HostGroupReference = &hostGroupReference + } else { + destination.HostGroupReference = nil + } + + // KubeletConfig + if pool.KubeletConfig != nil { + var kubeletConfig storage.KubeletConfig + err := pool.KubeletConfig.AssignProperties_To_KubeletConfig(&kubeletConfig) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_KubeletConfig() to populate field KubeletConfig") + } + destination.KubeletConfig = &kubeletConfig + } else { + destination.KubeletConfig = nil + } + + // KubeletDiskType + destination.KubeletDiskType = genruntime.ClonePointerToString(pool.KubeletDiskType) + + // LinuxOSConfig + if pool.LinuxOSConfig != nil { + var linuxOSConfig storage.LinuxOSConfig + err := pool.LinuxOSConfig.AssignProperties_To_LinuxOSConfig(&linuxOSConfig) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_LinuxOSConfig() to populate field LinuxOSConfig") + } + destination.LinuxOSConfig = &linuxOSConfig + } else { + destination.LinuxOSConfig = nil + } + + // MaxCount + destination.MaxCount = genruntime.ClonePointerToInt(pool.MaxCount) + + // MaxPods + destination.MaxPods = genruntime.ClonePointerToInt(pool.MaxPods) + + // MinCount + destination.MinCount = genruntime.ClonePointerToInt(pool.MinCount) + + // Mode + destination.Mode = genruntime.ClonePointerToString(pool.Mode) + + // NetworkProfile + if pool.NetworkProfile != nil { + var networkProfile storage.AgentPoolNetworkProfile + err := pool.NetworkProfile.AssignProperties_To_AgentPoolNetworkProfile(&networkProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_AgentPoolNetworkProfile() to populate field NetworkProfile") + } + destination.NetworkProfile = &networkProfile + } else { + destination.NetworkProfile = nil + } + + // NodeLabels + destination.NodeLabels = genruntime.CloneMapOfStringToString(pool.NodeLabels) + + // NodePublicIPPrefixReference + if pool.NodePublicIPPrefixReference != nil { + nodePublicIPPrefixReference := pool.NodePublicIPPrefixReference.Copy() + destination.NodePublicIPPrefixReference = &nodePublicIPPrefixReference + } else { + destination.NodePublicIPPrefixReference = nil + } + + // NodeTaints + destination.NodeTaints = genruntime.CloneSliceOfString(pool.NodeTaints) + + // OrchestratorVersion + destination.OrchestratorVersion = genruntime.ClonePointerToString(pool.OrchestratorVersion) + + // OriginalVersion + destination.OriginalVersion = pool.OriginalVersion + + // OsDiskSizeGB + destination.OsDiskSizeGB = genruntime.ClonePointerToInt(pool.OsDiskSizeGB) + + // OsDiskType + destination.OsDiskType = genruntime.ClonePointerToString(pool.OsDiskType) + + // OsSKU + destination.OsSKU = genruntime.ClonePointerToString(pool.OsSKU) + + // OsType + destination.OsType = genruntime.ClonePointerToString(pool.OsType) + + // Owner + if pool.Owner != nil { + owner := pool.Owner.Copy() + destination.Owner = &owner + } else { + destination.Owner = nil + } + + // PodSubnetReference + if pool.PodSubnetReference != nil { + podSubnetReference := pool.PodSubnetReference.Copy() + destination.PodSubnetReference = &podSubnetReference + } else { + destination.PodSubnetReference = nil + } + + // PowerState + if pool.PowerState != nil { + var powerState storage.PowerState + err := pool.PowerState.AssignProperties_To_PowerState(&powerState) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_PowerState() to populate field PowerState") + } + destination.PowerState = &powerState + } else { + destination.PowerState = nil + } + + // ProximityPlacementGroupReference + if pool.ProximityPlacementGroupReference != nil { + proximityPlacementGroupReference := pool.ProximityPlacementGroupReference.Copy() + destination.ProximityPlacementGroupReference = &proximityPlacementGroupReference + } else { + destination.ProximityPlacementGroupReference = nil + } + + // ScaleDownMode + destination.ScaleDownMode = genruntime.ClonePointerToString(pool.ScaleDownMode) + + // ScaleSetEvictionPolicy + destination.ScaleSetEvictionPolicy = genruntime.ClonePointerToString(pool.ScaleSetEvictionPolicy) + + // ScaleSetPriority + destination.ScaleSetPriority = genruntime.ClonePointerToString(pool.ScaleSetPriority) + + // SecurityProfile + if propertyBag.Contains("SecurityProfile") { + var securityProfileFromBag compat.AgentPoolSecurityProfile + err := propertyBag.Pull("SecurityProfile", &securityProfileFromBag) + if err != nil { + return errors.Wrap(err, "pulling 'SecurityProfile' from propertyBag") + } + + var securityProfile storage.AgentPoolSecurityProfile + err = securityProfileFromBag.AssignProperties_To_AgentPoolSecurityProfile(&securityProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_AgentPoolSecurityProfile() to populate field SecurityProfile") + } + destination.SecurityProfile = &securityProfile + } else { + destination.SecurityProfile = nil + } + + // SpotMaxPrice + if pool.SpotMaxPrice != nil { + spotMaxPrice := *pool.SpotMaxPrice + destination.SpotMaxPrice = &spotMaxPrice + } else { + destination.SpotMaxPrice = nil + } + + // Tags + destination.Tags = genruntime.CloneMapOfStringToString(pool.Tags) + + // Type + destination.Type = genruntime.ClonePointerToString(pool.Type) + + // UpgradeSettings + if pool.UpgradeSettings != nil { + var upgradeSetting storage.AgentPoolUpgradeSettings + err := pool.UpgradeSettings.AssignProperties_To_AgentPoolUpgradeSettings(&upgradeSetting) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_AgentPoolUpgradeSettings() to populate field UpgradeSettings") + } + destination.UpgradeSettings = &upgradeSetting + } else { + destination.UpgradeSettings = nil + } + + // VmSize + destination.VmSize = genruntime.ClonePointerToString(pool.VmSize) + + // VnetSubnetReference + if pool.VnetSubnetReference != nil { + vnetSubnetReference := pool.VnetSubnetReference.Copy() + destination.VnetSubnetReference = &vnetSubnetReference + } else { + destination.VnetSubnetReference = nil } - return destination.ConvertSpecFrom(pool) + // WindowsProfile + if propertyBag.Contains("WindowsProfile") { + var windowsProfile storage.AgentPoolWindowsProfile + err := propertyBag.Pull("WindowsProfile", &windowsProfile) + if err != nil { + return errors.Wrap(err, "pulling 'WindowsProfile' from propertyBag") + } + + destination.WindowsProfile = &windowsProfile + } else { + destination.WindowsProfile = nil + } + + // WorkloadRuntime + destination.WorkloadRuntime = genruntime.ClonePointerToString(pool.WorkloadRuntime) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClustersAgentPool_Spec interface (if implemented) to customize the conversion + var poolAsAny any = pool + if augmentedPool, ok := poolAsAny.(augmentConversionForManagedClustersAgentPool_Spec); ok { + err := augmentedPool.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil } // Storage version of v1api20231001.ManagedClustersAgentPool_STATUS @@ -289,71 +1009,1243 @@ var _ genruntime.ConvertibleStatus = &ManagedClustersAgentPool_STATUS{} // ConvertStatusFrom populates our ManagedClustersAgentPool_STATUS from the provided source func (pool *ManagedClustersAgentPool_STATUS) ConvertStatusFrom(source genruntime.ConvertibleStatus) error { - if source == pool { - return errors.New("attempted conversion between unrelated implementations of github.com/Azure/azure-service-operator/v2/pkg/genruntime/ConvertibleStatus") + src, ok := source.(*storage.ManagedClustersAgentPool_STATUS) + if ok { + // Populate our instance from source + return pool.AssignProperties_From_ManagedClustersAgentPool_STATUS(src) + } + + // Convert to an intermediate form + src = &storage.ManagedClustersAgentPool_STATUS{} + err := src.ConvertStatusFrom(source) + if err != nil { + return errors.Wrap(err, "initial step of conversion in ConvertStatusFrom()") } - return source.ConvertStatusTo(pool) + // Update our instance from src + err = pool.AssignProperties_From_ManagedClustersAgentPool_STATUS(src) + if err != nil { + return errors.Wrap(err, "final step of conversion in ConvertStatusFrom()") + } + + return nil } // ConvertStatusTo populates the provided destination from our ManagedClustersAgentPool_STATUS func (pool *ManagedClustersAgentPool_STATUS) ConvertStatusTo(destination genruntime.ConvertibleStatus) error { - if destination == pool { - return errors.New("attempted conversion between unrelated implementations of github.com/Azure/azure-service-operator/v2/pkg/genruntime/ConvertibleStatus") + dst, ok := destination.(*storage.ManagedClustersAgentPool_STATUS) + if ok { + // Populate destination from our instance + return pool.AssignProperties_To_ManagedClustersAgentPool_STATUS(dst) } - return destination.ConvertStatusFrom(pool) -} + // Convert to an intermediate form + dst = &storage.ManagedClustersAgentPool_STATUS{} + err := pool.AssignProperties_To_ManagedClustersAgentPool_STATUS(dst) + if err != nil { + return errors.Wrap(err, "initial step of conversion in ConvertStatusTo()") + } -// Storage version of v1api20231001.AgentPoolNetworkProfile -// Network settings of an agent pool. -type AgentPoolNetworkProfile struct { - AllowedHostPorts []PortRange `json:"allowedHostPorts,omitempty"` - ApplicationSecurityGroupsReferences []genruntime.ResourceReference `armReference:"ApplicationSecurityGroups" json:"applicationSecurityGroupsReferences,omitempty"` - NodePublicIPTags []IPTag `json:"nodePublicIPTags,omitempty"` - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` -} + // Update dst from our instance + err = dst.ConvertStatusTo(destination) + if err != nil { + return errors.Wrap(err, "final step of conversion in ConvertStatusTo()") + } -// Storage version of v1api20231001.AgentPoolNetworkProfile_STATUS -// Network settings of an agent pool. -type AgentPoolNetworkProfile_STATUS struct { - AllowedHostPorts []PortRange_STATUS `json:"allowedHostPorts,omitempty"` - ApplicationSecurityGroups []string `json:"applicationSecurityGroups,omitempty"` - NodePublicIPTags []IPTag_STATUS `json:"nodePublicIPTags,omitempty"` - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + return nil } -// Storage version of v1api20231001.AgentPoolUpgradeSettings -// Settings for upgrading an agentpool -type AgentPoolUpgradeSettings struct { - DrainTimeoutInMinutes *int `json:"drainTimeoutInMinutes,omitempty"` - MaxSurge *string `json:"maxSurge,omitempty"` - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` -} +// AssignProperties_From_ManagedClustersAgentPool_STATUS populates our ManagedClustersAgentPool_STATUS from the provided source ManagedClustersAgentPool_STATUS +func (pool *ManagedClustersAgentPool_STATUS) AssignProperties_From_ManagedClustersAgentPool_STATUS(source *storage.ManagedClustersAgentPool_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) -// Storage version of v1api20231001.AgentPoolUpgradeSettings_STATUS -// Settings for upgrading an agentpool -type AgentPoolUpgradeSettings_STATUS struct { - DrainTimeoutInMinutes *int `json:"drainTimeoutInMinutes,omitempty"` - MaxSurge *string `json:"maxSurge,omitempty"` - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` -} + // AvailabilityZones + pool.AvailabilityZones = genruntime.CloneSliceOfString(source.AvailabilityZones) -// Storage version of v1api20231001.CreationData -// Data used when creating a target resource from a source resource. -type CreationData struct { - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + // CapacityReservationGroupID + pool.CapacityReservationGroupID = genruntime.ClonePointerToString(source.CapacityReservationGroupID) - // SourceResourceReference: This is the ARM ID of the source object to be used to create the target object. - SourceResourceReference *genruntime.ResourceReference `armReference:"SourceResourceId" json:"sourceResourceReference,omitempty"` -} + // Conditions + pool.Conditions = genruntime.CloneSliceOfCondition(source.Conditions) -// Storage version of v1api20231001.CreationData_STATUS -// Data used when creating a target resource from a source resource. -type CreationData_STATUS struct { - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` - SourceResourceId *string `json:"sourceResourceId,omitempty"` -} + // Count + pool.Count = genruntime.ClonePointerToInt(source.Count) + + // CreationData + if source.CreationData != nil { + var creationDatum CreationData_STATUS + err := creationDatum.AssignProperties_From_CreationData_STATUS(source.CreationData) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_CreationData_STATUS() to populate field CreationData") + } + pool.CreationData = &creationDatum + } else { + pool.CreationData = nil + } + + // CurrentOrchestratorVersion + pool.CurrentOrchestratorVersion = genruntime.ClonePointerToString(source.CurrentOrchestratorVersion) + + // ETag + if source.ETag != nil { + propertyBag.Add("ETag", *source.ETag) + } else { + propertyBag.Remove("ETag") + } + + // EnableAutoScaling + if source.EnableAutoScaling != nil { + enableAutoScaling := *source.EnableAutoScaling + pool.EnableAutoScaling = &enableAutoScaling + } else { + pool.EnableAutoScaling = nil + } + + // EnableEncryptionAtHost + if source.EnableEncryptionAtHost != nil { + enableEncryptionAtHost := *source.EnableEncryptionAtHost + pool.EnableEncryptionAtHost = &enableEncryptionAtHost + } else { + pool.EnableEncryptionAtHost = nil + } + + // EnableFIPS + if source.EnableFIPS != nil { + enableFIPS := *source.EnableFIPS + pool.EnableFIPS = &enableFIPS + } else { + pool.EnableFIPS = nil + } + + // EnableNodePublicIP + if source.EnableNodePublicIP != nil { + enableNodePublicIP := *source.EnableNodePublicIP + pool.EnableNodePublicIP = &enableNodePublicIP + } else { + pool.EnableNodePublicIP = nil + } + + // EnableUltraSSD + if source.EnableUltraSSD != nil { + enableUltraSSD := *source.EnableUltraSSD + pool.EnableUltraSSD = &enableUltraSSD + } else { + pool.EnableUltraSSD = nil + } + + // GpuInstanceProfile + pool.GpuInstanceProfile = genruntime.ClonePointerToString(source.GpuInstanceProfile) + + // HostGroupID + pool.HostGroupID = genruntime.ClonePointerToString(source.HostGroupID) + + // Id + pool.Id = genruntime.ClonePointerToString(source.Id) + + // KubeletConfig + if source.KubeletConfig != nil { + var kubeletConfig KubeletConfig_STATUS + err := kubeletConfig.AssignProperties_From_KubeletConfig_STATUS(source.KubeletConfig) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_KubeletConfig_STATUS() to populate field KubeletConfig") + } + pool.KubeletConfig = &kubeletConfig + } else { + pool.KubeletConfig = nil + } + + // KubeletDiskType + pool.KubeletDiskType = genruntime.ClonePointerToString(source.KubeletDiskType) + + // LinuxOSConfig + if source.LinuxOSConfig != nil { + var linuxOSConfig LinuxOSConfig_STATUS + err := linuxOSConfig.AssignProperties_From_LinuxOSConfig_STATUS(source.LinuxOSConfig) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_LinuxOSConfig_STATUS() to populate field LinuxOSConfig") + } + pool.LinuxOSConfig = &linuxOSConfig + } else { + pool.LinuxOSConfig = nil + } + + // MaxCount + pool.MaxCount = genruntime.ClonePointerToInt(source.MaxCount) + + // MaxPods + pool.MaxPods = genruntime.ClonePointerToInt(source.MaxPods) + + // MinCount + pool.MinCount = genruntime.ClonePointerToInt(source.MinCount) + + // Mode + pool.Mode = genruntime.ClonePointerToString(source.Mode) + + // Name + pool.Name = genruntime.ClonePointerToString(source.Name) + + // NetworkProfile + if source.NetworkProfile != nil { + var networkProfile AgentPoolNetworkProfile_STATUS + err := networkProfile.AssignProperties_From_AgentPoolNetworkProfile_STATUS(source.NetworkProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_AgentPoolNetworkProfile_STATUS() to populate field NetworkProfile") + } + pool.NetworkProfile = &networkProfile + } else { + pool.NetworkProfile = nil + } + + // NodeImageVersion + pool.NodeImageVersion = genruntime.ClonePointerToString(source.NodeImageVersion) + + // NodeLabels + pool.NodeLabels = genruntime.CloneMapOfStringToString(source.NodeLabels) + + // NodePublicIPPrefixID + pool.NodePublicIPPrefixID = genruntime.ClonePointerToString(source.NodePublicIPPrefixID) + + // NodeTaints + pool.NodeTaints = genruntime.CloneSliceOfString(source.NodeTaints) + + // OrchestratorVersion + pool.OrchestratorVersion = genruntime.ClonePointerToString(source.OrchestratorVersion) + + // OsDiskSizeGB + pool.OsDiskSizeGB = genruntime.ClonePointerToInt(source.OsDiskSizeGB) + + // OsDiskType + pool.OsDiskType = genruntime.ClonePointerToString(source.OsDiskType) + + // OsSKU + pool.OsSKU = genruntime.ClonePointerToString(source.OsSKU) + + // OsType + pool.OsType = genruntime.ClonePointerToString(source.OsType) + + // PodSubnetID + pool.PodSubnetID = genruntime.ClonePointerToString(source.PodSubnetID) + + // PowerState + if source.PowerState != nil { + var powerState PowerState_STATUS + err := powerState.AssignProperties_From_PowerState_STATUS(source.PowerState) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_PowerState_STATUS() to populate field PowerState") + } + pool.PowerState = &powerState + } else { + pool.PowerState = nil + } + + // PropertiesType + pool.PropertiesType = genruntime.ClonePointerToString(source.PropertiesType) + + // ProvisioningState + pool.ProvisioningState = genruntime.ClonePointerToString(source.ProvisioningState) + + // ProximityPlacementGroupID + pool.ProximityPlacementGroupID = genruntime.ClonePointerToString(source.ProximityPlacementGroupID) + + // ScaleDownMode + pool.ScaleDownMode = genruntime.ClonePointerToString(source.ScaleDownMode) + + // ScaleSetEvictionPolicy + pool.ScaleSetEvictionPolicy = genruntime.ClonePointerToString(source.ScaleSetEvictionPolicy) + + // ScaleSetPriority + pool.ScaleSetPriority = genruntime.ClonePointerToString(source.ScaleSetPriority) + + // SecurityProfile + if source.SecurityProfile != nil { + var securityProfile compat.AgentPoolSecurityProfile_STATUS + err := securityProfile.AssignProperties_From_AgentPoolSecurityProfile_STATUS(source.SecurityProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_AgentPoolSecurityProfile_STATUS() to populate field SecurityProfile") + } + propertyBag.Add("SecurityProfile", securityProfile) + } else { + propertyBag.Remove("SecurityProfile") + } + + // SpotMaxPrice + if source.SpotMaxPrice != nil { + spotMaxPrice := *source.SpotMaxPrice + pool.SpotMaxPrice = &spotMaxPrice + } else { + pool.SpotMaxPrice = nil + } + + // Tags + pool.Tags = genruntime.CloneMapOfStringToString(source.Tags) + + // Type + pool.Type = genruntime.ClonePointerToString(source.Type) + + // UpgradeSettings + if source.UpgradeSettings != nil { + var upgradeSetting AgentPoolUpgradeSettings_STATUS + err := upgradeSetting.AssignProperties_From_AgentPoolUpgradeSettings_STATUS(source.UpgradeSettings) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_AgentPoolUpgradeSettings_STATUS() to populate field UpgradeSettings") + } + pool.UpgradeSettings = &upgradeSetting + } else { + pool.UpgradeSettings = nil + } + + // VmSize + pool.VmSize = genruntime.ClonePointerToString(source.VmSize) + + // VnetSubnetID + pool.VnetSubnetID = genruntime.ClonePointerToString(source.VnetSubnetID) + + // WindowsProfile + if source.WindowsProfile != nil { + propertyBag.Add("WindowsProfile", *source.WindowsProfile) + } else { + propertyBag.Remove("WindowsProfile") + } + + // WorkloadRuntime + pool.WorkloadRuntime = genruntime.ClonePointerToString(source.WorkloadRuntime) + + // Update the property bag + if len(propertyBag) > 0 { + pool.PropertyBag = propertyBag + } else { + pool.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClustersAgentPool_STATUS interface (if implemented) to customize the conversion + var poolAsAny any = pool + if augmentedPool, ok := poolAsAny.(augmentConversionForManagedClustersAgentPool_STATUS); ok { + err := augmentedPool.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClustersAgentPool_STATUS populates the provided destination ManagedClustersAgentPool_STATUS from our ManagedClustersAgentPool_STATUS +func (pool *ManagedClustersAgentPool_STATUS) AssignProperties_To_ManagedClustersAgentPool_STATUS(destination *storage.ManagedClustersAgentPool_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(pool.PropertyBag) + + // AvailabilityZones + destination.AvailabilityZones = genruntime.CloneSliceOfString(pool.AvailabilityZones) + + // CapacityReservationGroupID + destination.CapacityReservationGroupID = genruntime.ClonePointerToString(pool.CapacityReservationGroupID) + + // Conditions + destination.Conditions = genruntime.CloneSliceOfCondition(pool.Conditions) + + // Count + destination.Count = genruntime.ClonePointerToInt(pool.Count) + + // CreationData + if pool.CreationData != nil { + var creationDatum storage.CreationData_STATUS + err := pool.CreationData.AssignProperties_To_CreationData_STATUS(&creationDatum) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_CreationData_STATUS() to populate field CreationData") + } + destination.CreationData = &creationDatum + } else { + destination.CreationData = nil + } + + // CurrentOrchestratorVersion + destination.CurrentOrchestratorVersion = genruntime.ClonePointerToString(pool.CurrentOrchestratorVersion) + + // ETag + if propertyBag.Contains("ETag") { + var eTag string + err := propertyBag.Pull("ETag", &eTag) + if err != nil { + return errors.Wrap(err, "pulling 'ETag' from propertyBag") + } + + destination.ETag = &eTag + } else { + destination.ETag = nil + } + + // EnableAutoScaling + if pool.EnableAutoScaling != nil { + enableAutoScaling := *pool.EnableAutoScaling + destination.EnableAutoScaling = &enableAutoScaling + } else { + destination.EnableAutoScaling = nil + } + + // EnableEncryptionAtHost + if pool.EnableEncryptionAtHost != nil { + enableEncryptionAtHost := *pool.EnableEncryptionAtHost + destination.EnableEncryptionAtHost = &enableEncryptionAtHost + } else { + destination.EnableEncryptionAtHost = nil + } + + // EnableFIPS + if pool.EnableFIPS != nil { + enableFIPS := *pool.EnableFIPS + destination.EnableFIPS = &enableFIPS + } else { + destination.EnableFIPS = nil + } + + // EnableNodePublicIP + if pool.EnableNodePublicIP != nil { + enableNodePublicIP := *pool.EnableNodePublicIP + destination.EnableNodePublicIP = &enableNodePublicIP + } else { + destination.EnableNodePublicIP = nil + } + + // EnableUltraSSD + if pool.EnableUltraSSD != nil { + enableUltraSSD := *pool.EnableUltraSSD + destination.EnableUltraSSD = &enableUltraSSD + } else { + destination.EnableUltraSSD = nil + } + + // GpuInstanceProfile + destination.GpuInstanceProfile = genruntime.ClonePointerToString(pool.GpuInstanceProfile) + + // HostGroupID + destination.HostGroupID = genruntime.ClonePointerToString(pool.HostGroupID) + + // Id + destination.Id = genruntime.ClonePointerToString(pool.Id) + + // KubeletConfig + if pool.KubeletConfig != nil { + var kubeletConfig storage.KubeletConfig_STATUS + err := pool.KubeletConfig.AssignProperties_To_KubeletConfig_STATUS(&kubeletConfig) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_KubeletConfig_STATUS() to populate field KubeletConfig") + } + destination.KubeletConfig = &kubeletConfig + } else { + destination.KubeletConfig = nil + } + + // KubeletDiskType + destination.KubeletDiskType = genruntime.ClonePointerToString(pool.KubeletDiskType) + + // LinuxOSConfig + if pool.LinuxOSConfig != nil { + var linuxOSConfig storage.LinuxOSConfig_STATUS + err := pool.LinuxOSConfig.AssignProperties_To_LinuxOSConfig_STATUS(&linuxOSConfig) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_LinuxOSConfig_STATUS() to populate field LinuxOSConfig") + } + destination.LinuxOSConfig = &linuxOSConfig + } else { + destination.LinuxOSConfig = nil + } + + // MaxCount + destination.MaxCount = genruntime.ClonePointerToInt(pool.MaxCount) + + // MaxPods + destination.MaxPods = genruntime.ClonePointerToInt(pool.MaxPods) + + // MinCount + destination.MinCount = genruntime.ClonePointerToInt(pool.MinCount) + + // Mode + destination.Mode = genruntime.ClonePointerToString(pool.Mode) + + // Name + destination.Name = genruntime.ClonePointerToString(pool.Name) + + // NetworkProfile + if pool.NetworkProfile != nil { + var networkProfile storage.AgentPoolNetworkProfile_STATUS + err := pool.NetworkProfile.AssignProperties_To_AgentPoolNetworkProfile_STATUS(&networkProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_AgentPoolNetworkProfile_STATUS() to populate field NetworkProfile") + } + destination.NetworkProfile = &networkProfile + } else { + destination.NetworkProfile = nil + } + + // NodeImageVersion + destination.NodeImageVersion = genruntime.ClonePointerToString(pool.NodeImageVersion) + + // NodeLabels + destination.NodeLabels = genruntime.CloneMapOfStringToString(pool.NodeLabels) + + // NodePublicIPPrefixID + destination.NodePublicIPPrefixID = genruntime.ClonePointerToString(pool.NodePublicIPPrefixID) + + // NodeTaints + destination.NodeTaints = genruntime.CloneSliceOfString(pool.NodeTaints) + + // OrchestratorVersion + destination.OrchestratorVersion = genruntime.ClonePointerToString(pool.OrchestratorVersion) + + // OsDiskSizeGB + destination.OsDiskSizeGB = genruntime.ClonePointerToInt(pool.OsDiskSizeGB) + + // OsDiskType + destination.OsDiskType = genruntime.ClonePointerToString(pool.OsDiskType) + + // OsSKU + destination.OsSKU = genruntime.ClonePointerToString(pool.OsSKU) + + // OsType + destination.OsType = genruntime.ClonePointerToString(pool.OsType) + + // PodSubnetID + destination.PodSubnetID = genruntime.ClonePointerToString(pool.PodSubnetID) + + // PowerState + if pool.PowerState != nil { + var powerState storage.PowerState_STATUS + err := pool.PowerState.AssignProperties_To_PowerState_STATUS(&powerState) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_PowerState_STATUS() to populate field PowerState") + } + destination.PowerState = &powerState + } else { + destination.PowerState = nil + } + + // PropertiesType + destination.PropertiesType = genruntime.ClonePointerToString(pool.PropertiesType) + + // ProvisioningState + destination.ProvisioningState = genruntime.ClonePointerToString(pool.ProvisioningState) + + // ProximityPlacementGroupID + destination.ProximityPlacementGroupID = genruntime.ClonePointerToString(pool.ProximityPlacementGroupID) + + // ScaleDownMode + destination.ScaleDownMode = genruntime.ClonePointerToString(pool.ScaleDownMode) + + // ScaleSetEvictionPolicy + destination.ScaleSetEvictionPolicy = genruntime.ClonePointerToString(pool.ScaleSetEvictionPolicy) + + // ScaleSetPriority + destination.ScaleSetPriority = genruntime.ClonePointerToString(pool.ScaleSetPriority) + + // SecurityProfile + if propertyBag.Contains("SecurityProfile") { + var securityProfileFromBag compat.AgentPoolSecurityProfile_STATUS + err := propertyBag.Pull("SecurityProfile", &securityProfileFromBag) + if err != nil { + return errors.Wrap(err, "pulling 'SecurityProfile' from propertyBag") + } + + var securityProfile storage.AgentPoolSecurityProfile_STATUS + err = securityProfileFromBag.AssignProperties_To_AgentPoolSecurityProfile_STATUS(&securityProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_AgentPoolSecurityProfile_STATUS() to populate field SecurityProfile") + } + destination.SecurityProfile = &securityProfile + } else { + destination.SecurityProfile = nil + } + + // SpotMaxPrice + if pool.SpotMaxPrice != nil { + spotMaxPrice := *pool.SpotMaxPrice + destination.SpotMaxPrice = &spotMaxPrice + } else { + destination.SpotMaxPrice = nil + } + + // Tags + destination.Tags = genruntime.CloneMapOfStringToString(pool.Tags) + + // Type + destination.Type = genruntime.ClonePointerToString(pool.Type) + + // UpgradeSettings + if pool.UpgradeSettings != nil { + var upgradeSetting storage.AgentPoolUpgradeSettings_STATUS + err := pool.UpgradeSettings.AssignProperties_To_AgentPoolUpgradeSettings_STATUS(&upgradeSetting) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_AgentPoolUpgradeSettings_STATUS() to populate field UpgradeSettings") + } + destination.UpgradeSettings = &upgradeSetting + } else { + destination.UpgradeSettings = nil + } + + // VmSize + destination.VmSize = genruntime.ClonePointerToString(pool.VmSize) + + // VnetSubnetID + destination.VnetSubnetID = genruntime.ClonePointerToString(pool.VnetSubnetID) + + // WindowsProfile + if propertyBag.Contains("WindowsProfile") { + var windowsProfile storage.AgentPoolWindowsProfile_STATUS + err := propertyBag.Pull("WindowsProfile", &windowsProfile) + if err != nil { + return errors.Wrap(err, "pulling 'WindowsProfile' from propertyBag") + } + + destination.WindowsProfile = &windowsProfile + } else { + destination.WindowsProfile = nil + } + + // WorkloadRuntime + destination.WorkloadRuntime = genruntime.ClonePointerToString(pool.WorkloadRuntime) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClustersAgentPool_STATUS interface (if implemented) to customize the conversion + var poolAsAny any = pool + if augmentedPool, ok := poolAsAny.(augmentConversionForManagedClustersAgentPool_STATUS); ok { + err := augmentedPool.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +// Storage version of v1api20231001.AgentPoolNetworkProfile +// Network settings of an agent pool. +type AgentPoolNetworkProfile struct { + AllowedHostPorts []PortRange `json:"allowedHostPorts,omitempty"` + ApplicationSecurityGroupsReferences []genruntime.ResourceReference `armReference:"ApplicationSecurityGroups" json:"applicationSecurityGroupsReferences,omitempty"` + NodePublicIPTags []IPTag `json:"nodePublicIPTags,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// AssignProperties_From_AgentPoolNetworkProfile populates our AgentPoolNetworkProfile from the provided source AgentPoolNetworkProfile +func (profile *AgentPoolNetworkProfile) AssignProperties_From_AgentPoolNetworkProfile(source *storage.AgentPoolNetworkProfile) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // AllowedHostPorts + if source.AllowedHostPorts != nil { + allowedHostPortList := make([]PortRange, len(source.AllowedHostPorts)) + for allowedHostPortIndex, allowedHostPortItem := range source.AllowedHostPorts { + // Shadow the loop variable to avoid aliasing + allowedHostPortItem := allowedHostPortItem + var allowedHostPort PortRange + err := allowedHostPort.AssignProperties_From_PortRange(&allowedHostPortItem) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_PortRange() to populate field AllowedHostPorts") + } + allowedHostPortList[allowedHostPortIndex] = allowedHostPort + } + profile.AllowedHostPorts = allowedHostPortList + } else { + profile.AllowedHostPorts = nil + } + + // ApplicationSecurityGroupsReferences + if source.ApplicationSecurityGroupsReferences != nil { + applicationSecurityGroupsReferenceList := make([]genruntime.ResourceReference, len(source.ApplicationSecurityGroupsReferences)) + for applicationSecurityGroupsReferenceIndex, applicationSecurityGroupsReferenceItem := range source.ApplicationSecurityGroupsReferences { + // Shadow the loop variable to avoid aliasing + applicationSecurityGroupsReferenceItem := applicationSecurityGroupsReferenceItem + applicationSecurityGroupsReferenceList[applicationSecurityGroupsReferenceIndex] = applicationSecurityGroupsReferenceItem.Copy() + } + profile.ApplicationSecurityGroupsReferences = applicationSecurityGroupsReferenceList + } else { + profile.ApplicationSecurityGroupsReferences = nil + } + + // NodePublicIPTags + if source.NodePublicIPTags != nil { + nodePublicIPTagList := make([]IPTag, len(source.NodePublicIPTags)) + for nodePublicIPTagIndex, nodePublicIPTagItem := range source.NodePublicIPTags { + // Shadow the loop variable to avoid aliasing + nodePublicIPTagItem := nodePublicIPTagItem + var nodePublicIPTag IPTag + err := nodePublicIPTag.AssignProperties_From_IPTag(&nodePublicIPTagItem) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_IPTag() to populate field NodePublicIPTags") + } + nodePublicIPTagList[nodePublicIPTagIndex] = nodePublicIPTag + } + profile.NodePublicIPTags = nodePublicIPTagList + } else { + profile.NodePublicIPTags = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + profile.PropertyBag = propertyBag + } else { + profile.PropertyBag = nil + } + + // Invoke the augmentConversionForAgentPoolNetworkProfile interface (if implemented) to customize the conversion + var profileAsAny any = profile + if augmentedProfile, ok := profileAsAny.(augmentConversionForAgentPoolNetworkProfile); ok { + err := augmentedProfile.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_AgentPoolNetworkProfile populates the provided destination AgentPoolNetworkProfile from our AgentPoolNetworkProfile +func (profile *AgentPoolNetworkProfile) AssignProperties_To_AgentPoolNetworkProfile(destination *storage.AgentPoolNetworkProfile) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) + + // AllowedHostPorts + if profile.AllowedHostPorts != nil { + allowedHostPortList := make([]storage.PortRange, len(profile.AllowedHostPorts)) + for allowedHostPortIndex, allowedHostPortItem := range profile.AllowedHostPorts { + // Shadow the loop variable to avoid aliasing + allowedHostPortItem := allowedHostPortItem + var allowedHostPort storage.PortRange + err := allowedHostPortItem.AssignProperties_To_PortRange(&allowedHostPort) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_PortRange() to populate field AllowedHostPorts") + } + allowedHostPortList[allowedHostPortIndex] = allowedHostPort + } + destination.AllowedHostPorts = allowedHostPortList + } else { + destination.AllowedHostPorts = nil + } + + // ApplicationSecurityGroupsReferences + if profile.ApplicationSecurityGroupsReferences != nil { + applicationSecurityGroupsReferenceList := make([]genruntime.ResourceReference, len(profile.ApplicationSecurityGroupsReferences)) + for applicationSecurityGroupsReferenceIndex, applicationSecurityGroupsReferenceItem := range profile.ApplicationSecurityGroupsReferences { + // Shadow the loop variable to avoid aliasing + applicationSecurityGroupsReferenceItem := applicationSecurityGroupsReferenceItem + applicationSecurityGroupsReferenceList[applicationSecurityGroupsReferenceIndex] = applicationSecurityGroupsReferenceItem.Copy() + } + destination.ApplicationSecurityGroupsReferences = applicationSecurityGroupsReferenceList + } else { + destination.ApplicationSecurityGroupsReferences = nil + } + + // NodePublicIPTags + if profile.NodePublicIPTags != nil { + nodePublicIPTagList := make([]storage.IPTag, len(profile.NodePublicIPTags)) + for nodePublicIPTagIndex, nodePublicIPTagItem := range profile.NodePublicIPTags { + // Shadow the loop variable to avoid aliasing + nodePublicIPTagItem := nodePublicIPTagItem + var nodePublicIPTag storage.IPTag + err := nodePublicIPTagItem.AssignProperties_To_IPTag(&nodePublicIPTag) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_IPTag() to populate field NodePublicIPTags") + } + nodePublicIPTagList[nodePublicIPTagIndex] = nodePublicIPTag + } + destination.NodePublicIPTags = nodePublicIPTagList + } else { + destination.NodePublicIPTags = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForAgentPoolNetworkProfile interface (if implemented) to customize the conversion + var profileAsAny any = profile + if augmentedProfile, ok := profileAsAny.(augmentConversionForAgentPoolNetworkProfile); ok { + err := augmentedProfile.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +// Storage version of v1api20231001.AgentPoolNetworkProfile_STATUS +// Network settings of an agent pool. +type AgentPoolNetworkProfile_STATUS struct { + AllowedHostPorts []PortRange_STATUS `json:"allowedHostPorts,omitempty"` + ApplicationSecurityGroups []string `json:"applicationSecurityGroups,omitempty"` + NodePublicIPTags []IPTag_STATUS `json:"nodePublicIPTags,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// AssignProperties_From_AgentPoolNetworkProfile_STATUS populates our AgentPoolNetworkProfile_STATUS from the provided source AgentPoolNetworkProfile_STATUS +func (profile *AgentPoolNetworkProfile_STATUS) AssignProperties_From_AgentPoolNetworkProfile_STATUS(source *storage.AgentPoolNetworkProfile_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // AllowedHostPorts + if source.AllowedHostPorts != nil { + allowedHostPortList := make([]PortRange_STATUS, len(source.AllowedHostPorts)) + for allowedHostPortIndex, allowedHostPortItem := range source.AllowedHostPorts { + // Shadow the loop variable to avoid aliasing + allowedHostPortItem := allowedHostPortItem + var allowedHostPort PortRange_STATUS + err := allowedHostPort.AssignProperties_From_PortRange_STATUS(&allowedHostPortItem) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_PortRange_STATUS() to populate field AllowedHostPorts") + } + allowedHostPortList[allowedHostPortIndex] = allowedHostPort + } + profile.AllowedHostPorts = allowedHostPortList + } else { + profile.AllowedHostPorts = nil + } + + // ApplicationSecurityGroups + profile.ApplicationSecurityGroups = genruntime.CloneSliceOfString(source.ApplicationSecurityGroups) + + // NodePublicIPTags + if source.NodePublicIPTags != nil { + nodePublicIPTagList := make([]IPTag_STATUS, len(source.NodePublicIPTags)) + for nodePublicIPTagIndex, nodePublicIPTagItem := range source.NodePublicIPTags { + // Shadow the loop variable to avoid aliasing + nodePublicIPTagItem := nodePublicIPTagItem + var nodePublicIPTag IPTag_STATUS + err := nodePublicIPTag.AssignProperties_From_IPTag_STATUS(&nodePublicIPTagItem) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_IPTag_STATUS() to populate field NodePublicIPTags") + } + nodePublicIPTagList[nodePublicIPTagIndex] = nodePublicIPTag + } + profile.NodePublicIPTags = nodePublicIPTagList + } else { + profile.NodePublicIPTags = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + profile.PropertyBag = propertyBag + } else { + profile.PropertyBag = nil + } + + // Invoke the augmentConversionForAgentPoolNetworkProfile_STATUS interface (if implemented) to customize the conversion + var profileAsAny any = profile + if augmentedProfile, ok := profileAsAny.(augmentConversionForAgentPoolNetworkProfile_STATUS); ok { + err := augmentedProfile.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_AgentPoolNetworkProfile_STATUS populates the provided destination AgentPoolNetworkProfile_STATUS from our AgentPoolNetworkProfile_STATUS +func (profile *AgentPoolNetworkProfile_STATUS) AssignProperties_To_AgentPoolNetworkProfile_STATUS(destination *storage.AgentPoolNetworkProfile_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) + + // AllowedHostPorts + if profile.AllowedHostPorts != nil { + allowedHostPortList := make([]storage.PortRange_STATUS, len(profile.AllowedHostPorts)) + for allowedHostPortIndex, allowedHostPortItem := range profile.AllowedHostPorts { + // Shadow the loop variable to avoid aliasing + allowedHostPortItem := allowedHostPortItem + var allowedHostPort storage.PortRange_STATUS + err := allowedHostPortItem.AssignProperties_To_PortRange_STATUS(&allowedHostPort) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_PortRange_STATUS() to populate field AllowedHostPorts") + } + allowedHostPortList[allowedHostPortIndex] = allowedHostPort + } + destination.AllowedHostPorts = allowedHostPortList + } else { + destination.AllowedHostPorts = nil + } + + // ApplicationSecurityGroups + destination.ApplicationSecurityGroups = genruntime.CloneSliceOfString(profile.ApplicationSecurityGroups) + + // NodePublicIPTags + if profile.NodePublicIPTags != nil { + nodePublicIPTagList := make([]storage.IPTag_STATUS, len(profile.NodePublicIPTags)) + for nodePublicIPTagIndex, nodePublicIPTagItem := range profile.NodePublicIPTags { + // Shadow the loop variable to avoid aliasing + nodePublicIPTagItem := nodePublicIPTagItem + var nodePublicIPTag storage.IPTag_STATUS + err := nodePublicIPTagItem.AssignProperties_To_IPTag_STATUS(&nodePublicIPTag) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_IPTag_STATUS() to populate field NodePublicIPTags") + } + nodePublicIPTagList[nodePublicIPTagIndex] = nodePublicIPTag + } + destination.NodePublicIPTags = nodePublicIPTagList + } else { + destination.NodePublicIPTags = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForAgentPoolNetworkProfile_STATUS interface (if implemented) to customize the conversion + var profileAsAny any = profile + if augmentedProfile, ok := profileAsAny.(augmentConversionForAgentPoolNetworkProfile_STATUS); ok { + err := augmentedProfile.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +// Storage version of v1api20231001.AgentPoolUpgradeSettings +// Settings for upgrading an agentpool +type AgentPoolUpgradeSettings struct { + DrainTimeoutInMinutes *int `json:"drainTimeoutInMinutes,omitempty"` + MaxSurge *string `json:"maxSurge,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// AssignProperties_From_AgentPoolUpgradeSettings populates our AgentPoolUpgradeSettings from the provided source AgentPoolUpgradeSettings +func (settings *AgentPoolUpgradeSettings) AssignProperties_From_AgentPoolUpgradeSettings(source *storage.AgentPoolUpgradeSettings) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // DrainTimeoutInMinutes + settings.DrainTimeoutInMinutes = genruntime.ClonePointerToInt(source.DrainTimeoutInMinutes) + + // MaxSurge + settings.MaxSurge = genruntime.ClonePointerToString(source.MaxSurge) + + // NodeSoakDurationInMinutes + if source.NodeSoakDurationInMinutes != nil { + propertyBag.Add("NodeSoakDurationInMinutes", *source.NodeSoakDurationInMinutes) + } else { + propertyBag.Remove("NodeSoakDurationInMinutes") + } + + // Update the property bag + if len(propertyBag) > 0 { + settings.PropertyBag = propertyBag + } else { + settings.PropertyBag = nil + } + + // Invoke the augmentConversionForAgentPoolUpgradeSettings interface (if implemented) to customize the conversion + var settingsAsAny any = settings + if augmentedSettings, ok := settingsAsAny.(augmentConversionForAgentPoolUpgradeSettings); ok { + err := augmentedSettings.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_AgentPoolUpgradeSettings populates the provided destination AgentPoolUpgradeSettings from our AgentPoolUpgradeSettings +func (settings *AgentPoolUpgradeSettings) AssignProperties_To_AgentPoolUpgradeSettings(destination *storage.AgentPoolUpgradeSettings) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(settings.PropertyBag) + + // DrainTimeoutInMinutes + destination.DrainTimeoutInMinutes = genruntime.ClonePointerToInt(settings.DrainTimeoutInMinutes) + + // MaxSurge + destination.MaxSurge = genruntime.ClonePointerToString(settings.MaxSurge) + + // NodeSoakDurationInMinutes + if propertyBag.Contains("NodeSoakDurationInMinutes") { + var nodeSoakDurationInMinute int + err := propertyBag.Pull("NodeSoakDurationInMinutes", &nodeSoakDurationInMinute) + if err != nil { + return errors.Wrap(err, "pulling 'NodeSoakDurationInMinutes' from propertyBag") + } + + destination.NodeSoakDurationInMinutes = &nodeSoakDurationInMinute + } else { + destination.NodeSoakDurationInMinutes = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForAgentPoolUpgradeSettings interface (if implemented) to customize the conversion + var settingsAsAny any = settings + if augmentedSettings, ok := settingsAsAny.(augmentConversionForAgentPoolUpgradeSettings); ok { + err := augmentedSettings.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +// Storage version of v1api20231001.AgentPoolUpgradeSettings_STATUS +// Settings for upgrading an agentpool +type AgentPoolUpgradeSettings_STATUS struct { + DrainTimeoutInMinutes *int `json:"drainTimeoutInMinutes,omitempty"` + MaxSurge *string `json:"maxSurge,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// AssignProperties_From_AgentPoolUpgradeSettings_STATUS populates our AgentPoolUpgradeSettings_STATUS from the provided source AgentPoolUpgradeSettings_STATUS +func (settings *AgentPoolUpgradeSettings_STATUS) AssignProperties_From_AgentPoolUpgradeSettings_STATUS(source *storage.AgentPoolUpgradeSettings_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // DrainTimeoutInMinutes + settings.DrainTimeoutInMinutes = genruntime.ClonePointerToInt(source.DrainTimeoutInMinutes) + + // MaxSurge + settings.MaxSurge = genruntime.ClonePointerToString(source.MaxSurge) + + // NodeSoakDurationInMinutes + if source.NodeSoakDurationInMinutes != nil { + propertyBag.Add("NodeSoakDurationInMinutes", *source.NodeSoakDurationInMinutes) + } else { + propertyBag.Remove("NodeSoakDurationInMinutes") + } + + // Update the property bag + if len(propertyBag) > 0 { + settings.PropertyBag = propertyBag + } else { + settings.PropertyBag = nil + } + + // Invoke the augmentConversionForAgentPoolUpgradeSettings_STATUS interface (if implemented) to customize the conversion + var settingsAsAny any = settings + if augmentedSettings, ok := settingsAsAny.(augmentConversionForAgentPoolUpgradeSettings_STATUS); ok { + err := augmentedSettings.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_AgentPoolUpgradeSettings_STATUS populates the provided destination AgentPoolUpgradeSettings_STATUS from our AgentPoolUpgradeSettings_STATUS +func (settings *AgentPoolUpgradeSettings_STATUS) AssignProperties_To_AgentPoolUpgradeSettings_STATUS(destination *storage.AgentPoolUpgradeSettings_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(settings.PropertyBag) + + // DrainTimeoutInMinutes + destination.DrainTimeoutInMinutes = genruntime.ClonePointerToInt(settings.DrainTimeoutInMinutes) + + // MaxSurge + destination.MaxSurge = genruntime.ClonePointerToString(settings.MaxSurge) + + // NodeSoakDurationInMinutes + if propertyBag.Contains("NodeSoakDurationInMinutes") { + var nodeSoakDurationInMinute int + err := propertyBag.Pull("NodeSoakDurationInMinutes", &nodeSoakDurationInMinute) + if err != nil { + return errors.Wrap(err, "pulling 'NodeSoakDurationInMinutes' from propertyBag") + } + + destination.NodeSoakDurationInMinutes = &nodeSoakDurationInMinute + } else { + destination.NodeSoakDurationInMinutes = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForAgentPoolUpgradeSettings_STATUS interface (if implemented) to customize the conversion + var settingsAsAny any = settings + if augmentedSettings, ok := settingsAsAny.(augmentConversionForAgentPoolUpgradeSettings_STATUS); ok { + err := augmentedSettings.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +type augmentConversionForManagedClustersAgentPool_Spec interface { + AssignPropertiesFrom(src *storage.ManagedClustersAgentPool_Spec) error + AssignPropertiesTo(dst *storage.ManagedClustersAgentPool_Spec) error +} + +type augmentConversionForManagedClustersAgentPool_STATUS interface { + AssignPropertiesFrom(src *storage.ManagedClustersAgentPool_STATUS) error + AssignPropertiesTo(dst *storage.ManagedClustersAgentPool_STATUS) error +} + +// Storage version of v1api20231001.CreationData +// Data used when creating a target resource from a source resource. +type CreationData struct { + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + + // SourceResourceReference: This is the ARM ID of the source object to be used to create the target object. + SourceResourceReference *genruntime.ResourceReference `armReference:"SourceResourceId" json:"sourceResourceReference,omitempty"` +} + +// AssignProperties_From_CreationData populates our CreationData from the provided source CreationData +func (data *CreationData) AssignProperties_From_CreationData(source *storage.CreationData) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // SourceResourceReference + if source.SourceResourceReference != nil { + sourceResourceReference := source.SourceResourceReference.Copy() + data.SourceResourceReference = &sourceResourceReference + } else { + data.SourceResourceReference = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + data.PropertyBag = propertyBag + } else { + data.PropertyBag = nil + } + + // Invoke the augmentConversionForCreationData interface (if implemented) to customize the conversion + var dataAsAny any = data + if augmentedData, ok := dataAsAny.(augmentConversionForCreationData); ok { + err := augmentedData.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_CreationData populates the provided destination CreationData from our CreationData +func (data *CreationData) AssignProperties_To_CreationData(destination *storage.CreationData) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(data.PropertyBag) + + // SourceResourceReference + if data.SourceResourceReference != nil { + sourceResourceReference := data.SourceResourceReference.Copy() + destination.SourceResourceReference = &sourceResourceReference + } else { + destination.SourceResourceReference = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForCreationData interface (if implemented) to customize the conversion + var dataAsAny any = data + if augmentedData, ok := dataAsAny.(augmentConversionForCreationData); ok { + err := augmentedData.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +// Storage version of v1api20231001.CreationData_STATUS +// Data used when creating a target resource from a source resource. +type CreationData_STATUS struct { + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + SourceResourceId *string `json:"sourceResourceId,omitempty"` +} + +// AssignProperties_From_CreationData_STATUS populates our CreationData_STATUS from the provided source CreationData_STATUS +func (data *CreationData_STATUS) AssignProperties_From_CreationData_STATUS(source *storage.CreationData_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // SourceResourceId + data.SourceResourceId = genruntime.ClonePointerToString(source.SourceResourceId) + + // Update the property bag + if len(propertyBag) > 0 { + data.PropertyBag = propertyBag + } else { + data.PropertyBag = nil + } + + // Invoke the augmentConversionForCreationData_STATUS interface (if implemented) to customize the conversion + var dataAsAny any = data + if augmentedData, ok := dataAsAny.(augmentConversionForCreationData_STATUS); ok { + err := augmentedData.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_CreationData_STATUS populates the provided destination CreationData_STATUS from our CreationData_STATUS +func (data *CreationData_STATUS) AssignProperties_To_CreationData_STATUS(destination *storage.CreationData_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(data.PropertyBag) + + // SourceResourceId + destination.SourceResourceId = genruntime.ClonePointerToString(data.SourceResourceId) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForCreationData_STATUS interface (if implemented) to customize the conversion + var dataAsAny any = data + if augmentedData, ok := dataAsAny.(augmentConversionForCreationData_STATUS); ok { + err := augmentedData.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} // Storage version of v1api20231001.KubeletConfig // See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. @@ -372,6 +2264,142 @@ type KubeletConfig struct { TopologyManagerPolicy *string `json:"topologyManagerPolicy,omitempty"` } +// AssignProperties_From_KubeletConfig populates our KubeletConfig from the provided source KubeletConfig +func (config *KubeletConfig) AssignProperties_From_KubeletConfig(source *storage.KubeletConfig) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // AllowedUnsafeSysctls + config.AllowedUnsafeSysctls = genruntime.CloneSliceOfString(source.AllowedUnsafeSysctls) + + // ContainerLogMaxFiles + config.ContainerLogMaxFiles = genruntime.ClonePointerToInt(source.ContainerLogMaxFiles) + + // ContainerLogMaxSizeMB + config.ContainerLogMaxSizeMB = genruntime.ClonePointerToInt(source.ContainerLogMaxSizeMB) + + // CpuCfsQuota + if source.CpuCfsQuota != nil { + cpuCfsQuota := *source.CpuCfsQuota + config.CpuCfsQuota = &cpuCfsQuota + } else { + config.CpuCfsQuota = nil + } + + // CpuCfsQuotaPeriod + config.CpuCfsQuotaPeriod = genruntime.ClonePointerToString(source.CpuCfsQuotaPeriod) + + // CpuManagerPolicy + config.CpuManagerPolicy = genruntime.ClonePointerToString(source.CpuManagerPolicy) + + // FailSwapOn + if source.FailSwapOn != nil { + failSwapOn := *source.FailSwapOn + config.FailSwapOn = &failSwapOn + } else { + config.FailSwapOn = nil + } + + // ImageGcHighThreshold + config.ImageGcHighThreshold = genruntime.ClonePointerToInt(source.ImageGcHighThreshold) + + // ImageGcLowThreshold + config.ImageGcLowThreshold = genruntime.ClonePointerToInt(source.ImageGcLowThreshold) + + // PodMaxPids + config.PodMaxPids = genruntime.ClonePointerToInt(source.PodMaxPids) + + // TopologyManagerPolicy + config.TopologyManagerPolicy = genruntime.ClonePointerToString(source.TopologyManagerPolicy) + + // Update the property bag + if len(propertyBag) > 0 { + config.PropertyBag = propertyBag + } else { + config.PropertyBag = nil + } + + // Invoke the augmentConversionForKubeletConfig interface (if implemented) to customize the conversion + var configAsAny any = config + if augmentedConfig, ok := configAsAny.(augmentConversionForKubeletConfig); ok { + err := augmentedConfig.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_KubeletConfig populates the provided destination KubeletConfig from our KubeletConfig +func (config *KubeletConfig) AssignProperties_To_KubeletConfig(destination *storage.KubeletConfig) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(config.PropertyBag) + + // AllowedUnsafeSysctls + destination.AllowedUnsafeSysctls = genruntime.CloneSliceOfString(config.AllowedUnsafeSysctls) + + // ContainerLogMaxFiles + destination.ContainerLogMaxFiles = genruntime.ClonePointerToInt(config.ContainerLogMaxFiles) + + // ContainerLogMaxSizeMB + destination.ContainerLogMaxSizeMB = genruntime.ClonePointerToInt(config.ContainerLogMaxSizeMB) + + // CpuCfsQuota + if config.CpuCfsQuota != nil { + cpuCfsQuota := *config.CpuCfsQuota + destination.CpuCfsQuota = &cpuCfsQuota + } else { + destination.CpuCfsQuota = nil + } + + // CpuCfsQuotaPeriod + destination.CpuCfsQuotaPeriod = genruntime.ClonePointerToString(config.CpuCfsQuotaPeriod) + + // CpuManagerPolicy + destination.CpuManagerPolicy = genruntime.ClonePointerToString(config.CpuManagerPolicy) + + // FailSwapOn + if config.FailSwapOn != nil { + failSwapOn := *config.FailSwapOn + destination.FailSwapOn = &failSwapOn + } else { + destination.FailSwapOn = nil + } + + // ImageGcHighThreshold + destination.ImageGcHighThreshold = genruntime.ClonePointerToInt(config.ImageGcHighThreshold) + + // ImageGcLowThreshold + destination.ImageGcLowThreshold = genruntime.ClonePointerToInt(config.ImageGcLowThreshold) + + // PodMaxPids + destination.PodMaxPids = genruntime.ClonePointerToInt(config.PodMaxPids) + + // TopologyManagerPolicy + destination.TopologyManagerPolicy = genruntime.ClonePointerToString(config.TopologyManagerPolicy) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForKubeletConfig interface (if implemented) to customize the conversion + var configAsAny any = config + if augmentedConfig, ok := configAsAny.(augmentConversionForKubeletConfig); ok { + err := augmentedConfig.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + // Storage version of v1api20231001.KubeletConfig_STATUS // See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. type KubeletConfig_STATUS struct { @@ -389,6 +2417,142 @@ type KubeletConfig_STATUS struct { TopologyManagerPolicy *string `json:"topologyManagerPolicy,omitempty"` } +// AssignProperties_From_KubeletConfig_STATUS populates our KubeletConfig_STATUS from the provided source KubeletConfig_STATUS +func (config *KubeletConfig_STATUS) AssignProperties_From_KubeletConfig_STATUS(source *storage.KubeletConfig_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // AllowedUnsafeSysctls + config.AllowedUnsafeSysctls = genruntime.CloneSliceOfString(source.AllowedUnsafeSysctls) + + // ContainerLogMaxFiles + config.ContainerLogMaxFiles = genruntime.ClonePointerToInt(source.ContainerLogMaxFiles) + + // ContainerLogMaxSizeMB + config.ContainerLogMaxSizeMB = genruntime.ClonePointerToInt(source.ContainerLogMaxSizeMB) + + // CpuCfsQuota + if source.CpuCfsQuota != nil { + cpuCfsQuota := *source.CpuCfsQuota + config.CpuCfsQuota = &cpuCfsQuota + } else { + config.CpuCfsQuota = nil + } + + // CpuCfsQuotaPeriod + config.CpuCfsQuotaPeriod = genruntime.ClonePointerToString(source.CpuCfsQuotaPeriod) + + // CpuManagerPolicy + config.CpuManagerPolicy = genruntime.ClonePointerToString(source.CpuManagerPolicy) + + // FailSwapOn + if source.FailSwapOn != nil { + failSwapOn := *source.FailSwapOn + config.FailSwapOn = &failSwapOn + } else { + config.FailSwapOn = nil + } + + // ImageGcHighThreshold + config.ImageGcHighThreshold = genruntime.ClonePointerToInt(source.ImageGcHighThreshold) + + // ImageGcLowThreshold + config.ImageGcLowThreshold = genruntime.ClonePointerToInt(source.ImageGcLowThreshold) + + // PodMaxPids + config.PodMaxPids = genruntime.ClonePointerToInt(source.PodMaxPids) + + // TopologyManagerPolicy + config.TopologyManagerPolicy = genruntime.ClonePointerToString(source.TopologyManagerPolicy) + + // Update the property bag + if len(propertyBag) > 0 { + config.PropertyBag = propertyBag + } else { + config.PropertyBag = nil + } + + // Invoke the augmentConversionForKubeletConfig_STATUS interface (if implemented) to customize the conversion + var configAsAny any = config + if augmentedConfig, ok := configAsAny.(augmentConversionForKubeletConfig_STATUS); ok { + err := augmentedConfig.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_KubeletConfig_STATUS populates the provided destination KubeletConfig_STATUS from our KubeletConfig_STATUS +func (config *KubeletConfig_STATUS) AssignProperties_To_KubeletConfig_STATUS(destination *storage.KubeletConfig_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(config.PropertyBag) + + // AllowedUnsafeSysctls + destination.AllowedUnsafeSysctls = genruntime.CloneSliceOfString(config.AllowedUnsafeSysctls) + + // ContainerLogMaxFiles + destination.ContainerLogMaxFiles = genruntime.ClonePointerToInt(config.ContainerLogMaxFiles) + + // ContainerLogMaxSizeMB + destination.ContainerLogMaxSizeMB = genruntime.ClonePointerToInt(config.ContainerLogMaxSizeMB) + + // CpuCfsQuota + if config.CpuCfsQuota != nil { + cpuCfsQuota := *config.CpuCfsQuota + destination.CpuCfsQuota = &cpuCfsQuota + } else { + destination.CpuCfsQuota = nil + } + + // CpuCfsQuotaPeriod + destination.CpuCfsQuotaPeriod = genruntime.ClonePointerToString(config.CpuCfsQuotaPeriod) + + // CpuManagerPolicy + destination.CpuManagerPolicy = genruntime.ClonePointerToString(config.CpuManagerPolicy) + + // FailSwapOn + if config.FailSwapOn != nil { + failSwapOn := *config.FailSwapOn + destination.FailSwapOn = &failSwapOn + } else { + destination.FailSwapOn = nil + } + + // ImageGcHighThreshold + destination.ImageGcHighThreshold = genruntime.ClonePointerToInt(config.ImageGcHighThreshold) + + // ImageGcLowThreshold + destination.ImageGcLowThreshold = genruntime.ClonePointerToInt(config.ImageGcLowThreshold) + + // PodMaxPids + destination.PodMaxPids = genruntime.ClonePointerToInt(config.PodMaxPids) + + // TopologyManagerPolicy + destination.TopologyManagerPolicy = genruntime.ClonePointerToString(config.TopologyManagerPolicy) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForKubeletConfig_STATUS interface (if implemented) to customize the conversion + var configAsAny any = config + if augmentedConfig, ok := configAsAny.(augmentConversionForKubeletConfig_STATUS); ok { + err := augmentedConfig.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + // Storage version of v1api20231001.LinuxOSConfig // See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. type LinuxOSConfig struct { @@ -399,6 +2563,98 @@ type LinuxOSConfig struct { TransparentHugePageEnabled *string `json:"transparentHugePageEnabled,omitempty"` } +// AssignProperties_From_LinuxOSConfig populates our LinuxOSConfig from the provided source LinuxOSConfig +func (config *LinuxOSConfig) AssignProperties_From_LinuxOSConfig(source *storage.LinuxOSConfig) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // SwapFileSizeMB + config.SwapFileSizeMB = genruntime.ClonePointerToInt(source.SwapFileSizeMB) + + // Sysctls + if source.Sysctls != nil { + var sysctl SysctlConfig + err := sysctl.AssignProperties_From_SysctlConfig(source.Sysctls) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_SysctlConfig() to populate field Sysctls") + } + config.Sysctls = &sysctl + } else { + config.Sysctls = nil + } + + // TransparentHugePageDefrag + config.TransparentHugePageDefrag = genruntime.ClonePointerToString(source.TransparentHugePageDefrag) + + // TransparentHugePageEnabled + config.TransparentHugePageEnabled = genruntime.ClonePointerToString(source.TransparentHugePageEnabled) + + // Update the property bag + if len(propertyBag) > 0 { + config.PropertyBag = propertyBag + } else { + config.PropertyBag = nil + } + + // Invoke the augmentConversionForLinuxOSConfig interface (if implemented) to customize the conversion + var configAsAny any = config + if augmentedConfig, ok := configAsAny.(augmentConversionForLinuxOSConfig); ok { + err := augmentedConfig.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_LinuxOSConfig populates the provided destination LinuxOSConfig from our LinuxOSConfig +func (config *LinuxOSConfig) AssignProperties_To_LinuxOSConfig(destination *storage.LinuxOSConfig) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(config.PropertyBag) + + // SwapFileSizeMB + destination.SwapFileSizeMB = genruntime.ClonePointerToInt(config.SwapFileSizeMB) + + // Sysctls + if config.Sysctls != nil { + var sysctl storage.SysctlConfig + err := config.Sysctls.AssignProperties_To_SysctlConfig(&sysctl) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_SysctlConfig() to populate field Sysctls") + } + destination.Sysctls = &sysctl + } else { + destination.Sysctls = nil + } + + // TransparentHugePageDefrag + destination.TransparentHugePageDefrag = genruntime.ClonePointerToString(config.TransparentHugePageDefrag) + + // TransparentHugePageEnabled + destination.TransparentHugePageEnabled = genruntime.ClonePointerToString(config.TransparentHugePageEnabled) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForLinuxOSConfig interface (if implemented) to customize the conversion + var configAsAny any = config + if augmentedConfig, ok := configAsAny.(augmentConversionForLinuxOSConfig); ok { + err := augmentedConfig.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + // Storage version of v1api20231001.LinuxOSConfig_STATUS // See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. type LinuxOSConfig_STATUS struct { @@ -409,11 +2665,214 @@ type LinuxOSConfig_STATUS struct { TransparentHugePageEnabled *string `json:"transparentHugePageEnabled,omitempty"` } -// Storage version of v1api20231001.PowerState -// Describes the Power State of the cluster -type PowerState struct { - Code *string `json:"code,omitempty"` - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +// AssignProperties_From_LinuxOSConfig_STATUS populates our LinuxOSConfig_STATUS from the provided source LinuxOSConfig_STATUS +func (config *LinuxOSConfig_STATUS) AssignProperties_From_LinuxOSConfig_STATUS(source *storage.LinuxOSConfig_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // SwapFileSizeMB + config.SwapFileSizeMB = genruntime.ClonePointerToInt(source.SwapFileSizeMB) + + // Sysctls + if source.Sysctls != nil { + var sysctl SysctlConfig_STATUS + err := sysctl.AssignProperties_From_SysctlConfig_STATUS(source.Sysctls) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_SysctlConfig_STATUS() to populate field Sysctls") + } + config.Sysctls = &sysctl + } else { + config.Sysctls = nil + } + + // TransparentHugePageDefrag + config.TransparentHugePageDefrag = genruntime.ClonePointerToString(source.TransparentHugePageDefrag) + + // TransparentHugePageEnabled + config.TransparentHugePageEnabled = genruntime.ClonePointerToString(source.TransparentHugePageEnabled) + + // Update the property bag + if len(propertyBag) > 0 { + config.PropertyBag = propertyBag + } else { + config.PropertyBag = nil + } + + // Invoke the augmentConversionForLinuxOSConfig_STATUS interface (if implemented) to customize the conversion + var configAsAny any = config + if augmentedConfig, ok := configAsAny.(augmentConversionForLinuxOSConfig_STATUS); ok { + err := augmentedConfig.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_LinuxOSConfig_STATUS populates the provided destination LinuxOSConfig_STATUS from our LinuxOSConfig_STATUS +func (config *LinuxOSConfig_STATUS) AssignProperties_To_LinuxOSConfig_STATUS(destination *storage.LinuxOSConfig_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(config.PropertyBag) + + // SwapFileSizeMB + destination.SwapFileSizeMB = genruntime.ClonePointerToInt(config.SwapFileSizeMB) + + // Sysctls + if config.Sysctls != nil { + var sysctl storage.SysctlConfig_STATUS + err := config.Sysctls.AssignProperties_To_SysctlConfig_STATUS(&sysctl) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_SysctlConfig_STATUS() to populate field Sysctls") + } + destination.Sysctls = &sysctl + } else { + destination.Sysctls = nil + } + + // TransparentHugePageDefrag + destination.TransparentHugePageDefrag = genruntime.ClonePointerToString(config.TransparentHugePageDefrag) + + // TransparentHugePageEnabled + destination.TransparentHugePageEnabled = genruntime.ClonePointerToString(config.TransparentHugePageEnabled) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForLinuxOSConfig_STATUS interface (if implemented) to customize the conversion + var configAsAny any = config + if augmentedConfig, ok := configAsAny.(augmentConversionForLinuxOSConfig_STATUS); ok { + err := augmentedConfig.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +// Storage version of v1api20231001.PowerState +// Describes the Power State of the cluster +type PowerState struct { + Code *string `json:"code,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// AssignProperties_From_PowerState populates our PowerState from the provided source PowerState +func (state *PowerState) AssignProperties_From_PowerState(source *storage.PowerState) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // Code + state.Code = genruntime.ClonePointerToString(source.Code) + + // Update the property bag + if len(propertyBag) > 0 { + state.PropertyBag = propertyBag + } else { + state.PropertyBag = nil + } + + // Invoke the augmentConversionForPowerState interface (if implemented) to customize the conversion + var stateAsAny any = state + if augmentedState, ok := stateAsAny.(augmentConversionForPowerState); ok { + err := augmentedState.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_PowerState populates the provided destination PowerState from our PowerState +func (state *PowerState) AssignProperties_To_PowerState(destination *storage.PowerState) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(state.PropertyBag) + + // Code + destination.Code = genruntime.ClonePointerToString(state.Code) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForPowerState interface (if implemented) to customize the conversion + var stateAsAny any = state + if augmentedState, ok := stateAsAny.(augmentConversionForPowerState); ok { + err := augmentedState.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +type augmentConversionForAgentPoolNetworkProfile interface { + AssignPropertiesFrom(src *storage.AgentPoolNetworkProfile) error + AssignPropertiesTo(dst *storage.AgentPoolNetworkProfile) error +} + +type augmentConversionForAgentPoolNetworkProfile_STATUS interface { + AssignPropertiesFrom(src *storage.AgentPoolNetworkProfile_STATUS) error + AssignPropertiesTo(dst *storage.AgentPoolNetworkProfile_STATUS) error +} + +type augmentConversionForAgentPoolUpgradeSettings interface { + AssignPropertiesFrom(src *storage.AgentPoolUpgradeSettings) error + AssignPropertiesTo(dst *storage.AgentPoolUpgradeSettings) error +} + +type augmentConversionForAgentPoolUpgradeSettings_STATUS interface { + AssignPropertiesFrom(src *storage.AgentPoolUpgradeSettings_STATUS) error + AssignPropertiesTo(dst *storage.AgentPoolUpgradeSettings_STATUS) error +} + +type augmentConversionForCreationData interface { + AssignPropertiesFrom(src *storage.CreationData) error + AssignPropertiesTo(dst *storage.CreationData) error +} + +type augmentConversionForCreationData_STATUS interface { + AssignPropertiesFrom(src *storage.CreationData_STATUS) error + AssignPropertiesTo(dst *storage.CreationData_STATUS) error +} + +type augmentConversionForKubeletConfig interface { + AssignPropertiesFrom(src *storage.KubeletConfig) error + AssignPropertiesTo(dst *storage.KubeletConfig) error +} + +type augmentConversionForKubeletConfig_STATUS interface { + AssignPropertiesFrom(src *storage.KubeletConfig_STATUS) error + AssignPropertiesTo(dst *storage.KubeletConfig_STATUS) error +} + +type augmentConversionForLinuxOSConfig interface { + AssignPropertiesFrom(src *storage.LinuxOSConfig) error + AssignPropertiesTo(dst *storage.LinuxOSConfig) error +} + +type augmentConversionForLinuxOSConfig_STATUS interface { + AssignPropertiesFrom(src *storage.LinuxOSConfig_STATUS) error + AssignPropertiesTo(dst *storage.LinuxOSConfig_STATUS) error +} + +type augmentConversionForPowerState interface { + AssignPropertiesFrom(src *storage.PowerState) error + AssignPropertiesTo(dst *storage.PowerState) error } // Storage version of v1api20231001.IPTag @@ -424,6 +2883,68 @@ type IPTag struct { Tag *string `json:"tag,omitempty"` } +// AssignProperties_From_IPTag populates our IPTag from the provided source IPTag +func (ipTag *IPTag) AssignProperties_From_IPTag(source *storage.IPTag) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // IpTagType + ipTag.IpTagType = genruntime.ClonePointerToString(source.IpTagType) + + // Tag + ipTag.Tag = genruntime.ClonePointerToString(source.Tag) + + // Update the property bag + if len(propertyBag) > 0 { + ipTag.PropertyBag = propertyBag + } else { + ipTag.PropertyBag = nil + } + + // Invoke the augmentConversionForIPTag interface (if implemented) to customize the conversion + var ipTagAsAny any = ipTag + if augmentedIpTag, ok := ipTagAsAny.(augmentConversionForIPTag); ok { + err := augmentedIpTag.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_IPTag populates the provided destination IPTag from our IPTag +func (ipTag *IPTag) AssignProperties_To_IPTag(destination *storage.IPTag) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(ipTag.PropertyBag) + + // IpTagType + destination.IpTagType = genruntime.ClonePointerToString(ipTag.IpTagType) + + // Tag + destination.Tag = genruntime.ClonePointerToString(ipTag.Tag) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForIPTag interface (if implemented) to customize the conversion + var ipTagAsAny any = ipTag + if augmentedIpTag, ok := ipTagAsAny.(augmentConversionForIPTag); ok { + err := augmentedIpTag.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + // Storage version of v1api20231001.IPTag_STATUS // Contains the IPTag associated with the object. type IPTag_STATUS struct { @@ -432,6 +2953,68 @@ type IPTag_STATUS struct { Tag *string `json:"tag,omitempty"` } +// AssignProperties_From_IPTag_STATUS populates our IPTag_STATUS from the provided source IPTag_STATUS +func (ipTag *IPTag_STATUS) AssignProperties_From_IPTag_STATUS(source *storage.IPTag_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // IpTagType + ipTag.IpTagType = genruntime.ClonePointerToString(source.IpTagType) + + // Tag + ipTag.Tag = genruntime.ClonePointerToString(source.Tag) + + // Update the property bag + if len(propertyBag) > 0 { + ipTag.PropertyBag = propertyBag + } else { + ipTag.PropertyBag = nil + } + + // Invoke the augmentConversionForIPTag_STATUS interface (if implemented) to customize the conversion + var ipTagAsAny any = ipTag + if augmentedIpTag, ok := ipTagAsAny.(augmentConversionForIPTag_STATUS); ok { + err := augmentedIpTag.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_IPTag_STATUS populates the provided destination IPTag_STATUS from our IPTag_STATUS +func (ipTag *IPTag_STATUS) AssignProperties_To_IPTag_STATUS(destination *storage.IPTag_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(ipTag.PropertyBag) + + // IpTagType + destination.IpTagType = genruntime.ClonePointerToString(ipTag.IpTagType) + + // Tag + destination.Tag = genruntime.ClonePointerToString(ipTag.Tag) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForIPTag_STATUS interface (if implemented) to customize the conversion + var ipTagAsAny any = ipTag + if augmentedIpTag, ok := ipTagAsAny.(augmentConversionForIPTag_STATUS); ok { + err := augmentedIpTag.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + // Storage version of v1api20231001.PortRange // The port range. type PortRange struct { @@ -441,6 +3024,74 @@ type PortRange struct { Protocol *string `json:"protocol,omitempty"` } +// AssignProperties_From_PortRange populates our PortRange from the provided source PortRange +func (portRange *PortRange) AssignProperties_From_PortRange(source *storage.PortRange) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // PortEnd + portRange.PortEnd = genruntime.ClonePointerToInt(source.PortEnd) + + // PortStart + portRange.PortStart = genruntime.ClonePointerToInt(source.PortStart) + + // Protocol + portRange.Protocol = genruntime.ClonePointerToString(source.Protocol) + + // Update the property bag + if len(propertyBag) > 0 { + portRange.PropertyBag = propertyBag + } else { + portRange.PropertyBag = nil + } + + // Invoke the augmentConversionForPortRange interface (if implemented) to customize the conversion + var portRangeAsAny any = portRange + if augmentedPortRange, ok := portRangeAsAny.(augmentConversionForPortRange); ok { + err := augmentedPortRange.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_PortRange populates the provided destination PortRange from our PortRange +func (portRange *PortRange) AssignProperties_To_PortRange(destination *storage.PortRange) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(portRange.PropertyBag) + + // PortEnd + destination.PortEnd = genruntime.ClonePointerToInt(portRange.PortEnd) + + // PortStart + destination.PortStart = genruntime.ClonePointerToInt(portRange.PortStart) + + // Protocol + destination.Protocol = genruntime.ClonePointerToString(portRange.Protocol) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForPortRange interface (if implemented) to customize the conversion + var portRangeAsAny any = portRange + if augmentedPortRange, ok := portRangeAsAny.(augmentConversionForPortRange); ok { + err := augmentedPortRange.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + // Storage version of v1api20231001.PortRange_STATUS // The port range. type PortRange_STATUS struct { @@ -450,6 +3101,74 @@ type PortRange_STATUS struct { Protocol *string `json:"protocol,omitempty"` } +// AssignProperties_From_PortRange_STATUS populates our PortRange_STATUS from the provided source PortRange_STATUS +func (portRange *PortRange_STATUS) AssignProperties_From_PortRange_STATUS(source *storage.PortRange_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // PortEnd + portRange.PortEnd = genruntime.ClonePointerToInt(source.PortEnd) + + // PortStart + portRange.PortStart = genruntime.ClonePointerToInt(source.PortStart) + + // Protocol + portRange.Protocol = genruntime.ClonePointerToString(source.Protocol) + + // Update the property bag + if len(propertyBag) > 0 { + portRange.PropertyBag = propertyBag + } else { + portRange.PropertyBag = nil + } + + // Invoke the augmentConversionForPortRange_STATUS interface (if implemented) to customize the conversion + var portRangeAsAny any = portRange + if augmentedPortRange, ok := portRangeAsAny.(augmentConversionForPortRange_STATUS); ok { + err := augmentedPortRange.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_PortRange_STATUS populates the provided destination PortRange_STATUS from our PortRange_STATUS +func (portRange *PortRange_STATUS) AssignProperties_To_PortRange_STATUS(destination *storage.PortRange_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(portRange.PropertyBag) + + // PortEnd + destination.PortEnd = genruntime.ClonePointerToInt(portRange.PortEnd) + + // PortStart + destination.PortStart = genruntime.ClonePointerToInt(portRange.PortStart) + + // Protocol + destination.Protocol = genruntime.ClonePointerToString(portRange.Protocol) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForPortRange_STATUS interface (if implemented) to customize the conversion + var portRangeAsAny any = portRange + if augmentedPortRange, ok := portRangeAsAny.(augmentConversionForPortRange_STATUS); ok { + err := augmentedPortRange.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + // Storage version of v1api20231001.SysctlConfig // Sysctl settings for Linux agent nodes. type SysctlConfig struct { @@ -484,6 +3203,234 @@ type SysctlConfig struct { VmVfsCachePressure *int `json:"vmVfsCachePressure,omitempty"` } +// AssignProperties_From_SysctlConfig populates our SysctlConfig from the provided source SysctlConfig +func (config *SysctlConfig) AssignProperties_From_SysctlConfig(source *storage.SysctlConfig) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // FsAioMaxNr + config.FsAioMaxNr = genruntime.ClonePointerToInt(source.FsAioMaxNr) + + // FsFileMax + config.FsFileMax = genruntime.ClonePointerToInt(source.FsFileMax) + + // FsInotifyMaxUserWatches + config.FsInotifyMaxUserWatches = genruntime.ClonePointerToInt(source.FsInotifyMaxUserWatches) + + // FsNrOpen + config.FsNrOpen = genruntime.ClonePointerToInt(source.FsNrOpen) + + // KernelThreadsMax + config.KernelThreadsMax = genruntime.ClonePointerToInt(source.KernelThreadsMax) + + // NetCoreNetdevMaxBacklog + config.NetCoreNetdevMaxBacklog = genruntime.ClonePointerToInt(source.NetCoreNetdevMaxBacklog) + + // NetCoreOptmemMax + config.NetCoreOptmemMax = genruntime.ClonePointerToInt(source.NetCoreOptmemMax) + + // NetCoreRmemDefault + config.NetCoreRmemDefault = genruntime.ClonePointerToInt(source.NetCoreRmemDefault) + + // NetCoreRmemMax + config.NetCoreRmemMax = genruntime.ClonePointerToInt(source.NetCoreRmemMax) + + // NetCoreSomaxconn + config.NetCoreSomaxconn = genruntime.ClonePointerToInt(source.NetCoreSomaxconn) + + // NetCoreWmemDefault + config.NetCoreWmemDefault = genruntime.ClonePointerToInt(source.NetCoreWmemDefault) + + // NetCoreWmemMax + config.NetCoreWmemMax = genruntime.ClonePointerToInt(source.NetCoreWmemMax) + + // NetIpv4IpLocalPortRange + config.NetIpv4IpLocalPortRange = genruntime.ClonePointerToString(source.NetIpv4IpLocalPortRange) + + // NetIpv4NeighDefaultGcThresh1 + config.NetIpv4NeighDefaultGcThresh1 = genruntime.ClonePointerToInt(source.NetIpv4NeighDefaultGcThresh1) + + // NetIpv4NeighDefaultGcThresh2 + config.NetIpv4NeighDefaultGcThresh2 = genruntime.ClonePointerToInt(source.NetIpv4NeighDefaultGcThresh2) + + // NetIpv4NeighDefaultGcThresh3 + config.NetIpv4NeighDefaultGcThresh3 = genruntime.ClonePointerToInt(source.NetIpv4NeighDefaultGcThresh3) + + // NetIpv4TcpFinTimeout + config.NetIpv4TcpFinTimeout = genruntime.ClonePointerToInt(source.NetIpv4TcpFinTimeout) + + // NetIpv4TcpKeepaliveProbes + config.NetIpv4TcpKeepaliveProbes = genruntime.ClonePointerToInt(source.NetIpv4TcpKeepaliveProbes) + + // NetIpv4TcpKeepaliveTime + config.NetIpv4TcpKeepaliveTime = genruntime.ClonePointerToInt(source.NetIpv4TcpKeepaliveTime) + + // NetIpv4TcpMaxSynBacklog + config.NetIpv4TcpMaxSynBacklog = genruntime.ClonePointerToInt(source.NetIpv4TcpMaxSynBacklog) + + // NetIpv4TcpMaxTwBuckets + config.NetIpv4TcpMaxTwBuckets = genruntime.ClonePointerToInt(source.NetIpv4TcpMaxTwBuckets) + + // NetIpv4TcpTwReuse + if source.NetIpv4TcpTwReuse != nil { + netIpv4TcpTwReuse := *source.NetIpv4TcpTwReuse + config.NetIpv4TcpTwReuse = &netIpv4TcpTwReuse + } else { + config.NetIpv4TcpTwReuse = nil + } + + // NetIpv4TcpkeepaliveIntvl + config.NetIpv4TcpkeepaliveIntvl = genruntime.ClonePointerToInt(source.NetIpv4TcpkeepaliveIntvl) + + // NetNetfilterNfConntrackBuckets + config.NetNetfilterNfConntrackBuckets = genruntime.ClonePointerToInt(source.NetNetfilterNfConntrackBuckets) + + // NetNetfilterNfConntrackMax + config.NetNetfilterNfConntrackMax = genruntime.ClonePointerToInt(source.NetNetfilterNfConntrackMax) + + // VmMaxMapCount + config.VmMaxMapCount = genruntime.ClonePointerToInt(source.VmMaxMapCount) + + // VmSwappiness + config.VmSwappiness = genruntime.ClonePointerToInt(source.VmSwappiness) + + // VmVfsCachePressure + config.VmVfsCachePressure = genruntime.ClonePointerToInt(source.VmVfsCachePressure) + + // Update the property bag + if len(propertyBag) > 0 { + config.PropertyBag = propertyBag + } else { + config.PropertyBag = nil + } + + // Invoke the augmentConversionForSysctlConfig interface (if implemented) to customize the conversion + var configAsAny any = config + if augmentedConfig, ok := configAsAny.(augmentConversionForSysctlConfig); ok { + err := augmentedConfig.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_SysctlConfig populates the provided destination SysctlConfig from our SysctlConfig +func (config *SysctlConfig) AssignProperties_To_SysctlConfig(destination *storage.SysctlConfig) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(config.PropertyBag) + + // FsAioMaxNr + destination.FsAioMaxNr = genruntime.ClonePointerToInt(config.FsAioMaxNr) + + // FsFileMax + destination.FsFileMax = genruntime.ClonePointerToInt(config.FsFileMax) + + // FsInotifyMaxUserWatches + destination.FsInotifyMaxUserWatches = genruntime.ClonePointerToInt(config.FsInotifyMaxUserWatches) + + // FsNrOpen + destination.FsNrOpen = genruntime.ClonePointerToInt(config.FsNrOpen) + + // KernelThreadsMax + destination.KernelThreadsMax = genruntime.ClonePointerToInt(config.KernelThreadsMax) + + // NetCoreNetdevMaxBacklog + destination.NetCoreNetdevMaxBacklog = genruntime.ClonePointerToInt(config.NetCoreNetdevMaxBacklog) + + // NetCoreOptmemMax + destination.NetCoreOptmemMax = genruntime.ClonePointerToInt(config.NetCoreOptmemMax) + + // NetCoreRmemDefault + destination.NetCoreRmemDefault = genruntime.ClonePointerToInt(config.NetCoreRmemDefault) + + // NetCoreRmemMax + destination.NetCoreRmemMax = genruntime.ClonePointerToInt(config.NetCoreRmemMax) + + // NetCoreSomaxconn + destination.NetCoreSomaxconn = genruntime.ClonePointerToInt(config.NetCoreSomaxconn) + + // NetCoreWmemDefault + destination.NetCoreWmemDefault = genruntime.ClonePointerToInt(config.NetCoreWmemDefault) + + // NetCoreWmemMax + destination.NetCoreWmemMax = genruntime.ClonePointerToInt(config.NetCoreWmemMax) + + // NetIpv4IpLocalPortRange + destination.NetIpv4IpLocalPortRange = genruntime.ClonePointerToString(config.NetIpv4IpLocalPortRange) + + // NetIpv4NeighDefaultGcThresh1 + destination.NetIpv4NeighDefaultGcThresh1 = genruntime.ClonePointerToInt(config.NetIpv4NeighDefaultGcThresh1) + + // NetIpv4NeighDefaultGcThresh2 + destination.NetIpv4NeighDefaultGcThresh2 = genruntime.ClonePointerToInt(config.NetIpv4NeighDefaultGcThresh2) + + // NetIpv4NeighDefaultGcThresh3 + destination.NetIpv4NeighDefaultGcThresh3 = genruntime.ClonePointerToInt(config.NetIpv4NeighDefaultGcThresh3) + + // NetIpv4TcpFinTimeout + destination.NetIpv4TcpFinTimeout = genruntime.ClonePointerToInt(config.NetIpv4TcpFinTimeout) + + // NetIpv4TcpKeepaliveProbes + destination.NetIpv4TcpKeepaliveProbes = genruntime.ClonePointerToInt(config.NetIpv4TcpKeepaliveProbes) + + // NetIpv4TcpKeepaliveTime + destination.NetIpv4TcpKeepaliveTime = genruntime.ClonePointerToInt(config.NetIpv4TcpKeepaliveTime) + + // NetIpv4TcpMaxSynBacklog + destination.NetIpv4TcpMaxSynBacklog = genruntime.ClonePointerToInt(config.NetIpv4TcpMaxSynBacklog) + + // NetIpv4TcpMaxTwBuckets + destination.NetIpv4TcpMaxTwBuckets = genruntime.ClonePointerToInt(config.NetIpv4TcpMaxTwBuckets) + + // NetIpv4TcpTwReuse + if config.NetIpv4TcpTwReuse != nil { + netIpv4TcpTwReuse := *config.NetIpv4TcpTwReuse + destination.NetIpv4TcpTwReuse = &netIpv4TcpTwReuse + } else { + destination.NetIpv4TcpTwReuse = nil + } + + // NetIpv4TcpkeepaliveIntvl + destination.NetIpv4TcpkeepaliveIntvl = genruntime.ClonePointerToInt(config.NetIpv4TcpkeepaliveIntvl) + + // NetNetfilterNfConntrackBuckets + destination.NetNetfilterNfConntrackBuckets = genruntime.ClonePointerToInt(config.NetNetfilterNfConntrackBuckets) + + // NetNetfilterNfConntrackMax + destination.NetNetfilterNfConntrackMax = genruntime.ClonePointerToInt(config.NetNetfilterNfConntrackMax) + + // VmMaxMapCount + destination.VmMaxMapCount = genruntime.ClonePointerToInt(config.VmMaxMapCount) + + // VmSwappiness + destination.VmSwappiness = genruntime.ClonePointerToInt(config.VmSwappiness) + + // VmVfsCachePressure + destination.VmVfsCachePressure = genruntime.ClonePointerToInt(config.VmVfsCachePressure) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForSysctlConfig interface (if implemented) to customize the conversion + var configAsAny any = config + if augmentedConfig, ok := configAsAny.(augmentConversionForSysctlConfig); ok { + err := augmentedConfig.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + // Storage version of v1api20231001.SysctlConfig_STATUS // Sysctl settings for Linux agent nodes. type SysctlConfig_STATUS struct { @@ -518,6 +3465,264 @@ type SysctlConfig_STATUS struct { VmVfsCachePressure *int `json:"vmVfsCachePressure,omitempty"` } +// AssignProperties_From_SysctlConfig_STATUS populates our SysctlConfig_STATUS from the provided source SysctlConfig_STATUS +func (config *SysctlConfig_STATUS) AssignProperties_From_SysctlConfig_STATUS(source *storage.SysctlConfig_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // FsAioMaxNr + config.FsAioMaxNr = genruntime.ClonePointerToInt(source.FsAioMaxNr) + + // FsFileMax + config.FsFileMax = genruntime.ClonePointerToInt(source.FsFileMax) + + // FsInotifyMaxUserWatches + config.FsInotifyMaxUserWatches = genruntime.ClonePointerToInt(source.FsInotifyMaxUserWatches) + + // FsNrOpen + config.FsNrOpen = genruntime.ClonePointerToInt(source.FsNrOpen) + + // KernelThreadsMax + config.KernelThreadsMax = genruntime.ClonePointerToInt(source.KernelThreadsMax) + + // NetCoreNetdevMaxBacklog + config.NetCoreNetdevMaxBacklog = genruntime.ClonePointerToInt(source.NetCoreNetdevMaxBacklog) + + // NetCoreOptmemMax + config.NetCoreOptmemMax = genruntime.ClonePointerToInt(source.NetCoreOptmemMax) + + // NetCoreRmemDefault + config.NetCoreRmemDefault = genruntime.ClonePointerToInt(source.NetCoreRmemDefault) + + // NetCoreRmemMax + config.NetCoreRmemMax = genruntime.ClonePointerToInt(source.NetCoreRmemMax) + + // NetCoreSomaxconn + config.NetCoreSomaxconn = genruntime.ClonePointerToInt(source.NetCoreSomaxconn) + + // NetCoreWmemDefault + config.NetCoreWmemDefault = genruntime.ClonePointerToInt(source.NetCoreWmemDefault) + + // NetCoreWmemMax + config.NetCoreWmemMax = genruntime.ClonePointerToInt(source.NetCoreWmemMax) + + // NetIpv4IpLocalPortRange + config.NetIpv4IpLocalPortRange = genruntime.ClonePointerToString(source.NetIpv4IpLocalPortRange) + + // NetIpv4NeighDefaultGcThresh1 + config.NetIpv4NeighDefaultGcThresh1 = genruntime.ClonePointerToInt(source.NetIpv4NeighDefaultGcThresh1) + + // NetIpv4NeighDefaultGcThresh2 + config.NetIpv4NeighDefaultGcThresh2 = genruntime.ClonePointerToInt(source.NetIpv4NeighDefaultGcThresh2) + + // NetIpv4NeighDefaultGcThresh3 + config.NetIpv4NeighDefaultGcThresh3 = genruntime.ClonePointerToInt(source.NetIpv4NeighDefaultGcThresh3) + + // NetIpv4TcpFinTimeout + config.NetIpv4TcpFinTimeout = genruntime.ClonePointerToInt(source.NetIpv4TcpFinTimeout) + + // NetIpv4TcpKeepaliveProbes + config.NetIpv4TcpKeepaliveProbes = genruntime.ClonePointerToInt(source.NetIpv4TcpKeepaliveProbes) + + // NetIpv4TcpKeepaliveTime + config.NetIpv4TcpKeepaliveTime = genruntime.ClonePointerToInt(source.NetIpv4TcpKeepaliveTime) + + // NetIpv4TcpMaxSynBacklog + config.NetIpv4TcpMaxSynBacklog = genruntime.ClonePointerToInt(source.NetIpv4TcpMaxSynBacklog) + + // NetIpv4TcpMaxTwBuckets + config.NetIpv4TcpMaxTwBuckets = genruntime.ClonePointerToInt(source.NetIpv4TcpMaxTwBuckets) + + // NetIpv4TcpTwReuse + if source.NetIpv4TcpTwReuse != nil { + netIpv4TcpTwReuse := *source.NetIpv4TcpTwReuse + config.NetIpv4TcpTwReuse = &netIpv4TcpTwReuse + } else { + config.NetIpv4TcpTwReuse = nil + } + + // NetIpv4TcpkeepaliveIntvl + config.NetIpv4TcpkeepaliveIntvl = genruntime.ClonePointerToInt(source.NetIpv4TcpkeepaliveIntvl) + + // NetNetfilterNfConntrackBuckets + config.NetNetfilterNfConntrackBuckets = genruntime.ClonePointerToInt(source.NetNetfilterNfConntrackBuckets) + + // NetNetfilterNfConntrackMax + config.NetNetfilterNfConntrackMax = genruntime.ClonePointerToInt(source.NetNetfilterNfConntrackMax) + + // VmMaxMapCount + config.VmMaxMapCount = genruntime.ClonePointerToInt(source.VmMaxMapCount) + + // VmSwappiness + config.VmSwappiness = genruntime.ClonePointerToInt(source.VmSwappiness) + + // VmVfsCachePressure + config.VmVfsCachePressure = genruntime.ClonePointerToInt(source.VmVfsCachePressure) + + // Update the property bag + if len(propertyBag) > 0 { + config.PropertyBag = propertyBag + } else { + config.PropertyBag = nil + } + + // Invoke the augmentConversionForSysctlConfig_STATUS interface (if implemented) to customize the conversion + var configAsAny any = config + if augmentedConfig, ok := configAsAny.(augmentConversionForSysctlConfig_STATUS); ok { + err := augmentedConfig.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_SysctlConfig_STATUS populates the provided destination SysctlConfig_STATUS from our SysctlConfig_STATUS +func (config *SysctlConfig_STATUS) AssignProperties_To_SysctlConfig_STATUS(destination *storage.SysctlConfig_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(config.PropertyBag) + + // FsAioMaxNr + destination.FsAioMaxNr = genruntime.ClonePointerToInt(config.FsAioMaxNr) + + // FsFileMax + destination.FsFileMax = genruntime.ClonePointerToInt(config.FsFileMax) + + // FsInotifyMaxUserWatches + destination.FsInotifyMaxUserWatches = genruntime.ClonePointerToInt(config.FsInotifyMaxUserWatches) + + // FsNrOpen + destination.FsNrOpen = genruntime.ClonePointerToInt(config.FsNrOpen) + + // KernelThreadsMax + destination.KernelThreadsMax = genruntime.ClonePointerToInt(config.KernelThreadsMax) + + // NetCoreNetdevMaxBacklog + destination.NetCoreNetdevMaxBacklog = genruntime.ClonePointerToInt(config.NetCoreNetdevMaxBacklog) + + // NetCoreOptmemMax + destination.NetCoreOptmemMax = genruntime.ClonePointerToInt(config.NetCoreOptmemMax) + + // NetCoreRmemDefault + destination.NetCoreRmemDefault = genruntime.ClonePointerToInt(config.NetCoreRmemDefault) + + // NetCoreRmemMax + destination.NetCoreRmemMax = genruntime.ClonePointerToInt(config.NetCoreRmemMax) + + // NetCoreSomaxconn + destination.NetCoreSomaxconn = genruntime.ClonePointerToInt(config.NetCoreSomaxconn) + + // NetCoreWmemDefault + destination.NetCoreWmemDefault = genruntime.ClonePointerToInt(config.NetCoreWmemDefault) + + // NetCoreWmemMax + destination.NetCoreWmemMax = genruntime.ClonePointerToInt(config.NetCoreWmemMax) + + // NetIpv4IpLocalPortRange + destination.NetIpv4IpLocalPortRange = genruntime.ClonePointerToString(config.NetIpv4IpLocalPortRange) + + // NetIpv4NeighDefaultGcThresh1 + destination.NetIpv4NeighDefaultGcThresh1 = genruntime.ClonePointerToInt(config.NetIpv4NeighDefaultGcThresh1) + + // NetIpv4NeighDefaultGcThresh2 + destination.NetIpv4NeighDefaultGcThresh2 = genruntime.ClonePointerToInt(config.NetIpv4NeighDefaultGcThresh2) + + // NetIpv4NeighDefaultGcThresh3 + destination.NetIpv4NeighDefaultGcThresh3 = genruntime.ClonePointerToInt(config.NetIpv4NeighDefaultGcThresh3) + + // NetIpv4TcpFinTimeout + destination.NetIpv4TcpFinTimeout = genruntime.ClonePointerToInt(config.NetIpv4TcpFinTimeout) + + // NetIpv4TcpKeepaliveProbes + destination.NetIpv4TcpKeepaliveProbes = genruntime.ClonePointerToInt(config.NetIpv4TcpKeepaliveProbes) + + // NetIpv4TcpKeepaliveTime + destination.NetIpv4TcpKeepaliveTime = genruntime.ClonePointerToInt(config.NetIpv4TcpKeepaliveTime) + + // NetIpv4TcpMaxSynBacklog + destination.NetIpv4TcpMaxSynBacklog = genruntime.ClonePointerToInt(config.NetIpv4TcpMaxSynBacklog) + + // NetIpv4TcpMaxTwBuckets + destination.NetIpv4TcpMaxTwBuckets = genruntime.ClonePointerToInt(config.NetIpv4TcpMaxTwBuckets) + + // NetIpv4TcpTwReuse + if config.NetIpv4TcpTwReuse != nil { + netIpv4TcpTwReuse := *config.NetIpv4TcpTwReuse + destination.NetIpv4TcpTwReuse = &netIpv4TcpTwReuse + } else { + destination.NetIpv4TcpTwReuse = nil + } + + // NetIpv4TcpkeepaliveIntvl + destination.NetIpv4TcpkeepaliveIntvl = genruntime.ClonePointerToInt(config.NetIpv4TcpkeepaliveIntvl) + + // NetNetfilterNfConntrackBuckets + destination.NetNetfilterNfConntrackBuckets = genruntime.ClonePointerToInt(config.NetNetfilterNfConntrackBuckets) + + // NetNetfilterNfConntrackMax + destination.NetNetfilterNfConntrackMax = genruntime.ClonePointerToInt(config.NetNetfilterNfConntrackMax) + + // VmMaxMapCount + destination.VmMaxMapCount = genruntime.ClonePointerToInt(config.VmMaxMapCount) + + // VmSwappiness + destination.VmSwappiness = genruntime.ClonePointerToInt(config.VmSwappiness) + + // VmVfsCachePressure + destination.VmVfsCachePressure = genruntime.ClonePointerToInt(config.VmVfsCachePressure) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForSysctlConfig_STATUS interface (if implemented) to customize the conversion + var configAsAny any = config + if augmentedConfig, ok := configAsAny.(augmentConversionForSysctlConfig_STATUS); ok { + err := augmentedConfig.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +type augmentConversionForIPTag interface { + AssignPropertiesFrom(src *storage.IPTag) error + AssignPropertiesTo(dst *storage.IPTag) error +} + +type augmentConversionForIPTag_STATUS interface { + AssignPropertiesFrom(src *storage.IPTag_STATUS) error + AssignPropertiesTo(dst *storage.IPTag_STATUS) error +} + +type augmentConversionForPortRange interface { + AssignPropertiesFrom(src *storage.PortRange) error + AssignPropertiesTo(dst *storage.PortRange) error +} + +type augmentConversionForPortRange_STATUS interface { + AssignPropertiesFrom(src *storage.PortRange_STATUS) error + AssignPropertiesTo(dst *storage.PortRange_STATUS) error +} + +type augmentConversionForSysctlConfig interface { + AssignPropertiesFrom(src *storage.SysctlConfig) error + AssignPropertiesTo(dst *storage.SysctlConfig) error +} + +type augmentConversionForSysctlConfig_STATUS interface { + AssignPropertiesFrom(src *storage.SysctlConfig_STATUS) error + AssignPropertiesTo(dst *storage.SysctlConfig_STATUS) error +} + func init() { SchemeBuilder.Register(&ManagedClustersAgentPool{}, &ManagedClustersAgentPoolList{}) } diff --git a/v2/api/containerservice/v1api20231001/storage/managed_clusters_agent_pool_types_gen_test.go b/v2/api/containerservice/v1api20231001/storage/managed_clusters_agent_pool_types_gen_test.go index 72fca8d2a18..37f0bc23e40 100644 --- a/v2/api/containerservice/v1api20231001/storage/managed_clusters_agent_pool_types_gen_test.go +++ b/v2/api/containerservice/v1api20231001/storage/managed_clusters_agent_pool_types_gen_test.go @@ -5,6 +5,7 @@ package storage import ( "encoding/json" + storage "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20240901/storage" "github.com/google/go-cmp/cmp" "github.com/google/go-cmp/cmp/cmpopts" "github.com/kr/pretty" @@ -17,6 +18,48 @@ import ( "testing" ) +func Test_AgentPoolNetworkProfile_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from AgentPoolNetworkProfile to AgentPoolNetworkProfile via AssignProperties_To_AgentPoolNetworkProfile & AssignProperties_From_AgentPoolNetworkProfile returns original", + prop.ForAll(RunPropertyAssignmentTestForAgentPoolNetworkProfile, AgentPoolNetworkProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForAgentPoolNetworkProfile tests if a specific instance of AgentPoolNetworkProfile can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForAgentPoolNetworkProfile(subject AgentPoolNetworkProfile) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.AgentPoolNetworkProfile + err := copied.AssignProperties_To_AgentPoolNetworkProfile(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual AgentPoolNetworkProfile + err = actual.AssignProperties_From_AgentPoolNetworkProfile(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_AgentPoolNetworkProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -79,6 +122,48 @@ func AddRelatedPropertyGeneratorsForAgentPoolNetworkProfile(gens map[string]gopt gens["NodePublicIPTags"] = gen.SliceOf(IPTagGenerator()) } +func Test_AgentPoolNetworkProfile_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from AgentPoolNetworkProfile_STATUS to AgentPoolNetworkProfile_STATUS via AssignProperties_To_AgentPoolNetworkProfile_STATUS & AssignProperties_From_AgentPoolNetworkProfile_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForAgentPoolNetworkProfile_STATUS, AgentPoolNetworkProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForAgentPoolNetworkProfile_STATUS tests if a specific instance of AgentPoolNetworkProfile_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForAgentPoolNetworkProfile_STATUS(subject AgentPoolNetworkProfile_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.AgentPoolNetworkProfile_STATUS + err := copied.AssignProperties_To_AgentPoolNetworkProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual AgentPoolNetworkProfile_STATUS + err = actual.AssignProperties_From_AgentPoolNetworkProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_AgentPoolNetworkProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -155,6 +240,48 @@ func AddRelatedPropertyGeneratorsForAgentPoolNetworkProfile_STATUS(gens map[stri gens["NodePublicIPTags"] = gen.SliceOf(IPTag_STATUSGenerator()) } +func Test_AgentPoolUpgradeSettings_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from AgentPoolUpgradeSettings to AgentPoolUpgradeSettings via AssignProperties_To_AgentPoolUpgradeSettings & AssignProperties_From_AgentPoolUpgradeSettings returns original", + prop.ForAll(RunPropertyAssignmentTestForAgentPoolUpgradeSettings, AgentPoolUpgradeSettingsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForAgentPoolUpgradeSettings tests if a specific instance of AgentPoolUpgradeSettings can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForAgentPoolUpgradeSettings(subject AgentPoolUpgradeSettings) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.AgentPoolUpgradeSettings + err := copied.AssignProperties_To_AgentPoolUpgradeSettings(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual AgentPoolUpgradeSettings + err = actual.AssignProperties_From_AgentPoolUpgradeSettings(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_AgentPoolUpgradeSettings_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -217,6 +344,48 @@ func AddIndependentPropertyGeneratorsForAgentPoolUpgradeSettings(gens map[string gens["MaxSurge"] = gen.PtrOf(gen.AlphaString()) } +func Test_AgentPoolUpgradeSettings_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from AgentPoolUpgradeSettings_STATUS to AgentPoolUpgradeSettings_STATUS via AssignProperties_To_AgentPoolUpgradeSettings_STATUS & AssignProperties_From_AgentPoolUpgradeSettings_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForAgentPoolUpgradeSettings_STATUS, AgentPoolUpgradeSettings_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForAgentPoolUpgradeSettings_STATUS tests if a specific instance of AgentPoolUpgradeSettings_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForAgentPoolUpgradeSettings_STATUS(subject AgentPoolUpgradeSettings_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.AgentPoolUpgradeSettings_STATUS + err := copied.AssignProperties_To_AgentPoolUpgradeSettings_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual AgentPoolUpgradeSettings_STATUS + err = actual.AssignProperties_From_AgentPoolUpgradeSettings_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_AgentPoolUpgradeSettings_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -279,6 +448,48 @@ func AddIndependentPropertyGeneratorsForAgentPoolUpgradeSettings_STATUS(gens map gens["MaxSurge"] = gen.PtrOf(gen.AlphaString()) } +func Test_CreationData_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from CreationData to CreationData via AssignProperties_To_CreationData & AssignProperties_From_CreationData returns original", + prop.ForAll(RunPropertyAssignmentTestForCreationData, CreationDataGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForCreationData tests if a specific instance of CreationData can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForCreationData(subject CreationData) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.CreationData + err := copied.AssignProperties_To_CreationData(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual CreationData + err = actual.AssignProperties_From_CreationData(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_CreationData_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -333,6 +544,48 @@ func CreationDataGenerator() gopter.Gen { return creationDataGenerator } +func Test_CreationData_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from CreationData_STATUS to CreationData_STATUS via AssignProperties_To_CreationData_STATUS & AssignProperties_From_CreationData_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForCreationData_STATUS, CreationData_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForCreationData_STATUS tests if a specific instance of CreationData_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForCreationData_STATUS(subject CreationData_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.CreationData_STATUS + err := copied.AssignProperties_To_CreationData_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual CreationData_STATUS + err = actual.AssignProperties_From_CreationData_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_CreationData_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -394,6 +647,48 @@ func AddIndependentPropertyGeneratorsForCreationData_STATUS(gens map[string]gopt gens["SourceResourceId"] = gen.PtrOf(gen.AlphaString()) } +func Test_IPTag_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from IPTag to IPTag via AssignProperties_To_IPTag & AssignProperties_From_IPTag returns original", + prop.ForAll(RunPropertyAssignmentTestForIPTag, IPTagGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForIPTag tests if a specific instance of IPTag can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForIPTag(subject IPTag) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.IPTag + err := copied.AssignProperties_To_IPTag(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual IPTag + err = actual.AssignProperties_From_IPTag(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_IPTag_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -455,6 +750,48 @@ func AddIndependentPropertyGeneratorsForIPTag(gens map[string]gopter.Gen) { gens["Tag"] = gen.PtrOf(gen.AlphaString()) } +func Test_IPTag_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from IPTag_STATUS to IPTag_STATUS via AssignProperties_To_IPTag_STATUS & AssignProperties_From_IPTag_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForIPTag_STATUS, IPTag_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForIPTag_STATUS tests if a specific instance of IPTag_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForIPTag_STATUS(subject IPTag_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.IPTag_STATUS + err := copied.AssignProperties_To_IPTag_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual IPTag_STATUS + err = actual.AssignProperties_From_IPTag_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_IPTag_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -516,6 +853,48 @@ func AddIndependentPropertyGeneratorsForIPTag_STATUS(gens map[string]gopter.Gen) gens["Tag"] = gen.PtrOf(gen.AlphaString()) } +func Test_KubeletConfig_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from KubeletConfig to KubeletConfig via AssignProperties_To_KubeletConfig & AssignProperties_From_KubeletConfig returns original", + prop.ForAll(RunPropertyAssignmentTestForKubeletConfig, KubeletConfigGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForKubeletConfig tests if a specific instance of KubeletConfig can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForKubeletConfig(subject KubeletConfig) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.KubeletConfig + err := copied.AssignProperties_To_KubeletConfig(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual KubeletConfig + err = actual.AssignProperties_From_KubeletConfig(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_KubeletConfig_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -586,6 +965,48 @@ func AddIndependentPropertyGeneratorsForKubeletConfig(gens map[string]gopter.Gen gens["TopologyManagerPolicy"] = gen.PtrOf(gen.AlphaString()) } +func Test_KubeletConfig_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from KubeletConfig_STATUS to KubeletConfig_STATUS via AssignProperties_To_KubeletConfig_STATUS & AssignProperties_From_KubeletConfig_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForKubeletConfig_STATUS, KubeletConfig_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForKubeletConfig_STATUS tests if a specific instance of KubeletConfig_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForKubeletConfig_STATUS(subject KubeletConfig_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.KubeletConfig_STATUS + err := copied.AssignProperties_To_KubeletConfig_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual KubeletConfig_STATUS + err = actual.AssignProperties_From_KubeletConfig_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_KubeletConfig_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -657,6 +1078,48 @@ func AddIndependentPropertyGeneratorsForKubeletConfig_STATUS(gens map[string]gop gens["TopologyManagerPolicy"] = gen.PtrOf(gen.AlphaString()) } +func Test_LinuxOSConfig_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from LinuxOSConfig to LinuxOSConfig via AssignProperties_To_LinuxOSConfig & AssignProperties_From_LinuxOSConfig returns original", + prop.ForAll(RunPropertyAssignmentTestForLinuxOSConfig, LinuxOSConfigGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForLinuxOSConfig tests if a specific instance of LinuxOSConfig can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForLinuxOSConfig(subject LinuxOSConfig) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.LinuxOSConfig + err := copied.AssignProperties_To_LinuxOSConfig(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual LinuxOSConfig + err = actual.AssignProperties_From_LinuxOSConfig(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_LinuxOSConfig_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -728,9 +1191,51 @@ func AddIndependentPropertyGeneratorsForLinuxOSConfig(gens map[string]gopter.Gen gens["TransparentHugePageEnabled"] = gen.PtrOf(gen.AlphaString()) } -// AddRelatedPropertyGeneratorsForLinuxOSConfig is a factory method for creating gopter generators -func AddRelatedPropertyGeneratorsForLinuxOSConfig(gens map[string]gopter.Gen) { - gens["Sysctls"] = gen.PtrOf(SysctlConfigGenerator()) +// AddRelatedPropertyGeneratorsForLinuxOSConfig is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForLinuxOSConfig(gens map[string]gopter.Gen) { + gens["Sysctls"] = gen.PtrOf(SysctlConfigGenerator()) +} + +func Test_LinuxOSConfig_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from LinuxOSConfig_STATUS to LinuxOSConfig_STATUS via AssignProperties_To_LinuxOSConfig_STATUS & AssignProperties_From_LinuxOSConfig_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForLinuxOSConfig_STATUS, LinuxOSConfig_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForLinuxOSConfig_STATUS tests if a specific instance of LinuxOSConfig_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForLinuxOSConfig_STATUS(subject LinuxOSConfig_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.LinuxOSConfig_STATUS + err := copied.AssignProperties_To_LinuxOSConfig_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual LinuxOSConfig_STATUS + err = actual.AssignProperties_From_LinuxOSConfig_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" } func Test_LinuxOSConfig_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { @@ -810,6 +1315,91 @@ func AddRelatedPropertyGeneratorsForLinuxOSConfig_STATUS(gens map[string]gopter. gens["Sysctls"] = gen.PtrOf(SysctlConfig_STATUSGenerator()) } +func Test_ManagedClustersAgentPool_WhenConvertedToHub_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + parameters.MinSuccessfulTests = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClustersAgentPool to hub returns original", + prop.ForAll(RunResourceConversionTestForManagedClustersAgentPool, ManagedClustersAgentPoolGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunResourceConversionTestForManagedClustersAgentPool tests if a specific instance of ManagedClustersAgentPool round trips to the hub storage version and back losslessly +func RunResourceConversionTestForManagedClustersAgentPool(subject ManagedClustersAgentPool) string { + // Copy subject to make sure conversion doesn't modify it + copied := subject.DeepCopy() + + // Convert to our hub version + var hub storage.ManagedClustersAgentPool + err := copied.ConvertTo(&hub) + if err != nil { + return err.Error() + } + + // Convert from our hub version + var actual ManagedClustersAgentPool + err = actual.ConvertFrom(&hub) + if err != nil { + return err.Error() + } + + // Compare actual with what we started with + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ManagedClustersAgentPool_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClustersAgentPool to ManagedClustersAgentPool via AssignProperties_To_ManagedClustersAgentPool & AssignProperties_From_ManagedClustersAgentPool returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClustersAgentPool, ManagedClustersAgentPoolGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClustersAgentPool tests if a specific instance of ManagedClustersAgentPool can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClustersAgentPool(subject ManagedClustersAgentPool) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClustersAgentPool + err := copied.AssignProperties_To_ManagedClustersAgentPool(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClustersAgentPool + err = actual.AssignProperties_From_ManagedClustersAgentPool(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_ManagedClustersAgentPool_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -872,6 +1462,48 @@ func AddRelatedPropertyGeneratorsForManagedClustersAgentPool(gens map[string]gop gens["Status"] = ManagedClustersAgentPool_STATUSGenerator() } +func Test_ManagedClustersAgentPool_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClustersAgentPool_STATUS to ManagedClustersAgentPool_STATUS via AssignProperties_To_ManagedClustersAgentPool_STATUS & AssignProperties_From_ManagedClustersAgentPool_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClustersAgentPool_STATUS, ManagedClustersAgentPool_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClustersAgentPool_STATUS tests if a specific instance of ManagedClustersAgentPool_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClustersAgentPool_STATUS(subject ManagedClustersAgentPool_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClustersAgentPool_STATUS + err := copied.AssignProperties_To_ManagedClustersAgentPool_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClustersAgentPool_STATUS + err = actual.AssignProperties_From_ManagedClustersAgentPool_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_ManagedClustersAgentPool_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -995,6 +1627,48 @@ func AddRelatedPropertyGeneratorsForManagedClustersAgentPool_STATUS(gens map[str gens["UpgradeSettings"] = gen.PtrOf(AgentPoolUpgradeSettings_STATUSGenerator()) } +func Test_ManagedClustersAgentPool_Spec_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClustersAgentPool_Spec to ManagedClustersAgentPool_Spec via AssignProperties_To_ManagedClustersAgentPool_Spec & AssignProperties_From_ManagedClustersAgentPool_Spec returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClustersAgentPool_Spec, ManagedClustersAgentPool_SpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClustersAgentPool_Spec tests if a specific instance of ManagedClustersAgentPool_Spec can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClustersAgentPool_Spec(subject ManagedClustersAgentPool_Spec) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClustersAgentPool_Spec + err := copied.AssignProperties_To_ManagedClustersAgentPool_Spec(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClustersAgentPool_Spec + err = actual.AssignProperties_From_ManagedClustersAgentPool_Spec(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_ManagedClustersAgentPool_Spec_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -1108,6 +1782,48 @@ func AddRelatedPropertyGeneratorsForManagedClustersAgentPool_Spec(gens map[strin gens["UpgradeSettings"] = gen.PtrOf(AgentPoolUpgradeSettingsGenerator()) } +func Test_PortRange_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from PortRange to PortRange via AssignProperties_To_PortRange & AssignProperties_From_PortRange returns original", + prop.ForAll(RunPropertyAssignmentTestForPortRange, PortRangeGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForPortRange tests if a specific instance of PortRange can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForPortRange(subject PortRange) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.PortRange + err := copied.AssignProperties_To_PortRange(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual PortRange + err = actual.AssignProperties_From_PortRange(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_PortRange_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -1170,6 +1886,48 @@ func AddIndependentPropertyGeneratorsForPortRange(gens map[string]gopter.Gen) { gens["Protocol"] = gen.PtrOf(gen.AlphaString()) } +func Test_PortRange_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from PortRange_STATUS to PortRange_STATUS via AssignProperties_To_PortRange_STATUS & AssignProperties_From_PortRange_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForPortRange_STATUS, PortRange_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForPortRange_STATUS tests if a specific instance of PortRange_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForPortRange_STATUS(subject PortRange_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.PortRange_STATUS + err := copied.AssignProperties_To_PortRange_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual PortRange_STATUS + err = actual.AssignProperties_From_PortRange_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_PortRange_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -1232,6 +1990,48 @@ func AddIndependentPropertyGeneratorsForPortRange_STATUS(gens map[string]gopter. gens["Protocol"] = gen.PtrOf(gen.AlphaString()) } +func Test_PowerState_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from PowerState to PowerState via AssignProperties_To_PowerState & AssignProperties_From_PowerState returns original", + prop.ForAll(RunPropertyAssignmentTestForPowerState, PowerStateGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForPowerState tests if a specific instance of PowerState can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForPowerState(subject PowerState) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.PowerState + err := copied.AssignProperties_To_PowerState(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual PowerState + err = actual.AssignProperties_From_PowerState(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_PowerState_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -1292,6 +2092,48 @@ func AddIndependentPropertyGeneratorsForPowerState(gens map[string]gopter.Gen) { gens["Code"] = gen.PtrOf(gen.AlphaString()) } +func Test_SysctlConfig_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from SysctlConfig to SysctlConfig via AssignProperties_To_SysctlConfig & AssignProperties_From_SysctlConfig returns original", + prop.ForAll(RunPropertyAssignmentTestForSysctlConfig, SysctlConfigGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForSysctlConfig tests if a specific instance of SysctlConfig can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForSysctlConfig(subject SysctlConfig) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.SysctlConfig + err := copied.AssignProperties_To_SysctlConfig(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual SysctlConfig + err = actual.AssignProperties_From_SysctlConfig(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_SysctlConfig_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -1379,6 +2221,48 @@ func AddIndependentPropertyGeneratorsForSysctlConfig(gens map[string]gopter.Gen) gens["VmVfsCachePressure"] = gen.PtrOf(gen.Int()) } +func Test_SysctlConfig_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from SysctlConfig_STATUS to SysctlConfig_STATUS via AssignProperties_To_SysctlConfig_STATUS & AssignProperties_From_SysctlConfig_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForSysctlConfig_STATUS, SysctlConfig_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForSysctlConfig_STATUS tests if a specific instance of SysctlConfig_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForSysctlConfig_STATUS(subject SysctlConfig_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.SysctlConfig_STATUS + err := copied.AssignProperties_To_SysctlConfig_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual SysctlConfig_STATUS + err = actual.AssignProperties_From_SysctlConfig_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_SysctlConfig_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() diff --git a/v2/api/containerservice/v1api20231001/storage/structure.txt b/v2/api/containerservice/v1api20231001/storage/structure.txt index b6e937e515c..12578b78b51 100644 --- a/v2/api/containerservice/v1api20231001/storage/structure.txt +++ b/v2/api/containerservice/v1api20231001/storage/structure.txt @@ -1070,3 +1070,154 @@ TrustedAccessRoleBinding: Resource │ ├── LastModifiedByType: *string │ └── PropertyBag: genruntime.PropertyBag └── Type: *string +augmentConversionForAgentPoolNetworkProfile: Interface +augmentConversionForAgentPoolNetworkProfile_STATUS: Interface +augmentConversionForAgentPoolUpgradeSettings: Interface +augmentConversionForAgentPoolUpgradeSettings_STATUS: Interface +augmentConversionForAzureKeyVaultKms: Interface +augmentConversionForAzureKeyVaultKms_STATUS: Interface +augmentConversionForClusterUpgradeSettings: Interface +augmentConversionForClusterUpgradeSettings_STATUS: Interface +augmentConversionForContainerServiceLinuxProfile: Interface +augmentConversionForContainerServiceLinuxProfile_STATUS: Interface +augmentConversionForContainerServiceNetworkProfile: Interface +augmentConversionForContainerServiceNetworkProfile_STATUS: Interface +augmentConversionForContainerServiceSshConfiguration: Interface +augmentConversionForContainerServiceSshConfiguration_STATUS: Interface +augmentConversionForContainerServiceSshPublicKey: Interface +augmentConversionForContainerServiceSshPublicKey_STATUS: Interface +augmentConversionForCreationData: Interface +augmentConversionForCreationData_STATUS: Interface +augmentConversionForDelegatedResource: Interface +augmentConversionForDelegatedResource_STATUS: Interface +augmentConversionForExtendedLocation: Interface +augmentConversionForExtendedLocation_STATUS: Interface +augmentConversionForIPTag: Interface +augmentConversionForIPTag_STATUS: Interface +augmentConversionForIstioCertificateAuthority: Interface +augmentConversionForIstioCertificateAuthority_STATUS: Interface +augmentConversionForIstioComponents: Interface +augmentConversionForIstioComponents_STATUS: Interface +augmentConversionForIstioEgressGateway: Interface +augmentConversionForIstioEgressGateway_STATUS: Interface +augmentConversionForIstioIngressGateway: Interface +augmentConversionForIstioIngressGateway_STATUS: Interface +augmentConversionForIstioPluginCertificateAuthority: Interface +augmentConversionForIstioPluginCertificateAuthority_STATUS: Interface +augmentConversionForIstioServiceMesh: Interface +augmentConversionForIstioServiceMesh_STATUS: Interface +augmentConversionForKubeletConfig: Interface +augmentConversionForKubeletConfig_STATUS: Interface +augmentConversionForLinuxOSConfig: Interface +augmentConversionForLinuxOSConfig_STATUS: Interface +augmentConversionForManagedCluster: Interface +augmentConversionForManagedClusterAADProfile: Interface +augmentConversionForManagedClusterAADProfile_STATUS: Interface +augmentConversionForManagedClusterAPIServerAccessProfile: Interface +augmentConversionForManagedClusterAPIServerAccessProfile_STATUS: Interface +augmentConversionForManagedClusterAddonProfile: Interface +augmentConversionForManagedClusterAddonProfile_STATUS: Interface +augmentConversionForManagedClusterAgentPoolProfile: Interface +augmentConversionForManagedClusterAgentPoolProfile_STATUS: Interface +augmentConversionForManagedClusterAutoUpgradeProfile: Interface +augmentConversionForManagedClusterAutoUpgradeProfile_STATUS: Interface +augmentConversionForManagedClusterAzureMonitorProfile: Interface +augmentConversionForManagedClusterAzureMonitorProfileKubeStateMetrics: Interface +augmentConversionForManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS: Interface +augmentConversionForManagedClusterAzureMonitorProfileMetrics: Interface +augmentConversionForManagedClusterAzureMonitorProfileMetrics_STATUS: Interface +augmentConversionForManagedClusterAzureMonitorProfile_STATUS: Interface +augmentConversionForManagedClusterHTTPProxyConfig: Interface +augmentConversionForManagedClusterHTTPProxyConfig_STATUS: Interface +augmentConversionForManagedClusterIdentity: Interface +augmentConversionForManagedClusterIdentity_STATUS: Interface +augmentConversionForManagedClusterIdentity_UserAssignedIdentities_STATUS: Interface +augmentConversionForManagedClusterLoadBalancerProfile: Interface +augmentConversionForManagedClusterLoadBalancerProfile_ManagedOutboundIPs: Interface +augmentConversionForManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS: Interface +augmentConversionForManagedClusterLoadBalancerProfile_OutboundIPPrefixes: Interface +augmentConversionForManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS: Interface +augmentConversionForManagedClusterLoadBalancerProfile_OutboundIPs: Interface +augmentConversionForManagedClusterLoadBalancerProfile_OutboundIPs_STATUS: Interface +augmentConversionForManagedClusterLoadBalancerProfile_STATUS: Interface +augmentConversionForManagedClusterManagedOutboundIPProfile: Interface +augmentConversionForManagedClusterManagedOutboundIPProfile_STATUS: Interface +augmentConversionForManagedClusterNATGatewayProfile: Interface +augmentConversionForManagedClusterNATGatewayProfile_STATUS: Interface +augmentConversionForManagedClusterOIDCIssuerProfile: Interface +augmentConversionForManagedClusterOIDCIssuerProfile_STATUS: Interface +augmentConversionForManagedClusterOperatorConfigMaps: Interface +augmentConversionForManagedClusterOperatorSecrets: Interface +augmentConversionForManagedClusterOperatorSpec: Interface +augmentConversionForManagedClusterPodIdentity: Interface +augmentConversionForManagedClusterPodIdentityException: Interface +augmentConversionForManagedClusterPodIdentityException_STATUS: Interface +augmentConversionForManagedClusterPodIdentityProfile: Interface +augmentConversionForManagedClusterPodIdentityProfile_STATUS: Interface +augmentConversionForManagedClusterPodIdentityProvisioningErrorBody_STATUS: Interface +augmentConversionForManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled: Interface +augmentConversionForManagedClusterPodIdentityProvisioningError_STATUS: Interface +augmentConversionForManagedClusterPodIdentity_ProvisioningInfo_STATUS: Interface +augmentConversionForManagedClusterPodIdentity_STATUS: Interface +augmentConversionForManagedClusterProperties_AutoScalerProfile: Interface +augmentConversionForManagedClusterProperties_AutoScalerProfile_STATUS: Interface +augmentConversionForManagedClusterSKU: Interface +augmentConversionForManagedClusterSKU_STATUS: Interface +augmentConversionForManagedClusterSecurityProfile: Interface +augmentConversionForManagedClusterSecurityProfileDefender: Interface +augmentConversionForManagedClusterSecurityProfileDefenderSecurityMonitoring: Interface +augmentConversionForManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS: Interface +augmentConversionForManagedClusterSecurityProfileDefender_STATUS: Interface +augmentConversionForManagedClusterSecurityProfileImageCleaner: Interface +augmentConversionForManagedClusterSecurityProfileImageCleaner_STATUS: Interface +augmentConversionForManagedClusterSecurityProfileWorkloadIdentity: Interface +augmentConversionForManagedClusterSecurityProfileWorkloadIdentity_STATUS: Interface +augmentConversionForManagedClusterSecurityProfile_STATUS: Interface +augmentConversionForManagedClusterServicePrincipalProfile: Interface +augmentConversionForManagedClusterServicePrincipalProfile_STATUS: Interface +augmentConversionForManagedClusterStorageProfile: Interface +augmentConversionForManagedClusterStorageProfileBlobCSIDriver: Interface +augmentConversionForManagedClusterStorageProfileBlobCSIDriver_STATUS: Interface +augmentConversionForManagedClusterStorageProfileDiskCSIDriver: Interface +augmentConversionForManagedClusterStorageProfileDiskCSIDriver_STATUS: Interface +augmentConversionForManagedClusterStorageProfileFileCSIDriver: Interface +augmentConversionForManagedClusterStorageProfileFileCSIDriver_STATUS: Interface +augmentConversionForManagedClusterStorageProfileSnapshotController: Interface +augmentConversionForManagedClusterStorageProfileSnapshotController_STATUS: Interface +augmentConversionForManagedClusterStorageProfile_STATUS: Interface +augmentConversionForManagedClusterWindowsProfile: Interface +augmentConversionForManagedClusterWindowsProfile_STATUS: Interface +augmentConversionForManagedClusterWorkloadAutoScalerProfile: Interface +augmentConversionForManagedClusterWorkloadAutoScalerProfileKeda: Interface +augmentConversionForManagedClusterWorkloadAutoScalerProfileKeda_STATUS: Interface +augmentConversionForManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler: Interface +augmentConversionForManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS: Interface +augmentConversionForManagedClusterWorkloadAutoScalerProfile_STATUS: Interface +augmentConversionForManagedCluster_STATUS: Interface +augmentConversionForManagedCluster_Spec: Interface +augmentConversionForManagedClustersAgentPool: Interface +augmentConversionForManagedClustersAgentPool_STATUS: Interface +augmentConversionForManagedClustersAgentPool_Spec: Interface +augmentConversionForPortRange: Interface +augmentConversionForPortRange_STATUS: Interface +augmentConversionForPowerState: Interface +augmentConversionForPowerState_STATUS: Interface +augmentConversionForPrivateLinkResource: Interface +augmentConversionForPrivateLinkResource_STATUS: Interface +augmentConversionForResourceReference: Interface +augmentConversionForResourceReference_STATUS: Interface +augmentConversionForServiceMeshProfile: Interface +augmentConversionForServiceMeshProfile_STATUS: Interface +augmentConversionForSysctlConfig: Interface +augmentConversionForSysctlConfig_STATUS: Interface +augmentConversionForSystemData_STATUS: Interface +augmentConversionForTrustedAccessRoleBinding: Interface +augmentConversionForTrustedAccessRoleBinding_STATUS: Interface +augmentConversionForTrustedAccessRoleBinding_Spec: Interface +augmentConversionForUpgradeOverrideSettings: Interface +augmentConversionForUpgradeOverrideSettings_STATUS: Interface +augmentConversionForUserAssignedIdentity: Interface +augmentConversionForUserAssignedIdentityDetails: Interface +augmentConversionForUserAssignedIdentity_STATUS: Interface +augmentConversionForWindowsGmsaProfile: Interface +augmentConversionForWindowsGmsaProfile_STATUS: Interface diff --git a/v2/api/containerservice/v1api20231001/storage/trusted_access_role_binding_types_gen.go b/v2/api/containerservice/v1api20231001/storage/trusted_access_role_binding_types_gen.go index d129ca57d5e..3174b9f109e 100644 --- a/v2/api/containerservice/v1api20231001/storage/trusted_access_role_binding_types_gen.go +++ b/v2/api/containerservice/v1api20231001/storage/trusted_access_role_binding_types_gen.go @@ -4,19 +4,18 @@ package storage import ( + "fmt" + storage "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20240901/storage" "github.com/Azure/azure-service-operator/v2/pkg/genruntime" "github.com/Azure/azure-service-operator/v2/pkg/genruntime/conditions" "github.com/pkg/errors" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/conversion" ) -// +kubebuilder:rbac:groups=containerservice.azure.com,resources=trustedaccessrolebindings,verbs=get;list;watch;create;update;patch;delete -// +kubebuilder:rbac:groups=containerservice.azure.com,resources={trustedaccessrolebindings/status,trustedaccessrolebindings/finalizers},verbs=get;update;patch - // +kubebuilder:object:root=true // +kubebuilder:subresource:status -// +kubebuilder:storageversion // +kubebuilder:printcolumn:name="Ready",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="Severity",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].severity" // +kubebuilder:printcolumn:name="Reason",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].reason" @@ -44,6 +43,28 @@ func (binding *TrustedAccessRoleBinding) SetConditions(conditions conditions.Con binding.Status.Conditions = conditions } +var _ conversion.Convertible = &TrustedAccessRoleBinding{} + +// ConvertFrom populates our TrustedAccessRoleBinding from the provided hub TrustedAccessRoleBinding +func (binding *TrustedAccessRoleBinding) ConvertFrom(hub conversion.Hub) error { + source, ok := hub.(*storage.TrustedAccessRoleBinding) + if !ok { + return fmt.Errorf("expected containerservice/v1api20240901/storage/TrustedAccessRoleBinding but received %T instead", hub) + } + + return binding.AssignProperties_From_TrustedAccessRoleBinding(source) +} + +// ConvertTo populates the provided hub TrustedAccessRoleBinding from our TrustedAccessRoleBinding +func (binding *TrustedAccessRoleBinding) ConvertTo(hub conversion.Hub) error { + destination, ok := hub.(*storage.TrustedAccessRoleBinding) + if !ok { + return fmt.Errorf("expected containerservice/v1api20240901/storage/TrustedAccessRoleBinding but received %T instead", hub) + } + + return binding.AssignProperties_To_TrustedAccessRoleBinding(destination) +} + var _ genruntime.KubernetesResource = &TrustedAccessRoleBinding{} // AzureName returns the Azure name of the resource @@ -115,8 +136,75 @@ func (binding *TrustedAccessRoleBinding) SetStatus(status genruntime.Convertible return nil } -// Hub marks that this TrustedAccessRoleBinding is the hub type for conversion -func (binding *TrustedAccessRoleBinding) Hub() {} +// AssignProperties_From_TrustedAccessRoleBinding populates our TrustedAccessRoleBinding from the provided source TrustedAccessRoleBinding +func (binding *TrustedAccessRoleBinding) AssignProperties_From_TrustedAccessRoleBinding(source *storage.TrustedAccessRoleBinding) error { + + // ObjectMeta + binding.ObjectMeta = *source.ObjectMeta.DeepCopy() + + // Spec + var spec TrustedAccessRoleBinding_Spec + err := spec.AssignProperties_From_TrustedAccessRoleBinding_Spec(&source.Spec) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_TrustedAccessRoleBinding_Spec() to populate field Spec") + } + binding.Spec = spec + + // Status + var status TrustedAccessRoleBinding_STATUS + err = status.AssignProperties_From_TrustedAccessRoleBinding_STATUS(&source.Status) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_TrustedAccessRoleBinding_STATUS() to populate field Status") + } + binding.Status = status + + // Invoke the augmentConversionForTrustedAccessRoleBinding interface (if implemented) to customize the conversion + var bindingAsAny any = binding + if augmentedBinding, ok := bindingAsAny.(augmentConversionForTrustedAccessRoleBinding); ok { + err := augmentedBinding.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_TrustedAccessRoleBinding populates the provided destination TrustedAccessRoleBinding from our TrustedAccessRoleBinding +func (binding *TrustedAccessRoleBinding) AssignProperties_To_TrustedAccessRoleBinding(destination *storage.TrustedAccessRoleBinding) error { + + // ObjectMeta + destination.ObjectMeta = *binding.ObjectMeta.DeepCopy() + + // Spec + var spec storage.TrustedAccessRoleBinding_Spec + err := binding.Spec.AssignProperties_To_TrustedAccessRoleBinding_Spec(&spec) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_TrustedAccessRoleBinding_Spec() to populate field Spec") + } + destination.Spec = spec + + // Status + var status storage.TrustedAccessRoleBinding_STATUS + err = binding.Status.AssignProperties_To_TrustedAccessRoleBinding_STATUS(&status) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_TrustedAccessRoleBinding_STATUS() to populate field Status") + } + destination.Status = status + + // Invoke the augmentConversionForTrustedAccessRoleBinding interface (if implemented) to customize the conversion + var bindingAsAny any = binding + if augmentedBinding, ok := bindingAsAny.(augmentConversionForTrustedAccessRoleBinding); ok { + err := augmentedBinding.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} // OriginalGVK returns a GroupValueKind for the original API version used to create the resource func (binding *TrustedAccessRoleBinding) OriginalGVK() *schema.GroupVersionKind { @@ -138,6 +226,11 @@ type TrustedAccessRoleBindingList struct { Items []TrustedAccessRoleBinding `json:"items"` } +type augmentConversionForTrustedAccessRoleBinding interface { + AssignPropertiesFrom(src *storage.TrustedAccessRoleBinding) error + AssignPropertiesTo(dst *storage.TrustedAccessRoleBinding) error +} + // Storage version of v1api20231001.TrustedAccessRoleBinding_Spec type TrustedAccessRoleBinding_Spec struct { // AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it @@ -162,20 +255,150 @@ var _ genruntime.ConvertibleSpec = &TrustedAccessRoleBinding_Spec{} // ConvertSpecFrom populates our TrustedAccessRoleBinding_Spec from the provided source func (binding *TrustedAccessRoleBinding_Spec) ConvertSpecFrom(source genruntime.ConvertibleSpec) error { - if source == binding { - return errors.New("attempted conversion between unrelated implementations of github.com/Azure/azure-service-operator/v2/pkg/genruntime/ConvertibleSpec") + src, ok := source.(*storage.TrustedAccessRoleBinding_Spec) + if ok { + // Populate our instance from source + return binding.AssignProperties_From_TrustedAccessRoleBinding_Spec(src) + } + + // Convert to an intermediate form + src = &storage.TrustedAccessRoleBinding_Spec{} + err := src.ConvertSpecFrom(source) + if err != nil { + return errors.Wrap(err, "initial step of conversion in ConvertSpecFrom()") } - return source.ConvertSpecTo(binding) + // Update our instance from src + err = binding.AssignProperties_From_TrustedAccessRoleBinding_Spec(src) + if err != nil { + return errors.Wrap(err, "final step of conversion in ConvertSpecFrom()") + } + + return nil } // ConvertSpecTo populates the provided destination from our TrustedAccessRoleBinding_Spec func (binding *TrustedAccessRoleBinding_Spec) ConvertSpecTo(destination genruntime.ConvertibleSpec) error { - if destination == binding { - return errors.New("attempted conversion between unrelated implementations of github.com/Azure/azure-service-operator/v2/pkg/genruntime/ConvertibleSpec") + dst, ok := destination.(*storage.TrustedAccessRoleBinding_Spec) + if ok { + // Populate destination from our instance + return binding.AssignProperties_To_TrustedAccessRoleBinding_Spec(dst) } - return destination.ConvertSpecFrom(binding) + // Convert to an intermediate form + dst = &storage.TrustedAccessRoleBinding_Spec{} + err := binding.AssignProperties_To_TrustedAccessRoleBinding_Spec(dst) + if err != nil { + return errors.Wrap(err, "initial step of conversion in ConvertSpecTo()") + } + + // Update dst from our instance + err = dst.ConvertSpecTo(destination) + if err != nil { + return errors.Wrap(err, "final step of conversion in ConvertSpecTo()") + } + + return nil +} + +// AssignProperties_From_TrustedAccessRoleBinding_Spec populates our TrustedAccessRoleBinding_Spec from the provided source TrustedAccessRoleBinding_Spec +func (binding *TrustedAccessRoleBinding_Spec) AssignProperties_From_TrustedAccessRoleBinding_Spec(source *storage.TrustedAccessRoleBinding_Spec) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // AzureName + binding.AzureName = source.AzureName + + // OriginalVersion + binding.OriginalVersion = source.OriginalVersion + + // Owner + if source.Owner != nil { + owner := source.Owner.Copy() + binding.Owner = &owner + } else { + binding.Owner = nil + } + + // Roles + binding.Roles = genruntime.CloneSliceOfString(source.Roles) + + // SourceResourceReference + if source.SourceResourceReference != nil { + sourceResourceReference := source.SourceResourceReference.Copy() + binding.SourceResourceReference = &sourceResourceReference + } else { + binding.SourceResourceReference = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + binding.PropertyBag = propertyBag + } else { + binding.PropertyBag = nil + } + + // Invoke the augmentConversionForTrustedAccessRoleBinding_Spec interface (if implemented) to customize the conversion + var bindingAsAny any = binding + if augmentedBinding, ok := bindingAsAny.(augmentConversionForTrustedAccessRoleBinding_Spec); ok { + err := augmentedBinding.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_TrustedAccessRoleBinding_Spec populates the provided destination TrustedAccessRoleBinding_Spec from our TrustedAccessRoleBinding_Spec +func (binding *TrustedAccessRoleBinding_Spec) AssignProperties_To_TrustedAccessRoleBinding_Spec(destination *storage.TrustedAccessRoleBinding_Spec) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(binding.PropertyBag) + + // AzureName + destination.AzureName = binding.AzureName + + // OriginalVersion + destination.OriginalVersion = binding.OriginalVersion + + // Owner + if binding.Owner != nil { + owner := binding.Owner.Copy() + destination.Owner = &owner + } else { + destination.Owner = nil + } + + // Roles + destination.Roles = genruntime.CloneSliceOfString(binding.Roles) + + // SourceResourceReference + if binding.SourceResourceReference != nil { + sourceResourceReference := binding.SourceResourceReference.Copy() + destination.SourceResourceReference = &sourceResourceReference + } else { + destination.SourceResourceReference = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForTrustedAccessRoleBinding_Spec interface (if implemented) to customize the conversion + var bindingAsAny any = binding + if augmentedBinding, ok := bindingAsAny.(augmentConversionForTrustedAccessRoleBinding_Spec); ok { + err := augmentedBinding.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil } // Storage version of v1api20231001.TrustedAccessRoleBinding_STATUS @@ -195,20 +418,176 @@ var _ genruntime.ConvertibleStatus = &TrustedAccessRoleBinding_STATUS{} // ConvertStatusFrom populates our TrustedAccessRoleBinding_STATUS from the provided source func (binding *TrustedAccessRoleBinding_STATUS) ConvertStatusFrom(source genruntime.ConvertibleStatus) error { - if source == binding { - return errors.New("attempted conversion between unrelated implementations of github.com/Azure/azure-service-operator/v2/pkg/genruntime/ConvertibleStatus") + src, ok := source.(*storage.TrustedAccessRoleBinding_STATUS) + if ok { + // Populate our instance from source + return binding.AssignProperties_From_TrustedAccessRoleBinding_STATUS(src) } - return source.ConvertStatusTo(binding) + // Convert to an intermediate form + src = &storage.TrustedAccessRoleBinding_STATUS{} + err := src.ConvertStatusFrom(source) + if err != nil { + return errors.Wrap(err, "initial step of conversion in ConvertStatusFrom()") + } + + // Update our instance from src + err = binding.AssignProperties_From_TrustedAccessRoleBinding_STATUS(src) + if err != nil { + return errors.Wrap(err, "final step of conversion in ConvertStatusFrom()") + } + + return nil } // ConvertStatusTo populates the provided destination from our TrustedAccessRoleBinding_STATUS func (binding *TrustedAccessRoleBinding_STATUS) ConvertStatusTo(destination genruntime.ConvertibleStatus) error { - if destination == binding { - return errors.New("attempted conversion between unrelated implementations of github.com/Azure/azure-service-operator/v2/pkg/genruntime/ConvertibleStatus") + dst, ok := destination.(*storage.TrustedAccessRoleBinding_STATUS) + if ok { + // Populate destination from our instance + return binding.AssignProperties_To_TrustedAccessRoleBinding_STATUS(dst) + } + + // Convert to an intermediate form + dst = &storage.TrustedAccessRoleBinding_STATUS{} + err := binding.AssignProperties_To_TrustedAccessRoleBinding_STATUS(dst) + if err != nil { + return errors.Wrap(err, "initial step of conversion in ConvertStatusTo()") + } + + // Update dst from our instance + err = dst.ConvertStatusTo(destination) + if err != nil { + return errors.Wrap(err, "final step of conversion in ConvertStatusTo()") } - return destination.ConvertStatusFrom(binding) + return nil +} + +// AssignProperties_From_TrustedAccessRoleBinding_STATUS populates our TrustedAccessRoleBinding_STATUS from the provided source TrustedAccessRoleBinding_STATUS +func (binding *TrustedAccessRoleBinding_STATUS) AssignProperties_From_TrustedAccessRoleBinding_STATUS(source *storage.TrustedAccessRoleBinding_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // Conditions + binding.Conditions = genruntime.CloneSliceOfCondition(source.Conditions) + + // Id + binding.Id = genruntime.ClonePointerToString(source.Id) + + // Name + binding.Name = genruntime.ClonePointerToString(source.Name) + + // ProvisioningState + binding.ProvisioningState = genruntime.ClonePointerToString(source.ProvisioningState) + + // Roles + binding.Roles = genruntime.CloneSliceOfString(source.Roles) + + // SourceResourceId + binding.SourceResourceId = genruntime.ClonePointerToString(source.SourceResourceId) + + // SystemData + if source.SystemData != nil { + var systemDatum SystemData_STATUS + err := systemDatum.AssignProperties_From_SystemData_STATUS(source.SystemData) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_SystemData_STATUS() to populate field SystemData") + } + binding.SystemData = &systemDatum + } else { + binding.SystemData = nil + } + + // Type + binding.Type = genruntime.ClonePointerToString(source.Type) + + // Update the property bag + if len(propertyBag) > 0 { + binding.PropertyBag = propertyBag + } else { + binding.PropertyBag = nil + } + + // Invoke the augmentConversionForTrustedAccessRoleBinding_STATUS interface (if implemented) to customize the conversion + var bindingAsAny any = binding + if augmentedBinding, ok := bindingAsAny.(augmentConversionForTrustedAccessRoleBinding_STATUS); ok { + err := augmentedBinding.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_TrustedAccessRoleBinding_STATUS populates the provided destination TrustedAccessRoleBinding_STATUS from our TrustedAccessRoleBinding_STATUS +func (binding *TrustedAccessRoleBinding_STATUS) AssignProperties_To_TrustedAccessRoleBinding_STATUS(destination *storage.TrustedAccessRoleBinding_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(binding.PropertyBag) + + // Conditions + destination.Conditions = genruntime.CloneSliceOfCondition(binding.Conditions) + + // Id + destination.Id = genruntime.ClonePointerToString(binding.Id) + + // Name + destination.Name = genruntime.ClonePointerToString(binding.Name) + + // ProvisioningState + destination.ProvisioningState = genruntime.ClonePointerToString(binding.ProvisioningState) + + // Roles + destination.Roles = genruntime.CloneSliceOfString(binding.Roles) + + // SourceResourceId + destination.SourceResourceId = genruntime.ClonePointerToString(binding.SourceResourceId) + + // SystemData + if binding.SystemData != nil { + var systemDatum storage.SystemData_STATUS + err := binding.SystemData.AssignProperties_To_SystemData_STATUS(&systemDatum) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_SystemData_STATUS() to populate field SystemData") + } + destination.SystemData = &systemDatum + } else { + destination.SystemData = nil + } + + // Type + destination.Type = genruntime.ClonePointerToString(binding.Type) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForTrustedAccessRoleBinding_STATUS interface (if implemented) to customize the conversion + var bindingAsAny any = binding + if augmentedBinding, ok := bindingAsAny.(augmentConversionForTrustedAccessRoleBinding_STATUS); ok { + err := augmentedBinding.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +type augmentConversionForTrustedAccessRoleBinding_Spec interface { + AssignPropertiesFrom(src *storage.TrustedAccessRoleBinding_Spec) error + AssignPropertiesTo(dst *storage.TrustedAccessRoleBinding_Spec) error +} + +type augmentConversionForTrustedAccessRoleBinding_STATUS interface { + AssignPropertiesFrom(src *storage.TrustedAccessRoleBinding_STATUS) error + AssignPropertiesTo(dst *storage.TrustedAccessRoleBinding_STATUS) error } func init() { diff --git a/v2/api/containerservice/v1api20231001/storage/trusted_access_role_binding_types_gen_test.go b/v2/api/containerservice/v1api20231001/storage/trusted_access_role_binding_types_gen_test.go index 732fd19bba7..4a18aa9e73d 100644 --- a/v2/api/containerservice/v1api20231001/storage/trusted_access_role_binding_types_gen_test.go +++ b/v2/api/containerservice/v1api20231001/storage/trusted_access_role_binding_types_gen_test.go @@ -5,6 +5,7 @@ package storage import ( "encoding/json" + storage "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20240901/storage" "github.com/google/go-cmp/cmp" "github.com/google/go-cmp/cmp/cmpopts" "github.com/kr/pretty" @@ -17,6 +18,91 @@ import ( "testing" ) +func Test_TrustedAccessRoleBinding_WhenConvertedToHub_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + parameters.MinSuccessfulTests = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from TrustedAccessRoleBinding to hub returns original", + prop.ForAll(RunResourceConversionTestForTrustedAccessRoleBinding, TrustedAccessRoleBindingGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunResourceConversionTestForTrustedAccessRoleBinding tests if a specific instance of TrustedAccessRoleBinding round trips to the hub storage version and back losslessly +func RunResourceConversionTestForTrustedAccessRoleBinding(subject TrustedAccessRoleBinding) string { + // Copy subject to make sure conversion doesn't modify it + copied := subject.DeepCopy() + + // Convert to our hub version + var hub storage.TrustedAccessRoleBinding + err := copied.ConvertTo(&hub) + if err != nil { + return err.Error() + } + + // Convert from our hub version + var actual TrustedAccessRoleBinding + err = actual.ConvertFrom(&hub) + if err != nil { + return err.Error() + } + + // Compare actual with what we started with + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_TrustedAccessRoleBinding_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from TrustedAccessRoleBinding to TrustedAccessRoleBinding via AssignProperties_To_TrustedAccessRoleBinding & AssignProperties_From_TrustedAccessRoleBinding returns original", + prop.ForAll(RunPropertyAssignmentTestForTrustedAccessRoleBinding, TrustedAccessRoleBindingGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForTrustedAccessRoleBinding tests if a specific instance of TrustedAccessRoleBinding can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForTrustedAccessRoleBinding(subject TrustedAccessRoleBinding) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.TrustedAccessRoleBinding + err := copied.AssignProperties_To_TrustedAccessRoleBinding(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual TrustedAccessRoleBinding + err = actual.AssignProperties_From_TrustedAccessRoleBinding(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_TrustedAccessRoleBinding_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -79,6 +165,48 @@ func AddRelatedPropertyGeneratorsForTrustedAccessRoleBinding(gens map[string]gop gens["Status"] = TrustedAccessRoleBinding_STATUSGenerator() } +func Test_TrustedAccessRoleBinding_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from TrustedAccessRoleBinding_STATUS to TrustedAccessRoleBinding_STATUS via AssignProperties_To_TrustedAccessRoleBinding_STATUS & AssignProperties_From_TrustedAccessRoleBinding_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForTrustedAccessRoleBinding_STATUS, TrustedAccessRoleBinding_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForTrustedAccessRoleBinding_STATUS tests if a specific instance of TrustedAccessRoleBinding_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForTrustedAccessRoleBinding_STATUS(subject TrustedAccessRoleBinding_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.TrustedAccessRoleBinding_STATUS + err := copied.AssignProperties_To_TrustedAccessRoleBinding_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual TrustedAccessRoleBinding_STATUS + err = actual.AssignProperties_From_TrustedAccessRoleBinding_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_TrustedAccessRoleBinding_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -159,6 +287,48 @@ func AddRelatedPropertyGeneratorsForTrustedAccessRoleBinding_STATUS(gens map[str gens["SystemData"] = gen.PtrOf(SystemData_STATUSGenerator()) } +func Test_TrustedAccessRoleBinding_Spec_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from TrustedAccessRoleBinding_Spec to TrustedAccessRoleBinding_Spec via AssignProperties_To_TrustedAccessRoleBinding_Spec & AssignProperties_From_TrustedAccessRoleBinding_Spec returns original", + prop.ForAll(RunPropertyAssignmentTestForTrustedAccessRoleBinding_Spec, TrustedAccessRoleBinding_SpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForTrustedAccessRoleBinding_Spec tests if a specific instance of TrustedAccessRoleBinding_Spec can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForTrustedAccessRoleBinding_Spec(subject TrustedAccessRoleBinding_Spec) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.TrustedAccessRoleBinding_Spec + err := copied.AssignProperties_To_TrustedAccessRoleBinding_Spec(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual TrustedAccessRoleBinding_Spec + err = actual.AssignProperties_From_TrustedAccessRoleBinding_Spec(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_TrustedAccessRoleBinding_Spec_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() diff --git a/v2/api/containerservice/v1api20231001/trusted_access_role_binding_types_gen.go b/v2/api/containerservice/v1api20231001/trusted_access_role_binding_types_gen.go index 9450ed8468f..583db7fb20e 100644 --- a/v2/api/containerservice/v1api20231001/trusted_access_role_binding_types_gen.go +++ b/v2/api/containerservice/v1api20231001/trusted_access_role_binding_types_gen.go @@ -50,22 +50,36 @@ var _ conversion.Convertible = &TrustedAccessRoleBinding{} // ConvertFrom populates our TrustedAccessRoleBinding from the provided hub TrustedAccessRoleBinding func (binding *TrustedAccessRoleBinding) ConvertFrom(hub conversion.Hub) error { - source, ok := hub.(*storage.TrustedAccessRoleBinding) - if !ok { - return fmt.Errorf("expected containerservice/v1api20231001/storage/TrustedAccessRoleBinding but received %T instead", hub) + // intermediate variable for conversion + var source storage.TrustedAccessRoleBinding + + err := source.ConvertFrom(hub) + if err != nil { + return errors.Wrap(err, "converting from hub to source") + } + + err = binding.AssignProperties_From_TrustedAccessRoleBinding(&source) + if err != nil { + return errors.Wrap(err, "converting from source to binding") } - return binding.AssignProperties_From_TrustedAccessRoleBinding(source) + return nil } // ConvertTo populates the provided hub TrustedAccessRoleBinding from our TrustedAccessRoleBinding func (binding *TrustedAccessRoleBinding) ConvertTo(hub conversion.Hub) error { - destination, ok := hub.(*storage.TrustedAccessRoleBinding) - if !ok { - return fmt.Errorf("expected containerservice/v1api20231001/storage/TrustedAccessRoleBinding but received %T instead", hub) + // intermediate variable for conversion + var destination storage.TrustedAccessRoleBinding + err := binding.AssignProperties_To_TrustedAccessRoleBinding(&destination) + if err != nil { + return errors.Wrap(err, "converting to destination from binding") + } + err = destination.ConvertTo(hub) + if err != nil { + return errors.Wrap(err, "converting from destination to hub") } - return binding.AssignProperties_To_TrustedAccessRoleBinding(destination) + return nil } // +kubebuilder:webhook:path=/mutate-containerservice-azure-com-v1api20231001-trustedaccessrolebinding,mutating=true,sideEffects=None,matchPolicy=Exact,failurePolicy=fail,groups=containerservice.azure.com,resources=trustedaccessrolebindings,verbs=create;update,versions=v1api20231001,name=default.v1api20231001.trustedaccessrolebindings.containerservice.azure.com,admissionReviewVersions=v1 @@ -91,17 +105,6 @@ func (binding *TrustedAccessRoleBinding) defaultAzureName() { // defaultImpl applies the code generated defaults to the TrustedAccessRoleBinding resource func (binding *TrustedAccessRoleBinding) defaultImpl() { binding.defaultAzureName() } -var _ genruntime.ImportableResource = &TrustedAccessRoleBinding{} - -// InitializeSpec initializes the spec for this resource from the given status -func (binding *TrustedAccessRoleBinding) InitializeSpec(status genruntime.ConvertibleStatus) error { - if s, ok := status.(*TrustedAccessRoleBinding_STATUS); ok { - return binding.Spec.Initialize_From_TrustedAccessRoleBinding_STATUS(s) - } - - return fmt.Errorf("expected Status of type TrustedAccessRoleBinding_STATUS but received %T instead", status) -} - var _ genruntime.KubernetesResource = &TrustedAccessRoleBinding{} // AzureName returns the Azure name of the resource @@ -534,24 +537,6 @@ func (binding *TrustedAccessRoleBinding_Spec) AssignProperties_To_TrustedAccessR return nil } -// Initialize_From_TrustedAccessRoleBinding_STATUS populates our TrustedAccessRoleBinding_Spec from the provided source TrustedAccessRoleBinding_STATUS -func (binding *TrustedAccessRoleBinding_Spec) Initialize_From_TrustedAccessRoleBinding_STATUS(source *TrustedAccessRoleBinding_STATUS) error { - - // Roles - binding.Roles = genruntime.CloneSliceOfString(source.Roles) - - // SourceResourceReference - if source.SourceResourceId != nil { - sourceResourceReference := genruntime.CreateResourceReferenceFromARMID(*source.SourceResourceId) - binding.SourceResourceReference = &sourceResourceReference - } else { - binding.SourceResourceReference = nil - } - - // No error - return nil -} - // OriginalVersion returns the original API version used to create the resource. func (binding *TrustedAccessRoleBinding_Spec) OriginalVersion() string { return GroupVersion.Version diff --git a/v2/api/containerservice/v1api20231001/trusted_access_role_binding_types_gen_test.go b/v2/api/containerservice/v1api20231001/trusted_access_role_binding_types_gen_test.go index 5b45eb990d8..e6bf8605f0e 100644 --- a/v2/api/containerservice/v1api20231001/trusted_access_role_binding_types_gen_test.go +++ b/v2/api/containerservice/v1api20231001/trusted_access_role_binding_types_gen_test.go @@ -5,7 +5,8 @@ package v1api20231001 import ( "encoding/json" - storage "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20231001/storage" + v20231001s "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20231001/storage" + v20240901s "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20240901/storage" "github.com/google/go-cmp/cmp" "github.com/google/go-cmp/cmp/cmpopts" "github.com/kr/pretty" @@ -36,7 +37,7 @@ func RunResourceConversionTestForTrustedAccessRoleBinding(subject TrustedAccessR copied := subject.DeepCopy() // Convert to our hub version - var hub storage.TrustedAccessRoleBinding + var hub v20240901s.TrustedAccessRoleBinding err := copied.ConvertTo(&hub) if err != nil { return err.Error() @@ -78,7 +79,7 @@ func RunPropertyAssignmentTestForTrustedAccessRoleBinding(subject TrustedAccessR copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.TrustedAccessRoleBinding + var other v20231001s.TrustedAccessRoleBinding err := copied.AssignProperties_To_TrustedAccessRoleBinding(&other) if err != nil { return err.Error() @@ -182,7 +183,7 @@ func RunPropertyAssignmentTestForTrustedAccessRoleBinding_STATUS(subject Trusted copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.TrustedAccessRoleBinding_STATUS + var other v20231001s.TrustedAccessRoleBinding_STATUS err := copied.AssignProperties_To_TrustedAccessRoleBinding_STATUS(&other) if err != nil { return err.Error() @@ -309,7 +310,7 @@ func RunPropertyAssignmentTestForTrustedAccessRoleBinding_Spec(subject TrustedAc copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.TrustedAccessRoleBinding_Spec + var other v20231001s.TrustedAccessRoleBinding_Spec err := copied.AssignProperties_To_TrustedAccessRoleBinding_Spec(&other) if err != nil { return err.Error() diff --git a/v2/api/containerservice/v1api20231102preview/arm/managed_cluster_spec_types_gen.go b/v2/api/containerservice/v1api20231102preview/arm/managed_cluster_spec_types_gen.go index 11260099b29..0ef538fc940 100644 --- a/v2/api/containerservice/v1api20231102preview/arm/managed_cluster_spec_types_gen.go +++ b/v2/api/containerservice/v1api20231102preview/arm/managed_cluster_spec_types_gen.go @@ -6,24 +6,13 @@ package arm import "github.com/Azure/azure-service-operator/v2/pkg/genruntime" type ManagedCluster_Spec struct { - // ExtendedLocation: The extended location of the Virtual Machine. - ExtendedLocation *ExtendedLocation `json:"extendedLocation,omitempty"` - - // Identity: The identity of the managed cluster, if configured. - Identity *ManagedClusterIdentity `json:"identity,omitempty"` - - // Location: The geo-location where the resource lives - Location *string `json:"location,omitempty"` - Name string `json:"name,omitempty"` - - // Properties: Properties of a managed cluster. - Properties *ManagedClusterProperties `json:"properties,omitempty"` - - // Sku: The managed cluster SKU. - Sku *ManagedClusterSKU `json:"sku,omitempty"` - - // Tags: Resource tags. - Tags map[string]string `json:"tags" serializationType:"explicitEmptyCollection"` + ExtendedLocation *ExtendedLocation `json:"extendedLocation,omitempty"` + Identity *ManagedClusterIdentity `json:"identity,omitempty"` + Location *string `json:"location,omitempty"` + Name string `json:"name,omitempty"` + Properties *ManagedClusterProperties `json:"properties,omitempty"` + Sku *ManagedClusterSKU `json:"sku,omitempty"` + Tags map[string]string `json:"tags" serializationType:"explicitEmptyCollection"` } var _ genruntime.ARMResourceSpec = &ManagedCluster_Spec{} @@ -43,266 +32,104 @@ func (cluster *ManagedCluster_Spec) GetType() string { return "Microsoft.ContainerService/managedClusters" } -// The complex type of the extended location. type ExtendedLocation struct { - // Name: The name of the extended location. - Name *string `json:"name,omitempty"` - - // Type: The type of the extended location. + Name *string `json:"name,omitempty"` Type *ExtendedLocationType `json:"type,omitempty"` } -// Identity for the managed cluster. type ManagedClusterIdentity struct { - // DelegatedResources: The delegated identity resources assigned to this managed cluster. This can only be set by another - // Azure Resource Provider, and managed cluster only accept one delegated identity resource. Internal use only. - DelegatedResources map[string]DelegatedResource `json:"delegatedResources"` - - // Type: For more information see [use managed identities in - // AKS](https://docs.microsoft.com/azure/aks/use-managed-identity). + DelegatedResources map[string]DelegatedResource `json:"delegatedResources"` Type *ManagedClusterIdentity_Type `json:"type,omitempty"` UserAssignedIdentities map[string]UserAssignedIdentityDetails `json:"userAssignedIdentities,omitempty"` } -// Properties of the managed cluster. type ManagedClusterProperties struct { - // AadProfile: The Azure Active Directory configuration. - AadProfile *ManagedClusterAADProfile `json:"aadProfile,omitempty"` - - // AddonProfiles: The profile of managed cluster add-on. - AddonProfiles map[string]ManagedClusterAddonProfile `json:"addonProfiles"` - - // AgentPoolProfiles: The agent pool properties. - AgentPoolProfiles []ManagedClusterAgentPoolProfile `json:"agentPoolProfiles"` - - // AiToolchainOperatorProfile: AI toolchain operator settings that apply to the whole cluster. - AiToolchainOperatorProfile *ManagedClusterAIToolchainOperatorProfile `json:"aiToolchainOperatorProfile,omitempty"` - - // ApiServerAccessProfile: The access profile for managed cluster API server. - ApiServerAccessProfile *ManagedClusterAPIServerAccessProfile `json:"apiServerAccessProfile,omitempty"` - - // AutoScalerProfile: Parameters to be applied to the cluster-autoscaler when enabled - AutoScalerProfile *ManagedClusterProperties_AutoScalerProfile `json:"autoScalerProfile,omitempty"` - - // AutoUpgradeProfile: The auto upgrade configuration. - AutoUpgradeProfile *ManagedClusterAutoUpgradeProfile `json:"autoUpgradeProfile,omitempty"` - - // AzureMonitorProfile: Prometheus addon profile for the container service cluster - AzureMonitorProfile *ManagedClusterAzureMonitorProfile `json:"azureMonitorProfile,omitempty"` - - // CreationData: CreationData to be used to specify the source Snapshot ID if the cluster will be created/upgraded using a - // snapshot. - CreationData *CreationData `json:"creationData,omitempty"` - - // DisableLocalAccounts: If set to true, getting static credentials will be disabled for this cluster. This must only be - // used on Managed Clusters that are AAD enabled. For more details see [disable local - // accounts](https://docs.microsoft.com/azure/aks/managed-aad#disable-local-accounts-preview). - DisableLocalAccounts *bool `json:"disableLocalAccounts,omitempty"` - DiskEncryptionSetID *string `json:"diskEncryptionSetID,omitempty"` - - // DnsPrefix: This cannot be updated once the Managed Cluster has been created. - DnsPrefix *string `json:"dnsPrefix,omitempty"` - - // EnableNamespaceResources: The default value is false. It can be enabled/disabled on creation and updating of the managed - // cluster. See [https://aka.ms/NamespaceARMResource](https://aka.ms/NamespaceARMResource) for more details on Namespace as - // a ARM Resource. - EnableNamespaceResources *bool `json:"enableNamespaceResources,omitempty"` - - // EnablePodSecurityPolicy: (DEPRECATED) Whether to enable Kubernetes pod security policy (preview). PodSecurityPolicy was - // deprecated in Kubernetes v1.21, and removed from Kubernetes in v1.25. Learn more at https://aka.ms/k8s/psp and - // https://aka.ms/aks/psp. - EnablePodSecurityPolicy *bool `json:"enablePodSecurityPolicy,omitempty"` - - // EnableRBAC: Whether to enable Kubernetes Role-Based Access Control. - EnableRBAC *bool `json:"enableRBAC,omitempty"` - - // FqdnSubdomain: This cannot be updated once the Managed Cluster has been created. - FqdnSubdomain *string `json:"fqdnSubdomain,omitempty"` - - // HttpProxyConfig: Configurations for provisioning the cluster with HTTP proxy servers. - HttpProxyConfig *ManagedClusterHTTPProxyConfig `json:"httpProxyConfig,omitempty"` - - // IdentityProfile: Identities associated with the cluster. - IdentityProfile map[string]UserAssignedIdentity `json:"identityProfile"` - - // IngressProfile: Ingress profile for the managed cluster. - IngressProfile *ManagedClusterIngressProfile `json:"ingressProfile,omitempty"` - - // KubernetesVersion: When you upgrade a supported AKS cluster, Kubernetes minor versions cannot be skipped. All upgrades - // must be performed sequentially by major version number. For example, upgrades between 1.14.x -> 1.15.x or 1.15.x -> - // 1.16.x are allowed, however 1.14.x -> 1.16.x is not allowed. See [upgrading an AKS - // cluster](https://docs.microsoft.com/azure/aks/upgrade-cluster) for more details. - KubernetesVersion *string `json:"kubernetesVersion,omitempty"` - - // LinuxProfile: The profile for Linux VMs in the Managed Cluster. - LinuxProfile *ContainerServiceLinuxProfile `json:"linuxProfile,omitempty"` - - // MetricsProfile: Optional cluster metrics configuration. - MetricsProfile *ManagedClusterMetricsProfile `json:"metricsProfile,omitempty"` - - // NetworkProfile: The network configuration profile. - NetworkProfile *ContainerServiceNetworkProfile `json:"networkProfile,omitempty"` - - // NodeProvisioningProfile: Node provisioning settings that apply to the whole cluster. - NodeProvisioningProfile *ManagedClusterNodeProvisioningProfile `json:"nodeProvisioningProfile,omitempty"` - - // NodeResourceGroup: The name of the resource group containing agent pool nodes. - NodeResourceGroup *string `json:"nodeResourceGroup,omitempty"` - - // NodeResourceGroupProfile: The node resource group configuration profile. - NodeResourceGroupProfile *ManagedClusterNodeResourceGroupProfile `json:"nodeResourceGroupProfile,omitempty"` - - // OidcIssuerProfile: The OIDC issuer profile of the Managed Cluster. - OidcIssuerProfile *ManagedClusterOIDCIssuerProfile `json:"oidcIssuerProfile,omitempty"` - - // PodIdentityProfile: See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more - // details on AAD pod identity integration. - PodIdentityProfile *ManagedClusterPodIdentityProfile `json:"podIdentityProfile,omitempty"` - - // PrivateLinkResources: Private link resources associated with the cluster. - PrivateLinkResources []PrivateLinkResource `json:"privateLinkResources"` - - // PublicNetworkAccess: Allow or deny public network access for AKS - PublicNetworkAccess *ManagedClusterProperties_PublicNetworkAccess `json:"publicNetworkAccess,omitempty"` - - // SafeguardsProfile: The Safeguards profile holds all the safeguards information for a given cluster - SafeguardsProfile *SafeguardsProfile `json:"safeguardsProfile,omitempty"` - - // SecurityProfile: Security profile for the managed cluster. - SecurityProfile *ManagedClusterSecurityProfile `json:"securityProfile,omitempty"` - - // ServiceMeshProfile: Service mesh profile for a managed cluster. - ServiceMeshProfile *ServiceMeshProfile `json:"serviceMeshProfile,omitempty"` - - // ServicePrincipalProfile: Information about a service principal identity for the cluster to use for manipulating Azure - // APIs. - ServicePrincipalProfile *ManagedClusterServicePrincipalProfile `json:"servicePrincipalProfile,omitempty"` - - // StorageProfile: Storage profile for the managed cluster. - StorageProfile *ManagedClusterStorageProfile `json:"storageProfile,omitempty"` - - // SupportPlan: The support plan for the Managed Cluster. If unspecified, the default is 'KubernetesOfficial'. - SupportPlan *KubernetesSupportPlan `json:"supportPlan,omitempty"` - - // UpgradeSettings: Settings for upgrading a cluster. - UpgradeSettings *ClusterUpgradeSettings `json:"upgradeSettings,omitempty"` - - // WindowsProfile: The profile for Windows VMs in the Managed Cluster. - WindowsProfile *ManagedClusterWindowsProfile `json:"windowsProfile,omitempty"` - - // WorkloadAutoScalerProfile: Workload Auto-scaler profile for the managed cluster. - WorkloadAutoScalerProfile *ManagedClusterWorkloadAutoScalerProfile `json:"workloadAutoScalerProfile,omitempty"` + AadProfile *ManagedClusterAADProfile `json:"aadProfile,omitempty"` + AddonProfiles map[string]ManagedClusterAddonProfile `json:"addonProfiles"` + AgentPoolProfiles []ManagedClusterAgentPoolProfile `json:"agentPoolProfiles"` + AiToolchainOperatorProfile *ManagedClusterAIToolchainOperatorProfile `json:"aiToolchainOperatorProfile,omitempty"` + ApiServerAccessProfile *ManagedClusterAPIServerAccessProfile `json:"apiServerAccessProfile,omitempty"` + AutoScalerProfile *ManagedClusterProperties_AutoScalerProfile `json:"autoScalerProfile,omitempty"` + AutoUpgradeProfile *ManagedClusterAutoUpgradeProfile `json:"autoUpgradeProfile,omitempty"` + AzureMonitorProfile *ManagedClusterAzureMonitorProfile `json:"azureMonitorProfile,omitempty"` + CreationData *CreationData `json:"creationData,omitempty"` + DisableLocalAccounts *bool `json:"disableLocalAccounts,omitempty"` + DiskEncryptionSetID *string `json:"diskEncryptionSetID,omitempty"` + DnsPrefix *string `json:"dnsPrefix,omitempty"` + EnableNamespaceResources *bool `json:"enableNamespaceResources,omitempty"` + EnablePodSecurityPolicy *bool `json:"enablePodSecurityPolicy,omitempty"` + EnableRBAC *bool `json:"enableRBAC,omitempty"` + FqdnSubdomain *string `json:"fqdnSubdomain,omitempty"` + HttpProxyConfig *ManagedClusterHTTPProxyConfig `json:"httpProxyConfig,omitempty"` + IdentityProfile map[string]UserAssignedIdentity `json:"identityProfile"` + IngressProfile *ManagedClusterIngressProfile `json:"ingressProfile,omitempty"` + KubernetesVersion *string `json:"kubernetesVersion,omitempty"` + LinuxProfile *ContainerServiceLinuxProfile `json:"linuxProfile,omitempty"` + MetricsProfile *ManagedClusterMetricsProfile `json:"metricsProfile,omitempty"` + NetworkProfile *ContainerServiceNetworkProfile `json:"networkProfile,omitempty"` + NodeProvisioningProfile *ManagedClusterNodeProvisioningProfile `json:"nodeProvisioningProfile,omitempty"` + NodeResourceGroup *string `json:"nodeResourceGroup,omitempty"` + NodeResourceGroupProfile *ManagedClusterNodeResourceGroupProfile `json:"nodeResourceGroupProfile,omitempty"` + OidcIssuerProfile *ManagedClusterOIDCIssuerProfile `json:"oidcIssuerProfile,omitempty"` + PodIdentityProfile *ManagedClusterPodIdentityProfile `json:"podIdentityProfile,omitempty"` + PrivateLinkResources []PrivateLinkResource `json:"privateLinkResources"` + PublicNetworkAccess *ManagedClusterProperties_PublicNetworkAccess `json:"publicNetworkAccess,omitempty"` + SafeguardsProfile *SafeguardsProfile `json:"safeguardsProfile,omitempty"` + SecurityProfile *ManagedClusterSecurityProfile `json:"securityProfile,omitempty"` + ServiceMeshProfile *ServiceMeshProfile `json:"serviceMeshProfile,omitempty"` + ServicePrincipalProfile *ManagedClusterServicePrincipalProfile `json:"servicePrincipalProfile,omitempty"` + StorageProfile *ManagedClusterStorageProfile `json:"storageProfile,omitempty"` + SupportPlan *KubernetesSupportPlan `json:"supportPlan,omitempty"` + UpgradeSettings *ClusterUpgradeSettings `json:"upgradeSettings,omitempty"` + WindowsProfile *ManagedClusterWindowsProfile `json:"windowsProfile,omitempty"` + WorkloadAutoScalerProfile *ManagedClusterWorkloadAutoScalerProfile `json:"workloadAutoScalerProfile,omitempty"` } -// The SKU of a Managed Cluster. type ManagedClusterSKU struct { - // Name: The name of a managed cluster SKU. Name *ManagedClusterSKU_Name `json:"name,omitempty"` - - // Tier: If not specified, the default is 'Free'. See [AKS Pricing - // Tier](https://learn.microsoft.com/azure/aks/free-standard-pricing-tiers) for more details. Tier *ManagedClusterSKU_Tier `json:"tier,omitempty"` } -// Settings for upgrading a cluster. type ClusterUpgradeSettings struct { - // OverrideSettings: Settings for overrides. OverrideSettings *UpgradeOverrideSettings `json:"overrideSettings,omitempty"` } -// Profile for Linux VMs in the container service cluster. type ContainerServiceLinuxProfile struct { - // AdminUsername: The administrator username to use for Linux VMs. - AdminUsername *string `json:"adminUsername,omitempty"` - - // Ssh: The SSH configuration for Linux-based VMs running on Azure. - Ssh *ContainerServiceSshConfiguration `json:"ssh,omitempty"` + AdminUsername *string `json:"adminUsername,omitempty"` + Ssh *ContainerServiceSshConfiguration `json:"ssh,omitempty"` } -// Profile of network configuration. type ContainerServiceNetworkProfile struct { - // DnsServiceIP: An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address - // range specified in serviceCidr. - DnsServiceIP *string `json:"dnsServiceIP,omitempty"` - - // IpFamilies: IP families are used to determine single-stack or dual-stack clusters. For single-stack, the expected value - // is IPv4. For dual-stack, the expected values are IPv4 and IPv6. - IpFamilies []IpFamily `json:"ipFamilies"` - - // KubeProxyConfig: Holds configuration customizations for kube-proxy. Any values not defined will use the kube-proxy - // defaulting behavior. See https://v.docs.kubernetes.io/docs/reference/command-line-tools-reference/kube-proxy/ - // where is represented by a - string. Kubernetes version 1.23 would be '1-23'. - KubeProxyConfig *ContainerServiceNetworkProfile_KubeProxyConfig `json:"kubeProxyConfig,omitempty"` - - // LoadBalancerProfile: Profile of the cluster load balancer. - LoadBalancerProfile *ManagedClusterLoadBalancerProfile `json:"loadBalancerProfile,omitempty"` - - // LoadBalancerSku: The default is 'standard'. See [Azure Load Balancer - // SKUs](https://docs.microsoft.com/azure/load-balancer/skus) for more information about the differences between load - // balancer SKUs. - LoadBalancerSku *LoadBalancerSku `json:"loadBalancerSku,omitempty"` - - // Monitoring: This addon can be used to configure network monitoring and generate network monitoring data in Prometheus - // format - Monitoring *NetworkMonitoring `json:"monitoring,omitempty"` - - // NatGatewayProfile: Profile of the cluster NAT gateway. - NatGatewayProfile *ManagedClusterNATGatewayProfile `json:"natGatewayProfile,omitempty"` - - // NetworkDataplane: Network dataplane used in the Kubernetes cluster. - NetworkDataplane *NetworkDataplane `json:"networkDataplane,omitempty"` - - // NetworkMode: This cannot be specified if networkPlugin is anything other than 'azure'. - NetworkMode *NetworkMode `json:"networkMode,omitempty"` - - // NetworkPlugin: Network plugin used for building the Kubernetes network. - NetworkPlugin *NetworkPlugin `json:"networkPlugin,omitempty"` - - // NetworkPluginMode: Network plugin mode used for building the Kubernetes network. - NetworkPluginMode *NetworkPluginMode `json:"networkPluginMode,omitempty"` - - // NetworkPolicy: Network policy used for building the Kubernetes network. - NetworkPolicy *NetworkPolicy `json:"networkPolicy,omitempty"` - - // OutboundType: This can only be set at cluster creation time and cannot be changed later. For more information see - // [egress outbound type](https://docs.microsoft.com/azure/aks/egress-outboundtype). - OutboundType *ContainerServiceNetworkProfile_OutboundType `json:"outboundType,omitempty"` - - // PodCidr: A CIDR notation IP range from which to assign pod IPs when kubenet is used. - PodCidr *string `json:"podCidr,omitempty"` - - // PodCidrs: One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is - // expected for dual-stack networking. - PodCidrs []string `json:"podCidrs"` - - // ServiceCidr: A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP - // ranges. - ServiceCidr *string `json:"serviceCidr,omitempty"` - - // ServiceCidrs: One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is - // expected for dual-stack networking. They must not overlap with any Subnet IP ranges. - ServiceCidrs []string `json:"serviceCidrs"` + DnsServiceIP *string `json:"dnsServiceIP,omitempty"` + IpFamilies []IpFamily `json:"ipFamilies"` + KubeProxyConfig *ContainerServiceNetworkProfile_KubeProxyConfig `json:"kubeProxyConfig,omitempty"` + LoadBalancerProfile *ManagedClusterLoadBalancerProfile `json:"loadBalancerProfile,omitempty"` + LoadBalancerSku *LoadBalancerSku `json:"loadBalancerSku,omitempty"` + Monitoring *NetworkMonitoring `json:"monitoring,omitempty"` + NatGatewayProfile *ManagedClusterNATGatewayProfile `json:"natGatewayProfile,omitempty"` + NetworkDataplane *NetworkDataplane `json:"networkDataplane,omitempty"` + NetworkMode *NetworkMode `json:"networkMode,omitempty"` + NetworkPlugin *NetworkPlugin `json:"networkPlugin,omitempty"` + NetworkPluginMode *NetworkPluginMode `json:"networkPluginMode,omitempty"` + NetworkPolicy *NetworkPolicy `json:"networkPolicy,omitempty"` + OutboundType *ContainerServiceNetworkProfile_OutboundType `json:"outboundType,omitempty"` + PodCidr *string `json:"podCidr,omitempty"` + PodCidrs []string `json:"podCidrs"` + ServiceCidr *string `json:"serviceCidr,omitempty"` + ServiceCidrs []string `json:"serviceCidrs"` } -// Data used when creating a target resource from a source resource. type CreationData struct { SourceResourceId *string `json:"sourceResourceId,omitempty"` } -// Delegated resource properties - internal use only. type DelegatedResource struct { - // Location: The source resource location - internal use only. - Location *string `json:"location,omitempty"` - - // ReferralResource: The delegation id of the referral delegation (optional) - internal use only. + Location *string `json:"location,omitempty"` ReferralResource *string `json:"referralResource,omitempty"` ResourceId *string `json:"resourceId,omitempty"` - - // TenantId: The tenant id of the delegated resource - internal use only. - TenantId *string `json:"tenantId,omitempty"` + TenantId *string `json:"tenantId,omitempty"` } -// The type of extendedLocation. // +kubebuilder:validation:Enum={"EdgeZone"} type ExtendedLocationType string @@ -313,7 +140,6 @@ var extendedLocationType_Values = map[string]ExtendedLocationType{ "edgezone": ExtendedLocationType_EdgeZone, } -// Different support tiers for AKS managed clusters // +kubebuilder:validation:Enum={"AKSLongTermSupport","KubernetesOfficial"} type KubernetesSupportPlan string @@ -328,285 +154,103 @@ var kubernetesSupportPlan_Values = map[string]KubernetesSupportPlan{ "kubernetesofficial": KubernetesSupportPlan_KubernetesOfficial, } -// For more details see [managed AAD on AKS](https://docs.microsoft.com/azure/aks/managed-aad). type ManagedClusterAADProfile struct { - // AdminGroupObjectIDs: The list of AAD group object IDs that will have admin role of the cluster. AdminGroupObjectIDs []string `json:"adminGroupObjectIDs"` - - // ClientAppID: (DEPRECATED) The client AAD application ID. Learn more at https://aka.ms/aks/aad-legacy. - ClientAppID *string `json:"clientAppID,omitempty"` - - // EnableAzureRBAC: Whether to enable Azure RBAC for Kubernetes authorization. - EnableAzureRBAC *bool `json:"enableAzureRBAC,omitempty"` - - // Managed: Whether to enable managed AAD. - Managed *bool `json:"managed,omitempty"` - - // ServerAppID: (DEPRECATED) The server AAD application ID. Learn more at https://aka.ms/aks/aad-legacy. - ServerAppID *string `json:"serverAppID,omitempty"` - - // ServerAppSecret: (DEPRECATED) The server AAD application secret. Learn more at https://aka.ms/aks/aad-legacy. - ServerAppSecret *string `json:"serverAppSecret,omitempty"` - - // TenantID: The AAD tenant ID to use for authentication. If not specified, will use the tenant of the deployment - // subscription. - TenantID *string `json:"tenantID,omitempty"` + ClientAppID *string `json:"clientAppID,omitempty"` + EnableAzureRBAC *bool `json:"enableAzureRBAC,omitempty"` + Managed *bool `json:"managed,omitempty"` + ServerAppID *string `json:"serverAppID,omitempty"` + ServerAppSecret *string `json:"serverAppSecret,omitempty"` + TenantID *string `json:"tenantID,omitempty"` } -// A Kubernetes add-on profile for a managed cluster. type ManagedClusterAddonProfile struct { - // Config: Key-value pairs for configuring an add-on. - Config map[string]string `json:"config"` - - // Enabled: Whether the add-on is enabled or not. - Enabled *bool `json:"enabled,omitempty"` + Config map[string]string `json:"config"` + Enabled *bool `json:"enabled,omitempty"` } -// Profile for the container service agent pool. type ManagedClusterAgentPoolProfile struct { - // ArtifactStreamingProfile: Configuration for using artifact streaming on AKS. - ArtifactStreamingProfile *AgentPoolArtifactStreamingProfile `json:"artifactStreamingProfile,omitempty"` - - // AvailabilityZones: The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType - // property is 'VirtualMachineScaleSets'. - AvailabilityZones []string `json:"availabilityZones"` - CapacityReservationGroupID *string `json:"capacityReservationGroupID,omitempty"` - - // Count: Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) - // for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1. - Count *int `json:"count,omitempty"` - - // CreationData: CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using - // a snapshot. - CreationData *CreationData `json:"creationData,omitempty"` - - // EnableAutoScaling: Whether to enable auto-scaler - EnableAutoScaling *bool `json:"enableAutoScaling,omitempty"` - - // EnableCustomCATrust: When set to true, AKS adds a label to the node indicating that the feature is enabled and deploys a - // daemonset along with host services to sync custom certificate authorities from user-provided list of base64 encoded - // certificates into node trust stores. Defaults to false. - EnableCustomCATrust *bool `json:"enableCustomCATrust,omitempty"` - - // EnableEncryptionAtHost: This is only supported on certain VM sizes and in certain Azure regions. For more information, - // see: https://docs.microsoft.com/azure/aks/enable-host-encryption - EnableEncryptionAtHost *bool `json:"enableEncryptionAtHost,omitempty"` - - // EnableFIPS: See [Add a FIPS-enabled node - // pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more - // details. - EnableFIPS *bool `json:"enableFIPS,omitempty"` - - // EnableNodePublicIP: Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. - // A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine - // to minimize hops. For more information see [assigning a public IP per - // node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The - // default is false. - EnableNodePublicIP *bool `json:"enableNodePublicIP,omitempty"` - - // EnableUltraSSD: Whether to enable UltraSSD - EnableUltraSSD *bool `json:"enableUltraSSD,omitempty"` - - // GpuInstanceProfile: GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU. - GpuInstanceProfile *GPUInstanceProfile `json:"gpuInstanceProfile,omitempty"` - - // GpuProfile: The GPU settings of an agent pool. - GpuProfile *AgentPoolGPUProfile `json:"gpuProfile,omitempty"` - HostGroupID *string `json:"hostGroupID,omitempty"` - - // KubeletConfig: The Kubelet configuration on the agent pool nodes. - KubeletConfig *KubeletConfig `json:"kubeletConfig,omitempty"` - - // KubeletDiskType: Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral - // storage. - KubeletDiskType *KubeletDiskType `json:"kubeletDiskType,omitempty"` - - // LinuxOSConfig: The OS configuration of Linux agent nodes. - LinuxOSConfig *LinuxOSConfig `json:"linuxOSConfig,omitempty"` - - // MaxCount: The maximum number of nodes for auto-scaling - MaxCount *int `json:"maxCount,omitempty"` - - // MaxPods: The maximum number of pods that can run on a node. - MaxPods *int `json:"maxPods,omitempty"` - - // MessageOfTheDay: A base64-encoded string which will be written to /etc/motd after decoding. This allows customization of - // the message of the day for Linux nodes. It must not be specified for Windows nodes. It must be a static string (i.e., - // will be printed raw and not be executed as a script). - MessageOfTheDay *string `json:"messageOfTheDay,omitempty"` - - // MinCount: The minimum number of nodes for auto-scaling - MinCount *int `json:"minCount,omitempty"` - - // Mode: A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool - // restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools - Mode *AgentPoolMode `json:"mode,omitempty"` - - // Name: Windows agent pool names must be 6 characters or less. - Name *string `json:"name,omitempty"` - - // NetworkProfile: Network-related settings of an agent pool. - NetworkProfile *AgentPoolNetworkProfile `json:"networkProfile,omitempty"` - - // NodeInitializationTaints: These taints will not be reconciled by AKS and can be removed with a kubectl call. This field - // can be modified after node pool is created, but nodes will not be recreated with new taints until another operation that - // requires recreation (e.g. node image upgrade) happens. These taints allow for required configuration to run before the - // node is ready to accept workloads, for example 'key1=value1:NoSchedule' that then can be removed with `kubectl taint - // nodes node1 key1=value1:NoSchedule-` - NodeInitializationTaints []string `json:"nodeInitializationTaints"` - - // NodeLabels: The node labels to be persisted across all nodes in agent pool. - NodeLabels map[string]string `json:"nodeLabels" serializationType:"explicitEmptyCollection"` - NodePublicIPPrefixID *string `json:"nodePublicIPPrefixID,omitempty"` - - // NodeTaints: The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule. - NodeTaints []string `json:"nodeTaints" serializationType:"explicitEmptyCollection"` - - // OrchestratorVersion: Both patch version and are supported. When is - // specified, the latest supported patch version is chosen automatically. Updating the agent pool with the same - // once it has been created will not trigger an upgrade, even if a newer patch version is available. As a - // best practice, you should upgrade all node pools in an AKS cluster to the same Kubernetes version. The node pool version - // must have the same major version as the control plane. The node pool minor version must be within two minor versions of - // the control plane version. The node pool version cannot be greater than the control plane version. For more information - // see [upgrading a node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). - OrchestratorVersion *string `json:"orchestratorVersion,omitempty"` - OsDiskSizeGB *int `json:"osDiskSizeGB,omitempty"` - - // OsDiskType: The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested - // OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral - // OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). - OsDiskType *OSDiskType `json:"osDiskType,omitempty"` - - // OsSKU: Specifies the OS SKU used by the agent pool. If not specified, the default is Ubuntu if OSType=Linux or - // Windows2019 if OSType=Windows. And the default Windows OSSKU will be changed to Windows2022 after Windows2019 is - // deprecated. - OsSKU *OSSKU `json:"osSKU,omitempty"` - - // OsType: The operating system type. The default is Linux. - OsType *OSType `json:"osType,omitempty"` - PodSubnetID *string `json:"podSubnetID,omitempty"` - - // PowerState: When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this - // field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only - // be stopped if it is Running and provisioning state is Succeeded - PowerState *PowerState `json:"powerState,omitempty"` - ProximityPlacementGroupID *string `json:"proximityPlacementGroupID,omitempty"` - - // ScaleDownMode: This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete. - ScaleDownMode *ScaleDownMode `json:"scaleDownMode,omitempty"` - - // ScaleSetEvictionPolicy: This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is - // 'Delete'. - ScaleSetEvictionPolicy *ScaleSetEvictionPolicy `json:"scaleSetEvictionPolicy,omitempty"` - - // ScaleSetPriority: The Virtual Machine Scale Set priority. If not specified, the default is 'Regular'. - ScaleSetPriority *ScaleSetPriority `json:"scaleSetPriority,omitempty"` - - // SecurityProfile: The security settings of an agent pool. - SecurityProfile *AgentPoolSecurityProfile `json:"securityProfile,omitempty"` - - // SpotMaxPrice: Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any - // on-demand price. For more details on spot pricing, see [spot VMs - // pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing) - SpotMaxPrice *float64 `json:"spotMaxPrice,omitempty"` - - // Tags: The tags to be persisted on the agent pool virtual machine scale set. - Tags map[string]string `json:"tags" serializationType:"explicitEmptyCollection"` - - // Type: The type of Agent Pool. - Type *AgentPoolType `json:"type,omitempty"` - - // UpgradeSettings: Settings for upgrading the agentpool - UpgradeSettings *AgentPoolUpgradeSettings `json:"upgradeSettings,omitempty"` - VirtualMachineNodesStatus []VirtualMachineNodes `json:"virtualMachineNodesStatus"` - - // VirtualMachinesProfile: Specifications on VirtualMachines agent pool. - VirtualMachinesProfile *VirtualMachinesProfile `json:"virtualMachinesProfile,omitempty"` - - // VmSize: VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods - // might fail to run correctly. For more details on restricted VM sizes, see: - // https://docs.microsoft.com/azure/aks/quotas-skus-regions - VmSize *string `json:"vmSize,omitempty"` - VnetSubnetID *string `json:"vnetSubnetID,omitempty"` - - // WindowsProfile: The Windows agent pool's specific profile. - WindowsProfile *AgentPoolWindowsProfile `json:"windowsProfile,omitempty"` - - // WorkloadRuntime: Determines the type of workload a node can run. - WorkloadRuntime *WorkloadRuntime `json:"workloadRuntime,omitempty"` + ArtifactStreamingProfile *AgentPoolArtifactStreamingProfile `json:"artifactStreamingProfile,omitempty"` + AvailabilityZones []string `json:"availabilityZones"` + CapacityReservationGroupID *string `json:"capacityReservationGroupID,omitempty"` + Count *int `json:"count,omitempty"` + CreationData *CreationData `json:"creationData,omitempty"` + EnableAutoScaling *bool `json:"enableAutoScaling,omitempty"` + EnableCustomCATrust *bool `json:"enableCustomCATrust,omitempty"` + EnableEncryptionAtHost *bool `json:"enableEncryptionAtHost,omitempty"` + EnableFIPS *bool `json:"enableFIPS,omitempty"` + EnableNodePublicIP *bool `json:"enableNodePublicIP,omitempty"` + EnableUltraSSD *bool `json:"enableUltraSSD,omitempty"` + GpuInstanceProfile *GPUInstanceProfile `json:"gpuInstanceProfile,omitempty"` + GpuProfile *AgentPoolGPUProfile `json:"gpuProfile,omitempty"` + HostGroupID *string `json:"hostGroupID,omitempty"` + KubeletConfig *KubeletConfig `json:"kubeletConfig,omitempty"` + KubeletDiskType *KubeletDiskType `json:"kubeletDiskType,omitempty"` + LinuxOSConfig *LinuxOSConfig `json:"linuxOSConfig,omitempty"` + MaxCount *int `json:"maxCount,omitempty"` + MaxPods *int `json:"maxPods,omitempty"` + MessageOfTheDay *string `json:"messageOfTheDay,omitempty"` + MinCount *int `json:"minCount,omitempty"` + Mode *AgentPoolMode `json:"mode,omitempty"` + Name *string `json:"name,omitempty"` + NetworkProfile *AgentPoolNetworkProfile `json:"networkProfile,omitempty"` + NodeInitializationTaints []string `json:"nodeInitializationTaints"` + NodeLabels map[string]string `json:"nodeLabels" serializationType:"explicitEmptyCollection"` + NodePublicIPPrefixID *string `json:"nodePublicIPPrefixID,omitempty"` + NodeTaints []string `json:"nodeTaints" serializationType:"explicitEmptyCollection"` + OrchestratorVersion *string `json:"orchestratorVersion,omitempty"` + OsDiskSizeGB *int `json:"osDiskSizeGB,omitempty"` + OsDiskType *OSDiskType `json:"osDiskType,omitempty"` + OsSKU *OSSKU `json:"osSKU,omitempty"` + OsType *OSType `json:"osType,omitempty"` + PodSubnetID *string `json:"podSubnetID,omitempty"` + PowerState *PowerState `json:"powerState,omitempty"` + ProximityPlacementGroupID *string `json:"proximityPlacementGroupID,omitempty"` + ScaleDownMode *ScaleDownMode `json:"scaleDownMode,omitempty"` + ScaleSetEvictionPolicy *ScaleSetEvictionPolicy `json:"scaleSetEvictionPolicy,omitempty"` + ScaleSetPriority *ScaleSetPriority `json:"scaleSetPriority,omitempty"` + SecurityProfile *AgentPoolSecurityProfile `json:"securityProfile,omitempty"` + SpotMaxPrice *float64 `json:"spotMaxPrice,omitempty"` + Tags map[string]string `json:"tags" serializationType:"explicitEmptyCollection"` + Type *AgentPoolType `json:"type,omitempty"` + UpgradeSettings *AgentPoolUpgradeSettings `json:"upgradeSettings,omitempty"` + VirtualMachineNodesStatus []VirtualMachineNodes `json:"virtualMachineNodesStatus"` + VirtualMachinesProfile *VirtualMachinesProfile `json:"virtualMachinesProfile,omitempty"` + VmSize *string `json:"vmSize,omitempty"` + VnetSubnetID *string `json:"vnetSubnetID,omitempty"` + WindowsProfile *AgentPoolWindowsProfile `json:"windowsProfile,omitempty"` + WorkloadRuntime *WorkloadRuntime `json:"workloadRuntime,omitempty"` } - -// When enabling the operator, a set of AKS managed CRDs and controllers will be installed in the cluster. The operator -// automates the deployment of OSS models for inference and/or training purposes. It provides a set of preset models and -// enables distributed inference against them. + type ManagedClusterAIToolchainOperatorProfile struct { - // Enabled: Indicates if AI toolchain operator enabled or not. Enabled *bool `json:"enabled,omitempty"` } -// Access profile for managed cluster API server. type ManagedClusterAPIServerAccessProfile struct { - // AuthorizedIPRanges: IP ranges are specified in CIDR format, e.g. 137.117.106.88/29. This feature is not compatible with - // clusters that use Public IP Per Node, or clusters that are using a Basic Load Balancer. For more information see [API - // server authorized IP ranges](https://docs.microsoft.com/azure/aks/api-server-authorized-ip-ranges). - AuthorizedIPRanges []string `json:"authorizedIPRanges"` - - // DisableRunCommand: Whether to disable run command for the cluster or not. - DisableRunCommand *bool `json:"disableRunCommand,omitempty"` - - // EnablePrivateCluster: For more details, see [Creating a private AKS - // cluster](https://docs.microsoft.com/azure/aks/private-clusters). - EnablePrivateCluster *bool `json:"enablePrivateCluster,omitempty"` - - // EnablePrivateClusterPublicFQDN: Whether to create additional public FQDN for private cluster or not. - EnablePrivateClusterPublicFQDN *bool `json:"enablePrivateClusterPublicFQDN,omitempty"` - - // EnableVnetIntegration: Whether to enable apiserver vnet integration for the cluster or not. - EnableVnetIntegration *bool `json:"enableVnetIntegration,omitempty"` - - // PrivateDNSZone: The default is System. For more details see [configure private DNS - // zone](https://docs.microsoft.com/azure/aks/private-clusters#configure-private-dns-zone). Allowed values are 'system' and - // 'none'. - PrivateDNSZone *string `json:"privateDNSZone,omitempty"` - - // SubnetId: It is required when: 1. creating a new cluster with BYO Vnet; 2. updating an existing cluster to enable - // apiserver vnet integration. - SubnetId *string `json:"subnetId,omitempty"` + AuthorizedIPRanges []string `json:"authorizedIPRanges"` + DisableRunCommand *bool `json:"disableRunCommand,omitempty"` + EnablePrivateCluster *bool `json:"enablePrivateCluster,omitempty"` + EnablePrivateClusterPublicFQDN *bool `json:"enablePrivateClusterPublicFQDN,omitempty"` + EnableVnetIntegration *bool `json:"enableVnetIntegration,omitempty"` + PrivateDNSZone *string `json:"privateDNSZone,omitempty"` + SubnetId *string `json:"subnetId,omitempty"` } -// Auto upgrade profile for a managed cluster. type ManagedClusterAutoUpgradeProfile struct { - // NodeOSUpgradeChannel: The default is Unmanaged, but may change to either NodeImage or SecurityPatch at GA. NodeOSUpgradeChannel *ManagedClusterAutoUpgradeProfile_NodeOSUpgradeChannel `json:"nodeOSUpgradeChannel,omitempty"` - - // UpgradeChannel: For more information see [setting the AKS cluster auto-upgrade - // channel](https://docs.microsoft.com/azure/aks/upgrade-cluster#set-auto-upgrade-channel). - UpgradeChannel *ManagedClusterAutoUpgradeProfile_UpgradeChannel `json:"upgradeChannel,omitempty"` + UpgradeChannel *ManagedClusterAutoUpgradeProfile_UpgradeChannel `json:"upgradeChannel,omitempty"` } -// Prometheus addon profile for the container service cluster type ManagedClusterAzureMonitorProfile struct { - // Logs: Logs profile for the Azure Monitor Infrastructure and Application Logs. Collect out-of-the-box Kubernetes - // infrastructure & application logs to send to Azure Monitor. See aka.ms/AzureMonitorContainerInsights for an overview. - Logs *ManagedClusterAzureMonitorProfileLogs `json:"logs,omitempty"` - - // Metrics: Metrics profile for the prometheus service addon + Logs *ManagedClusterAzureMonitorProfileLogs `json:"logs,omitempty"` Metrics *ManagedClusterAzureMonitorProfileMetrics `json:"metrics,omitempty"` } -// Cluster HTTP proxy configuration. type ManagedClusterHTTPProxyConfig struct { - // HttpProxy: The HTTP proxy server endpoint to use. - HttpProxy *string `json:"httpProxy,omitempty"` - - // HttpsProxy: The HTTPS proxy server endpoint to use. - HttpsProxy *string `json:"httpsProxy,omitempty"` - - // NoProxy: The endpoints that should not go through proxy. - NoProxy []string `json:"noProxy"` - - // TrustedCa: Alternative CA cert to use for connecting to proxy servers. - TrustedCa *string `json:"trustedCa,omitempty"` + HttpProxy *string `json:"httpProxy,omitempty"` + HttpsProxy *string `json:"httpsProxy,omitempty"` + NoProxy []string `json:"noProxy"` + TrustedCa *string `json:"trustedCa,omitempty"` } // +kubebuilder:validation:Enum={"None","SystemAssigned","UserAssigned"} @@ -625,127 +269,54 @@ var managedClusterIdentity_Type_Values = map[string]ManagedClusterIdentity_Type{ "userassigned": ManagedClusterIdentity_Type_UserAssigned, } -// Ingress profile for the container service cluster. type ManagedClusterIngressProfile struct { - // WebAppRouting: Web App Routing settings for the ingress profile. WebAppRouting *ManagedClusterIngressProfileWebAppRouting `json:"webAppRouting,omitempty"` } -// The metrics profile for the ManagedCluster. type ManagedClusterMetricsProfile struct { - // CostAnalysis: The cost analysis configuration for the cluster CostAnalysis *ManagedClusterCostAnalysis `json:"costAnalysis,omitempty"` } type ManagedClusterNodeProvisioningProfile struct { - // Mode: Once the mode it set to Auto, it cannot be changed back to Manual. Mode *ManagedClusterNodeProvisioningProfile_Mode `json:"mode,omitempty"` } -// Node resource group lockdown profile for a managed cluster. type ManagedClusterNodeResourceGroupProfile struct { - // RestrictionLevel: The restriction level applied to the cluster's node resource group RestrictionLevel *ManagedClusterNodeResourceGroupProfile_RestrictionLevel `json:"restrictionLevel,omitempty"` } -// The OIDC issuer profile of the Managed Cluster. type ManagedClusterOIDCIssuerProfile struct { - // Enabled: Whether the OIDC issuer is enabled. Enabled *bool `json:"enabled,omitempty"` } -// See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on pod -// identity integration. type ManagedClusterPodIdentityProfile struct { - // AllowNetworkPluginKubenet: Running in Kubenet is disabled by default due to the security related nature of AAD Pod - // Identity and the risks of IP spoofing. See [using Kubenet network plugin with AAD Pod - // Identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity#using-kubenet-network-plugin-with-azure-active-directory-pod-managed-identities) - // for more information. - AllowNetworkPluginKubenet *bool `json:"allowNetworkPluginKubenet,omitempty"` - - // Enabled: Whether the pod identity addon is enabled. - Enabled *bool `json:"enabled,omitempty"` - - // UserAssignedIdentities: The pod identities to use in the cluster. - UserAssignedIdentities []ManagedClusterPodIdentity `json:"userAssignedIdentities"` - - // UserAssignedIdentityExceptions: The pod identity exceptions to allow. + AllowNetworkPluginKubenet *bool `json:"allowNetworkPluginKubenet,omitempty"` + Enabled *bool `json:"enabled,omitempty"` + UserAssignedIdentities []ManagedClusterPodIdentity `json:"userAssignedIdentities"` UserAssignedIdentityExceptions []ManagedClusterPodIdentityException `json:"userAssignedIdentityExceptions"` } type ManagedClusterProperties_AutoScalerProfile struct { - // BalanceSimilarNodeGroups: Valid values are 'true' and 'false' - BalanceSimilarNodeGroups *string `json:"balance-similar-node-groups,omitempty"` - - // DaemonsetEvictionForEmptyNodes: If set to true, all daemonset pods on empty nodes will be evicted before deletion of the - // node. If the daemonset pod cannot be evicted another node will be chosen for scaling. If set to false, the node will be - // deleted without ensuring that daemonset pods are deleted or evicted. - DaemonsetEvictionForEmptyNodes *bool `json:"daemonset-eviction-for-empty-nodes,omitempty"` - - // DaemonsetEvictionForOccupiedNodes: If set to true, all daemonset pods on occupied nodes will be evicted before deletion - // of the node. If the daemonset pod cannot be evicted another node will be chosen for scaling. If set to false, the node - // will be deleted without ensuring that daemonset pods are deleted or evicted. - DaemonsetEvictionForOccupiedNodes *bool `json:"daemonset-eviction-for-occupied-nodes,omitempty"` - - // Expander: Available values are: 'least-waste', 'most-pods', 'priority', 'random'. - Expander *Expander `json:"expander,omitempty"` - - // IgnoreDaemonsetsUtilization: If set to true, the resources used by daemonset will be taken into account when making - // scaling down decisions. - IgnoreDaemonsetsUtilization *bool `json:"ignore-daemonsets-utilization,omitempty"` - - // MaxEmptyBulkDelete: The default is 10. - MaxEmptyBulkDelete *string `json:"max-empty-bulk-delete,omitempty"` - - // MaxGracefulTerminationSec: The default is 600. - MaxGracefulTerminationSec *string `json:"max-graceful-termination-sec,omitempty"` - - // MaxNodeProvisionTime: The default is '15m'. Values must be an integer followed by an 'm'. No unit of time other than - // minutes (m) is supported. - MaxNodeProvisionTime *string `json:"max-node-provision-time,omitempty"` - - // MaxTotalUnreadyPercentage: The default is 45. The maximum is 100 and the minimum is 0. - MaxTotalUnreadyPercentage *string `json:"max-total-unready-percentage,omitempty"` - - // NewPodScaleUpDelay: For scenarios like burst/batch scale where you don't want CA to act before the kubernetes scheduler - // could schedule all the pods, you can tell CA to ignore unscheduled pods before they're a certain age. The default is - // '0s'. Values must be an integer followed by a unit ('s' for seconds, 'm' for minutes, 'h' for hours, etc). - NewPodScaleUpDelay *string `json:"new-pod-scale-up-delay,omitempty"` - - // OkTotalUnreadyCount: This must be an integer. The default is 3. - OkTotalUnreadyCount *string `json:"ok-total-unready-count,omitempty"` - - // ScaleDownDelayAfterAdd: The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than - // minutes (m) is supported. - ScaleDownDelayAfterAdd *string `json:"scale-down-delay-after-add,omitempty"` - - // ScaleDownDelayAfterDelete: The default is the scan-interval. Values must be an integer followed by an 'm'. No unit of - // time other than minutes (m) is supported. - ScaleDownDelayAfterDelete *string `json:"scale-down-delay-after-delete,omitempty"` - - // ScaleDownDelayAfterFailure: The default is '3m'. Values must be an integer followed by an 'm'. No unit of time other - // than minutes (m) is supported. - ScaleDownDelayAfterFailure *string `json:"scale-down-delay-after-failure,omitempty"` - - // ScaleDownUnneededTime: The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than - // minutes (m) is supported. - ScaleDownUnneededTime *string `json:"scale-down-unneeded-time,omitempty"` - - // ScaleDownUnreadyTime: The default is '20m'. Values must be an integer followed by an 'm'. No unit of time other than - // minutes (m) is supported. - ScaleDownUnreadyTime *string `json:"scale-down-unready-time,omitempty"` - - // ScaleDownUtilizationThreshold: The default is '0.5'. - ScaleDownUtilizationThreshold *string `json:"scale-down-utilization-threshold,omitempty"` - - // ScanInterval: The default is '10'. Values must be an integer number of seconds. - ScanInterval *string `json:"scan-interval,omitempty"` - - // SkipNodesWithLocalStorage: The default is true. - SkipNodesWithLocalStorage *string `json:"skip-nodes-with-local-storage,omitempty"` - - // SkipNodesWithSystemPods: The default is true. - SkipNodesWithSystemPods *string `json:"skip-nodes-with-system-pods,omitempty"` + BalanceSimilarNodeGroups *string `json:"balance-similar-node-groups,omitempty"` + DaemonsetEvictionForEmptyNodes *bool `json:"daemonset-eviction-for-empty-nodes,omitempty"` + DaemonsetEvictionForOccupiedNodes *bool `json:"daemonset-eviction-for-occupied-nodes,omitempty"` + Expander *Expander `json:"expander,omitempty"` + IgnoreDaemonsetsUtilization *bool `json:"ignore-daemonsets-utilization,omitempty"` + MaxEmptyBulkDelete *string `json:"max-empty-bulk-delete,omitempty"` + MaxGracefulTerminationSec *string `json:"max-graceful-termination-sec,omitempty"` + MaxNodeProvisionTime *string `json:"max-node-provision-time,omitempty"` + MaxTotalUnreadyPercentage *string `json:"max-total-unready-percentage,omitempty"` + NewPodScaleUpDelay *string `json:"new-pod-scale-up-delay,omitempty"` + OkTotalUnreadyCount *string `json:"ok-total-unready-count,omitempty"` + ScaleDownDelayAfterAdd *string `json:"scale-down-delay-after-add,omitempty"` + ScaleDownDelayAfterDelete *string `json:"scale-down-delay-after-delete,omitempty"` + ScaleDownDelayAfterFailure *string `json:"scale-down-delay-after-failure,omitempty"` + ScaleDownUnneededTime *string `json:"scale-down-unneeded-time,omitempty"` + ScaleDownUnreadyTime *string `json:"scale-down-unready-time,omitempty"` + ScaleDownUtilizationThreshold *string `json:"scale-down-utilization-threshold,omitempty"` + ScanInterval *string `json:"scan-interval,omitempty"` + SkipNodesWithLocalStorage *string `json:"skip-nodes-with-local-storage,omitempty"` + SkipNodesWithSystemPods *string `json:"skip-nodes-with-system-pods,omitempty"` } // +kubebuilder:validation:Enum={"Disabled","Enabled","SecuredByPerimeter"} @@ -764,45 +335,19 @@ var managedClusterProperties_PublicNetworkAccess_Values = map[string]ManagedClus "securedbyperimeter": ManagedClusterProperties_PublicNetworkAccess_SecuredByPerimeter, } -// Security profile for the container service cluster. type ManagedClusterSecurityProfile struct { - // AzureKeyVaultKms: Azure Key Vault [key management - // service](https://kubernetes.io/docs/tasks/administer-cluster/kms-provider/) settings for the security profile. - AzureKeyVaultKms *AzureKeyVaultKms `json:"azureKeyVaultKms,omitempty"` - - // CustomCATrustCertificates: A list of up to 10 base64 encoded CAs that will be added to the trust store on nodes with the - // Custom CA Trust feature enabled. For more information see [Custom CA Trust - // Certificates](https://learn.microsoft.com/en-us/azure/aks/custom-certificate-authority) - CustomCATrustCertificates []string `json:"customCATrustCertificates"` - - // Defender: Microsoft Defender settings for the security profile. - Defender *ManagedClusterSecurityProfileDefender `json:"defender,omitempty"` - - // ImageCleaner: Image Cleaner settings for the security profile. - ImageCleaner *ManagedClusterSecurityProfileImageCleaner `json:"imageCleaner,omitempty"` - - // ImageIntegrity: Image integrity is a feature that works with Azure Policy to verify image integrity by signature. This - // will not have any effect unless Azure Policy is applied to enforce image signatures. See - // https://aka.ms/aks/image-integrity for how to use this feature via policy. - ImageIntegrity *ManagedClusterSecurityProfileImageIntegrity `json:"imageIntegrity,omitempty"` - - // NodeRestriction: [Node - // Restriction](https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/#noderestriction) settings - // for the security profile. - NodeRestriction *ManagedClusterSecurityProfileNodeRestriction `json:"nodeRestriction,omitempty"` - - // WorkloadIdentity: Workload identity settings for the security profile. Workload identity enables Kubernetes applications - // to access Azure cloud resources securely with Azure AD. See https://aka.ms/aks/wi for more details. - WorkloadIdentity *ManagedClusterSecurityProfileWorkloadIdentity `json:"workloadIdentity,omitempty"` + AzureKeyVaultKms *AzureKeyVaultKms `json:"azureKeyVaultKms,omitempty"` + CustomCATrustCertificates []string `json:"customCATrustCertificates"` + Defender *ManagedClusterSecurityProfileDefender `json:"defender,omitempty"` + ImageCleaner *ManagedClusterSecurityProfileImageCleaner `json:"imageCleaner,omitempty"` + ImageIntegrity *ManagedClusterSecurityProfileImageIntegrity `json:"imageIntegrity,omitempty"` + NodeRestriction *ManagedClusterSecurityProfileNodeRestriction `json:"nodeRestriction,omitempty"` + WorkloadIdentity *ManagedClusterSecurityProfileWorkloadIdentity `json:"workloadIdentity,omitempty"` } -// Information about a service principal identity for the cluster to use for manipulating Azure APIs. type ManagedClusterServicePrincipalProfile struct { - // ClientId: The ID for the service principal. ClientId *string `json:"clientId,omitempty"` - - // Secret: The secret password associated with the service principal in plain text. - Secret *string `json:"secret,omitempty"` + Secret *string `json:"secret,omitempty"` } // +kubebuilder:validation:Enum={"Base"} @@ -831,107 +376,47 @@ var managedClusterSKU_Tier_Values = map[string]ManagedClusterSKU_Tier{ "standard": ManagedClusterSKU_Tier_Standard, } -// Storage profile for the container service cluster. type ManagedClusterStorageProfile struct { - // BlobCSIDriver: AzureBlob CSI Driver settings for the storage profile. - BlobCSIDriver *ManagedClusterStorageProfileBlobCSIDriver `json:"blobCSIDriver,omitempty"` - - // DiskCSIDriver: AzureDisk CSI Driver settings for the storage profile. - DiskCSIDriver *ManagedClusterStorageProfileDiskCSIDriver `json:"diskCSIDriver,omitempty"` - - // FileCSIDriver: AzureFile CSI Driver settings for the storage profile. - FileCSIDriver *ManagedClusterStorageProfileFileCSIDriver `json:"fileCSIDriver,omitempty"` - - // SnapshotController: Snapshot Controller settings for the storage profile. + BlobCSIDriver *ManagedClusterStorageProfileBlobCSIDriver `json:"blobCSIDriver,omitempty"` + DiskCSIDriver *ManagedClusterStorageProfileDiskCSIDriver `json:"diskCSIDriver,omitempty"` + FileCSIDriver *ManagedClusterStorageProfileFileCSIDriver `json:"fileCSIDriver,omitempty"` SnapshotController *ManagedClusterStorageProfileSnapshotController `json:"snapshotController,omitempty"` } -// Profile for Windows VMs in the managed cluster. type ManagedClusterWindowsProfile struct { - // AdminPassword: Specifies the password of the administrator account. - // Minimum-length: 8 characters - // Max-length: 123 characters - // Complexity requirements: 3 out of 4 conditions below need to be fulfilled - // Has lower characters - // Has upper characters - // Has a digit - // Has a special character (Regex match [\W_]) - // Disallowed values: "abc@123", "P@$$w0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", - // "Password22", "iloveyou!" - AdminPassword *string `json:"adminPassword,omitempty"` - - // AdminUsername: Specifies the name of the administrator account. - // Restriction: Cannot end in "." - // Disallowed values: "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", - // "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", - // "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5". - // Minimum-length: 1 character - // Max-length: 20 characters - AdminUsername *string `json:"adminUsername,omitempty"` - - // EnableCSIProxy: For more details on CSI proxy, see the [CSI proxy GitHub - // repo](https://github.com/kubernetes-csi/csi-proxy). - EnableCSIProxy *bool `json:"enableCSIProxy,omitempty"` - - // GmsaProfile: The Windows gMSA Profile in the Managed Cluster. - GmsaProfile *WindowsGmsaProfile `json:"gmsaProfile,omitempty"` - - // LicenseType: The license type to use for Windows VMs. See [Azure Hybrid User - // Benefits](https://azure.microsoft.com/pricing/hybrid-benefit/faq/) for more details. - LicenseType *ManagedClusterWindowsProfile_LicenseType `json:"licenseType,omitempty"` -} - -// Workload Auto-scaler profile for the managed cluster. + AdminPassword *string `json:"adminPassword,omitempty"` + AdminUsername *string `json:"adminUsername,omitempty"` + EnableCSIProxy *bool `json:"enableCSIProxy,omitempty"` + GmsaProfile *WindowsGmsaProfile `json:"gmsaProfile,omitempty"` + LicenseType *ManagedClusterWindowsProfile_LicenseType `json:"licenseType,omitempty"` +} + type ManagedClusterWorkloadAutoScalerProfile struct { - // Keda: KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile. Keda *ManagedClusterWorkloadAutoScalerProfileKeda `json:"keda,omitempty"` VerticalPodAutoscaler *ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler `json:"verticalPodAutoscaler,omitempty"` } -// A private link resource type PrivateLinkResource struct { - // GroupId: The group ID of the resource. - GroupId *string `json:"groupId,omitempty"` - Id *string `json:"id,omitempty"` - - // Name: The name of the private link resource. - Name *string `json:"name,omitempty"` - - // RequiredMembers: The RequiredMembers of the resource + GroupId *string `json:"groupId,omitempty"` + Id *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` RequiredMembers []string `json:"requiredMembers"` - - // Type: The resource type. - Type *string `json:"type,omitempty"` + Type *string `json:"type,omitempty"` } -// The Safeguards profile. type SafeguardsProfile struct { - // ExcludedNamespaces: List of namespaces excluded from Safeguards checks - ExcludedNamespaces []string `json:"excludedNamespaces"` - - // Level: The Safeguards level to be used. By default, Safeguards is enabled for all namespaces except those that AKS - // excludes via systemExcludedNamespaces - Level *SafeguardsProfile_Level `json:"level,omitempty"` - - // Version: The version of constraints to use - Version *string `json:"version,omitempty"` + ExcludedNamespaces []string `json:"excludedNamespaces"` + Level *SafeguardsProfile_Level `json:"level,omitempty"` + Version *string `json:"version,omitempty"` } -// Service mesh profile for a managed cluster. type ServiceMeshProfile struct { - // Istio: Istio service mesh configuration. - Istio *IstioServiceMesh `json:"istio,omitempty"` - - // Mode: Mode of the service mesh. - Mode *ServiceMeshProfile_Mode `json:"mode,omitempty"` + Istio *IstioServiceMesh `json:"istio,omitempty"` + Mode *ServiceMeshProfile_Mode `json:"mode,omitempty"` } -// Details about a user assigned identity. type UserAssignedIdentity struct { - // ClientId: The client ID of the user assigned identity. - ClientId *string `json:"clientId,omitempty"` - - // ObjectId: The object ID of the user assigned identity. + ClientId *string `json:"clientId,omitempty"` ObjectId *string `json:"objectId,omitempty"` ResourceId *string `json:"resourceId,omitempty"` } @@ -940,34 +425,17 @@ type UserAssignedIdentity struct { type UserAssignedIdentityDetails struct { } -// Azure Key Vault key management service settings for the security profile. type AzureKeyVaultKms struct { - // Enabled: Whether to enable Azure Key Vault key management service. The default is false. - Enabled *bool `json:"enabled,omitempty"` - - // KeyId: Identifier of Azure Key Vault key. See [key identifier - // format](https://docs.microsoft.com/en-us/azure/key-vault/general/about-keys-secrets-certificates#vault-name-and-object-name) - // for more details. When Azure Key Vault key management service is enabled, this field is required and must be a valid key - // identifier. When Azure Key Vault key management service is disabled, leave the field empty. - KeyId *string `json:"keyId,omitempty"` - - // KeyVaultNetworkAccess: Network access of key vault. The possible values are `Public` and `Private`. `Public` means the - // key vault allows public access from all networks. `Private` means the key vault disables public access and enables - // private link. The default value is `Public`. + Enabled *bool `json:"enabled,omitempty"` + KeyId *string `json:"keyId,omitempty"` KeyVaultNetworkAccess *AzureKeyVaultKms_KeyVaultNetworkAccess `json:"keyVaultNetworkAccess,omitempty"` KeyVaultResourceId *string `json:"keyVaultResourceId,omitempty"` } type ContainerServiceNetworkProfile_KubeProxyConfig struct { - // Enabled: Whether to enable on kube-proxy on the cluster (if no 'kubeProxyConfig' exists, kube-proxy is enabled in AKS by - // default without these customizations). - Enabled *bool `json:"enabled,omitempty"` - - // IpvsConfig: Holds configuration customizations for IPVS. May only be specified if 'mode' is set to 'IPVS'. + Enabled *bool `json:"enabled,omitempty"` IpvsConfig *ContainerServiceNetworkProfile_KubeProxyConfig_IpvsConfig `json:"ipvsConfig,omitempty"` - - // Mode: Specify which proxy mode to use ('IPTABLES' or 'IPVS') - Mode *ContainerServiceNetworkProfile_KubeProxyConfig_Mode `json:"mode,omitempty"` + Mode *ContainerServiceNetworkProfile_KubeProxyConfig_Mode `json:"mode,omitempty"` } // +kubebuilder:validation:Enum={"loadBalancer","managedNATGateway","userAssignedNATGateway","userDefinedRouting"} @@ -988,15 +456,10 @@ var containerServiceNetworkProfile_OutboundType_Values = map[string]ContainerSer "userdefinedrouting": ContainerServiceNetworkProfile_OutboundType_UserDefinedRouting, } -// SSH configuration for Linux-based VMs running on Azure. type ContainerServiceSshConfiguration struct { - // PublicKeys: The list of SSH public keys used to authenticate with Linux-based VMs. A maximum of 1 key may be specified. PublicKeys []ContainerServiceSshPublicKey `json:"publicKeys"` } -// If not specified, the default is 'random'. See -// [expanders](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md#what-are-expanders) for more -// information. // +kubebuilder:validation:Enum={"least-waste","most-pods","priority","random"} type Expander string @@ -1015,7 +478,6 @@ var expander_Values = map[string]Expander{ "random": Expander_Random, } -// To determine if address belongs IPv4 or IPv6 family. // +kubebuilder:validation:Enum={"IPv4","IPv6"} type IpFamily string @@ -1030,23 +492,12 @@ var ipFamily_Values = map[string]IpFamily{ "ipv6": IpFamily_IPv6, } -// Istio service mesh configuration. type IstioServiceMesh struct { - // CertificateAuthority: Istio Service Mesh Certificate Authority (CA) configuration. For now, we only support plugin - // certificates as described here https://aka.ms/asm-plugin-ca CertificateAuthority *IstioCertificateAuthority `json:"certificateAuthority,omitempty"` - - // Components: Istio components configuration. - Components *IstioComponents `json:"components,omitempty"` - - // Revisions: The list of revisions of the Istio control plane. When an upgrade is not in progress, this holds one value. - // When canary upgrade is in progress, this can only hold two consecutive values. For more information, see: - // https://learn.microsoft.com/en-us/azure/aks/istio-upgrade - Revisions []string `json:"revisions"` + Components *IstioComponents `json:"components,omitempty"` + Revisions []string `json:"revisions"` } -// The default is 'standard'. See [Azure Load Balancer SKUs](https://docs.microsoft.com/azure/load-balancer/skus) for more -// information about the differences between load balancer SKUs. // +kubebuilder:validation:Enum={"basic","standard"} type LoadBalancerSku string @@ -1099,88 +550,40 @@ var managedClusterAutoUpgradeProfile_UpgradeChannel_Values = map[string]ManagedC "stable": ManagedClusterAutoUpgradeProfile_UpgradeChannel_Stable, } -// Logs profile for the Azure Monitor Infrastructure and Application Logs. Collect out-of-the-box Kubernetes infrastructure -// & application logs to send to Azure Monitor. See aka.ms/AzureMonitorContainerInsights for an overview. type ManagedClusterAzureMonitorProfileLogs struct { - // AppMonitoring: Application Monitoring Profile for Kubernetes Application Container. Collects application logs, metrics - // and traces through auto-instrumentation of the application using Azure Monitor OpenTelemetry based SDKs. See - // aka.ms/AzureMonitorApplicationMonitoring for an overview. - AppMonitoring *ManagedClusterAzureMonitorProfileAppMonitoring `json:"appMonitoring,omitempty"` - - // ContainerInsights: Azure Monitor Container Insights Profile for Kubernetes Events, Inventory and Container stdout & - // stderr logs etc. See aka.ms/AzureMonitorContainerInsights for an overview. + AppMonitoring *ManagedClusterAzureMonitorProfileAppMonitoring `json:"appMonitoring,omitempty"` ContainerInsights *ManagedClusterAzureMonitorProfileContainerInsights `json:"containerInsights,omitempty"` } -// Metrics profile for the prometheus service addon type ManagedClusterAzureMonitorProfileMetrics struct { - // AppMonitoringOpenTelemetryMetrics: Application Monitoring Open Telemetry Metrics Profile for Kubernetes Application - // Container Metrics. Collects OpenTelemetry metrics through auto-instrumentation of the application using Azure Monitor - // OpenTelemetry based SDKs. See aka.ms/AzureMonitorApplicationMonitoring for an overview. AppMonitoringOpenTelemetryMetrics *ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetrics `json:"appMonitoringOpenTelemetryMetrics,omitempty"` - - // Enabled: Whether to enable the Prometheus collector - Enabled *bool `json:"enabled,omitempty"` - - // KubeStateMetrics: Kube State Metrics for prometheus addon profile for the container service cluster - KubeStateMetrics *ManagedClusterAzureMonitorProfileKubeStateMetrics `json:"kubeStateMetrics,omitempty"` + Enabled *bool `json:"enabled,omitempty"` + KubeStateMetrics *ManagedClusterAzureMonitorProfileKubeStateMetrics `json:"kubeStateMetrics,omitempty"` } -// The cost analysis configuration for the cluster type ManagedClusterCostAnalysis struct { - // Enabled: The Managed Cluster sku.tier must be set to 'Standard' to enable this feature. Enabling this will add - // Kubernetes Namespace and Deployment details to the Cost Analysis views in the Azure portal. If not specified, the - // default is false. For more information see aka.ms/aks/docs/cost-analysis. Enabled *bool `json:"enabled,omitempty"` } -// Web App Routing settings for the ingress profile. type ManagedClusterIngressProfileWebAppRouting struct { DnsZoneResourceIds []string `json:"dnsZoneResourceIds,omitempty"` - - // Enabled: Whether to enable Web App Routing. - Enabled *bool `json:"enabled,omitempty"` + Enabled *bool `json:"enabled,omitempty"` } -// Profile of the managed cluster load balancer. type ManagedClusterLoadBalancerProfile struct { - // AllocatedOutboundPorts: The desired number of allocated SNAT ports per VM. Allowed values are in the range of 0 to 64000 - // (inclusive). The default value is 0 which results in Azure dynamically allocating ports. - AllocatedOutboundPorts *int `json:"allocatedOutboundPorts,omitempty"` - - // BackendPoolType: The type of the managed inbound Load Balancer BackendPool. - BackendPoolType *ManagedClusterLoadBalancerProfile_BackendPoolType `json:"backendPoolType,omitempty"` - - // EffectiveOutboundIPs: The effective outbound IP resources of the cluster load balancer. - EffectiveOutboundIPs []ResourceReference `json:"effectiveOutboundIPs"` - - // EnableMultipleStandardLoadBalancers: Enable multiple standard load balancers per AKS cluster or not. - EnableMultipleStandardLoadBalancers *bool `json:"enableMultipleStandardLoadBalancers,omitempty"` - - // IdleTimeoutInMinutes: Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 - // (inclusive). The default value is 30 minutes. - IdleTimeoutInMinutes *int `json:"idleTimeoutInMinutes,omitempty"` - - // ManagedOutboundIPs: Desired managed outbound IPs for the cluster load balancer. - ManagedOutboundIPs *ManagedClusterLoadBalancerProfile_ManagedOutboundIPs `json:"managedOutboundIPs,omitempty"` - - // OutboundIPPrefixes: Desired outbound IP Prefix resources for the cluster load balancer. - OutboundIPPrefixes *ManagedClusterLoadBalancerProfile_OutboundIPPrefixes `json:"outboundIPPrefixes,omitempty"` - - // OutboundIPs: Desired outbound IP resources for the cluster load balancer. - OutboundIPs *ManagedClusterLoadBalancerProfile_OutboundIPs `json:"outboundIPs,omitempty"` + AllocatedOutboundPorts *int `json:"allocatedOutboundPorts,omitempty"` + BackendPoolType *ManagedClusterLoadBalancerProfile_BackendPoolType `json:"backendPoolType,omitempty"` + EffectiveOutboundIPs []ResourceReference `json:"effectiveOutboundIPs"` + EnableMultipleStandardLoadBalancers *bool `json:"enableMultipleStandardLoadBalancers,omitempty"` + IdleTimeoutInMinutes *int `json:"idleTimeoutInMinutes,omitempty"` + ManagedOutboundIPs *ManagedClusterLoadBalancerProfile_ManagedOutboundIPs `json:"managedOutboundIPs,omitempty"` + OutboundIPPrefixes *ManagedClusterLoadBalancerProfile_OutboundIPPrefixes `json:"outboundIPPrefixes,omitempty"` + OutboundIPs *ManagedClusterLoadBalancerProfile_OutboundIPs `json:"outboundIPs,omitempty"` } -// Profile of the managed cluster NAT gateway. type ManagedClusterNATGatewayProfile struct { - // EffectiveOutboundIPs: The effective outbound IP resources of the cluster NAT gateway. - EffectiveOutboundIPs []ResourceReference `json:"effectiveOutboundIPs"` - - // IdleTimeoutInMinutes: Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 - // (inclusive). The default value is 4 minutes. - IdleTimeoutInMinutes *int `json:"idleTimeoutInMinutes,omitempty"` - - // ManagedOutboundIPProfile: Profile of the managed outbound IP resources of the cluster NAT gateway. + EffectiveOutboundIPs []ResourceReference `json:"effectiveOutboundIPs"` + IdleTimeoutInMinutes *int `json:"idleTimeoutInMinutes,omitempty"` ManagedOutboundIPProfile *ManagedClusterManagedOutboundIPProfile `json:"managedOutboundIPProfile,omitempty"` } @@ -1212,94 +615,55 @@ var managedClusterNodeResourceGroupProfile_RestrictionLevel_Values = map[string] "unrestricted": ManagedClusterNodeResourceGroupProfile_RestrictionLevel_Unrestricted, } -// Details about the pod identity assigned to the Managed Cluster. type ManagedClusterPodIdentity struct { - // BindingSelector: The binding selector to use for the AzureIdentityBinding resource. - BindingSelector *string `json:"bindingSelector,omitempty"` - - // Identity: The user assigned identity details. - Identity *UserAssignedIdentity `json:"identity,omitempty"` - - // Name: The name of the pod identity. - Name *string `json:"name,omitempty"` - - // Namespace: The namespace of the pod identity. - Namespace *string `json:"namespace,omitempty"` + BindingSelector *string `json:"bindingSelector,omitempty"` + Identity *UserAssignedIdentity `json:"identity,omitempty"` + Name *string `json:"name,omitempty"` + Namespace *string `json:"namespace,omitempty"` } -// See [disable AAD Pod Identity for a specific -// Pod/Application](https://azure.github.io/aad-pod-identity/docs/configure/application_exception/) for more details. type ManagedClusterPodIdentityException struct { - // Name: The name of the pod identity exception. - Name *string `json:"name,omitempty"` - - // Namespace: The namespace of the pod identity exception. - Namespace *string `json:"namespace,omitempty"` - - // PodLabels: The pod labels to match. + Name *string `json:"name,omitempty"` + Namespace *string `json:"namespace,omitempty"` PodLabels map[string]string `json:"podLabels"` } -// Microsoft Defender settings for the security profile. type ManagedClusterSecurityProfileDefender struct { - LogAnalyticsWorkspaceResourceId *string `json:"logAnalyticsWorkspaceResourceId,omitempty"` - - // SecurityMonitoring: Microsoft Defender threat detection for Cloud settings for the security profile. - SecurityMonitoring *ManagedClusterSecurityProfileDefenderSecurityMonitoring `json:"securityMonitoring,omitempty"` + LogAnalyticsWorkspaceResourceId *string `json:"logAnalyticsWorkspaceResourceId,omitempty"` + SecurityMonitoring *ManagedClusterSecurityProfileDefenderSecurityMonitoring `json:"securityMonitoring,omitempty"` } -// Image Cleaner removes unused images from nodes, freeing up disk space and helping to reduce attack surface area. Here -// are settings for the security profile. type ManagedClusterSecurityProfileImageCleaner struct { - // Enabled: Whether to enable Image Cleaner on AKS cluster. - Enabled *bool `json:"enabled,omitempty"` - - // IntervalHours: Image Cleaner scanning interval in hours. - IntervalHours *int `json:"intervalHours,omitempty"` + Enabled *bool `json:"enabled,omitempty"` + IntervalHours *int `json:"intervalHours,omitempty"` } -// Image integrity related settings for the security profile. type ManagedClusterSecurityProfileImageIntegrity struct { - // Enabled: Whether to enable image integrity. The default value is false. Enabled *bool `json:"enabled,omitempty"` } -// Node Restriction settings for the security profile. type ManagedClusterSecurityProfileNodeRestriction struct { - // Enabled: Whether to enable Node Restriction Enabled *bool `json:"enabled,omitempty"` } -// Workload identity settings for the security profile. type ManagedClusterSecurityProfileWorkloadIdentity struct { - // Enabled: Whether to enable workload identity. Enabled *bool `json:"enabled,omitempty"` } -// AzureBlob CSI Driver settings for the storage profile. type ManagedClusterStorageProfileBlobCSIDriver struct { - // Enabled: Whether to enable AzureBlob CSI Driver. The default value is false. Enabled *bool `json:"enabled,omitempty"` } -// AzureDisk CSI Driver settings for the storage profile. type ManagedClusterStorageProfileDiskCSIDriver struct { - // Enabled: Whether to enable AzureDisk CSI Driver. The default value is true. - Enabled *bool `json:"enabled,omitempty"` - - // Version: The version of AzureDisk CSI Driver. The default value is v1. + Enabled *bool `json:"enabled,omitempty"` Version *string `json:"version,omitempty"` } -// AzureFile CSI Driver settings for the storage profile. type ManagedClusterStorageProfileFileCSIDriver struct { - // Enabled: Whether to enable AzureFile CSI Driver. The default value is true. Enabled *bool `json:"enabled,omitempty"` } -// Snapshot Controller settings for the storage profile. type ManagedClusterStorageProfileSnapshotController struct { - // Enabled: Whether to enable Snapshot Controller. The default value is true. Enabled *bool `json:"enabled,omitempty"` } @@ -1317,21 +681,15 @@ var managedClusterWindowsProfile_LicenseType_Values = map[string]ManagedClusterW "windows_server": ManagedClusterWindowsProfile_LicenseType_Windows_Server, } -// KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile. type ManagedClusterWorkloadAutoScalerProfileKeda struct { - // Enabled: Whether to enable KEDA. Enabled *bool `json:"enabled,omitempty"` } type ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler struct { - // AddonAutoscaling: Whether VPA add-on is enabled and configured to scale AKS-managed add-ons. AddonAutoscaling *ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_AddonAutoscaling `json:"addonAutoscaling,omitempty"` - - // Enabled: Whether to enable VPA add-on in cluster. Default value is false. - Enabled *bool `json:"enabled,omitempty"` + Enabled *bool `json:"enabled,omitempty"` } -// Network dataplane used in the Kubernetes cluster. // +kubebuilder:validation:Enum={"azure","cilium"} type NetworkDataplane string @@ -1346,7 +704,6 @@ var networkDataplane_Values = map[string]NetworkDataplane{ "cilium": NetworkDataplane_Cilium, } -// This cannot be specified if networkPlugin is anything other than 'azure'. // +kubebuilder:validation:Enum={"bridge","transparent"} type NetworkMode string @@ -1361,13 +718,10 @@ var networkMode_Values = map[string]NetworkMode{ "transparent": NetworkMode_Transparent, } -// This addon can be used to configure network monitoring and generate network monitoring data in Prometheus format type NetworkMonitoring struct { - // Enabled: Enable or disable the network monitoring plugin on the cluster Enabled *bool `json:"enabled,omitempty"` } -// Network plugin used for building the Kubernetes network. // +kubebuilder:validation:Enum={"azure","kubenet","none"} type NetworkPlugin string @@ -1384,7 +738,6 @@ var networkPlugin_Values = map[string]NetworkPlugin{ "none": NetworkPlugin_None, } -// The mode the network plugin should use. // +kubebuilder:validation:Enum={"overlay"} type NetworkPluginMode string @@ -1395,7 +748,6 @@ var networkPluginMode_Values = map[string]NetworkPluginMode{ "overlay": NetworkPluginMode_Overlay, } -// Network policy used for building the Kubernetes network. // +kubebuilder:validation:Enum={"azure","calico","cilium","none"} type NetworkPolicy string @@ -1444,29 +796,14 @@ var serviceMeshProfile_Mode_Values = map[string]ServiceMeshProfile_Mode{ "istio": ServiceMeshProfile_Mode_Istio, } -// Settings for overrides when upgrading a cluster. type UpgradeOverrideSettings struct { - // ForceUpgrade: Whether to force upgrade the cluster. Note that this option instructs upgrade operation to bypass upgrade - // protections such as checking for deprecated API usage. Enable this option only with caution. - ForceUpgrade *bool `json:"forceUpgrade,omitempty"` - - // Until: Until when the overrides are effective. Note that this only matches the start time of an upgrade, and the - // effectiveness won't change once an upgrade starts even if the `until` expires as upgrade proceeds. This field is not set - // by default. It must be set for the overrides to take effect. - Until *string `json:"until,omitempty"` + ForceUpgrade *bool `json:"forceUpgrade,omitempty"` + Until *string `json:"until,omitempty"` } -// Windows gMSA Profile in the managed cluster. type WindowsGmsaProfile struct { - // DnsServer: Specifies the DNS server for Windows gMSA. - // Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster. - DnsServer *string `json:"dnsServer,omitempty"` - - // Enabled: Specifies whether to enable Windows gMSA in the managed cluster. - Enabled *bool `json:"enabled,omitempty"` - - // RootDomainName: Specifies the root domain name for Windows gMSA. - // Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster. + DnsServer *string `json:"dnsServer,omitempty"` + Enabled *bool `json:"enabled,omitempty"` RootDomainName *string `json:"rootDomainName,omitempty"` } @@ -1485,18 +822,10 @@ var azureKeyVaultKms_KeyVaultNetworkAccess_Values = map[string]AzureKeyVaultKms_ } type ContainerServiceNetworkProfile_KubeProxyConfig_IpvsConfig struct { - // Scheduler: IPVS scheduler, for more information please see http://www.linuxvirtualserver.org/docs/scheduling.html. - Scheduler *ContainerServiceNetworkProfile_KubeProxyConfig_IpvsConfig_Scheduler `json:"scheduler,omitempty"` - - // TcpFinTimeoutSeconds: The timeout value used for IPVS TCP sessions after receiving a FIN in seconds. Must be a positive - // integer value. - TcpFinTimeoutSeconds *int `json:"tcpFinTimeoutSeconds,omitempty"` - - // TcpTimeoutSeconds: The timeout value used for idle IPVS TCP sessions in seconds. Must be a positive integer value. - TcpTimeoutSeconds *int `json:"tcpTimeoutSeconds,omitempty"` - - // UdpTimeoutSeconds: The timeout value used for IPVS UDP packets in seconds. Must be a positive integer value. - UdpTimeoutSeconds *int `json:"udpTimeoutSeconds,omitempty"` + Scheduler *ContainerServiceNetworkProfile_KubeProxyConfig_IpvsConfig_Scheduler `json:"scheduler,omitempty"` + TcpFinTimeoutSeconds *int `json:"tcpFinTimeoutSeconds,omitempty"` + TcpTimeoutSeconds *int `json:"tcpTimeoutSeconds,omitempty"` + UdpTimeoutSeconds *int `json:"udpTimeoutSeconds,omitempty"` } // +kubebuilder:validation:Enum={"IPTABLES","IPVS"} @@ -1513,66 +842,36 @@ var containerServiceNetworkProfile_KubeProxyConfig_Mode_Values = map[string]Cont "ipvs": ContainerServiceNetworkProfile_KubeProxyConfig_Mode_IPVS, } -// Contains information about SSH certificate public key data. type ContainerServiceSshPublicKey struct { - // KeyData: Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or - // without headers. KeyData *string `json:"keyData,omitempty"` } -// Istio Service Mesh Certificate Authority (CA) configuration. For now, we only support plugin certificates as described -// here https://aka.ms/asm-plugin-ca type IstioCertificateAuthority struct { - // Plugin: Plugin certificates information for Service Mesh. Plugin *IstioPluginCertificateAuthority `json:"plugin,omitempty"` } -// Istio components configuration. type IstioComponents struct { - // EgressGateways: Istio egress gateways. - EgressGateways []IstioEgressGateway `json:"egressGateways"` - - // IngressGateways: Istio ingress gateways. + EgressGateways []IstioEgressGateway `json:"egressGateways"` IngressGateways []IstioIngressGateway `json:"ingressGateways"` } -// Application Monitoring Profile for Kubernetes Application Container. Collects application logs, metrics and traces -// through auto-instrumentation of the application using Azure Monitor OpenTelemetry based SDKs. See -// aka.ms/AzureMonitorApplicationMonitoring for an overview. type ManagedClusterAzureMonitorProfileAppMonitoring struct { - // Enabled: Indicates if Application Monitoring enabled or not. Enabled *bool `json:"enabled,omitempty"` } -// Application Monitoring Open Telemetry Metrics Profile for Kubernetes Application Container Metrics. Collects -// OpenTelemetry metrics through auto-instrumentation of the application using Azure Monitor OpenTelemetry based SDKs. See -// aka.ms/AzureMonitorApplicationMonitoring for an overview. type ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetrics struct { - // Enabled: Indicates if Application Monitoring Open Telemetry Metrics is enabled or not. Enabled *bool `json:"enabled,omitempty"` } -// Azure Monitor Container Insights Profile for Kubernetes Events, Inventory and Container stdout & stderr logs etc. See -// aka.ms/AzureMonitorContainerInsights for an overview. type ManagedClusterAzureMonitorProfileContainerInsights struct { - // Enabled: Indicates if Azure Monitor Container Insights Logs Addon is enabled or not. - Enabled *bool `json:"enabled,omitempty"` - LogAnalyticsWorkspaceResourceId *string `json:"logAnalyticsWorkspaceResourceId,omitempty"` - - // WindowsHostLogs: Windows Host Logs Profile for Kubernetes Windows Nodes Log Collection. Collects ETW, Event Logs and - // Text logs etc. See aka.ms/AzureMonitorContainerInsights for an overview. - WindowsHostLogs *ManagedClusterAzureMonitorProfileWindowsHostLogs `json:"windowsHostLogs,omitempty"` + Enabled *bool `json:"enabled,omitempty"` + LogAnalyticsWorkspaceResourceId *string `json:"logAnalyticsWorkspaceResourceId,omitempty"` + WindowsHostLogs *ManagedClusterAzureMonitorProfileWindowsHostLogs `json:"windowsHostLogs,omitempty"` } -// Kube State Metrics for prometheus addon profile for the container service cluster type ManagedClusterAzureMonitorProfileKubeStateMetrics struct { - // MetricAnnotationsAllowList: Comma-separated list of additional Kubernetes label keys that will be used in the resource's - // labels metric. MetricAnnotationsAllowList *string `json:"metricAnnotationsAllowList,omitempty"` - - // MetricLabelsAllowlist: Comma-separated list of Kubernetes annotations keys that will be used in the resource's labels - // metric. - MetricLabelsAllowlist *string `json:"metricLabelsAllowlist,omitempty"` + MetricLabelsAllowlist *string `json:"metricLabelsAllowlist,omitempty"` } // +kubebuilder:validation:Enum={"NodeIP","NodeIPConfiguration"} @@ -1590,35 +889,23 @@ var managedClusterLoadBalancerProfile_BackendPoolType_Values = map[string]Manage } type ManagedClusterLoadBalancerProfile_ManagedOutboundIPs struct { - // Count: The desired number of IPv4 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values - // must be in the range of 1 to 100 (inclusive). The default value is 1. - Count *int `json:"count,omitempty"` - - // CountIPv6: The desired number of IPv6 outbound IPs created/managed by Azure for the cluster load balancer. Allowed - // values must be in the range of 1 to 100 (inclusive). The default value is 0 for single-stack and 1 for dual-stack. + Count *int `json:"count,omitempty"` CountIPv6 *int `json:"countIPv6,omitempty"` } type ManagedClusterLoadBalancerProfile_OutboundIPPrefixes struct { - // PublicIPPrefixes: A list of public IP prefix resources. PublicIPPrefixes []ResourceReference `json:"publicIPPrefixes"` } type ManagedClusterLoadBalancerProfile_OutboundIPs struct { - // PublicIPs: A list of public IP resources. PublicIPs []ResourceReference `json:"publicIPs"` } -// Profile of the managed outbound IP resources of the managed cluster. type ManagedClusterManagedOutboundIPProfile struct { - // Count: The desired number of outbound IPs created/managed by Azure. Allowed values must be in the range of 1 to 16 - // (inclusive). The default value is 1. Count *int `json:"count,omitempty"` } -// Microsoft Defender settings for the security profile threat detection. type ManagedClusterSecurityProfileDefenderSecurityMonitoring struct { - // Enabled: Whether to enable Defender threat detection Enabled *bool `json:"enabled,omitempty"` } @@ -1636,7 +923,6 @@ var managedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_AddonAutoscalin "enabled": ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_AddonAutoscaling_Enabled, } -// A reference to an Azure resource. type ResourceReference struct { Id *string `json:"id,omitempty"` } @@ -1655,45 +941,25 @@ var containerServiceNetworkProfile_KubeProxyConfig_IpvsConfig_Scheduler_Values = "roundrobin": ContainerServiceNetworkProfile_KubeProxyConfig_IpvsConfig_Scheduler_RoundRobin, } -// Istio egress gateway configuration. type IstioEgressGateway struct { - // Enabled: Whether to enable the egress gateway. - Enabled *bool `json:"enabled,omitempty"` - - // NodeSelector: NodeSelector for scheduling the egress gateway. + Enabled *bool `json:"enabled,omitempty"` NodeSelector map[string]string `json:"nodeSelector"` } -// Istio ingress gateway configuration. For now, we support up to one external ingress gateway named -// `aks-istio-ingressgateway-external` and one internal ingress gateway named `aks-istio-ingressgateway-internal`. type IstioIngressGateway struct { - // Enabled: Whether to enable the ingress gateway. - Enabled *bool `json:"enabled,omitempty"` - - // Mode: Mode of an ingress gateway. - Mode *IstioIngressGateway_Mode `json:"mode,omitempty"` + Enabled *bool `json:"enabled,omitempty"` + Mode *IstioIngressGateway_Mode `json:"mode,omitempty"` } -// Plugin certificates information for Service Mesh. type IstioPluginCertificateAuthority struct { - // CertChainObjectName: Certificate chain object name in Azure Key Vault. CertChainObjectName *string `json:"certChainObjectName,omitempty"` - - // CertObjectName: Intermediate certificate object name in Azure Key Vault. - CertObjectName *string `json:"certObjectName,omitempty"` - - // KeyObjectName: Intermediate certificate private key object name in Azure Key Vault. - KeyObjectName *string `json:"keyObjectName,omitempty"` - KeyVaultId *string `json:"keyVaultId,omitempty"` - - // RootCertObjectName: Root certificate object name in Azure Key Vault. - RootCertObjectName *string `json:"rootCertObjectName,omitempty"` + CertObjectName *string `json:"certObjectName,omitempty"` + KeyObjectName *string `json:"keyObjectName,omitempty"` + KeyVaultId *string `json:"keyVaultId,omitempty"` + RootCertObjectName *string `json:"rootCertObjectName,omitempty"` } -// Windows Host Logs Profile for Kubernetes Windows Nodes Log Collection. Collects ETW, Event Logs and Text logs etc. See -// aka.ms/AzureMonitorContainerInsights for an overview. type ManagedClusterAzureMonitorProfileWindowsHostLogs struct { - // Enabled: Indicates if Windows Host Log Collection is enabled or not for Azure Monitor Container Insights Logs Addon. Enabled *bool `json:"enabled,omitempty"` } diff --git a/v2/api/containerservice/v1api20231102preview/arm/managed_cluster_status_types_gen.go b/v2/api/containerservice/v1api20231102preview/arm/managed_cluster_status_types_gen.go index a71713fc0cf..6d40a9f3659 100644 --- a/v2/api/containerservice/v1api20231102preview/arm/managed_cluster_status_types_gen.go +++ b/v2/api/containerservice/v1api20231102preview/arm/managed_cluster_status_types_gen.go @@ -3,363 +3,136 @@ // Licensed under the MIT license. package arm -// Managed cluster. type ManagedCluster_STATUS struct { - // ExtendedLocation: The extended location of the Virtual Machine. - ExtendedLocation *ExtendedLocation_STATUS `json:"extendedLocation,omitempty"` - - // Id: Fully qualified resource ID for the resource. E.g. - // "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" - Id *string `json:"id,omitempty"` - - // Identity: The identity of the managed cluster, if configured. - Identity *ManagedClusterIdentity_STATUS `json:"identity,omitempty"` - - // Location: The geo-location where the resource lives - Location *string `json:"location,omitempty"` - - // Name: The name of the resource - Name *string `json:"name,omitempty"` - - // Properties: Properties of a managed cluster. - Properties *ManagedClusterProperties_STATUS `json:"properties,omitempty"` - - // Sku: The managed cluster SKU. - Sku *ManagedClusterSKU_STATUS `json:"sku,omitempty"` - - // SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information. - SystemData *SystemData_STATUS `json:"systemData,omitempty"` - - // Tags: Resource tags. - Tags map[string]string `json:"tags"` - - // Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" - Type *string `json:"type,omitempty"` + ExtendedLocation *ExtendedLocation_STATUS `json:"extendedLocation,omitempty"` + Id *string `json:"id,omitempty"` + Identity *ManagedClusterIdentity_STATUS `json:"identity,omitempty"` + Location *string `json:"location,omitempty"` + Name *string `json:"name,omitempty"` + Properties *ManagedClusterProperties_STATUS `json:"properties,omitempty"` + Sku *ManagedClusterSKU_STATUS `json:"sku,omitempty"` + SystemData *SystemData_STATUS `json:"systemData,omitempty"` + Tags map[string]string `json:"tags"` + Type *string `json:"type,omitempty"` } -// The complex type of the extended location. type ExtendedLocation_STATUS struct { - // Name: The name of the extended location. - Name *string `json:"name,omitempty"` - - // Type: The type of the extended location. + Name *string `json:"name,omitempty"` Type *ExtendedLocationType_STATUS `json:"type,omitempty"` } -// Identity for the managed cluster. type ManagedClusterIdentity_STATUS struct { - // DelegatedResources: The delegated identity resources assigned to this managed cluster. This can only be set by another - // Azure Resource Provider, and managed cluster only accept one delegated identity resource. Internal use only. - DelegatedResources map[string]DelegatedResource_STATUS `json:"delegatedResources"` - - // PrincipalId: The principal id of the system assigned identity which is used by master components. - PrincipalId *string `json:"principalId,omitempty"` - - // TenantId: The tenant id of the system assigned identity which is used by master components. - TenantId *string `json:"tenantId,omitempty"` - - // Type: For more information see [use managed identities in - // AKS](https://docs.microsoft.com/azure/aks/use-managed-identity). - Type *ManagedClusterIdentity_Type_STATUS `json:"type,omitempty"` - - // UserAssignedIdentities: The keys must be ARM resource IDs in the form: - // '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + DelegatedResources map[string]DelegatedResource_STATUS `json:"delegatedResources"` + PrincipalId *string `json:"principalId,omitempty"` + TenantId *string `json:"tenantId,omitempty"` + Type *ManagedClusterIdentity_Type_STATUS `json:"type,omitempty"` UserAssignedIdentities map[string]ManagedClusterIdentity_UserAssignedIdentities_STATUS `json:"userAssignedIdentities"` } -// Properties of the managed cluster. type ManagedClusterProperties_STATUS struct { - // AadProfile: The Azure Active Directory configuration. - AadProfile *ManagedClusterAADProfile_STATUS `json:"aadProfile,omitempty"` - - // AddonProfiles: The profile of managed cluster add-on. - AddonProfiles map[string]ManagedClusterAddonProfile_STATUS `json:"addonProfiles"` - - // AgentPoolProfiles: The agent pool properties. - AgentPoolProfiles []ManagedClusterAgentPoolProfile_STATUS `json:"agentPoolProfiles"` - - // AiToolchainOperatorProfile: AI toolchain operator settings that apply to the whole cluster. - AiToolchainOperatorProfile *ManagedClusterAIToolchainOperatorProfile_STATUS `json:"aiToolchainOperatorProfile,omitempty"` - - // ApiServerAccessProfile: The access profile for managed cluster API server. - ApiServerAccessProfile *ManagedClusterAPIServerAccessProfile_STATUS `json:"apiServerAccessProfile,omitempty"` - - // AutoScalerProfile: Parameters to be applied to the cluster-autoscaler when enabled - AutoScalerProfile *ManagedClusterProperties_AutoScalerProfile_STATUS `json:"autoScalerProfile,omitempty"` - - // AutoUpgradeProfile: The auto upgrade configuration. - AutoUpgradeProfile *ManagedClusterAutoUpgradeProfile_STATUS `json:"autoUpgradeProfile,omitempty"` - - // AzureMonitorProfile: Prometheus addon profile for the container service cluster - AzureMonitorProfile *ManagedClusterAzureMonitorProfile_STATUS `json:"azureMonitorProfile,omitempty"` - - // AzurePortalFQDN: The Azure Portal requires certain Cross-Origin Resource Sharing (CORS) headers to be sent in some - // responses, which Kubernetes APIServer doesn't handle by default. This special FQDN supports CORS, allowing the Azure - // Portal to function properly. - AzurePortalFQDN *string `json:"azurePortalFQDN,omitempty"` - - // CreationData: CreationData to be used to specify the source Snapshot ID if the cluster will be created/upgraded using a - // snapshot. - CreationData *CreationData_STATUS `json:"creationData,omitempty"` - - // CurrentKubernetesVersion: The version of Kubernetes the Managed Cluster is running. - CurrentKubernetesVersion *string `json:"currentKubernetesVersion,omitempty"` - - // DisableLocalAccounts: If set to true, getting static credentials will be disabled for this cluster. This must only be - // used on Managed Clusters that are AAD enabled. For more details see [disable local - // accounts](https://docs.microsoft.com/azure/aks/managed-aad#disable-local-accounts-preview). - DisableLocalAccounts *bool `json:"disableLocalAccounts,omitempty"` - - // DiskEncryptionSetID: This is of the form: - // '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}' - DiskEncryptionSetID *string `json:"diskEncryptionSetID,omitempty"` - - // DnsPrefix: This cannot be updated once the Managed Cluster has been created. - DnsPrefix *string `json:"dnsPrefix,omitempty"` - - // EnableNamespaceResources: The default value is false. It can be enabled/disabled on creation and updating of the managed - // cluster. See [https://aka.ms/NamespaceARMResource](https://aka.ms/NamespaceARMResource) for more details on Namespace as - // a ARM Resource. - EnableNamespaceResources *bool `json:"enableNamespaceResources,omitempty"` - - // EnablePodSecurityPolicy: (DEPRECATED) Whether to enable Kubernetes pod security policy (preview). PodSecurityPolicy was - // deprecated in Kubernetes v1.21, and removed from Kubernetes in v1.25. Learn more at https://aka.ms/k8s/psp and - // https://aka.ms/aks/psp. - EnablePodSecurityPolicy *bool `json:"enablePodSecurityPolicy,omitempty"` - - // EnableRBAC: Whether to enable Kubernetes Role-Based Access Control. - EnableRBAC *bool `json:"enableRBAC,omitempty"` - - // Fqdn: The FQDN of the master pool. - Fqdn *string `json:"fqdn,omitempty"` - - // FqdnSubdomain: This cannot be updated once the Managed Cluster has been created. - FqdnSubdomain *string `json:"fqdnSubdomain,omitempty"` - - // HttpProxyConfig: Configurations for provisioning the cluster with HTTP proxy servers. - HttpProxyConfig *ManagedClusterHTTPProxyConfig_STATUS `json:"httpProxyConfig,omitempty"` - - // IdentityProfile: Identities associated with the cluster. - IdentityProfile map[string]UserAssignedIdentity_STATUS `json:"identityProfile"` - - // IngressProfile: Ingress profile for the managed cluster. - IngressProfile *ManagedClusterIngressProfile_STATUS `json:"ingressProfile,omitempty"` - - // KubernetesVersion: When you upgrade a supported AKS cluster, Kubernetes minor versions cannot be skipped. All upgrades - // must be performed sequentially by major version number. For example, upgrades between 1.14.x -> 1.15.x or 1.15.x -> - // 1.16.x are allowed, however 1.14.x -> 1.16.x is not allowed. See [upgrading an AKS - // cluster](https://docs.microsoft.com/azure/aks/upgrade-cluster) for more details. - KubernetesVersion *string `json:"kubernetesVersion,omitempty"` - - // LinuxProfile: The profile for Linux VMs in the Managed Cluster. - LinuxProfile *ContainerServiceLinuxProfile_STATUS `json:"linuxProfile,omitempty"` - - // MaxAgentPools: The max number of agent pools for the managed cluster. - MaxAgentPools *int `json:"maxAgentPools,omitempty"` - - // MetricsProfile: Optional cluster metrics configuration. - MetricsProfile *ManagedClusterMetricsProfile_STATUS `json:"metricsProfile,omitempty"` - - // NetworkProfile: The network configuration profile. - NetworkProfile *ContainerServiceNetworkProfile_STATUS `json:"networkProfile,omitempty"` - - // NodeProvisioningProfile: Node provisioning settings that apply to the whole cluster. - NodeProvisioningProfile *ManagedClusterNodeProvisioningProfile_STATUS `json:"nodeProvisioningProfile,omitempty"` - - // NodeResourceGroup: The name of the resource group containing agent pool nodes. - NodeResourceGroup *string `json:"nodeResourceGroup,omitempty"` - - // NodeResourceGroupProfile: The node resource group configuration profile. - NodeResourceGroupProfile *ManagedClusterNodeResourceGroupProfile_STATUS `json:"nodeResourceGroupProfile,omitempty"` - - // OidcIssuerProfile: The OIDC issuer profile of the Managed Cluster. - OidcIssuerProfile *ManagedClusterOIDCIssuerProfile_STATUS `json:"oidcIssuerProfile,omitempty"` - - // PodIdentityProfile: See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more - // details on AAD pod identity integration. - PodIdentityProfile *ManagedClusterPodIdentityProfile_STATUS `json:"podIdentityProfile,omitempty"` - - // PowerState: The Power State of the cluster. - PowerState *PowerState_STATUS `json:"powerState,omitempty"` - - // PrivateFQDN: The FQDN of private cluster. - PrivateFQDN *string `json:"privateFQDN,omitempty"` - - // PrivateLinkResources: Private link resources associated with the cluster. - PrivateLinkResources []PrivateLinkResource_STATUS `json:"privateLinkResources"` - - // ProvisioningState: The current provisioning state. - ProvisioningState *string `json:"provisioningState,omitempty"` - - // PublicNetworkAccess: Allow or deny public network access for AKS - PublicNetworkAccess *ManagedClusterProperties_PublicNetworkAccess_STATUS `json:"publicNetworkAccess,omitempty"` - - // ResourceUID: The resourceUID uniquely identifies ManagedClusters that reuse ARM ResourceIds (i.e: create, delete, create - // sequence) - ResourceUID *string `json:"resourceUID,omitempty"` - - // SafeguardsProfile: The Safeguards profile holds all the safeguards information for a given cluster - SafeguardsProfile *SafeguardsProfile_STATUS `json:"safeguardsProfile,omitempty"` - - // SecurityProfile: Security profile for the managed cluster. - SecurityProfile *ManagedClusterSecurityProfile_STATUS `json:"securityProfile,omitempty"` - - // ServiceMeshProfile: Service mesh profile for a managed cluster. - ServiceMeshProfile *ServiceMeshProfile_STATUS `json:"serviceMeshProfile,omitempty"` - - // ServicePrincipalProfile: Information about a service principal identity for the cluster to use for manipulating Azure - // APIs. - ServicePrincipalProfile *ManagedClusterServicePrincipalProfile_STATUS `json:"servicePrincipalProfile,omitempty"` - - // StorageProfile: Storage profile for the managed cluster. - StorageProfile *ManagedClusterStorageProfile_STATUS `json:"storageProfile,omitempty"` - - // SupportPlan: The support plan for the Managed Cluster. If unspecified, the default is 'KubernetesOfficial'. - SupportPlan *KubernetesSupportPlan_STATUS `json:"supportPlan,omitempty"` - - // UpgradeSettings: Settings for upgrading a cluster. - UpgradeSettings *ClusterUpgradeSettings_STATUS `json:"upgradeSettings,omitempty"` - - // WindowsProfile: The profile for Windows VMs in the Managed Cluster. - WindowsProfile *ManagedClusterWindowsProfile_STATUS `json:"windowsProfile,omitempty"` - - // WorkloadAutoScalerProfile: Workload Auto-scaler profile for the managed cluster. - WorkloadAutoScalerProfile *ManagedClusterWorkloadAutoScalerProfile_STATUS `json:"workloadAutoScalerProfile,omitempty"` + AadProfile *ManagedClusterAADProfile_STATUS `json:"aadProfile,omitempty"` + AddonProfiles map[string]ManagedClusterAddonProfile_STATUS `json:"addonProfiles"` + AgentPoolProfiles []ManagedClusterAgentPoolProfile_STATUS `json:"agentPoolProfiles"` + AiToolchainOperatorProfile *ManagedClusterAIToolchainOperatorProfile_STATUS `json:"aiToolchainOperatorProfile,omitempty"` + ApiServerAccessProfile *ManagedClusterAPIServerAccessProfile_STATUS `json:"apiServerAccessProfile,omitempty"` + AutoScalerProfile *ManagedClusterProperties_AutoScalerProfile_STATUS `json:"autoScalerProfile,omitempty"` + AutoUpgradeProfile *ManagedClusterAutoUpgradeProfile_STATUS `json:"autoUpgradeProfile,omitempty"` + AzureMonitorProfile *ManagedClusterAzureMonitorProfile_STATUS `json:"azureMonitorProfile,omitempty"` + AzurePortalFQDN *string `json:"azurePortalFQDN,omitempty"` + CreationData *CreationData_STATUS `json:"creationData,omitempty"` + CurrentKubernetesVersion *string `json:"currentKubernetesVersion,omitempty"` + DisableLocalAccounts *bool `json:"disableLocalAccounts,omitempty"` + DiskEncryptionSetID *string `json:"diskEncryptionSetID,omitempty"` + DnsPrefix *string `json:"dnsPrefix,omitempty"` + EnableNamespaceResources *bool `json:"enableNamespaceResources,omitempty"` + EnablePodSecurityPolicy *bool `json:"enablePodSecurityPolicy,omitempty"` + EnableRBAC *bool `json:"enableRBAC,omitempty"` + Fqdn *string `json:"fqdn,omitempty"` + FqdnSubdomain *string `json:"fqdnSubdomain,omitempty"` + HttpProxyConfig *ManagedClusterHTTPProxyConfig_STATUS `json:"httpProxyConfig,omitempty"` + IdentityProfile map[string]UserAssignedIdentity_STATUS `json:"identityProfile"` + IngressProfile *ManagedClusterIngressProfile_STATUS `json:"ingressProfile,omitempty"` + KubernetesVersion *string `json:"kubernetesVersion,omitempty"` + LinuxProfile *ContainerServiceLinuxProfile_STATUS `json:"linuxProfile,omitempty"` + MaxAgentPools *int `json:"maxAgentPools,omitempty"` + MetricsProfile *ManagedClusterMetricsProfile_STATUS `json:"metricsProfile,omitempty"` + NetworkProfile *ContainerServiceNetworkProfile_STATUS `json:"networkProfile,omitempty"` + NodeProvisioningProfile *ManagedClusterNodeProvisioningProfile_STATUS `json:"nodeProvisioningProfile,omitempty"` + NodeResourceGroup *string `json:"nodeResourceGroup,omitempty"` + NodeResourceGroupProfile *ManagedClusterNodeResourceGroupProfile_STATUS `json:"nodeResourceGroupProfile,omitempty"` + OidcIssuerProfile *ManagedClusterOIDCIssuerProfile_STATUS `json:"oidcIssuerProfile,omitempty"` + PodIdentityProfile *ManagedClusterPodIdentityProfile_STATUS `json:"podIdentityProfile,omitempty"` + PowerState *PowerState_STATUS `json:"powerState,omitempty"` + PrivateFQDN *string `json:"privateFQDN,omitempty"` + PrivateLinkResources []PrivateLinkResource_STATUS `json:"privateLinkResources"` + ProvisioningState *string `json:"provisioningState,omitempty"` + PublicNetworkAccess *ManagedClusterProperties_PublicNetworkAccess_STATUS `json:"publicNetworkAccess,omitempty"` + ResourceUID *string `json:"resourceUID,omitempty"` + SafeguardsProfile *SafeguardsProfile_STATUS `json:"safeguardsProfile,omitempty"` + SecurityProfile *ManagedClusterSecurityProfile_STATUS `json:"securityProfile,omitempty"` + ServiceMeshProfile *ServiceMeshProfile_STATUS `json:"serviceMeshProfile,omitempty"` + ServicePrincipalProfile *ManagedClusterServicePrincipalProfile_STATUS `json:"servicePrincipalProfile,omitempty"` + StorageProfile *ManagedClusterStorageProfile_STATUS `json:"storageProfile,omitempty"` + SupportPlan *KubernetesSupportPlan_STATUS `json:"supportPlan,omitempty"` + UpgradeSettings *ClusterUpgradeSettings_STATUS `json:"upgradeSettings,omitempty"` + WindowsProfile *ManagedClusterWindowsProfile_STATUS `json:"windowsProfile,omitempty"` + WorkloadAutoScalerProfile *ManagedClusterWorkloadAutoScalerProfile_STATUS `json:"workloadAutoScalerProfile,omitempty"` } -// The SKU of a Managed Cluster. type ManagedClusterSKU_STATUS struct { - // Name: The name of a managed cluster SKU. Name *ManagedClusterSKU_Name_STATUS `json:"name,omitempty"` - - // Tier: If not specified, the default is 'Free'. See [AKS Pricing - // Tier](https://learn.microsoft.com/azure/aks/free-standard-pricing-tiers) for more details. Tier *ManagedClusterSKU_Tier_STATUS `json:"tier,omitempty"` } -// Metadata pertaining to creation and last modification of the resource. type SystemData_STATUS struct { - // CreatedAt: The timestamp of resource creation (UTC). - CreatedAt *string `json:"createdAt,omitempty"` - - // CreatedBy: The identity that created the resource. - CreatedBy *string `json:"createdBy,omitempty"` - - // CreatedByType: The type of identity that created the resource. - CreatedByType *SystemData_CreatedByType_STATUS `json:"createdByType,omitempty"` - - // LastModifiedAt: The timestamp of resource last modification (UTC) - LastModifiedAt *string `json:"lastModifiedAt,omitempty"` - - // LastModifiedBy: The identity that last modified the resource. - LastModifiedBy *string `json:"lastModifiedBy,omitempty"` - - // LastModifiedByType: The type of identity that last modified the resource. + CreatedAt *string `json:"createdAt,omitempty"` + CreatedBy *string `json:"createdBy,omitempty"` + CreatedByType *SystemData_CreatedByType_STATUS `json:"createdByType,omitempty"` + LastModifiedAt *string `json:"lastModifiedAt,omitempty"` + LastModifiedBy *string `json:"lastModifiedBy,omitempty"` LastModifiedByType *SystemData_LastModifiedByType_STATUS `json:"lastModifiedByType,omitempty"` } -// Settings for upgrading a cluster. type ClusterUpgradeSettings_STATUS struct { - // OverrideSettings: Settings for overrides. OverrideSettings *UpgradeOverrideSettings_STATUS `json:"overrideSettings,omitempty"` } -// Profile for Linux VMs in the container service cluster. type ContainerServiceLinuxProfile_STATUS struct { - // AdminUsername: The administrator username to use for Linux VMs. - AdminUsername *string `json:"adminUsername,omitempty"` - - // Ssh: The SSH configuration for Linux-based VMs running on Azure. - Ssh *ContainerServiceSshConfiguration_STATUS `json:"ssh,omitempty"` + AdminUsername *string `json:"adminUsername,omitempty"` + Ssh *ContainerServiceSshConfiguration_STATUS `json:"ssh,omitempty"` } -// Profile of network configuration. type ContainerServiceNetworkProfile_STATUS struct { - // DnsServiceIP: An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address - // range specified in serviceCidr. - DnsServiceIP *string `json:"dnsServiceIP,omitempty"` - - // IpFamilies: IP families are used to determine single-stack or dual-stack clusters. For single-stack, the expected value - // is IPv4. For dual-stack, the expected values are IPv4 and IPv6. - IpFamilies []IpFamily_STATUS `json:"ipFamilies"` - - // KubeProxyConfig: Holds configuration customizations for kube-proxy. Any values not defined will use the kube-proxy - // defaulting behavior. See https://v.docs.kubernetes.io/docs/reference/command-line-tools-reference/kube-proxy/ - // where is represented by a - string. Kubernetes version 1.23 would be '1-23'. - KubeProxyConfig *ContainerServiceNetworkProfile_KubeProxyConfig_STATUS `json:"kubeProxyConfig,omitempty"` - - // LoadBalancerProfile: Profile of the cluster load balancer. - LoadBalancerProfile *ManagedClusterLoadBalancerProfile_STATUS `json:"loadBalancerProfile,omitempty"` - - // LoadBalancerSku: The default is 'standard'. See [Azure Load Balancer - // SKUs](https://docs.microsoft.com/azure/load-balancer/skus) for more information about the differences between load - // balancer SKUs. - LoadBalancerSku *LoadBalancerSku_STATUS `json:"loadBalancerSku,omitempty"` - - // Monitoring: This addon can be used to configure network monitoring and generate network monitoring data in Prometheus - // format - Monitoring *NetworkMonitoring_STATUS `json:"monitoring,omitempty"` - - // NatGatewayProfile: Profile of the cluster NAT gateway. - NatGatewayProfile *ManagedClusterNATGatewayProfile_STATUS `json:"natGatewayProfile,omitempty"` - - // NetworkDataplane: Network dataplane used in the Kubernetes cluster. - NetworkDataplane *NetworkDataplane_STATUS `json:"networkDataplane,omitempty"` - - // NetworkMode: This cannot be specified if networkPlugin is anything other than 'azure'. - NetworkMode *NetworkMode_STATUS `json:"networkMode,omitempty"` - - // NetworkPlugin: Network plugin used for building the Kubernetes network. - NetworkPlugin *NetworkPlugin_STATUS `json:"networkPlugin,omitempty"` - - // NetworkPluginMode: Network plugin mode used for building the Kubernetes network. - NetworkPluginMode *NetworkPluginMode_STATUS `json:"networkPluginMode,omitempty"` - - // NetworkPolicy: Network policy used for building the Kubernetes network. - NetworkPolicy *NetworkPolicy_STATUS `json:"networkPolicy,omitempty"` - - // OutboundType: This can only be set at cluster creation time and cannot be changed later. For more information see - // [egress outbound type](https://docs.microsoft.com/azure/aks/egress-outboundtype). - OutboundType *ContainerServiceNetworkProfile_OutboundType_STATUS `json:"outboundType,omitempty"` - - // PodCidr: A CIDR notation IP range from which to assign pod IPs when kubenet is used. - PodCidr *string `json:"podCidr,omitempty"` - - // PodCidrs: One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is - // expected for dual-stack networking. - PodCidrs []string `json:"podCidrs"` - - // ServiceCidr: A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP - // ranges. - ServiceCidr *string `json:"serviceCidr,omitempty"` - - // ServiceCidrs: One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is - // expected for dual-stack networking. They must not overlap with any Subnet IP ranges. - ServiceCidrs []string `json:"serviceCidrs"` + DnsServiceIP *string `json:"dnsServiceIP,omitempty"` + IpFamilies []IpFamily_STATUS `json:"ipFamilies"` + KubeProxyConfig *ContainerServiceNetworkProfile_KubeProxyConfig_STATUS `json:"kubeProxyConfig,omitempty"` + LoadBalancerProfile *ManagedClusterLoadBalancerProfile_STATUS `json:"loadBalancerProfile,omitempty"` + LoadBalancerSku *LoadBalancerSku_STATUS `json:"loadBalancerSku,omitempty"` + Monitoring *NetworkMonitoring_STATUS `json:"monitoring,omitempty"` + NatGatewayProfile *ManagedClusterNATGatewayProfile_STATUS `json:"natGatewayProfile,omitempty"` + NetworkDataplane *NetworkDataplane_STATUS `json:"networkDataplane,omitempty"` + NetworkMode *NetworkMode_STATUS `json:"networkMode,omitempty"` + NetworkPlugin *NetworkPlugin_STATUS `json:"networkPlugin,omitempty"` + NetworkPluginMode *NetworkPluginMode_STATUS `json:"networkPluginMode,omitempty"` + NetworkPolicy *NetworkPolicy_STATUS `json:"networkPolicy,omitempty"` + OutboundType *ContainerServiceNetworkProfile_OutboundType_STATUS `json:"outboundType,omitempty"` + PodCidr *string `json:"podCidr,omitempty"` + PodCidrs []string `json:"podCidrs"` + ServiceCidr *string `json:"serviceCidr,omitempty"` + ServiceCidrs []string `json:"serviceCidrs"` } -// Data used when creating a target resource from a source resource. type CreationData_STATUS struct { - // SourceResourceId: This is the ARM ID of the source object to be used to create the target object. SourceResourceId *string `json:"sourceResourceId,omitempty"` } -// Delegated resource properties - internal use only. type DelegatedResource_STATUS struct { - // Location: The source resource location - internal use only. - Location *string `json:"location,omitempty"` - - // ReferralResource: The delegation id of the referral delegation (optional) - internal use only. + Location *string `json:"location,omitempty"` ReferralResource *string `json:"referralResource,omitempty"` - - // ResourceId: The ARM resource id of the delegated resource - internal use only. - ResourceId *string `json:"resourceId,omitempty"` - - // TenantId: The tenant id of the delegated resource - internal use only. - TenantId *string `json:"tenantId,omitempty"` + ResourceId *string `json:"resourceId,omitempty"` + TenantId *string `json:"tenantId,omitempty"` } -// The type of extendedLocation. type ExtendedLocationType_STATUS string const ExtendedLocationType_STATUS_EdgeZone = ExtendedLocationType_STATUS("EdgeZone") @@ -369,7 +142,6 @@ var extendedLocationType_STATUS_Values = map[string]ExtendedLocationType_STATUS{ "edgezone": ExtendedLocationType_STATUS_EdgeZone, } -// Different support tiers for AKS managed clusters type KubernetesSupportPlan_STATUS string const ( @@ -383,322 +155,108 @@ var kubernetesSupportPlan_STATUS_Values = map[string]KubernetesSupportPlan_STATU "kubernetesofficial": KubernetesSupportPlan_STATUS_KubernetesOfficial, } -// For more details see [managed AAD on AKS](https://docs.microsoft.com/azure/aks/managed-aad). type ManagedClusterAADProfile_STATUS struct { - // AdminGroupObjectIDs: The list of AAD group object IDs that will have admin role of the cluster. AdminGroupObjectIDs []string `json:"adminGroupObjectIDs"` - - // ClientAppID: (DEPRECATED) The client AAD application ID. Learn more at https://aka.ms/aks/aad-legacy. - ClientAppID *string `json:"clientAppID,omitempty"` - - // EnableAzureRBAC: Whether to enable Azure RBAC for Kubernetes authorization. - EnableAzureRBAC *bool `json:"enableAzureRBAC,omitempty"` - - // Managed: Whether to enable managed AAD. - Managed *bool `json:"managed,omitempty"` - - // ServerAppID: (DEPRECATED) The server AAD application ID. Learn more at https://aka.ms/aks/aad-legacy. - ServerAppID *string `json:"serverAppID,omitempty"` - - // ServerAppSecret: (DEPRECATED) The server AAD application secret. Learn more at https://aka.ms/aks/aad-legacy. - ServerAppSecret *string `json:"serverAppSecret,omitempty"` - - // TenantID: The AAD tenant ID to use for authentication. If not specified, will use the tenant of the deployment - // subscription. - TenantID *string `json:"tenantID,omitempty"` + ClientAppID *string `json:"clientAppID,omitempty"` + EnableAzureRBAC *bool `json:"enableAzureRBAC,omitempty"` + Managed *bool `json:"managed,omitempty"` + ServerAppID *string `json:"serverAppID,omitempty"` + ServerAppSecret *string `json:"serverAppSecret,omitempty"` + TenantID *string `json:"tenantID,omitempty"` } -// A Kubernetes add-on profile for a managed cluster. type ManagedClusterAddonProfile_STATUS struct { - // Config: Key-value pairs for configuring an add-on. - Config map[string]string `json:"config"` - - // Enabled: Whether the add-on is enabled or not. - Enabled *bool `json:"enabled,omitempty"` - - // Identity: Information of user assigned identity used by this add-on. + Config map[string]string `json:"config"` + Enabled *bool `json:"enabled,omitempty"` Identity *UserAssignedIdentity_STATUS `json:"identity,omitempty"` } -// Profile for the container service agent pool. type ManagedClusterAgentPoolProfile_STATUS struct { - // ArtifactStreamingProfile: Configuration for using artifact streaming on AKS. - ArtifactStreamingProfile *AgentPoolArtifactStreamingProfile_STATUS `json:"artifactStreamingProfile,omitempty"` - - // AvailabilityZones: The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType - // property is 'VirtualMachineScaleSets'. - AvailabilityZones []string `json:"availabilityZones"` - - // CapacityReservationGroupID: AKS will associate the specified agent pool with the Capacity Reservation Group. - CapacityReservationGroupID *string `json:"capacityReservationGroupID,omitempty"` - - // Count: Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) - // for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1. - Count *int `json:"count,omitempty"` - - // CreationData: CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using - // a snapshot. - CreationData *CreationData_STATUS `json:"creationData,omitempty"` - - // CurrentOrchestratorVersion: If orchestratorVersion was a fully specified version , this field will be - // exactly equal to it. If orchestratorVersion was , this field will contain the full - // version being used. - CurrentOrchestratorVersion *string `json:"currentOrchestratorVersion,omitempty"` - - // EnableAutoScaling: Whether to enable auto-scaler - EnableAutoScaling *bool `json:"enableAutoScaling,omitempty"` - - // EnableCustomCATrust: When set to true, AKS adds a label to the node indicating that the feature is enabled and deploys a - // daemonset along with host services to sync custom certificate authorities from user-provided list of base64 encoded - // certificates into node trust stores. Defaults to false. - EnableCustomCATrust *bool `json:"enableCustomCATrust,omitempty"` - - // EnableEncryptionAtHost: This is only supported on certain VM sizes and in certain Azure regions. For more information, - // see: https://docs.microsoft.com/azure/aks/enable-host-encryption - EnableEncryptionAtHost *bool `json:"enableEncryptionAtHost,omitempty"` - - // EnableFIPS: See [Add a FIPS-enabled node - // pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more - // details. - EnableFIPS *bool `json:"enableFIPS,omitempty"` - - // EnableNodePublicIP: Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. - // A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine - // to minimize hops. For more information see [assigning a public IP per - // node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The - // default is false. - EnableNodePublicIP *bool `json:"enableNodePublicIP,omitempty"` - - // EnableUltraSSD: Whether to enable UltraSSD - EnableUltraSSD *bool `json:"enableUltraSSD,omitempty"` - - // GpuInstanceProfile: GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU. - GpuInstanceProfile *GPUInstanceProfile_STATUS `json:"gpuInstanceProfile,omitempty"` - - // GpuProfile: The GPU settings of an agent pool. - GpuProfile *AgentPoolGPUProfile_STATUS `json:"gpuProfile,omitempty"` - - // HostGroupID: This is of the form: - // /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. - // For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). - HostGroupID *string `json:"hostGroupID,omitempty"` - - // KubeletConfig: The Kubelet configuration on the agent pool nodes. - KubeletConfig *KubeletConfig_STATUS `json:"kubeletConfig,omitempty"` - - // KubeletDiskType: Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral - // storage. - KubeletDiskType *KubeletDiskType_STATUS `json:"kubeletDiskType,omitempty"` - - // LinuxOSConfig: The OS configuration of Linux agent nodes. - LinuxOSConfig *LinuxOSConfig_STATUS `json:"linuxOSConfig,omitempty"` - - // MaxCount: The maximum number of nodes for auto-scaling - MaxCount *int `json:"maxCount,omitempty"` - - // MaxPods: The maximum number of pods that can run on a node. - MaxPods *int `json:"maxPods,omitempty"` - - // MessageOfTheDay: A base64-encoded string which will be written to /etc/motd after decoding. This allows customization of - // the message of the day for Linux nodes. It must not be specified for Windows nodes. It must be a static string (i.e., - // will be printed raw and not be executed as a script). - MessageOfTheDay *string `json:"messageOfTheDay,omitempty"` - - // MinCount: The minimum number of nodes for auto-scaling - MinCount *int `json:"minCount,omitempty"` - - // Mode: A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool - // restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools - Mode *AgentPoolMode_STATUS `json:"mode,omitempty"` - - // Name: Windows agent pool names must be 6 characters or less. - Name *string `json:"name,omitempty"` - - // NetworkProfile: Network-related settings of an agent pool. - NetworkProfile *AgentPoolNetworkProfile_STATUS `json:"networkProfile,omitempty"` - - // NodeImageVersion: The version of node image - NodeImageVersion *string `json:"nodeImageVersion,omitempty"` - - // NodeInitializationTaints: These taints will not be reconciled by AKS and can be removed with a kubectl call. This field - // can be modified after node pool is created, but nodes will not be recreated with new taints until another operation that - // requires recreation (e.g. node image upgrade) happens. These taints allow for required configuration to run before the - // node is ready to accept workloads, for example 'key1=value1:NoSchedule' that then can be removed with `kubectl taint - // nodes node1 key1=value1:NoSchedule-` - NodeInitializationTaints []string `json:"nodeInitializationTaints"` - - // NodeLabels: The node labels to be persisted across all nodes in agent pool. - NodeLabels map[string]string `json:"nodeLabels"` - - // NodePublicIPPrefixID: This is of the form: - // /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} - NodePublicIPPrefixID *string `json:"nodePublicIPPrefixID,omitempty"` - - // NodeTaints: The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule. - NodeTaints []string `json:"nodeTaints"` - - // OrchestratorVersion: Both patch version and are supported. When is - // specified, the latest supported patch version is chosen automatically. Updating the agent pool with the same - // once it has been created will not trigger an upgrade, even if a newer patch version is available. As a - // best practice, you should upgrade all node pools in an AKS cluster to the same Kubernetes version. The node pool version - // must have the same major version as the control plane. The node pool minor version must be within two minor versions of - // the control plane version. The node pool version cannot be greater than the control plane version. For more information - // see [upgrading a node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). - OrchestratorVersion *string `json:"orchestratorVersion,omitempty"` - OsDiskSizeGB *int `json:"osDiskSizeGB,omitempty"` - - // OsDiskType: The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested - // OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral - // OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). - OsDiskType *OSDiskType_STATUS `json:"osDiskType,omitempty"` - - // OsSKU: Specifies the OS SKU used by the agent pool. If not specified, the default is Ubuntu if OSType=Linux or - // Windows2019 if OSType=Windows. And the default Windows OSSKU will be changed to Windows2022 after Windows2019 is - // deprecated. - OsSKU *OSSKU_STATUS `json:"osSKU,omitempty"` - - // OsType: The operating system type. The default is Linux. - OsType *OSType_STATUS `json:"osType,omitempty"` - - // PodSubnetID: If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). This is - // of the form: - // /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} - PodSubnetID *string `json:"podSubnetID,omitempty"` - - // PowerState: When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this - // field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only - // be stopped if it is Running and provisioning state is Succeeded - PowerState *PowerState_STATUS `json:"powerState,omitempty"` - - // ProvisioningState: The current deployment or provisioning state. - ProvisioningState *string `json:"provisioningState,omitempty"` - - // ProximityPlacementGroupID: The ID for Proximity Placement Group. - ProximityPlacementGroupID *string `json:"proximityPlacementGroupID,omitempty"` - - // ScaleDownMode: This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete. - ScaleDownMode *ScaleDownMode_STATUS `json:"scaleDownMode,omitempty"` - - // ScaleSetEvictionPolicy: This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is - // 'Delete'. - ScaleSetEvictionPolicy *ScaleSetEvictionPolicy_STATUS `json:"scaleSetEvictionPolicy,omitempty"` - - // ScaleSetPriority: The Virtual Machine Scale Set priority. If not specified, the default is 'Regular'. - ScaleSetPriority *ScaleSetPriority_STATUS `json:"scaleSetPriority,omitempty"` - - // SecurityProfile: The security settings of an agent pool. - SecurityProfile *AgentPoolSecurityProfile_STATUS `json:"securityProfile,omitempty"` - - // SpotMaxPrice: Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any - // on-demand price. For more details on spot pricing, see [spot VMs - // pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing) - SpotMaxPrice *float64 `json:"spotMaxPrice,omitempty"` - - // Tags: The tags to be persisted on the agent pool virtual machine scale set. - Tags map[string]string `json:"tags"` - - // Type: The type of Agent Pool. - Type *AgentPoolType_STATUS `json:"type,omitempty"` - - // UpgradeSettings: Settings for upgrading the agentpool - UpgradeSettings *AgentPoolUpgradeSettings_STATUS `json:"upgradeSettings,omitempty"` - VirtualMachineNodesStatus []VirtualMachineNodes_STATUS `json:"virtualMachineNodesStatus"` - - // VirtualMachinesProfile: Specifications on VirtualMachines agent pool. - VirtualMachinesProfile *VirtualMachinesProfile_STATUS `json:"virtualMachinesProfile,omitempty"` - - // VmSize: VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods - // might fail to run correctly. For more details on restricted VM sizes, see: - // https://docs.microsoft.com/azure/aks/quotas-skus-regions - VmSize *string `json:"vmSize,omitempty"` - - // VnetSubnetID: If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is specified, - // this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: - // /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} - VnetSubnetID *string `json:"vnetSubnetID,omitempty"` - - // WindowsProfile: The Windows agent pool's specific profile. - WindowsProfile *AgentPoolWindowsProfile_STATUS `json:"windowsProfile,omitempty"` - - // WorkloadRuntime: Determines the type of workload a node can run. - WorkloadRuntime *WorkloadRuntime_STATUS `json:"workloadRuntime,omitempty"` + ArtifactStreamingProfile *AgentPoolArtifactStreamingProfile_STATUS `json:"artifactStreamingProfile,omitempty"` + AvailabilityZones []string `json:"availabilityZones"` + CapacityReservationGroupID *string `json:"capacityReservationGroupID,omitempty"` + Count *int `json:"count,omitempty"` + CreationData *CreationData_STATUS `json:"creationData,omitempty"` + CurrentOrchestratorVersion *string `json:"currentOrchestratorVersion,omitempty"` + EnableAutoScaling *bool `json:"enableAutoScaling,omitempty"` + EnableCustomCATrust *bool `json:"enableCustomCATrust,omitempty"` + EnableEncryptionAtHost *bool `json:"enableEncryptionAtHost,omitempty"` + EnableFIPS *bool `json:"enableFIPS,omitempty"` + EnableNodePublicIP *bool `json:"enableNodePublicIP,omitempty"` + EnableUltraSSD *bool `json:"enableUltraSSD,omitempty"` + GpuInstanceProfile *GPUInstanceProfile_STATUS `json:"gpuInstanceProfile,omitempty"` + GpuProfile *AgentPoolGPUProfile_STATUS `json:"gpuProfile,omitempty"` + HostGroupID *string `json:"hostGroupID,omitempty"` + KubeletConfig *KubeletConfig_STATUS `json:"kubeletConfig,omitempty"` + KubeletDiskType *KubeletDiskType_STATUS `json:"kubeletDiskType,omitempty"` + LinuxOSConfig *LinuxOSConfig_STATUS `json:"linuxOSConfig,omitempty"` + MaxCount *int `json:"maxCount,omitempty"` + MaxPods *int `json:"maxPods,omitempty"` + MessageOfTheDay *string `json:"messageOfTheDay,omitempty"` + MinCount *int `json:"minCount,omitempty"` + Mode *AgentPoolMode_STATUS `json:"mode,omitempty"` + Name *string `json:"name,omitempty"` + NetworkProfile *AgentPoolNetworkProfile_STATUS `json:"networkProfile,omitempty"` + NodeImageVersion *string `json:"nodeImageVersion,omitempty"` + NodeInitializationTaints []string `json:"nodeInitializationTaints"` + NodeLabels map[string]string `json:"nodeLabels"` + NodePublicIPPrefixID *string `json:"nodePublicIPPrefixID,omitempty"` + NodeTaints []string `json:"nodeTaints"` + OrchestratorVersion *string `json:"orchestratorVersion,omitempty"` + OsDiskSizeGB *int `json:"osDiskSizeGB,omitempty"` + OsDiskType *OSDiskType_STATUS `json:"osDiskType,omitempty"` + OsSKU *OSSKU_STATUS `json:"osSKU,omitempty"` + OsType *OSType_STATUS `json:"osType,omitempty"` + PodSubnetID *string `json:"podSubnetID,omitempty"` + PowerState *PowerState_STATUS `json:"powerState,omitempty"` + ProvisioningState *string `json:"provisioningState,omitempty"` + ProximityPlacementGroupID *string `json:"proximityPlacementGroupID,omitempty"` + ScaleDownMode *ScaleDownMode_STATUS `json:"scaleDownMode,omitempty"` + ScaleSetEvictionPolicy *ScaleSetEvictionPolicy_STATUS `json:"scaleSetEvictionPolicy,omitempty"` + ScaleSetPriority *ScaleSetPriority_STATUS `json:"scaleSetPriority,omitempty"` + SecurityProfile *AgentPoolSecurityProfile_STATUS `json:"securityProfile,omitempty"` + SpotMaxPrice *float64 `json:"spotMaxPrice,omitempty"` + Tags map[string]string `json:"tags"` + Type *AgentPoolType_STATUS `json:"type,omitempty"` + UpgradeSettings *AgentPoolUpgradeSettings_STATUS `json:"upgradeSettings,omitempty"` + VirtualMachineNodesStatus []VirtualMachineNodes_STATUS `json:"virtualMachineNodesStatus"` + VirtualMachinesProfile *VirtualMachinesProfile_STATUS `json:"virtualMachinesProfile,omitempty"` + VmSize *string `json:"vmSize,omitempty"` + VnetSubnetID *string `json:"vnetSubnetID,omitempty"` + WindowsProfile *AgentPoolWindowsProfile_STATUS `json:"windowsProfile,omitempty"` + WorkloadRuntime *WorkloadRuntime_STATUS `json:"workloadRuntime,omitempty"` } -// When enabling the operator, a set of AKS managed CRDs and controllers will be installed in the cluster. The operator -// automates the deployment of OSS models for inference and/or training purposes. It provides a set of preset models and -// enables distributed inference against them. type ManagedClusterAIToolchainOperatorProfile_STATUS struct { - // Enabled: Indicates if AI toolchain operator enabled or not. Enabled *bool `json:"enabled,omitempty"` } -// Access profile for managed cluster API server. type ManagedClusterAPIServerAccessProfile_STATUS struct { - // AuthorizedIPRanges: IP ranges are specified in CIDR format, e.g. 137.117.106.88/29. This feature is not compatible with - // clusters that use Public IP Per Node, or clusters that are using a Basic Load Balancer. For more information see [API - // server authorized IP ranges](https://docs.microsoft.com/azure/aks/api-server-authorized-ip-ranges). - AuthorizedIPRanges []string `json:"authorizedIPRanges"` - - // DisableRunCommand: Whether to disable run command for the cluster or not. - DisableRunCommand *bool `json:"disableRunCommand,omitempty"` - - // EnablePrivateCluster: For more details, see [Creating a private AKS - // cluster](https://docs.microsoft.com/azure/aks/private-clusters). - EnablePrivateCluster *bool `json:"enablePrivateCluster,omitempty"` - - // EnablePrivateClusterPublicFQDN: Whether to create additional public FQDN for private cluster or not. - EnablePrivateClusterPublicFQDN *bool `json:"enablePrivateClusterPublicFQDN,omitempty"` - - // EnableVnetIntegration: Whether to enable apiserver vnet integration for the cluster or not. - EnableVnetIntegration *bool `json:"enableVnetIntegration,omitempty"` - - // PrivateDNSZone: The default is System. For more details see [configure private DNS - // zone](https://docs.microsoft.com/azure/aks/private-clusters#configure-private-dns-zone). Allowed values are 'system' and - // 'none'. - PrivateDNSZone *string `json:"privateDNSZone,omitempty"` - - // SubnetId: It is required when: 1. creating a new cluster with BYO Vnet; 2. updating an existing cluster to enable - // apiserver vnet integration. - SubnetId *string `json:"subnetId,omitempty"` + AuthorizedIPRanges []string `json:"authorizedIPRanges"` + DisableRunCommand *bool `json:"disableRunCommand,omitempty"` + EnablePrivateCluster *bool `json:"enablePrivateCluster,omitempty"` + EnablePrivateClusterPublicFQDN *bool `json:"enablePrivateClusterPublicFQDN,omitempty"` + EnableVnetIntegration *bool `json:"enableVnetIntegration,omitempty"` + PrivateDNSZone *string `json:"privateDNSZone,omitempty"` + SubnetId *string `json:"subnetId,omitempty"` } -// Auto upgrade profile for a managed cluster. type ManagedClusterAutoUpgradeProfile_STATUS struct { - // NodeOSUpgradeChannel: The default is Unmanaged, but may change to either NodeImage or SecurityPatch at GA. NodeOSUpgradeChannel *ManagedClusterAutoUpgradeProfile_NodeOSUpgradeChannel_STATUS `json:"nodeOSUpgradeChannel,omitempty"` - - // UpgradeChannel: For more information see [setting the AKS cluster auto-upgrade - // channel](https://docs.microsoft.com/azure/aks/upgrade-cluster#set-auto-upgrade-channel). - UpgradeChannel *ManagedClusterAutoUpgradeProfile_UpgradeChannel_STATUS `json:"upgradeChannel,omitempty"` + UpgradeChannel *ManagedClusterAutoUpgradeProfile_UpgradeChannel_STATUS `json:"upgradeChannel,omitempty"` } -// Prometheus addon profile for the container service cluster type ManagedClusterAzureMonitorProfile_STATUS struct { - // Logs: Logs profile for the Azure Monitor Infrastructure and Application Logs. Collect out-of-the-box Kubernetes - // infrastructure & application logs to send to Azure Monitor. See aka.ms/AzureMonitorContainerInsights for an overview. - Logs *ManagedClusterAzureMonitorProfileLogs_STATUS `json:"logs,omitempty"` - - // Metrics: Metrics profile for the prometheus service addon + Logs *ManagedClusterAzureMonitorProfileLogs_STATUS `json:"logs,omitempty"` Metrics *ManagedClusterAzureMonitorProfileMetrics_STATUS `json:"metrics,omitempty"` } -// Cluster HTTP proxy configuration. type ManagedClusterHTTPProxyConfig_STATUS struct { - // EffectiveNoProxy: A read-only list of all endpoints for which traffic should not be sent to the proxy. This list is a - // superset of noProxy and values injected by AKS. EffectiveNoProxy []string `json:"effectiveNoProxy"` - - // HttpProxy: The HTTP proxy server endpoint to use. - HttpProxy *string `json:"httpProxy,omitempty"` - - // HttpsProxy: The HTTPS proxy server endpoint to use. - HttpsProxy *string `json:"httpsProxy,omitempty"` - - // NoProxy: The endpoints that should not go through proxy. - NoProxy []string `json:"noProxy"` - - // TrustedCa: Alternative CA cert to use for connecting to proxy servers. - TrustedCa *string `json:"trustedCa,omitempty"` + HttpProxy *string `json:"httpProxy,omitempty"` + HttpsProxy *string `json:"httpsProxy,omitempty"` + NoProxy []string `json:"noProxy"` + TrustedCa *string `json:"trustedCa,omitempty"` } type ManagedClusterIdentity_Type_STATUS string @@ -717,137 +275,59 @@ var managedClusterIdentity_Type_STATUS_Values = map[string]ManagedClusterIdentit } type ManagedClusterIdentity_UserAssignedIdentities_STATUS struct { - // ClientId: The client id of user assigned identity. - ClientId *string `json:"clientId,omitempty"` - - // PrincipalId: The principal id of user assigned identity. + ClientId *string `json:"clientId,omitempty"` PrincipalId *string `json:"principalId,omitempty"` } -// Ingress profile for the container service cluster. type ManagedClusterIngressProfile_STATUS struct { - // WebAppRouting: Web App Routing settings for the ingress profile. WebAppRouting *ManagedClusterIngressProfileWebAppRouting_STATUS `json:"webAppRouting,omitempty"` } -// The metrics profile for the ManagedCluster. type ManagedClusterMetricsProfile_STATUS struct { - // CostAnalysis: The cost analysis configuration for the cluster CostAnalysis *ManagedClusterCostAnalysis_STATUS `json:"costAnalysis,omitempty"` } type ManagedClusterNodeProvisioningProfile_STATUS struct { - // Mode: Once the mode it set to Auto, it cannot be changed back to Manual. Mode *ManagedClusterNodeProvisioningProfile_Mode_STATUS `json:"mode,omitempty"` } -// Node resource group lockdown profile for a managed cluster. type ManagedClusterNodeResourceGroupProfile_STATUS struct { - // RestrictionLevel: The restriction level applied to the cluster's node resource group RestrictionLevel *ManagedClusterNodeResourceGroupProfile_RestrictionLevel_STATUS `json:"restrictionLevel,omitempty"` } -// The OIDC issuer profile of the Managed Cluster. type ManagedClusterOIDCIssuerProfile_STATUS struct { - // Enabled: Whether the OIDC issuer is enabled. - Enabled *bool `json:"enabled,omitempty"` - - // IssuerURL: The OIDC issuer url of the Managed Cluster. + Enabled *bool `json:"enabled,omitempty"` IssuerURL *string `json:"issuerURL,omitempty"` } -// See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on pod -// identity integration. type ManagedClusterPodIdentityProfile_STATUS struct { - // AllowNetworkPluginKubenet: Running in Kubenet is disabled by default due to the security related nature of AAD Pod - // Identity and the risks of IP spoofing. See [using Kubenet network plugin with AAD Pod - // Identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity#using-kubenet-network-plugin-with-azure-active-directory-pod-managed-identities) - // for more information. - AllowNetworkPluginKubenet *bool `json:"allowNetworkPluginKubenet,omitempty"` - - // Enabled: Whether the pod identity addon is enabled. - Enabled *bool `json:"enabled,omitempty"` - - // UserAssignedIdentities: The pod identities to use in the cluster. - UserAssignedIdentities []ManagedClusterPodIdentity_STATUS `json:"userAssignedIdentities"` - - // UserAssignedIdentityExceptions: The pod identity exceptions to allow. + AllowNetworkPluginKubenet *bool `json:"allowNetworkPluginKubenet,omitempty"` + Enabled *bool `json:"enabled,omitempty"` + UserAssignedIdentities []ManagedClusterPodIdentity_STATUS `json:"userAssignedIdentities"` UserAssignedIdentityExceptions []ManagedClusterPodIdentityException_STATUS `json:"userAssignedIdentityExceptions"` } type ManagedClusterProperties_AutoScalerProfile_STATUS struct { - // BalanceSimilarNodeGroups: Valid values are 'true' and 'false' - BalanceSimilarNodeGroups *string `json:"balance-similar-node-groups,omitempty"` - - // DaemonsetEvictionForEmptyNodes: If set to true, all daemonset pods on empty nodes will be evicted before deletion of the - // node. If the daemonset pod cannot be evicted another node will be chosen for scaling. If set to false, the node will be - // deleted without ensuring that daemonset pods are deleted or evicted. - DaemonsetEvictionForEmptyNodes *bool `json:"daemonset-eviction-for-empty-nodes,omitempty"` - - // DaemonsetEvictionForOccupiedNodes: If set to true, all daemonset pods on occupied nodes will be evicted before deletion - // of the node. If the daemonset pod cannot be evicted another node will be chosen for scaling. If set to false, the node - // will be deleted without ensuring that daemonset pods are deleted or evicted. - DaemonsetEvictionForOccupiedNodes *bool `json:"daemonset-eviction-for-occupied-nodes,omitempty"` - - // Expander: Available values are: 'least-waste', 'most-pods', 'priority', 'random'. - Expander *Expander_STATUS `json:"expander,omitempty"` - - // IgnoreDaemonsetsUtilization: If set to true, the resources used by daemonset will be taken into account when making - // scaling down decisions. - IgnoreDaemonsetsUtilization *bool `json:"ignore-daemonsets-utilization,omitempty"` - - // MaxEmptyBulkDelete: The default is 10. - MaxEmptyBulkDelete *string `json:"max-empty-bulk-delete,omitempty"` - - // MaxGracefulTerminationSec: The default is 600. - MaxGracefulTerminationSec *string `json:"max-graceful-termination-sec,omitempty"` - - // MaxNodeProvisionTime: The default is '15m'. Values must be an integer followed by an 'm'. No unit of time other than - // minutes (m) is supported. - MaxNodeProvisionTime *string `json:"max-node-provision-time,omitempty"` - - // MaxTotalUnreadyPercentage: The default is 45. The maximum is 100 and the minimum is 0. - MaxTotalUnreadyPercentage *string `json:"max-total-unready-percentage,omitempty"` - - // NewPodScaleUpDelay: For scenarios like burst/batch scale where you don't want CA to act before the kubernetes scheduler - // could schedule all the pods, you can tell CA to ignore unscheduled pods before they're a certain age. The default is - // '0s'. Values must be an integer followed by a unit ('s' for seconds, 'm' for minutes, 'h' for hours, etc). - NewPodScaleUpDelay *string `json:"new-pod-scale-up-delay,omitempty"` - - // OkTotalUnreadyCount: This must be an integer. The default is 3. - OkTotalUnreadyCount *string `json:"ok-total-unready-count,omitempty"` - - // ScaleDownDelayAfterAdd: The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than - // minutes (m) is supported. - ScaleDownDelayAfterAdd *string `json:"scale-down-delay-after-add,omitempty"` - - // ScaleDownDelayAfterDelete: The default is the scan-interval. Values must be an integer followed by an 'm'. No unit of - // time other than minutes (m) is supported. - ScaleDownDelayAfterDelete *string `json:"scale-down-delay-after-delete,omitempty"` - - // ScaleDownDelayAfterFailure: The default is '3m'. Values must be an integer followed by an 'm'. No unit of time other - // than minutes (m) is supported. - ScaleDownDelayAfterFailure *string `json:"scale-down-delay-after-failure,omitempty"` - - // ScaleDownUnneededTime: The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than - // minutes (m) is supported. - ScaleDownUnneededTime *string `json:"scale-down-unneeded-time,omitempty"` - - // ScaleDownUnreadyTime: The default is '20m'. Values must be an integer followed by an 'm'. No unit of time other than - // minutes (m) is supported. - ScaleDownUnreadyTime *string `json:"scale-down-unready-time,omitempty"` - - // ScaleDownUtilizationThreshold: The default is '0.5'. - ScaleDownUtilizationThreshold *string `json:"scale-down-utilization-threshold,omitempty"` - - // ScanInterval: The default is '10'. Values must be an integer number of seconds. - ScanInterval *string `json:"scan-interval,omitempty"` - - // SkipNodesWithLocalStorage: The default is true. - SkipNodesWithLocalStorage *string `json:"skip-nodes-with-local-storage,omitempty"` - - // SkipNodesWithSystemPods: The default is true. - SkipNodesWithSystemPods *string `json:"skip-nodes-with-system-pods,omitempty"` + BalanceSimilarNodeGroups *string `json:"balance-similar-node-groups,omitempty"` + DaemonsetEvictionForEmptyNodes *bool `json:"daemonset-eviction-for-empty-nodes,omitempty"` + DaemonsetEvictionForOccupiedNodes *bool `json:"daemonset-eviction-for-occupied-nodes,omitempty"` + Expander *Expander_STATUS `json:"expander,omitempty"` + IgnoreDaemonsetsUtilization *bool `json:"ignore-daemonsets-utilization,omitempty"` + MaxEmptyBulkDelete *string `json:"max-empty-bulk-delete,omitempty"` + MaxGracefulTerminationSec *string `json:"max-graceful-termination-sec,omitempty"` + MaxNodeProvisionTime *string `json:"max-node-provision-time,omitempty"` + MaxTotalUnreadyPercentage *string `json:"max-total-unready-percentage,omitempty"` + NewPodScaleUpDelay *string `json:"new-pod-scale-up-delay,omitempty"` + OkTotalUnreadyCount *string `json:"ok-total-unready-count,omitempty"` + ScaleDownDelayAfterAdd *string `json:"scale-down-delay-after-add,omitempty"` + ScaleDownDelayAfterDelete *string `json:"scale-down-delay-after-delete,omitempty"` + ScaleDownDelayAfterFailure *string `json:"scale-down-delay-after-failure,omitempty"` + ScaleDownUnneededTime *string `json:"scale-down-unneeded-time,omitempty"` + ScaleDownUnreadyTime *string `json:"scale-down-unready-time,omitempty"` + ScaleDownUtilizationThreshold *string `json:"scale-down-utilization-threshold,omitempty"` + ScanInterval *string `json:"scan-interval,omitempty"` + SkipNodesWithLocalStorage *string `json:"skip-nodes-with-local-storage,omitempty"` + SkipNodesWithSystemPods *string `json:"skip-nodes-with-system-pods,omitempty"` } type ManagedClusterProperties_PublicNetworkAccess_STATUS string @@ -865,41 +345,17 @@ var managedClusterProperties_PublicNetworkAccess_STATUS_Values = map[string]Mana "securedbyperimeter": ManagedClusterProperties_PublicNetworkAccess_STATUS_SecuredByPerimeter, } -// Security profile for the container service cluster. type ManagedClusterSecurityProfile_STATUS struct { - // AzureKeyVaultKms: Azure Key Vault [key management - // service](https://kubernetes.io/docs/tasks/administer-cluster/kms-provider/) settings for the security profile. - AzureKeyVaultKms *AzureKeyVaultKms_STATUS `json:"azureKeyVaultKms,omitempty"` - - // CustomCATrustCertificates: A list of up to 10 base64 encoded CAs that will be added to the trust store on nodes with the - // Custom CA Trust feature enabled. For more information see [Custom CA Trust - // Certificates](https://learn.microsoft.com/en-us/azure/aks/custom-certificate-authority) - CustomCATrustCertificates []string `json:"customCATrustCertificates"` - - // Defender: Microsoft Defender settings for the security profile. - Defender *ManagedClusterSecurityProfileDefender_STATUS `json:"defender,omitempty"` - - // ImageCleaner: Image Cleaner settings for the security profile. - ImageCleaner *ManagedClusterSecurityProfileImageCleaner_STATUS `json:"imageCleaner,omitempty"` - - // ImageIntegrity: Image integrity is a feature that works with Azure Policy to verify image integrity by signature. This - // will not have any effect unless Azure Policy is applied to enforce image signatures. See - // https://aka.ms/aks/image-integrity for how to use this feature via policy. - ImageIntegrity *ManagedClusterSecurityProfileImageIntegrity_STATUS `json:"imageIntegrity,omitempty"` - - // NodeRestriction: [Node - // Restriction](https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/#noderestriction) settings - // for the security profile. - NodeRestriction *ManagedClusterSecurityProfileNodeRestriction_STATUS `json:"nodeRestriction,omitempty"` - - // WorkloadIdentity: Workload identity settings for the security profile. Workload identity enables Kubernetes applications - // to access Azure cloud resources securely with Azure AD. See https://aka.ms/aks/wi for more details. - WorkloadIdentity *ManagedClusterSecurityProfileWorkloadIdentity_STATUS `json:"workloadIdentity,omitempty"` + AzureKeyVaultKms *AzureKeyVaultKms_STATUS `json:"azureKeyVaultKms,omitempty"` + CustomCATrustCertificates []string `json:"customCATrustCertificates"` + Defender *ManagedClusterSecurityProfileDefender_STATUS `json:"defender,omitempty"` + ImageCleaner *ManagedClusterSecurityProfileImageCleaner_STATUS `json:"imageCleaner,omitempty"` + ImageIntegrity *ManagedClusterSecurityProfileImageIntegrity_STATUS `json:"imageIntegrity,omitempty"` + NodeRestriction *ManagedClusterSecurityProfileNodeRestriction_STATUS `json:"nodeRestriction,omitempty"` + WorkloadIdentity *ManagedClusterSecurityProfileWorkloadIdentity_STATUS `json:"workloadIdentity,omitempty"` } -// Information about a service principal identity for the cluster to use for manipulating Azure APIs. type ManagedClusterServicePrincipalProfile_STATUS struct { - // ClientId: The ID for the service principal. ClientId *string `json:"clientId,omitempty"` } @@ -927,101 +383,48 @@ var managedClusterSKU_Tier_STATUS_Values = map[string]ManagedClusterSKU_Tier_STA "standard": ManagedClusterSKU_Tier_STATUS_Standard, } -// Storage profile for the container service cluster. type ManagedClusterStorageProfile_STATUS struct { - // BlobCSIDriver: AzureBlob CSI Driver settings for the storage profile. - BlobCSIDriver *ManagedClusterStorageProfileBlobCSIDriver_STATUS `json:"blobCSIDriver,omitempty"` - - // DiskCSIDriver: AzureDisk CSI Driver settings for the storage profile. - DiskCSIDriver *ManagedClusterStorageProfileDiskCSIDriver_STATUS `json:"diskCSIDriver,omitempty"` - - // FileCSIDriver: AzureFile CSI Driver settings for the storage profile. - FileCSIDriver *ManagedClusterStorageProfileFileCSIDriver_STATUS `json:"fileCSIDriver,omitempty"` - - // SnapshotController: Snapshot Controller settings for the storage profile. + BlobCSIDriver *ManagedClusterStorageProfileBlobCSIDriver_STATUS `json:"blobCSIDriver,omitempty"` + DiskCSIDriver *ManagedClusterStorageProfileDiskCSIDriver_STATUS `json:"diskCSIDriver,omitempty"` + FileCSIDriver *ManagedClusterStorageProfileFileCSIDriver_STATUS `json:"fileCSIDriver,omitempty"` SnapshotController *ManagedClusterStorageProfileSnapshotController_STATUS `json:"snapshotController,omitempty"` } -// Profile for Windows VMs in the managed cluster. type ManagedClusterWindowsProfile_STATUS struct { - // AdminUsername: Specifies the name of the administrator account. - // Restriction: Cannot end in "." - // Disallowed values: "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", - // "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", - // "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5". - // Minimum-length: 1 character - // Max-length: 20 characters - AdminUsername *string `json:"adminUsername,omitempty"` - - // EnableCSIProxy: For more details on CSI proxy, see the [CSI proxy GitHub - // repo](https://github.com/kubernetes-csi/csi-proxy). - EnableCSIProxy *bool `json:"enableCSIProxy,omitempty"` - - // GmsaProfile: The Windows gMSA Profile in the Managed Cluster. - GmsaProfile *WindowsGmsaProfile_STATUS `json:"gmsaProfile,omitempty"` - - // LicenseType: The license type to use for Windows VMs. See [Azure Hybrid User - // Benefits](https://azure.microsoft.com/pricing/hybrid-benefit/faq/) for more details. - LicenseType *ManagedClusterWindowsProfile_LicenseType_STATUS `json:"licenseType,omitempty"` + AdminUsername *string `json:"adminUsername,omitempty"` + EnableCSIProxy *bool `json:"enableCSIProxy,omitempty"` + GmsaProfile *WindowsGmsaProfile_STATUS `json:"gmsaProfile,omitempty"` + LicenseType *ManagedClusterWindowsProfile_LicenseType_STATUS `json:"licenseType,omitempty"` } -// Workload Auto-scaler profile for the managed cluster. type ManagedClusterWorkloadAutoScalerProfile_STATUS struct { - // Keda: KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile. Keda *ManagedClusterWorkloadAutoScalerProfileKeda_STATUS `json:"keda,omitempty"` VerticalPodAutoscaler *ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS `json:"verticalPodAutoscaler,omitempty"` } -// Describes the Power State of the cluster type PowerState_STATUS struct { - // Code: Tells whether the cluster is Running or Stopped Code *PowerState_Code_STATUS `json:"code,omitempty"` } -// A private link resource type PrivateLinkResource_STATUS struct { - // GroupId: The group ID of the resource. - GroupId *string `json:"groupId,omitempty"` - - // Id: The ID of the private link resource. - Id *string `json:"id,omitempty"` - - // Name: The name of the private link resource. - Name *string `json:"name,omitempty"` - - // PrivateLinkServiceID: The private link service ID of the resource, this field is exposed only to NRP internally. - PrivateLinkServiceID *string `json:"privateLinkServiceID,omitempty"` - - // RequiredMembers: The RequiredMembers of the resource - RequiredMembers []string `json:"requiredMembers"` - - // Type: The resource type. - Type *string `json:"type,omitempty"` + GroupId *string `json:"groupId,omitempty"` + Id *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + PrivateLinkServiceID *string `json:"privateLinkServiceID,omitempty"` + RequiredMembers []string `json:"requiredMembers"` + Type *string `json:"type,omitempty"` } -// The Safeguards profile. type SafeguardsProfile_STATUS struct { - // ExcludedNamespaces: List of namespaces excluded from Safeguards checks - ExcludedNamespaces []string `json:"excludedNamespaces"` - - // Level: The Safeguards level to be used. By default, Safeguards is enabled for all namespaces except those that AKS - // excludes via systemExcludedNamespaces - Level *SafeguardsProfile_Level_STATUS `json:"level,omitempty"` - - // SystemExcludedNamespaces: List of namespaces specified by AKS to be excluded from Safeguards - SystemExcludedNamespaces []string `json:"systemExcludedNamespaces"` - - // Version: The version of constraints to use - Version *string `json:"version,omitempty"` + ExcludedNamespaces []string `json:"excludedNamespaces"` + Level *SafeguardsProfile_Level_STATUS `json:"level,omitempty"` + SystemExcludedNamespaces []string `json:"systemExcludedNamespaces"` + Version *string `json:"version,omitempty"` } -// Service mesh profile for a managed cluster. type ServiceMeshProfile_STATUS struct { - // Istio: Istio service mesh configuration. - Istio *IstioServiceMesh_STATUS `json:"istio,omitempty"` - - // Mode: Mode of the service mesh. - Mode *ServiceMeshProfile_Mode_STATUS `json:"mode,omitempty"` + Istio *IstioServiceMesh_STATUS `json:"istio,omitempty"` + Mode *ServiceMeshProfile_Mode_STATUS `json:"mode,omitempty"` } type SystemData_CreatedByType_STATUS string @@ -1058,49 +461,23 @@ var systemData_LastModifiedByType_STATUS_Values = map[string]SystemData_LastModi "user": SystemData_LastModifiedByType_STATUS_User, } -// Details about a user assigned identity. type UserAssignedIdentity_STATUS struct { - // ClientId: The client ID of the user assigned identity. - ClientId *string `json:"clientId,omitempty"` - - // ObjectId: The object ID of the user assigned identity. - ObjectId *string `json:"objectId,omitempty"` - - // ResourceId: The resource ID of the user assigned identity. + ClientId *string `json:"clientId,omitempty"` + ObjectId *string `json:"objectId,omitempty"` ResourceId *string `json:"resourceId,omitempty"` } -// Azure Key Vault key management service settings for the security profile. type AzureKeyVaultKms_STATUS struct { - // Enabled: Whether to enable Azure Key Vault key management service. The default is false. - Enabled *bool `json:"enabled,omitempty"` - - // KeyId: Identifier of Azure Key Vault key. See [key identifier - // format](https://docs.microsoft.com/en-us/azure/key-vault/general/about-keys-secrets-certificates#vault-name-and-object-name) - // for more details. When Azure Key Vault key management service is enabled, this field is required and must be a valid key - // identifier. When Azure Key Vault key management service is disabled, leave the field empty. - KeyId *string `json:"keyId,omitempty"` - - // KeyVaultNetworkAccess: Network access of key vault. The possible values are `Public` and `Private`. `Public` means the - // key vault allows public access from all networks. `Private` means the key vault disables public access and enables - // private link. The default value is `Public`. + Enabled *bool `json:"enabled,omitempty"` + KeyId *string `json:"keyId,omitempty"` KeyVaultNetworkAccess *AzureKeyVaultKms_KeyVaultNetworkAccess_STATUS `json:"keyVaultNetworkAccess,omitempty"` - - // KeyVaultResourceId: Resource ID of key vault. When keyVaultNetworkAccess is `Private`, this field is required and must - // be a valid resource ID. When keyVaultNetworkAccess is `Public`, leave the field empty. - KeyVaultResourceId *string `json:"keyVaultResourceId,omitempty"` + KeyVaultResourceId *string `json:"keyVaultResourceId,omitempty"` } type ContainerServiceNetworkProfile_KubeProxyConfig_STATUS struct { - // Enabled: Whether to enable on kube-proxy on the cluster (if no 'kubeProxyConfig' exists, kube-proxy is enabled in AKS by - // default without these customizations). - Enabled *bool `json:"enabled,omitempty"` - - // IpvsConfig: Holds configuration customizations for IPVS. May only be specified if 'mode' is set to 'IPVS'. + Enabled *bool `json:"enabled,omitempty"` IpvsConfig *ContainerServiceNetworkProfile_KubeProxyConfig_IpvsConfig_STATUS `json:"ipvsConfig,omitempty"` - - // Mode: Specify which proxy mode to use ('IPTABLES' or 'IPVS') - Mode *ContainerServiceNetworkProfile_KubeProxyConfig_Mode_STATUS `json:"mode,omitempty"` + Mode *ContainerServiceNetworkProfile_KubeProxyConfig_Mode_STATUS `json:"mode,omitempty"` } type ContainerServiceNetworkProfile_OutboundType_STATUS string @@ -1120,15 +497,10 @@ var containerServiceNetworkProfile_OutboundType_STATUS_Values = map[string]Conta "userdefinedrouting": ContainerServiceNetworkProfile_OutboundType_STATUS_UserDefinedRouting, } -// SSH configuration for Linux-based VMs running on Azure. type ContainerServiceSshConfiguration_STATUS struct { - // PublicKeys: The list of SSH public keys used to authenticate with Linux-based VMs. A maximum of 1 key may be specified. PublicKeys []ContainerServiceSshPublicKey_STATUS `json:"publicKeys"` } -// If not specified, the default is 'random'. See -// [expanders](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md#what-are-expanders) for more -// information. type Expander_STATUS string const ( @@ -1146,7 +518,6 @@ var expander_STATUS_Values = map[string]Expander_STATUS{ "random": Expander_STATUS_Random, } -// To determine if address belongs IPv4 or IPv6 family. type IpFamily_STATUS string const ( @@ -1160,23 +531,12 @@ var ipFamily_STATUS_Values = map[string]IpFamily_STATUS{ "ipv6": IpFamily_STATUS_IPv6, } -// Istio service mesh configuration. type IstioServiceMesh_STATUS struct { - // CertificateAuthority: Istio Service Mesh Certificate Authority (CA) configuration. For now, we only support plugin - // certificates as described here https://aka.ms/asm-plugin-ca CertificateAuthority *IstioCertificateAuthority_STATUS `json:"certificateAuthority,omitempty"` - - // Components: Istio components configuration. - Components *IstioComponents_STATUS `json:"components,omitempty"` - - // Revisions: The list of revisions of the Istio control plane. When an upgrade is not in progress, this holds one value. - // When canary upgrade is in progress, this can only hold two consecutive values. For more information, see: - // https://learn.microsoft.com/en-us/azure/aks/istio-upgrade - Revisions []string `json:"revisions"` + Components *IstioComponents_STATUS `json:"components,omitempty"` + Revisions []string `json:"revisions"` } -// The default is 'standard'. See [Azure Load Balancer SKUs](https://docs.microsoft.com/azure/load-balancer/skus) for more -// information about the differences between load balancer SKUs. type LoadBalancerSku_STATUS string const ( @@ -1226,97 +586,41 @@ var managedClusterAutoUpgradeProfile_UpgradeChannel_STATUS_Values = map[string]M "stable": ManagedClusterAutoUpgradeProfile_UpgradeChannel_STATUS_Stable, } -// Logs profile for the Azure Monitor Infrastructure and Application Logs. Collect out-of-the-box Kubernetes infrastructure -// & application logs to send to Azure Monitor. See aka.ms/AzureMonitorContainerInsights for an overview. type ManagedClusterAzureMonitorProfileLogs_STATUS struct { - // AppMonitoring: Application Monitoring Profile for Kubernetes Application Container. Collects application logs, metrics - // and traces through auto-instrumentation of the application using Azure Monitor OpenTelemetry based SDKs. See - // aka.ms/AzureMonitorApplicationMonitoring for an overview. - AppMonitoring *ManagedClusterAzureMonitorProfileAppMonitoring_STATUS `json:"appMonitoring,omitempty"` - - // ContainerInsights: Azure Monitor Container Insights Profile for Kubernetes Events, Inventory and Container stdout & - // stderr logs etc. See aka.ms/AzureMonitorContainerInsights for an overview. + AppMonitoring *ManagedClusterAzureMonitorProfileAppMonitoring_STATUS `json:"appMonitoring,omitempty"` ContainerInsights *ManagedClusterAzureMonitorProfileContainerInsights_STATUS `json:"containerInsights,omitempty"` } -// Metrics profile for the prometheus service addon type ManagedClusterAzureMonitorProfileMetrics_STATUS struct { - // AppMonitoringOpenTelemetryMetrics: Application Monitoring Open Telemetry Metrics Profile for Kubernetes Application - // Container Metrics. Collects OpenTelemetry metrics through auto-instrumentation of the application using Azure Monitor - // OpenTelemetry based SDKs. See aka.ms/AzureMonitorApplicationMonitoring for an overview. AppMonitoringOpenTelemetryMetrics *ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetrics_STATUS `json:"appMonitoringOpenTelemetryMetrics,omitempty"` - - // Enabled: Whether to enable the Prometheus collector - Enabled *bool `json:"enabled,omitempty"` - - // KubeStateMetrics: Kube State Metrics for prometheus addon profile for the container service cluster - KubeStateMetrics *ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS `json:"kubeStateMetrics,omitempty"` + Enabled *bool `json:"enabled,omitempty"` + KubeStateMetrics *ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS `json:"kubeStateMetrics,omitempty"` } -// The cost analysis configuration for the cluster type ManagedClusterCostAnalysis_STATUS struct { - // Enabled: The Managed Cluster sku.tier must be set to 'Standard' to enable this feature. Enabling this will add - // Kubernetes Namespace and Deployment details to the Cost Analysis views in the Azure portal. If not specified, the - // default is false. For more information see aka.ms/aks/docs/cost-analysis. Enabled *bool `json:"enabled,omitempty"` } -// Web App Routing settings for the ingress profile. type ManagedClusterIngressProfileWebAppRouting_STATUS struct { - // DnsZoneResourceIds: Resource IDs of the DNS zones to be associated with the Web App Routing add-on. Used only when Web - // App Routing is enabled. Public and private DNS zones can be in different resource groups, but all public DNS zones must - // be in the same resource group and all private DNS zones must be in the same resource group. - DnsZoneResourceIds []string `json:"dnsZoneResourceIds"` - - // Enabled: Whether to enable Web App Routing. - Enabled *bool `json:"enabled,omitempty"` - - // Identity: Managed identity of the Web Application Routing add-on. This is the identity that should be granted - // permissions, for example, to manage the associated Azure DNS resource and get certificates from Azure Key Vault. See - // [this overview of the add-on](https://learn.microsoft.com/en-us/azure/aks/web-app-routing?tabs=with-osm) for more - // instructions. - Identity *UserAssignedIdentity_STATUS `json:"identity,omitempty"` + DnsZoneResourceIds []string `json:"dnsZoneResourceIds"` + Enabled *bool `json:"enabled,omitempty"` + Identity *UserAssignedIdentity_STATUS `json:"identity,omitempty"` } -// Profile of the managed cluster load balancer. type ManagedClusterLoadBalancerProfile_STATUS struct { - // AllocatedOutboundPorts: The desired number of allocated SNAT ports per VM. Allowed values are in the range of 0 to 64000 - // (inclusive). The default value is 0 which results in Azure dynamically allocating ports. - AllocatedOutboundPorts *int `json:"allocatedOutboundPorts,omitempty"` - - // BackendPoolType: The type of the managed inbound Load Balancer BackendPool. - BackendPoolType *ManagedClusterLoadBalancerProfile_BackendPoolType_STATUS `json:"backendPoolType,omitempty"` - - // EffectiveOutboundIPs: The effective outbound IP resources of the cluster load balancer. - EffectiveOutboundIPs []ResourceReference_STATUS `json:"effectiveOutboundIPs"` - - // EnableMultipleStandardLoadBalancers: Enable multiple standard load balancers per AKS cluster or not. - EnableMultipleStandardLoadBalancers *bool `json:"enableMultipleStandardLoadBalancers,omitempty"` - - // IdleTimeoutInMinutes: Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 - // (inclusive). The default value is 30 minutes. - IdleTimeoutInMinutes *int `json:"idleTimeoutInMinutes,omitempty"` - - // ManagedOutboundIPs: Desired managed outbound IPs for the cluster load balancer. - ManagedOutboundIPs *ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS `json:"managedOutboundIPs,omitempty"` - - // OutboundIPPrefixes: Desired outbound IP Prefix resources for the cluster load balancer. - OutboundIPPrefixes *ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS `json:"outboundIPPrefixes,omitempty"` - - // OutboundIPs: Desired outbound IP resources for the cluster load balancer. - OutboundIPs *ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS `json:"outboundIPs,omitempty"` + AllocatedOutboundPorts *int `json:"allocatedOutboundPorts,omitempty"` + BackendPoolType *ManagedClusterLoadBalancerProfile_BackendPoolType_STATUS `json:"backendPoolType,omitempty"` + EffectiveOutboundIPs []ResourceReference_STATUS `json:"effectiveOutboundIPs"` + EnableMultipleStandardLoadBalancers *bool `json:"enableMultipleStandardLoadBalancers,omitempty"` + IdleTimeoutInMinutes *int `json:"idleTimeoutInMinutes,omitempty"` + ManagedOutboundIPs *ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS `json:"managedOutboundIPs,omitempty"` + OutboundIPPrefixes *ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS `json:"outboundIPPrefixes,omitempty"` + OutboundIPs *ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS `json:"outboundIPs,omitempty"` } -// Profile of the managed cluster NAT gateway. type ManagedClusterNATGatewayProfile_STATUS struct { - // EffectiveOutboundIPs: The effective outbound IP resources of the cluster NAT gateway. - EffectiveOutboundIPs []ResourceReference_STATUS `json:"effectiveOutboundIPs"` - - // IdleTimeoutInMinutes: Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 - // (inclusive). The default value is 4 minutes. - IdleTimeoutInMinutes *int `json:"idleTimeoutInMinutes,omitempty"` - - // ManagedOutboundIPProfile: Profile of the managed outbound IP resources of the cluster NAT gateway. + EffectiveOutboundIPs []ResourceReference_STATUS `json:"effectiveOutboundIPs"` + IdleTimeoutInMinutes *int `json:"idleTimeoutInMinutes,omitempty"` ManagedOutboundIPProfile *ManagedClusterManagedOutboundIPProfile_STATUS `json:"managedOutboundIPProfile,omitempty"` } @@ -1346,101 +650,57 @@ var managedClusterNodeResourceGroupProfile_RestrictionLevel_STATUS_Values = map[ "unrestricted": ManagedClusterNodeResourceGroupProfile_RestrictionLevel_STATUS_Unrestricted, } -// Details about the pod identity assigned to the Managed Cluster. type ManagedClusterPodIdentity_STATUS struct { - // BindingSelector: The binding selector to use for the AzureIdentityBinding resource. - BindingSelector *string `json:"bindingSelector,omitempty"` - - // Identity: The user assigned identity details. - Identity *UserAssignedIdentity_STATUS `json:"identity,omitempty"` - - // Name: The name of the pod identity. - Name *string `json:"name,omitempty"` - - // Namespace: The namespace of the pod identity. - Namespace *string `json:"namespace,omitempty"` - ProvisioningInfo *ManagedClusterPodIdentity_ProvisioningInfo_STATUS `json:"provisioningInfo,omitempty"` - - // ProvisioningState: The current provisioning state of the pod identity. + BindingSelector *string `json:"bindingSelector,omitempty"` + Identity *UserAssignedIdentity_STATUS `json:"identity,omitempty"` + Name *string `json:"name,omitempty"` + Namespace *string `json:"namespace,omitempty"` + ProvisioningInfo *ManagedClusterPodIdentity_ProvisioningInfo_STATUS `json:"provisioningInfo,omitempty"` ProvisioningState *ManagedClusterPodIdentity_ProvisioningState_STATUS `json:"provisioningState,omitempty"` } -// See [disable AAD Pod Identity for a specific -// Pod/Application](https://azure.github.io/aad-pod-identity/docs/configure/application_exception/) for more details. type ManagedClusterPodIdentityException_STATUS struct { - // Name: The name of the pod identity exception. - Name *string `json:"name,omitempty"` - - // Namespace: The namespace of the pod identity exception. - Namespace *string `json:"namespace,omitempty"` - - // PodLabels: The pod labels to match. + Name *string `json:"name,omitempty"` + Namespace *string `json:"namespace,omitempty"` PodLabels map[string]string `json:"podLabels"` } -// Microsoft Defender settings for the security profile. type ManagedClusterSecurityProfileDefender_STATUS struct { - // LogAnalyticsWorkspaceResourceId: Resource ID of the Log Analytics workspace to be associated with Microsoft Defender. - // When Microsoft Defender is enabled, this field is required and must be a valid workspace resource ID. When Microsoft - // Defender is disabled, leave the field empty. - LogAnalyticsWorkspaceResourceId *string `json:"logAnalyticsWorkspaceResourceId,omitempty"` - - // SecurityMonitoring: Microsoft Defender threat detection for Cloud settings for the security profile. - SecurityMonitoring *ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS `json:"securityMonitoring,omitempty"` + LogAnalyticsWorkspaceResourceId *string `json:"logAnalyticsWorkspaceResourceId,omitempty"` + SecurityMonitoring *ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS `json:"securityMonitoring,omitempty"` } -// Image Cleaner removes unused images from nodes, freeing up disk space and helping to reduce attack surface area. Here -// are settings for the security profile. type ManagedClusterSecurityProfileImageCleaner_STATUS struct { - // Enabled: Whether to enable Image Cleaner on AKS cluster. - Enabled *bool `json:"enabled,omitempty"` - - // IntervalHours: Image Cleaner scanning interval in hours. - IntervalHours *int `json:"intervalHours,omitempty"` + Enabled *bool `json:"enabled,omitempty"` + IntervalHours *int `json:"intervalHours,omitempty"` } -// Image integrity related settings for the security profile. type ManagedClusterSecurityProfileImageIntegrity_STATUS struct { - // Enabled: Whether to enable image integrity. The default value is false. Enabled *bool `json:"enabled,omitempty"` } -// Node Restriction settings for the security profile. type ManagedClusterSecurityProfileNodeRestriction_STATUS struct { - // Enabled: Whether to enable Node Restriction Enabled *bool `json:"enabled,omitempty"` } -// Workload identity settings for the security profile. type ManagedClusterSecurityProfileWorkloadIdentity_STATUS struct { - // Enabled: Whether to enable workload identity. Enabled *bool `json:"enabled,omitempty"` } -// AzureBlob CSI Driver settings for the storage profile. type ManagedClusterStorageProfileBlobCSIDriver_STATUS struct { - // Enabled: Whether to enable AzureBlob CSI Driver. The default value is false. Enabled *bool `json:"enabled,omitempty"` } -// AzureDisk CSI Driver settings for the storage profile. type ManagedClusterStorageProfileDiskCSIDriver_STATUS struct { - // Enabled: Whether to enable AzureDisk CSI Driver. The default value is true. - Enabled *bool `json:"enabled,omitempty"` - - // Version: The version of AzureDisk CSI Driver. The default value is v1. + Enabled *bool `json:"enabled,omitempty"` Version *string `json:"version,omitempty"` } -// AzureFile CSI Driver settings for the storage profile. type ManagedClusterStorageProfileFileCSIDriver_STATUS struct { - // Enabled: Whether to enable AzureFile CSI Driver. The default value is true. Enabled *bool `json:"enabled,omitempty"` } -// Snapshot Controller settings for the storage profile. type ManagedClusterStorageProfileSnapshotController_STATUS struct { - // Enabled: Whether to enable Snapshot Controller. The default value is true. Enabled *bool `json:"enabled,omitempty"` } @@ -1457,21 +717,15 @@ var managedClusterWindowsProfile_LicenseType_STATUS_Values = map[string]ManagedC "windows_server": ManagedClusterWindowsProfile_LicenseType_STATUS_Windows_Server, } -// KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile. type ManagedClusterWorkloadAutoScalerProfileKeda_STATUS struct { - // Enabled: Whether to enable KEDA. Enabled *bool `json:"enabled,omitempty"` } type ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS struct { - // AddonAutoscaling: Whether VPA add-on is enabled and configured to scale AKS-managed add-ons. AddonAutoscaling *ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_AddonAutoscaling_STATUS `json:"addonAutoscaling,omitempty"` - - // Enabled: Whether to enable VPA add-on in cluster. Default value is false. - Enabled *bool `json:"enabled,omitempty"` + Enabled *bool `json:"enabled,omitempty"` } -// Network dataplane used in the Kubernetes cluster. type NetworkDataplane_STATUS string const ( @@ -1485,7 +739,6 @@ var networkDataplane_STATUS_Values = map[string]NetworkDataplane_STATUS{ "cilium": NetworkDataplane_STATUS_Cilium, } -// This cannot be specified if networkPlugin is anything other than 'azure'. type NetworkMode_STATUS string const ( @@ -1499,13 +752,10 @@ var networkMode_STATUS_Values = map[string]NetworkMode_STATUS{ "transparent": NetworkMode_STATUS_Transparent, } -// This addon can be used to configure network monitoring and generate network monitoring data in Prometheus format type NetworkMonitoring_STATUS struct { - // Enabled: Enable or disable the network monitoring plugin on the cluster Enabled *bool `json:"enabled,omitempty"` } -// Network plugin used for building the Kubernetes network. type NetworkPlugin_STATUS string const ( @@ -1521,7 +771,6 @@ var networkPlugin_STATUS_Values = map[string]NetworkPlugin_STATUS{ "none": NetworkPlugin_STATUS_None, } -// The mode the network plugin should use. type NetworkPluginMode_STATUS string const NetworkPluginMode_STATUS_Overlay = NetworkPluginMode_STATUS("overlay") @@ -1531,7 +780,6 @@ var networkPluginMode_STATUS_Values = map[string]NetworkPluginMode_STATUS{ "overlay": NetworkPluginMode_STATUS_Overlay, } -// Network policy used for building the Kubernetes network. type NetworkPolicy_STATUS string const ( @@ -1590,29 +838,14 @@ var serviceMeshProfile_Mode_STATUS_Values = map[string]ServiceMeshProfile_Mode_S "istio": ServiceMeshProfile_Mode_STATUS_Istio, } -// Settings for overrides when upgrading a cluster. type UpgradeOverrideSettings_STATUS struct { - // ForceUpgrade: Whether to force upgrade the cluster. Note that this option instructs upgrade operation to bypass upgrade - // protections such as checking for deprecated API usage. Enable this option only with caution. - ForceUpgrade *bool `json:"forceUpgrade,omitempty"` - - // Until: Until when the overrides are effective. Note that this only matches the start time of an upgrade, and the - // effectiveness won't change once an upgrade starts even if the `until` expires as upgrade proceeds. This field is not set - // by default. It must be set for the overrides to take effect. - Until *string `json:"until,omitempty"` + ForceUpgrade *bool `json:"forceUpgrade,omitempty"` + Until *string `json:"until,omitempty"` } -// Windows gMSA Profile in the managed cluster. type WindowsGmsaProfile_STATUS struct { - // DnsServer: Specifies the DNS server for Windows gMSA. - // Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster. - DnsServer *string `json:"dnsServer,omitempty"` - - // Enabled: Specifies whether to enable Windows gMSA in the managed cluster. - Enabled *bool `json:"enabled,omitempty"` - - // RootDomainName: Specifies the root domain name for Windows gMSA. - // Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster. + DnsServer *string `json:"dnsServer,omitempty"` + Enabled *bool `json:"enabled,omitempty"` RootDomainName *string `json:"rootDomainName,omitempty"` } @@ -1630,18 +863,10 @@ var azureKeyVaultKms_KeyVaultNetworkAccess_STATUS_Values = map[string]AzureKeyVa } type ContainerServiceNetworkProfile_KubeProxyConfig_IpvsConfig_STATUS struct { - // Scheduler: IPVS scheduler, for more information please see http://www.linuxvirtualserver.org/docs/scheduling.html. - Scheduler *ContainerServiceNetworkProfile_KubeProxyConfig_IpvsConfig_Scheduler_STATUS `json:"scheduler,omitempty"` - - // TcpFinTimeoutSeconds: The timeout value used for IPVS TCP sessions after receiving a FIN in seconds. Must be a positive - // integer value. - TcpFinTimeoutSeconds *int `json:"tcpFinTimeoutSeconds,omitempty"` - - // TcpTimeoutSeconds: The timeout value used for idle IPVS TCP sessions in seconds. Must be a positive integer value. - TcpTimeoutSeconds *int `json:"tcpTimeoutSeconds,omitempty"` - - // UdpTimeoutSeconds: The timeout value used for IPVS UDP packets in seconds. Must be a positive integer value. - UdpTimeoutSeconds *int `json:"udpTimeoutSeconds,omitempty"` + Scheduler *ContainerServiceNetworkProfile_KubeProxyConfig_IpvsConfig_Scheduler_STATUS `json:"scheduler,omitempty"` + TcpFinTimeoutSeconds *int `json:"tcpFinTimeoutSeconds,omitempty"` + TcpTimeoutSeconds *int `json:"tcpTimeoutSeconds,omitempty"` + UdpTimeoutSeconds *int `json:"udpTimeoutSeconds,omitempty"` } type ContainerServiceNetworkProfile_KubeProxyConfig_Mode_STATUS string @@ -1657,69 +882,36 @@ var containerServiceNetworkProfile_KubeProxyConfig_Mode_STATUS_Values = map[stri "ipvs": ContainerServiceNetworkProfile_KubeProxyConfig_Mode_STATUS_IPVS, } -// Contains information about SSH certificate public key data. type ContainerServiceSshPublicKey_STATUS struct { - // KeyData: Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or - // without headers. KeyData *string `json:"keyData,omitempty"` } -// Istio Service Mesh Certificate Authority (CA) configuration. For now, we only support plugin certificates as described -// here https://aka.ms/asm-plugin-ca type IstioCertificateAuthority_STATUS struct { - // Plugin: Plugin certificates information for Service Mesh. Plugin *IstioPluginCertificateAuthority_STATUS `json:"plugin,omitempty"` } -// Istio components configuration. type IstioComponents_STATUS struct { - // EgressGateways: Istio egress gateways. - EgressGateways []IstioEgressGateway_STATUS `json:"egressGateways"` - - // IngressGateways: Istio ingress gateways. + EgressGateways []IstioEgressGateway_STATUS `json:"egressGateways"` IngressGateways []IstioIngressGateway_STATUS `json:"ingressGateways"` } -// Application Monitoring Profile for Kubernetes Application Container. Collects application logs, metrics and traces -// through auto-instrumentation of the application using Azure Monitor OpenTelemetry based SDKs. See -// aka.ms/AzureMonitorApplicationMonitoring for an overview. type ManagedClusterAzureMonitorProfileAppMonitoring_STATUS struct { - // Enabled: Indicates if Application Monitoring enabled or not. Enabled *bool `json:"enabled,omitempty"` } -// Application Monitoring Open Telemetry Metrics Profile for Kubernetes Application Container Metrics. Collects -// OpenTelemetry metrics through auto-instrumentation of the application using Azure Monitor OpenTelemetry based SDKs. See -// aka.ms/AzureMonitorApplicationMonitoring for an overview. type ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetrics_STATUS struct { - // Enabled: Indicates if Application Monitoring Open Telemetry Metrics is enabled or not. Enabled *bool `json:"enabled,omitempty"` } -// Azure Monitor Container Insights Profile for Kubernetes Events, Inventory and Container stdout & stderr logs etc. See -// aka.ms/AzureMonitorContainerInsights for an overview. type ManagedClusterAzureMonitorProfileContainerInsights_STATUS struct { - // Enabled: Indicates if Azure Monitor Container Insights Logs Addon is enabled or not. - Enabled *bool `json:"enabled,omitempty"` - - // LogAnalyticsWorkspaceResourceId: Fully Qualified ARM Resource Id of Azure Log Analytics Workspace for storing Azure - // Monitor Container Insights Logs. - LogAnalyticsWorkspaceResourceId *string `json:"logAnalyticsWorkspaceResourceId,omitempty"` - - // WindowsHostLogs: Windows Host Logs Profile for Kubernetes Windows Nodes Log Collection. Collects ETW, Event Logs and - // Text logs etc. See aka.ms/AzureMonitorContainerInsights for an overview. - WindowsHostLogs *ManagedClusterAzureMonitorProfileWindowsHostLogs_STATUS `json:"windowsHostLogs,omitempty"` + Enabled *bool `json:"enabled,omitempty"` + LogAnalyticsWorkspaceResourceId *string `json:"logAnalyticsWorkspaceResourceId,omitempty"` + WindowsHostLogs *ManagedClusterAzureMonitorProfileWindowsHostLogs_STATUS `json:"windowsHostLogs,omitempty"` } -// Kube State Metrics for prometheus addon profile for the container service cluster type ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS struct { - // MetricAnnotationsAllowList: Comma-separated list of additional Kubernetes label keys that will be used in the resource's - // labels metric. MetricAnnotationsAllowList *string `json:"metricAnnotationsAllowList,omitempty"` - - // MetricLabelsAllowlist: Comma-separated list of Kubernetes annotations keys that will be used in the resource's labels - // metric. - MetricLabelsAllowlist *string `json:"metricLabelsAllowlist,omitempty"` + MetricLabelsAllowlist *string `json:"metricLabelsAllowlist,omitempty"` } type ManagedClusterLoadBalancerProfile_BackendPoolType_STATUS string @@ -1736,34 +928,23 @@ var managedClusterLoadBalancerProfile_BackendPoolType_STATUS_Values = map[string } type ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS struct { - // Count: The desired number of IPv4 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values - // must be in the range of 1 to 100 (inclusive). The default value is 1. - Count *int `json:"count,omitempty"` - - // CountIPv6: The desired number of IPv6 outbound IPs created/managed by Azure for the cluster load balancer. Allowed - // values must be in the range of 1 to 100 (inclusive). The default value is 0 for single-stack and 1 for dual-stack. + Count *int `json:"count,omitempty"` CountIPv6 *int `json:"countIPv6,omitempty"` } type ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS struct { - // PublicIPPrefixes: A list of public IP prefix resources. PublicIPPrefixes []ResourceReference_STATUS `json:"publicIPPrefixes"` } type ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS struct { - // PublicIPs: A list of public IP resources. PublicIPs []ResourceReference_STATUS `json:"publicIPs"` } -// Profile of the managed outbound IP resources of the managed cluster. type ManagedClusterManagedOutboundIPProfile_STATUS struct { - // Count: The desired number of outbound IPs created/managed by Azure. Allowed values must be in the range of 1 to 16 - // (inclusive). The default value is 1. Count *int `json:"count,omitempty"` } type ManagedClusterPodIdentity_ProvisioningInfo_STATUS struct { - // Error: Pod identity assignment error (if any). Error *ManagedClusterPodIdentityProvisioningError_STATUS `json:"error,omitempty"` } @@ -1788,9 +969,7 @@ var managedClusterPodIdentity_ProvisioningState_STATUS_Values = map[string]Manag "updating": ManagedClusterPodIdentity_ProvisioningState_STATUS_Updating, } -// Microsoft Defender settings for the security profile threat detection. type ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS struct { - // Enabled: Whether to enable Defender threat detection Enabled *bool `json:"enabled,omitempty"` } @@ -1807,9 +986,7 @@ var managedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_AddonAutoscalin "enabled": ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_AddonAutoscaling_STATUS_Enabled, } -// A reference to an Azure resource. type ResourceReference_STATUS struct { - // Id: The fully qualified Azure resource id. Id *string `json:"id,omitempty"` } @@ -1826,53 +1003,29 @@ var containerServiceNetworkProfile_KubeProxyConfig_IpvsConfig_Scheduler_STATUS_V "roundrobin": ContainerServiceNetworkProfile_KubeProxyConfig_IpvsConfig_Scheduler_STATUS_RoundRobin, } -// Istio egress gateway configuration. type IstioEgressGateway_STATUS struct { - // Enabled: Whether to enable the egress gateway. - Enabled *bool `json:"enabled,omitempty"` - - // NodeSelector: NodeSelector for scheduling the egress gateway. + Enabled *bool `json:"enabled,omitempty"` NodeSelector map[string]string `json:"nodeSelector"` } -// Istio ingress gateway configuration. For now, we support up to one external ingress gateway named -// `aks-istio-ingressgateway-external` and one internal ingress gateway named `aks-istio-ingressgateway-internal`. type IstioIngressGateway_STATUS struct { - // Enabled: Whether to enable the ingress gateway. - Enabled *bool `json:"enabled,omitempty"` - - // Mode: Mode of an ingress gateway. - Mode *IstioIngressGateway_Mode_STATUS `json:"mode,omitempty"` + Enabled *bool `json:"enabled,omitempty"` + Mode *IstioIngressGateway_Mode_STATUS `json:"mode,omitempty"` } -// Plugin certificates information for Service Mesh. type IstioPluginCertificateAuthority_STATUS struct { - // CertChainObjectName: Certificate chain object name in Azure Key Vault. CertChainObjectName *string `json:"certChainObjectName,omitempty"` - - // CertObjectName: Intermediate certificate object name in Azure Key Vault. - CertObjectName *string `json:"certObjectName,omitempty"` - - // KeyObjectName: Intermediate certificate private key object name in Azure Key Vault. - KeyObjectName *string `json:"keyObjectName,omitempty"` - - // KeyVaultId: The resource ID of the Key Vault. - KeyVaultId *string `json:"keyVaultId,omitempty"` - - // RootCertObjectName: Root certificate object name in Azure Key Vault. - RootCertObjectName *string `json:"rootCertObjectName,omitempty"` + CertObjectName *string `json:"certObjectName,omitempty"` + KeyObjectName *string `json:"keyObjectName,omitempty"` + KeyVaultId *string `json:"keyVaultId,omitempty"` + RootCertObjectName *string `json:"rootCertObjectName,omitempty"` } -// Windows Host Logs Profile for Kubernetes Windows Nodes Log Collection. Collects ETW, Event Logs and Text logs etc. See -// aka.ms/AzureMonitorContainerInsights for an overview. type ManagedClusterAzureMonitorProfileWindowsHostLogs_STATUS struct { - // Enabled: Indicates if Windows Host Log Collection is enabled or not for Azure Monitor Container Insights Logs Addon. Enabled *bool `json:"enabled,omitempty"` } -// An error response from the pod identity provisioning. type ManagedClusterPodIdentityProvisioningError_STATUS struct { - // Error: Details about the error. Error *ManagedClusterPodIdentityProvisioningErrorBody_STATUS `json:"error,omitempty"` } @@ -1889,28 +1042,15 @@ var istioIngressGateway_Mode_STATUS_Values = map[string]IstioIngressGateway_Mode "internal": IstioIngressGateway_Mode_STATUS_Internal, } -// An error response from the pod identity provisioning. type ManagedClusterPodIdentityProvisioningErrorBody_STATUS struct { - // Code: An identifier for the error. Codes are invariant and are intended to be consumed programmatically. - Code *string `json:"code,omitempty"` - - // Details: A list of additional details about the error. + Code *string `json:"code,omitempty"` Details []ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled `json:"details"` - - // Message: A message describing the error, intended to be suitable for display in a user interface. - Message *string `json:"message,omitempty"` - - // Target: The target of the particular error. For example, the name of the property in error. - Target *string `json:"target,omitempty"` + Message *string `json:"message,omitempty"` + Target *string `json:"target,omitempty"` } type ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled struct { - // Code: An identifier for the error. Codes are invariant and are intended to be consumed programmatically. - Code *string `json:"code,omitempty"` - - // Message: A message describing the error, intended to be suitable for display in a user interface. + Code *string `json:"code,omitempty"` Message *string `json:"message,omitempty"` - - // Target: The target of the particular error. For example, the name of the property in error. - Target *string `json:"target,omitempty"` + Target *string `json:"target,omitempty"` } diff --git a/v2/api/containerservice/v1api20231102preview/arm/managed_clusters_agent_pool_spec_types_gen.go b/v2/api/containerservice/v1api20231102preview/arm/managed_clusters_agent_pool_spec_types_gen.go index 5ccf8c2997b..2379058b470 100644 --- a/v2/api/containerservice/v1api20231102preview/arm/managed_clusters_agent_pool_spec_types_gen.go +++ b/v2/api/containerservice/v1api20231102preview/arm/managed_clusters_agent_pool_spec_types_gen.go @@ -201,21 +201,13 @@ type ManagedClusterAgentPoolProfileProperties struct { } type AgentPoolArtifactStreamingProfile struct { - // Enabled: Artifact streaming speeds up the cold-start of containers on a node through on-demand image loading. To use - // this feature, container images must also enable artifact streaming on ACR. If not specified, the default is false. Enabled *bool `json:"enabled,omitempty"` } type AgentPoolGPUProfile struct { - // InstallGPUDriver: The default value is true when the vmSize of the agent pool contains a GPU, false otherwise. GPU - // Driver Installation can only be set true when VM has an associated GPU resource. Setting this field to false prevents - // automatic GPU driver installation. In that case, in order for the GPU to be usable, the user must perform GPU driver - // installation themselves. InstallGPUDriver *bool `json:"installGPUDriver,omitempty"` } -// A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool restrictions -// and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools // +kubebuilder:validation:Enum={"System","User"} type AgentPoolMode string @@ -230,31 +222,18 @@ var agentPoolMode_Values = map[string]AgentPoolMode{ "user": AgentPoolMode_User, } -// Network settings of an agent pool. type AgentPoolNetworkProfile struct { - // AllowedHostPorts: The port ranges that are allowed to access. The specified ranges are allowed to overlap. AllowedHostPorts []PortRange `json:"allowedHostPorts"` ApplicationSecurityGroups []string `json:"applicationSecurityGroups,omitempty"` - - // NodePublicIPTags: IPTags of instance-level public IPs. - NodePublicIPTags []IPTag `json:"nodePublicIPTags"` + NodePublicIPTags []IPTag `json:"nodePublicIPTags"` } -// The security settings of an agent pool. type AgentPoolSecurityProfile struct { - // EnableSecureBoot: Secure Boot is a feature of Trusted Launch which ensures that only signed operating systems and - // drivers can boot. For more details, see aka.ms/aks/trustedlaunch. If not specified, the default is false. - EnableSecureBoot *bool `json:"enableSecureBoot,omitempty"` - - // EnableVTPM: vTPM is a Trusted Launch feature for configuring a dedicated secure vault for keys and measurements held - // locally on the node. For more details, see aka.ms/aks/trustedlaunch. If not specified, the default is false. - EnableVTPM *bool `json:"enableVTPM,omitempty"` - - // SshAccess: SSH access method of an agent pool. - SshAccess *AgentPoolSSHAccess `json:"sshAccess,omitempty"` + EnableSecureBoot *bool `json:"enableSecureBoot,omitempty"` + EnableVTPM *bool `json:"enableVTPM,omitempty"` + SshAccess *AgentPoolSSHAccess `json:"sshAccess,omitempty"` } -// The type of Agent Pool. // +kubebuilder:validation:Enum={"AvailabilitySet","VirtualMachineScaleSets","VirtualMachines"} type AgentPoolType string @@ -271,32 +250,16 @@ var agentPoolType_Values = map[string]AgentPoolType{ "virtualmachines": AgentPoolType_VirtualMachines, } -// Settings for upgrading an agentpool type AgentPoolUpgradeSettings struct { - // DrainTimeoutInMinutes: The amount of time (in minutes) to wait on eviction of pods and graceful termination per node. - // This eviction wait time honors waiting on pod disruption budgets. If this time is exceeded, the upgrade fails. If not - // specified, the default is 30 minutes. - DrainTimeoutInMinutes *int `json:"drainTimeoutInMinutes,omitempty"` - - // MaxSurge: This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it - // is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded - // up. If not specified, the default is 1. For more information, including best practices, see: - // https://docs.microsoft.com/azure/aks/upgrade-cluster#customize-node-surge-upgrade - MaxSurge *string `json:"maxSurge,omitempty"` - - // NodeSoakDurationInMinutes: The amount of time (in minutes) to wait after draining a node and before reimaging it and - // moving on to next node. If not specified, the default is 0 minutes. - NodeSoakDurationInMinutes *int `json:"nodeSoakDurationInMinutes,omitempty"` + DrainTimeoutInMinutes *int `json:"drainTimeoutInMinutes,omitempty"` + MaxSurge *string `json:"maxSurge,omitempty"` + NodeSoakDurationInMinutes *int `json:"nodeSoakDurationInMinutes,omitempty"` } -// The Windows agent pool's specific profile. type AgentPoolWindowsProfile struct { - // DisableOutboundNat: The default value is false. Outbound NAT can only be disabled if the cluster outboundType is NAT - // Gateway and the Windows agent pool does not have node public IP enabled. DisableOutboundNat *bool `json:"disableOutboundNat,omitempty"` } -// GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU. // +kubebuilder:validation:Enum={"MIG1g","MIG2g","MIG3g","MIG4g","MIG7g"} type GPUInstanceProfile string @@ -317,49 +280,20 @@ var gPUInstanceProfile_Values = map[string]GPUInstanceProfile{ "mig7g": GPUInstanceProfile_MIG7G, } -// See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. type KubeletConfig struct { - // AllowedUnsafeSysctls: Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in `*`). - AllowedUnsafeSysctls []string `json:"allowedUnsafeSysctls"` - - // ContainerLogMaxFiles: The maximum number of container log files that can be present for a container. The number must be - // ≥ 2. - ContainerLogMaxFiles *int `json:"containerLogMaxFiles,omitempty"` - - // ContainerLogMaxSizeMB: The maximum size (e.g. 10Mi) of container log file before it is rotated. - ContainerLogMaxSizeMB *int `json:"containerLogMaxSizeMB,omitempty"` - - // CpuCfsQuota: The default is true. - CpuCfsQuota *bool `json:"cpuCfsQuota,omitempty"` - - // CpuCfsQuotaPeriod: The default is '100ms.' Valid values are a sequence of decimal numbers with an optional fraction and - // a unit suffix. For example: '300ms', '2h45m'. Supported units are 'ns', 'us', 'ms', 's', 'm', and 'h'. - CpuCfsQuotaPeriod *string `json:"cpuCfsQuotaPeriod,omitempty"` - - // CpuManagerPolicy: The default is 'none'. See [Kubernetes CPU management - // policies](https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/#cpu-management-policies) for more - // information. Allowed values are 'none' and 'static'. - CpuManagerPolicy *string `json:"cpuManagerPolicy,omitempty"` - - // FailSwapOn: If set to true it will make the Kubelet fail to start if swap is enabled on the node. - FailSwapOn *bool `json:"failSwapOn,omitempty"` - - // ImageGcHighThreshold: To disable image garbage collection, set to 100. The default is 85% - ImageGcHighThreshold *int `json:"imageGcHighThreshold,omitempty"` - - // ImageGcLowThreshold: This cannot be set higher than imageGcHighThreshold. The default is 80% - ImageGcLowThreshold *int `json:"imageGcLowThreshold,omitempty"` - - // PodMaxPids: The maximum number of processes per pod. - PodMaxPids *int `json:"podMaxPids,omitempty"` - - // TopologyManagerPolicy: For more information see [Kubernetes Topology - // Manager](https://kubernetes.io/docs/tasks/administer-cluster/topology-manager). The default is 'none'. Allowed values - // are 'none', 'best-effort', 'restricted', and 'single-numa-node'. - TopologyManagerPolicy *string `json:"topologyManagerPolicy,omitempty"` + AllowedUnsafeSysctls []string `json:"allowedUnsafeSysctls"` + ContainerLogMaxFiles *int `json:"containerLogMaxFiles,omitempty"` + ContainerLogMaxSizeMB *int `json:"containerLogMaxSizeMB,omitempty"` + CpuCfsQuota *bool `json:"cpuCfsQuota,omitempty"` + CpuCfsQuotaPeriod *string `json:"cpuCfsQuotaPeriod,omitempty"` + CpuManagerPolicy *string `json:"cpuManagerPolicy,omitempty"` + FailSwapOn *bool `json:"failSwapOn,omitempty"` + ImageGcHighThreshold *int `json:"imageGcHighThreshold,omitempty"` + ImageGcLowThreshold *int `json:"imageGcLowThreshold,omitempty"` + PodMaxPids *int `json:"podMaxPids,omitempty"` + TopologyManagerPolicy *string `json:"topologyManagerPolicy,omitempty"` } -// Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage. // +kubebuilder:validation:Enum={"OS","Temporary"} type KubeletDiskType string @@ -374,28 +308,13 @@ var kubeletDiskType_Values = map[string]KubeletDiskType{ "temporary": KubeletDiskType_Temporary, } -// See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. type LinuxOSConfig struct { - // SwapFileSizeMB: The size in MB of a swap file that will be created on each node. - SwapFileSizeMB *int `json:"swapFileSizeMB,omitempty"` - - // Sysctls: Sysctl settings for Linux agent nodes. - Sysctls *SysctlConfig `json:"sysctls,omitempty"` - - // TransparentHugePageDefrag: Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is - // 'madvise'. For more information see [Transparent - // Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). - TransparentHugePageDefrag *string `json:"transparentHugePageDefrag,omitempty"` - - // TransparentHugePageEnabled: Valid values are 'always', 'madvise', and 'never'. The default is 'always'. For more - // information see [Transparent - // Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). - TransparentHugePageEnabled *string `json:"transparentHugePageEnabled,omitempty"` + SwapFileSizeMB *int `json:"swapFileSizeMB,omitempty"` + Sysctls *SysctlConfig `json:"sysctls,omitempty"` + TransparentHugePageDefrag *string `json:"transparentHugePageDefrag,omitempty"` + TransparentHugePageEnabled *string `json:"transparentHugePageEnabled,omitempty"` } -// The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, -// defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral -// OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). // +kubebuilder:validation:Enum={"Ephemeral","Managed"} type OSDiskType string @@ -410,8 +329,6 @@ var oSDiskType_Values = map[string]OSDiskType{ "managed": OSDiskType_Managed, } -// Specifies the OS SKU used by the agent pool. If not specified, the default is Ubuntu if OSType=Linux or Windows2019 if -// OSType=Windows. And the default Windows OSSKU will be changed to Windows2022 after Windows2019 is deprecated. // +kubebuilder:validation:Enum={"AzureLinux","CBLMariner","Mariner","Ubuntu","Windows2019","Windows2022","WindowsAnnual"} type OSSKU string @@ -436,7 +353,6 @@ var oSSKU_Values = map[string]OSSKU{ "windowsannual": OSSKU_WindowsAnnual, } -// The operating system type. The default is Linux. // +kubebuilder:validation:Enum={"Linux","Windows"} type OSType string @@ -451,14 +367,10 @@ var oSType_Values = map[string]OSType{ "windows": OSType_Windows, } -// Describes the Power State of the cluster type PowerState struct { - // Code: Tells whether the cluster is Running or Stopped Code *PowerState_Code `json:"code,omitempty"` } -// Describes how VMs are added to or removed from Agent Pools. See [billing -// states](https://docs.microsoft.com/azure/virtual-machines/states-billing). // +kubebuilder:validation:Enum={"Deallocate","Delete"} type ScaleDownMode string @@ -473,8 +385,6 @@ var scaleDownMode_Values = map[string]ScaleDownMode{ "delete": ScaleDownMode_Delete, } -// The eviction policy specifies what to do with the VM when it is evicted. The default is Delete. For more information -// about eviction see [spot VMs](https://docs.microsoft.com/azure/virtual-machines/spot-vms) // +kubebuilder:validation:Enum={"Deallocate","Delete"} type ScaleSetEvictionPolicy string @@ -489,7 +399,6 @@ var scaleSetEvictionPolicy_Values = map[string]ScaleSetEvictionPolicy{ "delete": ScaleSetEvictionPolicy_Delete, } -// The Virtual Machine Scale Set priority. // +kubebuilder:validation:Enum={"Regular","Spot"} type ScaleSetPriority string @@ -504,22 +413,15 @@ var scaleSetPriority_Values = map[string]ScaleSetPriority{ "spot": ScaleSetPriority_Spot, } -// Current status on a group of nodes of the same vm size. type VirtualMachineNodes struct { - // Count: Number of nodes. - Count *int `json:"count,omitempty"` - - // Size: The VM size of the agents used to host this group of nodes. - Size *string `json:"size,omitempty"` + Count *int `json:"count,omitempty"` + Size *string `json:"size,omitempty"` } -// Specifications on VirtualMachines agent pool. type VirtualMachinesProfile struct { - // Scale: Specifications on how to scale a VirtualMachines agent pool. Scale *ScaleProfile `json:"scale,omitempty"` } -// Determines the type of workload a node can run. // +kubebuilder:validation:Enum={"KataMshvVmIsolation","OCIContainer","WasmWasi"} type WorkloadRuntime string @@ -536,7 +438,6 @@ var workloadRuntime_Values = map[string]WorkloadRuntime{ "wasmwasi": WorkloadRuntime_WasmWasi, } -// SSH access method of an agent pool. // +kubebuilder:validation:Enum={"Disabled","LocalUser"} type AgentPoolSSHAccess string @@ -551,27 +452,15 @@ var agentPoolSSHAccess_Values = map[string]AgentPoolSSHAccess{ "localuser": AgentPoolSSHAccess_LocalUser, } -// Contains the IPTag associated with the object. type IPTag struct { - // IpTagType: The IP tag type. Example: RoutingPreference. IpTagType *string `json:"ipTagType,omitempty"` - - // Tag: The value of the IP tag associated with the public IP. Example: Internet. - Tag *string `json:"tag,omitempty"` + Tag *string `json:"tag,omitempty"` } -// The port range. type PortRange struct { - // PortEnd: The maximum port that is included in the range. It should be ranged from 1 to 65535, and be greater than or - // equal to portStart. - PortEnd *int `json:"portEnd,omitempty"` - - // PortStart: The minimum port that is included in the range. It should be ranged from 1 to 65535, and be less than or - // equal to portEnd. - PortStart *int `json:"portStart,omitempty"` - - // Protocol: The network protocol of the port. - Protocol *PortRange_Protocol `json:"protocol,omitempty"` + PortEnd *int `json:"portEnd,omitempty"` + PortStart *int `json:"portStart,omitempty"` + Protocol *PortRange_Protocol `json:"protocol,omitempty"` } // +kubebuilder:validation:Enum={"Running","Stopped"} @@ -588,106 +477,43 @@ var powerState_Code_Values = map[string]PowerState_Code{ "stopped": PowerState_Code_Stopped, } -// Specifications on how to scale a VirtualMachines agent pool. type ScaleProfile struct { - // Manual: Specifications on how to scale the VirtualMachines agent pool to a fixed size. Manual []ManualScaleProfile `json:"manual"` } -// Sysctl settings for Linux agent nodes. type SysctlConfig struct { - // FsAioMaxNr: Sysctl setting fs.aio-max-nr. - FsAioMaxNr *int `json:"fsAioMaxNr,omitempty"` - - // FsFileMax: Sysctl setting fs.file-max. - FsFileMax *int `json:"fsFileMax,omitempty"` - - // FsInotifyMaxUserWatches: Sysctl setting fs.inotify.max_user_watches. - FsInotifyMaxUserWatches *int `json:"fsInotifyMaxUserWatches,omitempty"` - - // FsNrOpen: Sysctl setting fs.nr_open. - FsNrOpen *int `json:"fsNrOpen,omitempty"` - - // KernelThreadsMax: Sysctl setting kernel.threads-max. - KernelThreadsMax *int `json:"kernelThreadsMax,omitempty"` - - // NetCoreNetdevMaxBacklog: Sysctl setting net.core.netdev_max_backlog. - NetCoreNetdevMaxBacklog *int `json:"netCoreNetdevMaxBacklog,omitempty"` - - // NetCoreOptmemMax: Sysctl setting net.core.optmem_max. - NetCoreOptmemMax *int `json:"netCoreOptmemMax,omitempty"` - - // NetCoreRmemDefault: Sysctl setting net.core.rmem_default. - NetCoreRmemDefault *int `json:"netCoreRmemDefault,omitempty"` - - // NetCoreRmemMax: Sysctl setting net.core.rmem_max. - NetCoreRmemMax *int `json:"netCoreRmemMax,omitempty"` - - // NetCoreSomaxconn: Sysctl setting net.core.somaxconn. - NetCoreSomaxconn *int `json:"netCoreSomaxconn,omitempty"` - - // NetCoreWmemDefault: Sysctl setting net.core.wmem_default. - NetCoreWmemDefault *int `json:"netCoreWmemDefault,omitempty"` - - // NetCoreWmemMax: Sysctl setting net.core.wmem_max. - NetCoreWmemMax *int `json:"netCoreWmemMax,omitempty"` - - // NetIpv4IpLocalPortRange: Sysctl setting net.ipv4.ip_local_port_range. - NetIpv4IpLocalPortRange *string `json:"netIpv4IpLocalPortRange,omitempty"` - - // NetIpv4NeighDefaultGcThresh1: Sysctl setting net.ipv4.neigh.default.gc_thresh1. - NetIpv4NeighDefaultGcThresh1 *int `json:"netIpv4NeighDefaultGcThresh1,omitempty"` - - // NetIpv4NeighDefaultGcThresh2: Sysctl setting net.ipv4.neigh.default.gc_thresh2. - NetIpv4NeighDefaultGcThresh2 *int `json:"netIpv4NeighDefaultGcThresh2,omitempty"` - - // NetIpv4NeighDefaultGcThresh3: Sysctl setting net.ipv4.neigh.default.gc_thresh3. - NetIpv4NeighDefaultGcThresh3 *int `json:"netIpv4NeighDefaultGcThresh3,omitempty"` - - // NetIpv4TcpFinTimeout: Sysctl setting net.ipv4.tcp_fin_timeout. - NetIpv4TcpFinTimeout *int `json:"netIpv4TcpFinTimeout,omitempty"` - - // NetIpv4TcpKeepaliveProbes: Sysctl setting net.ipv4.tcp_keepalive_probes. - NetIpv4TcpKeepaliveProbes *int `json:"netIpv4TcpKeepaliveProbes,omitempty"` - - // NetIpv4TcpKeepaliveTime: Sysctl setting net.ipv4.tcp_keepalive_time. - NetIpv4TcpKeepaliveTime *int `json:"netIpv4TcpKeepaliveTime,omitempty"` - - // NetIpv4TcpMaxSynBacklog: Sysctl setting net.ipv4.tcp_max_syn_backlog. - NetIpv4TcpMaxSynBacklog *int `json:"netIpv4TcpMaxSynBacklog,omitempty"` - - // NetIpv4TcpMaxTwBuckets: Sysctl setting net.ipv4.tcp_max_tw_buckets. - NetIpv4TcpMaxTwBuckets *int `json:"netIpv4TcpMaxTwBuckets,omitempty"` - - // NetIpv4TcpTwReuse: Sysctl setting net.ipv4.tcp_tw_reuse. - NetIpv4TcpTwReuse *bool `json:"netIpv4TcpTwReuse,omitempty"` - - // NetIpv4TcpkeepaliveIntvl: Sysctl setting net.ipv4.tcp_keepalive_intvl. - NetIpv4TcpkeepaliveIntvl *int `json:"netIpv4TcpkeepaliveIntvl,omitempty"` - - // NetNetfilterNfConntrackBuckets: Sysctl setting net.netfilter.nf_conntrack_buckets. - NetNetfilterNfConntrackBuckets *int `json:"netNetfilterNfConntrackBuckets,omitempty"` - - // NetNetfilterNfConntrackMax: Sysctl setting net.netfilter.nf_conntrack_max. - NetNetfilterNfConntrackMax *int `json:"netNetfilterNfConntrackMax,omitempty"` - - // VmMaxMapCount: Sysctl setting vm.max_map_count. - VmMaxMapCount *int `json:"vmMaxMapCount,omitempty"` - - // VmSwappiness: Sysctl setting vm.swappiness. - VmSwappiness *int `json:"vmSwappiness,omitempty"` - - // VmVfsCachePressure: Sysctl setting vm.vfs_cache_pressure. - VmVfsCachePressure *int `json:"vmVfsCachePressure,omitempty"` + FsAioMaxNr *int `json:"fsAioMaxNr,omitempty"` + FsFileMax *int `json:"fsFileMax,omitempty"` + FsInotifyMaxUserWatches *int `json:"fsInotifyMaxUserWatches,omitempty"` + FsNrOpen *int `json:"fsNrOpen,omitempty"` + KernelThreadsMax *int `json:"kernelThreadsMax,omitempty"` + NetCoreNetdevMaxBacklog *int `json:"netCoreNetdevMaxBacklog,omitempty"` + NetCoreOptmemMax *int `json:"netCoreOptmemMax,omitempty"` + NetCoreRmemDefault *int `json:"netCoreRmemDefault,omitempty"` + NetCoreRmemMax *int `json:"netCoreRmemMax,omitempty"` + NetCoreSomaxconn *int `json:"netCoreSomaxconn,omitempty"` + NetCoreWmemDefault *int `json:"netCoreWmemDefault,omitempty"` + NetCoreWmemMax *int `json:"netCoreWmemMax,omitempty"` + NetIpv4IpLocalPortRange *string `json:"netIpv4IpLocalPortRange,omitempty"` + NetIpv4NeighDefaultGcThresh1 *int `json:"netIpv4NeighDefaultGcThresh1,omitempty"` + NetIpv4NeighDefaultGcThresh2 *int `json:"netIpv4NeighDefaultGcThresh2,omitempty"` + NetIpv4NeighDefaultGcThresh3 *int `json:"netIpv4NeighDefaultGcThresh3,omitempty"` + NetIpv4TcpFinTimeout *int `json:"netIpv4TcpFinTimeout,omitempty"` + NetIpv4TcpKeepaliveProbes *int `json:"netIpv4TcpKeepaliveProbes,omitempty"` + NetIpv4TcpKeepaliveTime *int `json:"netIpv4TcpKeepaliveTime,omitempty"` + NetIpv4TcpMaxSynBacklog *int `json:"netIpv4TcpMaxSynBacklog,omitempty"` + NetIpv4TcpMaxTwBuckets *int `json:"netIpv4TcpMaxTwBuckets,omitempty"` + NetIpv4TcpTwReuse *bool `json:"netIpv4TcpTwReuse,omitempty"` + NetIpv4TcpkeepaliveIntvl *int `json:"netIpv4TcpkeepaliveIntvl,omitempty"` + NetNetfilterNfConntrackBuckets *int `json:"netNetfilterNfConntrackBuckets,omitempty"` + NetNetfilterNfConntrackMax *int `json:"netNetfilterNfConntrackMax,omitempty"` + VmMaxMapCount *int `json:"vmMaxMapCount,omitempty"` + VmSwappiness *int `json:"vmSwappiness,omitempty"` + VmVfsCachePressure *int `json:"vmVfsCachePressure,omitempty"` } -// Specifications on number of machines. type ManualScaleProfile struct { - // Count: Number of nodes. - Count *int `json:"count,omitempty"` - - // Sizes: The list of allowed vm sizes. AKS will use the first available one when scaling. If a VM size is unavailable - // (e.g. due to quota or regional capacity reasons), AKS will use the next size. + Count *int `json:"count,omitempty"` Sizes []string `json:"sizes"` } diff --git a/v2/api/containerservice/v1api20231102preview/arm/managed_clusters_agent_pool_status_types_gen.go b/v2/api/containerservice/v1api20231102preview/arm/managed_clusters_agent_pool_status_types_gen.go index 38dc0771236..4d14acf17cb 100644 --- a/v2/api/containerservice/v1api20231102preview/arm/managed_clusters_agent_pool_status_types_gen.go +++ b/v2/api/containerservice/v1api20231102preview/arm/managed_clusters_agent_pool_status_types_gen.go @@ -219,21 +219,13 @@ type ManagedClusterAgentPoolProfileProperties_STATUS struct { } type AgentPoolArtifactStreamingProfile_STATUS struct { - // Enabled: Artifact streaming speeds up the cold-start of containers on a node through on-demand image loading. To use - // this feature, container images must also enable artifact streaming on ACR. If not specified, the default is false. Enabled *bool `json:"enabled,omitempty"` } type AgentPoolGPUProfile_STATUS struct { - // InstallGPUDriver: The default value is true when the vmSize of the agent pool contains a GPU, false otherwise. GPU - // Driver Installation can only be set true when VM has an associated GPU resource. Setting this field to false prevents - // automatic GPU driver installation. In that case, in order for the GPU to be usable, the user must perform GPU driver - // installation themselves. InstallGPUDriver *bool `json:"installGPUDriver,omitempty"` } -// A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool restrictions -// and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools type AgentPoolMode_STATUS string const ( @@ -247,33 +239,18 @@ var agentPoolMode_STATUS_Values = map[string]AgentPoolMode_STATUS{ "user": AgentPoolMode_STATUS_User, } -// Network settings of an agent pool. type AgentPoolNetworkProfile_STATUS struct { - // AllowedHostPorts: The port ranges that are allowed to access. The specified ranges are allowed to overlap. - AllowedHostPorts []PortRange_STATUS `json:"allowedHostPorts"` - - // ApplicationSecurityGroups: The IDs of the application security groups which agent pool will associate when created. - ApplicationSecurityGroups []string `json:"applicationSecurityGroups"` - - // NodePublicIPTags: IPTags of instance-level public IPs. - NodePublicIPTags []IPTag_STATUS `json:"nodePublicIPTags"` + AllowedHostPorts []PortRange_STATUS `json:"allowedHostPorts"` + ApplicationSecurityGroups []string `json:"applicationSecurityGroups"` + NodePublicIPTags []IPTag_STATUS `json:"nodePublicIPTags"` } -// The security settings of an agent pool. type AgentPoolSecurityProfile_STATUS struct { - // EnableSecureBoot: Secure Boot is a feature of Trusted Launch which ensures that only signed operating systems and - // drivers can boot. For more details, see aka.ms/aks/trustedlaunch. If not specified, the default is false. - EnableSecureBoot *bool `json:"enableSecureBoot,omitempty"` - - // EnableVTPM: vTPM is a Trusted Launch feature for configuring a dedicated secure vault for keys and measurements held - // locally on the node. For more details, see aka.ms/aks/trustedlaunch. If not specified, the default is false. - EnableVTPM *bool `json:"enableVTPM,omitempty"` - - // SshAccess: SSH access method of an agent pool. - SshAccess *AgentPoolSSHAccess_STATUS `json:"sshAccess,omitempty"` + EnableSecureBoot *bool `json:"enableSecureBoot,omitempty"` + EnableVTPM *bool `json:"enableVTPM,omitempty"` + SshAccess *AgentPoolSSHAccess_STATUS `json:"sshAccess,omitempty"` } -// The type of Agent Pool. type AgentPoolType_STATUS string const ( @@ -289,32 +266,16 @@ var agentPoolType_STATUS_Values = map[string]AgentPoolType_STATUS{ "virtualmachines": AgentPoolType_STATUS_VirtualMachines, } -// Settings for upgrading an agentpool type AgentPoolUpgradeSettings_STATUS struct { - // DrainTimeoutInMinutes: The amount of time (in minutes) to wait on eviction of pods and graceful termination per node. - // This eviction wait time honors waiting on pod disruption budgets. If this time is exceeded, the upgrade fails. If not - // specified, the default is 30 minutes. - DrainTimeoutInMinutes *int `json:"drainTimeoutInMinutes,omitempty"` - - // MaxSurge: This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it - // is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded - // up. If not specified, the default is 1. For more information, including best practices, see: - // https://docs.microsoft.com/azure/aks/upgrade-cluster#customize-node-surge-upgrade - MaxSurge *string `json:"maxSurge,omitempty"` - - // NodeSoakDurationInMinutes: The amount of time (in minutes) to wait after draining a node and before reimaging it and - // moving on to next node. If not specified, the default is 0 minutes. - NodeSoakDurationInMinutes *int `json:"nodeSoakDurationInMinutes,omitempty"` + DrainTimeoutInMinutes *int `json:"drainTimeoutInMinutes,omitempty"` + MaxSurge *string `json:"maxSurge,omitempty"` + NodeSoakDurationInMinutes *int `json:"nodeSoakDurationInMinutes,omitempty"` } -// The Windows agent pool's specific profile. type AgentPoolWindowsProfile_STATUS struct { - // DisableOutboundNat: The default value is false. Outbound NAT can only be disabled if the cluster outboundType is NAT - // Gateway and the Windows agent pool does not have node public IP enabled. DisableOutboundNat *bool `json:"disableOutboundNat,omitempty"` } -// GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU. type GPUInstanceProfile_STATUS string const ( @@ -334,49 +295,20 @@ var gPUInstanceProfile_STATUS_Values = map[string]GPUInstanceProfile_STATUS{ "mig7g": GPUInstanceProfile_STATUS_MIG7G, } -// See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. type KubeletConfig_STATUS struct { - // AllowedUnsafeSysctls: Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in `*`). - AllowedUnsafeSysctls []string `json:"allowedUnsafeSysctls"` - - // ContainerLogMaxFiles: The maximum number of container log files that can be present for a container. The number must be - // ≥ 2. - ContainerLogMaxFiles *int `json:"containerLogMaxFiles,omitempty"` - - // ContainerLogMaxSizeMB: The maximum size (e.g. 10Mi) of container log file before it is rotated. - ContainerLogMaxSizeMB *int `json:"containerLogMaxSizeMB,omitempty"` - - // CpuCfsQuota: The default is true. - CpuCfsQuota *bool `json:"cpuCfsQuota,omitempty"` - - // CpuCfsQuotaPeriod: The default is '100ms.' Valid values are a sequence of decimal numbers with an optional fraction and - // a unit suffix. For example: '300ms', '2h45m'. Supported units are 'ns', 'us', 'ms', 's', 'm', and 'h'. - CpuCfsQuotaPeriod *string `json:"cpuCfsQuotaPeriod,omitempty"` - - // CpuManagerPolicy: The default is 'none'. See [Kubernetes CPU management - // policies](https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/#cpu-management-policies) for more - // information. Allowed values are 'none' and 'static'. - CpuManagerPolicy *string `json:"cpuManagerPolicy,omitempty"` - - // FailSwapOn: If set to true it will make the Kubelet fail to start if swap is enabled on the node. - FailSwapOn *bool `json:"failSwapOn,omitempty"` - - // ImageGcHighThreshold: To disable image garbage collection, set to 100. The default is 85% - ImageGcHighThreshold *int `json:"imageGcHighThreshold,omitempty"` - - // ImageGcLowThreshold: This cannot be set higher than imageGcHighThreshold. The default is 80% - ImageGcLowThreshold *int `json:"imageGcLowThreshold,omitempty"` - - // PodMaxPids: The maximum number of processes per pod. - PodMaxPids *int `json:"podMaxPids,omitempty"` - - // TopologyManagerPolicy: For more information see [Kubernetes Topology - // Manager](https://kubernetes.io/docs/tasks/administer-cluster/topology-manager). The default is 'none'. Allowed values - // are 'none', 'best-effort', 'restricted', and 'single-numa-node'. - TopologyManagerPolicy *string `json:"topologyManagerPolicy,omitempty"` + AllowedUnsafeSysctls []string `json:"allowedUnsafeSysctls"` + ContainerLogMaxFiles *int `json:"containerLogMaxFiles,omitempty"` + ContainerLogMaxSizeMB *int `json:"containerLogMaxSizeMB,omitempty"` + CpuCfsQuota *bool `json:"cpuCfsQuota,omitempty"` + CpuCfsQuotaPeriod *string `json:"cpuCfsQuotaPeriod,omitempty"` + CpuManagerPolicy *string `json:"cpuManagerPolicy,omitempty"` + FailSwapOn *bool `json:"failSwapOn,omitempty"` + ImageGcHighThreshold *int `json:"imageGcHighThreshold,omitempty"` + ImageGcLowThreshold *int `json:"imageGcLowThreshold,omitempty"` + PodMaxPids *int `json:"podMaxPids,omitempty"` + TopologyManagerPolicy *string `json:"topologyManagerPolicy,omitempty"` } -// Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage. type KubeletDiskType_STATUS string const ( @@ -390,28 +322,13 @@ var kubeletDiskType_STATUS_Values = map[string]KubeletDiskType_STATUS{ "temporary": KubeletDiskType_STATUS_Temporary, } -// See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. type LinuxOSConfig_STATUS struct { - // SwapFileSizeMB: The size in MB of a swap file that will be created on each node. - SwapFileSizeMB *int `json:"swapFileSizeMB,omitempty"` - - // Sysctls: Sysctl settings for Linux agent nodes. - Sysctls *SysctlConfig_STATUS `json:"sysctls,omitempty"` - - // TransparentHugePageDefrag: Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is - // 'madvise'. For more information see [Transparent - // Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). - TransparentHugePageDefrag *string `json:"transparentHugePageDefrag,omitempty"` - - // TransparentHugePageEnabled: Valid values are 'always', 'madvise', and 'never'. The default is 'always'. For more - // information see [Transparent - // Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). - TransparentHugePageEnabled *string `json:"transparentHugePageEnabled,omitempty"` + SwapFileSizeMB *int `json:"swapFileSizeMB,omitempty"` + Sysctls *SysctlConfig_STATUS `json:"sysctls,omitempty"` + TransparentHugePageDefrag *string `json:"transparentHugePageDefrag,omitempty"` + TransparentHugePageEnabled *string `json:"transparentHugePageEnabled,omitempty"` } -// The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, -// defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral -// OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). type OSDiskType_STATUS string const ( @@ -425,8 +342,6 @@ var oSDiskType_STATUS_Values = map[string]OSDiskType_STATUS{ "managed": OSDiskType_STATUS_Managed, } -// Specifies the OS SKU used by the agent pool. If not specified, the default is Ubuntu if OSType=Linux or Windows2019 if -// OSType=Windows. And the default Windows OSSKU will be changed to Windows2022 after Windows2019 is deprecated. type OSSKU_STATUS string const ( @@ -450,7 +365,6 @@ var oSSKU_STATUS_Values = map[string]OSSKU_STATUS{ "windowsannual": OSSKU_STATUS_WindowsAnnual, } -// The operating system type. The default is Linux. type OSType_STATUS string const ( @@ -464,8 +378,6 @@ var oSType_STATUS_Values = map[string]OSType_STATUS{ "windows": OSType_STATUS_Windows, } -// Describes how VMs are added to or removed from Agent Pools. See [billing -// states](https://docs.microsoft.com/azure/virtual-machines/states-billing). type ScaleDownMode_STATUS string const ( @@ -479,8 +391,6 @@ var scaleDownMode_STATUS_Values = map[string]ScaleDownMode_STATUS{ "delete": ScaleDownMode_STATUS_Delete, } -// The eviction policy specifies what to do with the VM when it is evicted. The default is Delete. For more information -// about eviction see [spot VMs](https://docs.microsoft.com/azure/virtual-machines/spot-vms) type ScaleSetEvictionPolicy_STATUS string const ( @@ -494,7 +404,6 @@ var scaleSetEvictionPolicy_STATUS_Values = map[string]ScaleSetEvictionPolicy_STA "delete": ScaleSetEvictionPolicy_STATUS_Delete, } -// The Virtual Machine Scale Set priority. type ScaleSetPriority_STATUS string const ( @@ -508,22 +417,15 @@ var scaleSetPriority_STATUS_Values = map[string]ScaleSetPriority_STATUS{ "spot": ScaleSetPriority_STATUS_Spot, } -// Current status on a group of nodes of the same vm size. type VirtualMachineNodes_STATUS struct { - // Count: Number of nodes. - Count *int `json:"count,omitempty"` - - // Size: The VM size of the agents used to host this group of nodes. - Size *string `json:"size,omitempty"` + Count *int `json:"count,omitempty"` + Size *string `json:"size,omitempty"` } -// Specifications on VirtualMachines agent pool. type VirtualMachinesProfile_STATUS struct { - // Scale: Specifications on how to scale a VirtualMachines agent pool. Scale *ScaleProfile_STATUS `json:"scale,omitempty"` } -// Determines the type of workload a node can run. type WorkloadRuntime_STATUS string const ( @@ -539,7 +441,6 @@ var workloadRuntime_STATUS_Values = map[string]WorkloadRuntime_STATUS{ "wasmwasi": WorkloadRuntime_STATUS_WasmWasi, } -// SSH access method of an agent pool. type AgentPoolSSHAccess_STATUS string const ( @@ -553,129 +454,54 @@ var agentPoolSSHAccess_STATUS_Values = map[string]AgentPoolSSHAccess_STATUS{ "localuser": AgentPoolSSHAccess_STATUS_LocalUser, } -// Contains the IPTag associated with the object. type IPTag_STATUS struct { - // IpTagType: The IP tag type. Example: RoutingPreference. IpTagType *string `json:"ipTagType,omitempty"` - - // Tag: The value of the IP tag associated with the public IP. Example: Internet. - Tag *string `json:"tag,omitempty"` + Tag *string `json:"tag,omitempty"` } -// The port range. type PortRange_STATUS struct { - // PortEnd: The maximum port that is included in the range. It should be ranged from 1 to 65535, and be greater than or - // equal to portStart. - PortEnd *int `json:"portEnd,omitempty"` - - // PortStart: The minimum port that is included in the range. It should be ranged from 1 to 65535, and be less than or - // equal to portEnd. - PortStart *int `json:"portStart,omitempty"` - - // Protocol: The network protocol of the port. - Protocol *PortRange_Protocol_STATUS `json:"protocol,omitempty"` + PortEnd *int `json:"portEnd,omitempty"` + PortStart *int `json:"portStart,omitempty"` + Protocol *PortRange_Protocol_STATUS `json:"protocol,omitempty"` } -// Specifications on how to scale a VirtualMachines agent pool. type ScaleProfile_STATUS struct { - // Manual: Specifications on how to scale the VirtualMachines agent pool to a fixed size. Manual []ManualScaleProfile_STATUS `json:"manual"` } -// Sysctl settings for Linux agent nodes. type SysctlConfig_STATUS struct { - // FsAioMaxNr: Sysctl setting fs.aio-max-nr. - FsAioMaxNr *int `json:"fsAioMaxNr,omitempty"` - - // FsFileMax: Sysctl setting fs.file-max. - FsFileMax *int `json:"fsFileMax,omitempty"` - - // FsInotifyMaxUserWatches: Sysctl setting fs.inotify.max_user_watches. - FsInotifyMaxUserWatches *int `json:"fsInotifyMaxUserWatches,omitempty"` - - // FsNrOpen: Sysctl setting fs.nr_open. - FsNrOpen *int `json:"fsNrOpen,omitempty"` - - // KernelThreadsMax: Sysctl setting kernel.threads-max. - KernelThreadsMax *int `json:"kernelThreadsMax,omitempty"` - - // NetCoreNetdevMaxBacklog: Sysctl setting net.core.netdev_max_backlog. - NetCoreNetdevMaxBacklog *int `json:"netCoreNetdevMaxBacklog,omitempty"` - - // NetCoreOptmemMax: Sysctl setting net.core.optmem_max. - NetCoreOptmemMax *int `json:"netCoreOptmemMax,omitempty"` - - // NetCoreRmemDefault: Sysctl setting net.core.rmem_default. - NetCoreRmemDefault *int `json:"netCoreRmemDefault,omitempty"` - - // NetCoreRmemMax: Sysctl setting net.core.rmem_max. - NetCoreRmemMax *int `json:"netCoreRmemMax,omitempty"` - - // NetCoreSomaxconn: Sysctl setting net.core.somaxconn. - NetCoreSomaxconn *int `json:"netCoreSomaxconn,omitempty"` - - // NetCoreWmemDefault: Sysctl setting net.core.wmem_default. - NetCoreWmemDefault *int `json:"netCoreWmemDefault,omitempty"` - - // NetCoreWmemMax: Sysctl setting net.core.wmem_max. - NetCoreWmemMax *int `json:"netCoreWmemMax,omitempty"` - - // NetIpv4IpLocalPortRange: Sysctl setting net.ipv4.ip_local_port_range. - NetIpv4IpLocalPortRange *string `json:"netIpv4IpLocalPortRange,omitempty"` - - // NetIpv4NeighDefaultGcThresh1: Sysctl setting net.ipv4.neigh.default.gc_thresh1. - NetIpv4NeighDefaultGcThresh1 *int `json:"netIpv4NeighDefaultGcThresh1,omitempty"` - - // NetIpv4NeighDefaultGcThresh2: Sysctl setting net.ipv4.neigh.default.gc_thresh2. - NetIpv4NeighDefaultGcThresh2 *int `json:"netIpv4NeighDefaultGcThresh2,omitempty"` - - // NetIpv4NeighDefaultGcThresh3: Sysctl setting net.ipv4.neigh.default.gc_thresh3. - NetIpv4NeighDefaultGcThresh3 *int `json:"netIpv4NeighDefaultGcThresh3,omitempty"` - - // NetIpv4TcpFinTimeout: Sysctl setting net.ipv4.tcp_fin_timeout. - NetIpv4TcpFinTimeout *int `json:"netIpv4TcpFinTimeout,omitempty"` - - // NetIpv4TcpKeepaliveProbes: Sysctl setting net.ipv4.tcp_keepalive_probes. - NetIpv4TcpKeepaliveProbes *int `json:"netIpv4TcpKeepaliveProbes,omitempty"` - - // NetIpv4TcpKeepaliveTime: Sysctl setting net.ipv4.tcp_keepalive_time. - NetIpv4TcpKeepaliveTime *int `json:"netIpv4TcpKeepaliveTime,omitempty"` - - // NetIpv4TcpMaxSynBacklog: Sysctl setting net.ipv4.tcp_max_syn_backlog. - NetIpv4TcpMaxSynBacklog *int `json:"netIpv4TcpMaxSynBacklog,omitempty"` - - // NetIpv4TcpMaxTwBuckets: Sysctl setting net.ipv4.tcp_max_tw_buckets. - NetIpv4TcpMaxTwBuckets *int `json:"netIpv4TcpMaxTwBuckets,omitempty"` - - // NetIpv4TcpTwReuse: Sysctl setting net.ipv4.tcp_tw_reuse. - NetIpv4TcpTwReuse *bool `json:"netIpv4TcpTwReuse,omitempty"` - - // NetIpv4TcpkeepaliveIntvl: Sysctl setting net.ipv4.tcp_keepalive_intvl. - NetIpv4TcpkeepaliveIntvl *int `json:"netIpv4TcpkeepaliveIntvl,omitempty"` - - // NetNetfilterNfConntrackBuckets: Sysctl setting net.netfilter.nf_conntrack_buckets. - NetNetfilterNfConntrackBuckets *int `json:"netNetfilterNfConntrackBuckets,omitempty"` - - // NetNetfilterNfConntrackMax: Sysctl setting net.netfilter.nf_conntrack_max. - NetNetfilterNfConntrackMax *int `json:"netNetfilterNfConntrackMax,omitempty"` - - // VmMaxMapCount: Sysctl setting vm.max_map_count. - VmMaxMapCount *int `json:"vmMaxMapCount,omitempty"` - - // VmSwappiness: Sysctl setting vm.swappiness. - VmSwappiness *int `json:"vmSwappiness,omitempty"` - - // VmVfsCachePressure: Sysctl setting vm.vfs_cache_pressure. - VmVfsCachePressure *int `json:"vmVfsCachePressure,omitempty"` + FsAioMaxNr *int `json:"fsAioMaxNr,omitempty"` + FsFileMax *int `json:"fsFileMax,omitempty"` + FsInotifyMaxUserWatches *int `json:"fsInotifyMaxUserWatches,omitempty"` + FsNrOpen *int `json:"fsNrOpen,omitempty"` + KernelThreadsMax *int `json:"kernelThreadsMax,omitempty"` + NetCoreNetdevMaxBacklog *int `json:"netCoreNetdevMaxBacklog,omitempty"` + NetCoreOptmemMax *int `json:"netCoreOptmemMax,omitempty"` + NetCoreRmemDefault *int `json:"netCoreRmemDefault,omitempty"` + NetCoreRmemMax *int `json:"netCoreRmemMax,omitempty"` + NetCoreSomaxconn *int `json:"netCoreSomaxconn,omitempty"` + NetCoreWmemDefault *int `json:"netCoreWmemDefault,omitempty"` + NetCoreWmemMax *int `json:"netCoreWmemMax,omitempty"` + NetIpv4IpLocalPortRange *string `json:"netIpv4IpLocalPortRange,omitempty"` + NetIpv4NeighDefaultGcThresh1 *int `json:"netIpv4NeighDefaultGcThresh1,omitempty"` + NetIpv4NeighDefaultGcThresh2 *int `json:"netIpv4NeighDefaultGcThresh2,omitempty"` + NetIpv4NeighDefaultGcThresh3 *int `json:"netIpv4NeighDefaultGcThresh3,omitempty"` + NetIpv4TcpFinTimeout *int `json:"netIpv4TcpFinTimeout,omitempty"` + NetIpv4TcpKeepaliveProbes *int `json:"netIpv4TcpKeepaliveProbes,omitempty"` + NetIpv4TcpKeepaliveTime *int `json:"netIpv4TcpKeepaliveTime,omitempty"` + NetIpv4TcpMaxSynBacklog *int `json:"netIpv4TcpMaxSynBacklog,omitempty"` + NetIpv4TcpMaxTwBuckets *int `json:"netIpv4TcpMaxTwBuckets,omitempty"` + NetIpv4TcpTwReuse *bool `json:"netIpv4TcpTwReuse,omitempty"` + NetIpv4TcpkeepaliveIntvl *int `json:"netIpv4TcpkeepaliveIntvl,omitempty"` + NetNetfilterNfConntrackBuckets *int `json:"netNetfilterNfConntrackBuckets,omitempty"` + NetNetfilterNfConntrackMax *int `json:"netNetfilterNfConntrackMax,omitempty"` + VmMaxMapCount *int `json:"vmMaxMapCount,omitempty"` + VmSwappiness *int `json:"vmSwappiness,omitempty"` + VmVfsCachePressure *int `json:"vmVfsCachePressure,omitempty"` } -// Specifications on number of machines. type ManualScaleProfile_STATUS struct { - // Count: Number of nodes. - Count *int `json:"count,omitempty"` - - // Sizes: The list of allowed vm sizes. AKS will use the first available one when scaling. If a VM size is unavailable - // (e.g. due to quota or regional capacity reasons), AKS will use the next size. + Count *int `json:"count,omitempty"` Sizes []string `json:"sizes"` } diff --git a/v2/api/containerservice/v1api20231102preview/managed_cluster_types_gen.go b/v2/api/containerservice/v1api20231102preview/managed_cluster_types_gen.go index d12982fab21..f8f2c1c5ae1 100644 --- a/v2/api/containerservice/v1api20231102preview/managed_cluster_types_gen.go +++ b/v2/api/containerservice/v1api20231102preview/managed_cluster_types_gen.go @@ -30,9 +30,6 @@ import ( // +kubebuilder:printcolumn:name="Severity",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].severity" // +kubebuilder:printcolumn:name="Reason",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].reason" // +kubebuilder:printcolumn:name="Message",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].message" -// Generator information: -// - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-11-02-preview/managedClusters.json -// - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName} type ManagedCluster struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` @@ -379,9 +376,6 @@ func (cluster *ManagedCluster) OriginalGVK() *schema.GroupVersionKind { } // +kubebuilder:object:root=true -// Generator information: -// - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-11-02-preview/managedClusters.json -// - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName} type ManagedClusterList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` @@ -394,114 +388,45 @@ type APIVersion string const APIVersion_Value = APIVersion("2023-11-02-preview") type ManagedCluster_Spec struct { - // AadProfile: The Azure Active Directory configuration. - AadProfile *ManagedClusterAADProfile `json:"aadProfile,omitempty"` - - // AddonProfiles: The profile of managed cluster add-on. - AddonProfiles map[string]ManagedClusterAddonProfile `json:"addonProfiles,omitempty"` - - // AgentPoolProfiles: The agent pool properties. - AgentPoolProfiles []ManagedClusterAgentPoolProfile `json:"agentPoolProfiles,omitempty"` - - // AiToolchainOperatorProfile: AI toolchain operator settings that apply to the whole cluster. - AiToolchainOperatorProfile *ManagedClusterAIToolchainOperatorProfile `json:"aiToolchainOperatorProfile,omitempty"` - - // ApiServerAccessProfile: The access profile for managed cluster API server. - ApiServerAccessProfile *ManagedClusterAPIServerAccessProfile `json:"apiServerAccessProfile,omitempty"` - - // AutoScalerProfile: Parameters to be applied to the cluster-autoscaler when enabled - AutoScalerProfile *ManagedClusterProperties_AutoScalerProfile `json:"autoScalerProfile,omitempty"` - - // AutoUpgradeProfile: The auto upgrade configuration. - AutoUpgradeProfile *ManagedClusterAutoUpgradeProfile `json:"autoUpgradeProfile,omitempty"` - - // AzureMonitorProfile: Prometheus addon profile for the container service cluster - AzureMonitorProfile *ManagedClusterAzureMonitorProfile `json:"azureMonitorProfile,omitempty"` + AadProfile *ManagedClusterAADProfile `json:"aadProfile,omitempty"` + AddonProfiles map[string]ManagedClusterAddonProfile `json:"addonProfiles,omitempty"` + AgentPoolProfiles []ManagedClusterAgentPoolProfile `json:"agentPoolProfiles,omitempty"` + AiToolchainOperatorProfile *ManagedClusterAIToolchainOperatorProfile `json:"aiToolchainOperatorProfile,omitempty"` + ApiServerAccessProfile *ManagedClusterAPIServerAccessProfile `json:"apiServerAccessProfile,omitempty"` + AutoScalerProfile *ManagedClusterProperties_AutoScalerProfile `json:"autoScalerProfile,omitempty"` + AutoUpgradeProfile *ManagedClusterAutoUpgradeProfile `json:"autoUpgradeProfile,omitempty"` + AzureMonitorProfile *ManagedClusterAzureMonitorProfile `json:"azureMonitorProfile,omitempty"` // +kubebuilder:validation:MaxLength=63 // +kubebuilder:validation:MinLength=1 // +kubebuilder:validation:Pattern="^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" // AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it // doesn't have to be. - AzureName string `json:"azureName,omitempty"` - - // CreationData: CreationData to be used to specify the source Snapshot ID if the cluster will be created/upgraded using a - // snapshot. - CreationData *CreationData `json:"creationData,omitempty"` - - // DisableLocalAccounts: If set to true, getting static credentials will be disabled for this cluster. This must only be - // used on Managed Clusters that are AAD enabled. For more details see [disable local - // accounts](https://docs.microsoft.com/azure/aks/managed-aad#disable-local-accounts-preview). - DisableLocalAccounts *bool `json:"disableLocalAccounts,omitempty"` - - // DiskEncryptionSetReference: This is of the form: - // '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}' - DiskEncryptionSetReference *genruntime.ResourceReference `armReference:"DiskEncryptionSetID" json:"diskEncryptionSetReference,omitempty"` - - // DnsPrefix: This cannot be updated once the Managed Cluster has been created. - DnsPrefix *string `json:"dnsPrefix,omitempty"` - - // EnableNamespaceResources: The default value is false. It can be enabled/disabled on creation and updating of the managed - // cluster. See [https://aka.ms/NamespaceARMResource](https://aka.ms/NamespaceARMResource) for more details on Namespace as - // a ARM Resource. - EnableNamespaceResources *bool `json:"enableNamespaceResources,omitempty"` - - // EnablePodSecurityPolicy: (DEPRECATED) Whether to enable Kubernetes pod security policy (preview). PodSecurityPolicy was - // deprecated in Kubernetes v1.21, and removed from Kubernetes in v1.25. Learn more at https://aka.ms/k8s/psp and - // https://aka.ms/aks/psp. - EnablePodSecurityPolicy *bool `json:"enablePodSecurityPolicy,omitempty"` - - // EnableRBAC: Whether to enable Kubernetes Role-Based Access Control. - EnableRBAC *bool `json:"enableRBAC,omitempty"` - - // ExtendedLocation: The extended location of the Virtual Machine. - ExtendedLocation *ExtendedLocation `json:"extendedLocation,omitempty"` - - // FqdnSubdomain: This cannot be updated once the Managed Cluster has been created. - FqdnSubdomain *string `json:"fqdnSubdomain,omitempty"` - - // HttpProxyConfig: Configurations for provisioning the cluster with HTTP proxy servers. - HttpProxyConfig *ManagedClusterHTTPProxyConfig `json:"httpProxyConfig,omitempty"` - - // Identity: The identity of the managed cluster, if configured. - Identity *ManagedClusterIdentity `json:"identity,omitempty"` - - // IdentityProfile: Identities associated with the cluster. - IdentityProfile map[string]UserAssignedIdentity `json:"identityProfile,omitempty"` - - // IngressProfile: Ingress profile for the managed cluster. - IngressProfile *ManagedClusterIngressProfile `json:"ingressProfile,omitempty"` - - // KubernetesVersion: When you upgrade a supported AKS cluster, Kubernetes minor versions cannot be skipped. All upgrades - // must be performed sequentially by major version number. For example, upgrades between 1.14.x -> 1.15.x or 1.15.x -> - // 1.16.x are allowed, however 1.14.x -> 1.16.x is not allowed. See [upgrading an AKS - // cluster](https://docs.microsoft.com/azure/aks/upgrade-cluster) for more details. - KubernetesVersion *string `json:"kubernetesVersion,omitempty"` - - // LinuxProfile: The profile for Linux VMs in the Managed Cluster. - LinuxProfile *ContainerServiceLinuxProfile `json:"linuxProfile,omitempty"` + AzureName string `json:"azureName,omitempty"` + CreationData *CreationData `json:"creationData,omitempty"` + DisableLocalAccounts *bool `json:"disableLocalAccounts,omitempty"` + DiskEncryptionSetReference *genruntime.ResourceReference `armReference:"DiskEncryptionSetID" json:"diskEncryptionSetReference,omitempty"` + DnsPrefix *string `json:"dnsPrefix,omitempty"` + EnableNamespaceResources *bool `json:"enableNamespaceResources,omitempty"` + EnablePodSecurityPolicy *bool `json:"enablePodSecurityPolicy,omitempty"` + EnableRBAC *bool `json:"enableRBAC,omitempty"` + ExtendedLocation *ExtendedLocation `json:"extendedLocation,omitempty"` + FqdnSubdomain *string `json:"fqdnSubdomain,omitempty"` + HttpProxyConfig *ManagedClusterHTTPProxyConfig `json:"httpProxyConfig,omitempty"` + Identity *ManagedClusterIdentity `json:"identity,omitempty"` + IdentityProfile map[string]UserAssignedIdentity `json:"identityProfile,omitempty"` + IngressProfile *ManagedClusterIngressProfile `json:"ingressProfile,omitempty"` + KubernetesVersion *string `json:"kubernetesVersion,omitempty"` + LinuxProfile *ContainerServiceLinuxProfile `json:"linuxProfile,omitempty"` // +kubebuilder:validation:Required - // Location: The geo-location where the resource lives - Location *string `json:"location,omitempty"` - - // MetricsProfile: Optional cluster metrics configuration. - MetricsProfile *ManagedClusterMetricsProfile `json:"metricsProfile,omitempty"` - - // NetworkProfile: The network configuration profile. - NetworkProfile *ContainerServiceNetworkProfile `json:"networkProfile,omitempty"` - - // NodeProvisioningProfile: Node provisioning settings that apply to the whole cluster. - NodeProvisioningProfile *ManagedClusterNodeProvisioningProfile `json:"nodeProvisioningProfile,omitempty"` - - // NodeResourceGroup: The name of the resource group containing agent pool nodes. - NodeResourceGroup *string `json:"nodeResourceGroup,omitempty"` - - // NodeResourceGroupProfile: The node resource group configuration profile. + Location *string `json:"location,omitempty"` + MetricsProfile *ManagedClusterMetricsProfile `json:"metricsProfile,omitempty"` + NetworkProfile *ContainerServiceNetworkProfile `json:"networkProfile,omitempty"` + NodeProvisioningProfile *ManagedClusterNodeProvisioningProfile `json:"nodeProvisioningProfile,omitempty"` + NodeResourceGroup *string `json:"nodeResourceGroup,omitempty"` NodeResourceGroupProfile *ManagedClusterNodeResourceGroupProfile `json:"nodeResourceGroupProfile,omitempty"` - - // OidcIssuerProfile: The OIDC issuer profile of the Managed Cluster. - OidcIssuerProfile *ManagedClusterOIDCIssuerProfile `json:"oidcIssuerProfile,omitempty"` + OidcIssuerProfile *ManagedClusterOIDCIssuerProfile `json:"oidcIssuerProfile,omitempty"` // OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not // passed directly to Azure @@ -511,51 +436,21 @@ type ManagedCluster_Spec struct { // Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also // controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a // reference to a resources.azure.com/ResourceGroup resource - Owner *genruntime.KnownResourceReference `group:"resources.azure.com" json:"owner,omitempty" kind:"ResourceGroup"` - - // PodIdentityProfile: See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more - // details on AAD pod identity integration. - PodIdentityProfile *ManagedClusterPodIdentityProfile `json:"podIdentityProfile,omitempty"` - - // PrivateLinkResources: Private link resources associated with the cluster. - PrivateLinkResources []PrivateLinkResource `json:"privateLinkResources,omitempty"` - - // PublicNetworkAccess: Allow or deny public network access for AKS - PublicNetworkAccess *ManagedClusterProperties_PublicNetworkAccess `json:"publicNetworkAccess,omitempty"` - - // SafeguardsProfile: The Safeguards profile holds all the safeguards information for a given cluster - SafeguardsProfile *SafeguardsProfile `json:"safeguardsProfile,omitempty"` - - // SecurityProfile: Security profile for the managed cluster. - SecurityProfile *ManagedClusterSecurityProfile `json:"securityProfile,omitempty"` - - // ServiceMeshProfile: Service mesh profile for a managed cluster. - ServiceMeshProfile *ServiceMeshProfile `json:"serviceMeshProfile,omitempty"` - - // ServicePrincipalProfile: Information about a service principal identity for the cluster to use for manipulating Azure - // APIs. - ServicePrincipalProfile *ManagedClusterServicePrincipalProfile `json:"servicePrincipalProfile,omitempty"` - - // Sku: The managed cluster SKU. - Sku *ManagedClusterSKU `json:"sku,omitempty"` - - // StorageProfile: Storage profile for the managed cluster. - StorageProfile *ManagedClusterStorageProfile `json:"storageProfile,omitempty"` - - // SupportPlan: The support plan for the Managed Cluster. If unspecified, the default is 'KubernetesOfficial'. - SupportPlan *KubernetesSupportPlan `json:"supportPlan,omitempty"` - - // Tags: Resource tags. - Tags map[string]string `json:"tags,omitempty" serializationType:"explicitEmptyCollection"` - - // UpgradeSettings: Settings for upgrading a cluster. - UpgradeSettings *ClusterUpgradeSettings `json:"upgradeSettings,omitempty"` - - // WindowsProfile: The profile for Windows VMs in the Managed Cluster. - WindowsProfile *ManagedClusterWindowsProfile `json:"windowsProfile,omitempty"` - - // WorkloadAutoScalerProfile: Workload Auto-scaler profile for the managed cluster. - WorkloadAutoScalerProfile *ManagedClusterWorkloadAutoScalerProfile `json:"workloadAutoScalerProfile,omitempty"` + Owner *genruntime.KnownResourceReference `group:"resources.azure.com" json:"owner,omitempty" kind:"ResourceGroup"` + PodIdentityProfile *ManagedClusterPodIdentityProfile `json:"podIdentityProfile,omitempty"` + PrivateLinkResources []PrivateLinkResource `json:"privateLinkResources,omitempty"` + PublicNetworkAccess *ManagedClusterProperties_PublicNetworkAccess `json:"publicNetworkAccess,omitempty"` + SafeguardsProfile *SafeguardsProfile `json:"safeguardsProfile,omitempty"` + SecurityProfile *ManagedClusterSecurityProfile `json:"securityProfile,omitempty"` + ServiceMeshProfile *ServiceMeshProfile `json:"serviceMeshProfile,omitempty"` + ServicePrincipalProfile *ManagedClusterServicePrincipalProfile `json:"servicePrincipalProfile,omitempty"` + Sku *ManagedClusterSKU `json:"sku,omitempty"` + StorageProfile *ManagedClusterStorageProfile `json:"storageProfile,omitempty"` + SupportPlan *KubernetesSupportPlan `json:"supportPlan,omitempty"` + Tags map[string]string `json:"tags,omitempty" serializationType:"explicitEmptyCollection"` + UpgradeSettings *ClusterUpgradeSettings `json:"upgradeSettings,omitempty"` + WindowsProfile *ManagedClusterWindowsProfile `json:"windowsProfile,omitempty"` + WorkloadAutoScalerProfile *ManagedClusterWorkloadAutoScalerProfile `json:"workloadAutoScalerProfile,omitempty"` } var _ genruntime.ARMTransformer = &ManagedCluster_Spec{} @@ -2579,195 +2474,66 @@ func (cluster *ManagedCluster_Spec) OriginalVersion() string { // SetAzureName sets the Azure name of the resource func (cluster *ManagedCluster_Spec) SetAzureName(azureName string) { cluster.AzureName = azureName } -// Managed cluster. type ManagedCluster_STATUS struct { - // AadProfile: The Azure Active Directory configuration. - AadProfile *ManagedClusterAADProfile_STATUS `json:"aadProfile,omitempty"` - - // AddonProfiles: The profile of managed cluster add-on. - AddonProfiles map[string]ManagedClusterAddonProfile_STATUS `json:"addonProfiles,omitempty"` - - // AgentPoolProfiles: The agent pool properties. - AgentPoolProfiles []ManagedClusterAgentPoolProfile_STATUS `json:"agentPoolProfiles,omitempty"` - - // AiToolchainOperatorProfile: AI toolchain operator settings that apply to the whole cluster. - AiToolchainOperatorProfile *ManagedClusterAIToolchainOperatorProfile_STATUS `json:"aiToolchainOperatorProfile,omitempty"` - - // ApiServerAccessProfile: The access profile for managed cluster API server. - ApiServerAccessProfile *ManagedClusterAPIServerAccessProfile_STATUS `json:"apiServerAccessProfile,omitempty"` - - // AutoScalerProfile: Parameters to be applied to the cluster-autoscaler when enabled - AutoScalerProfile *ManagedClusterProperties_AutoScalerProfile_STATUS `json:"autoScalerProfile,omitempty"` - - // AutoUpgradeProfile: The auto upgrade configuration. - AutoUpgradeProfile *ManagedClusterAutoUpgradeProfile_STATUS `json:"autoUpgradeProfile,omitempty"` - - // AzureMonitorProfile: Prometheus addon profile for the container service cluster - AzureMonitorProfile *ManagedClusterAzureMonitorProfile_STATUS `json:"azureMonitorProfile,omitempty"` - - // AzurePortalFQDN: The Azure Portal requires certain Cross-Origin Resource Sharing (CORS) headers to be sent in some - // responses, which Kubernetes APIServer doesn't handle by default. This special FQDN supports CORS, allowing the Azure - // Portal to function properly. - AzurePortalFQDN *string `json:"azurePortalFQDN,omitempty"` + AadProfile *ManagedClusterAADProfile_STATUS `json:"aadProfile,omitempty"` + AddonProfiles map[string]ManagedClusterAddonProfile_STATUS `json:"addonProfiles,omitempty"` + AgentPoolProfiles []ManagedClusterAgentPoolProfile_STATUS `json:"agentPoolProfiles,omitempty"` + AiToolchainOperatorProfile *ManagedClusterAIToolchainOperatorProfile_STATUS `json:"aiToolchainOperatorProfile,omitempty"` + ApiServerAccessProfile *ManagedClusterAPIServerAccessProfile_STATUS `json:"apiServerAccessProfile,omitempty"` + AutoScalerProfile *ManagedClusterProperties_AutoScalerProfile_STATUS `json:"autoScalerProfile,omitempty"` + AutoUpgradeProfile *ManagedClusterAutoUpgradeProfile_STATUS `json:"autoUpgradeProfile,omitempty"` + AzureMonitorProfile *ManagedClusterAzureMonitorProfile_STATUS `json:"azureMonitorProfile,omitempty"` + AzurePortalFQDN *string `json:"azurePortalFQDN,omitempty"` // Conditions: The observed state of the resource - Conditions []conditions.Condition `json:"conditions,omitempty"` - - // CreationData: CreationData to be used to specify the source Snapshot ID if the cluster will be created/upgraded using a - // snapshot. - CreationData *CreationData_STATUS `json:"creationData,omitempty"` - - // CurrentKubernetesVersion: The version of Kubernetes the Managed Cluster is running. - CurrentKubernetesVersion *string `json:"currentKubernetesVersion,omitempty"` - - // DisableLocalAccounts: If set to true, getting static credentials will be disabled for this cluster. This must only be - // used on Managed Clusters that are AAD enabled. For more details see [disable local - // accounts](https://docs.microsoft.com/azure/aks/managed-aad#disable-local-accounts-preview). - DisableLocalAccounts *bool `json:"disableLocalAccounts,omitempty"` - - // DiskEncryptionSetID: This is of the form: - // '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}' - DiskEncryptionSetID *string `json:"diskEncryptionSetID,omitempty"` - - // DnsPrefix: This cannot be updated once the Managed Cluster has been created. - DnsPrefix *string `json:"dnsPrefix,omitempty"` - - // EnableNamespaceResources: The default value is false. It can be enabled/disabled on creation and updating of the managed - // cluster. See [https://aka.ms/NamespaceARMResource](https://aka.ms/NamespaceARMResource) for more details on Namespace as - // a ARM Resource. - EnableNamespaceResources *bool `json:"enableNamespaceResources,omitempty"` - - // EnablePodSecurityPolicy: (DEPRECATED) Whether to enable Kubernetes pod security policy (preview). PodSecurityPolicy was - // deprecated in Kubernetes v1.21, and removed from Kubernetes in v1.25. Learn more at https://aka.ms/k8s/psp and - // https://aka.ms/aks/psp. - EnablePodSecurityPolicy *bool `json:"enablePodSecurityPolicy,omitempty"` - - // EnableRBAC: Whether to enable Kubernetes Role-Based Access Control. - EnableRBAC *bool `json:"enableRBAC,omitempty"` - - // ExtendedLocation: The extended location of the Virtual Machine. - ExtendedLocation *ExtendedLocation_STATUS `json:"extendedLocation,omitempty"` - - // Fqdn: The FQDN of the master pool. - Fqdn *string `json:"fqdn,omitempty"` - - // FqdnSubdomain: This cannot be updated once the Managed Cluster has been created. - FqdnSubdomain *string `json:"fqdnSubdomain,omitempty"` - - // HttpProxyConfig: Configurations for provisioning the cluster with HTTP proxy servers. - HttpProxyConfig *ManagedClusterHTTPProxyConfig_STATUS `json:"httpProxyConfig,omitempty"` - - // Id: Fully qualified resource ID for the resource. E.g. - // "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" - Id *string `json:"id,omitempty"` - - // Identity: The identity of the managed cluster, if configured. - Identity *ManagedClusterIdentity_STATUS `json:"identity,omitempty"` - - // IdentityProfile: Identities associated with the cluster. - IdentityProfile map[string]UserAssignedIdentity_STATUS `json:"identityProfile,omitempty"` - - // IngressProfile: Ingress profile for the managed cluster. - IngressProfile *ManagedClusterIngressProfile_STATUS `json:"ingressProfile,omitempty"` - - // KubernetesVersion: When you upgrade a supported AKS cluster, Kubernetes minor versions cannot be skipped. All upgrades - // must be performed sequentially by major version number. For example, upgrades between 1.14.x -> 1.15.x or 1.15.x -> - // 1.16.x are allowed, however 1.14.x -> 1.16.x is not allowed. See [upgrading an AKS - // cluster](https://docs.microsoft.com/azure/aks/upgrade-cluster) for more details. - KubernetesVersion *string `json:"kubernetesVersion,omitempty"` - - // LinuxProfile: The profile for Linux VMs in the Managed Cluster. - LinuxProfile *ContainerServiceLinuxProfile_STATUS `json:"linuxProfile,omitempty"` - - // Location: The geo-location where the resource lives - Location *string `json:"location,omitempty"` - - // MaxAgentPools: The max number of agent pools for the managed cluster. - MaxAgentPools *int `json:"maxAgentPools,omitempty"` - - // MetricsProfile: Optional cluster metrics configuration. - MetricsProfile *ManagedClusterMetricsProfile_STATUS `json:"metricsProfile,omitempty"` - - // Name: The name of the resource - Name *string `json:"name,omitempty"` - - // NetworkProfile: The network configuration profile. - NetworkProfile *ContainerServiceNetworkProfile_STATUS `json:"networkProfile,omitempty"` - - // NodeProvisioningProfile: Node provisioning settings that apply to the whole cluster. - NodeProvisioningProfile *ManagedClusterNodeProvisioningProfile_STATUS `json:"nodeProvisioningProfile,omitempty"` - - // NodeResourceGroup: The name of the resource group containing agent pool nodes. - NodeResourceGroup *string `json:"nodeResourceGroup,omitempty"` - - // NodeResourceGroupProfile: The node resource group configuration profile. - NodeResourceGroupProfile *ManagedClusterNodeResourceGroupProfile_STATUS `json:"nodeResourceGroupProfile,omitempty"` - - // OidcIssuerProfile: The OIDC issuer profile of the Managed Cluster. - OidcIssuerProfile *ManagedClusterOIDCIssuerProfile_STATUS `json:"oidcIssuerProfile,omitempty"` - - // PodIdentityProfile: See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more - // details on AAD pod identity integration. - PodIdentityProfile *ManagedClusterPodIdentityProfile_STATUS `json:"podIdentityProfile,omitempty"` - - // PowerState: The Power State of the cluster. - PowerState *PowerState_STATUS `json:"powerState,omitempty"` - - // PrivateFQDN: The FQDN of private cluster. - PrivateFQDN *string `json:"privateFQDN,omitempty"` - - // PrivateLinkResources: Private link resources associated with the cluster. - PrivateLinkResources []PrivateLinkResource_STATUS `json:"privateLinkResources,omitempty"` - - // ProvisioningState: The current provisioning state. - ProvisioningState *string `json:"provisioningState,omitempty"` - - // PublicNetworkAccess: Allow or deny public network access for AKS - PublicNetworkAccess *ManagedClusterProperties_PublicNetworkAccess_STATUS `json:"publicNetworkAccess,omitempty"` - - // ResourceUID: The resourceUID uniquely identifies ManagedClusters that reuse ARM ResourceIds (i.e: create, delete, create - // sequence) - ResourceUID *string `json:"resourceUID,omitempty"` - - // SafeguardsProfile: The Safeguards profile holds all the safeguards information for a given cluster - SafeguardsProfile *SafeguardsProfile_STATUS `json:"safeguardsProfile,omitempty"` - - // SecurityProfile: Security profile for the managed cluster. - SecurityProfile *ManagedClusterSecurityProfile_STATUS `json:"securityProfile,omitempty"` - - // ServiceMeshProfile: Service mesh profile for a managed cluster. - ServiceMeshProfile *ServiceMeshProfile_STATUS `json:"serviceMeshProfile,omitempty"` - - // ServicePrincipalProfile: Information about a service principal identity for the cluster to use for manipulating Azure - // APIs. - ServicePrincipalProfile *ManagedClusterServicePrincipalProfile_STATUS `json:"servicePrincipalProfile,omitempty"` - - // Sku: The managed cluster SKU. - Sku *ManagedClusterSKU_STATUS `json:"sku,omitempty"` - - // StorageProfile: Storage profile for the managed cluster. - StorageProfile *ManagedClusterStorageProfile_STATUS `json:"storageProfile,omitempty"` - - // SupportPlan: The support plan for the Managed Cluster. If unspecified, the default is 'KubernetesOfficial'. - SupportPlan *KubernetesSupportPlan_STATUS `json:"supportPlan,omitempty"` - - // SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information. - SystemData *SystemData_STATUS `json:"systemData,omitempty"` - - // Tags: Resource tags. - Tags map[string]string `json:"tags,omitempty"` - - // Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" - Type *string `json:"type,omitempty"` - - // UpgradeSettings: Settings for upgrading a cluster. - UpgradeSettings *ClusterUpgradeSettings_STATUS `json:"upgradeSettings,omitempty"` - - // WindowsProfile: The profile for Windows VMs in the Managed Cluster. - WindowsProfile *ManagedClusterWindowsProfile_STATUS `json:"windowsProfile,omitempty"` - - // WorkloadAutoScalerProfile: Workload Auto-scaler profile for the managed cluster. - WorkloadAutoScalerProfile *ManagedClusterWorkloadAutoScalerProfile_STATUS `json:"workloadAutoScalerProfile,omitempty"` + Conditions []conditions.Condition `json:"conditions,omitempty"` + CreationData *CreationData_STATUS `json:"creationData,omitempty"` + CurrentKubernetesVersion *string `json:"currentKubernetesVersion,omitempty"` + DisableLocalAccounts *bool `json:"disableLocalAccounts,omitempty"` + DiskEncryptionSetID *string `json:"diskEncryptionSetID,omitempty"` + DnsPrefix *string `json:"dnsPrefix,omitempty"` + EnableNamespaceResources *bool `json:"enableNamespaceResources,omitempty"` + EnablePodSecurityPolicy *bool `json:"enablePodSecurityPolicy,omitempty"` + EnableRBAC *bool `json:"enableRBAC,omitempty"` + ExtendedLocation *ExtendedLocation_STATUS `json:"extendedLocation,omitempty"` + Fqdn *string `json:"fqdn,omitempty"` + FqdnSubdomain *string `json:"fqdnSubdomain,omitempty"` + HttpProxyConfig *ManagedClusterHTTPProxyConfig_STATUS `json:"httpProxyConfig,omitempty"` + Id *string `json:"id,omitempty"` + Identity *ManagedClusterIdentity_STATUS `json:"identity,omitempty"` + IdentityProfile map[string]UserAssignedIdentity_STATUS `json:"identityProfile,omitempty"` + IngressProfile *ManagedClusterIngressProfile_STATUS `json:"ingressProfile,omitempty"` + KubernetesVersion *string `json:"kubernetesVersion,omitempty"` + LinuxProfile *ContainerServiceLinuxProfile_STATUS `json:"linuxProfile,omitempty"` + Location *string `json:"location,omitempty"` + MaxAgentPools *int `json:"maxAgentPools,omitempty"` + MetricsProfile *ManagedClusterMetricsProfile_STATUS `json:"metricsProfile,omitempty"` + Name *string `json:"name,omitempty"` + NetworkProfile *ContainerServiceNetworkProfile_STATUS `json:"networkProfile,omitempty"` + NodeProvisioningProfile *ManagedClusterNodeProvisioningProfile_STATUS `json:"nodeProvisioningProfile,omitempty"` + NodeResourceGroup *string `json:"nodeResourceGroup,omitempty"` + NodeResourceGroupProfile *ManagedClusterNodeResourceGroupProfile_STATUS `json:"nodeResourceGroupProfile,omitempty"` + OidcIssuerProfile *ManagedClusterOIDCIssuerProfile_STATUS `json:"oidcIssuerProfile,omitempty"` + PodIdentityProfile *ManagedClusterPodIdentityProfile_STATUS `json:"podIdentityProfile,omitempty"` + PowerState *PowerState_STATUS `json:"powerState,omitempty"` + PrivateFQDN *string `json:"privateFQDN,omitempty"` + PrivateLinkResources []PrivateLinkResource_STATUS `json:"privateLinkResources,omitempty"` + ProvisioningState *string `json:"provisioningState,omitempty"` + PublicNetworkAccess *ManagedClusterProperties_PublicNetworkAccess_STATUS `json:"publicNetworkAccess,omitempty"` + ResourceUID *string `json:"resourceUID,omitempty"` + SafeguardsProfile *SafeguardsProfile_STATUS `json:"safeguardsProfile,omitempty"` + SecurityProfile *ManagedClusterSecurityProfile_STATUS `json:"securityProfile,omitempty"` + ServiceMeshProfile *ServiceMeshProfile_STATUS `json:"serviceMeshProfile,omitempty"` + ServicePrincipalProfile *ManagedClusterServicePrincipalProfile_STATUS `json:"servicePrincipalProfile,omitempty"` + Sku *ManagedClusterSKU_STATUS `json:"sku,omitempty"` + StorageProfile *ManagedClusterStorageProfile_STATUS `json:"storageProfile,omitempty"` + SupportPlan *KubernetesSupportPlan_STATUS `json:"supportPlan,omitempty"` + SystemData *SystemData_STATUS `json:"systemData,omitempty"` + Tags map[string]string `json:"tags,omitempty"` + Type *string `json:"type,omitempty"` + UpgradeSettings *ClusterUpgradeSettings_STATUS `json:"upgradeSettings,omitempty"` + WindowsProfile *ManagedClusterWindowsProfile_STATUS `json:"windowsProfile,omitempty"` + WorkloadAutoScalerProfile *ManagedClusterWorkloadAutoScalerProfile_STATUS `json:"workloadAutoScalerProfile,omitempty"` } var _ genruntime.ConvertibleStatus = &ManagedCluster_STATUS{} @@ -4559,9 +4325,7 @@ func (cluster *ManagedCluster_STATUS) AssignProperties_To_ManagedCluster_STATUS( return nil } -// Settings for upgrading a cluster. type ClusterUpgradeSettings struct { - // OverrideSettings: Settings for overrides. OverrideSettings *UpgradeOverrideSettings `json:"overrideSettings,omitempty"` } @@ -4660,9 +4424,7 @@ func (settings *ClusterUpgradeSettings) AssignProperties_To_ClusterUpgradeSettin return nil } -// Settings for upgrading a cluster. type ClusterUpgradeSettings_STATUS struct { - // OverrideSettings: Settings for overrides. OverrideSettings *UpgradeOverrideSettings_STATUS `json:"overrideSettings,omitempty"` } @@ -4742,15 +4504,12 @@ func (settings *ClusterUpgradeSettings_STATUS) AssignProperties_To_ClusterUpgrad return nil } -// Profile for Linux VMs in the container service cluster. type ContainerServiceLinuxProfile struct { // +kubebuilder:validation:Required // +kubebuilder:validation:Pattern="^[A-Za-z][-A-Za-z0-9_]*$" - // AdminUsername: The administrator username to use for Linux VMs. AdminUsername *string `json:"adminUsername,omitempty"` // +kubebuilder:validation:Required - // Ssh: The SSH configuration for Linux-based VMs running on Azure. Ssh *ContainerServiceSshConfiguration `json:"ssh,omitempty"` } @@ -4877,13 +4636,9 @@ func (profile *ContainerServiceLinuxProfile) AssignProperties_To_ContainerServic return nil } -// Profile for Linux VMs in the container service cluster. type ContainerServiceLinuxProfile_STATUS struct { - // AdminUsername: The administrator username to use for Linux VMs. - AdminUsername *string `json:"adminUsername,omitempty"` - - // Ssh: The SSH configuration for Linux-based VMs running on Azure. - Ssh *ContainerServiceSshConfiguration_STATUS `json:"ssh,omitempty"` + AdminUsername *string `json:"adminUsername,omitempty"` + Ssh *ContainerServiceSshConfiguration_STATUS `json:"ssh,omitempty"` } var _ genruntime.FromARMConverter = &ContainerServiceLinuxProfile_STATUS{} @@ -4974,71 +4729,28 @@ func (profile *ContainerServiceLinuxProfile_STATUS) AssignProperties_To_Containe return nil } -// Profile of network configuration. type ContainerServiceNetworkProfile struct { // +kubebuilder:validation:Pattern="^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$" - // DnsServiceIP: An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address - // range specified in serviceCidr. - DnsServiceIP *string `json:"dnsServiceIP,omitempty"` - - // IpFamilies: IP families are used to determine single-stack or dual-stack clusters. For single-stack, the expected value - // is IPv4. For dual-stack, the expected values are IPv4 and IPv6. - IpFamilies []IpFamily `json:"ipFamilies,omitempty"` - - // KubeProxyConfig: Holds configuration customizations for kube-proxy. Any values not defined will use the kube-proxy - // defaulting behavior. See https://v.docs.kubernetes.io/docs/reference/command-line-tools-reference/kube-proxy/ - // where is represented by a - string. Kubernetes version 1.23 would be '1-23'. - KubeProxyConfig *ContainerServiceNetworkProfile_KubeProxyConfig `json:"kubeProxyConfig,omitempty"` - - // LoadBalancerProfile: Profile of the cluster load balancer. - LoadBalancerProfile *ManagedClusterLoadBalancerProfile `json:"loadBalancerProfile,omitempty"` - - // LoadBalancerSku: The default is 'standard'. See [Azure Load Balancer - // SKUs](https://docs.microsoft.com/azure/load-balancer/skus) for more information about the differences between load - // balancer SKUs. - LoadBalancerSku *LoadBalancerSku `json:"loadBalancerSku,omitempty"` - - // Monitoring: This addon can be used to configure network monitoring and generate network monitoring data in Prometheus - // format - Monitoring *NetworkMonitoring `json:"monitoring,omitempty"` - - // NatGatewayProfile: Profile of the cluster NAT gateway. - NatGatewayProfile *ManagedClusterNATGatewayProfile `json:"natGatewayProfile,omitempty"` - - // NetworkDataplane: Network dataplane used in the Kubernetes cluster. - NetworkDataplane *NetworkDataplane `json:"networkDataplane,omitempty"` - - // NetworkMode: This cannot be specified if networkPlugin is anything other than 'azure'. - NetworkMode *NetworkMode `json:"networkMode,omitempty"` - - // NetworkPlugin: Network plugin used for building the Kubernetes network. - NetworkPlugin *NetworkPlugin `json:"networkPlugin,omitempty"` - - // NetworkPluginMode: Network plugin mode used for building the Kubernetes network. - NetworkPluginMode *NetworkPluginMode `json:"networkPluginMode,omitempty"` - - // NetworkPolicy: Network policy used for building the Kubernetes network. - NetworkPolicy *NetworkPolicy `json:"networkPolicy,omitempty"` - - // OutboundType: This can only be set at cluster creation time and cannot be changed later. For more information see - // [egress outbound type](https://docs.microsoft.com/azure/aks/egress-outboundtype). - OutboundType *ContainerServiceNetworkProfile_OutboundType `json:"outboundType,omitempty"` + DnsServiceIP *string `json:"dnsServiceIP,omitempty"` + IpFamilies []IpFamily `json:"ipFamilies,omitempty"` + KubeProxyConfig *ContainerServiceNetworkProfile_KubeProxyConfig `json:"kubeProxyConfig,omitempty"` + LoadBalancerProfile *ManagedClusterLoadBalancerProfile `json:"loadBalancerProfile,omitempty"` + LoadBalancerSku *LoadBalancerSku `json:"loadBalancerSku,omitempty"` + Monitoring *NetworkMonitoring `json:"monitoring,omitempty"` + NatGatewayProfile *ManagedClusterNATGatewayProfile `json:"natGatewayProfile,omitempty"` + NetworkDataplane *NetworkDataplane `json:"networkDataplane,omitempty"` + NetworkMode *NetworkMode `json:"networkMode,omitempty"` + NetworkPlugin *NetworkPlugin `json:"networkPlugin,omitempty"` + NetworkPluginMode *NetworkPluginMode `json:"networkPluginMode,omitempty"` + NetworkPolicy *NetworkPolicy `json:"networkPolicy,omitempty"` + OutboundType *ContainerServiceNetworkProfile_OutboundType `json:"outboundType,omitempty"` // +kubebuilder:validation:Pattern="^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$" - // PodCidr: A CIDR notation IP range from which to assign pod IPs when kubenet is used. - PodCidr *string `json:"podCidr,omitempty"` - - // PodCidrs: One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is - // expected for dual-stack networking. + PodCidr *string `json:"podCidr,omitempty"` PodCidrs []string `json:"podCidrs,omitempty"` // +kubebuilder:validation:Pattern="^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$" - // ServiceCidr: A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP - // ranges. - ServiceCidr *string `json:"serviceCidr,omitempty"` - - // ServiceCidrs: One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is - // expected for dual-stack networking. They must not overlap with any Subnet IP ranges. + ServiceCidr *string `json:"serviceCidr,omitempty"` ServiceCidrs []string `json:"serviceCidrs,omitempty"` } @@ -5659,69 +5371,24 @@ func (profile *ContainerServiceNetworkProfile) AssignProperties_To_ContainerServ return nil } -// Profile of network configuration. type ContainerServiceNetworkProfile_STATUS struct { - // DnsServiceIP: An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address - // range specified in serviceCidr. - DnsServiceIP *string `json:"dnsServiceIP,omitempty"` - - // IpFamilies: IP families are used to determine single-stack or dual-stack clusters. For single-stack, the expected value - // is IPv4. For dual-stack, the expected values are IPv4 and IPv6. - IpFamilies []IpFamily_STATUS `json:"ipFamilies,omitempty"` - - // KubeProxyConfig: Holds configuration customizations for kube-proxy. Any values not defined will use the kube-proxy - // defaulting behavior. See https://v.docs.kubernetes.io/docs/reference/command-line-tools-reference/kube-proxy/ - // where is represented by a - string. Kubernetes version 1.23 would be '1-23'. - KubeProxyConfig *ContainerServiceNetworkProfile_KubeProxyConfig_STATUS `json:"kubeProxyConfig,omitempty"` - - // LoadBalancerProfile: Profile of the cluster load balancer. - LoadBalancerProfile *ManagedClusterLoadBalancerProfile_STATUS `json:"loadBalancerProfile,omitempty"` - - // LoadBalancerSku: The default is 'standard'. See [Azure Load Balancer - // SKUs](https://docs.microsoft.com/azure/load-balancer/skus) for more information about the differences between load - // balancer SKUs. - LoadBalancerSku *LoadBalancerSku_STATUS `json:"loadBalancerSku,omitempty"` - - // Monitoring: This addon can be used to configure network monitoring and generate network monitoring data in Prometheus - // format - Monitoring *NetworkMonitoring_STATUS `json:"monitoring,omitempty"` - - // NatGatewayProfile: Profile of the cluster NAT gateway. - NatGatewayProfile *ManagedClusterNATGatewayProfile_STATUS `json:"natGatewayProfile,omitempty"` - - // NetworkDataplane: Network dataplane used in the Kubernetes cluster. - NetworkDataplane *NetworkDataplane_STATUS `json:"networkDataplane,omitempty"` - - // NetworkMode: This cannot be specified if networkPlugin is anything other than 'azure'. - NetworkMode *NetworkMode_STATUS `json:"networkMode,omitempty"` - - // NetworkPlugin: Network plugin used for building the Kubernetes network. - NetworkPlugin *NetworkPlugin_STATUS `json:"networkPlugin,omitempty"` - - // NetworkPluginMode: Network plugin mode used for building the Kubernetes network. - NetworkPluginMode *NetworkPluginMode_STATUS `json:"networkPluginMode,omitempty"` - - // NetworkPolicy: Network policy used for building the Kubernetes network. - NetworkPolicy *NetworkPolicy_STATUS `json:"networkPolicy,omitempty"` - - // OutboundType: This can only be set at cluster creation time and cannot be changed later. For more information see - // [egress outbound type](https://docs.microsoft.com/azure/aks/egress-outboundtype). - OutboundType *ContainerServiceNetworkProfile_OutboundType_STATUS `json:"outboundType,omitempty"` - - // PodCidr: A CIDR notation IP range from which to assign pod IPs when kubenet is used. - PodCidr *string `json:"podCidr,omitempty"` - - // PodCidrs: One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is - // expected for dual-stack networking. - PodCidrs []string `json:"podCidrs,omitempty"` - - // ServiceCidr: A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP - // ranges. - ServiceCidr *string `json:"serviceCidr,omitempty"` - - // ServiceCidrs: One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is - // expected for dual-stack networking. They must not overlap with any Subnet IP ranges. - ServiceCidrs []string `json:"serviceCidrs,omitempty"` + DnsServiceIP *string `json:"dnsServiceIP,omitempty"` + IpFamilies []IpFamily_STATUS `json:"ipFamilies,omitempty"` + KubeProxyConfig *ContainerServiceNetworkProfile_KubeProxyConfig_STATUS `json:"kubeProxyConfig,omitempty"` + LoadBalancerProfile *ManagedClusterLoadBalancerProfile_STATUS `json:"loadBalancerProfile,omitempty"` + LoadBalancerSku *LoadBalancerSku_STATUS `json:"loadBalancerSku,omitempty"` + Monitoring *NetworkMonitoring_STATUS `json:"monitoring,omitempty"` + NatGatewayProfile *ManagedClusterNATGatewayProfile_STATUS `json:"natGatewayProfile,omitempty"` + NetworkDataplane *NetworkDataplane_STATUS `json:"networkDataplane,omitempty"` + NetworkMode *NetworkMode_STATUS `json:"networkMode,omitempty"` + NetworkPlugin *NetworkPlugin_STATUS `json:"networkPlugin,omitempty"` + NetworkPluginMode *NetworkPluginMode_STATUS `json:"networkPluginMode,omitempty"` + NetworkPolicy *NetworkPolicy_STATUS `json:"networkPolicy,omitempty"` + OutboundType *ContainerServiceNetworkProfile_OutboundType_STATUS `json:"outboundType,omitempty"` + PodCidr *string `json:"podCidr,omitempty"` + PodCidrs []string `json:"podCidrs,omitempty"` + ServiceCidr *string `json:"serviceCidr,omitempty"` + ServiceCidrs []string `json:"serviceCidrs,omitempty"` } var _ genruntime.FromARMConverter = &ContainerServiceNetworkProfile_STATUS{} @@ -6171,9 +5838,7 @@ func (profile *ContainerServiceNetworkProfile_STATUS) AssignProperties_To_Contai return nil } -// Data used when creating a target resource from a source resource. type CreationData struct { - // SourceResourceReference: This is the ARM ID of the source object to be used to create the target object. SourceResourceReference *genruntime.ResourceReference `armReference:"SourceResourceId" json:"sourceResourceReference,omitempty"` } @@ -6255,9 +5920,7 @@ func (data *CreationData) AssignProperties_To_CreationData(destination *storage. return nil } -// Data used when creating a target resource from a source resource. type CreationData_STATUS struct { - // SourceResourceId: This is the ARM ID of the source object to be used to create the target object. SourceResourceId *string `json:"sourceResourceId,omitempty"` } @@ -6314,12 +5977,8 @@ func (data *CreationData_STATUS) AssignProperties_To_CreationData_STATUS(destina return nil } -// The complex type of the extended location. type ExtendedLocation struct { - // Name: The name of the extended location. - Name *string `json:"name,omitempty"` - - // Type: The type of the extended location. + Name *string `json:"name,omitempty"` Type *ExtendedLocationType `json:"type,omitempty"` } @@ -6424,12 +6083,8 @@ func (location *ExtendedLocation) AssignProperties_To_ExtendedLocation(destinati return nil } -// The complex type of the extended location. type ExtendedLocation_STATUS struct { - // Name: The name of the extended location. - Name *string `json:"name,omitempty"` - - // Type: The type of the extended location. + Name *string `json:"name,omitempty"` Type *ExtendedLocationType_STATUS `json:"type,omitempty"` } @@ -6511,7 +6166,6 @@ func (location *ExtendedLocation_STATUS) AssignProperties_To_ExtendedLocation_ST return nil } -// Different support tiers for AKS managed clusters // +kubebuilder:validation:Enum={"AKSLongTermSupport","KubernetesOfficial"} type KubernetesSupportPlan string @@ -6526,7 +6180,6 @@ var kubernetesSupportPlan_Values = map[string]KubernetesSupportPlan{ "kubernetesofficial": KubernetesSupportPlan_KubernetesOfficial, } -// Different support tiers for AKS managed clusters type KubernetesSupportPlan_STATUS string const ( @@ -6540,29 +6193,14 @@ var kubernetesSupportPlan_STATUS_Values = map[string]KubernetesSupportPlan_STATU "kubernetesofficial": KubernetesSupportPlan_STATUS_KubernetesOfficial, } -// For more details see [managed AAD on AKS](https://docs.microsoft.com/azure/aks/managed-aad). type ManagedClusterAADProfile struct { - // AdminGroupObjectIDs: The list of AAD group object IDs that will have admin role of the cluster. AdminGroupObjectIDs []string `json:"adminGroupObjectIDs,omitempty"` - - // ClientAppID: (DEPRECATED) The client AAD application ID. Learn more at https://aka.ms/aks/aad-legacy. - ClientAppID *string `json:"clientAppID,omitempty"` - - // EnableAzureRBAC: Whether to enable Azure RBAC for Kubernetes authorization. - EnableAzureRBAC *bool `json:"enableAzureRBAC,omitempty"` - - // Managed: Whether to enable managed AAD. - Managed *bool `json:"managed,omitempty"` - - // ServerAppID: (DEPRECATED) The server AAD application ID. Learn more at https://aka.ms/aks/aad-legacy. - ServerAppID *string `json:"serverAppID,omitempty"` - - // ServerAppSecret: (DEPRECATED) The server AAD application secret. Learn more at https://aka.ms/aks/aad-legacy. - ServerAppSecret *string `json:"serverAppSecret,omitempty"` - - // TenantID: The AAD tenant ID to use for authentication. If not specified, will use the tenant of the deployment - // subscription. - TenantID *string `json:"tenantID,omitempty"` + ClientAppID *string `json:"clientAppID,omitempty"` + EnableAzureRBAC *bool `json:"enableAzureRBAC,omitempty"` + Managed *bool `json:"managed,omitempty"` + ServerAppID *string `json:"serverAppID,omitempty"` + ServerAppSecret *string `json:"serverAppSecret,omitempty"` + TenantID *string `json:"tenantID,omitempty"` } var _ genruntime.ARMTransformer = &ManagedClusterAADProfile{} @@ -6759,29 +6397,14 @@ func (profile *ManagedClusterAADProfile) AssignProperties_To_ManagedClusterAADPr return nil } -// For more details see [managed AAD on AKS](https://docs.microsoft.com/azure/aks/managed-aad). type ManagedClusterAADProfile_STATUS struct { - // AdminGroupObjectIDs: The list of AAD group object IDs that will have admin role of the cluster. AdminGroupObjectIDs []string `json:"adminGroupObjectIDs,omitempty"` - - // ClientAppID: (DEPRECATED) The client AAD application ID. Learn more at https://aka.ms/aks/aad-legacy. - ClientAppID *string `json:"clientAppID,omitempty"` - - // EnableAzureRBAC: Whether to enable Azure RBAC for Kubernetes authorization. - EnableAzureRBAC *bool `json:"enableAzureRBAC,omitempty"` - - // Managed: Whether to enable managed AAD. - Managed *bool `json:"managed,omitempty"` - - // ServerAppID: (DEPRECATED) The server AAD application ID. Learn more at https://aka.ms/aks/aad-legacy. - ServerAppID *string `json:"serverAppID,omitempty"` - - // ServerAppSecret: (DEPRECATED) The server AAD application secret. Learn more at https://aka.ms/aks/aad-legacy. - ServerAppSecret *string `json:"serverAppSecret,omitempty"` - - // TenantID: The AAD tenant ID to use for authentication. If not specified, will use the tenant of the deployment - // subscription. - TenantID *string `json:"tenantID,omitempty"` + ClientAppID *string `json:"clientAppID,omitempty"` + EnableAzureRBAC *bool `json:"enableAzureRBAC,omitempty"` + Managed *bool `json:"managed,omitempty"` + ServerAppID *string `json:"serverAppID,omitempty"` + ServerAppSecret *string `json:"serverAppSecret,omitempty"` + TenantID *string `json:"tenantID,omitempty"` } var _ genruntime.FromARMConverter = &ManagedClusterAADProfile_STATUS{} @@ -6928,13 +6551,10 @@ func (profile *ManagedClusterAADProfile_STATUS) AssignProperties_To_ManagedClust return nil } -// A Kubernetes add-on profile for a managed cluster. type ManagedClusterAddonProfile struct { - // Config: Key-value pairs for configuring an add-on. Config map[string]string `json:"config,omitempty"` // +kubebuilder:validation:Required - // Enabled: Whether the add-on is enabled or not. Enabled *bool `json:"enabled,omitempty"` } @@ -7038,15 +6658,9 @@ func (profile *ManagedClusterAddonProfile) AssignProperties_To_ManagedClusterAdd return nil } -// A Kubernetes add-on profile for a managed cluster. type ManagedClusterAddonProfile_STATUS struct { - // Config: Key-value pairs for configuring an add-on. - Config map[string]string `json:"config,omitempty"` - - // Enabled: Whether the add-on is enabled or not. - Enabled *bool `json:"enabled,omitempty"` - - // Identity: Information of user assigned identity used by this add-on. + Config map[string]string `json:"config,omitempty"` + Enabled *bool `json:"enabled,omitempty"` Identity *UserAssignedIdentity_STATUS `json:"identity,omitempty"` } @@ -7162,199 +6776,60 @@ func (profile *ManagedClusterAddonProfile_STATUS) AssignProperties_To_ManagedClu return nil } -// Profile for the container service agent pool. type ManagedClusterAgentPoolProfile struct { - // ArtifactStreamingProfile: Configuration for using artifact streaming on AKS. - ArtifactStreamingProfile *AgentPoolArtifactStreamingProfile `json:"artifactStreamingProfile,omitempty"` - - // AvailabilityZones: The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType - // property is 'VirtualMachineScaleSets'. - AvailabilityZones []string `json:"availabilityZones,omitempty"` - - // CapacityReservationGroupReference: AKS will associate the specified agent pool with the Capacity Reservation Group. - CapacityReservationGroupReference *genruntime.ResourceReference `armReference:"CapacityReservationGroupID" json:"capacityReservationGroupReference,omitempty"` - - // Count: Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) - // for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1. - Count *int `json:"count,omitempty"` - - // CreationData: CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using - // a snapshot. - CreationData *CreationData `json:"creationData,omitempty"` - - // EnableAutoScaling: Whether to enable auto-scaler - EnableAutoScaling *bool `json:"enableAutoScaling,omitempty"` - - // EnableCustomCATrust: When set to true, AKS adds a label to the node indicating that the feature is enabled and deploys a - // daemonset along with host services to sync custom certificate authorities from user-provided list of base64 encoded - // certificates into node trust stores. Defaults to false. - EnableCustomCATrust *bool `json:"enableCustomCATrust,omitempty"` - - // EnableEncryptionAtHost: This is only supported on certain VM sizes and in certain Azure regions. For more information, - // see: https://docs.microsoft.com/azure/aks/enable-host-encryption - EnableEncryptionAtHost *bool `json:"enableEncryptionAtHost,omitempty"` - - // EnableFIPS: See [Add a FIPS-enabled node - // pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more - // details. - EnableFIPS *bool `json:"enableFIPS,omitempty"` - - // EnableNodePublicIP: Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. - // A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine - // to minimize hops. For more information see [assigning a public IP per - // node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The - // default is false. - EnableNodePublicIP *bool `json:"enableNodePublicIP,omitempty"` - - // EnableUltraSSD: Whether to enable UltraSSD - EnableUltraSSD *bool `json:"enableUltraSSD,omitempty"` - - // GpuInstanceProfile: GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU. - GpuInstanceProfile *GPUInstanceProfile `json:"gpuInstanceProfile,omitempty"` - - // GpuProfile: The GPU settings of an agent pool. - GpuProfile *AgentPoolGPUProfile `json:"gpuProfile,omitempty"` - - // HostGroupReference: This is of the form: - // /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. - // For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). - HostGroupReference *genruntime.ResourceReference `armReference:"HostGroupID" json:"hostGroupReference,omitempty"` - - // KubeletConfig: The Kubelet configuration on the agent pool nodes. - KubeletConfig *KubeletConfig `json:"kubeletConfig,omitempty"` - - // KubeletDiskType: Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral - // storage. - KubeletDiskType *KubeletDiskType `json:"kubeletDiskType,omitempty"` - - // LinuxOSConfig: The OS configuration of Linux agent nodes. - LinuxOSConfig *LinuxOSConfig `json:"linuxOSConfig,omitempty"` - - // MaxCount: The maximum number of nodes for auto-scaling - MaxCount *int `json:"maxCount,omitempty"` - - // MaxPods: The maximum number of pods that can run on a node. - MaxPods *int `json:"maxPods,omitempty"` - - // MessageOfTheDay: A base64-encoded string which will be written to /etc/motd after decoding. This allows customization of - // the message of the day for Linux nodes. It must not be specified for Windows nodes. It must be a static string (i.e., - // will be printed raw and not be executed as a script). - MessageOfTheDay *string `json:"messageOfTheDay,omitempty"` - - // MinCount: The minimum number of nodes for auto-scaling - MinCount *int `json:"minCount,omitempty"` - - // Mode: A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool - // restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools - Mode *AgentPoolMode `json:"mode,omitempty"` + ArtifactStreamingProfile *AgentPoolArtifactStreamingProfile `json:"artifactStreamingProfile,omitempty"` + AvailabilityZones []string `json:"availabilityZones,omitempty"` + CapacityReservationGroupReference *genruntime.ResourceReference `armReference:"CapacityReservationGroupID" json:"capacityReservationGroupReference,omitempty"` + Count *int `json:"count,omitempty"` + CreationData *CreationData `json:"creationData,omitempty"` + EnableAutoScaling *bool `json:"enableAutoScaling,omitempty"` + EnableCustomCATrust *bool `json:"enableCustomCATrust,omitempty"` + EnableEncryptionAtHost *bool `json:"enableEncryptionAtHost,omitempty"` + EnableFIPS *bool `json:"enableFIPS,omitempty"` + EnableNodePublicIP *bool `json:"enableNodePublicIP,omitempty"` + EnableUltraSSD *bool `json:"enableUltraSSD,omitempty"` + GpuInstanceProfile *GPUInstanceProfile `json:"gpuInstanceProfile,omitempty"` + GpuProfile *AgentPoolGPUProfile `json:"gpuProfile,omitempty"` + HostGroupReference *genruntime.ResourceReference `armReference:"HostGroupID" json:"hostGroupReference,omitempty"` + KubeletConfig *KubeletConfig `json:"kubeletConfig,omitempty"` + KubeletDiskType *KubeletDiskType `json:"kubeletDiskType,omitempty"` + LinuxOSConfig *LinuxOSConfig `json:"linuxOSConfig,omitempty"` + MaxCount *int `json:"maxCount,omitempty"` + MaxPods *int `json:"maxPods,omitempty"` + MessageOfTheDay *string `json:"messageOfTheDay,omitempty"` + MinCount *int `json:"minCount,omitempty"` + Mode *AgentPoolMode `json:"mode,omitempty"` // +kubebuilder:validation:Required // +kubebuilder:validation:Pattern="^[a-z][a-z0-9]{0,11}$" - // Name: Windows agent pool names must be 6 characters or less. - Name *string `json:"name,omitempty"` - - // NetworkProfile: Network-related settings of an agent pool. - NetworkProfile *AgentPoolNetworkProfile `json:"networkProfile,omitempty"` - - // NodeInitializationTaints: These taints will not be reconciled by AKS and can be removed with a kubectl call. This field - // can be modified after node pool is created, but nodes will not be recreated with new taints until another operation that - // requires recreation (e.g. node image upgrade) happens. These taints allow for required configuration to run before the - // node is ready to accept workloads, for example 'key1=value1:NoSchedule' that then can be removed with `kubectl taint - // nodes node1 key1=value1:NoSchedule-` - NodeInitializationTaints []string `json:"nodeInitializationTaints,omitempty"` - - // NodeLabels: The node labels to be persisted across all nodes in agent pool. - NodeLabels map[string]string `json:"nodeLabels,omitempty" serializationType:"explicitEmptyCollection"` - - // NodePublicIPPrefixReference: This is of the form: - // /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} - NodePublicIPPrefixReference *genruntime.ResourceReference `armReference:"NodePublicIPPrefixID" json:"nodePublicIPPrefixReference,omitempty"` - - // NodeTaints: The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule. - NodeTaints []string `json:"nodeTaints,omitempty" serializationType:"explicitEmptyCollection"` - - // OrchestratorVersion: Both patch version and are supported. When is - // specified, the latest supported patch version is chosen automatically. Updating the agent pool with the same - // once it has been created will not trigger an upgrade, even if a newer patch version is available. As a - // best practice, you should upgrade all node pools in an AKS cluster to the same Kubernetes version. The node pool version - // must have the same major version as the control plane. The node pool minor version must be within two minor versions of - // the control plane version. The node pool version cannot be greater than the control plane version. For more information - // see [upgrading a node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). - OrchestratorVersion *string `json:"orchestratorVersion,omitempty"` - OsDiskSizeGB *ContainerServiceOSDisk `json:"osDiskSizeGB,omitempty"` - - // OsDiskType: The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested - // OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral - // OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). - OsDiskType *OSDiskType `json:"osDiskType,omitempty"` - - // OsSKU: Specifies the OS SKU used by the agent pool. If not specified, the default is Ubuntu if OSType=Linux or - // Windows2019 if OSType=Windows. And the default Windows OSSKU will be changed to Windows2022 after Windows2019 is - // deprecated. - OsSKU *OSSKU `json:"osSKU,omitempty"` - - // OsType: The operating system type. The default is Linux. - OsType *OSType `json:"osType,omitempty"` - - // PodSubnetReference: If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). - // This is of the form: - // /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} - PodSubnetReference *genruntime.ResourceReference `armReference:"PodSubnetID" json:"podSubnetReference,omitempty"` - - // PowerState: When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this - // field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only - // be stopped if it is Running and provisioning state is Succeeded - PowerState *PowerState `json:"powerState,omitempty"` - - // ProximityPlacementGroupReference: The ID for Proximity Placement Group. + Name *string `json:"name,omitempty"` + NetworkProfile *AgentPoolNetworkProfile `json:"networkProfile,omitempty"` + NodeInitializationTaints []string `json:"nodeInitializationTaints,omitempty"` + NodeLabels map[string]string `json:"nodeLabels,omitempty" serializationType:"explicitEmptyCollection"` + NodePublicIPPrefixReference *genruntime.ResourceReference `armReference:"NodePublicIPPrefixID" json:"nodePublicIPPrefixReference,omitempty"` + NodeTaints []string `json:"nodeTaints,omitempty" serializationType:"explicitEmptyCollection"` + OrchestratorVersion *string `json:"orchestratorVersion,omitempty"` + OsDiskSizeGB *ContainerServiceOSDisk `json:"osDiskSizeGB,omitempty"` + OsDiskType *OSDiskType `json:"osDiskType,omitempty"` + OsSKU *OSSKU `json:"osSKU,omitempty"` + OsType *OSType `json:"osType,omitempty"` + PodSubnetReference *genruntime.ResourceReference `armReference:"PodSubnetID" json:"podSubnetReference,omitempty"` + PowerState *PowerState `json:"powerState,omitempty"` ProximityPlacementGroupReference *genruntime.ResourceReference `armReference:"ProximityPlacementGroupID" json:"proximityPlacementGroupReference,omitempty"` - - // ScaleDownMode: This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete. - ScaleDownMode *ScaleDownMode `json:"scaleDownMode,omitempty"` - - // ScaleSetEvictionPolicy: This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is - // 'Delete'. - ScaleSetEvictionPolicy *ScaleSetEvictionPolicy `json:"scaleSetEvictionPolicy,omitempty"` - - // ScaleSetPriority: The Virtual Machine Scale Set priority. If not specified, the default is 'Regular'. - ScaleSetPriority *ScaleSetPriority `json:"scaleSetPriority,omitempty"` - - // SecurityProfile: The security settings of an agent pool. - SecurityProfile *AgentPoolSecurityProfile `json:"securityProfile,omitempty"` - - // SpotMaxPrice: Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any - // on-demand price. For more details on spot pricing, see [spot VMs - // pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing) - SpotMaxPrice *float64 `json:"spotMaxPrice,omitempty"` - - // Tags: The tags to be persisted on the agent pool virtual machine scale set. - Tags map[string]string `json:"tags,omitempty" serializationType:"explicitEmptyCollection"` - - // Type: The type of Agent Pool. - Type *AgentPoolType `json:"type,omitempty"` - - // UpgradeSettings: Settings for upgrading the agentpool - UpgradeSettings *AgentPoolUpgradeSettings `json:"upgradeSettings,omitempty"` - VirtualMachineNodesStatus []VirtualMachineNodes `json:"virtualMachineNodesStatus,omitempty"` - - // VirtualMachinesProfile: Specifications on VirtualMachines agent pool. - VirtualMachinesProfile *VirtualMachinesProfile `json:"virtualMachinesProfile,omitempty"` - - // VmSize: VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods - // might fail to run correctly. For more details on restricted VM sizes, see: - // https://docs.microsoft.com/azure/aks/quotas-skus-regions - VmSize *string `json:"vmSize,omitempty"` - - // VnetSubnetReference: If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is - // specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: - // /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} - VnetSubnetReference *genruntime.ResourceReference `armReference:"VnetSubnetID" json:"vnetSubnetReference,omitempty"` - - // WindowsProfile: The Windows agent pool's specific profile. - WindowsProfile *AgentPoolWindowsProfile `json:"windowsProfile,omitempty"` - - // WorkloadRuntime: Determines the type of workload a node can run. - WorkloadRuntime *WorkloadRuntime `json:"workloadRuntime,omitempty"` + ScaleDownMode *ScaleDownMode `json:"scaleDownMode,omitempty"` + ScaleSetEvictionPolicy *ScaleSetEvictionPolicy `json:"scaleSetEvictionPolicy,omitempty"` + ScaleSetPriority *ScaleSetPriority `json:"scaleSetPriority,omitempty"` + SecurityProfile *AgentPoolSecurityProfile `json:"securityProfile,omitempty"` + SpotMaxPrice *float64 `json:"spotMaxPrice,omitempty"` + Tags map[string]string `json:"tags,omitempty" serializationType:"explicitEmptyCollection"` + Type *AgentPoolType `json:"type,omitempty"` + UpgradeSettings *AgentPoolUpgradeSettings `json:"upgradeSettings,omitempty"` + VirtualMachineNodesStatus []VirtualMachineNodes `json:"virtualMachineNodesStatus,omitempty"` + VirtualMachinesProfile *VirtualMachinesProfile `json:"virtualMachinesProfile,omitempty"` + VmSize *string `json:"vmSize,omitempty"` + VnetSubnetReference *genruntime.ResourceReference `armReference:"VnetSubnetID" json:"vnetSubnetReference,omitempty"` + WindowsProfile *AgentPoolWindowsProfile `json:"windowsProfile,omitempty"` + WorkloadRuntime *WorkloadRuntime `json:"workloadRuntime,omitempty"` } var _ genruntime.ARMTransformer = &ManagedClusterAgentPoolProfile{} @@ -8978,208 +8453,60 @@ func (profile *ManagedClusterAgentPoolProfile) AssignProperties_To_ManagedCluste return nil } -// Profile for the container service agent pool. type ManagedClusterAgentPoolProfile_STATUS struct { - // ArtifactStreamingProfile: Configuration for using artifact streaming on AKS. - ArtifactStreamingProfile *AgentPoolArtifactStreamingProfile_STATUS `json:"artifactStreamingProfile,omitempty"` - - // AvailabilityZones: The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType - // property is 'VirtualMachineScaleSets'. - AvailabilityZones []string `json:"availabilityZones,omitempty"` - - // CapacityReservationGroupID: AKS will associate the specified agent pool with the Capacity Reservation Group. - CapacityReservationGroupID *string `json:"capacityReservationGroupID,omitempty"` - - // Count: Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) - // for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1. - Count *int `json:"count,omitempty"` - - // CreationData: CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using - // a snapshot. - CreationData *CreationData_STATUS `json:"creationData,omitempty"` - - // CurrentOrchestratorVersion: If orchestratorVersion was a fully specified version , this field will be - // exactly equal to it. If orchestratorVersion was , this field will contain the full - // version being used. - CurrentOrchestratorVersion *string `json:"currentOrchestratorVersion,omitempty"` - - // EnableAutoScaling: Whether to enable auto-scaler - EnableAutoScaling *bool `json:"enableAutoScaling,omitempty"` - - // EnableCustomCATrust: When set to true, AKS adds a label to the node indicating that the feature is enabled and deploys a - // daemonset along with host services to sync custom certificate authorities from user-provided list of base64 encoded - // certificates into node trust stores. Defaults to false. - EnableCustomCATrust *bool `json:"enableCustomCATrust,omitempty"` - - // EnableEncryptionAtHost: This is only supported on certain VM sizes and in certain Azure regions. For more information, - // see: https://docs.microsoft.com/azure/aks/enable-host-encryption - EnableEncryptionAtHost *bool `json:"enableEncryptionAtHost,omitempty"` - - // EnableFIPS: See [Add a FIPS-enabled node - // pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more - // details. - EnableFIPS *bool `json:"enableFIPS,omitempty"` - - // EnableNodePublicIP: Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. - // A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine - // to minimize hops. For more information see [assigning a public IP per - // node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The - // default is false. - EnableNodePublicIP *bool `json:"enableNodePublicIP,omitempty"` - - // EnableUltraSSD: Whether to enable UltraSSD - EnableUltraSSD *bool `json:"enableUltraSSD,omitempty"` - - // GpuInstanceProfile: GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU. - GpuInstanceProfile *GPUInstanceProfile_STATUS `json:"gpuInstanceProfile,omitempty"` - - // GpuProfile: The GPU settings of an agent pool. - GpuProfile *AgentPoolGPUProfile_STATUS `json:"gpuProfile,omitempty"` - - // HostGroupID: This is of the form: - // /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. - // For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). - HostGroupID *string `json:"hostGroupID,omitempty"` - - // KubeletConfig: The Kubelet configuration on the agent pool nodes. - KubeletConfig *KubeletConfig_STATUS `json:"kubeletConfig,omitempty"` - - // KubeletDiskType: Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral - // storage. - KubeletDiskType *KubeletDiskType_STATUS `json:"kubeletDiskType,omitempty"` - - // LinuxOSConfig: The OS configuration of Linux agent nodes. - LinuxOSConfig *LinuxOSConfig_STATUS `json:"linuxOSConfig,omitempty"` - - // MaxCount: The maximum number of nodes for auto-scaling - MaxCount *int `json:"maxCount,omitempty"` - - // MaxPods: The maximum number of pods that can run on a node. - MaxPods *int `json:"maxPods,omitempty"` - - // MessageOfTheDay: A base64-encoded string which will be written to /etc/motd after decoding. This allows customization of - // the message of the day for Linux nodes. It must not be specified for Windows nodes. It must be a static string (i.e., - // will be printed raw and not be executed as a script). - MessageOfTheDay *string `json:"messageOfTheDay,omitempty"` - - // MinCount: The minimum number of nodes for auto-scaling - MinCount *int `json:"minCount,omitempty"` - - // Mode: A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool - // restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools - Mode *AgentPoolMode_STATUS `json:"mode,omitempty"` - - // Name: Windows agent pool names must be 6 characters or less. - Name *string `json:"name,omitempty"` - - // NetworkProfile: Network-related settings of an agent pool. - NetworkProfile *AgentPoolNetworkProfile_STATUS `json:"networkProfile,omitempty"` - - // NodeImageVersion: The version of node image - NodeImageVersion *string `json:"nodeImageVersion,omitempty"` - - // NodeInitializationTaints: These taints will not be reconciled by AKS and can be removed with a kubectl call. This field - // can be modified after node pool is created, but nodes will not be recreated with new taints until another operation that - // requires recreation (e.g. node image upgrade) happens. These taints allow for required configuration to run before the - // node is ready to accept workloads, for example 'key1=value1:NoSchedule' that then can be removed with `kubectl taint - // nodes node1 key1=value1:NoSchedule-` - NodeInitializationTaints []string `json:"nodeInitializationTaints,omitempty"` - - // NodeLabels: The node labels to be persisted across all nodes in agent pool. - NodeLabels map[string]string `json:"nodeLabels,omitempty"` - - // NodePublicIPPrefixID: This is of the form: - // /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} - NodePublicIPPrefixID *string `json:"nodePublicIPPrefixID,omitempty"` - - // NodeTaints: The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule. - NodeTaints []string `json:"nodeTaints,omitempty"` - - // OrchestratorVersion: Both patch version and are supported. When is - // specified, the latest supported patch version is chosen automatically. Updating the agent pool with the same - // once it has been created will not trigger an upgrade, even if a newer patch version is available. As a - // best practice, you should upgrade all node pools in an AKS cluster to the same Kubernetes version. The node pool version - // must have the same major version as the control plane. The node pool minor version must be within two minor versions of - // the control plane version. The node pool version cannot be greater than the control plane version. For more information - // see [upgrading a node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). - OrchestratorVersion *string `json:"orchestratorVersion,omitempty"` - OsDiskSizeGB *int `json:"osDiskSizeGB,omitempty"` - - // OsDiskType: The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested - // OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral - // OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). - OsDiskType *OSDiskType_STATUS `json:"osDiskType,omitempty"` - - // OsSKU: Specifies the OS SKU used by the agent pool. If not specified, the default is Ubuntu if OSType=Linux or - // Windows2019 if OSType=Windows. And the default Windows OSSKU will be changed to Windows2022 after Windows2019 is - // deprecated. - OsSKU *OSSKU_STATUS `json:"osSKU,omitempty"` - - // OsType: The operating system type. The default is Linux. - OsType *OSType_STATUS `json:"osType,omitempty"` - - // PodSubnetID: If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). This is - // of the form: - // /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} - PodSubnetID *string `json:"podSubnetID,omitempty"` - - // PowerState: When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this - // field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only - // be stopped if it is Running and provisioning state is Succeeded - PowerState *PowerState_STATUS `json:"powerState,omitempty"` - - // ProvisioningState: The current deployment or provisioning state. - ProvisioningState *string `json:"provisioningState,omitempty"` - - // ProximityPlacementGroupID: The ID for Proximity Placement Group. - ProximityPlacementGroupID *string `json:"proximityPlacementGroupID,omitempty"` - - // ScaleDownMode: This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete. - ScaleDownMode *ScaleDownMode_STATUS `json:"scaleDownMode,omitempty"` - - // ScaleSetEvictionPolicy: This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is - // 'Delete'. - ScaleSetEvictionPolicy *ScaleSetEvictionPolicy_STATUS `json:"scaleSetEvictionPolicy,omitempty"` - - // ScaleSetPriority: The Virtual Machine Scale Set priority. If not specified, the default is 'Regular'. - ScaleSetPriority *ScaleSetPriority_STATUS `json:"scaleSetPriority,omitempty"` - - // SecurityProfile: The security settings of an agent pool. - SecurityProfile *AgentPoolSecurityProfile_STATUS `json:"securityProfile,omitempty"` - - // SpotMaxPrice: Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any - // on-demand price. For more details on spot pricing, see [spot VMs - // pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing) - SpotMaxPrice *float64 `json:"spotMaxPrice,omitempty"` - - // Tags: The tags to be persisted on the agent pool virtual machine scale set. - Tags map[string]string `json:"tags,omitempty"` - - // Type: The type of Agent Pool. - Type *AgentPoolType_STATUS `json:"type,omitempty"` - - // UpgradeSettings: Settings for upgrading the agentpool - UpgradeSettings *AgentPoolUpgradeSettings_STATUS `json:"upgradeSettings,omitempty"` - VirtualMachineNodesStatus []VirtualMachineNodes_STATUS `json:"virtualMachineNodesStatus,omitempty"` - - // VirtualMachinesProfile: Specifications on VirtualMachines agent pool. - VirtualMachinesProfile *VirtualMachinesProfile_STATUS `json:"virtualMachinesProfile,omitempty"` - - // VmSize: VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods - // might fail to run correctly. For more details on restricted VM sizes, see: - // https://docs.microsoft.com/azure/aks/quotas-skus-regions - VmSize *string `json:"vmSize,omitempty"` - - // VnetSubnetID: If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is specified, - // this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: - // /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} - VnetSubnetID *string `json:"vnetSubnetID,omitempty"` - - // WindowsProfile: The Windows agent pool's specific profile. - WindowsProfile *AgentPoolWindowsProfile_STATUS `json:"windowsProfile,omitempty"` - - // WorkloadRuntime: Determines the type of workload a node can run. - WorkloadRuntime *WorkloadRuntime_STATUS `json:"workloadRuntime,omitempty"` + ArtifactStreamingProfile *AgentPoolArtifactStreamingProfile_STATUS `json:"artifactStreamingProfile,omitempty"` + AvailabilityZones []string `json:"availabilityZones,omitempty"` + CapacityReservationGroupID *string `json:"capacityReservationGroupID,omitempty"` + Count *int `json:"count,omitempty"` + CreationData *CreationData_STATUS `json:"creationData,omitempty"` + CurrentOrchestratorVersion *string `json:"currentOrchestratorVersion,omitempty"` + EnableAutoScaling *bool `json:"enableAutoScaling,omitempty"` + EnableCustomCATrust *bool `json:"enableCustomCATrust,omitempty"` + EnableEncryptionAtHost *bool `json:"enableEncryptionAtHost,omitempty"` + EnableFIPS *bool `json:"enableFIPS,omitempty"` + EnableNodePublicIP *bool `json:"enableNodePublicIP,omitempty"` + EnableUltraSSD *bool `json:"enableUltraSSD,omitempty"` + GpuInstanceProfile *GPUInstanceProfile_STATUS `json:"gpuInstanceProfile,omitempty"` + GpuProfile *AgentPoolGPUProfile_STATUS `json:"gpuProfile,omitempty"` + HostGroupID *string `json:"hostGroupID,omitempty"` + KubeletConfig *KubeletConfig_STATUS `json:"kubeletConfig,omitempty"` + KubeletDiskType *KubeletDiskType_STATUS `json:"kubeletDiskType,omitempty"` + LinuxOSConfig *LinuxOSConfig_STATUS `json:"linuxOSConfig,omitempty"` + MaxCount *int `json:"maxCount,omitempty"` + MaxPods *int `json:"maxPods,omitempty"` + MessageOfTheDay *string `json:"messageOfTheDay,omitempty"` + MinCount *int `json:"minCount,omitempty"` + Mode *AgentPoolMode_STATUS `json:"mode,omitempty"` + Name *string `json:"name,omitempty"` + NetworkProfile *AgentPoolNetworkProfile_STATUS `json:"networkProfile,omitempty"` + NodeImageVersion *string `json:"nodeImageVersion,omitempty"` + NodeInitializationTaints []string `json:"nodeInitializationTaints,omitempty"` + NodeLabels map[string]string `json:"nodeLabels,omitempty"` + NodePublicIPPrefixID *string `json:"nodePublicIPPrefixID,omitempty"` + NodeTaints []string `json:"nodeTaints,omitempty"` + OrchestratorVersion *string `json:"orchestratorVersion,omitempty"` + OsDiskSizeGB *int `json:"osDiskSizeGB,omitempty"` + OsDiskType *OSDiskType_STATUS `json:"osDiskType,omitempty"` + OsSKU *OSSKU_STATUS `json:"osSKU,omitempty"` + OsType *OSType_STATUS `json:"osType,omitempty"` + PodSubnetID *string `json:"podSubnetID,omitempty"` + PowerState *PowerState_STATUS `json:"powerState,omitempty"` + ProvisioningState *string `json:"provisioningState,omitempty"` + ProximityPlacementGroupID *string `json:"proximityPlacementGroupID,omitempty"` + ScaleDownMode *ScaleDownMode_STATUS `json:"scaleDownMode,omitempty"` + ScaleSetEvictionPolicy *ScaleSetEvictionPolicy_STATUS `json:"scaleSetEvictionPolicy,omitempty"` + ScaleSetPriority *ScaleSetPriority_STATUS `json:"scaleSetPriority,omitempty"` + SecurityProfile *AgentPoolSecurityProfile_STATUS `json:"securityProfile,omitempty"` + SpotMaxPrice *float64 `json:"spotMaxPrice,omitempty"` + Tags map[string]string `json:"tags,omitempty"` + Type *AgentPoolType_STATUS `json:"type,omitempty"` + UpgradeSettings *AgentPoolUpgradeSettings_STATUS `json:"upgradeSettings,omitempty"` + VirtualMachineNodesStatus []VirtualMachineNodes_STATUS `json:"virtualMachineNodesStatus,omitempty"` + VirtualMachinesProfile *VirtualMachinesProfile_STATUS `json:"virtualMachinesProfile,omitempty"` + VmSize *string `json:"vmSize,omitempty"` + VnetSubnetID *string `json:"vnetSubnetID,omitempty"` + WindowsProfile *AgentPoolWindowsProfile_STATUS `json:"windowsProfile,omitempty"` + WorkloadRuntime *WorkloadRuntime_STATUS `json:"workloadRuntime,omitempty"` } var _ genruntime.FromARMConverter = &ManagedClusterAgentPoolProfile_STATUS{} @@ -10360,11 +9687,7 @@ func (profile *ManagedClusterAgentPoolProfile_STATUS) AssignProperties_To_Manage return nil } -// When enabling the operator, a set of AKS managed CRDs and controllers will be installed in the cluster. The operator -// automates the deployment of OSS models for inference and/or training purposes. It provides a set of preset models and -// enables distributed inference against them. type ManagedClusterAIToolchainOperatorProfile struct { - // Enabled: Indicates if AI toolchain operator enabled or not. Enabled *bool `json:"enabled,omitempty"` } @@ -10446,11 +9769,7 @@ func (profile *ManagedClusterAIToolchainOperatorProfile) AssignProperties_To_Man return nil } -// When enabling the operator, a set of AKS managed CRDs and controllers will be installed in the cluster. The operator -// automates the deployment of OSS models for inference and/or training purposes. It provides a set of preset models and -// enables distributed inference against them. type ManagedClusterAIToolchainOperatorProfile_STATUS struct { - // Enabled: Indicates if AI toolchain operator enabled or not. Enabled *bool `json:"enabled,omitempty"` } @@ -10517,34 +9836,14 @@ func (profile *ManagedClusterAIToolchainOperatorProfile_STATUS) AssignProperties return nil } -// Access profile for managed cluster API server. type ManagedClusterAPIServerAccessProfile struct { - // AuthorizedIPRanges: IP ranges are specified in CIDR format, e.g. 137.117.106.88/29. This feature is not compatible with - // clusters that use Public IP Per Node, or clusters that are using a Basic Load Balancer. For more information see [API - // server authorized IP ranges](https://docs.microsoft.com/azure/aks/api-server-authorized-ip-ranges). - AuthorizedIPRanges []string `json:"authorizedIPRanges,omitempty"` - - // DisableRunCommand: Whether to disable run command for the cluster or not. - DisableRunCommand *bool `json:"disableRunCommand,omitempty"` - - // EnablePrivateCluster: For more details, see [Creating a private AKS - // cluster](https://docs.microsoft.com/azure/aks/private-clusters). - EnablePrivateCluster *bool `json:"enablePrivateCluster,omitempty"` - - // EnablePrivateClusterPublicFQDN: Whether to create additional public FQDN for private cluster or not. - EnablePrivateClusterPublicFQDN *bool `json:"enablePrivateClusterPublicFQDN,omitempty"` - - // EnableVnetIntegration: Whether to enable apiserver vnet integration for the cluster or not. - EnableVnetIntegration *bool `json:"enableVnetIntegration,omitempty"` - - // PrivateDNSZone: The default is System. For more details see [configure private DNS - // zone](https://docs.microsoft.com/azure/aks/private-clusters#configure-private-dns-zone). Allowed values are 'system' and - // 'none'. - PrivateDNSZone *string `json:"privateDNSZone,omitempty"` - - // SubnetId: It is required when: 1. creating a new cluster with BYO Vnet; 2. updating an existing cluster to enable - // apiserver vnet integration. - SubnetId *string `json:"subnetId,omitempty"` + AuthorizedIPRanges []string `json:"authorizedIPRanges,omitempty"` + DisableRunCommand *bool `json:"disableRunCommand,omitempty"` + EnablePrivateCluster *bool `json:"enablePrivateCluster,omitempty"` + EnablePrivateClusterPublicFQDN *bool `json:"enablePrivateClusterPublicFQDN,omitempty"` + EnableVnetIntegration *bool `json:"enableVnetIntegration,omitempty"` + PrivateDNSZone *string `json:"privateDNSZone,omitempty"` + SubnetId *string `json:"subnetId,omitempty"` } var _ genruntime.ARMTransformer = &ManagedClusterAPIServerAccessProfile{} @@ -10761,34 +10060,14 @@ func (profile *ManagedClusterAPIServerAccessProfile) AssignProperties_To_Managed return nil } -// Access profile for managed cluster API server. type ManagedClusterAPIServerAccessProfile_STATUS struct { - // AuthorizedIPRanges: IP ranges are specified in CIDR format, e.g. 137.117.106.88/29. This feature is not compatible with - // clusters that use Public IP Per Node, or clusters that are using a Basic Load Balancer. For more information see [API - // server authorized IP ranges](https://docs.microsoft.com/azure/aks/api-server-authorized-ip-ranges). - AuthorizedIPRanges []string `json:"authorizedIPRanges,omitempty"` - - // DisableRunCommand: Whether to disable run command for the cluster or not. - DisableRunCommand *bool `json:"disableRunCommand,omitempty"` - - // EnablePrivateCluster: For more details, see [Creating a private AKS - // cluster](https://docs.microsoft.com/azure/aks/private-clusters). - EnablePrivateCluster *bool `json:"enablePrivateCluster,omitempty"` - - // EnablePrivateClusterPublicFQDN: Whether to create additional public FQDN for private cluster or not. - EnablePrivateClusterPublicFQDN *bool `json:"enablePrivateClusterPublicFQDN,omitempty"` - - // EnableVnetIntegration: Whether to enable apiserver vnet integration for the cluster or not. - EnableVnetIntegration *bool `json:"enableVnetIntegration,omitempty"` - - // PrivateDNSZone: The default is System. For more details see [configure private DNS - // zone](https://docs.microsoft.com/azure/aks/private-clusters#configure-private-dns-zone). Allowed values are 'system' and - // 'none'. - PrivateDNSZone *string `json:"privateDNSZone,omitempty"` - - // SubnetId: It is required when: 1. creating a new cluster with BYO Vnet; 2. updating an existing cluster to enable - // apiserver vnet integration. - SubnetId *string `json:"subnetId,omitempty"` + AuthorizedIPRanges []string `json:"authorizedIPRanges,omitempty"` + DisableRunCommand *bool `json:"disableRunCommand,omitempty"` + EnablePrivateCluster *bool `json:"enablePrivateCluster,omitempty"` + EnablePrivateClusterPublicFQDN *bool `json:"enablePrivateClusterPublicFQDN,omitempty"` + EnableVnetIntegration *bool `json:"enableVnetIntegration,omitempty"` + PrivateDNSZone *string `json:"privateDNSZone,omitempty"` + SubnetId *string `json:"subnetId,omitempty"` } var _ genruntime.FromARMConverter = &ManagedClusterAPIServerAccessProfile_STATUS{} @@ -10955,14 +10234,9 @@ func (profile *ManagedClusterAPIServerAccessProfile_STATUS) AssignProperties_To_ return nil } -// Auto upgrade profile for a managed cluster. type ManagedClusterAutoUpgradeProfile struct { - // NodeOSUpgradeChannel: The default is Unmanaged, but may change to either NodeImage or SecurityPatch at GA. NodeOSUpgradeChannel *ManagedClusterAutoUpgradeProfile_NodeOSUpgradeChannel `json:"nodeOSUpgradeChannel,omitempty"` - - // UpgradeChannel: For more information see [setting the AKS cluster auto-upgrade - // channel](https://docs.microsoft.com/azure/aks/upgrade-cluster#set-auto-upgrade-channel). - UpgradeChannel *ManagedClusterAutoUpgradeProfile_UpgradeChannel `json:"upgradeChannel,omitempty"` + UpgradeChannel *ManagedClusterAutoUpgradeProfile_UpgradeChannel `json:"upgradeChannel,omitempty"` } var _ genruntime.ARMTransformer = &ManagedClusterAutoUpgradeProfile{} @@ -11081,14 +10355,9 @@ func (profile *ManagedClusterAutoUpgradeProfile) AssignProperties_To_ManagedClus return nil } -// Auto upgrade profile for a managed cluster. type ManagedClusterAutoUpgradeProfile_STATUS struct { - // NodeOSUpgradeChannel: The default is Unmanaged, but may change to either NodeImage or SecurityPatch at GA. NodeOSUpgradeChannel *ManagedClusterAutoUpgradeProfile_NodeOSUpgradeChannel_STATUS `json:"nodeOSUpgradeChannel,omitempty"` - - // UpgradeChannel: For more information see [setting the AKS cluster auto-upgrade - // channel](https://docs.microsoft.com/azure/aks/upgrade-cluster#set-auto-upgrade-channel). - UpgradeChannel *ManagedClusterAutoUpgradeProfile_UpgradeChannel_STATUS `json:"upgradeChannel,omitempty"` + UpgradeChannel *ManagedClusterAutoUpgradeProfile_UpgradeChannel_STATUS `json:"upgradeChannel,omitempty"` } var _ genruntime.FromARMConverter = &ManagedClusterAutoUpgradeProfile_STATUS{} @@ -11182,13 +10451,8 @@ func (profile *ManagedClusterAutoUpgradeProfile_STATUS) AssignProperties_To_Mana return nil } -// Prometheus addon profile for the container service cluster type ManagedClusterAzureMonitorProfile struct { - // Logs: Logs profile for the Azure Monitor Infrastructure and Application Logs. Collect out-of-the-box Kubernetes - // infrastructure & application logs to send to Azure Monitor. See aka.ms/AzureMonitorContainerInsights for an overview. - Logs *ManagedClusterAzureMonitorProfileLogs `json:"logs,omitempty"` - - // Metrics: Metrics profile for the prometheus service addon + Logs *ManagedClusterAzureMonitorProfileLogs `json:"logs,omitempty"` Metrics *ManagedClusterAzureMonitorProfileMetrics `json:"metrics,omitempty"` } @@ -11332,13 +10596,8 @@ func (profile *ManagedClusterAzureMonitorProfile) AssignProperties_To_ManagedClu return nil } -// Prometheus addon profile for the container service cluster type ManagedClusterAzureMonitorProfile_STATUS struct { - // Logs: Logs profile for the Azure Monitor Infrastructure and Application Logs. Collect out-of-the-box Kubernetes - // infrastructure & application logs to send to Azure Monitor. See aka.ms/AzureMonitorContainerInsights for an overview. - Logs *ManagedClusterAzureMonitorProfileLogs_STATUS `json:"logs,omitempty"` - - // Metrics: Metrics profile for the prometheus service addon + Logs *ManagedClusterAzureMonitorProfileLogs_STATUS `json:"logs,omitempty"` Metrics *ManagedClusterAzureMonitorProfileMetrics_STATUS `json:"metrics,omitempty"` } @@ -11453,19 +10712,11 @@ func (profile *ManagedClusterAzureMonitorProfile_STATUS) AssignProperties_To_Man return nil } -// Cluster HTTP proxy configuration. type ManagedClusterHTTPProxyConfig struct { - // HttpProxy: The HTTP proxy server endpoint to use. - HttpProxy *string `json:"httpProxy,omitempty"` - - // HttpsProxy: The HTTPS proxy server endpoint to use. - HttpsProxy *string `json:"httpsProxy,omitempty"` - - // NoProxy: The endpoints that should not go through proxy. - NoProxy []string `json:"noProxy,omitempty"` - - // TrustedCa: Alternative CA cert to use for connecting to proxy servers. - TrustedCa *string `json:"trustedCa,omitempty"` + HttpProxy *string `json:"httpProxy,omitempty"` + HttpsProxy *string `json:"httpsProxy,omitempty"` + NoProxy []string `json:"noProxy,omitempty"` + TrustedCa *string `json:"trustedCa,omitempty"` } var _ genruntime.ARMTransformer = &ManagedClusterHTTPProxyConfig{} @@ -11588,23 +10839,12 @@ func (config *ManagedClusterHTTPProxyConfig) AssignProperties_To_ManagedClusterH return nil } -// Cluster HTTP proxy configuration. type ManagedClusterHTTPProxyConfig_STATUS struct { - // EffectiveNoProxy: A read-only list of all endpoints for which traffic should not be sent to the proxy. This list is a - // superset of noProxy and values injected by AKS. EffectiveNoProxy []string `json:"effectiveNoProxy,omitempty"` - - // HttpProxy: The HTTP proxy server endpoint to use. - HttpProxy *string `json:"httpProxy,omitempty"` - - // HttpsProxy: The HTTPS proxy server endpoint to use. - HttpsProxy *string `json:"httpsProxy,omitempty"` - - // NoProxy: The endpoints that should not go through proxy. - NoProxy []string `json:"noProxy,omitempty"` - - // TrustedCa: Alternative CA cert to use for connecting to proxy servers. - TrustedCa *string `json:"trustedCa,omitempty"` + HttpProxy *string `json:"httpProxy,omitempty"` + HttpsProxy *string `json:"httpsProxy,omitempty"` + NoProxy []string `json:"noProxy,omitempty"` + TrustedCa *string `json:"trustedCa,omitempty"` } var _ genruntime.FromARMConverter = &ManagedClusterHTTPProxyConfig_STATUS{} @@ -11706,18 +10946,9 @@ func (config *ManagedClusterHTTPProxyConfig_STATUS) AssignProperties_To_ManagedC return nil } -// Identity for the managed cluster. type ManagedClusterIdentity struct { - // DelegatedResources: The delegated identity resources assigned to this managed cluster. This can only be set by another - // Azure Resource Provider, and managed cluster only accept one delegated identity resource. Internal use only. - DelegatedResources map[string]DelegatedResource `json:"delegatedResources,omitempty"` - - // Type: For more information see [use managed identities in - // AKS](https://docs.microsoft.com/azure/aks/use-managed-identity). - Type *ManagedClusterIdentity_Type `json:"type,omitempty"` - - // UserAssignedIdentities: The keys must be ARM resource IDs in the form: - // '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + DelegatedResources map[string]DelegatedResource `json:"delegatedResources,omitempty"` + Type *ManagedClusterIdentity_Type `json:"type,omitempty"` UserAssignedIdentities []UserAssignedIdentityDetails `json:"userAssignedIdentities,omitempty"` } @@ -11914,24 +11145,11 @@ func (identity *ManagedClusterIdentity) AssignProperties_To_ManagedClusterIdenti return nil } -// Identity for the managed cluster. type ManagedClusterIdentity_STATUS struct { - // DelegatedResources: The delegated identity resources assigned to this managed cluster. This can only be set by another - // Azure Resource Provider, and managed cluster only accept one delegated identity resource. Internal use only. - DelegatedResources map[string]DelegatedResource_STATUS `json:"delegatedResources,omitempty"` - - // PrincipalId: The principal id of the system assigned identity which is used by master components. - PrincipalId *string `json:"principalId,omitempty"` - - // TenantId: The tenant id of the system assigned identity which is used by master components. - TenantId *string `json:"tenantId,omitempty"` - - // Type: For more information see [use managed identities in - // AKS](https://docs.microsoft.com/azure/aks/use-managed-identity). - Type *ManagedClusterIdentity_Type_STATUS `json:"type,omitempty"` - - // UserAssignedIdentities: The keys must be ARM resource IDs in the form: - // '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + DelegatedResources map[string]DelegatedResource_STATUS `json:"delegatedResources,omitempty"` + PrincipalId *string `json:"principalId,omitempty"` + TenantId *string `json:"tenantId,omitempty"` + Type *ManagedClusterIdentity_Type_STATUS `json:"type,omitempty"` UserAssignedIdentities map[string]ManagedClusterIdentity_UserAssignedIdentities_STATUS `json:"userAssignedIdentities,omitempty"` } @@ -12123,9 +11341,7 @@ func (identity *ManagedClusterIdentity_STATUS) AssignProperties_To_ManagedCluste return nil } -// Ingress profile for the container service cluster. type ManagedClusterIngressProfile struct { - // WebAppRouting: Web App Routing settings for the ingress profile. WebAppRouting *ManagedClusterIngressProfileWebAppRouting `json:"webAppRouting,omitempty"` } @@ -12224,9 +11440,7 @@ func (profile *ManagedClusterIngressProfile) AssignProperties_To_ManagedClusterI return nil } -// Ingress profile for the container service cluster. type ManagedClusterIngressProfile_STATUS struct { - // WebAppRouting: Web App Routing settings for the ingress profile. WebAppRouting *ManagedClusterIngressProfileWebAppRouting_STATUS `json:"webAppRouting,omitempty"` } @@ -12306,9 +11520,7 @@ func (profile *ManagedClusterIngressProfile_STATUS) AssignProperties_To_ManagedC return nil } -// The metrics profile for the ManagedCluster. type ManagedClusterMetricsProfile struct { - // CostAnalysis: The cost analysis configuration for the cluster CostAnalysis *ManagedClusterCostAnalysis `json:"costAnalysis,omitempty"` } @@ -12407,9 +11619,7 @@ func (profile *ManagedClusterMetricsProfile) AssignProperties_To_ManagedClusterM return nil } -// The metrics profile for the ManagedCluster. type ManagedClusterMetricsProfile_STATUS struct { - // CostAnalysis: The cost analysis configuration for the cluster CostAnalysis *ManagedClusterCostAnalysis_STATUS `json:"costAnalysis,omitempty"` } @@ -12490,7 +11700,6 @@ func (profile *ManagedClusterMetricsProfile_STATUS) AssignProperties_To_ManagedC } type ManagedClusterNodeProvisioningProfile struct { - // Mode: Once the mode it set to Auto, it cannot be changed back to Manual. Mode *ManagedClusterNodeProvisioningProfile_Mode `json:"mode,omitempty"` } @@ -12578,7 +11787,6 @@ func (profile *ManagedClusterNodeProvisioningProfile) AssignProperties_To_Manage } type ManagedClusterNodeProvisioningProfile_STATUS struct { - // Mode: Once the mode it set to Auto, it cannot be changed back to Manual. Mode *ManagedClusterNodeProvisioningProfile_Mode_STATUS `json:"mode,omitempty"` } @@ -12648,9 +11856,7 @@ func (profile *ManagedClusterNodeProvisioningProfile_STATUS) AssignProperties_To return nil } -// Node resource group lockdown profile for a managed cluster. type ManagedClusterNodeResourceGroupProfile struct { - // RestrictionLevel: The restriction level applied to the cluster's node resource group RestrictionLevel *ManagedClusterNodeResourceGroupProfile_RestrictionLevel `json:"restrictionLevel,omitempty"` } @@ -12737,9 +11943,7 @@ func (profile *ManagedClusterNodeResourceGroupProfile) AssignProperties_To_Manag return nil } -// Node resource group lockdown profile for a managed cluster. type ManagedClusterNodeResourceGroupProfile_STATUS struct { - // RestrictionLevel: The restriction level applied to the cluster's node resource group RestrictionLevel *ManagedClusterNodeResourceGroupProfile_RestrictionLevel_STATUS `json:"restrictionLevel,omitempty"` } @@ -12809,9 +12013,7 @@ func (profile *ManagedClusterNodeResourceGroupProfile_STATUS) AssignProperties_T return nil } -// The OIDC issuer profile of the Managed Cluster. type ManagedClusterOIDCIssuerProfile struct { - // Enabled: Whether the OIDC issuer is enabled. Enabled *bool `json:"enabled,omitempty"` } @@ -12893,12 +12095,8 @@ func (profile *ManagedClusterOIDCIssuerProfile) AssignProperties_To_ManagedClust return nil } -// The OIDC issuer profile of the Managed Cluster. type ManagedClusterOIDCIssuerProfile_STATUS struct { - // Enabled: Whether the OIDC issuer is enabled. - Enabled *bool `json:"enabled,omitempty"` - - // IssuerURL: The OIDC issuer url of the Managed Cluster. + Enabled *bool `json:"enabled,omitempty"` IssuerURL *string `json:"issuerURL,omitempty"` } @@ -13057,22 +12255,10 @@ func (operator *ManagedClusterOperatorSpec) AssignProperties_To_ManagedClusterOp return nil } -// See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on pod -// identity integration. type ManagedClusterPodIdentityProfile struct { - // AllowNetworkPluginKubenet: Running in Kubenet is disabled by default due to the security related nature of AAD Pod - // Identity and the risks of IP spoofing. See [using Kubenet network plugin with AAD Pod - // Identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity#using-kubenet-network-plugin-with-azure-active-directory-pod-managed-identities) - // for more information. - AllowNetworkPluginKubenet *bool `json:"allowNetworkPluginKubenet,omitempty"` - - // Enabled: Whether the pod identity addon is enabled. - Enabled *bool `json:"enabled,omitempty"` - - // UserAssignedIdentities: The pod identities to use in the cluster. - UserAssignedIdentities []ManagedClusterPodIdentity `json:"userAssignedIdentities,omitempty"` - - // UserAssignedIdentityExceptions: The pod identity exceptions to allow. + AllowNetworkPluginKubenet *bool `json:"allowNetworkPluginKubenet,omitempty"` + Enabled *bool `json:"enabled,omitempty"` + UserAssignedIdentities []ManagedClusterPodIdentity `json:"userAssignedIdentities,omitempty"` UserAssignedIdentityExceptions []ManagedClusterPodIdentityException `json:"userAssignedIdentityExceptions,omitempty"` } @@ -13292,22 +12478,10 @@ func (profile *ManagedClusterPodIdentityProfile) AssignProperties_To_ManagedClus return nil } -// See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on pod -// identity integration. type ManagedClusterPodIdentityProfile_STATUS struct { - // AllowNetworkPluginKubenet: Running in Kubenet is disabled by default due to the security related nature of AAD Pod - // Identity and the risks of IP spoofing. See [using Kubenet network plugin with AAD Pod - // Identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity#using-kubenet-network-plugin-with-azure-active-directory-pod-managed-identities) - // for more information. - AllowNetworkPluginKubenet *bool `json:"allowNetworkPluginKubenet,omitempty"` - - // Enabled: Whether the pod identity addon is enabled. - Enabled *bool `json:"enabled,omitempty"` - - // UserAssignedIdentities: The pod identities to use in the cluster. - UserAssignedIdentities []ManagedClusterPodIdentity_STATUS `json:"userAssignedIdentities,omitempty"` - - // UserAssignedIdentityExceptions: The pod identity exceptions to allow. + AllowNetworkPluginKubenet *bool `json:"allowNetworkPluginKubenet,omitempty"` + Enabled *bool `json:"enabled,omitempty"` + UserAssignedIdentities []ManagedClusterPodIdentity_STATUS `json:"userAssignedIdentities,omitempty"` UserAssignedIdentityExceptions []ManagedClusterPodIdentityException_STATUS `json:"userAssignedIdentityExceptions,omitempty"` } @@ -13489,78 +12663,26 @@ func (profile *ManagedClusterPodIdentityProfile_STATUS) AssignProperties_To_Mana } type ManagedClusterProperties_AutoScalerProfile struct { - // BalanceSimilarNodeGroups: Valid values are 'true' and 'false' - BalanceSimilarNodeGroups *string `json:"balance-similar-node-groups,omitempty"` - - // DaemonsetEvictionForEmptyNodes: If set to true, all daemonset pods on empty nodes will be evicted before deletion of the - // node. If the daemonset pod cannot be evicted another node will be chosen for scaling. If set to false, the node will be - // deleted without ensuring that daemonset pods are deleted or evicted. - DaemonsetEvictionForEmptyNodes *bool `json:"daemonset-eviction-for-empty-nodes,omitempty"` - - // DaemonsetEvictionForOccupiedNodes: If set to true, all daemonset pods on occupied nodes will be evicted before deletion - // of the node. If the daemonset pod cannot be evicted another node will be chosen for scaling. If set to false, the node - // will be deleted without ensuring that daemonset pods are deleted or evicted. - DaemonsetEvictionForOccupiedNodes *bool `json:"daemonset-eviction-for-occupied-nodes,omitempty"` - - // Expander: Available values are: 'least-waste', 'most-pods', 'priority', 'random'. - Expander *Expander `json:"expander,omitempty"` - - // IgnoreDaemonsetsUtilization: If set to true, the resources used by daemonset will be taken into account when making - // scaling down decisions. - IgnoreDaemonsetsUtilization *bool `json:"ignore-daemonsets-utilization,omitempty"` - - // MaxEmptyBulkDelete: The default is 10. - MaxEmptyBulkDelete *string `json:"max-empty-bulk-delete,omitempty"` - - // MaxGracefulTerminationSec: The default is 600. - MaxGracefulTerminationSec *string `json:"max-graceful-termination-sec,omitempty"` - - // MaxNodeProvisionTime: The default is '15m'. Values must be an integer followed by an 'm'. No unit of time other than - // minutes (m) is supported. - MaxNodeProvisionTime *string `json:"max-node-provision-time,omitempty"` - - // MaxTotalUnreadyPercentage: The default is 45. The maximum is 100 and the minimum is 0. - MaxTotalUnreadyPercentage *string `json:"max-total-unready-percentage,omitempty"` - - // NewPodScaleUpDelay: For scenarios like burst/batch scale where you don't want CA to act before the kubernetes scheduler - // could schedule all the pods, you can tell CA to ignore unscheduled pods before they're a certain age. The default is - // '0s'. Values must be an integer followed by a unit ('s' for seconds, 'm' for minutes, 'h' for hours, etc). - NewPodScaleUpDelay *string `json:"new-pod-scale-up-delay,omitempty"` - - // OkTotalUnreadyCount: This must be an integer. The default is 3. - OkTotalUnreadyCount *string `json:"ok-total-unready-count,omitempty"` - - // ScaleDownDelayAfterAdd: The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than - // minutes (m) is supported. - ScaleDownDelayAfterAdd *string `json:"scale-down-delay-after-add,omitempty"` - - // ScaleDownDelayAfterDelete: The default is the scan-interval. Values must be an integer followed by an 'm'. No unit of - // time other than minutes (m) is supported. - ScaleDownDelayAfterDelete *string `json:"scale-down-delay-after-delete,omitempty"` - - // ScaleDownDelayAfterFailure: The default is '3m'. Values must be an integer followed by an 'm'. No unit of time other - // than minutes (m) is supported. - ScaleDownDelayAfterFailure *string `json:"scale-down-delay-after-failure,omitempty"` - - // ScaleDownUnneededTime: The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than - // minutes (m) is supported. - ScaleDownUnneededTime *string `json:"scale-down-unneeded-time,omitempty"` - - // ScaleDownUnreadyTime: The default is '20m'. Values must be an integer followed by an 'm'. No unit of time other than - // minutes (m) is supported. - ScaleDownUnreadyTime *string `json:"scale-down-unready-time,omitempty"` - - // ScaleDownUtilizationThreshold: The default is '0.5'. - ScaleDownUtilizationThreshold *string `json:"scale-down-utilization-threshold,omitempty"` - - // ScanInterval: The default is '10'. Values must be an integer number of seconds. - ScanInterval *string `json:"scan-interval,omitempty"` - - // SkipNodesWithLocalStorage: The default is true. - SkipNodesWithLocalStorage *string `json:"skip-nodes-with-local-storage,omitempty"` - - // SkipNodesWithSystemPods: The default is true. - SkipNodesWithSystemPods *string `json:"skip-nodes-with-system-pods,omitempty"` + BalanceSimilarNodeGroups *string `json:"balance-similar-node-groups,omitempty"` + DaemonsetEvictionForEmptyNodes *bool `json:"daemonset-eviction-for-empty-nodes,omitempty"` + DaemonsetEvictionForOccupiedNodes *bool `json:"daemonset-eviction-for-occupied-nodes,omitempty"` + Expander *Expander `json:"expander,omitempty"` + IgnoreDaemonsetsUtilization *bool `json:"ignore-daemonsets-utilization,omitempty"` + MaxEmptyBulkDelete *string `json:"max-empty-bulk-delete,omitempty"` + MaxGracefulTerminationSec *string `json:"max-graceful-termination-sec,omitempty"` + MaxNodeProvisionTime *string `json:"max-node-provision-time,omitempty"` + MaxTotalUnreadyPercentage *string `json:"max-total-unready-percentage,omitempty"` + NewPodScaleUpDelay *string `json:"new-pod-scale-up-delay,omitempty"` + OkTotalUnreadyCount *string `json:"ok-total-unready-count,omitempty"` + ScaleDownDelayAfterAdd *string `json:"scale-down-delay-after-add,omitempty"` + ScaleDownDelayAfterDelete *string `json:"scale-down-delay-after-delete,omitempty"` + ScaleDownDelayAfterFailure *string `json:"scale-down-delay-after-failure,omitempty"` + ScaleDownUnneededTime *string `json:"scale-down-unneeded-time,omitempty"` + ScaleDownUnreadyTime *string `json:"scale-down-unready-time,omitempty"` + ScaleDownUtilizationThreshold *string `json:"scale-down-utilization-threshold,omitempty"` + ScanInterval *string `json:"scan-interval,omitempty"` + SkipNodesWithLocalStorage *string `json:"skip-nodes-with-local-storage,omitempty"` + SkipNodesWithSystemPods *string `json:"skip-nodes-with-system-pods,omitempty"` } var _ genruntime.ARMTransformer = &ManagedClusterProperties_AutoScalerProfile{} @@ -14019,78 +13141,26 @@ func (profile *ManagedClusterProperties_AutoScalerProfile) AssignProperties_To_M } type ManagedClusterProperties_AutoScalerProfile_STATUS struct { - // BalanceSimilarNodeGroups: Valid values are 'true' and 'false' - BalanceSimilarNodeGroups *string `json:"balance-similar-node-groups,omitempty"` - - // DaemonsetEvictionForEmptyNodes: If set to true, all daemonset pods on empty nodes will be evicted before deletion of the - // node. If the daemonset pod cannot be evicted another node will be chosen for scaling. If set to false, the node will be - // deleted without ensuring that daemonset pods are deleted or evicted. - DaemonsetEvictionForEmptyNodes *bool `json:"daemonset-eviction-for-empty-nodes,omitempty"` - - // DaemonsetEvictionForOccupiedNodes: If set to true, all daemonset pods on occupied nodes will be evicted before deletion - // of the node. If the daemonset pod cannot be evicted another node will be chosen for scaling. If set to false, the node - // will be deleted without ensuring that daemonset pods are deleted or evicted. - DaemonsetEvictionForOccupiedNodes *bool `json:"daemonset-eviction-for-occupied-nodes,omitempty"` - - // Expander: Available values are: 'least-waste', 'most-pods', 'priority', 'random'. - Expander *Expander_STATUS `json:"expander,omitempty"` - - // IgnoreDaemonsetsUtilization: If set to true, the resources used by daemonset will be taken into account when making - // scaling down decisions. - IgnoreDaemonsetsUtilization *bool `json:"ignore-daemonsets-utilization,omitempty"` - - // MaxEmptyBulkDelete: The default is 10. - MaxEmptyBulkDelete *string `json:"max-empty-bulk-delete,omitempty"` - - // MaxGracefulTerminationSec: The default is 600. - MaxGracefulTerminationSec *string `json:"max-graceful-termination-sec,omitempty"` - - // MaxNodeProvisionTime: The default is '15m'. Values must be an integer followed by an 'm'. No unit of time other than - // minutes (m) is supported. - MaxNodeProvisionTime *string `json:"max-node-provision-time,omitempty"` - - // MaxTotalUnreadyPercentage: The default is 45. The maximum is 100 and the minimum is 0. - MaxTotalUnreadyPercentage *string `json:"max-total-unready-percentage,omitempty"` - - // NewPodScaleUpDelay: For scenarios like burst/batch scale where you don't want CA to act before the kubernetes scheduler - // could schedule all the pods, you can tell CA to ignore unscheduled pods before they're a certain age. The default is - // '0s'. Values must be an integer followed by a unit ('s' for seconds, 'm' for minutes, 'h' for hours, etc). - NewPodScaleUpDelay *string `json:"new-pod-scale-up-delay,omitempty"` - - // OkTotalUnreadyCount: This must be an integer. The default is 3. - OkTotalUnreadyCount *string `json:"ok-total-unready-count,omitempty"` - - // ScaleDownDelayAfterAdd: The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than - // minutes (m) is supported. - ScaleDownDelayAfterAdd *string `json:"scale-down-delay-after-add,omitempty"` - - // ScaleDownDelayAfterDelete: The default is the scan-interval. Values must be an integer followed by an 'm'. No unit of - // time other than minutes (m) is supported. - ScaleDownDelayAfterDelete *string `json:"scale-down-delay-after-delete,omitempty"` - - // ScaleDownDelayAfterFailure: The default is '3m'. Values must be an integer followed by an 'm'. No unit of time other - // than minutes (m) is supported. - ScaleDownDelayAfterFailure *string `json:"scale-down-delay-after-failure,omitempty"` - - // ScaleDownUnneededTime: The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than - // minutes (m) is supported. - ScaleDownUnneededTime *string `json:"scale-down-unneeded-time,omitempty"` - - // ScaleDownUnreadyTime: The default is '20m'. Values must be an integer followed by an 'm'. No unit of time other than - // minutes (m) is supported. - ScaleDownUnreadyTime *string `json:"scale-down-unready-time,omitempty"` - - // ScaleDownUtilizationThreshold: The default is '0.5'. - ScaleDownUtilizationThreshold *string `json:"scale-down-utilization-threshold,omitempty"` - - // ScanInterval: The default is '10'. Values must be an integer number of seconds. - ScanInterval *string `json:"scan-interval,omitempty"` - - // SkipNodesWithLocalStorage: The default is true. - SkipNodesWithLocalStorage *string `json:"skip-nodes-with-local-storage,omitempty"` - - // SkipNodesWithSystemPods: The default is true. - SkipNodesWithSystemPods *string `json:"skip-nodes-with-system-pods,omitempty"` + BalanceSimilarNodeGroups *string `json:"balance-similar-node-groups,omitempty"` + DaemonsetEvictionForEmptyNodes *bool `json:"daemonset-eviction-for-empty-nodes,omitempty"` + DaemonsetEvictionForOccupiedNodes *bool `json:"daemonset-eviction-for-occupied-nodes,omitempty"` + Expander *Expander_STATUS `json:"expander,omitempty"` + IgnoreDaemonsetsUtilization *bool `json:"ignore-daemonsets-utilization,omitempty"` + MaxEmptyBulkDelete *string `json:"max-empty-bulk-delete,omitempty"` + MaxGracefulTerminationSec *string `json:"max-graceful-termination-sec,omitempty"` + MaxNodeProvisionTime *string `json:"max-node-provision-time,omitempty"` + MaxTotalUnreadyPercentage *string `json:"max-total-unready-percentage,omitempty"` + NewPodScaleUpDelay *string `json:"new-pod-scale-up-delay,omitempty"` + OkTotalUnreadyCount *string `json:"ok-total-unready-count,omitempty"` + ScaleDownDelayAfterAdd *string `json:"scale-down-delay-after-add,omitempty"` + ScaleDownDelayAfterDelete *string `json:"scale-down-delay-after-delete,omitempty"` + ScaleDownDelayAfterFailure *string `json:"scale-down-delay-after-failure,omitempty"` + ScaleDownUnneededTime *string `json:"scale-down-unneeded-time,omitempty"` + ScaleDownUnreadyTime *string `json:"scale-down-unready-time,omitempty"` + ScaleDownUtilizationThreshold *string `json:"scale-down-utilization-threshold,omitempty"` + ScanInterval *string `json:"scan-interval,omitempty"` + SkipNodesWithLocalStorage *string `json:"skip-nodes-with-local-storage,omitempty"` + SkipNodesWithSystemPods *string `json:"skip-nodes-with-system-pods,omitempty"` } var _ genruntime.FromARMConverter = &ManagedClusterProperties_AutoScalerProfile_STATUS{} @@ -14448,36 +13518,14 @@ var managedClusterProperties_PublicNetworkAccess_STATUS_Values = map[string]Mana "securedbyperimeter": ManagedClusterProperties_PublicNetworkAccess_STATUS_SecuredByPerimeter, } -// Security profile for the container service cluster. type ManagedClusterSecurityProfile struct { - // AzureKeyVaultKms: Azure Key Vault [key management - // service](https://kubernetes.io/docs/tasks/administer-cluster/kms-provider/) settings for the security profile. - AzureKeyVaultKms *AzureKeyVaultKms `json:"azureKeyVaultKms,omitempty"` - - // CustomCATrustCertificates: A list of up to 10 base64 encoded CAs that will be added to the trust store on nodes with the - // Custom CA Trust feature enabled. For more information see [Custom CA Trust - // Certificates](https://learn.microsoft.com/en-us/azure/aks/custom-certificate-authority) + AzureKeyVaultKms *AzureKeyVaultKms `json:"azureKeyVaultKms,omitempty"` CustomCATrustCertificates ManagedClusterSecurityProfileCustomCATrustCertificates `json:"customCATrustCertificates,omitempty"` - - // Defender: Microsoft Defender settings for the security profile. - Defender *ManagedClusterSecurityProfileDefender `json:"defender,omitempty"` - - // ImageCleaner: Image Cleaner settings for the security profile. - ImageCleaner *ManagedClusterSecurityProfileImageCleaner `json:"imageCleaner,omitempty"` - - // ImageIntegrity: Image integrity is a feature that works with Azure Policy to verify image integrity by signature. This - // will not have any effect unless Azure Policy is applied to enforce image signatures. See - // https://aka.ms/aks/image-integrity for how to use this feature via policy. - ImageIntegrity *ManagedClusterSecurityProfileImageIntegrity `json:"imageIntegrity,omitempty"` - - // NodeRestriction: [Node - // Restriction](https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/#noderestriction) settings - // for the security profile. - NodeRestriction *ManagedClusterSecurityProfileNodeRestriction `json:"nodeRestriction,omitempty"` - - // WorkloadIdentity: Workload identity settings for the security profile. Workload identity enables Kubernetes applications - // to access Azure cloud resources securely with Azure AD. See https://aka.ms/aks/wi for more details. - WorkloadIdentity *ManagedClusterSecurityProfileWorkloadIdentity `json:"workloadIdentity,omitempty"` + Defender *ManagedClusterSecurityProfileDefender `json:"defender,omitempty"` + ImageCleaner *ManagedClusterSecurityProfileImageCleaner `json:"imageCleaner,omitempty"` + ImageIntegrity *ManagedClusterSecurityProfileImageIntegrity `json:"imageIntegrity,omitempty"` + NodeRestriction *ManagedClusterSecurityProfileNodeRestriction `json:"nodeRestriction,omitempty"` + WorkloadIdentity *ManagedClusterSecurityProfileWorkloadIdentity `json:"workloadIdentity,omitempty"` } var _ genruntime.ARMTransformer = &ManagedClusterSecurityProfile{} @@ -14820,36 +13868,14 @@ func (profile *ManagedClusterSecurityProfile) AssignProperties_To_ManagedCluster return nil } -// Security profile for the container service cluster. type ManagedClusterSecurityProfile_STATUS struct { - // AzureKeyVaultKms: Azure Key Vault [key management - // service](https://kubernetes.io/docs/tasks/administer-cluster/kms-provider/) settings for the security profile. - AzureKeyVaultKms *AzureKeyVaultKms_STATUS `json:"azureKeyVaultKms,omitempty"` - - // CustomCATrustCertificates: A list of up to 10 base64 encoded CAs that will be added to the trust store on nodes with the - // Custom CA Trust feature enabled. For more information see [Custom CA Trust - // Certificates](https://learn.microsoft.com/en-us/azure/aks/custom-certificate-authority) - CustomCATrustCertificates []string `json:"customCATrustCertificates,omitempty"` - - // Defender: Microsoft Defender settings for the security profile. - Defender *ManagedClusterSecurityProfileDefender_STATUS `json:"defender,omitempty"` - - // ImageCleaner: Image Cleaner settings for the security profile. - ImageCleaner *ManagedClusterSecurityProfileImageCleaner_STATUS `json:"imageCleaner,omitempty"` - - // ImageIntegrity: Image integrity is a feature that works with Azure Policy to verify image integrity by signature. This - // will not have any effect unless Azure Policy is applied to enforce image signatures. See - // https://aka.ms/aks/image-integrity for how to use this feature via policy. - ImageIntegrity *ManagedClusterSecurityProfileImageIntegrity_STATUS `json:"imageIntegrity,omitempty"` - - // NodeRestriction: [Node - // Restriction](https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/#noderestriction) settings - // for the security profile. - NodeRestriction *ManagedClusterSecurityProfileNodeRestriction_STATUS `json:"nodeRestriction,omitempty"` - - // WorkloadIdentity: Workload identity settings for the security profile. Workload identity enables Kubernetes applications - // to access Azure cloud resources securely with Azure AD. See https://aka.ms/aks/wi for more details. - WorkloadIdentity *ManagedClusterSecurityProfileWorkloadIdentity_STATUS `json:"workloadIdentity,omitempty"` + AzureKeyVaultKms *AzureKeyVaultKms_STATUS `json:"azureKeyVaultKms,omitempty"` + CustomCATrustCertificates []string `json:"customCATrustCertificates,omitempty"` + Defender *ManagedClusterSecurityProfileDefender_STATUS `json:"defender,omitempty"` + ImageCleaner *ManagedClusterSecurityProfileImageCleaner_STATUS `json:"imageCleaner,omitempty"` + ImageIntegrity *ManagedClusterSecurityProfileImageIntegrity_STATUS `json:"imageIntegrity,omitempty"` + NodeRestriction *ManagedClusterSecurityProfileNodeRestriction_STATUS `json:"nodeRestriction,omitempty"` + WorkloadIdentity *ManagedClusterSecurityProfileWorkloadIdentity_STATUS `json:"workloadIdentity,omitempty"` } var _ genruntime.FromARMConverter = &ManagedClusterSecurityProfile_STATUS{} @@ -15114,14 +14140,10 @@ func (profile *ManagedClusterSecurityProfile_STATUS) AssignProperties_To_Managed return nil } -// Information about a service principal identity for the cluster to use for manipulating Azure APIs. type ManagedClusterServicePrincipalProfile struct { // +kubebuilder:validation:Required - // ClientId: The ID for the service principal. - ClientId *string `json:"clientId,omitempty"` - - // Secret: The secret password associated with the service principal in plain text. - Secret *genruntime.SecretReference `json:"secret,omitempty"` + ClientId *string `json:"clientId,omitempty"` + Secret *genruntime.SecretReference `json:"secret,omitempty"` } var _ genruntime.ARMTransformer = &ManagedClusterServicePrincipalProfile{} @@ -15220,9 +14242,7 @@ func (profile *ManagedClusterServicePrincipalProfile) AssignProperties_To_Manage return nil } -// Information about a service principal identity for the cluster to use for manipulating Azure APIs. type ManagedClusterServicePrincipalProfile_STATUS struct { - // ClientId: The ID for the service principal. ClientId *string `json:"clientId,omitempty"` } @@ -15279,13 +14299,8 @@ func (profile *ManagedClusterServicePrincipalProfile_STATUS) AssignProperties_To return nil } -// The SKU of a Managed Cluster. type ManagedClusterSKU struct { - // Name: The name of a managed cluster SKU. Name *ManagedClusterSKU_Name `json:"name,omitempty"` - - // Tier: If not specified, the default is 'Free'. See [AKS Pricing - // Tier](https://learn.microsoft.com/azure/aks/free-standard-pricing-tiers) for more details. Tier *ManagedClusterSKU_Tier `json:"tier,omitempty"` } @@ -15405,13 +14420,8 @@ func (clusterSKU *ManagedClusterSKU) AssignProperties_To_ManagedClusterSKU(desti return nil } -// The SKU of a Managed Cluster. type ManagedClusterSKU_STATUS struct { - // Name: The name of a managed cluster SKU. Name *ManagedClusterSKU_Name_STATUS `json:"name,omitempty"` - - // Tier: If not specified, the default is 'Free'. See [AKS Pricing - // Tier](https://learn.microsoft.com/azure/aks/free-standard-pricing-tiers) for more details. Tier *ManagedClusterSKU_Tier_STATUS `json:"tier,omitempty"` } @@ -15506,18 +14516,10 @@ func (clusterSKU *ManagedClusterSKU_STATUS) AssignProperties_To_ManagedClusterSK return nil } -// Storage profile for the container service cluster. type ManagedClusterStorageProfile struct { - // BlobCSIDriver: AzureBlob CSI Driver settings for the storage profile. - BlobCSIDriver *ManagedClusterStorageProfileBlobCSIDriver `json:"blobCSIDriver,omitempty"` - - // DiskCSIDriver: AzureDisk CSI Driver settings for the storage profile. - DiskCSIDriver *ManagedClusterStorageProfileDiskCSIDriver `json:"diskCSIDriver,omitempty"` - - // FileCSIDriver: AzureFile CSI Driver settings for the storage profile. - FileCSIDriver *ManagedClusterStorageProfileFileCSIDriver `json:"fileCSIDriver,omitempty"` - - // SnapshotController: Snapshot Controller settings for the storage profile. + BlobCSIDriver *ManagedClusterStorageProfileBlobCSIDriver `json:"blobCSIDriver,omitempty"` + DiskCSIDriver *ManagedClusterStorageProfileDiskCSIDriver `json:"diskCSIDriver,omitempty"` + FileCSIDriver *ManagedClusterStorageProfileFileCSIDriver `json:"fileCSIDriver,omitempty"` SnapshotController *ManagedClusterStorageProfileSnapshotController `json:"snapshotController,omitempty"` } @@ -15751,18 +14753,10 @@ func (profile *ManagedClusterStorageProfile) AssignProperties_To_ManagedClusterS return nil } -// Storage profile for the container service cluster. type ManagedClusterStorageProfile_STATUS struct { - // BlobCSIDriver: AzureBlob CSI Driver settings for the storage profile. - BlobCSIDriver *ManagedClusterStorageProfileBlobCSIDriver_STATUS `json:"blobCSIDriver,omitempty"` - - // DiskCSIDriver: AzureDisk CSI Driver settings for the storage profile. - DiskCSIDriver *ManagedClusterStorageProfileDiskCSIDriver_STATUS `json:"diskCSIDriver,omitempty"` - - // FileCSIDriver: AzureFile CSI Driver settings for the storage profile. - FileCSIDriver *ManagedClusterStorageProfileFileCSIDriver_STATUS `json:"fileCSIDriver,omitempty"` - - // SnapshotController: Snapshot Controller settings for the storage profile. + BlobCSIDriver *ManagedClusterStorageProfileBlobCSIDriver_STATUS `json:"blobCSIDriver,omitempty"` + DiskCSIDriver *ManagedClusterStorageProfileDiskCSIDriver_STATUS `json:"diskCSIDriver,omitempty"` + FileCSIDriver *ManagedClusterStorageProfileFileCSIDriver_STATUS `json:"fileCSIDriver,omitempty"` SnapshotController *ManagedClusterStorageProfileSnapshotController_STATUS `json:"snapshotController,omitempty"` } @@ -15947,40 +14941,14 @@ func (profile *ManagedClusterStorageProfile_STATUS) AssignProperties_To_ManagedC return nil } -// Profile for Windows VMs in the managed cluster. type ManagedClusterWindowsProfile struct { - // AdminPassword: Specifies the password of the administrator account. - // Minimum-length: 8 characters - // Max-length: 123 characters - // Complexity requirements: 3 out of 4 conditions below need to be fulfilled - // Has lower characters - // Has upper characters - // Has a digit - // Has a special character (Regex match [\W_]) - // Disallowed values: "abc@123", "P@$$w0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", - // "Password22", "iloveyou!" AdminPassword *genruntime.SecretReference `json:"adminPassword,omitempty"` // +kubebuilder:validation:Required - // AdminUsername: Specifies the name of the administrator account. - // Restriction: Cannot end in "." - // Disallowed values: "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", - // "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", - // "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5". - // Minimum-length: 1 character - // Max-length: 20 characters - AdminUsername *string `json:"adminUsername,omitempty"` - - // EnableCSIProxy: For more details on CSI proxy, see the [CSI proxy GitHub - // repo](https://github.com/kubernetes-csi/csi-proxy). - EnableCSIProxy *bool `json:"enableCSIProxy,omitempty"` - - // GmsaProfile: The Windows gMSA Profile in the Managed Cluster. - GmsaProfile *WindowsGmsaProfile `json:"gmsaProfile,omitempty"` - - // LicenseType: The license type to use for Windows VMs. See [Azure Hybrid User - // Benefits](https://azure.microsoft.com/pricing/hybrid-benefit/faq/) for more details. - LicenseType *ManagedClusterWindowsProfile_LicenseType `json:"licenseType,omitempty"` + AdminUsername *string `json:"adminUsername,omitempty"` + EnableCSIProxy *bool `json:"enableCSIProxy,omitempty"` + GmsaProfile *WindowsGmsaProfile `json:"gmsaProfile,omitempty"` + LicenseType *ManagedClusterWindowsProfile_LicenseType `json:"licenseType,omitempty"` } var _ genruntime.ARMTransformer = &ManagedClusterWindowsProfile{} @@ -16185,27 +15153,11 @@ func (profile *ManagedClusterWindowsProfile) AssignProperties_To_ManagedClusterW return nil } -// Profile for Windows VMs in the managed cluster. type ManagedClusterWindowsProfile_STATUS struct { - // AdminUsername: Specifies the name of the administrator account. - // Restriction: Cannot end in "." - // Disallowed values: "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", - // "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", - // "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5". - // Minimum-length: 1 character - // Max-length: 20 characters - AdminUsername *string `json:"adminUsername,omitempty"` - - // EnableCSIProxy: For more details on CSI proxy, see the [CSI proxy GitHub - // repo](https://github.com/kubernetes-csi/csi-proxy). - EnableCSIProxy *bool `json:"enableCSIProxy,omitempty"` - - // GmsaProfile: The Windows gMSA Profile in the Managed Cluster. - GmsaProfile *WindowsGmsaProfile_STATUS `json:"gmsaProfile,omitempty"` - - // LicenseType: The license type to use for Windows VMs. See [Azure Hybrid User - // Benefits](https://azure.microsoft.com/pricing/hybrid-benefit/faq/) for more details. - LicenseType *ManagedClusterWindowsProfile_LicenseType_STATUS `json:"licenseType,omitempty"` + AdminUsername *string `json:"adminUsername,omitempty"` + EnableCSIProxy *bool `json:"enableCSIProxy,omitempty"` + GmsaProfile *WindowsGmsaProfile_STATUS `json:"gmsaProfile,omitempty"` + LicenseType *ManagedClusterWindowsProfile_LicenseType_STATUS `json:"licenseType,omitempty"` } var _ genruntime.FromARMConverter = &ManagedClusterWindowsProfile_STATUS{} @@ -16343,9 +15295,7 @@ func (profile *ManagedClusterWindowsProfile_STATUS) AssignProperties_To_ManagedC return nil } -// Workload Auto-scaler profile for the managed cluster. type ManagedClusterWorkloadAutoScalerProfile struct { - // Keda: KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile. Keda *ManagedClusterWorkloadAutoScalerProfileKeda `json:"keda,omitempty"` VerticalPodAutoscaler *ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler `json:"verticalPodAutoscaler,omitempty"` } @@ -16490,9 +15440,7 @@ func (profile *ManagedClusterWorkloadAutoScalerProfile) AssignProperties_To_Mana return nil } -// Workload Auto-scaler profile for the managed cluster. type ManagedClusterWorkloadAutoScalerProfile_STATUS struct { - // Keda: KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile. Keda *ManagedClusterWorkloadAutoScalerProfileKeda_STATUS `json:"keda,omitempty"` VerticalPodAutoscaler *ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS `json:"verticalPodAutoscaler,omitempty"` } @@ -16608,9 +15556,7 @@ func (profile *ManagedClusterWorkloadAutoScalerProfile_STATUS) AssignProperties_ return nil } -// Describes the Power State of the cluster type PowerState_STATUS struct { - // Code: Tells whether the cluster is Running or Stopped Code *PowerState_Code_STATUS `json:"code,omitempty"` } @@ -16680,22 +15626,12 @@ func (state *PowerState_STATUS) AssignProperties_To_PowerState_STATUS(destinatio return nil } -// A private link resource type PrivateLinkResource struct { - // GroupId: The group ID of the resource. - GroupId *string `json:"groupId,omitempty"` - - // Name: The name of the private link resource. - Name *string `json:"name,omitempty"` - - // Reference: The ID of the private link resource. - Reference *genruntime.ResourceReference `armReference:"Id" json:"reference,omitempty"` - - // RequiredMembers: The RequiredMembers of the resource - RequiredMembers []string `json:"requiredMembers,omitempty"` - - // Type: The resource type. - Type *string `json:"type,omitempty"` + GroupId *string `json:"groupId,omitempty"` + Name *string `json:"name,omitempty"` + Reference *genruntime.ResourceReference `armReference:"Id" json:"reference,omitempty"` + RequiredMembers []string `json:"requiredMembers,omitempty"` + Type *string `json:"type,omitempty"` } var _ genruntime.ARMTransformer = &PrivateLinkResource{} @@ -16846,25 +15782,13 @@ func (resource *PrivateLinkResource) AssignProperties_To_PrivateLinkResource(des return nil } -// A private link resource type PrivateLinkResource_STATUS struct { - // GroupId: The group ID of the resource. - GroupId *string `json:"groupId,omitempty"` - - // Id: The ID of the private link resource. - Id *string `json:"id,omitempty"` - - // Name: The name of the private link resource. - Name *string `json:"name,omitempty"` - - // PrivateLinkServiceID: The private link service ID of the resource, this field is exposed only to NRP internally. - PrivateLinkServiceID *string `json:"privateLinkServiceID,omitempty"` - - // RequiredMembers: The RequiredMembers of the resource - RequiredMembers []string `json:"requiredMembers,omitempty"` - - // Type: The resource type. - Type *string `json:"type,omitempty"` + GroupId *string `json:"groupId,omitempty"` + Id *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + PrivateLinkServiceID *string `json:"privateLinkServiceID,omitempty"` + RequiredMembers []string `json:"requiredMembers,omitempty"` + Type *string `json:"type,omitempty"` } var _ genruntime.FromARMConverter = &PrivateLinkResource_STATUS{} @@ -16979,18 +15903,12 @@ func (resource *PrivateLinkResource_STATUS) AssignProperties_To_PrivateLinkResou return nil } -// The Safeguards profile. type SafeguardsProfile struct { - // ExcludedNamespaces: List of namespaces excluded from Safeguards checks ExcludedNamespaces []string `json:"excludedNamespaces,omitempty"` // +kubebuilder:validation:Required - // Level: The Safeguards level to be used. By default, Safeguards is enabled for all namespaces except those that AKS - // excludes via systemExcludedNamespaces - Level *SafeguardsProfile_Level `json:"level,omitempty"` - - // Version: The version of constraints to use - Version *string `json:"version,omitempty"` + Level *SafeguardsProfile_Level `json:"level,omitempty"` + Version *string `json:"version,omitempty"` } var _ genruntime.ARMTransformer = &SafeguardsProfile{} @@ -17110,20 +16028,11 @@ func (profile *SafeguardsProfile) AssignProperties_To_SafeguardsProfile(destinat return nil } -// The Safeguards profile. type SafeguardsProfile_STATUS struct { - // ExcludedNamespaces: List of namespaces excluded from Safeguards checks - ExcludedNamespaces []string `json:"excludedNamespaces,omitempty"` - - // Level: The Safeguards level to be used. By default, Safeguards is enabled for all namespaces except those that AKS - // excludes via systemExcludedNamespaces - Level *SafeguardsProfile_Level_STATUS `json:"level,omitempty"` - - // SystemExcludedNamespaces: List of namespaces specified by AKS to be excluded from Safeguards - SystemExcludedNamespaces []string `json:"systemExcludedNamespaces,omitempty"` - - // Version: The version of constraints to use - Version *string `json:"version,omitempty"` + ExcludedNamespaces []string `json:"excludedNamespaces,omitempty"` + Level *SafeguardsProfile_Level_STATUS `json:"level,omitempty"` + SystemExcludedNamespaces []string `json:"systemExcludedNamespaces,omitempty"` + Version *string `json:"version,omitempty"` } var _ genruntime.FromARMConverter = &SafeguardsProfile_STATUS{} @@ -17226,13 +16135,10 @@ func (profile *SafeguardsProfile_STATUS) AssignProperties_To_SafeguardsProfile_S return nil } -// Service mesh profile for a managed cluster. type ServiceMeshProfile struct { - // Istio: Istio service mesh configuration. Istio *IstioServiceMesh `json:"istio,omitempty"` // +kubebuilder:validation:Required - // Mode: Mode of the service mesh. Mode *ServiceMeshProfile_Mode `json:"mode,omitempty"` } @@ -17364,13 +16270,9 @@ func (profile *ServiceMeshProfile) AssignProperties_To_ServiceMeshProfile(destin return nil } -// Service mesh profile for a managed cluster. type ServiceMeshProfile_STATUS struct { - // Istio: Istio service mesh configuration. - Istio *IstioServiceMesh_STATUS `json:"istio,omitempty"` - - // Mode: Mode of the service mesh. - Mode *ServiceMeshProfile_Mode_STATUS `json:"mode,omitempty"` + Istio *IstioServiceMesh_STATUS `json:"istio,omitempty"` + Mode *ServiceMeshProfile_Mode_STATUS `json:"mode,omitempty"` } var _ genruntime.FromARMConverter = &ServiceMeshProfile_STATUS{} @@ -17474,24 +16376,12 @@ func (profile *ServiceMeshProfile_STATUS) AssignProperties_To_ServiceMeshProfile return nil } -// Metadata pertaining to creation and last modification of the resource. type SystemData_STATUS struct { - // CreatedAt: The timestamp of resource creation (UTC). - CreatedAt *string `json:"createdAt,omitempty"` - - // CreatedBy: The identity that created the resource. - CreatedBy *string `json:"createdBy,omitempty"` - - // CreatedByType: The type of identity that created the resource. - CreatedByType *SystemData_CreatedByType_STATUS `json:"createdByType,omitempty"` - - // LastModifiedAt: The timestamp of resource last modification (UTC) - LastModifiedAt *string `json:"lastModifiedAt,omitempty"` - - // LastModifiedBy: The identity that last modified the resource. - LastModifiedBy *string `json:"lastModifiedBy,omitempty"` - - // LastModifiedByType: The type of identity that last modified the resource. + CreatedAt *string `json:"createdAt,omitempty"` + CreatedBy *string `json:"createdBy,omitempty"` + CreatedByType *SystemData_CreatedByType_STATUS `json:"createdByType,omitempty"` + LastModifiedAt *string `json:"lastModifiedAt,omitempty"` + LastModifiedBy *string `json:"lastModifiedBy,omitempty"` LastModifiedByType *SystemData_LastModifiedByType_STATUS `json:"lastModifiedByType,omitempty"` } @@ -17634,15 +16524,9 @@ func (data *SystemData_STATUS) AssignProperties_To_SystemData_STATUS(destination return nil } -// Details about a user assigned identity. type UserAssignedIdentity struct { - // ClientId: The client ID of the user assigned identity. - ClientId *string `json:"clientId,omitempty"` - - // ObjectId: The object ID of the user assigned identity. - ObjectId *string `json:"objectId,omitempty"` - - // ResourceReference: The resource ID of the user assigned identity. + ClientId *string `json:"clientId,omitempty"` + ObjectId *string `json:"objectId,omitempty"` ResourceReference *genruntime.ResourceReference `armReference:"ResourceId" json:"resourceReference,omitempty"` } @@ -17760,15 +16644,9 @@ func (identity *UserAssignedIdentity) AssignProperties_To_UserAssignedIdentity(d return nil } -// Details about a user assigned identity. type UserAssignedIdentity_STATUS struct { - // ClientId: The client ID of the user assigned identity. - ClientId *string `json:"clientId,omitempty"` - - // ObjectId: The object ID of the user assigned identity. - ObjectId *string `json:"objectId,omitempty"` - - // ResourceId: The resource ID of the user assigned identity. + ClientId *string `json:"clientId,omitempty"` + ObjectId *string `json:"objectId,omitempty"` ResourceId *string `json:"resourceId,omitempty"` } @@ -17849,25 +16727,11 @@ func (identity *UserAssignedIdentity_STATUS) AssignProperties_To_UserAssignedIde return nil } -// Azure Key Vault key management service settings for the security profile. type AzureKeyVaultKms struct { - // Enabled: Whether to enable Azure Key Vault key management service. The default is false. - Enabled *bool `json:"enabled,omitempty"` - - // KeyId: Identifier of Azure Key Vault key. See [key identifier - // format](https://docs.microsoft.com/en-us/azure/key-vault/general/about-keys-secrets-certificates#vault-name-and-object-name) - // for more details. When Azure Key Vault key management service is enabled, this field is required and must be a valid key - // identifier. When Azure Key Vault key management service is disabled, leave the field empty. - KeyId *string `json:"keyId,omitempty"` - - // KeyVaultNetworkAccess: Network access of key vault. The possible values are `Public` and `Private`. `Public` means the - // key vault allows public access from all networks. `Private` means the key vault disables public access and enables - // private link. The default value is `Public`. - KeyVaultNetworkAccess *AzureKeyVaultKms_KeyVaultNetworkAccess `json:"keyVaultNetworkAccess,omitempty"` - - // KeyVaultResourceReference: Resource ID of key vault. When keyVaultNetworkAccess is `Private`, this field is required and - // must be a valid resource ID. When keyVaultNetworkAccess is `Public`, leave the field empty. - KeyVaultResourceReference *genruntime.ResourceReference `armReference:"KeyVaultResourceId" json:"keyVaultResourceReference,omitempty"` + Enabled *bool `json:"enabled,omitempty"` + KeyId *string `json:"keyId,omitempty"` + KeyVaultNetworkAccess *AzureKeyVaultKms_KeyVaultNetworkAccess `json:"keyVaultNetworkAccess,omitempty"` + KeyVaultResourceReference *genruntime.ResourceReference `armReference:"KeyVaultResourceId" json:"keyVaultResourceReference,omitempty"` } var _ genruntime.ARMTransformer = &AzureKeyVaultKms{} @@ -18027,25 +16891,11 @@ func (vaultKms *AzureKeyVaultKms) AssignProperties_To_AzureKeyVaultKms(destinati return nil } -// Azure Key Vault key management service settings for the security profile. type AzureKeyVaultKms_STATUS struct { - // Enabled: Whether to enable Azure Key Vault key management service. The default is false. - Enabled *bool `json:"enabled,omitempty"` - - // KeyId: Identifier of Azure Key Vault key. See [key identifier - // format](https://docs.microsoft.com/en-us/azure/key-vault/general/about-keys-secrets-certificates#vault-name-and-object-name) - // for more details. When Azure Key Vault key management service is enabled, this field is required and must be a valid key - // identifier. When Azure Key Vault key management service is disabled, leave the field empty. - KeyId *string `json:"keyId,omitempty"` - - // KeyVaultNetworkAccess: Network access of key vault. The possible values are `Public` and `Private`. `Public` means the - // key vault allows public access from all networks. `Private` means the key vault disables public access and enables - // private link. The default value is `Public`. + Enabled *bool `json:"enabled,omitempty"` + KeyId *string `json:"keyId,omitempty"` KeyVaultNetworkAccess *AzureKeyVaultKms_KeyVaultNetworkAccess_STATUS `json:"keyVaultNetworkAccess,omitempty"` - - // KeyVaultResourceId: Resource ID of key vault. When keyVaultNetworkAccess is `Private`, this field is required and must - // be a valid resource ID. When keyVaultNetworkAccess is `Public`, leave the field empty. - KeyVaultResourceId *string `json:"keyVaultResourceId,omitempty"` + KeyVaultResourceId *string `json:"keyVaultResourceId,omitempty"` } var _ genruntime.FromARMConverter = &AzureKeyVaultKms_STATUS{} @@ -18161,15 +17011,9 @@ func (vaultKms *AzureKeyVaultKms_STATUS) AssignProperties_To_AzureKeyVaultKms_ST } type ContainerServiceNetworkProfile_KubeProxyConfig struct { - // Enabled: Whether to enable on kube-proxy on the cluster (if no 'kubeProxyConfig' exists, kube-proxy is enabled in AKS by - // default without these customizations). - Enabled *bool `json:"enabled,omitempty"` - - // IpvsConfig: Holds configuration customizations for IPVS. May only be specified if 'mode' is set to 'IPVS'. + Enabled *bool `json:"enabled,omitempty"` IpvsConfig *ContainerServiceNetworkProfile_KubeProxyConfig_IpvsConfig `json:"ipvsConfig,omitempty"` - - // Mode: Specify which proxy mode to use ('IPTABLES' or 'IPVS') - Mode *ContainerServiceNetworkProfile_KubeProxyConfig_Mode `json:"mode,omitempty"` + Mode *ContainerServiceNetworkProfile_KubeProxyConfig_Mode `json:"mode,omitempty"` } var _ genruntime.ARMTransformer = &ContainerServiceNetworkProfile_KubeProxyConfig{} @@ -18329,15 +17173,9 @@ func (config *ContainerServiceNetworkProfile_KubeProxyConfig) AssignProperties_T } type ContainerServiceNetworkProfile_KubeProxyConfig_STATUS struct { - // Enabled: Whether to enable on kube-proxy on the cluster (if no 'kubeProxyConfig' exists, kube-proxy is enabled in AKS by - // default without these customizations). - Enabled *bool `json:"enabled,omitempty"` - - // IpvsConfig: Holds configuration customizations for IPVS. May only be specified if 'mode' is set to 'IPVS'. + Enabled *bool `json:"enabled,omitempty"` IpvsConfig *ContainerServiceNetworkProfile_KubeProxyConfig_IpvsConfig_STATUS `json:"ipvsConfig,omitempty"` - - // Mode: Specify which proxy mode to use ('IPTABLES' or 'IPVS') - Mode *ContainerServiceNetworkProfile_KubeProxyConfig_Mode_STATUS `json:"mode,omitempty"` + Mode *ContainerServiceNetworkProfile_KubeProxyConfig_Mode_STATUS `json:"mode,omitempty"` } var _ genruntime.FromARMConverter = &ContainerServiceNetworkProfile_KubeProxyConfig_STATUS{} @@ -18498,10 +17336,8 @@ var containerServiceNetworkProfile_OutboundType_STATUS_Values = map[string]Conta "userdefinedrouting": ContainerServiceNetworkProfile_OutboundType_STATUS_UserDefinedRouting, } -// SSH configuration for Linux-based VMs running on Azure. type ContainerServiceSshConfiguration struct { // +kubebuilder:validation:Required - // PublicKeys: The list of SSH public keys used to authenticate with Linux-based VMs. A maximum of 1 key may be specified. PublicKeys []ContainerServiceSshPublicKey `json:"publicKeys,omitempty"` } @@ -18610,9 +17446,7 @@ func (configuration *ContainerServiceSshConfiguration) AssignProperties_To_Conta return nil } -// SSH configuration for Linux-based VMs running on Azure. type ContainerServiceSshConfiguration_STATUS struct { - // PublicKeys: The list of SSH public keys used to authenticate with Linux-based VMs. A maximum of 1 key may be specified. PublicKeys []ContainerServiceSshPublicKey_STATUS `json:"publicKeys,omitempty"` } @@ -18703,19 +17537,12 @@ func (configuration *ContainerServiceSshConfiguration_STATUS) AssignProperties_T return nil } -// Delegated resource properties - internal use only. type DelegatedResource struct { - // Location: The source resource location - internal use only. - Location *string `json:"location,omitempty"` - - // ReferralResource: The delegation id of the referral delegation (optional) - internal use only. - ReferralResource *string `json:"referralResource,omitempty"` - - // ResourceReference: The ARM resource id of the delegated resource - internal use only. + Location *string `json:"location,omitempty"` + ReferralResource *string `json:"referralResource,omitempty"` ResourceReference *genruntime.ResourceReference `armReference:"ResourceId" json:"resourceReference,omitempty"` // +kubebuilder:validation:Pattern="^[0-9a-fA-F]{8}(-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$" - // TenantId: The tenant id of the delegated resource - internal use only. TenantId *string `json:"tenantId,omitempty"` } @@ -18861,19 +17688,11 @@ func (resource *DelegatedResource) AssignProperties_To_DelegatedResource(destina return nil } -// Delegated resource properties - internal use only. type DelegatedResource_STATUS struct { - // Location: The source resource location - internal use only. - Location *string `json:"location,omitempty"` - - // ReferralResource: The delegation id of the referral delegation (optional) - internal use only. + Location *string `json:"location,omitempty"` ReferralResource *string `json:"referralResource,omitempty"` - - // ResourceId: The ARM resource id of the delegated resource - internal use only. - ResourceId *string `json:"resourceId,omitempty"` - - // TenantId: The tenant id of the delegated resource - internal use only. - TenantId *string `json:"tenantId,omitempty"` + ResourceId *string `json:"resourceId,omitempty"` + TenantId *string `json:"tenantId,omitempty"` } var _ genruntime.FromARMConverter = &DelegatedResource_STATUS{} @@ -18965,9 +17784,6 @@ func (resource *DelegatedResource_STATUS) AssignProperties_To_DelegatedResource_ return nil } -// If not specified, the default is 'random'. See -// [expanders](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md#what-are-expanders) for more -// information. // +kubebuilder:validation:Enum={"least-waste","most-pods","priority","random"} type Expander string @@ -18986,9 +17802,6 @@ var expander_Values = map[string]Expander{ "random": Expander_Random, } -// If not specified, the default is 'random'. See -// [expanders](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md#what-are-expanders) for more -// information. type Expander_STATUS string const ( @@ -19006,7 +17819,6 @@ var expander_STATUS_Values = map[string]Expander_STATUS{ "random": Expander_STATUS_Random, } -// The type of extendedLocation. // +kubebuilder:validation:Enum={"EdgeZone"} type ExtendedLocationType string @@ -19017,7 +17829,6 @@ var extendedLocationType_Values = map[string]ExtendedLocationType{ "edgezone": ExtendedLocationType_EdgeZone, } -// The type of extendedLocation. type ExtendedLocationType_STATUS string const ExtendedLocationType_STATUS_EdgeZone = ExtendedLocationType_STATUS("EdgeZone") @@ -19027,7 +17838,6 @@ var extendedLocationType_STATUS_Values = map[string]ExtendedLocationType_STATUS{ "edgezone": ExtendedLocationType_STATUS_EdgeZone, } -// To determine if address belongs IPv4 or IPv6 family. // +kubebuilder:validation:Enum={"IPv4","IPv6"} type IpFamily string @@ -19042,7 +17852,6 @@ var ipFamily_Values = map[string]IpFamily{ "ipv6": IpFamily_IPv6, } -// To determine if address belongs IPv4 or IPv6 family. type IpFamily_STATUS string const ( @@ -19056,19 +17865,11 @@ var ipFamily_STATUS_Values = map[string]IpFamily_STATUS{ "ipv6": IpFamily_STATUS_IPv6, } -// Istio service mesh configuration. type IstioServiceMesh struct { - // CertificateAuthority: Istio Service Mesh Certificate Authority (CA) configuration. For now, we only support plugin - // certificates as described here https://aka.ms/asm-plugin-ca CertificateAuthority *IstioCertificateAuthority `json:"certificateAuthority,omitempty"` - - // Components: Istio components configuration. - Components *IstioComponents `json:"components,omitempty"` + Components *IstioComponents `json:"components,omitempty"` // +kubebuilder:validation:MaxItems=2 - // Revisions: The list of revisions of the Istio control plane. When an upgrade is not in progress, this holds one value. - // When canary upgrade is in progress, this can only hold two consecutive values. For more information, see: - // https://learn.microsoft.com/en-us/azure/aks/istio-upgrade Revisions []string `json:"revisions,omitempty"` } @@ -19248,19 +18049,10 @@ func (mesh *IstioServiceMesh) AssignProperties_To_IstioServiceMesh(destination * return nil } -// Istio service mesh configuration. type IstioServiceMesh_STATUS struct { - // CertificateAuthority: Istio Service Mesh Certificate Authority (CA) configuration. For now, we only support plugin - // certificates as described here https://aka.ms/asm-plugin-ca CertificateAuthority *IstioCertificateAuthority_STATUS `json:"certificateAuthority,omitempty"` - - // Components: Istio components configuration. - Components *IstioComponents_STATUS `json:"components,omitempty"` - - // Revisions: The list of revisions of the Istio control plane. When an upgrade is not in progress, this holds one value. - // When canary upgrade is in progress, this can only hold two consecutive values. For more information, see: - // https://learn.microsoft.com/en-us/azure/aks/istio-upgrade - Revisions []string `json:"revisions,omitempty"` + Components *IstioComponents_STATUS `json:"components,omitempty"` + Revisions []string `json:"revisions,omitempty"` } var _ genruntime.FromARMConverter = &IstioServiceMesh_STATUS{} @@ -19385,8 +18177,6 @@ func (mesh *IstioServiceMesh_STATUS) AssignProperties_To_IstioServiceMesh_STATUS return nil } -// The default is 'standard'. See [Azure Load Balancer SKUs](https://docs.microsoft.com/azure/load-balancer/skus) for more -// information about the differences between load balancer SKUs. // +kubebuilder:validation:Enum={"basic","standard"} type LoadBalancerSku string @@ -19401,8 +18191,6 @@ var loadBalancerSku_Values = map[string]LoadBalancerSku{ "standard": LoadBalancerSku_Standard, } -// The default is 'standard'. See [Azure Load Balancer SKUs](https://docs.microsoft.com/azure/load-balancer/skus) for more -// information about the differences between load balancer SKUs. type LoadBalancerSku_STATUS string const ( @@ -19490,16 +18278,8 @@ var managedClusterAutoUpgradeProfile_UpgradeChannel_STATUS_Values = map[string]M "stable": ManagedClusterAutoUpgradeProfile_UpgradeChannel_STATUS_Stable, } -// Logs profile for the Azure Monitor Infrastructure and Application Logs. Collect out-of-the-box Kubernetes infrastructure -// & application logs to send to Azure Monitor. See aka.ms/AzureMonitorContainerInsights for an overview. type ManagedClusterAzureMonitorProfileLogs struct { - // AppMonitoring: Application Monitoring Profile for Kubernetes Application Container. Collects application logs, metrics - // and traces through auto-instrumentation of the application using Azure Monitor OpenTelemetry based SDKs. See - // aka.ms/AzureMonitorApplicationMonitoring for an overview. - AppMonitoring *ManagedClusterAzureMonitorProfileAppMonitoring `json:"appMonitoring,omitempty"` - - // ContainerInsights: Azure Monitor Container Insights Profile for Kubernetes Events, Inventory and Container stdout & - // stderr logs etc. See aka.ms/AzureMonitorContainerInsights for an overview. + AppMonitoring *ManagedClusterAzureMonitorProfileAppMonitoring `json:"appMonitoring,omitempty"` ContainerInsights *ManagedClusterAzureMonitorProfileContainerInsights `json:"containerInsights,omitempty"` } @@ -19643,16 +18423,8 @@ func (logs *ManagedClusterAzureMonitorProfileLogs) AssignProperties_To_ManagedCl return nil } -// Logs profile for the Azure Monitor Infrastructure and Application Logs. Collect out-of-the-box Kubernetes infrastructure -// & application logs to send to Azure Monitor. See aka.ms/AzureMonitorContainerInsights for an overview. type ManagedClusterAzureMonitorProfileLogs_STATUS struct { - // AppMonitoring: Application Monitoring Profile for Kubernetes Application Container. Collects application logs, metrics - // and traces through auto-instrumentation of the application using Azure Monitor OpenTelemetry based SDKs. See - // aka.ms/AzureMonitorApplicationMonitoring for an overview. - AppMonitoring *ManagedClusterAzureMonitorProfileAppMonitoring_STATUS `json:"appMonitoring,omitempty"` - - // ContainerInsights: Azure Monitor Container Insights Profile for Kubernetes Events, Inventory and Container stdout & - // stderr logs etc. See aka.ms/AzureMonitorContainerInsights for an overview. + AppMonitoring *ManagedClusterAzureMonitorProfileAppMonitoring_STATUS `json:"appMonitoring,omitempty"` ContainerInsights *ManagedClusterAzureMonitorProfileContainerInsights_STATUS `json:"containerInsights,omitempty"` } @@ -19767,18 +18539,11 @@ func (logs *ManagedClusterAzureMonitorProfileLogs_STATUS) AssignProperties_To_Ma return nil } -// Metrics profile for the prometheus service addon type ManagedClusterAzureMonitorProfileMetrics struct { - // AppMonitoringOpenTelemetryMetrics: Application Monitoring Open Telemetry Metrics Profile for Kubernetes Application - // Container Metrics. Collects OpenTelemetry metrics through auto-instrumentation of the application using Azure Monitor - // OpenTelemetry based SDKs. See aka.ms/AzureMonitorApplicationMonitoring for an overview. AppMonitoringOpenTelemetryMetrics *ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetrics `json:"appMonitoringOpenTelemetryMetrics,omitempty"` // +kubebuilder:validation:Required - // Enabled: Whether to enable the Prometheus collector - Enabled *bool `json:"enabled,omitempty"` - - // KubeStateMetrics: Kube State Metrics for prometheus addon profile for the container service cluster + Enabled *bool `json:"enabled,omitempty"` KubeStateMetrics *ManagedClusterAzureMonitorProfileKubeStateMetrics `json:"kubeStateMetrics,omitempty"` } @@ -19950,18 +18715,10 @@ func (metrics *ManagedClusterAzureMonitorProfileMetrics) AssignProperties_To_Man return nil } -// Metrics profile for the prometheus service addon type ManagedClusterAzureMonitorProfileMetrics_STATUS struct { - // AppMonitoringOpenTelemetryMetrics: Application Monitoring Open Telemetry Metrics Profile for Kubernetes Application - // Container Metrics. Collects OpenTelemetry metrics through auto-instrumentation of the application using Azure Monitor - // OpenTelemetry based SDKs. See aka.ms/AzureMonitorApplicationMonitoring for an overview. AppMonitoringOpenTelemetryMetrics *ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetrics_STATUS `json:"appMonitoringOpenTelemetryMetrics,omitempty"` - - // Enabled: Whether to enable the Prometheus collector - Enabled *bool `json:"enabled,omitempty"` - - // KubeStateMetrics: Kube State Metrics for prometheus addon profile for the container service cluster - KubeStateMetrics *ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS `json:"kubeStateMetrics,omitempty"` + Enabled *bool `json:"enabled,omitempty"` + KubeStateMetrics *ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS `json:"kubeStateMetrics,omitempty"` } var _ genruntime.FromARMConverter = &ManagedClusterAzureMonitorProfileMetrics_STATUS{} @@ -20097,11 +18854,7 @@ func (metrics *ManagedClusterAzureMonitorProfileMetrics_STATUS) AssignProperties return nil } -// The cost analysis configuration for the cluster type ManagedClusterCostAnalysis struct { - // Enabled: The Managed Cluster sku.tier must be set to 'Standard' to enable this feature. Enabling this will add - // Kubernetes Namespace and Deployment details to the Cost Analysis views in the Azure portal. If not specified, the - // default is false. For more information see aka.ms/aks/docs/cost-analysis. Enabled *bool `json:"enabled,omitempty"` } @@ -20183,11 +18936,7 @@ func (analysis *ManagedClusterCostAnalysis) AssignProperties_To_ManagedClusterCo return nil } -// The cost analysis configuration for the cluster type ManagedClusterCostAnalysis_STATUS struct { - // Enabled: The Managed Cluster sku.tier must be set to 'Standard' to enable this feature. Enabling this will add - // Kubernetes Namespace and Deployment details to the Cost Analysis views in the Azure portal. If not specified, the - // default is false. For more information see aka.ms/aks/docs/cost-analysis. Enabled *bool `json:"enabled,omitempty"` } @@ -20286,10 +19035,7 @@ var managedClusterIdentity_Type_STATUS_Values = map[string]ManagedClusterIdentit } type ManagedClusterIdentity_UserAssignedIdentities_STATUS struct { - // ClientId: The client id of user assigned identity. - ClientId *string `json:"clientId,omitempty"` - - // PrincipalId: The principal id of user assigned identity. + ClientId *string `json:"clientId,omitempty"` PrincipalId *string `json:"principalId,omitempty"` } @@ -20358,15 +19104,9 @@ func (identities *ManagedClusterIdentity_UserAssignedIdentities_STATUS) AssignPr return nil } -// Web App Routing settings for the ingress profile. type ManagedClusterIngressProfileWebAppRouting struct { - // DnsZoneResourceReferences: Resource IDs of the DNS zones to be associated with the Web App Routing add-on. Used only - // when Web App Routing is enabled. Public and private DNS zones can be in different resource groups, but all public DNS - // zones must be in the same resource group and all private DNS zones must be in the same resource group. DnsZoneResourceReferences []genruntime.ResourceReference `armReference:"DnsZoneResourceIds" json:"dnsZoneResourceReferences,omitempty"` - - // Enabled: Whether to enable Web App Routing. - Enabled *bool `json:"enabled,omitempty"` + Enabled *bool `json:"enabled,omitempty"` } var _ genruntime.ARMTransformer = &ManagedClusterIngressProfileWebAppRouting{} @@ -20484,21 +19224,10 @@ func (routing *ManagedClusterIngressProfileWebAppRouting) AssignProperties_To_Ma return nil } -// Web App Routing settings for the ingress profile. type ManagedClusterIngressProfileWebAppRouting_STATUS struct { - // DnsZoneResourceIds: Resource IDs of the DNS zones to be associated with the Web App Routing add-on. Used only when Web - // App Routing is enabled. Public and private DNS zones can be in different resource groups, but all public DNS zones must - // be in the same resource group and all private DNS zones must be in the same resource group. - DnsZoneResourceIds []string `json:"dnsZoneResourceIds,omitempty"` - - // Enabled: Whether to enable Web App Routing. - Enabled *bool `json:"enabled,omitempty"` - - // Identity: Managed identity of the Web Application Routing add-on. This is the identity that should be granted - // permissions, for example, to manage the associated Azure DNS resource and get certificates from Azure Key Vault. See - // [this overview of the add-on](https://learn.microsoft.com/en-us/azure/aks/web-app-routing?tabs=with-osm) for more - // instructions. - Identity *UserAssignedIdentity_STATUS `json:"identity,omitempty"` + DnsZoneResourceIds []string `json:"dnsZoneResourceIds,omitempty"` + Enabled *bool `json:"enabled,omitempty"` + Identity *UserAssignedIdentity_STATUS `json:"identity,omitempty"` } var _ genruntime.FromARMConverter = &ManagedClusterIngressProfileWebAppRouting_STATUS{} @@ -20610,37 +19339,20 @@ func (routing *ManagedClusterIngressProfileWebAppRouting_STATUS) AssignPropertie return nil } -// Profile of the managed cluster load balancer. type ManagedClusterLoadBalancerProfile struct { // +kubebuilder:validation:Maximum=64000 // +kubebuilder:validation:Minimum=0 - // AllocatedOutboundPorts: The desired number of allocated SNAT ports per VM. Allowed values are in the range of 0 to 64000 - // (inclusive). The default value is 0 which results in Azure dynamically allocating ports. - AllocatedOutboundPorts *int `json:"allocatedOutboundPorts,omitempty"` - - // BackendPoolType: The type of the managed inbound Load Balancer BackendPool. - BackendPoolType *ManagedClusterLoadBalancerProfile_BackendPoolType `json:"backendPoolType,omitempty"` - - // EffectiveOutboundIPs: The effective outbound IP resources of the cluster load balancer. - EffectiveOutboundIPs []ResourceReference `json:"effectiveOutboundIPs,omitempty"` - - // EnableMultipleStandardLoadBalancers: Enable multiple standard load balancers per AKS cluster or not. - EnableMultipleStandardLoadBalancers *bool `json:"enableMultipleStandardLoadBalancers,omitempty"` + AllocatedOutboundPorts *int `json:"allocatedOutboundPorts,omitempty"` + BackendPoolType *ManagedClusterLoadBalancerProfile_BackendPoolType `json:"backendPoolType,omitempty"` + EffectiveOutboundIPs []ResourceReference `json:"effectiveOutboundIPs,omitempty"` + EnableMultipleStandardLoadBalancers *bool `json:"enableMultipleStandardLoadBalancers,omitempty"` // +kubebuilder:validation:Maximum=120 // +kubebuilder:validation:Minimum=4 - // IdleTimeoutInMinutes: Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 - // (inclusive). The default value is 30 minutes. - IdleTimeoutInMinutes *int `json:"idleTimeoutInMinutes,omitempty"` - - // ManagedOutboundIPs: Desired managed outbound IPs for the cluster load balancer. - ManagedOutboundIPs *ManagedClusterLoadBalancerProfile_ManagedOutboundIPs `json:"managedOutboundIPs,omitempty"` - - // OutboundIPPrefixes: Desired outbound IP Prefix resources for the cluster load balancer. - OutboundIPPrefixes *ManagedClusterLoadBalancerProfile_OutboundIPPrefixes `json:"outboundIPPrefixes,omitempty"` - - // OutboundIPs: Desired outbound IP resources for the cluster load balancer. - OutboundIPs *ManagedClusterLoadBalancerProfile_OutboundIPs `json:"outboundIPs,omitempty"` + IdleTimeoutInMinutes *int `json:"idleTimeoutInMinutes,omitempty"` + ManagedOutboundIPs *ManagedClusterLoadBalancerProfile_ManagedOutboundIPs `json:"managedOutboundIPs,omitempty"` + OutboundIPPrefixes *ManagedClusterLoadBalancerProfile_OutboundIPPrefixes `json:"outboundIPPrefixes,omitempty"` + OutboundIPs *ManagedClusterLoadBalancerProfile_OutboundIPs `json:"outboundIPs,omitempty"` } var _ genruntime.ARMTransformer = &ManagedClusterLoadBalancerProfile{} @@ -21000,33 +19712,15 @@ func (profile *ManagedClusterLoadBalancerProfile) AssignProperties_To_ManagedClu return nil } -// Profile of the managed cluster load balancer. type ManagedClusterLoadBalancerProfile_STATUS struct { - // AllocatedOutboundPorts: The desired number of allocated SNAT ports per VM. Allowed values are in the range of 0 to 64000 - // (inclusive). The default value is 0 which results in Azure dynamically allocating ports. - AllocatedOutboundPorts *int `json:"allocatedOutboundPorts,omitempty"` - - // BackendPoolType: The type of the managed inbound Load Balancer BackendPool. - BackendPoolType *ManagedClusterLoadBalancerProfile_BackendPoolType_STATUS `json:"backendPoolType,omitempty"` - - // EffectiveOutboundIPs: The effective outbound IP resources of the cluster load balancer. - EffectiveOutboundIPs []ResourceReference_STATUS `json:"effectiveOutboundIPs,omitempty"` - - // EnableMultipleStandardLoadBalancers: Enable multiple standard load balancers per AKS cluster or not. - EnableMultipleStandardLoadBalancers *bool `json:"enableMultipleStandardLoadBalancers,omitempty"` - - // IdleTimeoutInMinutes: Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 - // (inclusive). The default value is 30 minutes. - IdleTimeoutInMinutes *int `json:"idleTimeoutInMinutes,omitempty"` - - // ManagedOutboundIPs: Desired managed outbound IPs for the cluster load balancer. - ManagedOutboundIPs *ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS `json:"managedOutboundIPs,omitempty"` - - // OutboundIPPrefixes: Desired outbound IP Prefix resources for the cluster load balancer. - OutboundIPPrefixes *ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS `json:"outboundIPPrefixes,omitempty"` - - // OutboundIPs: Desired outbound IP resources for the cluster load balancer. - OutboundIPs *ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS `json:"outboundIPs,omitempty"` + AllocatedOutboundPorts *int `json:"allocatedOutboundPorts,omitempty"` + BackendPoolType *ManagedClusterLoadBalancerProfile_BackendPoolType_STATUS `json:"backendPoolType,omitempty"` + EffectiveOutboundIPs []ResourceReference_STATUS `json:"effectiveOutboundIPs,omitempty"` + EnableMultipleStandardLoadBalancers *bool `json:"enableMultipleStandardLoadBalancers,omitempty"` + IdleTimeoutInMinutes *int `json:"idleTimeoutInMinutes,omitempty"` + ManagedOutboundIPs *ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS `json:"managedOutboundIPs,omitempty"` + OutboundIPPrefixes *ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS `json:"outboundIPPrefixes,omitempty"` + OutboundIPs *ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS `json:"outboundIPs,omitempty"` } var _ genruntime.FromARMConverter = &ManagedClusterLoadBalancerProfile_STATUS{} @@ -21292,18 +19986,12 @@ func (profile *ManagedClusterLoadBalancerProfile_STATUS) AssignProperties_To_Man return nil } -// Profile of the managed cluster NAT gateway. type ManagedClusterNATGatewayProfile struct { - // EffectiveOutboundIPs: The effective outbound IP resources of the cluster NAT gateway. EffectiveOutboundIPs []ResourceReference `json:"effectiveOutboundIPs,omitempty"` // +kubebuilder:validation:Maximum=120 // +kubebuilder:validation:Minimum=4 - // IdleTimeoutInMinutes: Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 - // (inclusive). The default value is 4 minutes. - IdleTimeoutInMinutes *int `json:"idleTimeoutInMinutes,omitempty"` - - // ManagedOutboundIPProfile: Profile of the managed outbound IP resources of the cluster NAT gateway. + IdleTimeoutInMinutes *int `json:"idleTimeoutInMinutes,omitempty"` ManagedOutboundIPProfile *ManagedClusterManagedOutboundIPProfile `json:"managedOutboundIPProfile,omitempty"` } @@ -21485,16 +20173,9 @@ func (profile *ManagedClusterNATGatewayProfile) AssignProperties_To_ManagedClust return nil } -// Profile of the managed cluster NAT gateway. type ManagedClusterNATGatewayProfile_STATUS struct { - // EffectiveOutboundIPs: The effective outbound IP resources of the cluster NAT gateway. - EffectiveOutboundIPs []ResourceReference_STATUS `json:"effectiveOutboundIPs,omitempty"` - - // IdleTimeoutInMinutes: Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 - // (inclusive). The default value is 4 minutes. - IdleTimeoutInMinutes *int `json:"idleTimeoutInMinutes,omitempty"` - - // ManagedOutboundIPProfile: Profile of the managed outbound IP resources of the cluster NAT gateway. + EffectiveOutboundIPs []ResourceReference_STATUS `json:"effectiveOutboundIPs,omitempty"` + IdleTimeoutInMinutes *int `json:"idleTimeoutInMinutes,omitempty"` ManagedOutboundIPProfile *ManagedClusterManagedOutboundIPProfile_STATUS `json:"managedOutboundIPProfile,omitempty"` } @@ -21796,21 +20477,16 @@ func (secrets *ManagedClusterOperatorSecrets) AssignProperties_To_ManagedCluster return nil } -// Details about the pod identity assigned to the Managed Cluster. type ManagedClusterPodIdentity struct { - // BindingSelector: The binding selector to use for the AzureIdentityBinding resource. BindingSelector *string `json:"bindingSelector,omitempty"` // +kubebuilder:validation:Required - // Identity: The user assigned identity details. Identity *UserAssignedIdentity `json:"identity,omitempty"` // +kubebuilder:validation:Required - // Name: The name of the pod identity. Name *string `json:"name,omitempty"` // +kubebuilder:validation:Required - // Namespace: The namespace of the pod identity. Namespace *string `json:"namespace,omitempty"` } @@ -21963,22 +20639,12 @@ func (identity *ManagedClusterPodIdentity) AssignProperties_To_ManagedClusterPod return nil } -// Details about the pod identity assigned to the Managed Cluster. type ManagedClusterPodIdentity_STATUS struct { - // BindingSelector: The binding selector to use for the AzureIdentityBinding resource. - BindingSelector *string `json:"bindingSelector,omitempty"` - - // Identity: The user assigned identity details. - Identity *UserAssignedIdentity_STATUS `json:"identity,omitempty"` - - // Name: The name of the pod identity. - Name *string `json:"name,omitempty"` - - // Namespace: The namespace of the pod identity. - Namespace *string `json:"namespace,omitempty"` - ProvisioningInfo *ManagedClusterPodIdentity_ProvisioningInfo_STATUS `json:"provisioningInfo,omitempty"` - - // ProvisioningState: The current provisioning state of the pod identity. + BindingSelector *string `json:"bindingSelector,omitempty"` + Identity *UserAssignedIdentity_STATUS `json:"identity,omitempty"` + Name *string `json:"name,omitempty"` + Namespace *string `json:"namespace,omitempty"` + ProvisioningInfo *ManagedClusterPodIdentity_ProvisioningInfo_STATUS `json:"provisioningInfo,omitempty"` ProvisioningState *ManagedClusterPodIdentity_ProvisioningState_STATUS `json:"provisioningState,omitempty"` } @@ -22154,19 +20820,14 @@ func (identity *ManagedClusterPodIdentity_STATUS) AssignProperties_To_ManagedClu return nil } -// See [disable AAD Pod Identity for a specific -// Pod/Application](https://azure.github.io/aad-pod-identity/docs/configure/application_exception/) for more details. type ManagedClusterPodIdentityException struct { // +kubebuilder:validation:Required - // Name: The name of the pod identity exception. Name *string `json:"name,omitempty"` // +kubebuilder:validation:Required - // Namespace: The namespace of the pod identity exception. Namespace *string `json:"namespace,omitempty"` // +kubebuilder:validation:Required - // PodLabels: The pod labels to match. PodLabels map[string]string `json:"podLabels,omitempty"` } @@ -22278,16 +20939,9 @@ func (exception *ManagedClusterPodIdentityException) AssignProperties_To_Managed return nil } -// See [disable AAD Pod Identity for a specific -// Pod/Application](https://azure.github.io/aad-pod-identity/docs/configure/application_exception/) for more details. type ManagedClusterPodIdentityException_STATUS struct { - // Name: The name of the pod identity exception. - Name *string `json:"name,omitempty"` - - // Namespace: The namespace of the pod identity exception. - Namespace *string `json:"namespace,omitempty"` - - // PodLabels: The pod labels to match. + Name *string `json:"name,omitempty"` + Namespace *string `json:"namespace,omitempty"` PodLabels map[string]string `json:"podLabels,omitempty"` } @@ -22374,15 +21028,9 @@ func (exception *ManagedClusterPodIdentityException_STATUS) AssignProperties_To_ // +kubebuilder:validation:MinItems=0 type ManagedClusterSecurityProfileCustomCATrustCertificates []string -// Microsoft Defender settings for the security profile. type ManagedClusterSecurityProfileDefender struct { - // LogAnalyticsWorkspaceResourceReference: Resource ID of the Log Analytics workspace to be associated with Microsoft - // Defender. When Microsoft Defender is enabled, this field is required and must be a valid workspace resource ID. When - // Microsoft Defender is disabled, leave the field empty. - LogAnalyticsWorkspaceResourceReference *genruntime.ResourceReference `armReference:"LogAnalyticsWorkspaceResourceId" json:"logAnalyticsWorkspaceResourceReference,omitempty"` - - // SecurityMonitoring: Microsoft Defender threat detection for Cloud settings for the security profile. - SecurityMonitoring *ManagedClusterSecurityProfileDefenderSecurityMonitoring `json:"securityMonitoring,omitempty"` + LogAnalyticsWorkspaceResourceReference *genruntime.ResourceReference `armReference:"LogAnalyticsWorkspaceResourceId" json:"logAnalyticsWorkspaceResourceReference,omitempty"` + SecurityMonitoring *ManagedClusterSecurityProfileDefenderSecurityMonitoring `json:"securityMonitoring,omitempty"` } var _ genruntime.ARMTransformer = &ManagedClusterSecurityProfileDefender{} @@ -22508,15 +21156,9 @@ func (defender *ManagedClusterSecurityProfileDefender) AssignProperties_To_Manag return nil } -// Microsoft Defender settings for the security profile. type ManagedClusterSecurityProfileDefender_STATUS struct { - // LogAnalyticsWorkspaceResourceId: Resource ID of the Log Analytics workspace to be associated with Microsoft Defender. - // When Microsoft Defender is enabled, this field is required and must be a valid workspace resource ID. When Microsoft - // Defender is disabled, leave the field empty. - LogAnalyticsWorkspaceResourceId *string `json:"logAnalyticsWorkspaceResourceId,omitempty"` - - // SecurityMonitoring: Microsoft Defender threat detection for Cloud settings for the security profile. - SecurityMonitoring *ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS `json:"securityMonitoring,omitempty"` + LogAnalyticsWorkspaceResourceId *string `json:"logAnalyticsWorkspaceResourceId,omitempty"` + SecurityMonitoring *ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS `json:"securityMonitoring,omitempty"` } var _ genruntime.FromARMConverter = &ManagedClusterSecurityProfileDefender_STATUS{} @@ -22607,14 +21249,9 @@ func (defender *ManagedClusterSecurityProfileDefender_STATUS) AssignProperties_T return nil } -// Image Cleaner removes unused images from nodes, freeing up disk space and helping to reduce attack surface area. Here -// are settings for the security profile. type ManagedClusterSecurityProfileImageCleaner struct { - // Enabled: Whether to enable Image Cleaner on AKS cluster. - Enabled *bool `json:"enabled,omitempty"` - - // IntervalHours: Image Cleaner scanning interval in hours. - IntervalHours *int `json:"intervalHours,omitempty"` + Enabled *bool `json:"enabled,omitempty"` + IntervalHours *int `json:"intervalHours,omitempty"` } var _ genruntime.ARMTransformer = &ManagedClusterSecurityProfileImageCleaner{} @@ -22713,14 +21350,9 @@ func (cleaner *ManagedClusterSecurityProfileImageCleaner) AssignProperties_To_Ma return nil } -// Image Cleaner removes unused images from nodes, freeing up disk space and helping to reduce attack surface area. Here -// are settings for the security profile. type ManagedClusterSecurityProfileImageCleaner_STATUS struct { - // Enabled: Whether to enable Image Cleaner on AKS cluster. - Enabled *bool `json:"enabled,omitempty"` - - // IntervalHours: Image Cleaner scanning interval in hours. - IntervalHours *int `json:"intervalHours,omitempty"` + Enabled *bool `json:"enabled,omitempty"` + IntervalHours *int `json:"intervalHours,omitempty"` } var _ genruntime.FromARMConverter = &ManagedClusterSecurityProfileImageCleaner_STATUS{} @@ -22798,9 +21430,7 @@ func (cleaner *ManagedClusterSecurityProfileImageCleaner_STATUS) AssignPropertie return nil } -// Image integrity related settings for the security profile. type ManagedClusterSecurityProfileImageIntegrity struct { - // Enabled: Whether to enable image integrity. The default value is false. Enabled *bool `json:"enabled,omitempty"` } @@ -22882,9 +21512,7 @@ func (integrity *ManagedClusterSecurityProfileImageIntegrity) AssignProperties_T return nil } -// Image integrity related settings for the security profile. type ManagedClusterSecurityProfileImageIntegrity_STATUS struct { - // Enabled: Whether to enable image integrity. The default value is false. Enabled *bool `json:"enabled,omitempty"` } @@ -22951,9 +21579,7 @@ func (integrity *ManagedClusterSecurityProfileImageIntegrity_STATUS) AssignPrope return nil } -// Node Restriction settings for the security profile. type ManagedClusterSecurityProfileNodeRestriction struct { - // Enabled: Whether to enable Node Restriction Enabled *bool `json:"enabled,omitempty"` } @@ -23035,9 +21661,7 @@ func (restriction *ManagedClusterSecurityProfileNodeRestriction) AssignPropertie return nil } -// Node Restriction settings for the security profile. type ManagedClusterSecurityProfileNodeRestriction_STATUS struct { - // Enabled: Whether to enable Node Restriction Enabled *bool `json:"enabled,omitempty"` } @@ -23104,9 +21728,7 @@ func (restriction *ManagedClusterSecurityProfileNodeRestriction_STATUS) AssignPr return nil } -// Workload identity settings for the security profile. type ManagedClusterSecurityProfileWorkloadIdentity struct { - // Enabled: Whether to enable workload identity. Enabled *bool `json:"enabled,omitempty"` } @@ -23188,9 +21810,7 @@ func (identity *ManagedClusterSecurityProfileWorkloadIdentity) AssignProperties_ return nil } -// Workload identity settings for the security profile. type ManagedClusterSecurityProfileWorkloadIdentity_STATUS struct { - // Enabled: Whether to enable workload identity. Enabled *bool `json:"enabled,omitempty"` } @@ -23307,9 +21927,7 @@ var managedClusterSKU_Tier_STATUS_Values = map[string]ManagedClusterSKU_Tier_STA "standard": ManagedClusterSKU_Tier_STATUS_Standard, } -// AzureBlob CSI Driver settings for the storage profile. type ManagedClusterStorageProfileBlobCSIDriver struct { - // Enabled: Whether to enable AzureBlob CSI Driver. The default value is false. Enabled *bool `json:"enabled,omitempty"` } @@ -23391,9 +22009,7 @@ func (driver *ManagedClusterStorageProfileBlobCSIDriver) AssignProperties_To_Man return nil } -// AzureBlob CSI Driver settings for the storage profile. type ManagedClusterStorageProfileBlobCSIDriver_STATUS struct { - // Enabled: Whether to enable AzureBlob CSI Driver. The default value is false. Enabled *bool `json:"enabled,omitempty"` } @@ -23460,12 +22076,8 @@ func (driver *ManagedClusterStorageProfileBlobCSIDriver_STATUS) AssignProperties return nil } -// AzureDisk CSI Driver settings for the storage profile. type ManagedClusterStorageProfileDiskCSIDriver struct { - // Enabled: Whether to enable AzureDisk CSI Driver. The default value is true. - Enabled *bool `json:"enabled,omitempty"` - - // Version: The version of AzureDisk CSI Driver. The default value is v1. + Enabled *bool `json:"enabled,omitempty"` Version *string `json:"version,omitempty"` } @@ -23565,12 +22177,8 @@ func (driver *ManagedClusterStorageProfileDiskCSIDriver) AssignProperties_To_Man return nil } -// AzureDisk CSI Driver settings for the storage profile. type ManagedClusterStorageProfileDiskCSIDriver_STATUS struct { - // Enabled: Whether to enable AzureDisk CSI Driver. The default value is true. - Enabled *bool `json:"enabled,omitempty"` - - // Version: The version of AzureDisk CSI Driver. The default value is v1. + Enabled *bool `json:"enabled,omitempty"` Version *string `json:"version,omitempty"` } @@ -23649,9 +22257,7 @@ func (driver *ManagedClusterStorageProfileDiskCSIDriver_STATUS) AssignProperties return nil } -// AzureFile CSI Driver settings for the storage profile. type ManagedClusterStorageProfileFileCSIDriver struct { - // Enabled: Whether to enable AzureFile CSI Driver. The default value is true. Enabled *bool `json:"enabled,omitempty"` } @@ -23733,9 +22339,7 @@ func (driver *ManagedClusterStorageProfileFileCSIDriver) AssignProperties_To_Man return nil } -// AzureFile CSI Driver settings for the storage profile. type ManagedClusterStorageProfileFileCSIDriver_STATUS struct { - // Enabled: Whether to enable AzureFile CSI Driver. The default value is true. Enabled *bool `json:"enabled,omitempty"` } @@ -23802,9 +22406,7 @@ func (driver *ManagedClusterStorageProfileFileCSIDriver_STATUS) AssignProperties return nil } -// Snapshot Controller settings for the storage profile. type ManagedClusterStorageProfileSnapshotController struct { - // Enabled: Whether to enable Snapshot Controller. The default value is true. Enabled *bool `json:"enabled,omitempty"` } @@ -23886,9 +22488,7 @@ func (controller *ManagedClusterStorageProfileSnapshotController) AssignProperti return nil } -// Snapshot Controller settings for the storage profile. type ManagedClusterStorageProfileSnapshotController_STATUS struct { - // Enabled: Whether to enable Snapshot Controller. The default value is true. Enabled *bool `json:"enabled,omitempty"` } @@ -23982,10 +22582,8 @@ var managedClusterWindowsProfile_LicenseType_STATUS_Values = map[string]ManagedC "windows_server": ManagedClusterWindowsProfile_LicenseType_STATUS_Windows_Server, } -// KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile. type ManagedClusterWorkloadAutoScalerProfileKeda struct { // +kubebuilder:validation:Required - // Enabled: Whether to enable KEDA. Enabled *bool `json:"enabled,omitempty"` } @@ -24067,9 +22665,7 @@ func (keda *ManagedClusterWorkloadAutoScalerProfileKeda) AssignProperties_To_Man return nil } -// KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile. type ManagedClusterWorkloadAutoScalerProfileKeda_STATUS struct { - // Enabled: Whether to enable KEDA. Enabled *bool `json:"enabled,omitempty"` } @@ -24137,11 +22733,9 @@ func (keda *ManagedClusterWorkloadAutoScalerProfileKeda_STATUS) AssignProperties } type ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler struct { - // AddonAutoscaling: Whether VPA add-on is enabled and configured to scale AKS-managed add-ons. AddonAutoscaling *ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_AddonAutoscaling `json:"addonAutoscaling,omitempty"` // +kubebuilder:validation:Required - // Enabled: Whether to enable VPA add-on in cluster. Default value is false. Enabled *bool `json:"enabled,omitempty"` } @@ -24257,11 +22851,8 @@ func (autoscaler *ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler) } type ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS struct { - // AddonAutoscaling: Whether VPA add-on is enabled and configured to scale AKS-managed add-ons. AddonAutoscaling *ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_AddonAutoscaling_STATUS `json:"addonAutoscaling,omitempty"` - - // Enabled: Whether to enable VPA add-on in cluster. Default value is false. - Enabled *bool `json:"enabled,omitempty"` + Enabled *bool `json:"enabled,omitempty"` } var _ genruntime.FromARMConverter = &ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS{} @@ -24352,7 +22943,6 @@ func (autoscaler *ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_S return nil } -// Network dataplane used in the Kubernetes cluster. // +kubebuilder:validation:Enum={"azure","cilium"} type NetworkDataplane string @@ -24367,7 +22957,6 @@ var networkDataplane_Values = map[string]NetworkDataplane{ "cilium": NetworkDataplane_Cilium, } -// Network dataplane used in the Kubernetes cluster. type NetworkDataplane_STATUS string const ( @@ -24381,7 +22970,6 @@ var networkDataplane_STATUS_Values = map[string]NetworkDataplane_STATUS{ "cilium": NetworkDataplane_STATUS_Cilium, } -// This cannot be specified if networkPlugin is anything other than 'azure'. // +kubebuilder:validation:Enum={"bridge","transparent"} type NetworkMode string @@ -24396,7 +22984,6 @@ var networkMode_Values = map[string]NetworkMode{ "transparent": NetworkMode_Transparent, } -// This cannot be specified if networkPlugin is anything other than 'azure'. type NetworkMode_STATUS string const ( @@ -24410,9 +22997,7 @@ var networkMode_STATUS_Values = map[string]NetworkMode_STATUS{ "transparent": NetworkMode_STATUS_Transparent, } -// This addon can be used to configure network monitoring and generate network monitoring data in Prometheus format type NetworkMonitoring struct { - // Enabled: Enable or disable the network monitoring plugin on the cluster Enabled *bool `json:"enabled,omitempty"` } @@ -24494,9 +23079,7 @@ func (monitoring *NetworkMonitoring) AssignProperties_To_NetworkMonitoring(desti return nil } -// This addon can be used to configure network monitoring and generate network monitoring data in Prometheus format type NetworkMonitoring_STATUS struct { - // Enabled: Enable or disable the network monitoring plugin on the cluster Enabled *bool `json:"enabled,omitempty"` } @@ -24563,7 +23146,6 @@ func (monitoring *NetworkMonitoring_STATUS) AssignProperties_To_NetworkMonitorin return nil } -// Network plugin used for building the Kubernetes network. // +kubebuilder:validation:Enum={"azure","kubenet","none"} type NetworkPlugin string @@ -24580,7 +23162,6 @@ var networkPlugin_Values = map[string]NetworkPlugin{ "none": NetworkPlugin_None, } -// Network plugin used for building the Kubernetes network. type NetworkPlugin_STATUS string const ( @@ -24596,7 +23177,6 @@ var networkPlugin_STATUS_Values = map[string]NetworkPlugin_STATUS{ "none": NetworkPlugin_STATUS_None, } -// The mode the network plugin should use. // +kubebuilder:validation:Enum={"overlay"} type NetworkPluginMode string @@ -24607,7 +23187,6 @@ var networkPluginMode_Values = map[string]NetworkPluginMode{ "overlay": NetworkPluginMode_Overlay, } -// The mode the network plugin should use. type NetworkPluginMode_STATUS string const NetworkPluginMode_STATUS_Overlay = NetworkPluginMode_STATUS("overlay") @@ -24617,7 +23196,6 @@ var networkPluginMode_STATUS_Values = map[string]NetworkPluginMode_STATUS{ "overlay": NetworkPluginMode_STATUS_Overlay, } -// Network policy used for building the Kubernetes network. // +kubebuilder:validation:Enum={"azure","calico","cilium","none"} type NetworkPolicy string @@ -24636,7 +23214,6 @@ var networkPolicy_Values = map[string]NetworkPolicy{ "none": NetworkPolicy_None, } -// Network policy used for building the Kubernetes network. type NetworkPolicy_STATUS string const ( @@ -24759,16 +23336,9 @@ var systemData_LastModifiedByType_STATUS_Values = map[string]SystemData_LastModi "user": SystemData_LastModifiedByType_STATUS_User, } -// Settings for overrides when upgrading a cluster. type UpgradeOverrideSettings struct { - // ForceUpgrade: Whether to force upgrade the cluster. Note that this option instructs upgrade operation to bypass upgrade - // protections such as checking for deprecated API usage. Enable this option only with caution. - ForceUpgrade *bool `json:"forceUpgrade,omitempty"` - - // Until: Until when the overrides are effective. Note that this only matches the start time of an upgrade, and the - // effectiveness won't change once an upgrade starts even if the `until` expires as upgrade proceeds. This field is not set - // by default. It must be set for the overrides to take effect. - Until *string `json:"until,omitempty"` + ForceUpgrade *bool `json:"forceUpgrade,omitempty"` + Until *string `json:"until,omitempty"` } var _ genruntime.ARMTransformer = &UpgradeOverrideSettings{} @@ -24867,16 +23437,9 @@ func (settings *UpgradeOverrideSettings) AssignProperties_To_UpgradeOverrideSett return nil } -// Settings for overrides when upgrading a cluster. type UpgradeOverrideSettings_STATUS struct { - // ForceUpgrade: Whether to force upgrade the cluster. Note that this option instructs upgrade operation to bypass upgrade - // protections such as checking for deprecated API usage. Enable this option only with caution. - ForceUpgrade *bool `json:"forceUpgrade,omitempty"` - - // Until: Until when the overrides are effective. Note that this only matches the start time of an upgrade, and the - // effectiveness won't change once an upgrade starts even if the `until` expires as upgrade proceeds. This field is not set - // by default. It must be set for the overrides to take effect. - Until *string `json:"until,omitempty"` + ForceUpgrade *bool `json:"forceUpgrade,omitempty"` + Until *string `json:"until,omitempty"` } var _ genruntime.FromARMConverter = &UpgradeOverrideSettings_STATUS{} @@ -24954,7 +23517,6 @@ func (settings *UpgradeOverrideSettings_STATUS) AssignProperties_To_UpgradeOverr return nil } -// Information about the user assigned identity for the resource type UserAssignedIdentityDetails struct { Reference genruntime.ResourceReference `armReference:"Reference" json:"reference,omitempty"` } @@ -24988,17 +23550,9 @@ func (details *UserAssignedIdentityDetails) AssignProperties_To_UserAssignedIden return nil } -// Windows gMSA Profile in the managed cluster. type WindowsGmsaProfile struct { - // DnsServer: Specifies the DNS server for Windows gMSA. - // Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster. - DnsServer *string `json:"dnsServer,omitempty"` - - // Enabled: Specifies whether to enable Windows gMSA in the managed cluster. - Enabled *bool `json:"enabled,omitempty"` - - // RootDomainName: Specifies the root domain name for Windows gMSA. - // Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster. + DnsServer *string `json:"dnsServer,omitempty"` + Enabled *bool `json:"enabled,omitempty"` RootDomainName *string `json:"rootDomainName,omitempty"` } @@ -25116,17 +23670,9 @@ func (profile *WindowsGmsaProfile) AssignProperties_To_WindowsGmsaProfile(destin return nil } -// Windows gMSA Profile in the managed cluster. type WindowsGmsaProfile_STATUS struct { - // DnsServer: Specifies the DNS server for Windows gMSA. - // Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster. - DnsServer *string `json:"dnsServer,omitempty"` - - // Enabled: Specifies whether to enable Windows gMSA in the managed cluster. - Enabled *bool `json:"enabled,omitempty"` - - // RootDomainName: Specifies the root domain name for Windows gMSA. - // Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster. + DnsServer *string `json:"dnsServer,omitempty"` + Enabled *bool `json:"enabled,omitempty"` RootDomainName *string `json:"rootDomainName,omitempty"` } @@ -25245,18 +23791,10 @@ var azureKeyVaultKms_KeyVaultNetworkAccess_STATUS_Values = map[string]AzureKeyVa } type ContainerServiceNetworkProfile_KubeProxyConfig_IpvsConfig struct { - // Scheduler: IPVS scheduler, for more information please see http://www.linuxvirtualserver.org/docs/scheduling.html. - Scheduler *ContainerServiceNetworkProfile_KubeProxyConfig_IpvsConfig_Scheduler `json:"scheduler,omitempty"` - - // TcpFinTimeoutSeconds: The timeout value used for IPVS TCP sessions after receiving a FIN in seconds. Must be a positive - // integer value. - TcpFinTimeoutSeconds *int `json:"tcpFinTimeoutSeconds,omitempty"` - - // TcpTimeoutSeconds: The timeout value used for idle IPVS TCP sessions in seconds. Must be a positive integer value. - TcpTimeoutSeconds *int `json:"tcpTimeoutSeconds,omitempty"` - - // UdpTimeoutSeconds: The timeout value used for IPVS UDP packets in seconds. Must be a positive integer value. - UdpTimeoutSeconds *int `json:"udpTimeoutSeconds,omitempty"` + Scheduler *ContainerServiceNetworkProfile_KubeProxyConfig_IpvsConfig_Scheduler `json:"scheduler,omitempty"` + TcpFinTimeoutSeconds *int `json:"tcpFinTimeoutSeconds,omitempty"` + TcpTimeoutSeconds *int `json:"tcpTimeoutSeconds,omitempty"` + UdpTimeoutSeconds *int `json:"udpTimeoutSeconds,omitempty"` } var _ genruntime.ARMTransformer = &ContainerServiceNetworkProfile_KubeProxyConfig_IpvsConfig{} @@ -25397,18 +23935,10 @@ func (config *ContainerServiceNetworkProfile_KubeProxyConfig_IpvsConfig) AssignP } type ContainerServiceNetworkProfile_KubeProxyConfig_IpvsConfig_STATUS struct { - // Scheduler: IPVS scheduler, for more information please see http://www.linuxvirtualserver.org/docs/scheduling.html. - Scheduler *ContainerServiceNetworkProfile_KubeProxyConfig_IpvsConfig_Scheduler_STATUS `json:"scheduler,omitempty"` - - // TcpFinTimeoutSeconds: The timeout value used for IPVS TCP sessions after receiving a FIN in seconds. Must be a positive - // integer value. - TcpFinTimeoutSeconds *int `json:"tcpFinTimeoutSeconds,omitempty"` - - // TcpTimeoutSeconds: The timeout value used for idle IPVS TCP sessions in seconds. Must be a positive integer value. - TcpTimeoutSeconds *int `json:"tcpTimeoutSeconds,omitempty"` - - // UdpTimeoutSeconds: The timeout value used for IPVS UDP packets in seconds. Must be a positive integer value. - UdpTimeoutSeconds *int `json:"udpTimeoutSeconds,omitempty"` + Scheduler *ContainerServiceNetworkProfile_KubeProxyConfig_IpvsConfig_Scheduler_STATUS `json:"scheduler,omitempty"` + TcpFinTimeoutSeconds *int `json:"tcpFinTimeoutSeconds,omitempty"` + TcpTimeoutSeconds *int `json:"tcpTimeoutSeconds,omitempty"` + UdpTimeoutSeconds *int `json:"udpTimeoutSeconds,omitempty"` } var _ genruntime.FromARMConverter = &ContainerServiceNetworkProfile_KubeProxyConfig_IpvsConfig_STATUS{} @@ -25540,11 +24070,8 @@ var containerServiceNetworkProfile_KubeProxyConfig_Mode_STATUS_Values = map[stri "ipvs": ContainerServiceNetworkProfile_KubeProxyConfig_Mode_STATUS_IPVS, } -// Contains information about SSH certificate public key data. type ContainerServiceSshPublicKey struct { // +kubebuilder:validation:Required - // KeyData: Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or - // without headers. KeyData *string `json:"keyData,omitempty"` } @@ -25616,10 +24143,7 @@ func (publicKey *ContainerServiceSshPublicKey) AssignProperties_To_ContainerServ return nil } -// Contains information about SSH certificate public key data. type ContainerServiceSshPublicKey_STATUS struct { - // KeyData: Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or - // without headers. KeyData *string `json:"keyData,omitempty"` } @@ -25676,10 +24200,7 @@ func (publicKey *ContainerServiceSshPublicKey_STATUS) AssignProperties_To_Contai return nil } -// Istio Service Mesh Certificate Authority (CA) configuration. For now, we only support plugin certificates as described -// here https://aka.ms/asm-plugin-ca type IstioCertificateAuthority struct { - // Plugin: Plugin certificates information for Service Mesh. Plugin *IstioPluginCertificateAuthority `json:"plugin,omitempty"` } @@ -25778,10 +24299,7 @@ func (authority *IstioCertificateAuthority) AssignProperties_To_IstioCertificate return nil } -// Istio Service Mesh Certificate Authority (CA) configuration. For now, we only support plugin certificates as described -// here https://aka.ms/asm-plugin-ca type IstioCertificateAuthority_STATUS struct { - // Plugin: Plugin certificates information for Service Mesh. Plugin *IstioPluginCertificateAuthority_STATUS `json:"plugin,omitempty"` } @@ -25861,12 +24379,8 @@ func (authority *IstioCertificateAuthority_STATUS) AssignProperties_To_IstioCert return nil } -// Istio components configuration. type IstioComponents struct { - // EgressGateways: Istio egress gateways. - EgressGateways []IstioEgressGateway `json:"egressGateways,omitempty"` - - // IngressGateways: Istio ingress gateways. + EgressGateways []IstioEgressGateway `json:"egressGateways,omitempty"` IngressGateways []IstioIngressGateway `json:"ingressGateways,omitempty"` } @@ -26030,12 +24544,8 @@ func (components *IstioComponents) AssignProperties_To_IstioComponents(destinati return nil } -// Istio components configuration. type IstioComponents_STATUS struct { - // EgressGateways: Istio egress gateways. - EgressGateways []IstioEgressGateway_STATUS `json:"egressGateways,omitempty"` - - // IngressGateways: Istio ingress gateways. + EgressGateways []IstioEgressGateway_STATUS `json:"egressGateways,omitempty"` IngressGateways []IstioIngressGateway_STATUS `json:"ingressGateways,omitempty"` } @@ -26172,11 +24682,7 @@ func (components *IstioComponents_STATUS) AssignProperties_To_IstioComponents_ST return nil } -// Application Monitoring Profile for Kubernetes Application Container. Collects application logs, metrics and traces -// through auto-instrumentation of the application using Azure Monitor OpenTelemetry based SDKs. See -// aka.ms/AzureMonitorApplicationMonitoring for an overview. type ManagedClusterAzureMonitorProfileAppMonitoring struct { - // Enabled: Indicates if Application Monitoring enabled or not. Enabled *bool `json:"enabled,omitempty"` } @@ -26258,11 +24764,7 @@ func (monitoring *ManagedClusterAzureMonitorProfileAppMonitoring) AssignProperti return nil } -// Application Monitoring Profile for Kubernetes Application Container. Collects application logs, metrics and traces -// through auto-instrumentation of the application using Azure Monitor OpenTelemetry based SDKs. See -// aka.ms/AzureMonitorApplicationMonitoring for an overview. type ManagedClusterAzureMonitorProfileAppMonitoring_STATUS struct { - // Enabled: Indicates if Application Monitoring enabled or not. Enabled *bool `json:"enabled,omitempty"` } @@ -26329,11 +24831,7 @@ func (monitoring *ManagedClusterAzureMonitorProfileAppMonitoring_STATUS) AssignP return nil } -// Application Monitoring Open Telemetry Metrics Profile for Kubernetes Application Container Metrics. Collects -// OpenTelemetry metrics through auto-instrumentation of the application using Azure Monitor OpenTelemetry based SDKs. See -// aka.ms/AzureMonitorApplicationMonitoring for an overview. type ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetrics struct { - // Enabled: Indicates if Application Monitoring Open Telemetry Metrics is enabled or not. Enabled *bool `json:"enabled,omitempty"` } @@ -26415,11 +24913,7 @@ func (metrics *ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetric return nil } -// Application Monitoring Open Telemetry Metrics Profile for Kubernetes Application Container Metrics. Collects -// OpenTelemetry metrics through auto-instrumentation of the application using Azure Monitor OpenTelemetry based SDKs. See -// aka.ms/AzureMonitorApplicationMonitoring for an overview. type ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetrics_STATUS struct { - // Enabled: Indicates if Application Monitoring Open Telemetry Metrics is enabled or not. Enabled *bool `json:"enabled,omitempty"` } @@ -26486,19 +24980,10 @@ func (metrics *ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetric return nil } -// Azure Monitor Container Insights Profile for Kubernetes Events, Inventory and Container stdout & stderr logs etc. See -// aka.ms/AzureMonitorContainerInsights for an overview. type ManagedClusterAzureMonitorProfileContainerInsights struct { - // Enabled: Indicates if Azure Monitor Container Insights Logs Addon is enabled or not. - Enabled *bool `json:"enabled,omitempty"` - - // LogAnalyticsWorkspaceResourceReference: Fully Qualified ARM Resource Id of Azure Log Analytics Workspace for storing - // Azure Monitor Container Insights Logs. - LogAnalyticsWorkspaceResourceReference *genruntime.ResourceReference `armReference:"LogAnalyticsWorkspaceResourceId" json:"logAnalyticsWorkspaceResourceReference,omitempty"` - - // WindowsHostLogs: Windows Host Logs Profile for Kubernetes Windows Nodes Log Collection. Collects ETW, Event Logs and - // Text logs etc. See aka.ms/AzureMonitorContainerInsights for an overview. - WindowsHostLogs *ManagedClusterAzureMonitorProfileWindowsHostLogs `json:"windowsHostLogs,omitempty"` + Enabled *bool `json:"enabled,omitempty"` + LogAnalyticsWorkspaceResourceReference *genruntime.ResourceReference `armReference:"LogAnalyticsWorkspaceResourceId" json:"logAnalyticsWorkspaceResourceReference,omitempty"` + WindowsHostLogs *ManagedClusterAzureMonitorProfileWindowsHostLogs `json:"windowsHostLogs,omitempty"` } var _ genruntime.ARMTransformer = &ManagedClusterAzureMonitorProfileContainerInsights{} @@ -26652,19 +25137,10 @@ func (insights *ManagedClusterAzureMonitorProfileContainerInsights) AssignProper return nil } -// Azure Monitor Container Insights Profile for Kubernetes Events, Inventory and Container stdout & stderr logs etc. See -// aka.ms/AzureMonitorContainerInsights for an overview. type ManagedClusterAzureMonitorProfileContainerInsights_STATUS struct { - // Enabled: Indicates if Azure Monitor Container Insights Logs Addon is enabled or not. - Enabled *bool `json:"enabled,omitempty"` - - // LogAnalyticsWorkspaceResourceId: Fully Qualified ARM Resource Id of Azure Log Analytics Workspace for storing Azure - // Monitor Container Insights Logs. - LogAnalyticsWorkspaceResourceId *string `json:"logAnalyticsWorkspaceResourceId,omitempty"` - - // WindowsHostLogs: Windows Host Logs Profile for Kubernetes Windows Nodes Log Collection. Collects ETW, Event Logs and - // Text logs etc. See aka.ms/AzureMonitorContainerInsights for an overview. - WindowsHostLogs *ManagedClusterAzureMonitorProfileWindowsHostLogs_STATUS `json:"windowsHostLogs,omitempty"` + Enabled *bool `json:"enabled,omitempty"` + LogAnalyticsWorkspaceResourceId *string `json:"logAnalyticsWorkspaceResourceId,omitempty"` + WindowsHostLogs *ManagedClusterAzureMonitorProfileWindowsHostLogs_STATUS `json:"windowsHostLogs,omitempty"` } var _ genruntime.FromARMConverter = &ManagedClusterAzureMonitorProfileContainerInsights_STATUS{} @@ -26777,15 +25253,9 @@ func (insights *ManagedClusterAzureMonitorProfileContainerInsights_STATUS) Assig return nil } -// Kube State Metrics for prometheus addon profile for the container service cluster type ManagedClusterAzureMonitorProfileKubeStateMetrics struct { - // MetricAnnotationsAllowList: Comma-separated list of additional Kubernetes label keys that will be used in the resource's - // labels metric. MetricAnnotationsAllowList *string `json:"metricAnnotationsAllowList,omitempty"` - - // MetricLabelsAllowlist: Comma-separated list of Kubernetes annotations keys that will be used in the resource's labels - // metric. - MetricLabelsAllowlist *string `json:"metricLabelsAllowlist,omitempty"` + MetricLabelsAllowlist *string `json:"metricLabelsAllowlist,omitempty"` } var _ genruntime.ARMTransformer = &ManagedClusterAzureMonitorProfileKubeStateMetrics{} @@ -26874,15 +25344,9 @@ func (metrics *ManagedClusterAzureMonitorProfileKubeStateMetrics) AssignProperti return nil } -// Kube State Metrics for prometheus addon profile for the container service cluster type ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS struct { - // MetricAnnotationsAllowList: Comma-separated list of additional Kubernetes label keys that will be used in the resource's - // labels metric. MetricAnnotationsAllowList *string `json:"metricAnnotationsAllowList,omitempty"` - - // MetricLabelsAllowlist: Comma-separated list of Kubernetes annotations keys that will be used in the resource's labels - // metric. - MetricLabelsAllowlist *string `json:"metricLabelsAllowlist,omitempty"` + MetricLabelsAllowlist *string `json:"metricLabelsAllowlist,omitempty"` } var _ genruntime.FromARMConverter = &ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS{} @@ -26980,14 +25444,10 @@ var managedClusterLoadBalancerProfile_BackendPoolType_STATUS_Values = map[string type ManagedClusterLoadBalancerProfile_ManagedOutboundIPs struct { // +kubebuilder:validation:Maximum=100 // +kubebuilder:validation:Minimum=1 - // Count: The desired number of IPv4 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values - // must be in the range of 1 to 100 (inclusive). The default value is 1. Count *int `json:"count,omitempty"` // +kubebuilder:validation:Maximum=100 // +kubebuilder:validation:Minimum=0 - // CountIPv6: The desired number of IPv6 outbound IPs created/managed by Azure for the cluster load balancer. Allowed - // values must be in the range of 1 to 100 (inclusive). The default value is 0 for single-stack and 1 for dual-stack. CountIPv6 *int `json:"countIPv6,omitempty"` } @@ -27098,12 +25558,7 @@ func (iPs *ManagedClusterLoadBalancerProfile_ManagedOutboundIPs) AssignPropertie } type ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS struct { - // Count: The desired number of IPv4 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values - // must be in the range of 1 to 100 (inclusive). The default value is 1. - Count *int `json:"count,omitempty"` - - // CountIPv6: The desired number of IPv6 outbound IPs created/managed by Azure for the cluster load balancer. Allowed - // values must be in the range of 1 to 100 (inclusive). The default value is 0 for single-stack and 1 for dual-stack. + Count *int `json:"count,omitempty"` CountIPv6 *int `json:"countIPv6,omitempty"` } @@ -27173,7 +25628,6 @@ func (iPs *ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS) AssignPr } type ManagedClusterLoadBalancerProfile_OutboundIPPrefixes struct { - // PublicIPPrefixes: A list of public IP prefix resources. PublicIPPrefixes []ResourceReference `json:"publicIPPrefixes,omitempty"` } @@ -27283,7 +25737,6 @@ func (prefixes *ManagedClusterLoadBalancerProfile_OutboundIPPrefixes) AssignProp } type ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS struct { - // PublicIPPrefixes: A list of public IP prefix resources. PublicIPPrefixes []ResourceReference_STATUS `json:"publicIPPrefixes,omitempty"` } @@ -27375,7 +25828,6 @@ func (prefixes *ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS) Ass } type ManagedClusterLoadBalancerProfile_OutboundIPs struct { - // PublicIPs: A list of public IP resources. PublicIPs []ResourceReference `json:"publicIPs,omitempty"` } @@ -27485,7 +25937,6 @@ func (iPs *ManagedClusterLoadBalancerProfile_OutboundIPs) AssignProperties_To_Ma } type ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS struct { - // PublicIPs: A list of public IP resources. PublicIPs []ResourceReference_STATUS `json:"publicIPs,omitempty"` } @@ -27576,12 +26027,9 @@ func (iPs *ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS) AssignPropertie return nil } -// Profile of the managed outbound IP resources of the managed cluster. type ManagedClusterManagedOutboundIPProfile struct { // +kubebuilder:validation:Maximum=16 // +kubebuilder:validation:Minimum=1 - // Count: The desired number of outbound IPs created/managed by Azure. Allowed values must be in the range of 1 to 16 - // (inclusive). The default value is 1. Count *int `json:"count,omitempty"` } @@ -27663,10 +26111,7 @@ func (profile *ManagedClusterManagedOutboundIPProfile) AssignProperties_To_Manag return nil } -// Profile of the managed outbound IP resources of the managed cluster. type ManagedClusterManagedOutboundIPProfile_STATUS struct { - // Count: The desired number of outbound IPs created/managed by Azure. Allowed values must be in the range of 1 to 16 - // (inclusive). The default value is 1. Count *int `json:"count,omitempty"` } @@ -27724,7 +26169,6 @@ func (profile *ManagedClusterManagedOutboundIPProfile_STATUS) AssignProperties_T } type ManagedClusterPodIdentity_ProvisioningInfo_STATUS struct { - // Error: Pod identity assignment error (if any). Error *ManagedClusterPodIdentityProvisioningError_STATUS `json:"error,omitempty"` } @@ -27825,9 +26269,7 @@ var managedClusterPodIdentity_ProvisioningState_STATUS_Values = map[string]Manag "updating": ManagedClusterPodIdentity_ProvisioningState_STATUS_Updating, } -// Microsoft Defender settings for the security profile threat detection. type ManagedClusterSecurityProfileDefenderSecurityMonitoring struct { - // Enabled: Whether to enable Defender threat detection Enabled *bool `json:"enabled,omitempty"` } @@ -27909,9 +26351,7 @@ func (monitoring *ManagedClusterSecurityProfileDefenderSecurityMonitoring) Assig return nil } -// Microsoft Defender settings for the security profile threat detection. type ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS struct { - // Enabled: Whether to enable Defender threat detection Enabled *bool `json:"enabled,omitempty"` } @@ -28005,9 +26445,7 @@ var managedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_AddonAutoscalin "enabled": ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_AddonAutoscaling_STATUS_Enabled, } -// A reference to an Azure resource. type ResourceReference struct { - // Reference: The fully qualified Azure resource id. Reference *genruntime.ResourceReference `armReference:"Id" json:"reference,omitempty"` } @@ -28089,9 +26527,7 @@ func (reference *ResourceReference) AssignProperties_To_ResourceReference(destin return nil } -// A reference to an Azure resource. type ResourceReference_STATUS struct { - // Id: The fully qualified Azure resource id. Id *string `json:"id,omitempty"` } @@ -28175,13 +26611,9 @@ var containerServiceNetworkProfile_KubeProxyConfig_IpvsConfig_Scheduler_STATUS_V "roundrobin": ContainerServiceNetworkProfile_KubeProxyConfig_IpvsConfig_Scheduler_STATUS_RoundRobin, } -// Istio egress gateway configuration. type IstioEgressGateway struct { // +kubebuilder:validation:Required - // Enabled: Whether to enable the egress gateway. - Enabled *bool `json:"enabled,omitempty"` - - // NodeSelector: NodeSelector for scheduling the egress gateway. + Enabled *bool `json:"enabled,omitempty"` NodeSelector map[string]string `json:"nodeSelector,omitempty"` } @@ -28285,12 +26717,8 @@ func (gateway *IstioEgressGateway) AssignProperties_To_IstioEgressGateway(destin return nil } -// Istio egress gateway configuration. type IstioEgressGateway_STATUS struct { - // Enabled: Whether to enable the egress gateway. - Enabled *bool `json:"enabled,omitempty"` - - // NodeSelector: NodeSelector for scheduling the egress gateway. + Enabled *bool `json:"enabled,omitempty"` NodeSelector map[string]string `json:"nodeSelector,omitempty"` } @@ -28371,15 +26799,11 @@ func (gateway *IstioEgressGateway_STATUS) AssignProperties_To_IstioEgressGateway return nil } -// Istio ingress gateway configuration. For now, we support up to one external ingress gateway named -// `aks-istio-ingressgateway-external` and one internal ingress gateway named `aks-istio-ingressgateway-internal`. type IstioIngressGateway struct { // +kubebuilder:validation:Required - // Enabled: Whether to enable the ingress gateway. Enabled *bool `json:"enabled,omitempty"` // +kubebuilder:validation:Required - // Mode: Mode of an ingress gateway. Mode *IstioIngressGateway_Mode `json:"mode,omitempty"` } @@ -28494,14 +26918,9 @@ func (gateway *IstioIngressGateway) AssignProperties_To_IstioIngressGateway(dest return nil } -// Istio ingress gateway configuration. For now, we support up to one external ingress gateway named -// `aks-istio-ingressgateway-external` and one internal ingress gateway named `aks-istio-ingressgateway-internal`. type IstioIngressGateway_STATUS struct { - // Enabled: Whether to enable the ingress gateway. - Enabled *bool `json:"enabled,omitempty"` - - // Mode: Mode of an ingress gateway. - Mode *IstioIngressGateway_Mode_STATUS `json:"mode,omitempty"` + Enabled *bool `json:"enabled,omitempty"` + Mode *IstioIngressGateway_Mode_STATUS `json:"mode,omitempty"` } var _ genruntime.FromARMConverter = &IstioIngressGateway_STATUS{} @@ -28592,22 +27011,12 @@ func (gateway *IstioIngressGateway_STATUS) AssignProperties_To_IstioIngressGatew return nil } -// Plugin certificates information for Service Mesh. type IstioPluginCertificateAuthority struct { - // CertChainObjectName: Certificate chain object name in Azure Key Vault. - CertChainObjectName *string `json:"certChainObjectName,omitempty"` - - // CertObjectName: Intermediate certificate object name in Azure Key Vault. - CertObjectName *string `json:"certObjectName,omitempty"` - - // KeyObjectName: Intermediate certificate private key object name in Azure Key Vault. - KeyObjectName *string `json:"keyObjectName,omitempty"` - - // KeyVaultReference: The resource ID of the Key Vault. - KeyVaultReference *genruntime.ResourceReference `armReference:"KeyVaultId" json:"keyVaultReference,omitempty"` - - // RootCertObjectName: Root certificate object name in Azure Key Vault. - RootCertObjectName *string `json:"rootCertObjectName,omitempty"` + CertChainObjectName *string `json:"certChainObjectName,omitempty"` + CertObjectName *string `json:"certObjectName,omitempty"` + KeyObjectName *string `json:"keyObjectName,omitempty"` + KeyVaultReference *genruntime.ResourceReference `armReference:"KeyVaultId" json:"keyVaultReference,omitempty"` + RootCertObjectName *string `json:"rootCertObjectName,omitempty"` } var _ genruntime.ARMTransformer = &IstioPluginCertificateAuthority{} @@ -28760,22 +27169,12 @@ func (authority *IstioPluginCertificateAuthority) AssignProperties_To_IstioPlugi return nil } -// Plugin certificates information for Service Mesh. type IstioPluginCertificateAuthority_STATUS struct { - // CertChainObjectName: Certificate chain object name in Azure Key Vault. CertChainObjectName *string `json:"certChainObjectName,omitempty"` - - // CertObjectName: Intermediate certificate object name in Azure Key Vault. - CertObjectName *string `json:"certObjectName,omitempty"` - - // KeyObjectName: Intermediate certificate private key object name in Azure Key Vault. - KeyObjectName *string `json:"keyObjectName,omitempty"` - - // KeyVaultId: The resource ID of the Key Vault. - KeyVaultId *string `json:"keyVaultId,omitempty"` - - // RootCertObjectName: Root certificate object name in Azure Key Vault. - RootCertObjectName *string `json:"rootCertObjectName,omitempty"` + CertObjectName *string `json:"certObjectName,omitempty"` + KeyObjectName *string `json:"keyObjectName,omitempty"` + KeyVaultId *string `json:"keyVaultId,omitempty"` + RootCertObjectName *string `json:"rootCertObjectName,omitempty"` } var _ genruntime.FromARMConverter = &IstioPluginCertificateAuthority_STATUS{} @@ -28879,10 +27278,7 @@ func (authority *IstioPluginCertificateAuthority_STATUS) AssignProperties_To_Ist return nil } -// Windows Host Logs Profile for Kubernetes Windows Nodes Log Collection. Collects ETW, Event Logs and Text logs etc. See -// aka.ms/AzureMonitorContainerInsights for an overview. type ManagedClusterAzureMonitorProfileWindowsHostLogs struct { - // Enabled: Indicates if Windows Host Log Collection is enabled or not for Azure Monitor Container Insights Logs Addon. Enabled *bool `json:"enabled,omitempty"` } @@ -28964,10 +27360,7 @@ func (logs *ManagedClusterAzureMonitorProfileWindowsHostLogs) AssignProperties_T return nil } -// Windows Host Logs Profile for Kubernetes Windows Nodes Log Collection. Collects ETW, Event Logs and Text logs etc. See -// aka.ms/AzureMonitorContainerInsights for an overview. type ManagedClusterAzureMonitorProfileWindowsHostLogs_STATUS struct { - // Enabled: Indicates if Windows Host Log Collection is enabled or not for Azure Monitor Container Insights Logs Addon. Enabled *bool `json:"enabled,omitempty"` } @@ -29034,9 +27427,7 @@ func (logs *ManagedClusterAzureMonitorProfileWindowsHostLogs_STATUS) AssignPrope return nil } -// An error response from the pod identity provisioning. type ManagedClusterPodIdentityProvisioningError_STATUS struct { - // Error: Details about the error. Error *ManagedClusterPodIdentityProvisioningErrorBody_STATUS `json:"error,omitempty"` } @@ -29143,19 +27534,11 @@ var istioIngressGateway_Mode_STATUS_Values = map[string]IstioIngressGateway_Mode "internal": IstioIngressGateway_Mode_STATUS_Internal, } -// An error response from the pod identity provisioning. type ManagedClusterPodIdentityProvisioningErrorBody_STATUS struct { - // Code: An identifier for the error. Codes are invariant and are intended to be consumed programmatically. - Code *string `json:"code,omitempty"` - - // Details: A list of additional details about the error. + Code *string `json:"code,omitempty"` Details []ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled `json:"details,omitempty"` - - // Message: A message describing the error, intended to be suitable for display in a user interface. - Message *string `json:"message,omitempty"` - - // Target: The target of the particular error. For example, the name of the property in error. - Target *string `json:"target,omitempty"` + Message *string `json:"message,omitempty"` + Target *string `json:"target,omitempty"` } var _ genruntime.FromARMConverter = &ManagedClusterPodIdentityProvisioningErrorBody_STATUS{} @@ -29282,14 +27665,9 @@ func (body *ManagedClusterPodIdentityProvisioningErrorBody_STATUS) AssignPropert } type ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled struct { - // Code: An identifier for the error. Codes are invariant and are intended to be consumed programmatically. - Code *string `json:"code,omitempty"` - - // Message: A message describing the error, intended to be suitable for display in a user interface. + Code *string `json:"code,omitempty"` Message *string `json:"message,omitempty"` - - // Target: The target of the particular error. For example, the name of the property in error. - Target *string `json:"target,omitempty"` + Target *string `json:"target,omitempty"` } var _ genruntime.FromARMConverter = &ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled{} diff --git a/v2/api/containerservice/v1api20231102preview/managed_cluster_types_gen_test.go b/v2/api/containerservice/v1api20231102preview/managed_cluster_types_gen_test.go index dfd0d9803cd..e9af9a20c10 100644 --- a/v2/api/containerservice/v1api20231102preview/managed_cluster_types_gen_test.go +++ b/v2/api/containerservice/v1api20231102preview/managed_cluster_types_gen_test.go @@ -5,8 +5,8 @@ package v1api20231102preview import ( "encoding/json" - v20231001s "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20231001/storage" v20231102ps "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20231102preview/storage" + v20240901s "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20240901/storage" "github.com/google/go-cmp/cmp" "github.com/google/go-cmp/cmp/cmpopts" "github.com/kr/pretty" @@ -3723,7 +3723,7 @@ func RunResourceConversionTestForManagedCluster(subject ManagedCluster) string { copied := subject.DeepCopy() // Convert to our hub version - var hub v20231001s.ManagedCluster + var hub v20240901s.ManagedCluster err := copied.ConvertTo(&hub) if err != nil { return err.Error() diff --git a/v2/api/containerservice/v1api20231102preview/managed_clusters_agent_pool_types_gen.go b/v2/api/containerservice/v1api20231102preview/managed_clusters_agent_pool_types_gen.go index 51113e1b6ff..bbcf6f140a8 100644 --- a/v2/api/containerservice/v1api20231102preview/managed_clusters_agent_pool_types_gen.go +++ b/v2/api/containerservice/v1api20231102preview/managed_clusters_agent_pool_types_gen.go @@ -3921,8 +3921,6 @@ func (pool *ManagedClustersAgentPool_STATUS) AssignProperties_To_ManagedClusters } type AgentPoolArtifactStreamingProfile struct { - // Enabled: Artifact streaming speeds up the cold-start of containers on a node through on-demand image loading. To use - // this feature, container images must also enable artifact streaming on ACR. If not specified, the default is false. Enabled *bool `json:"enabled,omitempty"` } @@ -4005,8 +4003,6 @@ func (profile *AgentPoolArtifactStreamingProfile) AssignProperties_To_AgentPoolA } type AgentPoolArtifactStreamingProfile_STATUS struct { - // Enabled: Artifact streaming speeds up the cold-start of containers on a node through on-demand image loading. To use - // this feature, container images must also enable artifact streaming on ACR. If not specified, the default is false. Enabled *bool `json:"enabled,omitempty"` } @@ -4074,10 +4070,6 @@ func (profile *AgentPoolArtifactStreamingProfile_STATUS) AssignProperties_To_Age } type AgentPoolGPUProfile struct { - // InstallGPUDriver: The default value is true when the vmSize of the agent pool contains a GPU, false otherwise. GPU - // Driver Installation can only be set true when VM has an associated GPU resource. Setting this field to false prevents - // automatic GPU driver installation. In that case, in order for the GPU to be usable, the user must perform GPU driver - // installation themselves. InstallGPUDriver *bool `json:"installGPUDriver,omitempty"` } @@ -4160,10 +4152,6 @@ func (profile *AgentPoolGPUProfile) AssignProperties_To_AgentPoolGPUProfile(dest } type AgentPoolGPUProfile_STATUS struct { - // InstallGPUDriver: The default value is true when the vmSize of the agent pool contains a GPU, false otherwise. GPU - // Driver Installation can only be set true when VM has an associated GPU resource. Setting this field to false prevents - // automatic GPU driver installation. In that case, in order for the GPU to be usable, the user must perform GPU driver - // installation themselves. InstallGPUDriver *bool `json:"installGPUDriver,omitempty"` } @@ -4230,8 +4218,6 @@ func (profile *AgentPoolGPUProfile_STATUS) AssignProperties_To_AgentPoolGPUProfi return nil } -// A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool restrictions -// and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools // +kubebuilder:validation:Enum={"System","User"} type AgentPoolMode string @@ -4246,8 +4232,6 @@ var agentPoolMode_Values = map[string]AgentPoolMode{ "user": AgentPoolMode_User, } -// A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool restrictions -// and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools type AgentPoolMode_STATUS string const ( @@ -4261,17 +4245,10 @@ var agentPoolMode_STATUS_Values = map[string]AgentPoolMode_STATUS{ "user": AgentPoolMode_STATUS_User, } -// Network settings of an agent pool. type AgentPoolNetworkProfile struct { - // AllowedHostPorts: The port ranges that are allowed to access. The specified ranges are allowed to overlap. - AllowedHostPorts []PortRange `json:"allowedHostPorts,omitempty"` - - // ApplicationSecurityGroupsReferences: The IDs of the application security groups which agent pool will associate when - // created. + AllowedHostPorts []PortRange `json:"allowedHostPorts,omitempty"` ApplicationSecurityGroupsReferences []genruntime.ResourceReference `armReference:"ApplicationSecurityGroups" json:"applicationSecurityGroupsReferences,omitempty"` - - // NodePublicIPTags: IPTags of instance-level public IPs. - NodePublicIPTags []IPTag `json:"nodePublicIPTags,omitempty"` + NodePublicIPTags []IPTag `json:"nodePublicIPTags,omitempty"` } var _ genruntime.ARMTransformer = &AgentPoolNetworkProfile{} @@ -4471,16 +4448,10 @@ func (profile *AgentPoolNetworkProfile) AssignProperties_To_AgentPoolNetworkProf return nil } -// Network settings of an agent pool. type AgentPoolNetworkProfile_STATUS struct { - // AllowedHostPorts: The port ranges that are allowed to access. The specified ranges are allowed to overlap. - AllowedHostPorts []PortRange_STATUS `json:"allowedHostPorts,omitempty"` - - // ApplicationSecurityGroups: The IDs of the application security groups which agent pool will associate when created. - ApplicationSecurityGroups []string `json:"applicationSecurityGroups,omitempty"` - - // NodePublicIPTags: IPTags of instance-level public IPs. - NodePublicIPTags []IPTag_STATUS `json:"nodePublicIPTags,omitempty"` + AllowedHostPorts []PortRange_STATUS `json:"allowedHostPorts,omitempty"` + ApplicationSecurityGroups []string `json:"applicationSecurityGroups,omitempty"` + NodePublicIPTags []IPTag_STATUS `json:"nodePublicIPTags,omitempty"` } var _ genruntime.FromARMConverter = &AgentPoolNetworkProfile_STATUS{} @@ -4627,18 +4598,10 @@ func (profile *AgentPoolNetworkProfile_STATUS) AssignProperties_To_AgentPoolNetw return nil } -// The security settings of an agent pool. type AgentPoolSecurityProfile struct { - // EnableSecureBoot: Secure Boot is a feature of Trusted Launch which ensures that only signed operating systems and - // drivers can boot. For more details, see aka.ms/aks/trustedlaunch. If not specified, the default is false. - EnableSecureBoot *bool `json:"enableSecureBoot,omitempty"` - - // EnableVTPM: vTPM is a Trusted Launch feature for configuring a dedicated secure vault for keys and measurements held - // locally on the node. For more details, see aka.ms/aks/trustedlaunch. If not specified, the default is false. - EnableVTPM *bool `json:"enableVTPM,omitempty"` - - // SshAccess: SSH access method of an agent pool. - SshAccess *AgentPoolSSHAccess `json:"sshAccess,omitempty"` + EnableSecureBoot *bool `json:"enableSecureBoot,omitempty"` + EnableVTPM *bool `json:"enableVTPM,omitempty"` + SshAccess *AgentPoolSSHAccess `json:"sshAccess,omitempty"` } var _ genruntime.ARMTransformer = &AgentPoolSecurityProfile{} @@ -4780,18 +4743,10 @@ func (profile *AgentPoolSecurityProfile) AssignProperties_To_AgentPoolSecurityPr return nil } -// The security settings of an agent pool. type AgentPoolSecurityProfile_STATUS struct { - // EnableSecureBoot: Secure Boot is a feature of Trusted Launch which ensures that only signed operating systems and - // drivers can boot. For more details, see aka.ms/aks/trustedlaunch. If not specified, the default is false. - EnableSecureBoot *bool `json:"enableSecureBoot,omitempty"` - - // EnableVTPM: vTPM is a Trusted Launch feature for configuring a dedicated secure vault for keys and measurements held - // locally on the node. For more details, see aka.ms/aks/trustedlaunch. If not specified, the default is false. - EnableVTPM *bool `json:"enableVTPM,omitempty"` - - // SshAccess: SSH access method of an agent pool. - SshAccess *AgentPoolSSHAccess_STATUS `json:"sshAccess,omitempty"` + EnableSecureBoot *bool `json:"enableSecureBoot,omitempty"` + EnableVTPM *bool `json:"enableVTPM,omitempty"` + SshAccess *AgentPoolSSHAccess_STATUS `json:"sshAccess,omitempty"` } var _ genruntime.FromARMConverter = &AgentPoolSecurityProfile_STATUS{} @@ -4904,7 +4859,6 @@ func (profile *AgentPoolSecurityProfile_STATUS) AssignProperties_To_AgentPoolSec return nil } -// The type of Agent Pool. // +kubebuilder:validation:Enum={"AvailabilitySet","VirtualMachineScaleSets","VirtualMachines"} type AgentPoolType string @@ -4921,7 +4875,6 @@ var agentPoolType_Values = map[string]AgentPoolType{ "virtualmachines": AgentPoolType_VirtualMachines, } -// The type of Agent Pool. type AgentPoolType_STATUS string const ( @@ -4937,25 +4890,14 @@ var agentPoolType_STATUS_Values = map[string]AgentPoolType_STATUS{ "virtualmachines": AgentPoolType_STATUS_VirtualMachines, } -// Settings for upgrading an agentpool type AgentPoolUpgradeSettings struct { // +kubebuilder:validation:Maximum=1440 // +kubebuilder:validation:Minimum=1 - // DrainTimeoutInMinutes: The amount of time (in minutes) to wait on eviction of pods and graceful termination per node. - // This eviction wait time honors waiting on pod disruption budgets. If this time is exceeded, the upgrade fails. If not - // specified, the default is 30 minutes. - DrainTimeoutInMinutes *int `json:"drainTimeoutInMinutes,omitempty"` - - // MaxSurge: This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it - // is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded - // up. If not specified, the default is 1. For more information, including best practices, see: - // https://docs.microsoft.com/azure/aks/upgrade-cluster#customize-node-surge-upgrade - MaxSurge *string `json:"maxSurge,omitempty"` + DrainTimeoutInMinutes *int `json:"drainTimeoutInMinutes,omitempty"` + MaxSurge *string `json:"maxSurge,omitempty"` // +kubebuilder:validation:Maximum=30 // +kubebuilder:validation:Minimum=0 - // NodeSoakDurationInMinutes: The amount of time (in minutes) to wait after draining a node and before reimaging it and - // moving on to next node. If not specified, the default is 0 minutes. NodeSoakDurationInMinutes *int `json:"nodeSoakDurationInMinutes,omitempty"` } @@ -5083,22 +5025,10 @@ func (settings *AgentPoolUpgradeSettings) AssignProperties_To_AgentPoolUpgradeSe return nil } -// Settings for upgrading an agentpool type AgentPoolUpgradeSettings_STATUS struct { - // DrainTimeoutInMinutes: The amount of time (in minutes) to wait on eviction of pods and graceful termination per node. - // This eviction wait time honors waiting on pod disruption budgets. If this time is exceeded, the upgrade fails. If not - // specified, the default is 30 minutes. - DrainTimeoutInMinutes *int `json:"drainTimeoutInMinutes,omitempty"` - - // MaxSurge: This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it - // is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded - // up. If not specified, the default is 1. For more information, including best practices, see: - // https://docs.microsoft.com/azure/aks/upgrade-cluster#customize-node-surge-upgrade - MaxSurge *string `json:"maxSurge,omitempty"` - - // NodeSoakDurationInMinutes: The amount of time (in minutes) to wait after draining a node and before reimaging it and - // moving on to next node. If not specified, the default is 0 minutes. - NodeSoakDurationInMinutes *int `json:"nodeSoakDurationInMinutes,omitempty"` + DrainTimeoutInMinutes *int `json:"drainTimeoutInMinutes,omitempty"` + MaxSurge *string `json:"maxSurge,omitempty"` + NodeSoakDurationInMinutes *int `json:"nodeSoakDurationInMinutes,omitempty"` } var _ genruntime.FromARMConverter = &AgentPoolUpgradeSettings_STATUS{} @@ -5178,10 +5108,7 @@ func (settings *AgentPoolUpgradeSettings_STATUS) AssignProperties_To_AgentPoolUp return nil } -// The Windows agent pool's specific profile. type AgentPoolWindowsProfile struct { - // DisableOutboundNat: The default value is false. Outbound NAT can only be disabled if the cluster outboundType is NAT - // Gateway and the Windows agent pool does not have node public IP enabled. DisableOutboundNat *bool `json:"disableOutboundNat,omitempty"` } @@ -5263,10 +5190,7 @@ func (profile *AgentPoolWindowsProfile) AssignProperties_To_AgentPoolWindowsProf return nil } -// The Windows agent pool's specific profile. type AgentPoolWindowsProfile_STATUS struct { - // DisableOutboundNat: The default value is false. Outbound NAT can only be disabled if the cluster outboundType is NAT - // Gateway and the Windows agent pool does not have node public IP enabled. DisableOutboundNat *bool `json:"disableOutboundNat,omitempty"` } @@ -5337,7 +5261,6 @@ func (profile *AgentPoolWindowsProfile_STATUS) AssignProperties_To_AgentPoolWind // +kubebuilder:validation:Minimum=0 type ContainerServiceOSDisk int -// GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU. // +kubebuilder:validation:Enum={"MIG1g","MIG2g","MIG3g","MIG4g","MIG7g"} type GPUInstanceProfile string @@ -5358,7 +5281,6 @@ var gPUInstanceProfile_Values = map[string]GPUInstanceProfile{ "mig7g": GPUInstanceProfile_MIG7G, } -// GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU. type GPUInstanceProfile_STATUS string const ( @@ -5378,46 +5300,19 @@ var gPUInstanceProfile_STATUS_Values = map[string]GPUInstanceProfile_STATUS{ "mig7g": GPUInstanceProfile_STATUS_MIG7G, } -// See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. type KubeletConfig struct { - // AllowedUnsafeSysctls: Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in `*`). AllowedUnsafeSysctls []string `json:"allowedUnsafeSysctls,omitempty"` // +kubebuilder:validation:Minimum=2 - // ContainerLogMaxFiles: The maximum number of container log files that can be present for a container. The number must be - // ≥ 2. - ContainerLogMaxFiles *int `json:"containerLogMaxFiles,omitempty"` - - // ContainerLogMaxSizeMB: The maximum size (e.g. 10Mi) of container log file before it is rotated. - ContainerLogMaxSizeMB *int `json:"containerLogMaxSizeMB,omitempty"` - - // CpuCfsQuota: The default is true. - CpuCfsQuota *bool `json:"cpuCfsQuota,omitempty"` - - // CpuCfsQuotaPeriod: The default is '100ms.' Valid values are a sequence of decimal numbers with an optional fraction and - // a unit suffix. For example: '300ms', '2h45m'. Supported units are 'ns', 'us', 'ms', 's', 'm', and 'h'. - CpuCfsQuotaPeriod *string `json:"cpuCfsQuotaPeriod,omitempty"` - - // CpuManagerPolicy: The default is 'none'. See [Kubernetes CPU management - // policies](https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/#cpu-management-policies) for more - // information. Allowed values are 'none' and 'static'. - CpuManagerPolicy *string `json:"cpuManagerPolicy,omitempty"` - - // FailSwapOn: If set to true it will make the Kubelet fail to start if swap is enabled on the node. - FailSwapOn *bool `json:"failSwapOn,omitempty"` - - // ImageGcHighThreshold: To disable image garbage collection, set to 100. The default is 85% - ImageGcHighThreshold *int `json:"imageGcHighThreshold,omitempty"` - - // ImageGcLowThreshold: This cannot be set higher than imageGcHighThreshold. The default is 80% - ImageGcLowThreshold *int `json:"imageGcLowThreshold,omitempty"` - - // PodMaxPids: The maximum number of processes per pod. - PodMaxPids *int `json:"podMaxPids,omitempty"` - - // TopologyManagerPolicy: For more information see [Kubernetes Topology - // Manager](https://kubernetes.io/docs/tasks/administer-cluster/topology-manager). The default is 'none'. Allowed values - // are 'none', 'best-effort', 'restricted', and 'single-numa-node'. + ContainerLogMaxFiles *int `json:"containerLogMaxFiles,omitempty"` + ContainerLogMaxSizeMB *int `json:"containerLogMaxSizeMB,omitempty"` + CpuCfsQuota *bool `json:"cpuCfsQuota,omitempty"` + CpuCfsQuotaPeriod *string `json:"cpuCfsQuotaPeriod,omitempty"` + CpuManagerPolicy *string `json:"cpuManagerPolicy,omitempty"` + FailSwapOn *bool `json:"failSwapOn,omitempty"` + ImageGcHighThreshold *int `json:"imageGcHighThreshold,omitempty"` + ImageGcLowThreshold *int `json:"imageGcLowThreshold,omitempty"` + PodMaxPids *int `json:"podMaxPids,omitempty"` TopologyManagerPolicy *string `json:"topologyManagerPolicy,omitempty"` } @@ -5697,46 +5592,18 @@ func (config *KubeletConfig) AssignProperties_To_KubeletConfig(destination *stor return nil } -// See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. type KubeletConfig_STATUS struct { - // AllowedUnsafeSysctls: Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in `*`). - AllowedUnsafeSysctls []string `json:"allowedUnsafeSysctls,omitempty"` - - // ContainerLogMaxFiles: The maximum number of container log files that can be present for a container. The number must be - // ≥ 2. - ContainerLogMaxFiles *int `json:"containerLogMaxFiles,omitempty"` - - // ContainerLogMaxSizeMB: The maximum size (e.g. 10Mi) of container log file before it is rotated. - ContainerLogMaxSizeMB *int `json:"containerLogMaxSizeMB,omitempty"` - - // CpuCfsQuota: The default is true. - CpuCfsQuota *bool `json:"cpuCfsQuota,omitempty"` - - // CpuCfsQuotaPeriod: The default is '100ms.' Valid values are a sequence of decimal numbers with an optional fraction and - // a unit suffix. For example: '300ms', '2h45m'. Supported units are 'ns', 'us', 'ms', 's', 'm', and 'h'. - CpuCfsQuotaPeriod *string `json:"cpuCfsQuotaPeriod,omitempty"` - - // CpuManagerPolicy: The default is 'none'. See [Kubernetes CPU management - // policies](https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/#cpu-management-policies) for more - // information. Allowed values are 'none' and 'static'. - CpuManagerPolicy *string `json:"cpuManagerPolicy,omitempty"` - - // FailSwapOn: If set to true it will make the Kubelet fail to start if swap is enabled on the node. - FailSwapOn *bool `json:"failSwapOn,omitempty"` - - // ImageGcHighThreshold: To disable image garbage collection, set to 100. The default is 85% - ImageGcHighThreshold *int `json:"imageGcHighThreshold,omitempty"` - - // ImageGcLowThreshold: This cannot be set higher than imageGcHighThreshold. The default is 80% - ImageGcLowThreshold *int `json:"imageGcLowThreshold,omitempty"` - - // PodMaxPids: The maximum number of processes per pod. - PodMaxPids *int `json:"podMaxPids,omitempty"` - - // TopologyManagerPolicy: For more information see [Kubernetes Topology - // Manager](https://kubernetes.io/docs/tasks/administer-cluster/topology-manager). The default is 'none'. Allowed values - // are 'none', 'best-effort', 'restricted', and 'single-numa-node'. - TopologyManagerPolicy *string `json:"topologyManagerPolicy,omitempty"` + AllowedUnsafeSysctls []string `json:"allowedUnsafeSysctls,omitempty"` + ContainerLogMaxFiles *int `json:"containerLogMaxFiles,omitempty"` + ContainerLogMaxSizeMB *int `json:"containerLogMaxSizeMB,omitempty"` + CpuCfsQuota *bool `json:"cpuCfsQuota,omitempty"` + CpuCfsQuotaPeriod *string `json:"cpuCfsQuotaPeriod,omitempty"` + CpuManagerPolicy *string `json:"cpuManagerPolicy,omitempty"` + FailSwapOn *bool `json:"failSwapOn,omitempty"` + ImageGcHighThreshold *int `json:"imageGcHighThreshold,omitempty"` + ImageGcLowThreshold *int `json:"imageGcLowThreshold,omitempty"` + PodMaxPids *int `json:"podMaxPids,omitempty"` + TopologyManagerPolicy *string `json:"topologyManagerPolicy,omitempty"` } var _ genruntime.FromARMConverter = &KubeletConfig_STATUS{} @@ -5931,7 +5798,6 @@ func (config *KubeletConfig_STATUS) AssignProperties_To_KubeletConfig_STATUS(des return nil } -// Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage. // +kubebuilder:validation:Enum={"OS","Temporary"} type KubeletDiskType string @@ -5946,7 +5812,6 @@ var kubeletDiskType_Values = map[string]KubeletDiskType{ "temporary": KubeletDiskType_Temporary, } -// Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage. type KubeletDiskType_STATUS string const ( @@ -5960,23 +5825,11 @@ var kubeletDiskType_STATUS_Values = map[string]KubeletDiskType_STATUS{ "temporary": KubeletDiskType_STATUS_Temporary, } -// See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. type LinuxOSConfig struct { - // SwapFileSizeMB: The size in MB of a swap file that will be created on each node. - SwapFileSizeMB *int `json:"swapFileSizeMB,omitempty"` - - // Sysctls: Sysctl settings for Linux agent nodes. - Sysctls *SysctlConfig `json:"sysctls,omitempty"` - - // TransparentHugePageDefrag: Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is - // 'madvise'. For more information see [Transparent - // Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). - TransparentHugePageDefrag *string `json:"transparentHugePageDefrag,omitempty"` - - // TransparentHugePageEnabled: Valid values are 'always', 'madvise', and 'never'. The default is 'always'. For more - // information see [Transparent - // Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). - TransparentHugePageEnabled *string `json:"transparentHugePageEnabled,omitempty"` + SwapFileSizeMB *int `json:"swapFileSizeMB,omitempty"` + Sysctls *SysctlConfig `json:"sysctls,omitempty"` + TransparentHugePageDefrag *string `json:"transparentHugePageDefrag,omitempty"` + TransparentHugePageEnabled *string `json:"transparentHugePageEnabled,omitempty"` } var _ genruntime.ARMTransformer = &LinuxOSConfig{} @@ -6128,23 +5981,11 @@ func (config *LinuxOSConfig) AssignProperties_To_LinuxOSConfig(destination *stor return nil } -// See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. type LinuxOSConfig_STATUS struct { - // SwapFileSizeMB: The size in MB of a swap file that will be created on each node. - SwapFileSizeMB *int `json:"swapFileSizeMB,omitempty"` - - // Sysctls: Sysctl settings for Linux agent nodes. - Sysctls *SysctlConfig_STATUS `json:"sysctls,omitempty"` - - // TransparentHugePageDefrag: Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is - // 'madvise'. For more information see [Transparent - // Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). - TransparentHugePageDefrag *string `json:"transparentHugePageDefrag,omitempty"` - - // TransparentHugePageEnabled: Valid values are 'always', 'madvise', and 'never'. The default is 'always'. For more - // information see [Transparent - // Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). - TransparentHugePageEnabled *string `json:"transparentHugePageEnabled,omitempty"` + SwapFileSizeMB *int `json:"swapFileSizeMB,omitempty"` + Sysctls *SysctlConfig_STATUS `json:"sysctls,omitempty"` + TransparentHugePageDefrag *string `json:"transparentHugePageDefrag,omitempty"` + TransparentHugePageEnabled *string `json:"transparentHugePageEnabled,omitempty"` } var _ genruntime.FromARMConverter = &LinuxOSConfig_STATUS{} @@ -6259,9 +6100,6 @@ func (config *LinuxOSConfig_STATUS) AssignProperties_To_LinuxOSConfig_STATUS(des return nil } -// The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, -// defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral -// OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). // +kubebuilder:validation:Enum={"Ephemeral","Managed"} type OSDiskType string @@ -6276,9 +6114,6 @@ var oSDiskType_Values = map[string]OSDiskType{ "managed": OSDiskType_Managed, } -// The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, -// defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral -// OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). type OSDiskType_STATUS string const ( @@ -6292,8 +6127,6 @@ var oSDiskType_STATUS_Values = map[string]OSDiskType_STATUS{ "managed": OSDiskType_STATUS_Managed, } -// Specifies the OS SKU used by the agent pool. If not specified, the default is Ubuntu if OSType=Linux or Windows2019 if -// OSType=Windows. And the default Windows OSSKU will be changed to Windows2022 after Windows2019 is deprecated. // +kubebuilder:validation:Enum={"AzureLinux","CBLMariner","Mariner","Ubuntu","Windows2019","Windows2022","WindowsAnnual"} type OSSKU string @@ -6318,8 +6151,6 @@ var oSSKU_Values = map[string]OSSKU{ "windowsannual": OSSKU_WindowsAnnual, } -// Specifies the OS SKU used by the agent pool. If not specified, the default is Ubuntu if OSType=Linux or Windows2019 if -// OSType=Windows. And the default Windows OSSKU will be changed to Windows2022 after Windows2019 is deprecated. type OSSKU_STATUS string const ( @@ -6343,7 +6174,6 @@ var oSSKU_STATUS_Values = map[string]OSSKU_STATUS{ "windowsannual": OSSKU_STATUS_WindowsAnnual, } -// The operating system type. The default is Linux. // +kubebuilder:validation:Enum={"Linux","Windows"} type OSType string @@ -6358,7 +6188,6 @@ var oSType_Values = map[string]OSType{ "windows": OSType_Windows, } -// The operating system type. The default is Linux. type OSType_STATUS string const ( @@ -6372,9 +6201,7 @@ var oSType_STATUS_Values = map[string]OSType_STATUS{ "windows": OSType_STATUS_Windows, } -// Describes the Power State of the cluster type PowerState struct { - // Code: Tells whether the cluster is Running or Stopped Code *PowerState_Code `json:"code,omitempty"` } @@ -6461,8 +6288,6 @@ func (state *PowerState) AssignProperties_To_PowerState(destination *storage.Pow return nil } -// Describes how VMs are added to or removed from Agent Pools. See [billing -// states](https://docs.microsoft.com/azure/virtual-machines/states-billing). // +kubebuilder:validation:Enum={"Deallocate","Delete"} type ScaleDownMode string @@ -6477,8 +6302,6 @@ var scaleDownMode_Values = map[string]ScaleDownMode{ "delete": ScaleDownMode_Delete, } -// Describes how VMs are added to or removed from Agent Pools. See [billing -// states](https://docs.microsoft.com/azure/virtual-machines/states-billing). type ScaleDownMode_STATUS string const ( @@ -6492,8 +6315,6 @@ var scaleDownMode_STATUS_Values = map[string]ScaleDownMode_STATUS{ "delete": ScaleDownMode_STATUS_Delete, } -// The eviction policy specifies what to do with the VM when it is evicted. The default is Delete. For more information -// about eviction see [spot VMs](https://docs.microsoft.com/azure/virtual-machines/spot-vms) // +kubebuilder:validation:Enum={"Deallocate","Delete"} type ScaleSetEvictionPolicy string @@ -6508,8 +6329,6 @@ var scaleSetEvictionPolicy_Values = map[string]ScaleSetEvictionPolicy{ "delete": ScaleSetEvictionPolicy_Delete, } -// The eviction policy specifies what to do with the VM when it is evicted. The default is Delete. For more information -// about eviction see [spot VMs](https://docs.microsoft.com/azure/virtual-machines/spot-vms) type ScaleSetEvictionPolicy_STATUS string const ( @@ -6523,7 +6342,6 @@ var scaleSetEvictionPolicy_STATUS_Values = map[string]ScaleSetEvictionPolicy_STA "delete": ScaleSetEvictionPolicy_STATUS_Delete, } -// The Virtual Machine Scale Set priority. // +kubebuilder:validation:Enum={"Regular","Spot"} type ScaleSetPriority string @@ -6538,7 +6356,6 @@ var scaleSetPriority_Values = map[string]ScaleSetPriority{ "spot": ScaleSetPriority_Spot, } -// The Virtual Machine Scale Set priority. type ScaleSetPriority_STATUS string const ( @@ -6552,13 +6369,9 @@ var scaleSetPriority_STATUS_Values = map[string]ScaleSetPriority_STATUS{ "spot": ScaleSetPriority_STATUS_Spot, } -// Current status on a group of nodes of the same vm size. type VirtualMachineNodes struct { - // Count: Number of nodes. - Count *int `json:"count,omitempty"` - - // Size: The VM size of the agents used to host this group of nodes. - Size *string `json:"size,omitempty"` + Count *int `json:"count,omitempty"` + Size *string `json:"size,omitempty"` } var _ genruntime.ARMTransformer = &VirtualMachineNodes{} @@ -6647,13 +6460,9 @@ func (nodes *VirtualMachineNodes) AssignProperties_To_VirtualMachineNodes(destin return nil } -// Current status on a group of nodes of the same vm size. type VirtualMachineNodes_STATUS struct { - // Count: Number of nodes. - Count *int `json:"count,omitempty"` - - // Size: The VM size of the agents used to host this group of nodes. - Size *string `json:"size,omitempty"` + Count *int `json:"count,omitempty"` + Size *string `json:"size,omitempty"` } var _ genruntime.FromARMConverter = &VirtualMachineNodes_STATUS{} @@ -6721,9 +6530,7 @@ func (nodes *VirtualMachineNodes_STATUS) AssignProperties_To_VirtualMachineNodes return nil } -// Specifications on VirtualMachines agent pool. type VirtualMachinesProfile struct { - // Scale: Specifications on how to scale a VirtualMachines agent pool. Scale *ScaleProfile `json:"scale,omitempty"` } @@ -6822,9 +6629,7 @@ func (profile *VirtualMachinesProfile) AssignProperties_To_VirtualMachinesProfil return nil } -// Specifications on VirtualMachines agent pool. type VirtualMachinesProfile_STATUS struct { - // Scale: Specifications on how to scale a VirtualMachines agent pool. Scale *ScaleProfile_STATUS `json:"scale,omitempty"` } @@ -6904,7 +6709,6 @@ func (profile *VirtualMachinesProfile_STATUS) AssignProperties_To_VirtualMachine return nil } -// Determines the type of workload a node can run. // +kubebuilder:validation:Enum={"KataMshvVmIsolation","OCIContainer","WasmWasi"} type WorkloadRuntime string @@ -6921,7 +6725,6 @@ var workloadRuntime_Values = map[string]WorkloadRuntime{ "wasmwasi": WorkloadRuntime_WasmWasi, } -// Determines the type of workload a node can run. type WorkloadRuntime_STATUS string const ( @@ -6937,7 +6740,6 @@ var workloadRuntime_STATUS_Values = map[string]WorkloadRuntime_STATUS{ "wasmwasi": WorkloadRuntime_STATUS_WasmWasi, } -// SSH access method of an agent pool. // +kubebuilder:validation:Enum={"Disabled","LocalUser"} type AgentPoolSSHAccess string @@ -6952,7 +6754,6 @@ var agentPoolSSHAccess_Values = map[string]AgentPoolSSHAccess{ "localuser": AgentPoolSSHAccess_LocalUser, } -// SSH access method of an agent pool. type AgentPoolSSHAccess_STATUS string const ( @@ -6966,13 +6767,9 @@ var agentPoolSSHAccess_STATUS_Values = map[string]AgentPoolSSHAccess_STATUS{ "localuser": AgentPoolSSHAccess_STATUS_LocalUser, } -// Contains the IPTag associated with the object. type IPTag struct { - // IpTagType: The IP tag type. Example: RoutingPreference. IpTagType *string `json:"ipTagType,omitempty"` - - // Tag: The value of the IP tag associated with the public IP. Example: Internet. - Tag *string `json:"tag,omitempty"` + Tag *string `json:"tag,omitempty"` } var _ genruntime.ARMTransformer = &IPTag{} @@ -7061,13 +6858,9 @@ func (ipTag *IPTag) AssignProperties_To_IPTag(destination *storage.IPTag) error return nil } -// Contains the IPTag associated with the object. type IPTag_STATUS struct { - // IpTagType: The IP tag type. Example: RoutingPreference. IpTagType *string `json:"ipTagType,omitempty"` - - // Tag: The value of the IP tag associated with the public IP. Example: Internet. - Tag *string `json:"tag,omitempty"` + Tag *string `json:"tag,omitempty"` } var _ genruntime.FromARMConverter = &IPTag_STATUS{} @@ -7135,22 +6928,15 @@ func (ipTag *IPTag_STATUS) AssignProperties_To_IPTag_STATUS(destination *storage return nil } -// The port range. type PortRange struct { // +kubebuilder:validation:Maximum=65535 // +kubebuilder:validation:Minimum=1 - // PortEnd: The maximum port that is included in the range. It should be ranged from 1 to 65535, and be greater than or - // equal to portStart. PortEnd *int `json:"portEnd,omitempty"` // +kubebuilder:validation:Maximum=65535 // +kubebuilder:validation:Minimum=1 - // PortStart: The minimum port that is included in the range. It should be ranged from 1 to 65535, and be less than or - // equal to portEnd. - PortStart *int `json:"portStart,omitempty"` - - // Protocol: The network protocol of the port. - Protocol *PortRange_Protocol `json:"protocol,omitempty"` + PortStart *int `json:"portStart,omitempty"` + Protocol *PortRange_Protocol `json:"protocol,omitempty"` } var _ genruntime.ARMTransformer = &PortRange{} @@ -7292,18 +7078,10 @@ func (portRange *PortRange) AssignProperties_To_PortRange(destination *storage.P return nil } -// The port range. type PortRange_STATUS struct { - // PortEnd: The maximum port that is included in the range. It should be ranged from 1 to 65535, and be greater than or - // equal to portStart. - PortEnd *int `json:"portEnd,omitempty"` - - // PortStart: The minimum port that is included in the range. It should be ranged from 1 to 65535, and be less than or - // equal to portEnd. - PortStart *int `json:"portStart,omitempty"` - - // Protocol: The network protocol of the port. - Protocol *PortRange_Protocol_STATUS `json:"protocol,omitempty"` + PortEnd *int `json:"portEnd,omitempty"` + PortStart *int `json:"portStart,omitempty"` + Protocol *PortRange_Protocol_STATUS `json:"protocol,omitempty"` } var _ genruntime.FromARMConverter = &PortRange_STATUS{} @@ -7410,9 +7188,7 @@ var powerState_Code_Values = map[string]PowerState_Code{ "stopped": PowerState_Code_Stopped, } -// Specifications on how to scale a VirtualMachines agent pool. type ScaleProfile struct { - // Manual: Specifications on how to scale the VirtualMachines agent pool to a fixed size. Manual []ManualScaleProfile `json:"manual,omitempty"` } @@ -7521,9 +7297,7 @@ func (profile *ScaleProfile) AssignProperties_To_ScaleProfile(destination *stora return nil } -// Specifications on how to scale a VirtualMachines agent pool. type ScaleProfile_STATUS struct { - // Manual: Specifications on how to scale the VirtualMachines agent pool to a fixed size. Manual []ManualScaleProfile_STATUS `json:"manual,omitempty"` } @@ -7614,97 +7388,44 @@ func (profile *ScaleProfile_STATUS) AssignProperties_To_ScaleProfile_STATUS(dest return nil } -// Sysctl settings for Linux agent nodes. type SysctlConfig struct { - // FsAioMaxNr: Sysctl setting fs.aio-max-nr. - FsAioMaxNr *int `json:"fsAioMaxNr,omitempty"` - - // FsFileMax: Sysctl setting fs.file-max. - FsFileMax *int `json:"fsFileMax,omitempty"` - - // FsInotifyMaxUserWatches: Sysctl setting fs.inotify.max_user_watches. - FsInotifyMaxUserWatches *int `json:"fsInotifyMaxUserWatches,omitempty"` - - // FsNrOpen: Sysctl setting fs.nr_open. - FsNrOpen *int `json:"fsNrOpen,omitempty"` - - // KernelThreadsMax: Sysctl setting kernel.threads-max. - KernelThreadsMax *int `json:"kernelThreadsMax,omitempty"` - - // NetCoreNetdevMaxBacklog: Sysctl setting net.core.netdev_max_backlog. - NetCoreNetdevMaxBacklog *int `json:"netCoreNetdevMaxBacklog,omitempty"` - - // NetCoreOptmemMax: Sysctl setting net.core.optmem_max. - NetCoreOptmemMax *int `json:"netCoreOptmemMax,omitempty"` - - // NetCoreRmemDefault: Sysctl setting net.core.rmem_default. - NetCoreRmemDefault *int `json:"netCoreRmemDefault,omitempty"` - - // NetCoreRmemMax: Sysctl setting net.core.rmem_max. - NetCoreRmemMax *int `json:"netCoreRmemMax,omitempty"` - - // NetCoreSomaxconn: Sysctl setting net.core.somaxconn. - NetCoreSomaxconn *int `json:"netCoreSomaxconn,omitempty"` - - // NetCoreWmemDefault: Sysctl setting net.core.wmem_default. - NetCoreWmemDefault *int `json:"netCoreWmemDefault,omitempty"` - - // NetCoreWmemMax: Sysctl setting net.core.wmem_max. - NetCoreWmemMax *int `json:"netCoreWmemMax,omitempty"` - - // NetIpv4IpLocalPortRange: Sysctl setting net.ipv4.ip_local_port_range. - NetIpv4IpLocalPortRange *string `json:"netIpv4IpLocalPortRange,omitempty"` - - // NetIpv4NeighDefaultGcThresh1: Sysctl setting net.ipv4.neigh.default.gc_thresh1. - NetIpv4NeighDefaultGcThresh1 *int `json:"netIpv4NeighDefaultGcThresh1,omitempty"` - - // NetIpv4NeighDefaultGcThresh2: Sysctl setting net.ipv4.neigh.default.gc_thresh2. - NetIpv4NeighDefaultGcThresh2 *int `json:"netIpv4NeighDefaultGcThresh2,omitempty"` - - // NetIpv4NeighDefaultGcThresh3: Sysctl setting net.ipv4.neigh.default.gc_thresh3. - NetIpv4NeighDefaultGcThresh3 *int `json:"netIpv4NeighDefaultGcThresh3,omitempty"` - - // NetIpv4TcpFinTimeout: Sysctl setting net.ipv4.tcp_fin_timeout. - NetIpv4TcpFinTimeout *int `json:"netIpv4TcpFinTimeout,omitempty"` - - // NetIpv4TcpKeepaliveProbes: Sysctl setting net.ipv4.tcp_keepalive_probes. - NetIpv4TcpKeepaliveProbes *int `json:"netIpv4TcpKeepaliveProbes,omitempty"` - - // NetIpv4TcpKeepaliveTime: Sysctl setting net.ipv4.tcp_keepalive_time. - NetIpv4TcpKeepaliveTime *int `json:"netIpv4TcpKeepaliveTime,omitempty"` - - // NetIpv4TcpMaxSynBacklog: Sysctl setting net.ipv4.tcp_max_syn_backlog. - NetIpv4TcpMaxSynBacklog *int `json:"netIpv4TcpMaxSynBacklog,omitempty"` - - // NetIpv4TcpMaxTwBuckets: Sysctl setting net.ipv4.tcp_max_tw_buckets. - NetIpv4TcpMaxTwBuckets *int `json:"netIpv4TcpMaxTwBuckets,omitempty"` - - // NetIpv4TcpTwReuse: Sysctl setting net.ipv4.tcp_tw_reuse. - NetIpv4TcpTwReuse *bool `json:"netIpv4TcpTwReuse,omitempty"` + FsAioMaxNr *int `json:"fsAioMaxNr,omitempty"` + FsFileMax *int `json:"fsFileMax,omitempty"` + FsInotifyMaxUserWatches *int `json:"fsInotifyMaxUserWatches,omitempty"` + FsNrOpen *int `json:"fsNrOpen,omitempty"` + KernelThreadsMax *int `json:"kernelThreadsMax,omitempty"` + NetCoreNetdevMaxBacklog *int `json:"netCoreNetdevMaxBacklog,omitempty"` + NetCoreOptmemMax *int `json:"netCoreOptmemMax,omitempty"` + NetCoreRmemDefault *int `json:"netCoreRmemDefault,omitempty"` + NetCoreRmemMax *int `json:"netCoreRmemMax,omitempty"` + NetCoreSomaxconn *int `json:"netCoreSomaxconn,omitempty"` + NetCoreWmemDefault *int `json:"netCoreWmemDefault,omitempty"` + NetCoreWmemMax *int `json:"netCoreWmemMax,omitempty"` + NetIpv4IpLocalPortRange *string `json:"netIpv4IpLocalPortRange,omitempty"` + NetIpv4NeighDefaultGcThresh1 *int `json:"netIpv4NeighDefaultGcThresh1,omitempty"` + NetIpv4NeighDefaultGcThresh2 *int `json:"netIpv4NeighDefaultGcThresh2,omitempty"` + NetIpv4NeighDefaultGcThresh3 *int `json:"netIpv4NeighDefaultGcThresh3,omitempty"` + NetIpv4TcpFinTimeout *int `json:"netIpv4TcpFinTimeout,omitempty"` + NetIpv4TcpKeepaliveProbes *int `json:"netIpv4TcpKeepaliveProbes,omitempty"` + NetIpv4TcpKeepaliveTime *int `json:"netIpv4TcpKeepaliveTime,omitempty"` + NetIpv4TcpMaxSynBacklog *int `json:"netIpv4TcpMaxSynBacklog,omitempty"` + NetIpv4TcpMaxTwBuckets *int `json:"netIpv4TcpMaxTwBuckets,omitempty"` + NetIpv4TcpTwReuse *bool `json:"netIpv4TcpTwReuse,omitempty"` // +kubebuilder:validation:Maximum=90 // +kubebuilder:validation:Minimum=10 - // NetIpv4TcpkeepaliveIntvl: Sysctl setting net.ipv4.tcp_keepalive_intvl. NetIpv4TcpkeepaliveIntvl *int `json:"netIpv4TcpkeepaliveIntvl,omitempty"` // +kubebuilder:validation:Maximum=524288 // +kubebuilder:validation:Minimum=65536 - // NetNetfilterNfConntrackBuckets: Sysctl setting net.netfilter.nf_conntrack_buckets. NetNetfilterNfConntrackBuckets *int `json:"netNetfilterNfConntrackBuckets,omitempty"` // +kubebuilder:validation:Maximum=2097152 // +kubebuilder:validation:Minimum=131072 - // NetNetfilterNfConntrackMax: Sysctl setting net.netfilter.nf_conntrack_max. NetNetfilterNfConntrackMax *int `json:"netNetfilterNfConntrackMax,omitempty"` - - // VmMaxMapCount: Sysctl setting vm.max_map_count. - VmMaxMapCount *int `json:"vmMaxMapCount,omitempty"` - - // VmSwappiness: Sysctl setting vm.swappiness. - VmSwappiness *int `json:"vmSwappiness,omitempty"` - - // VmVfsCachePressure: Sysctl setting vm.vfs_cache_pressure. - VmVfsCachePressure *int `json:"vmVfsCachePressure,omitempty"` + VmMaxMapCount *int `json:"vmMaxMapCount,omitempty"` + VmSwappiness *int `json:"vmSwappiness,omitempty"` + VmVfsCachePressure *int `json:"vmVfsCachePressure,omitempty"` } var _ genruntime.ARMTransformer = &SysctlConfig{} @@ -8301,91 +8022,35 @@ func (config *SysctlConfig) AssignProperties_To_SysctlConfig(destination *storag return nil } -// Sysctl settings for Linux agent nodes. type SysctlConfig_STATUS struct { - // FsAioMaxNr: Sysctl setting fs.aio-max-nr. - FsAioMaxNr *int `json:"fsAioMaxNr,omitempty"` - - // FsFileMax: Sysctl setting fs.file-max. - FsFileMax *int `json:"fsFileMax,omitempty"` - - // FsInotifyMaxUserWatches: Sysctl setting fs.inotify.max_user_watches. - FsInotifyMaxUserWatches *int `json:"fsInotifyMaxUserWatches,omitempty"` - - // FsNrOpen: Sysctl setting fs.nr_open. - FsNrOpen *int `json:"fsNrOpen,omitempty"` - - // KernelThreadsMax: Sysctl setting kernel.threads-max. - KernelThreadsMax *int `json:"kernelThreadsMax,omitempty"` - - // NetCoreNetdevMaxBacklog: Sysctl setting net.core.netdev_max_backlog. - NetCoreNetdevMaxBacklog *int `json:"netCoreNetdevMaxBacklog,omitempty"` - - // NetCoreOptmemMax: Sysctl setting net.core.optmem_max. - NetCoreOptmemMax *int `json:"netCoreOptmemMax,omitempty"` - - // NetCoreRmemDefault: Sysctl setting net.core.rmem_default. - NetCoreRmemDefault *int `json:"netCoreRmemDefault,omitempty"` - - // NetCoreRmemMax: Sysctl setting net.core.rmem_max. - NetCoreRmemMax *int `json:"netCoreRmemMax,omitempty"` - - // NetCoreSomaxconn: Sysctl setting net.core.somaxconn. - NetCoreSomaxconn *int `json:"netCoreSomaxconn,omitempty"` - - // NetCoreWmemDefault: Sysctl setting net.core.wmem_default. - NetCoreWmemDefault *int `json:"netCoreWmemDefault,omitempty"` - - // NetCoreWmemMax: Sysctl setting net.core.wmem_max. - NetCoreWmemMax *int `json:"netCoreWmemMax,omitempty"` - - // NetIpv4IpLocalPortRange: Sysctl setting net.ipv4.ip_local_port_range. - NetIpv4IpLocalPortRange *string `json:"netIpv4IpLocalPortRange,omitempty"` - - // NetIpv4NeighDefaultGcThresh1: Sysctl setting net.ipv4.neigh.default.gc_thresh1. - NetIpv4NeighDefaultGcThresh1 *int `json:"netIpv4NeighDefaultGcThresh1,omitempty"` - - // NetIpv4NeighDefaultGcThresh2: Sysctl setting net.ipv4.neigh.default.gc_thresh2. - NetIpv4NeighDefaultGcThresh2 *int `json:"netIpv4NeighDefaultGcThresh2,omitempty"` - - // NetIpv4NeighDefaultGcThresh3: Sysctl setting net.ipv4.neigh.default.gc_thresh3. - NetIpv4NeighDefaultGcThresh3 *int `json:"netIpv4NeighDefaultGcThresh3,omitempty"` - - // NetIpv4TcpFinTimeout: Sysctl setting net.ipv4.tcp_fin_timeout. - NetIpv4TcpFinTimeout *int `json:"netIpv4TcpFinTimeout,omitempty"` - - // NetIpv4TcpKeepaliveProbes: Sysctl setting net.ipv4.tcp_keepalive_probes. - NetIpv4TcpKeepaliveProbes *int `json:"netIpv4TcpKeepaliveProbes,omitempty"` - - // NetIpv4TcpKeepaliveTime: Sysctl setting net.ipv4.tcp_keepalive_time. - NetIpv4TcpKeepaliveTime *int `json:"netIpv4TcpKeepaliveTime,omitempty"` - - // NetIpv4TcpMaxSynBacklog: Sysctl setting net.ipv4.tcp_max_syn_backlog. - NetIpv4TcpMaxSynBacklog *int `json:"netIpv4TcpMaxSynBacklog,omitempty"` - - // NetIpv4TcpMaxTwBuckets: Sysctl setting net.ipv4.tcp_max_tw_buckets. - NetIpv4TcpMaxTwBuckets *int `json:"netIpv4TcpMaxTwBuckets,omitempty"` - - // NetIpv4TcpTwReuse: Sysctl setting net.ipv4.tcp_tw_reuse. - NetIpv4TcpTwReuse *bool `json:"netIpv4TcpTwReuse,omitempty"` - - // NetIpv4TcpkeepaliveIntvl: Sysctl setting net.ipv4.tcp_keepalive_intvl. - NetIpv4TcpkeepaliveIntvl *int `json:"netIpv4TcpkeepaliveIntvl,omitempty"` - - // NetNetfilterNfConntrackBuckets: Sysctl setting net.netfilter.nf_conntrack_buckets. - NetNetfilterNfConntrackBuckets *int `json:"netNetfilterNfConntrackBuckets,omitempty"` - - // NetNetfilterNfConntrackMax: Sysctl setting net.netfilter.nf_conntrack_max. - NetNetfilterNfConntrackMax *int `json:"netNetfilterNfConntrackMax,omitempty"` - - // VmMaxMapCount: Sysctl setting vm.max_map_count. - VmMaxMapCount *int `json:"vmMaxMapCount,omitempty"` - - // VmSwappiness: Sysctl setting vm.swappiness. - VmSwappiness *int `json:"vmSwappiness,omitempty"` - - // VmVfsCachePressure: Sysctl setting vm.vfs_cache_pressure. - VmVfsCachePressure *int `json:"vmVfsCachePressure,omitempty"` + FsAioMaxNr *int `json:"fsAioMaxNr,omitempty"` + FsFileMax *int `json:"fsFileMax,omitempty"` + FsInotifyMaxUserWatches *int `json:"fsInotifyMaxUserWatches,omitempty"` + FsNrOpen *int `json:"fsNrOpen,omitempty"` + KernelThreadsMax *int `json:"kernelThreadsMax,omitempty"` + NetCoreNetdevMaxBacklog *int `json:"netCoreNetdevMaxBacklog,omitempty"` + NetCoreOptmemMax *int `json:"netCoreOptmemMax,omitempty"` + NetCoreRmemDefault *int `json:"netCoreRmemDefault,omitempty"` + NetCoreRmemMax *int `json:"netCoreRmemMax,omitempty"` + NetCoreSomaxconn *int `json:"netCoreSomaxconn,omitempty"` + NetCoreWmemDefault *int `json:"netCoreWmemDefault,omitempty"` + NetCoreWmemMax *int `json:"netCoreWmemMax,omitempty"` + NetIpv4IpLocalPortRange *string `json:"netIpv4IpLocalPortRange,omitempty"` + NetIpv4NeighDefaultGcThresh1 *int `json:"netIpv4NeighDefaultGcThresh1,omitempty"` + NetIpv4NeighDefaultGcThresh2 *int `json:"netIpv4NeighDefaultGcThresh2,omitempty"` + NetIpv4NeighDefaultGcThresh3 *int `json:"netIpv4NeighDefaultGcThresh3,omitempty"` + NetIpv4TcpFinTimeout *int `json:"netIpv4TcpFinTimeout,omitempty"` + NetIpv4TcpKeepaliveProbes *int `json:"netIpv4TcpKeepaliveProbes,omitempty"` + NetIpv4TcpKeepaliveTime *int `json:"netIpv4TcpKeepaliveTime,omitempty"` + NetIpv4TcpMaxSynBacklog *int `json:"netIpv4TcpMaxSynBacklog,omitempty"` + NetIpv4TcpMaxTwBuckets *int `json:"netIpv4TcpMaxTwBuckets,omitempty"` + NetIpv4TcpTwReuse *bool `json:"netIpv4TcpTwReuse,omitempty"` + NetIpv4TcpkeepaliveIntvl *int `json:"netIpv4TcpkeepaliveIntvl,omitempty"` + NetNetfilterNfConntrackBuckets *int `json:"netNetfilterNfConntrackBuckets,omitempty"` + NetNetfilterNfConntrackMax *int `json:"netNetfilterNfConntrackMax,omitempty"` + VmMaxMapCount *int `json:"vmMaxMapCount,omitempty"` + VmSwappiness *int `json:"vmSwappiness,omitempty"` + VmVfsCachePressure *int `json:"vmVfsCachePressure,omitempty"` } var _ genruntime.FromARMConverter = &SysctlConfig_STATUS{} @@ -8775,15 +8440,10 @@ func (config *SysctlConfig_STATUS) AssignProperties_To_SysctlConfig_STATUS(desti return nil } -// Specifications on number of machines. type ManualScaleProfile struct { // +kubebuilder:validation:Maximum=1000 // +kubebuilder:validation:Minimum=0 - // Count: Number of nodes. - Count *int `json:"count,omitempty"` - - // Sizes: The list of allowed vm sizes. AKS will use the first available one when scaling. If a VM size is unavailable - // (e.g. due to quota or regional capacity reasons), AKS will use the next size. + Count *int `json:"count,omitempty"` Sizes []string `json:"sizes,omitempty"` } @@ -8881,13 +8541,8 @@ func (profile *ManualScaleProfile) AssignProperties_To_ManualScaleProfile(destin return nil } -// Specifications on number of machines. type ManualScaleProfile_STATUS struct { - // Count: Number of nodes. - Count *int `json:"count,omitempty"` - - // Sizes: The list of allowed vm sizes. AKS will use the first available one when scaling. If a VM size is unavailable - // (e.g. due to quota or regional capacity reasons), AKS will use the next size. + Count *int `json:"count,omitempty"` Sizes []string `json:"sizes,omitempty"` } diff --git a/v2/api/containerservice/v1api20231102preview/managed_clusters_agent_pool_types_gen_test.go b/v2/api/containerservice/v1api20231102preview/managed_clusters_agent_pool_types_gen_test.go index 94661625f83..60fd1212272 100644 --- a/v2/api/containerservice/v1api20231102preview/managed_clusters_agent_pool_types_gen_test.go +++ b/v2/api/containerservice/v1api20231102preview/managed_clusters_agent_pool_types_gen_test.go @@ -5,8 +5,8 @@ package v1api20231102preview import ( "encoding/json" - v20231001s "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20231001/storage" v20231102ps "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20231102preview/storage" + v20240901s "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20240901/storage" "github.com/google/go-cmp/cmp" "github.com/google/go-cmp/cmp/cmpopts" "github.com/kr/pretty" @@ -1965,7 +1965,7 @@ func RunResourceConversionTestForManagedClustersAgentPool(subject ManagedCluster copied := subject.DeepCopy() // Convert to our hub version - var hub v20231001s.ManagedClustersAgentPool + var hub v20240901s.ManagedClustersAgentPool err := copied.ConvertTo(&hub) if err != nil { return err.Error() diff --git a/v2/api/containerservice/v1api20231102preview/storage/managed_cluster_types_gen.go b/v2/api/containerservice/v1api20231102preview/storage/managed_cluster_types_gen.go index 92b1e9b3e98..1afcbe672a5 100644 --- a/v2/api/containerservice/v1api20231102preview/storage/managed_cluster_types_gen.go +++ b/v2/api/containerservice/v1api20231102preview/storage/managed_cluster_types_gen.go @@ -5,8 +5,8 @@ package storage import ( "context" - "fmt" - storage "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20231001/storage" + v20231001s "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20231001/storage" + v20240901s "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20240901/storage" "github.com/Azure/azure-service-operator/v2/internal/genericarmclient" "github.com/Azure/azure-service-operator/v2/pkg/genruntime" "github.com/Azure/azure-service-operator/v2/pkg/genruntime/conditions" @@ -26,9 +26,6 @@ import ( // +kubebuilder:printcolumn:name="Reason",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].reason" // +kubebuilder:printcolumn:name="Message",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].message" // Storage version of v1api20231102preview.ManagedCluster -// Generator information: -// - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-11-02-preview/managedClusters.json -// - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName} type ManagedCluster struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` @@ -52,22 +49,36 @@ var _ conversion.Convertible = &ManagedCluster{} // ConvertFrom populates our ManagedCluster from the provided hub ManagedCluster func (cluster *ManagedCluster) ConvertFrom(hub conversion.Hub) error { - source, ok := hub.(*storage.ManagedCluster) - if !ok { - return fmt.Errorf("expected containerservice/v1api20231001/storage/ManagedCluster but received %T instead", hub) + // intermediate variable for conversion + var source v20231001s.ManagedCluster + + err := source.ConvertFrom(hub) + if err != nil { + return errors.Wrap(err, "converting from hub to source") + } + + err = cluster.AssignProperties_From_ManagedCluster(&source) + if err != nil { + return errors.Wrap(err, "converting from source to cluster") } - return cluster.AssignProperties_From_ManagedCluster(source) + return nil } // ConvertTo populates the provided hub ManagedCluster from our ManagedCluster func (cluster *ManagedCluster) ConvertTo(hub conversion.Hub) error { - destination, ok := hub.(*storage.ManagedCluster) - if !ok { - return fmt.Errorf("expected containerservice/v1api20231001/storage/ManagedCluster but received %T instead", hub) + // intermediate variable for conversion + var destination v20231001s.ManagedCluster + err := cluster.AssignProperties_To_ManagedCluster(&destination) + if err != nil { + return errors.Wrap(err, "converting to destination from cluster") + } + err = destination.ConvertTo(hub) + if err != nil { + return errors.Wrap(err, "converting from destination to hub") } - return cluster.AssignProperties_To_ManagedCluster(destination) + return nil } var _ genruntime.KubernetesConfigExporter = &ManagedCluster{} @@ -161,7 +172,7 @@ func (cluster *ManagedCluster) SetStatus(status genruntime.ConvertibleStatus) er } // AssignProperties_From_ManagedCluster populates our ManagedCluster from the provided source ManagedCluster -func (cluster *ManagedCluster) AssignProperties_From_ManagedCluster(source *storage.ManagedCluster) error { +func (cluster *ManagedCluster) AssignProperties_From_ManagedCluster(source *v20231001s.ManagedCluster) error { // ObjectMeta cluster.ObjectMeta = *source.ObjectMeta.DeepCopy() @@ -196,13 +207,13 @@ func (cluster *ManagedCluster) AssignProperties_From_ManagedCluster(source *stor } // AssignProperties_To_ManagedCluster populates the provided destination ManagedCluster from our ManagedCluster -func (cluster *ManagedCluster) AssignProperties_To_ManagedCluster(destination *storage.ManagedCluster) error { +func (cluster *ManagedCluster) AssignProperties_To_ManagedCluster(destination *v20231001s.ManagedCluster) error { // ObjectMeta destination.ObjectMeta = *cluster.ObjectMeta.DeepCopy() // Spec - var spec storage.ManagedCluster_Spec + var spec v20231001s.ManagedCluster_Spec err := cluster.Spec.AssignProperties_To_ManagedCluster_Spec(&spec) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedCluster_Spec() to populate field Spec") @@ -210,7 +221,7 @@ func (cluster *ManagedCluster) AssignProperties_To_ManagedCluster(destination *s destination.Spec = spec // Status - var status storage.ManagedCluster_STATUS + var status v20231001s.ManagedCluster_STATUS err = cluster.Status.AssignProperties_To_ManagedCluster_STATUS(&status) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedCluster_STATUS() to populate field Status") @@ -241,9 +252,6 @@ func (cluster *ManagedCluster) OriginalGVK() *schema.GroupVersionKind { // +kubebuilder:object:root=true // Storage version of v1api20231102preview.ManagedCluster -// Generator information: -// - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-11-02-preview/managedClusters.json -// - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName} type ManagedClusterList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` @@ -257,8 +265,8 @@ type APIVersion string const APIVersion_Value = APIVersion("2023-11-02-preview") type augmentConversionForManagedCluster interface { - AssignPropertiesFrom(src *storage.ManagedCluster) error - AssignPropertiesTo(dst *storage.ManagedCluster) error + AssignPropertiesFrom(src *v20231001s.ManagedCluster) error + AssignPropertiesTo(dst *v20231001s.ManagedCluster) error } // Storage version of v1api20231102preview.ManagedCluster_Spec @@ -274,12 +282,9 @@ type ManagedCluster_Spec struct { // AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it // doesn't have to be. - AzureName string `json:"azureName,omitempty"` - CreationData *CreationData `json:"creationData,omitempty"` - DisableLocalAccounts *bool `json:"disableLocalAccounts,omitempty"` - - // DiskEncryptionSetReference: This is of the form: - // '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}' + AzureName string `json:"azureName,omitempty"` + CreationData *CreationData `json:"creationData,omitempty"` + DisableLocalAccounts *bool `json:"disableLocalAccounts,omitempty"` DiskEncryptionSetReference *genruntime.ResourceReference `armReference:"DiskEncryptionSetID" json:"diskEncryptionSetReference,omitempty"` DnsPrefix *string `json:"dnsPrefix,omitempty"` EnableNamespaceResources *bool `json:"enableNamespaceResources,omitempty"` @@ -329,14 +334,14 @@ var _ genruntime.ConvertibleSpec = &ManagedCluster_Spec{} // ConvertSpecFrom populates our ManagedCluster_Spec from the provided source func (cluster *ManagedCluster_Spec) ConvertSpecFrom(source genruntime.ConvertibleSpec) error { - src, ok := source.(*storage.ManagedCluster_Spec) + src, ok := source.(*v20231001s.ManagedCluster_Spec) if ok { // Populate our instance from source return cluster.AssignProperties_From_ManagedCluster_Spec(src) } // Convert to an intermediate form - src = &storage.ManagedCluster_Spec{} + src = &v20231001s.ManagedCluster_Spec{} err := src.ConvertSpecFrom(source) if err != nil { return errors.Wrap(err, "initial step of conversion in ConvertSpecFrom()") @@ -353,14 +358,14 @@ func (cluster *ManagedCluster_Spec) ConvertSpecFrom(source genruntime.Convertibl // ConvertSpecTo populates the provided destination from our ManagedCluster_Spec func (cluster *ManagedCluster_Spec) ConvertSpecTo(destination genruntime.ConvertibleSpec) error { - dst, ok := destination.(*storage.ManagedCluster_Spec) + dst, ok := destination.(*v20231001s.ManagedCluster_Spec) if ok { // Populate destination from our instance return cluster.AssignProperties_To_ManagedCluster_Spec(dst) } // Convert to an intermediate form - dst = &storage.ManagedCluster_Spec{} + dst = &v20231001s.ManagedCluster_Spec{} err := cluster.AssignProperties_To_ManagedCluster_Spec(dst) if err != nil { return errors.Wrap(err, "initial step of conversion in ConvertSpecTo()") @@ -376,7 +381,7 @@ func (cluster *ManagedCluster_Spec) ConvertSpecTo(destination genruntime.Convert } // AssignProperties_From_ManagedCluster_Spec populates our ManagedCluster_Spec from the provided source ManagedCluster_Spec -func (cluster *ManagedCluster_Spec) AssignProperties_From_ManagedCluster_Spec(source *storage.ManagedCluster_Spec) error { +func (cluster *ManagedCluster_Spec) AssignProperties_From_ManagedCluster_Spec(source *v20231001s.ManagedCluster_Spec) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -899,13 +904,13 @@ func (cluster *ManagedCluster_Spec) AssignProperties_From_ManagedCluster_Spec(so } // AssignProperties_To_ManagedCluster_Spec populates the provided destination ManagedCluster_Spec from our ManagedCluster_Spec -func (cluster *ManagedCluster_Spec) AssignProperties_To_ManagedCluster_Spec(destination *storage.ManagedCluster_Spec) error { +func (cluster *ManagedCluster_Spec) AssignProperties_To_ManagedCluster_Spec(destination *v20231001s.ManagedCluster_Spec) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(cluster.PropertyBag) // AadProfile if cluster.AadProfile != nil { - var aadProfile storage.ManagedClusterAADProfile + var aadProfile v20231001s.ManagedClusterAADProfile err := cluster.AadProfile.AssignProperties_To_ManagedClusterAADProfile(&aadProfile) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterAADProfile() to populate field AadProfile") @@ -917,11 +922,11 @@ func (cluster *ManagedCluster_Spec) AssignProperties_To_ManagedCluster_Spec(dest // AddonProfiles if cluster.AddonProfiles != nil { - addonProfileMap := make(map[string]storage.ManagedClusterAddonProfile, len(cluster.AddonProfiles)) + addonProfileMap := make(map[string]v20231001s.ManagedClusterAddonProfile, len(cluster.AddonProfiles)) for addonProfileKey, addonProfileValue := range cluster.AddonProfiles { // Shadow the loop variable to avoid aliasing addonProfileValue := addonProfileValue - var addonProfile storage.ManagedClusterAddonProfile + var addonProfile v20231001s.ManagedClusterAddonProfile err := addonProfileValue.AssignProperties_To_ManagedClusterAddonProfile(&addonProfile) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterAddonProfile() to populate field AddonProfiles") @@ -935,11 +940,11 @@ func (cluster *ManagedCluster_Spec) AssignProperties_To_ManagedCluster_Spec(dest // AgentPoolProfiles if cluster.AgentPoolProfiles != nil { - agentPoolProfileList := make([]storage.ManagedClusterAgentPoolProfile, len(cluster.AgentPoolProfiles)) + agentPoolProfileList := make([]v20231001s.ManagedClusterAgentPoolProfile, len(cluster.AgentPoolProfiles)) for agentPoolProfileIndex, agentPoolProfileItem := range cluster.AgentPoolProfiles { // Shadow the loop variable to avoid aliasing agentPoolProfileItem := agentPoolProfileItem - var agentPoolProfile storage.ManagedClusterAgentPoolProfile + var agentPoolProfile v20231001s.ManagedClusterAgentPoolProfile err := agentPoolProfileItem.AssignProperties_To_ManagedClusterAgentPoolProfile(&agentPoolProfile) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterAgentPoolProfile() to populate field AgentPoolProfiles") @@ -960,7 +965,7 @@ func (cluster *ManagedCluster_Spec) AssignProperties_To_ManagedCluster_Spec(dest // ApiServerAccessProfile if cluster.ApiServerAccessProfile != nil { - var apiServerAccessProfile storage.ManagedClusterAPIServerAccessProfile + var apiServerAccessProfile v20231001s.ManagedClusterAPIServerAccessProfile err := cluster.ApiServerAccessProfile.AssignProperties_To_ManagedClusterAPIServerAccessProfile(&apiServerAccessProfile) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterAPIServerAccessProfile() to populate field ApiServerAccessProfile") @@ -972,7 +977,7 @@ func (cluster *ManagedCluster_Spec) AssignProperties_To_ManagedCluster_Spec(dest // AutoScalerProfile if cluster.AutoScalerProfile != nil { - var autoScalerProfile storage.ManagedClusterProperties_AutoScalerProfile + var autoScalerProfile v20231001s.ManagedClusterProperties_AutoScalerProfile err := cluster.AutoScalerProfile.AssignProperties_To_ManagedClusterProperties_AutoScalerProfile(&autoScalerProfile) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterProperties_AutoScalerProfile() to populate field AutoScalerProfile") @@ -984,7 +989,7 @@ func (cluster *ManagedCluster_Spec) AssignProperties_To_ManagedCluster_Spec(dest // AutoUpgradeProfile if cluster.AutoUpgradeProfile != nil { - var autoUpgradeProfile storage.ManagedClusterAutoUpgradeProfile + var autoUpgradeProfile v20231001s.ManagedClusterAutoUpgradeProfile err := cluster.AutoUpgradeProfile.AssignProperties_To_ManagedClusterAutoUpgradeProfile(&autoUpgradeProfile) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterAutoUpgradeProfile() to populate field AutoUpgradeProfile") @@ -996,7 +1001,7 @@ func (cluster *ManagedCluster_Spec) AssignProperties_To_ManagedCluster_Spec(dest // AzureMonitorProfile if cluster.AzureMonitorProfile != nil { - var azureMonitorProfile storage.ManagedClusterAzureMonitorProfile + var azureMonitorProfile v20231001s.ManagedClusterAzureMonitorProfile err := cluster.AzureMonitorProfile.AssignProperties_To_ManagedClusterAzureMonitorProfile(&azureMonitorProfile) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterAzureMonitorProfile() to populate field AzureMonitorProfile") @@ -1060,7 +1065,7 @@ func (cluster *ManagedCluster_Spec) AssignProperties_To_ManagedCluster_Spec(dest // ExtendedLocation if cluster.ExtendedLocation != nil { - var extendedLocation storage.ExtendedLocation + var extendedLocation v20231001s.ExtendedLocation err := cluster.ExtendedLocation.AssignProperties_To_ExtendedLocation(&extendedLocation) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ExtendedLocation() to populate field ExtendedLocation") @@ -1075,7 +1080,7 @@ func (cluster *ManagedCluster_Spec) AssignProperties_To_ManagedCluster_Spec(dest // HttpProxyConfig if cluster.HttpProxyConfig != nil { - var httpProxyConfig storage.ManagedClusterHTTPProxyConfig + var httpProxyConfig v20231001s.ManagedClusterHTTPProxyConfig err := cluster.HttpProxyConfig.AssignProperties_To_ManagedClusterHTTPProxyConfig(&httpProxyConfig) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterHTTPProxyConfig() to populate field HttpProxyConfig") @@ -1087,7 +1092,7 @@ func (cluster *ManagedCluster_Spec) AssignProperties_To_ManagedCluster_Spec(dest // Identity if cluster.Identity != nil { - var identity storage.ManagedClusterIdentity + var identity v20231001s.ManagedClusterIdentity err := cluster.Identity.AssignProperties_To_ManagedClusterIdentity(&identity) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterIdentity() to populate field Identity") @@ -1099,11 +1104,11 @@ func (cluster *ManagedCluster_Spec) AssignProperties_To_ManagedCluster_Spec(dest // IdentityProfile if cluster.IdentityProfile != nil { - identityProfileMap := make(map[string]storage.UserAssignedIdentity, len(cluster.IdentityProfile)) + identityProfileMap := make(map[string]v20231001s.UserAssignedIdentity, len(cluster.IdentityProfile)) for identityProfileKey, identityProfileValue := range cluster.IdentityProfile { // Shadow the loop variable to avoid aliasing identityProfileValue := identityProfileValue - var identityProfile storage.UserAssignedIdentity + var identityProfile v20231001s.UserAssignedIdentity err := identityProfileValue.AssignProperties_To_UserAssignedIdentity(&identityProfile) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_UserAssignedIdentity() to populate field IdentityProfile") @@ -1127,7 +1132,7 @@ func (cluster *ManagedCluster_Spec) AssignProperties_To_ManagedCluster_Spec(dest // LinuxProfile if cluster.LinuxProfile != nil { - var linuxProfile storage.ContainerServiceLinuxProfile + var linuxProfile v20231001s.ContainerServiceLinuxProfile err := cluster.LinuxProfile.AssignProperties_To_ContainerServiceLinuxProfile(&linuxProfile) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ContainerServiceLinuxProfile() to populate field LinuxProfile") @@ -1149,7 +1154,7 @@ func (cluster *ManagedCluster_Spec) AssignProperties_To_ManagedCluster_Spec(dest // NetworkProfile if cluster.NetworkProfile != nil { - var networkProfile storage.ContainerServiceNetworkProfile + var networkProfile v20231001s.ContainerServiceNetworkProfile err := cluster.NetworkProfile.AssignProperties_To_ContainerServiceNetworkProfile(&networkProfile) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ContainerServiceNetworkProfile() to populate field NetworkProfile") @@ -1178,7 +1183,7 @@ func (cluster *ManagedCluster_Spec) AssignProperties_To_ManagedCluster_Spec(dest // OidcIssuerProfile if cluster.OidcIssuerProfile != nil { - var oidcIssuerProfile storage.ManagedClusterOIDCIssuerProfile + var oidcIssuerProfile v20231001s.ManagedClusterOIDCIssuerProfile err := cluster.OidcIssuerProfile.AssignProperties_To_ManagedClusterOIDCIssuerProfile(&oidcIssuerProfile) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterOIDCIssuerProfile() to populate field OidcIssuerProfile") @@ -1190,7 +1195,7 @@ func (cluster *ManagedCluster_Spec) AssignProperties_To_ManagedCluster_Spec(dest // OperatorSpec if cluster.OperatorSpec != nil { - var operatorSpec storage.ManagedClusterOperatorSpec + var operatorSpec v20231001s.ManagedClusterOperatorSpec err := cluster.OperatorSpec.AssignProperties_To_ManagedClusterOperatorSpec(&operatorSpec) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterOperatorSpec() to populate field OperatorSpec") @@ -1213,7 +1218,7 @@ func (cluster *ManagedCluster_Spec) AssignProperties_To_ManagedCluster_Spec(dest // PodIdentityProfile if cluster.PodIdentityProfile != nil { - var podIdentityProfile storage.ManagedClusterPodIdentityProfile + var podIdentityProfile v20231001s.ManagedClusterPodIdentityProfile err := cluster.PodIdentityProfile.AssignProperties_To_ManagedClusterPodIdentityProfile(&podIdentityProfile) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterPodIdentityProfile() to populate field PodIdentityProfile") @@ -1225,11 +1230,11 @@ func (cluster *ManagedCluster_Spec) AssignProperties_To_ManagedCluster_Spec(dest // PrivateLinkResources if cluster.PrivateLinkResources != nil { - privateLinkResourceList := make([]storage.PrivateLinkResource, len(cluster.PrivateLinkResources)) + privateLinkResourceList := make([]v20231001s.PrivateLinkResource, len(cluster.PrivateLinkResources)) for privateLinkResourceIndex, privateLinkResourceItem := range cluster.PrivateLinkResources { // Shadow the loop variable to avoid aliasing privateLinkResourceItem := privateLinkResourceItem - var privateLinkResource storage.PrivateLinkResource + var privateLinkResource v20231001s.PrivateLinkResource err := privateLinkResourceItem.AssignProperties_To_PrivateLinkResource(&privateLinkResource) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_PrivateLinkResource() to populate field PrivateLinkResources") @@ -1253,7 +1258,7 @@ func (cluster *ManagedCluster_Spec) AssignProperties_To_ManagedCluster_Spec(dest // SecurityProfile if cluster.SecurityProfile != nil { - var securityProfile storage.ManagedClusterSecurityProfile + var securityProfile v20231001s.ManagedClusterSecurityProfile err := cluster.SecurityProfile.AssignProperties_To_ManagedClusterSecurityProfile(&securityProfile) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterSecurityProfile() to populate field SecurityProfile") @@ -1265,7 +1270,7 @@ func (cluster *ManagedCluster_Spec) AssignProperties_To_ManagedCluster_Spec(dest // ServiceMeshProfile if cluster.ServiceMeshProfile != nil { - var serviceMeshProfile storage.ServiceMeshProfile + var serviceMeshProfile v20231001s.ServiceMeshProfile err := cluster.ServiceMeshProfile.AssignProperties_To_ServiceMeshProfile(&serviceMeshProfile) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ServiceMeshProfile() to populate field ServiceMeshProfile") @@ -1277,7 +1282,7 @@ func (cluster *ManagedCluster_Spec) AssignProperties_To_ManagedCluster_Spec(dest // ServicePrincipalProfile if cluster.ServicePrincipalProfile != nil { - var servicePrincipalProfile storage.ManagedClusterServicePrincipalProfile + var servicePrincipalProfile v20231001s.ManagedClusterServicePrincipalProfile err := cluster.ServicePrincipalProfile.AssignProperties_To_ManagedClusterServicePrincipalProfile(&servicePrincipalProfile) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterServicePrincipalProfile() to populate field ServicePrincipalProfile") @@ -1289,7 +1294,7 @@ func (cluster *ManagedCluster_Spec) AssignProperties_To_ManagedCluster_Spec(dest // Sku if cluster.Sku != nil { - var sku storage.ManagedClusterSKU + var sku v20231001s.ManagedClusterSKU err := cluster.Sku.AssignProperties_To_ManagedClusterSKU(&sku) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterSKU() to populate field Sku") @@ -1301,7 +1306,7 @@ func (cluster *ManagedCluster_Spec) AssignProperties_To_ManagedCluster_Spec(dest // StorageProfile if cluster.StorageProfile != nil { - var storageProfile storage.ManagedClusterStorageProfile + var storageProfile v20231001s.ManagedClusterStorageProfile err := cluster.StorageProfile.AssignProperties_To_ManagedClusterStorageProfile(&storageProfile) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterStorageProfile() to populate field StorageProfile") @@ -1319,7 +1324,7 @@ func (cluster *ManagedCluster_Spec) AssignProperties_To_ManagedCluster_Spec(dest // UpgradeSettings if cluster.UpgradeSettings != nil { - var upgradeSetting storage.ClusterUpgradeSettings + var upgradeSetting v20231001s.ClusterUpgradeSettings err := cluster.UpgradeSettings.AssignProperties_To_ClusterUpgradeSettings(&upgradeSetting) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ClusterUpgradeSettings() to populate field UpgradeSettings") @@ -1331,7 +1336,7 @@ func (cluster *ManagedCluster_Spec) AssignProperties_To_ManagedCluster_Spec(dest // WindowsProfile if cluster.WindowsProfile != nil { - var windowsProfile storage.ManagedClusterWindowsProfile + var windowsProfile v20231001s.ManagedClusterWindowsProfile err := cluster.WindowsProfile.AssignProperties_To_ManagedClusterWindowsProfile(&windowsProfile) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterWindowsProfile() to populate field WindowsProfile") @@ -1343,7 +1348,7 @@ func (cluster *ManagedCluster_Spec) AssignProperties_To_ManagedCluster_Spec(dest // WorkloadAutoScalerProfile if cluster.WorkloadAutoScalerProfile != nil { - var workloadAutoScalerProfile storage.ManagedClusterWorkloadAutoScalerProfile + var workloadAutoScalerProfile v20231001s.ManagedClusterWorkloadAutoScalerProfile err := cluster.WorkloadAutoScalerProfile.AssignProperties_To_ManagedClusterWorkloadAutoScalerProfile(&workloadAutoScalerProfile) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterWorkloadAutoScalerProfile() to populate field WorkloadAutoScalerProfile") @@ -1374,7 +1379,6 @@ func (cluster *ManagedCluster_Spec) AssignProperties_To_ManagedCluster_Spec(dest } // Storage version of v1api20231102preview.ManagedCluster_STATUS -// Managed cluster. type ManagedCluster_STATUS struct { AadProfile *ManagedClusterAADProfile_STATUS `json:"aadProfile,omitempty"` AddonProfiles map[string]ManagedClusterAddonProfile_STATUS `json:"addonProfiles,omitempty"` @@ -1440,14 +1444,14 @@ var _ genruntime.ConvertibleStatus = &ManagedCluster_STATUS{} // ConvertStatusFrom populates our ManagedCluster_STATUS from the provided source func (cluster *ManagedCluster_STATUS) ConvertStatusFrom(source genruntime.ConvertibleStatus) error { - src, ok := source.(*storage.ManagedCluster_STATUS) + src, ok := source.(*v20231001s.ManagedCluster_STATUS) if ok { // Populate our instance from source return cluster.AssignProperties_From_ManagedCluster_STATUS(src) } // Convert to an intermediate form - src = &storage.ManagedCluster_STATUS{} + src = &v20231001s.ManagedCluster_STATUS{} err := src.ConvertStatusFrom(source) if err != nil { return errors.Wrap(err, "initial step of conversion in ConvertStatusFrom()") @@ -1464,14 +1468,14 @@ func (cluster *ManagedCluster_STATUS) ConvertStatusFrom(source genruntime.Conver // ConvertStatusTo populates the provided destination from our ManagedCluster_STATUS func (cluster *ManagedCluster_STATUS) ConvertStatusTo(destination genruntime.ConvertibleStatus) error { - dst, ok := destination.(*storage.ManagedCluster_STATUS) + dst, ok := destination.(*v20231001s.ManagedCluster_STATUS) if ok { // Populate destination from our instance return cluster.AssignProperties_To_ManagedCluster_STATUS(dst) } // Convert to an intermediate form - dst = &storage.ManagedCluster_STATUS{} + dst = &v20231001s.ManagedCluster_STATUS{} err := cluster.AssignProperties_To_ManagedCluster_STATUS(dst) if err != nil { return errors.Wrap(err, "initial step of conversion in ConvertStatusTo()") @@ -1487,7 +1491,7 @@ func (cluster *ManagedCluster_STATUS) ConvertStatusTo(destination genruntime.Con } // AssignProperties_From_ManagedCluster_STATUS populates our ManagedCluster_STATUS from the provided source ManagedCluster_STATUS -func (cluster *ManagedCluster_STATUS) AssignProperties_From_ManagedCluster_STATUS(source *storage.ManagedCluster_STATUS) error { +func (cluster *ManagedCluster_STATUS) AssignProperties_From_ManagedCluster_STATUS(source *v20231001s.ManagedCluster_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -2036,13 +2040,13 @@ func (cluster *ManagedCluster_STATUS) AssignProperties_From_ManagedCluster_STATU } // AssignProperties_To_ManagedCluster_STATUS populates the provided destination ManagedCluster_STATUS from our ManagedCluster_STATUS -func (cluster *ManagedCluster_STATUS) AssignProperties_To_ManagedCluster_STATUS(destination *storage.ManagedCluster_STATUS) error { +func (cluster *ManagedCluster_STATUS) AssignProperties_To_ManagedCluster_STATUS(destination *v20231001s.ManagedCluster_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(cluster.PropertyBag) // AadProfile if cluster.AadProfile != nil { - var aadProfile storage.ManagedClusterAADProfile_STATUS + var aadProfile v20231001s.ManagedClusterAADProfile_STATUS err := cluster.AadProfile.AssignProperties_To_ManagedClusterAADProfile_STATUS(&aadProfile) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterAADProfile_STATUS() to populate field AadProfile") @@ -2054,11 +2058,11 @@ func (cluster *ManagedCluster_STATUS) AssignProperties_To_ManagedCluster_STATUS( // AddonProfiles if cluster.AddonProfiles != nil { - addonProfileMap := make(map[string]storage.ManagedClusterAddonProfile_STATUS, len(cluster.AddonProfiles)) + addonProfileMap := make(map[string]v20231001s.ManagedClusterAddonProfile_STATUS, len(cluster.AddonProfiles)) for addonProfileKey, addonProfileValue := range cluster.AddonProfiles { // Shadow the loop variable to avoid aliasing addonProfileValue := addonProfileValue - var addonProfile storage.ManagedClusterAddonProfile_STATUS + var addonProfile v20231001s.ManagedClusterAddonProfile_STATUS err := addonProfileValue.AssignProperties_To_ManagedClusterAddonProfile_STATUS(&addonProfile) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterAddonProfile_STATUS() to populate field AddonProfiles") @@ -2072,11 +2076,11 @@ func (cluster *ManagedCluster_STATUS) AssignProperties_To_ManagedCluster_STATUS( // AgentPoolProfiles if cluster.AgentPoolProfiles != nil { - agentPoolProfileList := make([]storage.ManagedClusterAgentPoolProfile_STATUS, len(cluster.AgentPoolProfiles)) + agentPoolProfileList := make([]v20231001s.ManagedClusterAgentPoolProfile_STATUS, len(cluster.AgentPoolProfiles)) for agentPoolProfileIndex, agentPoolProfileItem := range cluster.AgentPoolProfiles { // Shadow the loop variable to avoid aliasing agentPoolProfileItem := agentPoolProfileItem - var agentPoolProfile storage.ManagedClusterAgentPoolProfile_STATUS + var agentPoolProfile v20231001s.ManagedClusterAgentPoolProfile_STATUS err := agentPoolProfileItem.AssignProperties_To_ManagedClusterAgentPoolProfile_STATUS(&agentPoolProfile) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterAgentPoolProfile_STATUS() to populate field AgentPoolProfiles") @@ -2097,7 +2101,7 @@ func (cluster *ManagedCluster_STATUS) AssignProperties_To_ManagedCluster_STATUS( // ApiServerAccessProfile if cluster.ApiServerAccessProfile != nil { - var apiServerAccessProfile storage.ManagedClusterAPIServerAccessProfile_STATUS + var apiServerAccessProfile v20231001s.ManagedClusterAPIServerAccessProfile_STATUS err := cluster.ApiServerAccessProfile.AssignProperties_To_ManagedClusterAPIServerAccessProfile_STATUS(&apiServerAccessProfile) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterAPIServerAccessProfile_STATUS() to populate field ApiServerAccessProfile") @@ -2109,7 +2113,7 @@ func (cluster *ManagedCluster_STATUS) AssignProperties_To_ManagedCluster_STATUS( // AutoScalerProfile if cluster.AutoScalerProfile != nil { - var autoScalerProfile storage.ManagedClusterProperties_AutoScalerProfile_STATUS + var autoScalerProfile v20231001s.ManagedClusterProperties_AutoScalerProfile_STATUS err := cluster.AutoScalerProfile.AssignProperties_To_ManagedClusterProperties_AutoScalerProfile_STATUS(&autoScalerProfile) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterProperties_AutoScalerProfile_STATUS() to populate field AutoScalerProfile") @@ -2121,7 +2125,7 @@ func (cluster *ManagedCluster_STATUS) AssignProperties_To_ManagedCluster_STATUS( // AutoUpgradeProfile if cluster.AutoUpgradeProfile != nil { - var autoUpgradeProfile storage.ManagedClusterAutoUpgradeProfile_STATUS + var autoUpgradeProfile v20231001s.ManagedClusterAutoUpgradeProfile_STATUS err := cluster.AutoUpgradeProfile.AssignProperties_To_ManagedClusterAutoUpgradeProfile_STATUS(&autoUpgradeProfile) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterAutoUpgradeProfile_STATUS() to populate field AutoUpgradeProfile") @@ -2133,7 +2137,7 @@ func (cluster *ManagedCluster_STATUS) AssignProperties_To_ManagedCluster_STATUS( // AzureMonitorProfile if cluster.AzureMonitorProfile != nil { - var azureMonitorProfile storage.ManagedClusterAzureMonitorProfile_STATUS + var azureMonitorProfile v20231001s.ManagedClusterAzureMonitorProfile_STATUS err := cluster.AzureMonitorProfile.AssignProperties_To_ManagedClusterAzureMonitorProfile_STATUS(&azureMonitorProfile) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterAzureMonitorProfile_STATUS() to populate field AzureMonitorProfile") @@ -2198,7 +2202,7 @@ func (cluster *ManagedCluster_STATUS) AssignProperties_To_ManagedCluster_STATUS( // ExtendedLocation if cluster.ExtendedLocation != nil { - var extendedLocation storage.ExtendedLocation_STATUS + var extendedLocation v20231001s.ExtendedLocation_STATUS err := cluster.ExtendedLocation.AssignProperties_To_ExtendedLocation_STATUS(&extendedLocation) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ExtendedLocation_STATUS() to populate field ExtendedLocation") @@ -2216,7 +2220,7 @@ func (cluster *ManagedCluster_STATUS) AssignProperties_To_ManagedCluster_STATUS( // HttpProxyConfig if cluster.HttpProxyConfig != nil { - var httpProxyConfig storage.ManagedClusterHTTPProxyConfig_STATUS + var httpProxyConfig v20231001s.ManagedClusterHTTPProxyConfig_STATUS err := cluster.HttpProxyConfig.AssignProperties_To_ManagedClusterHTTPProxyConfig_STATUS(&httpProxyConfig) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterHTTPProxyConfig_STATUS() to populate field HttpProxyConfig") @@ -2231,7 +2235,7 @@ func (cluster *ManagedCluster_STATUS) AssignProperties_To_ManagedCluster_STATUS( // Identity if cluster.Identity != nil { - var identity storage.ManagedClusterIdentity_STATUS + var identity v20231001s.ManagedClusterIdentity_STATUS err := cluster.Identity.AssignProperties_To_ManagedClusterIdentity_STATUS(&identity) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterIdentity_STATUS() to populate field Identity") @@ -2243,11 +2247,11 @@ func (cluster *ManagedCluster_STATUS) AssignProperties_To_ManagedCluster_STATUS( // IdentityProfile if cluster.IdentityProfile != nil { - identityProfileMap := make(map[string]storage.UserAssignedIdentity_STATUS, len(cluster.IdentityProfile)) + identityProfileMap := make(map[string]v20231001s.UserAssignedIdentity_STATUS, len(cluster.IdentityProfile)) for identityProfileKey, identityProfileValue := range cluster.IdentityProfile { // Shadow the loop variable to avoid aliasing identityProfileValue := identityProfileValue - var identityProfile storage.UserAssignedIdentity_STATUS + var identityProfile v20231001s.UserAssignedIdentity_STATUS err := identityProfileValue.AssignProperties_To_UserAssignedIdentity_STATUS(&identityProfile) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_UserAssignedIdentity_STATUS() to populate field IdentityProfile") @@ -2271,7 +2275,7 @@ func (cluster *ManagedCluster_STATUS) AssignProperties_To_ManagedCluster_STATUS( // LinuxProfile if cluster.LinuxProfile != nil { - var linuxProfile storage.ContainerServiceLinuxProfile_STATUS + var linuxProfile v20231001s.ContainerServiceLinuxProfile_STATUS err := cluster.LinuxProfile.AssignProperties_To_ContainerServiceLinuxProfile_STATUS(&linuxProfile) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ContainerServiceLinuxProfile_STATUS() to populate field LinuxProfile") @@ -2299,7 +2303,7 @@ func (cluster *ManagedCluster_STATUS) AssignProperties_To_ManagedCluster_STATUS( // NetworkProfile if cluster.NetworkProfile != nil { - var networkProfile storage.ContainerServiceNetworkProfile_STATUS + var networkProfile v20231001s.ContainerServiceNetworkProfile_STATUS err := cluster.NetworkProfile.AssignProperties_To_ContainerServiceNetworkProfile_STATUS(&networkProfile) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ContainerServiceNetworkProfile_STATUS() to populate field NetworkProfile") @@ -2328,7 +2332,7 @@ func (cluster *ManagedCluster_STATUS) AssignProperties_To_ManagedCluster_STATUS( // OidcIssuerProfile if cluster.OidcIssuerProfile != nil { - var oidcIssuerProfile storage.ManagedClusterOIDCIssuerProfile_STATUS + var oidcIssuerProfile v20231001s.ManagedClusterOIDCIssuerProfile_STATUS err := cluster.OidcIssuerProfile.AssignProperties_To_ManagedClusterOIDCIssuerProfile_STATUS(&oidcIssuerProfile) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterOIDCIssuerProfile_STATUS() to populate field OidcIssuerProfile") @@ -2340,7 +2344,7 @@ func (cluster *ManagedCluster_STATUS) AssignProperties_To_ManagedCluster_STATUS( // PodIdentityProfile if cluster.PodIdentityProfile != nil { - var podIdentityProfile storage.ManagedClusterPodIdentityProfile_STATUS + var podIdentityProfile v20231001s.ManagedClusterPodIdentityProfile_STATUS err := cluster.PodIdentityProfile.AssignProperties_To_ManagedClusterPodIdentityProfile_STATUS(&podIdentityProfile) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterPodIdentityProfile_STATUS() to populate field PodIdentityProfile") @@ -2352,7 +2356,7 @@ func (cluster *ManagedCluster_STATUS) AssignProperties_To_ManagedCluster_STATUS( // PowerState if cluster.PowerState != nil { - var powerState storage.PowerState_STATUS + var powerState v20231001s.PowerState_STATUS err := cluster.PowerState.AssignProperties_To_PowerState_STATUS(&powerState) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_PowerState_STATUS() to populate field PowerState") @@ -2367,11 +2371,11 @@ func (cluster *ManagedCluster_STATUS) AssignProperties_To_ManagedCluster_STATUS( // PrivateLinkResources if cluster.PrivateLinkResources != nil { - privateLinkResourceList := make([]storage.PrivateLinkResource_STATUS, len(cluster.PrivateLinkResources)) + privateLinkResourceList := make([]v20231001s.PrivateLinkResource_STATUS, len(cluster.PrivateLinkResources)) for privateLinkResourceIndex, privateLinkResourceItem := range cluster.PrivateLinkResources { // Shadow the loop variable to avoid aliasing privateLinkResourceItem := privateLinkResourceItem - var privateLinkResource storage.PrivateLinkResource_STATUS + var privateLinkResource v20231001s.PrivateLinkResource_STATUS err := privateLinkResourceItem.AssignProperties_To_PrivateLinkResource_STATUS(&privateLinkResource) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_PrivateLinkResource_STATUS() to populate field PrivateLinkResources") @@ -2401,7 +2405,7 @@ func (cluster *ManagedCluster_STATUS) AssignProperties_To_ManagedCluster_STATUS( // SecurityProfile if cluster.SecurityProfile != nil { - var securityProfile storage.ManagedClusterSecurityProfile_STATUS + var securityProfile v20231001s.ManagedClusterSecurityProfile_STATUS err := cluster.SecurityProfile.AssignProperties_To_ManagedClusterSecurityProfile_STATUS(&securityProfile) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterSecurityProfile_STATUS() to populate field SecurityProfile") @@ -2413,7 +2417,7 @@ func (cluster *ManagedCluster_STATUS) AssignProperties_To_ManagedCluster_STATUS( // ServiceMeshProfile if cluster.ServiceMeshProfile != nil { - var serviceMeshProfile storage.ServiceMeshProfile_STATUS + var serviceMeshProfile v20231001s.ServiceMeshProfile_STATUS err := cluster.ServiceMeshProfile.AssignProperties_To_ServiceMeshProfile_STATUS(&serviceMeshProfile) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ServiceMeshProfile_STATUS() to populate field ServiceMeshProfile") @@ -2425,7 +2429,7 @@ func (cluster *ManagedCluster_STATUS) AssignProperties_To_ManagedCluster_STATUS( // ServicePrincipalProfile if cluster.ServicePrincipalProfile != nil { - var servicePrincipalProfile storage.ManagedClusterServicePrincipalProfile_STATUS + var servicePrincipalProfile v20231001s.ManagedClusterServicePrincipalProfile_STATUS err := cluster.ServicePrincipalProfile.AssignProperties_To_ManagedClusterServicePrincipalProfile_STATUS(&servicePrincipalProfile) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterServicePrincipalProfile_STATUS() to populate field ServicePrincipalProfile") @@ -2437,7 +2441,7 @@ func (cluster *ManagedCluster_STATUS) AssignProperties_To_ManagedCluster_STATUS( // Sku if cluster.Sku != nil { - var sku storage.ManagedClusterSKU_STATUS + var sku v20231001s.ManagedClusterSKU_STATUS err := cluster.Sku.AssignProperties_To_ManagedClusterSKU_STATUS(&sku) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterSKU_STATUS() to populate field Sku") @@ -2449,7 +2453,7 @@ func (cluster *ManagedCluster_STATUS) AssignProperties_To_ManagedCluster_STATUS( // StorageProfile if cluster.StorageProfile != nil { - var storageProfile storage.ManagedClusterStorageProfile_STATUS + var storageProfile v20231001s.ManagedClusterStorageProfile_STATUS err := cluster.StorageProfile.AssignProperties_To_ManagedClusterStorageProfile_STATUS(&storageProfile) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterStorageProfile_STATUS() to populate field StorageProfile") @@ -2464,7 +2468,7 @@ func (cluster *ManagedCluster_STATUS) AssignProperties_To_ManagedCluster_STATUS( // SystemData if cluster.SystemData != nil { - var systemDatum storage.SystemData_STATUS + var systemDatum v20231001s.SystemData_STATUS err := cluster.SystemData.AssignProperties_To_SystemData_STATUS(&systemDatum) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_SystemData_STATUS() to populate field SystemData") @@ -2482,7 +2486,7 @@ func (cluster *ManagedCluster_STATUS) AssignProperties_To_ManagedCluster_STATUS( // UpgradeSettings if cluster.UpgradeSettings != nil { - var upgradeSetting storage.ClusterUpgradeSettings_STATUS + var upgradeSetting v20231001s.ClusterUpgradeSettings_STATUS err := cluster.UpgradeSettings.AssignProperties_To_ClusterUpgradeSettings_STATUS(&upgradeSetting) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ClusterUpgradeSettings_STATUS() to populate field UpgradeSettings") @@ -2494,7 +2498,7 @@ func (cluster *ManagedCluster_STATUS) AssignProperties_To_ManagedCluster_STATUS( // WindowsProfile if cluster.WindowsProfile != nil { - var windowsProfile storage.ManagedClusterWindowsProfile_STATUS + var windowsProfile v20231001s.ManagedClusterWindowsProfile_STATUS err := cluster.WindowsProfile.AssignProperties_To_ManagedClusterWindowsProfile_STATUS(&windowsProfile) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterWindowsProfile_STATUS() to populate field WindowsProfile") @@ -2506,7 +2510,7 @@ func (cluster *ManagedCluster_STATUS) AssignProperties_To_ManagedCluster_STATUS( // WorkloadAutoScalerProfile if cluster.WorkloadAutoScalerProfile != nil { - var workloadAutoScalerProfile storage.ManagedClusterWorkloadAutoScalerProfile_STATUS + var workloadAutoScalerProfile v20231001s.ManagedClusterWorkloadAutoScalerProfile_STATUS err := cluster.WorkloadAutoScalerProfile.AssignProperties_To_ManagedClusterWorkloadAutoScalerProfile_STATUS(&workloadAutoScalerProfile) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterWorkloadAutoScalerProfile_STATUS() to populate field WorkloadAutoScalerProfile") @@ -2537,24 +2541,23 @@ func (cluster *ManagedCluster_STATUS) AssignProperties_To_ManagedCluster_STATUS( } type augmentConversionForManagedCluster_Spec interface { - AssignPropertiesFrom(src *storage.ManagedCluster_Spec) error - AssignPropertiesTo(dst *storage.ManagedCluster_Spec) error + AssignPropertiesFrom(src *v20231001s.ManagedCluster_Spec) error + AssignPropertiesTo(dst *v20231001s.ManagedCluster_Spec) error } type augmentConversionForManagedCluster_STATUS interface { - AssignPropertiesFrom(src *storage.ManagedCluster_STATUS) error - AssignPropertiesTo(dst *storage.ManagedCluster_STATUS) error + AssignPropertiesFrom(src *v20231001s.ManagedCluster_STATUS) error + AssignPropertiesTo(dst *v20231001s.ManagedCluster_STATUS) error } // Storage version of v1api20231102preview.ClusterUpgradeSettings -// Settings for upgrading a cluster. type ClusterUpgradeSettings struct { OverrideSettings *UpgradeOverrideSettings `json:"overrideSettings,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` } // AssignProperties_From_ClusterUpgradeSettings populates our ClusterUpgradeSettings from the provided source ClusterUpgradeSettings -func (settings *ClusterUpgradeSettings) AssignProperties_From_ClusterUpgradeSettings(source *storage.ClusterUpgradeSettings) error { +func (settings *ClusterUpgradeSettings) AssignProperties_From_ClusterUpgradeSettings(source *v20231001s.ClusterUpgradeSettings) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -2591,13 +2594,13 @@ func (settings *ClusterUpgradeSettings) AssignProperties_From_ClusterUpgradeSett } // AssignProperties_To_ClusterUpgradeSettings populates the provided destination ClusterUpgradeSettings from our ClusterUpgradeSettings -func (settings *ClusterUpgradeSettings) AssignProperties_To_ClusterUpgradeSettings(destination *storage.ClusterUpgradeSettings) error { +func (settings *ClusterUpgradeSettings) AssignProperties_To_ClusterUpgradeSettings(destination *v20231001s.ClusterUpgradeSettings) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(settings.PropertyBag) // OverrideSettings if settings.OverrideSettings != nil { - var overrideSetting storage.UpgradeOverrideSettings + var overrideSetting v20231001s.UpgradeOverrideSettings err := settings.OverrideSettings.AssignProperties_To_UpgradeOverrideSettings(&overrideSetting) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_UpgradeOverrideSettings() to populate field OverrideSettings") @@ -2628,14 +2631,13 @@ func (settings *ClusterUpgradeSettings) AssignProperties_To_ClusterUpgradeSettin } // Storage version of v1api20231102preview.ClusterUpgradeSettings_STATUS -// Settings for upgrading a cluster. type ClusterUpgradeSettings_STATUS struct { OverrideSettings *UpgradeOverrideSettings_STATUS `json:"overrideSettings,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` } // AssignProperties_From_ClusterUpgradeSettings_STATUS populates our ClusterUpgradeSettings_STATUS from the provided source ClusterUpgradeSettings_STATUS -func (settings *ClusterUpgradeSettings_STATUS) AssignProperties_From_ClusterUpgradeSettings_STATUS(source *storage.ClusterUpgradeSettings_STATUS) error { +func (settings *ClusterUpgradeSettings_STATUS) AssignProperties_From_ClusterUpgradeSettings_STATUS(source *v20231001s.ClusterUpgradeSettings_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -2672,13 +2674,13 @@ func (settings *ClusterUpgradeSettings_STATUS) AssignProperties_From_ClusterUpgr } // AssignProperties_To_ClusterUpgradeSettings_STATUS populates the provided destination ClusterUpgradeSettings_STATUS from our ClusterUpgradeSettings_STATUS -func (settings *ClusterUpgradeSettings_STATUS) AssignProperties_To_ClusterUpgradeSettings_STATUS(destination *storage.ClusterUpgradeSettings_STATUS) error { +func (settings *ClusterUpgradeSettings_STATUS) AssignProperties_To_ClusterUpgradeSettings_STATUS(destination *v20231001s.ClusterUpgradeSettings_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(settings.PropertyBag) // OverrideSettings if settings.OverrideSettings != nil { - var overrideSetting storage.UpgradeOverrideSettings_STATUS + var overrideSetting v20231001s.UpgradeOverrideSettings_STATUS err := settings.OverrideSettings.AssignProperties_To_UpgradeOverrideSettings_STATUS(&overrideSetting) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_UpgradeOverrideSettings_STATUS() to populate field OverrideSettings") @@ -2709,7 +2711,6 @@ func (settings *ClusterUpgradeSettings_STATUS) AssignProperties_To_ClusterUpgrad } // Storage version of v1api20231102preview.ContainerServiceLinuxProfile -// Profile for Linux VMs in the container service cluster. type ContainerServiceLinuxProfile struct { AdminUsername *string `json:"adminUsername,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` @@ -2717,7 +2718,7 @@ type ContainerServiceLinuxProfile struct { } // AssignProperties_From_ContainerServiceLinuxProfile populates our ContainerServiceLinuxProfile from the provided source ContainerServiceLinuxProfile -func (profile *ContainerServiceLinuxProfile) AssignProperties_From_ContainerServiceLinuxProfile(source *storage.ContainerServiceLinuxProfile) error { +func (profile *ContainerServiceLinuxProfile) AssignProperties_From_ContainerServiceLinuxProfile(source *v20231001s.ContainerServiceLinuxProfile) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -2757,7 +2758,7 @@ func (profile *ContainerServiceLinuxProfile) AssignProperties_From_ContainerServ } // AssignProperties_To_ContainerServiceLinuxProfile populates the provided destination ContainerServiceLinuxProfile from our ContainerServiceLinuxProfile -func (profile *ContainerServiceLinuxProfile) AssignProperties_To_ContainerServiceLinuxProfile(destination *storage.ContainerServiceLinuxProfile) error { +func (profile *ContainerServiceLinuxProfile) AssignProperties_To_ContainerServiceLinuxProfile(destination *v20231001s.ContainerServiceLinuxProfile) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) @@ -2766,7 +2767,7 @@ func (profile *ContainerServiceLinuxProfile) AssignProperties_To_ContainerServic // Ssh if profile.Ssh != nil { - var ssh storage.ContainerServiceSshConfiguration + var ssh v20231001s.ContainerServiceSshConfiguration err := profile.Ssh.AssignProperties_To_ContainerServiceSshConfiguration(&ssh) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ContainerServiceSshConfiguration() to populate field Ssh") @@ -2797,7 +2798,6 @@ func (profile *ContainerServiceLinuxProfile) AssignProperties_To_ContainerServic } // Storage version of v1api20231102preview.ContainerServiceLinuxProfile_STATUS -// Profile for Linux VMs in the container service cluster. type ContainerServiceLinuxProfile_STATUS struct { AdminUsername *string `json:"adminUsername,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` @@ -2805,7 +2805,7 @@ type ContainerServiceLinuxProfile_STATUS struct { } // AssignProperties_From_ContainerServiceLinuxProfile_STATUS populates our ContainerServiceLinuxProfile_STATUS from the provided source ContainerServiceLinuxProfile_STATUS -func (profile *ContainerServiceLinuxProfile_STATUS) AssignProperties_From_ContainerServiceLinuxProfile_STATUS(source *storage.ContainerServiceLinuxProfile_STATUS) error { +func (profile *ContainerServiceLinuxProfile_STATUS) AssignProperties_From_ContainerServiceLinuxProfile_STATUS(source *v20231001s.ContainerServiceLinuxProfile_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -2845,7 +2845,7 @@ func (profile *ContainerServiceLinuxProfile_STATUS) AssignProperties_From_Contai } // AssignProperties_To_ContainerServiceLinuxProfile_STATUS populates the provided destination ContainerServiceLinuxProfile_STATUS from our ContainerServiceLinuxProfile_STATUS -func (profile *ContainerServiceLinuxProfile_STATUS) AssignProperties_To_ContainerServiceLinuxProfile_STATUS(destination *storage.ContainerServiceLinuxProfile_STATUS) error { +func (profile *ContainerServiceLinuxProfile_STATUS) AssignProperties_To_ContainerServiceLinuxProfile_STATUS(destination *v20231001s.ContainerServiceLinuxProfile_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) @@ -2854,7 +2854,7 @@ func (profile *ContainerServiceLinuxProfile_STATUS) AssignProperties_To_Containe // Ssh if profile.Ssh != nil { - var ssh storage.ContainerServiceSshConfiguration_STATUS + var ssh v20231001s.ContainerServiceSshConfiguration_STATUS err := profile.Ssh.AssignProperties_To_ContainerServiceSshConfiguration_STATUS(&ssh) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ContainerServiceSshConfiguration_STATUS() to populate field Ssh") @@ -2885,7 +2885,6 @@ func (profile *ContainerServiceLinuxProfile_STATUS) AssignProperties_To_Containe } // Storage version of v1api20231102preview.ContainerServiceNetworkProfile -// Profile of network configuration. type ContainerServiceNetworkProfile struct { DnsServiceIP *string `json:"dnsServiceIP,omitempty"` IpFamilies []string `json:"ipFamilies,omitempty"` @@ -2908,7 +2907,7 @@ type ContainerServiceNetworkProfile struct { } // AssignProperties_From_ContainerServiceNetworkProfile populates our ContainerServiceNetworkProfile from the provided source ContainerServiceNetworkProfile -func (profile *ContainerServiceNetworkProfile) AssignProperties_From_ContainerServiceNetworkProfile(source *storage.ContainerServiceNetworkProfile) error { +func (profile *ContainerServiceNetworkProfile) AssignProperties_From_ContainerServiceNetworkProfile(source *v20231001s.ContainerServiceNetworkProfile) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -3022,7 +3021,7 @@ func (profile *ContainerServiceNetworkProfile) AssignProperties_From_ContainerSe } // AssignProperties_To_ContainerServiceNetworkProfile populates the provided destination ContainerServiceNetworkProfile from our ContainerServiceNetworkProfile -func (profile *ContainerServiceNetworkProfile) AssignProperties_To_ContainerServiceNetworkProfile(destination *storage.ContainerServiceNetworkProfile) error { +func (profile *ContainerServiceNetworkProfile) AssignProperties_To_ContainerServiceNetworkProfile(destination *v20231001s.ContainerServiceNetworkProfile) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) @@ -3041,7 +3040,7 @@ func (profile *ContainerServiceNetworkProfile) AssignProperties_To_ContainerServ // LoadBalancerProfile if profile.LoadBalancerProfile != nil { - var loadBalancerProfile storage.ManagedClusterLoadBalancerProfile + var loadBalancerProfile v20231001s.ManagedClusterLoadBalancerProfile err := profile.LoadBalancerProfile.AssignProperties_To_ManagedClusterLoadBalancerProfile(&loadBalancerProfile) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterLoadBalancerProfile() to populate field LoadBalancerProfile") @@ -3063,7 +3062,7 @@ func (profile *ContainerServiceNetworkProfile) AssignProperties_To_ContainerServ // NatGatewayProfile if profile.NatGatewayProfile != nil { - var natGatewayProfile storage.ManagedClusterNATGatewayProfile + var natGatewayProfile v20231001s.ManagedClusterNATGatewayProfile err := profile.NatGatewayProfile.AssignProperties_To_ManagedClusterNATGatewayProfile(&natGatewayProfile) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterNATGatewayProfile() to populate field NatGatewayProfile") @@ -3124,7 +3123,6 @@ func (profile *ContainerServiceNetworkProfile) AssignProperties_To_ContainerServ } // Storage version of v1api20231102preview.ContainerServiceNetworkProfile_STATUS -// Profile of network configuration. type ContainerServiceNetworkProfile_STATUS struct { DnsServiceIP *string `json:"dnsServiceIP,omitempty"` IpFamilies []string `json:"ipFamilies,omitempty"` @@ -3147,7 +3145,7 @@ type ContainerServiceNetworkProfile_STATUS struct { } // AssignProperties_From_ContainerServiceNetworkProfile_STATUS populates our ContainerServiceNetworkProfile_STATUS from the provided source ContainerServiceNetworkProfile_STATUS -func (profile *ContainerServiceNetworkProfile_STATUS) AssignProperties_From_ContainerServiceNetworkProfile_STATUS(source *storage.ContainerServiceNetworkProfile_STATUS) error { +func (profile *ContainerServiceNetworkProfile_STATUS) AssignProperties_From_ContainerServiceNetworkProfile_STATUS(source *v20231001s.ContainerServiceNetworkProfile_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -3261,7 +3259,7 @@ func (profile *ContainerServiceNetworkProfile_STATUS) AssignProperties_From_Cont } // AssignProperties_To_ContainerServiceNetworkProfile_STATUS populates the provided destination ContainerServiceNetworkProfile_STATUS from our ContainerServiceNetworkProfile_STATUS -func (profile *ContainerServiceNetworkProfile_STATUS) AssignProperties_To_ContainerServiceNetworkProfile_STATUS(destination *storage.ContainerServiceNetworkProfile_STATUS) error { +func (profile *ContainerServiceNetworkProfile_STATUS) AssignProperties_To_ContainerServiceNetworkProfile_STATUS(destination *v20231001s.ContainerServiceNetworkProfile_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) @@ -3280,7 +3278,7 @@ func (profile *ContainerServiceNetworkProfile_STATUS) AssignProperties_To_Contai // LoadBalancerProfile if profile.LoadBalancerProfile != nil { - var loadBalancerProfile storage.ManagedClusterLoadBalancerProfile_STATUS + var loadBalancerProfile v20231001s.ManagedClusterLoadBalancerProfile_STATUS err := profile.LoadBalancerProfile.AssignProperties_To_ManagedClusterLoadBalancerProfile_STATUS(&loadBalancerProfile) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterLoadBalancerProfile_STATUS() to populate field LoadBalancerProfile") @@ -3302,7 +3300,7 @@ func (profile *ContainerServiceNetworkProfile_STATUS) AssignProperties_To_Contai // NatGatewayProfile if profile.NatGatewayProfile != nil { - var natGatewayProfile storage.ManagedClusterNATGatewayProfile_STATUS + var natGatewayProfile v20231001s.ManagedClusterNATGatewayProfile_STATUS err := profile.NatGatewayProfile.AssignProperties_To_ManagedClusterNATGatewayProfile_STATUS(&natGatewayProfile) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterNATGatewayProfile_STATUS() to populate field NatGatewayProfile") @@ -3363,16 +3361,13 @@ func (profile *ContainerServiceNetworkProfile_STATUS) AssignProperties_To_Contai } // Storage version of v1api20231102preview.CreationData -// Data used when creating a target resource from a source resource. type CreationData struct { - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` - - // SourceResourceReference: This is the ARM ID of the source object to be used to create the target object. + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` SourceResourceReference *genruntime.ResourceReference `armReference:"SourceResourceId" json:"sourceResourceReference,omitempty"` } // AssignProperties_From_CreationData populates our CreationData from the provided source CreationData -func (data *CreationData) AssignProperties_From_CreationData(source *storage.CreationData) error { +func (data *CreationData) AssignProperties_From_CreationData(source *v20231001s.CreationData) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -3405,7 +3400,7 @@ func (data *CreationData) AssignProperties_From_CreationData(source *storage.Cre } // AssignProperties_To_CreationData populates the provided destination CreationData from our CreationData -func (data *CreationData) AssignProperties_To_CreationData(destination *storage.CreationData) error { +func (data *CreationData) AssignProperties_To_CreationData(destination *v20231001s.CreationData) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(data.PropertyBag) @@ -3438,14 +3433,13 @@ func (data *CreationData) AssignProperties_To_CreationData(destination *storage. } // Storage version of v1api20231102preview.CreationData_STATUS -// Data used when creating a target resource from a source resource. type CreationData_STATUS struct { PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` SourceResourceId *string `json:"sourceResourceId,omitempty"` } // AssignProperties_From_CreationData_STATUS populates our CreationData_STATUS from the provided source CreationData_STATUS -func (data *CreationData_STATUS) AssignProperties_From_CreationData_STATUS(source *storage.CreationData_STATUS) error { +func (data *CreationData_STATUS) AssignProperties_From_CreationData_STATUS(source *v20231001s.CreationData_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -3473,7 +3467,7 @@ func (data *CreationData_STATUS) AssignProperties_From_CreationData_STATUS(sourc } // AssignProperties_To_CreationData_STATUS populates the provided destination CreationData_STATUS from our CreationData_STATUS -func (data *CreationData_STATUS) AssignProperties_To_CreationData_STATUS(destination *storage.CreationData_STATUS) error { +func (data *CreationData_STATUS) AssignProperties_To_CreationData_STATUS(destination *v20231001s.CreationData_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(data.PropertyBag) @@ -3501,7 +3495,6 @@ func (data *CreationData_STATUS) AssignProperties_To_CreationData_STATUS(destina } // Storage version of v1api20231102preview.ExtendedLocation -// The complex type of the extended location. type ExtendedLocation struct { Name *string `json:"name,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` @@ -3509,7 +3502,7 @@ type ExtendedLocation struct { } // AssignProperties_From_ExtendedLocation populates our ExtendedLocation from the provided source ExtendedLocation -func (location *ExtendedLocation) AssignProperties_From_ExtendedLocation(source *storage.ExtendedLocation) error { +func (location *ExtendedLocation) AssignProperties_From_ExtendedLocation(source *v20231001s.ExtendedLocation) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -3540,7 +3533,7 @@ func (location *ExtendedLocation) AssignProperties_From_ExtendedLocation(source } // AssignProperties_To_ExtendedLocation populates the provided destination ExtendedLocation from our ExtendedLocation -func (location *ExtendedLocation) AssignProperties_To_ExtendedLocation(destination *storage.ExtendedLocation) error { +func (location *ExtendedLocation) AssignProperties_To_ExtendedLocation(destination *v20231001s.ExtendedLocation) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(location.PropertyBag) @@ -3571,7 +3564,6 @@ func (location *ExtendedLocation) AssignProperties_To_ExtendedLocation(destinati } // Storage version of v1api20231102preview.ExtendedLocation_STATUS -// The complex type of the extended location. type ExtendedLocation_STATUS struct { Name *string `json:"name,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` @@ -3579,7 +3571,7 @@ type ExtendedLocation_STATUS struct { } // AssignProperties_From_ExtendedLocation_STATUS populates our ExtendedLocation_STATUS from the provided source ExtendedLocation_STATUS -func (location *ExtendedLocation_STATUS) AssignProperties_From_ExtendedLocation_STATUS(source *storage.ExtendedLocation_STATUS) error { +func (location *ExtendedLocation_STATUS) AssignProperties_From_ExtendedLocation_STATUS(source *v20231001s.ExtendedLocation_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -3610,7 +3602,7 @@ func (location *ExtendedLocation_STATUS) AssignProperties_From_ExtendedLocation_ } // AssignProperties_To_ExtendedLocation_STATUS populates the provided destination ExtendedLocation_STATUS from our ExtendedLocation_STATUS -func (location *ExtendedLocation_STATUS) AssignProperties_To_ExtendedLocation_STATUS(destination *storage.ExtendedLocation_STATUS) error { +func (location *ExtendedLocation_STATUS) AssignProperties_To_ExtendedLocation_STATUS(destination *v20231001s.ExtendedLocation_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(location.PropertyBag) @@ -3641,7 +3633,6 @@ func (location *ExtendedLocation_STATUS) AssignProperties_To_ExtendedLocation_ST } // Storage version of v1api20231102preview.ManagedClusterAADProfile -// For more details see [managed AAD on AKS](https://docs.microsoft.com/azure/aks/managed-aad). type ManagedClusterAADProfile struct { AdminGroupObjectIDs []string `json:"adminGroupObjectIDs,omitempty"` ClientAppID *string `json:"clientAppID,omitempty"` @@ -3654,7 +3645,7 @@ type ManagedClusterAADProfile struct { } // AssignProperties_From_ManagedClusterAADProfile populates our ManagedClusterAADProfile from the provided source ManagedClusterAADProfile -func (profile *ManagedClusterAADProfile) AssignProperties_From_ManagedClusterAADProfile(source *storage.ManagedClusterAADProfile) error { +func (profile *ManagedClusterAADProfile) AssignProperties_From_ManagedClusterAADProfile(source *v20231001s.ManagedClusterAADProfile) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -3710,7 +3701,7 @@ func (profile *ManagedClusterAADProfile) AssignProperties_From_ManagedClusterAAD } // AssignProperties_To_ManagedClusterAADProfile populates the provided destination ManagedClusterAADProfile from our ManagedClusterAADProfile -func (profile *ManagedClusterAADProfile) AssignProperties_To_ManagedClusterAADProfile(destination *storage.ManagedClusterAADProfile) error { +func (profile *ManagedClusterAADProfile) AssignProperties_To_ManagedClusterAADProfile(destination *v20231001s.ManagedClusterAADProfile) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) @@ -3766,7 +3757,6 @@ func (profile *ManagedClusterAADProfile) AssignProperties_To_ManagedClusterAADPr } // Storage version of v1api20231102preview.ManagedClusterAADProfile_STATUS -// For more details see [managed AAD on AKS](https://docs.microsoft.com/azure/aks/managed-aad). type ManagedClusterAADProfile_STATUS struct { AdminGroupObjectIDs []string `json:"adminGroupObjectIDs,omitempty"` ClientAppID *string `json:"clientAppID,omitempty"` @@ -3779,7 +3769,7 @@ type ManagedClusterAADProfile_STATUS struct { } // AssignProperties_From_ManagedClusterAADProfile_STATUS populates our ManagedClusterAADProfile_STATUS from the provided source ManagedClusterAADProfile_STATUS -func (profile *ManagedClusterAADProfile_STATUS) AssignProperties_From_ManagedClusterAADProfile_STATUS(source *storage.ManagedClusterAADProfile_STATUS) error { +func (profile *ManagedClusterAADProfile_STATUS) AssignProperties_From_ManagedClusterAADProfile_STATUS(source *v20231001s.ManagedClusterAADProfile_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -3835,7 +3825,7 @@ func (profile *ManagedClusterAADProfile_STATUS) AssignProperties_From_ManagedClu } // AssignProperties_To_ManagedClusterAADProfile_STATUS populates the provided destination ManagedClusterAADProfile_STATUS from our ManagedClusterAADProfile_STATUS -func (profile *ManagedClusterAADProfile_STATUS) AssignProperties_To_ManagedClusterAADProfile_STATUS(destination *storage.ManagedClusterAADProfile_STATUS) error { +func (profile *ManagedClusterAADProfile_STATUS) AssignProperties_To_ManagedClusterAADProfile_STATUS(destination *v20231001s.ManagedClusterAADProfile_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) @@ -3891,7 +3881,6 @@ func (profile *ManagedClusterAADProfile_STATUS) AssignProperties_To_ManagedClust } // Storage version of v1api20231102preview.ManagedClusterAddonProfile -// A Kubernetes add-on profile for a managed cluster. type ManagedClusterAddonProfile struct { Config map[string]string `json:"config,omitempty"` Enabled *bool `json:"enabled,omitempty"` @@ -3899,7 +3888,7 @@ type ManagedClusterAddonProfile struct { } // AssignProperties_From_ManagedClusterAddonProfile populates our ManagedClusterAddonProfile from the provided source ManagedClusterAddonProfile -func (profile *ManagedClusterAddonProfile) AssignProperties_From_ManagedClusterAddonProfile(source *storage.ManagedClusterAddonProfile) error { +func (profile *ManagedClusterAddonProfile) AssignProperties_From_ManagedClusterAddonProfile(source *v20231001s.ManagedClusterAddonProfile) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -3935,7 +3924,7 @@ func (profile *ManagedClusterAddonProfile) AssignProperties_From_ManagedClusterA } // AssignProperties_To_ManagedClusterAddonProfile populates the provided destination ManagedClusterAddonProfile from our ManagedClusterAddonProfile -func (profile *ManagedClusterAddonProfile) AssignProperties_To_ManagedClusterAddonProfile(destination *storage.ManagedClusterAddonProfile) error { +func (profile *ManagedClusterAddonProfile) AssignProperties_To_ManagedClusterAddonProfile(destination *v20231001s.ManagedClusterAddonProfile) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) @@ -3971,7 +3960,6 @@ func (profile *ManagedClusterAddonProfile) AssignProperties_To_ManagedClusterAdd } // Storage version of v1api20231102preview.ManagedClusterAddonProfile_STATUS -// A Kubernetes add-on profile for a managed cluster. type ManagedClusterAddonProfile_STATUS struct { Config map[string]string `json:"config,omitempty"` Enabled *bool `json:"enabled,omitempty"` @@ -3980,7 +3968,7 @@ type ManagedClusterAddonProfile_STATUS struct { } // AssignProperties_From_ManagedClusterAddonProfile_STATUS populates our ManagedClusterAddonProfile_STATUS from the provided source ManagedClusterAddonProfile_STATUS -func (profile *ManagedClusterAddonProfile_STATUS) AssignProperties_From_ManagedClusterAddonProfile_STATUS(source *storage.ManagedClusterAddonProfile_STATUS) error { +func (profile *ManagedClusterAddonProfile_STATUS) AssignProperties_From_ManagedClusterAddonProfile_STATUS(source *v20231001s.ManagedClusterAddonProfile_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -4028,7 +4016,7 @@ func (profile *ManagedClusterAddonProfile_STATUS) AssignProperties_From_ManagedC } // AssignProperties_To_ManagedClusterAddonProfile_STATUS populates the provided destination ManagedClusterAddonProfile_STATUS from our ManagedClusterAddonProfile_STATUS -func (profile *ManagedClusterAddonProfile_STATUS) AssignProperties_To_ManagedClusterAddonProfile_STATUS(destination *storage.ManagedClusterAddonProfile_STATUS) error { +func (profile *ManagedClusterAddonProfile_STATUS) AssignProperties_To_ManagedClusterAddonProfile_STATUS(destination *v20231001s.ManagedClusterAddonProfile_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) @@ -4045,7 +4033,7 @@ func (profile *ManagedClusterAddonProfile_STATUS) AssignProperties_To_ManagedClu // Identity if profile.Identity != nil { - var identity storage.UserAssignedIdentity_STATUS + var identity v20231001s.UserAssignedIdentity_STATUS err := profile.Identity.AssignProperties_To_UserAssignedIdentity_STATUS(&identity) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_UserAssignedIdentity_STATUS() to populate field Identity") @@ -4076,82 +4064,62 @@ func (profile *ManagedClusterAddonProfile_STATUS) AssignProperties_To_ManagedClu } // Storage version of v1api20231102preview.ManagedClusterAgentPoolProfile -// Profile for the container service agent pool. type ManagedClusterAgentPoolProfile struct { - ArtifactStreamingProfile *AgentPoolArtifactStreamingProfile `json:"artifactStreamingProfile,omitempty"` - AvailabilityZones []string `json:"availabilityZones,omitempty"` - - // CapacityReservationGroupReference: AKS will associate the specified agent pool with the Capacity Reservation Group. - CapacityReservationGroupReference *genruntime.ResourceReference `armReference:"CapacityReservationGroupID" json:"capacityReservationGroupReference,omitempty"` - Count *int `json:"count,omitempty"` - CreationData *CreationData `json:"creationData,omitempty"` - EnableAutoScaling *bool `json:"enableAutoScaling,omitempty"` - EnableCustomCATrust *bool `json:"enableCustomCATrust,omitempty"` - EnableEncryptionAtHost *bool `json:"enableEncryptionAtHost,omitempty"` - EnableFIPS *bool `json:"enableFIPS,omitempty"` - EnableNodePublicIP *bool `json:"enableNodePublicIP,omitempty"` - EnableUltraSSD *bool `json:"enableUltraSSD,omitempty"` - GpuInstanceProfile *string `json:"gpuInstanceProfile,omitempty"` - GpuProfile *AgentPoolGPUProfile `json:"gpuProfile,omitempty"` - - // HostGroupReference: This is of the form: - // /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. - // For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). - HostGroupReference *genruntime.ResourceReference `armReference:"HostGroupID" json:"hostGroupReference,omitempty"` - KubeletConfig *KubeletConfig `json:"kubeletConfig,omitempty"` - KubeletDiskType *string `json:"kubeletDiskType,omitempty"` - LinuxOSConfig *LinuxOSConfig `json:"linuxOSConfig,omitempty"` - MaxCount *int `json:"maxCount,omitempty"` - MaxPods *int `json:"maxPods,omitempty"` - MessageOfTheDay *string `json:"messageOfTheDay,omitempty"` - MinCount *int `json:"minCount,omitempty"` - Mode *string `json:"mode,omitempty"` - Name *string `json:"name,omitempty"` - NetworkProfile *AgentPoolNetworkProfile `json:"networkProfile,omitempty"` - NodeInitializationTaints []string `json:"nodeInitializationTaints,omitempty"` - NodeLabels map[string]string `json:"nodeLabels,omitempty" serializationType:"explicitEmptyCollection"` - - // NodePublicIPPrefixReference: This is of the form: - // /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} - NodePublicIPPrefixReference *genruntime.ResourceReference `armReference:"NodePublicIPPrefixID" json:"nodePublicIPPrefixReference,omitempty"` - NodeTaints []string `json:"nodeTaints,omitempty" serializationType:"explicitEmptyCollection"` - OrchestratorVersion *string `json:"orchestratorVersion,omitempty"` - OsDiskSizeGB *int `json:"osDiskSizeGB,omitempty"` - OsDiskType *string `json:"osDiskType,omitempty"` - OsSKU *string `json:"osSKU,omitempty"` - OsType *string `json:"osType,omitempty"` - - // PodSubnetReference: If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). - // This is of the form: - // /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} - PodSubnetReference *genruntime.ResourceReference `armReference:"PodSubnetID" json:"podSubnetReference,omitempty"` - PowerState *PowerState `json:"powerState,omitempty"` - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` - - // ProximityPlacementGroupReference: The ID for Proximity Placement Group. - ProximityPlacementGroupReference *genruntime.ResourceReference `armReference:"ProximityPlacementGroupID" json:"proximityPlacementGroupReference,omitempty"` - ScaleDownMode *string `json:"scaleDownMode,omitempty"` - ScaleSetEvictionPolicy *string `json:"scaleSetEvictionPolicy,omitempty"` - ScaleSetPriority *string `json:"scaleSetPriority,omitempty"` - SecurityProfile *AgentPoolSecurityProfile `json:"securityProfile,omitempty"` - SpotMaxPrice *float64 `json:"spotMaxPrice,omitempty"` - Tags map[string]string `json:"tags,omitempty" serializationType:"explicitEmptyCollection"` - Type *string `json:"type,omitempty"` - UpgradeSettings *AgentPoolUpgradeSettings `json:"upgradeSettings,omitempty"` - VirtualMachineNodesStatus []VirtualMachineNodes `json:"virtualMachineNodesStatus,omitempty"` - VirtualMachinesProfile *VirtualMachinesProfile `json:"virtualMachinesProfile,omitempty"` - VmSize *string `json:"vmSize,omitempty"` - - // VnetSubnetReference: If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is - // specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: - // /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} - VnetSubnetReference *genruntime.ResourceReference `armReference:"VnetSubnetID" json:"vnetSubnetReference,omitempty"` - WindowsProfile *AgentPoolWindowsProfile `json:"windowsProfile,omitempty"` - WorkloadRuntime *string `json:"workloadRuntime,omitempty"` + ArtifactStreamingProfile *AgentPoolArtifactStreamingProfile `json:"artifactStreamingProfile,omitempty"` + AvailabilityZones []string `json:"availabilityZones,omitempty"` + CapacityReservationGroupReference *genruntime.ResourceReference `armReference:"CapacityReservationGroupID" json:"capacityReservationGroupReference,omitempty"` + Count *int `json:"count,omitempty"` + CreationData *CreationData `json:"creationData,omitempty"` + EnableAutoScaling *bool `json:"enableAutoScaling,omitempty"` + EnableCustomCATrust *bool `json:"enableCustomCATrust,omitempty"` + EnableEncryptionAtHost *bool `json:"enableEncryptionAtHost,omitempty"` + EnableFIPS *bool `json:"enableFIPS,omitempty"` + EnableNodePublicIP *bool `json:"enableNodePublicIP,omitempty"` + EnableUltraSSD *bool `json:"enableUltraSSD,omitempty"` + GpuInstanceProfile *string `json:"gpuInstanceProfile,omitempty"` + GpuProfile *AgentPoolGPUProfile `json:"gpuProfile,omitempty"` + HostGroupReference *genruntime.ResourceReference `armReference:"HostGroupID" json:"hostGroupReference,omitempty"` + KubeletConfig *KubeletConfig `json:"kubeletConfig,omitempty"` + KubeletDiskType *string `json:"kubeletDiskType,omitempty"` + LinuxOSConfig *LinuxOSConfig `json:"linuxOSConfig,omitempty"` + MaxCount *int `json:"maxCount,omitempty"` + MaxPods *int `json:"maxPods,omitempty"` + MessageOfTheDay *string `json:"messageOfTheDay,omitempty"` + MinCount *int `json:"minCount,omitempty"` + Mode *string `json:"mode,omitempty"` + Name *string `json:"name,omitempty"` + NetworkProfile *AgentPoolNetworkProfile `json:"networkProfile,omitempty"` + NodeInitializationTaints []string `json:"nodeInitializationTaints,omitempty"` + NodeLabels map[string]string `json:"nodeLabels,omitempty" serializationType:"explicitEmptyCollection"` + NodePublicIPPrefixReference *genruntime.ResourceReference `armReference:"NodePublicIPPrefixID" json:"nodePublicIPPrefixReference,omitempty"` + NodeTaints []string `json:"nodeTaints,omitempty" serializationType:"explicitEmptyCollection"` + OrchestratorVersion *string `json:"orchestratorVersion,omitempty"` + OsDiskSizeGB *int `json:"osDiskSizeGB,omitempty"` + OsDiskType *string `json:"osDiskType,omitempty"` + OsSKU *string `json:"osSKU,omitempty"` + OsType *string `json:"osType,omitempty"` + PodSubnetReference *genruntime.ResourceReference `armReference:"PodSubnetID" json:"podSubnetReference,omitempty"` + PowerState *PowerState `json:"powerState,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + ProximityPlacementGroupReference *genruntime.ResourceReference `armReference:"ProximityPlacementGroupID" json:"proximityPlacementGroupReference,omitempty"` + ScaleDownMode *string `json:"scaleDownMode,omitempty"` + ScaleSetEvictionPolicy *string `json:"scaleSetEvictionPolicy,omitempty"` + ScaleSetPriority *string `json:"scaleSetPriority,omitempty"` + SecurityProfile *AgentPoolSecurityProfile `json:"securityProfile,omitempty"` + SpotMaxPrice *float64 `json:"spotMaxPrice,omitempty"` + Tags map[string]string `json:"tags,omitempty" serializationType:"explicitEmptyCollection"` + Type *string `json:"type,omitempty"` + UpgradeSettings *AgentPoolUpgradeSettings `json:"upgradeSettings,omitempty"` + VirtualMachineNodesStatus []VirtualMachineNodes `json:"virtualMachineNodesStatus,omitempty"` + VirtualMachinesProfile *VirtualMachinesProfile `json:"virtualMachinesProfile,omitempty"` + VmSize *string `json:"vmSize,omitempty"` + VnetSubnetReference *genruntime.ResourceReference `armReference:"VnetSubnetID" json:"vnetSubnetReference,omitempty"` + WindowsProfile *AgentPoolWindowsProfile `json:"windowsProfile,omitempty"` + WorkloadRuntime *string `json:"workloadRuntime,omitempty"` } // AssignProperties_From_ManagedClusterAgentPoolProfile populates our ManagedClusterAgentPoolProfile from the provided source ManagedClusterAgentPoolProfile -func (profile *ManagedClusterAgentPoolProfile) AssignProperties_From_ManagedClusterAgentPoolProfile(source *storage.ManagedClusterAgentPoolProfile) error { +func (profile *ManagedClusterAgentPoolProfile) AssignProperties_From_ManagedClusterAgentPoolProfile(source *v20231001s.ManagedClusterAgentPoolProfile) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -4530,7 +4498,7 @@ func (profile *ManagedClusterAgentPoolProfile) AssignProperties_From_ManagedClus } // AssignProperties_To_ManagedClusterAgentPoolProfile populates the provided destination ManagedClusterAgentPoolProfile from our ManagedClusterAgentPoolProfile -func (profile *ManagedClusterAgentPoolProfile) AssignProperties_To_ManagedClusterAgentPoolProfile(destination *storage.ManagedClusterAgentPoolProfile) error { +func (profile *ManagedClusterAgentPoolProfile) AssignProperties_To_ManagedClusterAgentPoolProfile(destination *v20231001s.ManagedClusterAgentPoolProfile) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) @@ -4557,7 +4525,7 @@ func (profile *ManagedClusterAgentPoolProfile) AssignProperties_To_ManagedCluste // CreationData if profile.CreationData != nil { - var creationDatum storage.CreationData + var creationDatum v20231001s.CreationData err := profile.CreationData.AssignProperties_To_CreationData(&creationDatum) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_CreationData() to populate field CreationData") @@ -4634,7 +4602,7 @@ func (profile *ManagedClusterAgentPoolProfile) AssignProperties_To_ManagedCluste // KubeletConfig if profile.KubeletConfig != nil { - var kubeletConfig storage.KubeletConfig + var kubeletConfig v20231001s.KubeletConfig err := profile.KubeletConfig.AssignProperties_To_KubeletConfig(&kubeletConfig) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_KubeletConfig() to populate field KubeletConfig") @@ -4649,7 +4617,7 @@ func (profile *ManagedClusterAgentPoolProfile) AssignProperties_To_ManagedCluste // LinuxOSConfig if profile.LinuxOSConfig != nil { - var linuxOSConfig storage.LinuxOSConfig + var linuxOSConfig v20231001s.LinuxOSConfig err := profile.LinuxOSConfig.AssignProperties_To_LinuxOSConfig(&linuxOSConfig) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_LinuxOSConfig() to populate field LinuxOSConfig") @@ -4683,7 +4651,7 @@ func (profile *ManagedClusterAgentPoolProfile) AssignProperties_To_ManagedCluste // NetworkProfile if profile.NetworkProfile != nil { - var networkProfile storage.AgentPoolNetworkProfile + var networkProfile v20231001s.AgentPoolNetworkProfile err := profile.NetworkProfile.AssignProperties_To_AgentPoolNetworkProfile(&networkProfile) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_AgentPoolNetworkProfile() to populate field NetworkProfile") @@ -4739,7 +4707,7 @@ func (profile *ManagedClusterAgentPoolProfile) AssignProperties_To_ManagedCluste // PowerState if profile.PowerState != nil { - var powerState storage.PowerState + var powerState v20231001s.PowerState err := profile.PowerState.AssignProperties_To_PowerState(&powerState) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_PowerState() to populate field PowerState") @@ -4789,7 +4757,7 @@ func (profile *ManagedClusterAgentPoolProfile) AssignProperties_To_ManagedCluste // UpgradeSettings if profile.UpgradeSettings != nil { - var upgradeSetting storage.AgentPoolUpgradeSettings + var upgradeSetting v20231001s.AgentPoolUpgradeSettings err := profile.UpgradeSettings.AssignProperties_To_AgentPoolUpgradeSettings(&upgradeSetting) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_AgentPoolUpgradeSettings() to populate field UpgradeSettings") @@ -4855,7 +4823,6 @@ func (profile *ManagedClusterAgentPoolProfile) AssignProperties_To_ManagedCluste } // Storage version of v1api20231102preview.ManagedClusterAgentPoolProfile_STATUS -// Profile for the container service agent pool. type ManagedClusterAgentPoolProfile_STATUS struct { ArtifactStreamingProfile *AgentPoolArtifactStreamingProfile_STATUS `json:"artifactStreamingProfile,omitempty"` AvailabilityZones []string `json:"availabilityZones,omitempty"` @@ -4914,7 +4881,7 @@ type ManagedClusterAgentPoolProfile_STATUS struct { } // AssignProperties_From_ManagedClusterAgentPoolProfile_STATUS populates our ManagedClusterAgentPoolProfile_STATUS from the provided source ManagedClusterAgentPoolProfile_STATUS -func (profile *ManagedClusterAgentPoolProfile_STATUS) AssignProperties_From_ManagedClusterAgentPoolProfile_STATUS(source *storage.ManagedClusterAgentPoolProfile_STATUS) error { +func (profile *ManagedClusterAgentPoolProfile_STATUS) AssignProperties_From_ManagedClusterAgentPoolProfile_STATUS(source *v20231001s.ManagedClusterAgentPoolProfile_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -5272,7 +5239,7 @@ func (profile *ManagedClusterAgentPoolProfile_STATUS) AssignProperties_From_Mana } // AssignProperties_To_ManagedClusterAgentPoolProfile_STATUS populates the provided destination ManagedClusterAgentPoolProfile_STATUS from our ManagedClusterAgentPoolProfile_STATUS -func (profile *ManagedClusterAgentPoolProfile_STATUS) AssignProperties_To_ManagedClusterAgentPoolProfile_STATUS(destination *storage.ManagedClusterAgentPoolProfile_STATUS) error { +func (profile *ManagedClusterAgentPoolProfile_STATUS) AssignProperties_To_ManagedClusterAgentPoolProfile_STATUS(destination *v20231001s.ManagedClusterAgentPoolProfile_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) @@ -5294,7 +5261,7 @@ func (profile *ManagedClusterAgentPoolProfile_STATUS) AssignProperties_To_Manage // CreationData if profile.CreationData != nil { - var creationDatum storage.CreationData_STATUS + var creationDatum v20231001s.CreationData_STATUS err := profile.CreationData.AssignProperties_To_CreationData_STATUS(&creationDatum) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_CreationData_STATUS() to populate field CreationData") @@ -5369,7 +5336,7 @@ func (profile *ManagedClusterAgentPoolProfile_STATUS) AssignProperties_To_Manage // KubeletConfig if profile.KubeletConfig != nil { - var kubeletConfig storage.KubeletConfig_STATUS + var kubeletConfig v20231001s.KubeletConfig_STATUS err := profile.KubeletConfig.AssignProperties_To_KubeletConfig_STATUS(&kubeletConfig) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_KubeletConfig_STATUS() to populate field KubeletConfig") @@ -5384,7 +5351,7 @@ func (profile *ManagedClusterAgentPoolProfile_STATUS) AssignProperties_To_Manage // LinuxOSConfig if profile.LinuxOSConfig != nil { - var linuxOSConfig storage.LinuxOSConfig_STATUS + var linuxOSConfig v20231001s.LinuxOSConfig_STATUS err := profile.LinuxOSConfig.AssignProperties_To_LinuxOSConfig_STATUS(&linuxOSConfig) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_LinuxOSConfig_STATUS() to populate field LinuxOSConfig") @@ -5418,7 +5385,7 @@ func (profile *ManagedClusterAgentPoolProfile_STATUS) AssignProperties_To_Manage // NetworkProfile if profile.NetworkProfile != nil { - var networkProfile storage.AgentPoolNetworkProfile_STATUS + var networkProfile v20231001s.AgentPoolNetworkProfile_STATUS err := profile.NetworkProfile.AssignProperties_To_AgentPoolNetworkProfile_STATUS(&networkProfile) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_AgentPoolNetworkProfile_STATUS() to populate field NetworkProfile") @@ -5467,7 +5434,7 @@ func (profile *ManagedClusterAgentPoolProfile_STATUS) AssignProperties_To_Manage // PowerState if profile.PowerState != nil { - var powerState storage.PowerState_STATUS + var powerState v20231001s.PowerState_STATUS err := profile.PowerState.AssignProperties_To_PowerState_STATUS(&powerState) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_PowerState_STATUS() to populate field PowerState") @@ -5515,7 +5482,7 @@ func (profile *ManagedClusterAgentPoolProfile_STATUS) AssignProperties_To_Manage // UpgradeSettings if profile.UpgradeSettings != nil { - var upgradeSetting storage.AgentPoolUpgradeSettings_STATUS + var upgradeSetting v20231001s.AgentPoolUpgradeSettings_STATUS err := profile.UpgradeSettings.AssignProperties_To_AgentPoolUpgradeSettings_STATUS(&upgradeSetting) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_AgentPoolUpgradeSettings_STATUS() to populate field UpgradeSettings") @@ -5576,25 +5543,18 @@ func (profile *ManagedClusterAgentPoolProfile_STATUS) AssignProperties_To_Manage } // Storage version of v1api20231102preview.ManagedClusterAIToolchainOperatorProfile -// When enabling the operator, a set of AKS managed CRDs and controllers will be installed in the cluster. The operator -// automates the deployment of OSS models for inference and/or training purposes. It provides a set of preset models and -// enables distributed inference against them. type ManagedClusterAIToolchainOperatorProfile struct { Enabled *bool `json:"enabled,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` } // Storage version of v1api20231102preview.ManagedClusterAIToolchainOperatorProfile_STATUS -// When enabling the operator, a set of AKS managed CRDs and controllers will be installed in the cluster. The operator -// automates the deployment of OSS models for inference and/or training purposes. It provides a set of preset models and -// enables distributed inference against them. type ManagedClusterAIToolchainOperatorProfile_STATUS struct { Enabled *bool `json:"enabled,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` } // Storage version of v1api20231102preview.ManagedClusterAPIServerAccessProfile -// Access profile for managed cluster API server. type ManagedClusterAPIServerAccessProfile struct { AuthorizedIPRanges []string `json:"authorizedIPRanges,omitempty"` DisableRunCommand *bool `json:"disableRunCommand,omitempty"` @@ -5607,7 +5567,7 @@ type ManagedClusterAPIServerAccessProfile struct { } // AssignProperties_From_ManagedClusterAPIServerAccessProfile populates our ManagedClusterAPIServerAccessProfile from the provided source ManagedClusterAPIServerAccessProfile -func (profile *ManagedClusterAPIServerAccessProfile) AssignProperties_From_ManagedClusterAPIServerAccessProfile(source *storage.ManagedClusterAPIServerAccessProfile) error { +func (profile *ManagedClusterAPIServerAccessProfile) AssignProperties_From_ManagedClusterAPIServerAccessProfile(source *v20231001s.ManagedClusterAPIServerAccessProfile) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -5688,7 +5648,7 @@ func (profile *ManagedClusterAPIServerAccessProfile) AssignProperties_From_Manag } // AssignProperties_To_ManagedClusterAPIServerAccessProfile populates the provided destination ManagedClusterAPIServerAccessProfile from our ManagedClusterAPIServerAccessProfile -func (profile *ManagedClusterAPIServerAccessProfile) AssignProperties_To_ManagedClusterAPIServerAccessProfile(destination *storage.ManagedClusterAPIServerAccessProfile) error { +func (profile *ManagedClusterAPIServerAccessProfile) AssignProperties_To_ManagedClusterAPIServerAccessProfile(destination *v20231001s.ManagedClusterAPIServerAccessProfile) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) @@ -5757,7 +5717,6 @@ func (profile *ManagedClusterAPIServerAccessProfile) AssignProperties_To_Managed } // Storage version of v1api20231102preview.ManagedClusterAPIServerAccessProfile_STATUS -// Access profile for managed cluster API server. type ManagedClusterAPIServerAccessProfile_STATUS struct { AuthorizedIPRanges []string `json:"authorizedIPRanges,omitempty"` DisableRunCommand *bool `json:"disableRunCommand,omitempty"` @@ -5770,7 +5729,7 @@ type ManagedClusterAPIServerAccessProfile_STATUS struct { } // AssignProperties_From_ManagedClusterAPIServerAccessProfile_STATUS populates our ManagedClusterAPIServerAccessProfile_STATUS from the provided source ManagedClusterAPIServerAccessProfile_STATUS -func (profile *ManagedClusterAPIServerAccessProfile_STATUS) AssignProperties_From_ManagedClusterAPIServerAccessProfile_STATUS(source *storage.ManagedClusterAPIServerAccessProfile_STATUS) error { +func (profile *ManagedClusterAPIServerAccessProfile_STATUS) AssignProperties_From_ManagedClusterAPIServerAccessProfile_STATUS(source *v20231001s.ManagedClusterAPIServerAccessProfile_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -5851,7 +5810,7 @@ func (profile *ManagedClusterAPIServerAccessProfile_STATUS) AssignProperties_Fro } // AssignProperties_To_ManagedClusterAPIServerAccessProfile_STATUS populates the provided destination ManagedClusterAPIServerAccessProfile_STATUS from our ManagedClusterAPIServerAccessProfile_STATUS -func (profile *ManagedClusterAPIServerAccessProfile_STATUS) AssignProperties_To_ManagedClusterAPIServerAccessProfile_STATUS(destination *storage.ManagedClusterAPIServerAccessProfile_STATUS) error { +func (profile *ManagedClusterAPIServerAccessProfile_STATUS) AssignProperties_To_ManagedClusterAPIServerAccessProfile_STATUS(destination *v20231001s.ManagedClusterAPIServerAccessProfile_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) @@ -5920,7 +5879,6 @@ func (profile *ManagedClusterAPIServerAccessProfile_STATUS) AssignProperties_To_ } // Storage version of v1api20231102preview.ManagedClusterAutoUpgradeProfile -// Auto upgrade profile for a managed cluster. type ManagedClusterAutoUpgradeProfile struct { NodeOSUpgradeChannel *string `json:"nodeOSUpgradeChannel,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` @@ -5928,7 +5886,7 @@ type ManagedClusterAutoUpgradeProfile struct { } // AssignProperties_From_ManagedClusterAutoUpgradeProfile populates our ManagedClusterAutoUpgradeProfile from the provided source ManagedClusterAutoUpgradeProfile -func (profile *ManagedClusterAutoUpgradeProfile) AssignProperties_From_ManagedClusterAutoUpgradeProfile(source *storage.ManagedClusterAutoUpgradeProfile) error { +func (profile *ManagedClusterAutoUpgradeProfile) AssignProperties_From_ManagedClusterAutoUpgradeProfile(source *v20231001s.ManagedClusterAutoUpgradeProfile) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -5959,7 +5917,7 @@ func (profile *ManagedClusterAutoUpgradeProfile) AssignProperties_From_ManagedCl } // AssignProperties_To_ManagedClusterAutoUpgradeProfile populates the provided destination ManagedClusterAutoUpgradeProfile from our ManagedClusterAutoUpgradeProfile -func (profile *ManagedClusterAutoUpgradeProfile) AssignProperties_To_ManagedClusterAutoUpgradeProfile(destination *storage.ManagedClusterAutoUpgradeProfile) error { +func (profile *ManagedClusterAutoUpgradeProfile) AssignProperties_To_ManagedClusterAutoUpgradeProfile(destination *v20231001s.ManagedClusterAutoUpgradeProfile) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) @@ -5990,7 +5948,6 @@ func (profile *ManagedClusterAutoUpgradeProfile) AssignProperties_To_ManagedClus } // Storage version of v1api20231102preview.ManagedClusterAutoUpgradeProfile_STATUS -// Auto upgrade profile for a managed cluster. type ManagedClusterAutoUpgradeProfile_STATUS struct { NodeOSUpgradeChannel *string `json:"nodeOSUpgradeChannel,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` @@ -5998,7 +5955,7 @@ type ManagedClusterAutoUpgradeProfile_STATUS struct { } // AssignProperties_From_ManagedClusterAutoUpgradeProfile_STATUS populates our ManagedClusterAutoUpgradeProfile_STATUS from the provided source ManagedClusterAutoUpgradeProfile_STATUS -func (profile *ManagedClusterAutoUpgradeProfile_STATUS) AssignProperties_From_ManagedClusterAutoUpgradeProfile_STATUS(source *storage.ManagedClusterAutoUpgradeProfile_STATUS) error { +func (profile *ManagedClusterAutoUpgradeProfile_STATUS) AssignProperties_From_ManagedClusterAutoUpgradeProfile_STATUS(source *v20231001s.ManagedClusterAutoUpgradeProfile_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -6029,7 +5986,7 @@ func (profile *ManagedClusterAutoUpgradeProfile_STATUS) AssignProperties_From_Ma } // AssignProperties_To_ManagedClusterAutoUpgradeProfile_STATUS populates the provided destination ManagedClusterAutoUpgradeProfile_STATUS from our ManagedClusterAutoUpgradeProfile_STATUS -func (profile *ManagedClusterAutoUpgradeProfile_STATUS) AssignProperties_To_ManagedClusterAutoUpgradeProfile_STATUS(destination *storage.ManagedClusterAutoUpgradeProfile_STATUS) error { +func (profile *ManagedClusterAutoUpgradeProfile_STATUS) AssignProperties_To_ManagedClusterAutoUpgradeProfile_STATUS(destination *v20231001s.ManagedClusterAutoUpgradeProfile_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) @@ -6060,7 +6017,6 @@ func (profile *ManagedClusterAutoUpgradeProfile_STATUS) AssignProperties_To_Mana } // Storage version of v1api20231102preview.ManagedClusterAzureMonitorProfile -// Prometheus addon profile for the container service cluster type ManagedClusterAzureMonitorProfile struct { Logs *ManagedClusterAzureMonitorProfileLogs `json:"logs,omitempty"` Metrics *ManagedClusterAzureMonitorProfileMetrics `json:"metrics,omitempty"` @@ -6068,7 +6024,7 @@ type ManagedClusterAzureMonitorProfile struct { } // AssignProperties_From_ManagedClusterAzureMonitorProfile populates our ManagedClusterAzureMonitorProfile from the provided source ManagedClusterAzureMonitorProfile -func (profile *ManagedClusterAzureMonitorProfile) AssignProperties_From_ManagedClusterAzureMonitorProfile(source *storage.ManagedClusterAzureMonitorProfile) error { +func (profile *ManagedClusterAzureMonitorProfile) AssignProperties_From_ManagedClusterAzureMonitorProfile(source *v20231001s.ManagedClusterAzureMonitorProfile) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -6118,7 +6074,7 @@ func (profile *ManagedClusterAzureMonitorProfile) AssignProperties_From_ManagedC } // AssignProperties_To_ManagedClusterAzureMonitorProfile populates the provided destination ManagedClusterAzureMonitorProfile from our ManagedClusterAzureMonitorProfile -func (profile *ManagedClusterAzureMonitorProfile) AssignProperties_To_ManagedClusterAzureMonitorProfile(destination *storage.ManagedClusterAzureMonitorProfile) error { +func (profile *ManagedClusterAzureMonitorProfile) AssignProperties_To_ManagedClusterAzureMonitorProfile(destination *v20231001s.ManagedClusterAzureMonitorProfile) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) @@ -6131,7 +6087,7 @@ func (profile *ManagedClusterAzureMonitorProfile) AssignProperties_To_ManagedClu // Metrics if profile.Metrics != nil { - var metric storage.ManagedClusterAzureMonitorProfileMetrics + var metric v20231001s.ManagedClusterAzureMonitorProfileMetrics err := profile.Metrics.AssignProperties_To_ManagedClusterAzureMonitorProfileMetrics(&metric) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterAzureMonitorProfileMetrics() to populate field Metrics") @@ -6162,7 +6118,6 @@ func (profile *ManagedClusterAzureMonitorProfile) AssignProperties_To_ManagedClu } // Storage version of v1api20231102preview.ManagedClusterAzureMonitorProfile_STATUS -// Prometheus addon profile for the container service cluster type ManagedClusterAzureMonitorProfile_STATUS struct { Logs *ManagedClusterAzureMonitorProfileLogs_STATUS `json:"logs,omitempty"` Metrics *ManagedClusterAzureMonitorProfileMetrics_STATUS `json:"metrics,omitempty"` @@ -6170,7 +6125,7 @@ type ManagedClusterAzureMonitorProfile_STATUS struct { } // AssignProperties_From_ManagedClusterAzureMonitorProfile_STATUS populates our ManagedClusterAzureMonitorProfile_STATUS from the provided source ManagedClusterAzureMonitorProfile_STATUS -func (profile *ManagedClusterAzureMonitorProfile_STATUS) AssignProperties_From_ManagedClusterAzureMonitorProfile_STATUS(source *storage.ManagedClusterAzureMonitorProfile_STATUS) error { +func (profile *ManagedClusterAzureMonitorProfile_STATUS) AssignProperties_From_ManagedClusterAzureMonitorProfile_STATUS(source *v20231001s.ManagedClusterAzureMonitorProfile_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -6220,7 +6175,7 @@ func (profile *ManagedClusterAzureMonitorProfile_STATUS) AssignProperties_From_M } // AssignProperties_To_ManagedClusterAzureMonitorProfile_STATUS populates the provided destination ManagedClusterAzureMonitorProfile_STATUS from our ManagedClusterAzureMonitorProfile_STATUS -func (profile *ManagedClusterAzureMonitorProfile_STATUS) AssignProperties_To_ManagedClusterAzureMonitorProfile_STATUS(destination *storage.ManagedClusterAzureMonitorProfile_STATUS) error { +func (profile *ManagedClusterAzureMonitorProfile_STATUS) AssignProperties_To_ManagedClusterAzureMonitorProfile_STATUS(destination *v20231001s.ManagedClusterAzureMonitorProfile_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) @@ -6233,7 +6188,7 @@ func (profile *ManagedClusterAzureMonitorProfile_STATUS) AssignProperties_To_Man // Metrics if profile.Metrics != nil { - var metric storage.ManagedClusterAzureMonitorProfileMetrics_STATUS + var metric v20231001s.ManagedClusterAzureMonitorProfileMetrics_STATUS err := profile.Metrics.AssignProperties_To_ManagedClusterAzureMonitorProfileMetrics_STATUS(&metric) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterAzureMonitorProfileMetrics_STATUS() to populate field Metrics") @@ -6264,7 +6219,6 @@ func (profile *ManagedClusterAzureMonitorProfile_STATUS) AssignProperties_To_Man } // Storage version of v1api20231102preview.ManagedClusterHTTPProxyConfig -// Cluster HTTP proxy configuration. type ManagedClusterHTTPProxyConfig struct { HttpProxy *string `json:"httpProxy,omitempty"` HttpsProxy *string `json:"httpsProxy,omitempty"` @@ -6274,7 +6228,7 @@ type ManagedClusterHTTPProxyConfig struct { } // AssignProperties_From_ManagedClusterHTTPProxyConfig populates our ManagedClusterHTTPProxyConfig from the provided source ManagedClusterHTTPProxyConfig -func (config *ManagedClusterHTTPProxyConfig) AssignProperties_From_ManagedClusterHTTPProxyConfig(source *storage.ManagedClusterHTTPProxyConfig) error { +func (config *ManagedClusterHTTPProxyConfig) AssignProperties_From_ManagedClusterHTTPProxyConfig(source *v20231001s.ManagedClusterHTTPProxyConfig) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -6311,7 +6265,7 @@ func (config *ManagedClusterHTTPProxyConfig) AssignProperties_From_ManagedCluste } // AssignProperties_To_ManagedClusterHTTPProxyConfig populates the provided destination ManagedClusterHTTPProxyConfig from our ManagedClusterHTTPProxyConfig -func (config *ManagedClusterHTTPProxyConfig) AssignProperties_To_ManagedClusterHTTPProxyConfig(destination *storage.ManagedClusterHTTPProxyConfig) error { +func (config *ManagedClusterHTTPProxyConfig) AssignProperties_To_ManagedClusterHTTPProxyConfig(destination *v20231001s.ManagedClusterHTTPProxyConfig) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(config.PropertyBag) @@ -6348,7 +6302,6 @@ func (config *ManagedClusterHTTPProxyConfig) AssignProperties_To_ManagedClusterH } // Storage version of v1api20231102preview.ManagedClusterHTTPProxyConfig_STATUS -// Cluster HTTP proxy configuration. type ManagedClusterHTTPProxyConfig_STATUS struct { EffectiveNoProxy []string `json:"effectiveNoProxy,omitempty"` HttpProxy *string `json:"httpProxy,omitempty"` @@ -6359,7 +6312,7 @@ type ManagedClusterHTTPProxyConfig_STATUS struct { } // AssignProperties_From_ManagedClusterHTTPProxyConfig_STATUS populates our ManagedClusterHTTPProxyConfig_STATUS from the provided source ManagedClusterHTTPProxyConfig_STATUS -func (config *ManagedClusterHTTPProxyConfig_STATUS) AssignProperties_From_ManagedClusterHTTPProxyConfig_STATUS(source *storage.ManagedClusterHTTPProxyConfig_STATUS) error { +func (config *ManagedClusterHTTPProxyConfig_STATUS) AssignProperties_From_ManagedClusterHTTPProxyConfig_STATUS(source *v20231001s.ManagedClusterHTTPProxyConfig_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -6409,7 +6362,7 @@ func (config *ManagedClusterHTTPProxyConfig_STATUS) AssignProperties_From_Manage } // AssignProperties_To_ManagedClusterHTTPProxyConfig_STATUS populates the provided destination ManagedClusterHTTPProxyConfig_STATUS from our ManagedClusterHTTPProxyConfig_STATUS -func (config *ManagedClusterHTTPProxyConfig_STATUS) AssignProperties_To_ManagedClusterHTTPProxyConfig_STATUS(destination *storage.ManagedClusterHTTPProxyConfig_STATUS) error { +func (config *ManagedClusterHTTPProxyConfig_STATUS) AssignProperties_To_ManagedClusterHTTPProxyConfig_STATUS(destination *v20231001s.ManagedClusterHTTPProxyConfig_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(config.PropertyBag) @@ -6453,7 +6406,6 @@ func (config *ManagedClusterHTTPProxyConfig_STATUS) AssignProperties_To_ManagedC } // Storage version of v1api20231102preview.ManagedClusterIdentity -// Identity for the managed cluster. type ManagedClusterIdentity struct { DelegatedResources map[string]DelegatedResource `json:"delegatedResources,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` @@ -6462,7 +6414,7 @@ type ManagedClusterIdentity struct { } // AssignProperties_From_ManagedClusterIdentity populates our ManagedClusterIdentity from the provided source ManagedClusterIdentity -func (identity *ManagedClusterIdentity) AssignProperties_From_ManagedClusterIdentity(source *storage.ManagedClusterIdentity) error { +func (identity *ManagedClusterIdentity) AssignProperties_From_ManagedClusterIdentity(source *v20231001s.ManagedClusterIdentity) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -6526,17 +6478,17 @@ func (identity *ManagedClusterIdentity) AssignProperties_From_ManagedClusterIden } // AssignProperties_To_ManagedClusterIdentity populates the provided destination ManagedClusterIdentity from our ManagedClusterIdentity -func (identity *ManagedClusterIdentity) AssignProperties_To_ManagedClusterIdentity(destination *storage.ManagedClusterIdentity) error { +func (identity *ManagedClusterIdentity) AssignProperties_To_ManagedClusterIdentity(destination *v20231001s.ManagedClusterIdentity) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(identity.PropertyBag) // DelegatedResources if identity.DelegatedResources != nil { - delegatedResourceMap := make(map[string]storage.DelegatedResource, len(identity.DelegatedResources)) + delegatedResourceMap := make(map[string]v20231001s.DelegatedResource, len(identity.DelegatedResources)) for delegatedResourceKey, delegatedResourceValue := range identity.DelegatedResources { // Shadow the loop variable to avoid aliasing delegatedResourceValue := delegatedResourceValue - var delegatedResource storage.DelegatedResource + var delegatedResource v20231001s.DelegatedResource err := delegatedResourceValue.AssignProperties_To_DelegatedResource(&delegatedResource) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_DelegatedResource() to populate field DelegatedResources") @@ -6553,11 +6505,11 @@ func (identity *ManagedClusterIdentity) AssignProperties_To_ManagedClusterIdenti // UserAssignedIdentities if identity.UserAssignedIdentities != nil { - userAssignedIdentityList := make([]storage.UserAssignedIdentityDetails, len(identity.UserAssignedIdentities)) + userAssignedIdentityList := make([]v20231001s.UserAssignedIdentityDetails, len(identity.UserAssignedIdentities)) for userAssignedIdentityIndex, userAssignedIdentityItem := range identity.UserAssignedIdentities { // Shadow the loop variable to avoid aliasing userAssignedIdentityItem := userAssignedIdentityItem - var userAssignedIdentity storage.UserAssignedIdentityDetails + var userAssignedIdentity v20231001s.UserAssignedIdentityDetails err := userAssignedIdentityItem.AssignProperties_To_UserAssignedIdentityDetails(&userAssignedIdentity) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_UserAssignedIdentityDetails() to populate field UserAssignedIdentities") @@ -6590,7 +6542,6 @@ func (identity *ManagedClusterIdentity) AssignProperties_To_ManagedClusterIdenti } // Storage version of v1api20231102preview.ManagedClusterIdentity_STATUS -// Identity for the managed cluster. type ManagedClusterIdentity_STATUS struct { DelegatedResources map[string]DelegatedResource_STATUS `json:"delegatedResources,omitempty"` PrincipalId *string `json:"principalId,omitempty"` @@ -6601,7 +6552,7 @@ type ManagedClusterIdentity_STATUS struct { } // AssignProperties_From_ManagedClusterIdentity_STATUS populates our ManagedClusterIdentity_STATUS from the provided source ManagedClusterIdentity_STATUS -func (identity *ManagedClusterIdentity_STATUS) AssignProperties_From_ManagedClusterIdentity_STATUS(source *storage.ManagedClusterIdentity_STATUS) error { +func (identity *ManagedClusterIdentity_STATUS) AssignProperties_From_ManagedClusterIdentity_STATUS(source *v20231001s.ManagedClusterIdentity_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -6671,17 +6622,17 @@ func (identity *ManagedClusterIdentity_STATUS) AssignProperties_From_ManagedClus } // AssignProperties_To_ManagedClusterIdentity_STATUS populates the provided destination ManagedClusterIdentity_STATUS from our ManagedClusterIdentity_STATUS -func (identity *ManagedClusterIdentity_STATUS) AssignProperties_To_ManagedClusterIdentity_STATUS(destination *storage.ManagedClusterIdentity_STATUS) error { +func (identity *ManagedClusterIdentity_STATUS) AssignProperties_To_ManagedClusterIdentity_STATUS(destination *v20231001s.ManagedClusterIdentity_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(identity.PropertyBag) // DelegatedResources if identity.DelegatedResources != nil { - delegatedResourceMap := make(map[string]storage.DelegatedResource_STATUS, len(identity.DelegatedResources)) + delegatedResourceMap := make(map[string]v20231001s.DelegatedResource_STATUS, len(identity.DelegatedResources)) for delegatedResourceKey, delegatedResourceValue := range identity.DelegatedResources { // Shadow the loop variable to avoid aliasing delegatedResourceValue := delegatedResourceValue - var delegatedResource storage.DelegatedResource_STATUS + var delegatedResource v20231001s.DelegatedResource_STATUS err := delegatedResourceValue.AssignProperties_To_DelegatedResource_STATUS(&delegatedResource) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_DelegatedResource_STATUS() to populate field DelegatedResources") @@ -6704,11 +6655,11 @@ func (identity *ManagedClusterIdentity_STATUS) AssignProperties_To_ManagedCluste // UserAssignedIdentities if identity.UserAssignedIdentities != nil { - userAssignedIdentityMap := make(map[string]storage.ManagedClusterIdentity_UserAssignedIdentities_STATUS, len(identity.UserAssignedIdentities)) + userAssignedIdentityMap := make(map[string]v20231001s.ManagedClusterIdentity_UserAssignedIdentities_STATUS, len(identity.UserAssignedIdentities)) for userAssignedIdentityKey, userAssignedIdentityValue := range identity.UserAssignedIdentities { // Shadow the loop variable to avoid aliasing userAssignedIdentityValue := userAssignedIdentityValue - var userAssignedIdentity storage.ManagedClusterIdentity_UserAssignedIdentities_STATUS + var userAssignedIdentity v20231001s.ManagedClusterIdentity_UserAssignedIdentities_STATUS err := userAssignedIdentityValue.AssignProperties_To_ManagedClusterIdentity_UserAssignedIdentities_STATUS(&userAssignedIdentity) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterIdentity_UserAssignedIdentities_STATUS() to populate field UserAssignedIdentities") @@ -6741,33 +6692,325 @@ func (identity *ManagedClusterIdentity_STATUS) AssignProperties_To_ManagedCluste } // Storage version of v1api20231102preview.ManagedClusterIngressProfile -// Ingress profile for the container service cluster. type ManagedClusterIngressProfile struct { PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` WebAppRouting *ManagedClusterIngressProfileWebAppRouting `json:"webAppRouting,omitempty"` } +// AssignProperties_From_ManagedClusterIngressProfile populates our ManagedClusterIngressProfile from the provided source ManagedClusterIngressProfile +func (profile *ManagedClusterIngressProfile) AssignProperties_From_ManagedClusterIngressProfile(source *v20240901s.ManagedClusterIngressProfile) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // WebAppRouting + if source.WebAppRouting != nil { + var webAppRouting ManagedClusterIngressProfileWebAppRouting + err := webAppRouting.AssignProperties_From_ManagedClusterIngressProfileWebAppRouting(source.WebAppRouting) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterIngressProfileWebAppRouting() to populate field WebAppRouting") + } + profile.WebAppRouting = &webAppRouting + } else { + profile.WebAppRouting = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + profile.PropertyBag = propertyBag + } else { + profile.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterIngressProfile interface (if implemented) to customize the conversion + var profileAsAny any = profile + if augmentedProfile, ok := profileAsAny.(augmentConversionForManagedClusterIngressProfile); ok { + err := augmentedProfile.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterIngressProfile populates the provided destination ManagedClusterIngressProfile from our ManagedClusterIngressProfile +func (profile *ManagedClusterIngressProfile) AssignProperties_To_ManagedClusterIngressProfile(destination *v20240901s.ManagedClusterIngressProfile) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) + + // WebAppRouting + if profile.WebAppRouting != nil { + var webAppRouting v20240901s.ManagedClusterIngressProfileWebAppRouting + err := profile.WebAppRouting.AssignProperties_To_ManagedClusterIngressProfileWebAppRouting(&webAppRouting) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterIngressProfileWebAppRouting() to populate field WebAppRouting") + } + destination.WebAppRouting = &webAppRouting + } else { + destination.WebAppRouting = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterIngressProfile interface (if implemented) to customize the conversion + var profileAsAny any = profile + if augmentedProfile, ok := profileAsAny.(augmentConversionForManagedClusterIngressProfile); ok { + err := augmentedProfile.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + // Storage version of v1api20231102preview.ManagedClusterIngressProfile_STATUS -// Ingress profile for the container service cluster. type ManagedClusterIngressProfile_STATUS struct { PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` WebAppRouting *ManagedClusterIngressProfileWebAppRouting_STATUS `json:"webAppRouting,omitempty"` } +// AssignProperties_From_ManagedClusterIngressProfile_STATUS populates our ManagedClusterIngressProfile_STATUS from the provided source ManagedClusterIngressProfile_STATUS +func (profile *ManagedClusterIngressProfile_STATUS) AssignProperties_From_ManagedClusterIngressProfile_STATUS(source *v20240901s.ManagedClusterIngressProfile_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // WebAppRouting + if source.WebAppRouting != nil { + var webAppRouting ManagedClusterIngressProfileWebAppRouting_STATUS + err := webAppRouting.AssignProperties_From_ManagedClusterIngressProfileWebAppRouting_STATUS(source.WebAppRouting) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterIngressProfileWebAppRouting_STATUS() to populate field WebAppRouting") + } + profile.WebAppRouting = &webAppRouting + } else { + profile.WebAppRouting = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + profile.PropertyBag = propertyBag + } else { + profile.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterIngressProfile_STATUS interface (if implemented) to customize the conversion + var profileAsAny any = profile + if augmentedProfile, ok := profileAsAny.(augmentConversionForManagedClusterIngressProfile_STATUS); ok { + err := augmentedProfile.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterIngressProfile_STATUS populates the provided destination ManagedClusterIngressProfile_STATUS from our ManagedClusterIngressProfile_STATUS +func (profile *ManagedClusterIngressProfile_STATUS) AssignProperties_To_ManagedClusterIngressProfile_STATUS(destination *v20240901s.ManagedClusterIngressProfile_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) + + // WebAppRouting + if profile.WebAppRouting != nil { + var webAppRouting v20240901s.ManagedClusterIngressProfileWebAppRouting_STATUS + err := profile.WebAppRouting.AssignProperties_To_ManagedClusterIngressProfileWebAppRouting_STATUS(&webAppRouting) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterIngressProfileWebAppRouting_STATUS() to populate field WebAppRouting") + } + destination.WebAppRouting = &webAppRouting + } else { + destination.WebAppRouting = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterIngressProfile_STATUS interface (if implemented) to customize the conversion + var profileAsAny any = profile + if augmentedProfile, ok := profileAsAny.(augmentConversionForManagedClusterIngressProfile_STATUS); ok { + err := augmentedProfile.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + // Storage version of v1api20231102preview.ManagedClusterMetricsProfile -// The metrics profile for the ManagedCluster. type ManagedClusterMetricsProfile struct { CostAnalysis *ManagedClusterCostAnalysis `json:"costAnalysis,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` } +// AssignProperties_From_ManagedClusterMetricsProfile populates our ManagedClusterMetricsProfile from the provided source ManagedClusterMetricsProfile +func (profile *ManagedClusterMetricsProfile) AssignProperties_From_ManagedClusterMetricsProfile(source *v20240901s.ManagedClusterMetricsProfile) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // CostAnalysis + if source.CostAnalysis != nil { + var costAnalysis ManagedClusterCostAnalysis + err := costAnalysis.AssignProperties_From_ManagedClusterCostAnalysis(source.CostAnalysis) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterCostAnalysis() to populate field CostAnalysis") + } + profile.CostAnalysis = &costAnalysis + } else { + profile.CostAnalysis = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + profile.PropertyBag = propertyBag + } else { + profile.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterMetricsProfile interface (if implemented) to customize the conversion + var profileAsAny any = profile + if augmentedProfile, ok := profileAsAny.(augmentConversionForManagedClusterMetricsProfile); ok { + err := augmentedProfile.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterMetricsProfile populates the provided destination ManagedClusterMetricsProfile from our ManagedClusterMetricsProfile +func (profile *ManagedClusterMetricsProfile) AssignProperties_To_ManagedClusterMetricsProfile(destination *v20240901s.ManagedClusterMetricsProfile) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) + + // CostAnalysis + if profile.CostAnalysis != nil { + var costAnalysis v20240901s.ManagedClusterCostAnalysis + err := profile.CostAnalysis.AssignProperties_To_ManagedClusterCostAnalysis(&costAnalysis) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterCostAnalysis() to populate field CostAnalysis") + } + destination.CostAnalysis = &costAnalysis + } else { + destination.CostAnalysis = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterMetricsProfile interface (if implemented) to customize the conversion + var profileAsAny any = profile + if augmentedProfile, ok := profileAsAny.(augmentConversionForManagedClusterMetricsProfile); ok { + err := augmentedProfile.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + // Storage version of v1api20231102preview.ManagedClusterMetricsProfile_STATUS -// The metrics profile for the ManagedCluster. type ManagedClusterMetricsProfile_STATUS struct { CostAnalysis *ManagedClusterCostAnalysis_STATUS `json:"costAnalysis,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` } +// AssignProperties_From_ManagedClusterMetricsProfile_STATUS populates our ManagedClusterMetricsProfile_STATUS from the provided source ManagedClusterMetricsProfile_STATUS +func (profile *ManagedClusterMetricsProfile_STATUS) AssignProperties_From_ManagedClusterMetricsProfile_STATUS(source *v20240901s.ManagedClusterMetricsProfile_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // CostAnalysis + if source.CostAnalysis != nil { + var costAnalysis ManagedClusterCostAnalysis_STATUS + err := costAnalysis.AssignProperties_From_ManagedClusterCostAnalysis_STATUS(source.CostAnalysis) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterCostAnalysis_STATUS() to populate field CostAnalysis") + } + profile.CostAnalysis = &costAnalysis + } else { + profile.CostAnalysis = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + profile.PropertyBag = propertyBag + } else { + profile.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterMetricsProfile_STATUS interface (if implemented) to customize the conversion + var profileAsAny any = profile + if augmentedProfile, ok := profileAsAny.(augmentConversionForManagedClusterMetricsProfile_STATUS); ok { + err := augmentedProfile.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterMetricsProfile_STATUS populates the provided destination ManagedClusterMetricsProfile_STATUS from our ManagedClusterMetricsProfile_STATUS +func (profile *ManagedClusterMetricsProfile_STATUS) AssignProperties_To_ManagedClusterMetricsProfile_STATUS(destination *v20240901s.ManagedClusterMetricsProfile_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) + + // CostAnalysis + if profile.CostAnalysis != nil { + var costAnalysis v20240901s.ManagedClusterCostAnalysis_STATUS + err := profile.CostAnalysis.AssignProperties_To_ManagedClusterCostAnalysis_STATUS(&costAnalysis) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterCostAnalysis_STATUS() to populate field CostAnalysis") + } + destination.CostAnalysis = &costAnalysis + } else { + destination.CostAnalysis = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterMetricsProfile_STATUS interface (if implemented) to customize the conversion + var profileAsAny any = profile + if augmentedProfile, ok := profileAsAny.(augmentConversionForManagedClusterMetricsProfile_STATUS); ok { + err := augmentedProfile.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + // Storage version of v1api20231102preview.ManagedClusterNodeProvisioningProfile type ManagedClusterNodeProvisioningProfile struct { Mode *string `json:"mode,omitempty"` @@ -6781,28 +7024,137 @@ type ManagedClusterNodeProvisioningProfile_STATUS struct { } // Storage version of v1api20231102preview.ManagedClusterNodeResourceGroupProfile -// Node resource group lockdown profile for a managed cluster. type ManagedClusterNodeResourceGroupProfile struct { PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` RestrictionLevel *string `json:"restrictionLevel,omitempty"` } +// AssignProperties_From_ManagedClusterNodeResourceGroupProfile populates our ManagedClusterNodeResourceGroupProfile from the provided source ManagedClusterNodeResourceGroupProfile +func (profile *ManagedClusterNodeResourceGroupProfile) AssignProperties_From_ManagedClusterNodeResourceGroupProfile(source *v20240901s.ManagedClusterNodeResourceGroupProfile) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // RestrictionLevel + profile.RestrictionLevel = genruntime.ClonePointerToString(source.RestrictionLevel) + + // Update the property bag + if len(propertyBag) > 0 { + profile.PropertyBag = propertyBag + } else { + profile.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterNodeResourceGroupProfile interface (if implemented) to customize the conversion + var profileAsAny any = profile + if augmentedProfile, ok := profileAsAny.(augmentConversionForManagedClusterNodeResourceGroupProfile); ok { + err := augmentedProfile.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterNodeResourceGroupProfile populates the provided destination ManagedClusterNodeResourceGroupProfile from our ManagedClusterNodeResourceGroupProfile +func (profile *ManagedClusterNodeResourceGroupProfile) AssignProperties_To_ManagedClusterNodeResourceGroupProfile(destination *v20240901s.ManagedClusterNodeResourceGroupProfile) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) + + // RestrictionLevel + destination.RestrictionLevel = genruntime.ClonePointerToString(profile.RestrictionLevel) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterNodeResourceGroupProfile interface (if implemented) to customize the conversion + var profileAsAny any = profile + if augmentedProfile, ok := profileAsAny.(augmentConversionForManagedClusterNodeResourceGroupProfile); ok { + err := augmentedProfile.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + // Storage version of v1api20231102preview.ManagedClusterNodeResourceGroupProfile_STATUS -// Node resource group lockdown profile for a managed cluster. type ManagedClusterNodeResourceGroupProfile_STATUS struct { PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` RestrictionLevel *string `json:"restrictionLevel,omitempty"` } +// AssignProperties_From_ManagedClusterNodeResourceGroupProfile_STATUS populates our ManagedClusterNodeResourceGroupProfile_STATUS from the provided source ManagedClusterNodeResourceGroupProfile_STATUS +func (profile *ManagedClusterNodeResourceGroupProfile_STATUS) AssignProperties_From_ManagedClusterNodeResourceGroupProfile_STATUS(source *v20240901s.ManagedClusterNodeResourceGroupProfile_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // RestrictionLevel + profile.RestrictionLevel = genruntime.ClonePointerToString(source.RestrictionLevel) + + // Update the property bag + if len(propertyBag) > 0 { + profile.PropertyBag = propertyBag + } else { + profile.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterNodeResourceGroupProfile_STATUS interface (if implemented) to customize the conversion + var profileAsAny any = profile + if augmentedProfile, ok := profileAsAny.(augmentConversionForManagedClusterNodeResourceGroupProfile_STATUS); ok { + err := augmentedProfile.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterNodeResourceGroupProfile_STATUS populates the provided destination ManagedClusterNodeResourceGroupProfile_STATUS from our ManagedClusterNodeResourceGroupProfile_STATUS +func (profile *ManagedClusterNodeResourceGroupProfile_STATUS) AssignProperties_To_ManagedClusterNodeResourceGroupProfile_STATUS(destination *v20240901s.ManagedClusterNodeResourceGroupProfile_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) + + // RestrictionLevel + destination.RestrictionLevel = genruntime.ClonePointerToString(profile.RestrictionLevel) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterNodeResourceGroupProfile_STATUS interface (if implemented) to customize the conversion + var profileAsAny any = profile + if augmentedProfile, ok := profileAsAny.(augmentConversionForManagedClusterNodeResourceGroupProfile_STATUS); ok { + err := augmentedProfile.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + // Storage version of v1api20231102preview.ManagedClusterOIDCIssuerProfile -// The OIDC issuer profile of the Managed Cluster. type ManagedClusterOIDCIssuerProfile struct { Enabled *bool `json:"enabled,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` } // AssignProperties_From_ManagedClusterOIDCIssuerProfile populates our ManagedClusterOIDCIssuerProfile from the provided source ManagedClusterOIDCIssuerProfile -func (profile *ManagedClusterOIDCIssuerProfile) AssignProperties_From_ManagedClusterOIDCIssuerProfile(source *storage.ManagedClusterOIDCIssuerProfile) error { +func (profile *ManagedClusterOIDCIssuerProfile) AssignProperties_From_ManagedClusterOIDCIssuerProfile(source *v20231001s.ManagedClusterOIDCIssuerProfile) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -6835,7 +7187,7 @@ func (profile *ManagedClusterOIDCIssuerProfile) AssignProperties_From_ManagedClu } // AssignProperties_To_ManagedClusterOIDCIssuerProfile populates the provided destination ManagedClusterOIDCIssuerProfile from our ManagedClusterOIDCIssuerProfile -func (profile *ManagedClusterOIDCIssuerProfile) AssignProperties_To_ManagedClusterOIDCIssuerProfile(destination *storage.ManagedClusterOIDCIssuerProfile) error { +func (profile *ManagedClusterOIDCIssuerProfile) AssignProperties_To_ManagedClusterOIDCIssuerProfile(destination *v20231001s.ManagedClusterOIDCIssuerProfile) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) @@ -6868,7 +7220,6 @@ func (profile *ManagedClusterOIDCIssuerProfile) AssignProperties_To_ManagedClust } // Storage version of v1api20231102preview.ManagedClusterOIDCIssuerProfile_STATUS -// The OIDC issuer profile of the Managed Cluster. type ManagedClusterOIDCIssuerProfile_STATUS struct { Enabled *bool `json:"enabled,omitempty"` IssuerURL *string `json:"issuerURL,omitempty"` @@ -6876,7 +7227,7 @@ type ManagedClusterOIDCIssuerProfile_STATUS struct { } // AssignProperties_From_ManagedClusterOIDCIssuerProfile_STATUS populates our ManagedClusterOIDCIssuerProfile_STATUS from the provided source ManagedClusterOIDCIssuerProfile_STATUS -func (profile *ManagedClusterOIDCIssuerProfile_STATUS) AssignProperties_From_ManagedClusterOIDCIssuerProfile_STATUS(source *storage.ManagedClusterOIDCIssuerProfile_STATUS) error { +func (profile *ManagedClusterOIDCIssuerProfile_STATUS) AssignProperties_From_ManagedClusterOIDCIssuerProfile_STATUS(source *v20231001s.ManagedClusterOIDCIssuerProfile_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -6912,7 +7263,7 @@ func (profile *ManagedClusterOIDCIssuerProfile_STATUS) AssignProperties_From_Man } // AssignProperties_To_ManagedClusterOIDCIssuerProfile_STATUS populates the provided destination ManagedClusterOIDCIssuerProfile_STATUS from our ManagedClusterOIDCIssuerProfile_STATUS -func (profile *ManagedClusterOIDCIssuerProfile_STATUS) AssignProperties_To_ManagedClusterOIDCIssuerProfile_STATUS(destination *storage.ManagedClusterOIDCIssuerProfile_STATUS) error { +func (profile *ManagedClusterOIDCIssuerProfile_STATUS) AssignProperties_To_ManagedClusterOIDCIssuerProfile_STATUS(destination *v20231001s.ManagedClusterOIDCIssuerProfile_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) @@ -6956,7 +7307,7 @@ type ManagedClusterOperatorSpec struct { } // AssignProperties_From_ManagedClusterOperatorSpec populates our ManagedClusterOperatorSpec from the provided source ManagedClusterOperatorSpec -func (operator *ManagedClusterOperatorSpec) AssignProperties_From_ManagedClusterOperatorSpec(source *storage.ManagedClusterOperatorSpec) error { +func (operator *ManagedClusterOperatorSpec) AssignProperties_From_ManagedClusterOperatorSpec(source *v20231001s.ManagedClusterOperatorSpec) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -7005,13 +7356,13 @@ func (operator *ManagedClusterOperatorSpec) AssignProperties_From_ManagedCluster } // AssignProperties_To_ManagedClusterOperatorSpec populates the provided destination ManagedClusterOperatorSpec from our ManagedClusterOperatorSpec -func (operator *ManagedClusterOperatorSpec) AssignProperties_To_ManagedClusterOperatorSpec(destination *storage.ManagedClusterOperatorSpec) error { +func (operator *ManagedClusterOperatorSpec) AssignProperties_To_ManagedClusterOperatorSpec(destination *v20231001s.ManagedClusterOperatorSpec) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(operator.PropertyBag) // ConfigMaps if operator.ConfigMaps != nil { - var configMap storage.ManagedClusterOperatorConfigMaps + var configMap v20231001s.ManagedClusterOperatorConfigMaps err := operator.ConfigMaps.AssignProperties_To_ManagedClusterOperatorConfigMaps(&configMap) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterOperatorConfigMaps() to populate field ConfigMaps") @@ -7023,7 +7374,7 @@ func (operator *ManagedClusterOperatorSpec) AssignProperties_To_ManagedClusterOp // Secrets if operator.Secrets != nil { - var secret storage.ManagedClusterOperatorSecrets + var secret v20231001s.ManagedClusterOperatorSecrets err := operator.Secrets.AssignProperties_To_ManagedClusterOperatorSecrets(&secret) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterOperatorSecrets() to populate field Secrets") @@ -7054,8 +7405,6 @@ func (operator *ManagedClusterOperatorSpec) AssignProperties_To_ManagedClusterOp } // Storage version of v1api20231102preview.ManagedClusterPodIdentityProfile -// See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on pod -// identity integration. type ManagedClusterPodIdentityProfile struct { AllowNetworkPluginKubenet *bool `json:"allowNetworkPluginKubenet,omitempty"` Enabled *bool `json:"enabled,omitempty"` @@ -7065,7 +7414,7 @@ type ManagedClusterPodIdentityProfile struct { } // AssignProperties_From_ManagedClusterPodIdentityProfile populates our ManagedClusterPodIdentityProfile from the provided source ManagedClusterPodIdentityProfile -func (profile *ManagedClusterPodIdentityProfile) AssignProperties_From_ManagedClusterPodIdentityProfile(source *storage.ManagedClusterPodIdentityProfile) error { +func (profile *ManagedClusterPodIdentityProfile) AssignProperties_From_ManagedClusterPodIdentityProfile(source *v20231001s.ManagedClusterPodIdentityProfile) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -7142,7 +7491,7 @@ func (profile *ManagedClusterPodIdentityProfile) AssignProperties_From_ManagedCl } // AssignProperties_To_ManagedClusterPodIdentityProfile populates the provided destination ManagedClusterPodIdentityProfile from our ManagedClusterPodIdentityProfile -func (profile *ManagedClusterPodIdentityProfile) AssignProperties_To_ManagedClusterPodIdentityProfile(destination *storage.ManagedClusterPodIdentityProfile) error { +func (profile *ManagedClusterPodIdentityProfile) AssignProperties_To_ManagedClusterPodIdentityProfile(destination *v20231001s.ManagedClusterPodIdentityProfile) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) @@ -7164,11 +7513,11 @@ func (profile *ManagedClusterPodIdentityProfile) AssignProperties_To_ManagedClus // UserAssignedIdentities if profile.UserAssignedIdentities != nil { - userAssignedIdentityList := make([]storage.ManagedClusterPodIdentity, len(profile.UserAssignedIdentities)) + userAssignedIdentityList := make([]v20231001s.ManagedClusterPodIdentity, len(profile.UserAssignedIdentities)) for userAssignedIdentityIndex, userAssignedIdentityItem := range profile.UserAssignedIdentities { // Shadow the loop variable to avoid aliasing userAssignedIdentityItem := userAssignedIdentityItem - var userAssignedIdentity storage.ManagedClusterPodIdentity + var userAssignedIdentity v20231001s.ManagedClusterPodIdentity err := userAssignedIdentityItem.AssignProperties_To_ManagedClusterPodIdentity(&userAssignedIdentity) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterPodIdentity() to populate field UserAssignedIdentities") @@ -7182,11 +7531,11 @@ func (profile *ManagedClusterPodIdentityProfile) AssignProperties_To_ManagedClus // UserAssignedIdentityExceptions if profile.UserAssignedIdentityExceptions != nil { - userAssignedIdentityExceptionList := make([]storage.ManagedClusterPodIdentityException, len(profile.UserAssignedIdentityExceptions)) + userAssignedIdentityExceptionList := make([]v20231001s.ManagedClusterPodIdentityException, len(profile.UserAssignedIdentityExceptions)) for userAssignedIdentityExceptionIndex, userAssignedIdentityExceptionItem := range profile.UserAssignedIdentityExceptions { // Shadow the loop variable to avoid aliasing userAssignedIdentityExceptionItem := userAssignedIdentityExceptionItem - var userAssignedIdentityException storage.ManagedClusterPodIdentityException + var userAssignedIdentityException v20231001s.ManagedClusterPodIdentityException err := userAssignedIdentityExceptionItem.AssignProperties_To_ManagedClusterPodIdentityException(&userAssignedIdentityException) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterPodIdentityException() to populate field UserAssignedIdentityExceptions") @@ -7219,8 +7568,6 @@ func (profile *ManagedClusterPodIdentityProfile) AssignProperties_To_ManagedClus } // Storage version of v1api20231102preview.ManagedClusterPodIdentityProfile_STATUS -// See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on pod -// identity integration. type ManagedClusterPodIdentityProfile_STATUS struct { AllowNetworkPluginKubenet *bool `json:"allowNetworkPluginKubenet,omitempty"` Enabled *bool `json:"enabled,omitempty"` @@ -7230,7 +7577,7 @@ type ManagedClusterPodIdentityProfile_STATUS struct { } // AssignProperties_From_ManagedClusterPodIdentityProfile_STATUS populates our ManagedClusterPodIdentityProfile_STATUS from the provided source ManagedClusterPodIdentityProfile_STATUS -func (profile *ManagedClusterPodIdentityProfile_STATUS) AssignProperties_From_ManagedClusterPodIdentityProfile_STATUS(source *storage.ManagedClusterPodIdentityProfile_STATUS) error { +func (profile *ManagedClusterPodIdentityProfile_STATUS) AssignProperties_From_ManagedClusterPodIdentityProfile_STATUS(source *v20231001s.ManagedClusterPodIdentityProfile_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -7307,7 +7654,7 @@ func (profile *ManagedClusterPodIdentityProfile_STATUS) AssignProperties_From_Ma } // AssignProperties_To_ManagedClusterPodIdentityProfile_STATUS populates the provided destination ManagedClusterPodIdentityProfile_STATUS from our ManagedClusterPodIdentityProfile_STATUS -func (profile *ManagedClusterPodIdentityProfile_STATUS) AssignProperties_To_ManagedClusterPodIdentityProfile_STATUS(destination *storage.ManagedClusterPodIdentityProfile_STATUS) error { +func (profile *ManagedClusterPodIdentityProfile_STATUS) AssignProperties_To_ManagedClusterPodIdentityProfile_STATUS(destination *v20231001s.ManagedClusterPodIdentityProfile_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) @@ -7329,11 +7676,11 @@ func (profile *ManagedClusterPodIdentityProfile_STATUS) AssignProperties_To_Mana // UserAssignedIdentities if profile.UserAssignedIdentities != nil { - userAssignedIdentityList := make([]storage.ManagedClusterPodIdentity_STATUS, len(profile.UserAssignedIdentities)) + userAssignedIdentityList := make([]v20231001s.ManagedClusterPodIdentity_STATUS, len(profile.UserAssignedIdentities)) for userAssignedIdentityIndex, userAssignedIdentityItem := range profile.UserAssignedIdentities { // Shadow the loop variable to avoid aliasing userAssignedIdentityItem := userAssignedIdentityItem - var userAssignedIdentity storage.ManagedClusterPodIdentity_STATUS + var userAssignedIdentity v20231001s.ManagedClusterPodIdentity_STATUS err := userAssignedIdentityItem.AssignProperties_To_ManagedClusterPodIdentity_STATUS(&userAssignedIdentity) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterPodIdentity_STATUS() to populate field UserAssignedIdentities") @@ -7347,11 +7694,11 @@ func (profile *ManagedClusterPodIdentityProfile_STATUS) AssignProperties_To_Mana // UserAssignedIdentityExceptions if profile.UserAssignedIdentityExceptions != nil { - userAssignedIdentityExceptionList := make([]storage.ManagedClusterPodIdentityException_STATUS, len(profile.UserAssignedIdentityExceptions)) + userAssignedIdentityExceptionList := make([]v20231001s.ManagedClusterPodIdentityException_STATUS, len(profile.UserAssignedIdentityExceptions)) for userAssignedIdentityExceptionIndex, userAssignedIdentityExceptionItem := range profile.UserAssignedIdentityExceptions { // Shadow the loop variable to avoid aliasing userAssignedIdentityExceptionItem := userAssignedIdentityExceptionItem - var userAssignedIdentityException storage.ManagedClusterPodIdentityException_STATUS + var userAssignedIdentityException v20231001s.ManagedClusterPodIdentityException_STATUS err := userAssignedIdentityExceptionItem.AssignProperties_To_ManagedClusterPodIdentityException_STATUS(&userAssignedIdentityException) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterPodIdentityException_STATUS() to populate field UserAssignedIdentityExceptions") @@ -7409,7 +7756,7 @@ type ManagedClusterProperties_AutoScalerProfile struct { } // AssignProperties_From_ManagedClusterProperties_AutoScalerProfile populates our ManagedClusterProperties_AutoScalerProfile from the provided source ManagedClusterProperties_AutoScalerProfile -func (profile *ManagedClusterProperties_AutoScalerProfile) AssignProperties_From_ManagedClusterProperties_AutoScalerProfile(source *storage.ManagedClusterProperties_AutoScalerProfile) error { +func (profile *ManagedClusterProperties_AutoScalerProfile) AssignProperties_From_ManagedClusterProperties_AutoScalerProfile(source *v20231001s.ManagedClusterProperties_AutoScalerProfile) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -7524,7 +7871,7 @@ func (profile *ManagedClusterProperties_AutoScalerProfile) AssignProperties_From } // AssignProperties_To_ManagedClusterProperties_AutoScalerProfile populates the provided destination ManagedClusterProperties_AutoScalerProfile from our ManagedClusterProperties_AutoScalerProfile -func (profile *ManagedClusterProperties_AutoScalerProfile) AssignProperties_To_ManagedClusterProperties_AutoScalerProfile(destination *storage.ManagedClusterProperties_AutoScalerProfile) error { +func (profile *ManagedClusterProperties_AutoScalerProfile) AssignProperties_To_ManagedClusterProperties_AutoScalerProfile(destination *v20231001s.ManagedClusterProperties_AutoScalerProfile) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) @@ -7646,7 +7993,7 @@ type ManagedClusterProperties_AutoScalerProfile_STATUS struct { } // AssignProperties_From_ManagedClusterProperties_AutoScalerProfile_STATUS populates our ManagedClusterProperties_AutoScalerProfile_STATUS from the provided source ManagedClusterProperties_AutoScalerProfile_STATUS -func (profile *ManagedClusterProperties_AutoScalerProfile_STATUS) AssignProperties_From_ManagedClusterProperties_AutoScalerProfile_STATUS(source *storage.ManagedClusterProperties_AutoScalerProfile_STATUS) error { +func (profile *ManagedClusterProperties_AutoScalerProfile_STATUS) AssignProperties_From_ManagedClusterProperties_AutoScalerProfile_STATUS(source *v20231001s.ManagedClusterProperties_AutoScalerProfile_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -7761,7 +8108,7 @@ func (profile *ManagedClusterProperties_AutoScalerProfile_STATUS) AssignProperti } // AssignProperties_To_ManagedClusterProperties_AutoScalerProfile_STATUS populates the provided destination ManagedClusterProperties_AutoScalerProfile_STATUS from our ManagedClusterProperties_AutoScalerProfile_STATUS -func (profile *ManagedClusterProperties_AutoScalerProfile_STATUS) AssignProperties_To_ManagedClusterProperties_AutoScalerProfile_STATUS(destination *storage.ManagedClusterProperties_AutoScalerProfile_STATUS) error { +func (profile *ManagedClusterProperties_AutoScalerProfile_STATUS) AssignProperties_To_ManagedClusterProperties_AutoScalerProfile_STATUS(destination *v20231001s.ManagedClusterProperties_AutoScalerProfile_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) @@ -7858,7 +8205,6 @@ func (profile *ManagedClusterProperties_AutoScalerProfile_STATUS) AssignProperti } // Storage version of v1api20231102preview.ManagedClusterSecurityProfile -// Security profile for the container service cluster. type ManagedClusterSecurityProfile struct { AzureKeyVaultKms *AzureKeyVaultKms `json:"azureKeyVaultKms,omitempty"` CustomCATrustCertificates []string `json:"customCATrustCertificates,omitempty"` @@ -7871,7 +8217,7 @@ type ManagedClusterSecurityProfile struct { } // AssignProperties_From_ManagedClusterSecurityProfile populates our ManagedClusterSecurityProfile from the provided source ManagedClusterSecurityProfile -func (profile *ManagedClusterSecurityProfile) AssignProperties_From_ManagedClusterSecurityProfile(source *storage.ManagedClusterSecurityProfile) error { +func (profile *ManagedClusterSecurityProfile) AssignProperties_From_ManagedClusterSecurityProfile(source *v20231001s.ManagedClusterSecurityProfile) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -7983,13 +8329,13 @@ func (profile *ManagedClusterSecurityProfile) AssignProperties_From_ManagedClust } // AssignProperties_To_ManagedClusterSecurityProfile populates the provided destination ManagedClusterSecurityProfile from our ManagedClusterSecurityProfile -func (profile *ManagedClusterSecurityProfile) AssignProperties_To_ManagedClusterSecurityProfile(destination *storage.ManagedClusterSecurityProfile) error { +func (profile *ManagedClusterSecurityProfile) AssignProperties_To_ManagedClusterSecurityProfile(destination *v20231001s.ManagedClusterSecurityProfile) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) // AzureKeyVaultKms if profile.AzureKeyVaultKms != nil { - var azureKeyVaultKm storage.AzureKeyVaultKms + var azureKeyVaultKm v20231001s.AzureKeyVaultKms err := profile.AzureKeyVaultKms.AssignProperties_To_AzureKeyVaultKms(&azureKeyVaultKm) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_AzureKeyVaultKms() to populate field AzureKeyVaultKms") @@ -8008,7 +8354,7 @@ func (profile *ManagedClusterSecurityProfile) AssignProperties_To_ManagedCluster // Defender if profile.Defender != nil { - var defender storage.ManagedClusterSecurityProfileDefender + var defender v20231001s.ManagedClusterSecurityProfileDefender err := profile.Defender.AssignProperties_To_ManagedClusterSecurityProfileDefender(&defender) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterSecurityProfileDefender() to populate field Defender") @@ -8020,7 +8366,7 @@ func (profile *ManagedClusterSecurityProfile) AssignProperties_To_ManagedCluster // ImageCleaner if profile.ImageCleaner != nil { - var imageCleaner storage.ManagedClusterSecurityProfileImageCleaner + var imageCleaner v20231001s.ManagedClusterSecurityProfileImageCleaner err := profile.ImageCleaner.AssignProperties_To_ManagedClusterSecurityProfileImageCleaner(&imageCleaner) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterSecurityProfileImageCleaner() to populate field ImageCleaner") @@ -8046,7 +8392,7 @@ func (profile *ManagedClusterSecurityProfile) AssignProperties_To_ManagedCluster // WorkloadIdentity if profile.WorkloadIdentity != nil { - var workloadIdentity storage.ManagedClusterSecurityProfileWorkloadIdentity + var workloadIdentity v20231001s.ManagedClusterSecurityProfileWorkloadIdentity err := profile.WorkloadIdentity.AssignProperties_To_ManagedClusterSecurityProfileWorkloadIdentity(&workloadIdentity) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterSecurityProfileWorkloadIdentity() to populate field WorkloadIdentity") @@ -8077,7 +8423,6 @@ func (profile *ManagedClusterSecurityProfile) AssignProperties_To_ManagedCluster } // Storage version of v1api20231102preview.ManagedClusterSecurityProfile_STATUS -// Security profile for the container service cluster. type ManagedClusterSecurityProfile_STATUS struct { AzureKeyVaultKms *AzureKeyVaultKms_STATUS `json:"azureKeyVaultKms,omitempty"` CustomCATrustCertificates []string `json:"customCATrustCertificates,omitempty"` @@ -8090,7 +8435,7 @@ type ManagedClusterSecurityProfile_STATUS struct { } // AssignProperties_From_ManagedClusterSecurityProfile_STATUS populates our ManagedClusterSecurityProfile_STATUS from the provided source ManagedClusterSecurityProfile_STATUS -func (profile *ManagedClusterSecurityProfile_STATUS) AssignProperties_From_ManagedClusterSecurityProfile_STATUS(source *storage.ManagedClusterSecurityProfile_STATUS) error { +func (profile *ManagedClusterSecurityProfile_STATUS) AssignProperties_From_ManagedClusterSecurityProfile_STATUS(source *v20231001s.ManagedClusterSecurityProfile_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -8202,13 +8547,13 @@ func (profile *ManagedClusterSecurityProfile_STATUS) AssignProperties_From_Manag } // AssignProperties_To_ManagedClusterSecurityProfile_STATUS populates the provided destination ManagedClusterSecurityProfile_STATUS from our ManagedClusterSecurityProfile_STATUS -func (profile *ManagedClusterSecurityProfile_STATUS) AssignProperties_To_ManagedClusterSecurityProfile_STATUS(destination *storage.ManagedClusterSecurityProfile_STATUS) error { +func (profile *ManagedClusterSecurityProfile_STATUS) AssignProperties_To_ManagedClusterSecurityProfile_STATUS(destination *v20231001s.ManagedClusterSecurityProfile_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) // AzureKeyVaultKms if profile.AzureKeyVaultKms != nil { - var azureKeyVaultKm storage.AzureKeyVaultKms_STATUS + var azureKeyVaultKm v20231001s.AzureKeyVaultKms_STATUS err := profile.AzureKeyVaultKms.AssignProperties_To_AzureKeyVaultKms_STATUS(&azureKeyVaultKm) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_AzureKeyVaultKms_STATUS() to populate field AzureKeyVaultKms") @@ -8227,7 +8572,7 @@ func (profile *ManagedClusterSecurityProfile_STATUS) AssignProperties_To_Managed // Defender if profile.Defender != nil { - var defender storage.ManagedClusterSecurityProfileDefender_STATUS + var defender v20231001s.ManagedClusterSecurityProfileDefender_STATUS err := profile.Defender.AssignProperties_To_ManagedClusterSecurityProfileDefender_STATUS(&defender) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterSecurityProfileDefender_STATUS() to populate field Defender") @@ -8239,7 +8584,7 @@ func (profile *ManagedClusterSecurityProfile_STATUS) AssignProperties_To_Managed // ImageCleaner if profile.ImageCleaner != nil { - var imageCleaner storage.ManagedClusterSecurityProfileImageCleaner_STATUS + var imageCleaner v20231001s.ManagedClusterSecurityProfileImageCleaner_STATUS err := profile.ImageCleaner.AssignProperties_To_ManagedClusterSecurityProfileImageCleaner_STATUS(&imageCleaner) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterSecurityProfileImageCleaner_STATUS() to populate field ImageCleaner") @@ -8265,7 +8610,7 @@ func (profile *ManagedClusterSecurityProfile_STATUS) AssignProperties_To_Managed // WorkloadIdentity if profile.WorkloadIdentity != nil { - var workloadIdentity storage.ManagedClusterSecurityProfileWorkloadIdentity_STATUS + var workloadIdentity v20231001s.ManagedClusterSecurityProfileWorkloadIdentity_STATUS err := profile.WorkloadIdentity.AssignProperties_To_ManagedClusterSecurityProfileWorkloadIdentity_STATUS(&workloadIdentity) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterSecurityProfileWorkloadIdentity_STATUS() to populate field WorkloadIdentity") @@ -8296,7 +8641,6 @@ func (profile *ManagedClusterSecurityProfile_STATUS) AssignProperties_To_Managed } // Storage version of v1api20231102preview.ManagedClusterServicePrincipalProfile -// Information about a service principal identity for the cluster to use for manipulating Azure APIs. type ManagedClusterServicePrincipalProfile struct { ClientId *string `json:"clientId,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` @@ -8304,7 +8648,7 @@ type ManagedClusterServicePrincipalProfile struct { } // AssignProperties_From_ManagedClusterServicePrincipalProfile populates our ManagedClusterServicePrincipalProfile from the provided source ManagedClusterServicePrincipalProfile -func (profile *ManagedClusterServicePrincipalProfile) AssignProperties_From_ManagedClusterServicePrincipalProfile(source *storage.ManagedClusterServicePrincipalProfile) error { +func (profile *ManagedClusterServicePrincipalProfile) AssignProperties_From_ManagedClusterServicePrincipalProfile(source *v20231001s.ManagedClusterServicePrincipalProfile) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -8340,7 +8684,7 @@ func (profile *ManagedClusterServicePrincipalProfile) AssignProperties_From_Mana } // AssignProperties_To_ManagedClusterServicePrincipalProfile populates the provided destination ManagedClusterServicePrincipalProfile from our ManagedClusterServicePrincipalProfile -func (profile *ManagedClusterServicePrincipalProfile) AssignProperties_To_ManagedClusterServicePrincipalProfile(destination *storage.ManagedClusterServicePrincipalProfile) error { +func (profile *ManagedClusterServicePrincipalProfile) AssignProperties_To_ManagedClusterServicePrincipalProfile(destination *v20231001s.ManagedClusterServicePrincipalProfile) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) @@ -8376,14 +8720,13 @@ func (profile *ManagedClusterServicePrincipalProfile) AssignProperties_To_Manage } // Storage version of v1api20231102preview.ManagedClusterServicePrincipalProfile_STATUS -// Information about a service principal identity for the cluster to use for manipulating Azure APIs. type ManagedClusterServicePrincipalProfile_STATUS struct { ClientId *string `json:"clientId,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` } // AssignProperties_From_ManagedClusterServicePrincipalProfile_STATUS populates our ManagedClusterServicePrincipalProfile_STATUS from the provided source ManagedClusterServicePrincipalProfile_STATUS -func (profile *ManagedClusterServicePrincipalProfile_STATUS) AssignProperties_From_ManagedClusterServicePrincipalProfile_STATUS(source *storage.ManagedClusterServicePrincipalProfile_STATUS) error { +func (profile *ManagedClusterServicePrincipalProfile_STATUS) AssignProperties_From_ManagedClusterServicePrincipalProfile_STATUS(source *v20231001s.ManagedClusterServicePrincipalProfile_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -8411,7 +8754,7 @@ func (profile *ManagedClusterServicePrincipalProfile_STATUS) AssignProperties_Fr } // AssignProperties_To_ManagedClusterServicePrincipalProfile_STATUS populates the provided destination ManagedClusterServicePrincipalProfile_STATUS from our ManagedClusterServicePrincipalProfile_STATUS -func (profile *ManagedClusterServicePrincipalProfile_STATUS) AssignProperties_To_ManagedClusterServicePrincipalProfile_STATUS(destination *storage.ManagedClusterServicePrincipalProfile_STATUS) error { +func (profile *ManagedClusterServicePrincipalProfile_STATUS) AssignProperties_To_ManagedClusterServicePrincipalProfile_STATUS(destination *v20231001s.ManagedClusterServicePrincipalProfile_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) @@ -8439,7 +8782,6 @@ func (profile *ManagedClusterServicePrincipalProfile_STATUS) AssignProperties_To } // Storage version of v1api20231102preview.ManagedClusterSKU -// The SKU of a Managed Cluster. type ManagedClusterSKU struct { Name *string `json:"name,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` @@ -8447,7 +8789,7 @@ type ManagedClusterSKU struct { } // AssignProperties_From_ManagedClusterSKU populates our ManagedClusterSKU from the provided source ManagedClusterSKU -func (clusterSKU *ManagedClusterSKU) AssignProperties_From_ManagedClusterSKU(source *storage.ManagedClusterSKU) error { +func (clusterSKU *ManagedClusterSKU) AssignProperties_From_ManagedClusterSKU(source *v20231001s.ManagedClusterSKU) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -8478,7 +8820,7 @@ func (clusterSKU *ManagedClusterSKU) AssignProperties_From_ManagedClusterSKU(sou } // AssignProperties_To_ManagedClusterSKU populates the provided destination ManagedClusterSKU from our ManagedClusterSKU -func (clusterSKU *ManagedClusterSKU) AssignProperties_To_ManagedClusterSKU(destination *storage.ManagedClusterSKU) error { +func (clusterSKU *ManagedClusterSKU) AssignProperties_To_ManagedClusterSKU(destination *v20231001s.ManagedClusterSKU) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(clusterSKU.PropertyBag) @@ -8509,7 +8851,6 @@ func (clusterSKU *ManagedClusterSKU) AssignProperties_To_ManagedClusterSKU(desti } // Storage version of v1api20231102preview.ManagedClusterSKU_STATUS -// The SKU of a Managed Cluster. type ManagedClusterSKU_STATUS struct { Name *string `json:"name,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` @@ -8517,7 +8858,7 @@ type ManagedClusterSKU_STATUS struct { } // AssignProperties_From_ManagedClusterSKU_STATUS populates our ManagedClusterSKU_STATUS from the provided source ManagedClusterSKU_STATUS -func (clusterSKU *ManagedClusterSKU_STATUS) AssignProperties_From_ManagedClusterSKU_STATUS(source *storage.ManagedClusterSKU_STATUS) error { +func (clusterSKU *ManagedClusterSKU_STATUS) AssignProperties_From_ManagedClusterSKU_STATUS(source *v20231001s.ManagedClusterSKU_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -8548,7 +8889,7 @@ func (clusterSKU *ManagedClusterSKU_STATUS) AssignProperties_From_ManagedCluster } // AssignProperties_To_ManagedClusterSKU_STATUS populates the provided destination ManagedClusterSKU_STATUS from our ManagedClusterSKU_STATUS -func (clusterSKU *ManagedClusterSKU_STATUS) AssignProperties_To_ManagedClusterSKU_STATUS(destination *storage.ManagedClusterSKU_STATUS) error { +func (clusterSKU *ManagedClusterSKU_STATUS) AssignProperties_To_ManagedClusterSKU_STATUS(destination *v20231001s.ManagedClusterSKU_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(clusterSKU.PropertyBag) @@ -8579,7 +8920,6 @@ func (clusterSKU *ManagedClusterSKU_STATUS) AssignProperties_To_ManagedClusterSK } // Storage version of v1api20231102preview.ManagedClusterStorageProfile -// Storage profile for the container service cluster. type ManagedClusterStorageProfile struct { BlobCSIDriver *ManagedClusterStorageProfileBlobCSIDriver `json:"blobCSIDriver,omitempty"` DiskCSIDriver *ManagedClusterStorageProfileDiskCSIDriver `json:"diskCSIDriver,omitempty"` @@ -8589,7 +8929,7 @@ type ManagedClusterStorageProfile struct { } // AssignProperties_From_ManagedClusterStorageProfile populates our ManagedClusterStorageProfile from the provided source ManagedClusterStorageProfile -func (profile *ManagedClusterStorageProfile) AssignProperties_From_ManagedClusterStorageProfile(source *storage.ManagedClusterStorageProfile) error { +func (profile *ManagedClusterStorageProfile) AssignProperties_From_ManagedClusterStorageProfile(source *v20231001s.ManagedClusterStorageProfile) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -8662,13 +9002,13 @@ func (profile *ManagedClusterStorageProfile) AssignProperties_From_ManagedCluste } // AssignProperties_To_ManagedClusterStorageProfile populates the provided destination ManagedClusterStorageProfile from our ManagedClusterStorageProfile -func (profile *ManagedClusterStorageProfile) AssignProperties_To_ManagedClusterStorageProfile(destination *storage.ManagedClusterStorageProfile) error { +func (profile *ManagedClusterStorageProfile) AssignProperties_To_ManagedClusterStorageProfile(destination *v20231001s.ManagedClusterStorageProfile) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) // BlobCSIDriver if profile.BlobCSIDriver != nil { - var blobCSIDriver storage.ManagedClusterStorageProfileBlobCSIDriver + var blobCSIDriver v20231001s.ManagedClusterStorageProfileBlobCSIDriver err := profile.BlobCSIDriver.AssignProperties_To_ManagedClusterStorageProfileBlobCSIDriver(&blobCSIDriver) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterStorageProfileBlobCSIDriver() to populate field BlobCSIDriver") @@ -8680,7 +9020,7 @@ func (profile *ManagedClusterStorageProfile) AssignProperties_To_ManagedClusterS // DiskCSIDriver if profile.DiskCSIDriver != nil { - var diskCSIDriver storage.ManagedClusterStorageProfileDiskCSIDriver + var diskCSIDriver v20231001s.ManagedClusterStorageProfileDiskCSIDriver err := profile.DiskCSIDriver.AssignProperties_To_ManagedClusterStorageProfileDiskCSIDriver(&diskCSIDriver) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterStorageProfileDiskCSIDriver() to populate field DiskCSIDriver") @@ -8692,7 +9032,7 @@ func (profile *ManagedClusterStorageProfile) AssignProperties_To_ManagedClusterS // FileCSIDriver if profile.FileCSIDriver != nil { - var fileCSIDriver storage.ManagedClusterStorageProfileFileCSIDriver + var fileCSIDriver v20231001s.ManagedClusterStorageProfileFileCSIDriver err := profile.FileCSIDriver.AssignProperties_To_ManagedClusterStorageProfileFileCSIDriver(&fileCSIDriver) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterStorageProfileFileCSIDriver() to populate field FileCSIDriver") @@ -8704,7 +9044,7 @@ func (profile *ManagedClusterStorageProfile) AssignProperties_To_ManagedClusterS // SnapshotController if profile.SnapshotController != nil { - var snapshotController storage.ManagedClusterStorageProfileSnapshotController + var snapshotController v20231001s.ManagedClusterStorageProfileSnapshotController err := profile.SnapshotController.AssignProperties_To_ManagedClusterStorageProfileSnapshotController(&snapshotController) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterStorageProfileSnapshotController() to populate field SnapshotController") @@ -8735,7 +9075,6 @@ func (profile *ManagedClusterStorageProfile) AssignProperties_To_ManagedClusterS } // Storage version of v1api20231102preview.ManagedClusterStorageProfile_STATUS -// Storage profile for the container service cluster. type ManagedClusterStorageProfile_STATUS struct { BlobCSIDriver *ManagedClusterStorageProfileBlobCSIDriver_STATUS `json:"blobCSIDriver,omitempty"` DiskCSIDriver *ManagedClusterStorageProfileDiskCSIDriver_STATUS `json:"diskCSIDriver,omitempty"` @@ -8745,7 +9084,7 @@ type ManagedClusterStorageProfile_STATUS struct { } // AssignProperties_From_ManagedClusterStorageProfile_STATUS populates our ManagedClusterStorageProfile_STATUS from the provided source ManagedClusterStorageProfile_STATUS -func (profile *ManagedClusterStorageProfile_STATUS) AssignProperties_From_ManagedClusterStorageProfile_STATUS(source *storage.ManagedClusterStorageProfile_STATUS) error { +func (profile *ManagedClusterStorageProfile_STATUS) AssignProperties_From_ManagedClusterStorageProfile_STATUS(source *v20231001s.ManagedClusterStorageProfile_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -8818,13 +9157,13 @@ func (profile *ManagedClusterStorageProfile_STATUS) AssignProperties_From_Manage } // AssignProperties_To_ManagedClusterStorageProfile_STATUS populates the provided destination ManagedClusterStorageProfile_STATUS from our ManagedClusterStorageProfile_STATUS -func (profile *ManagedClusterStorageProfile_STATUS) AssignProperties_To_ManagedClusterStorageProfile_STATUS(destination *storage.ManagedClusterStorageProfile_STATUS) error { +func (profile *ManagedClusterStorageProfile_STATUS) AssignProperties_To_ManagedClusterStorageProfile_STATUS(destination *v20231001s.ManagedClusterStorageProfile_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) // BlobCSIDriver if profile.BlobCSIDriver != nil { - var blobCSIDriver storage.ManagedClusterStorageProfileBlobCSIDriver_STATUS + var blobCSIDriver v20231001s.ManagedClusterStorageProfileBlobCSIDriver_STATUS err := profile.BlobCSIDriver.AssignProperties_To_ManagedClusterStorageProfileBlobCSIDriver_STATUS(&blobCSIDriver) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterStorageProfileBlobCSIDriver_STATUS() to populate field BlobCSIDriver") @@ -8836,7 +9175,7 @@ func (profile *ManagedClusterStorageProfile_STATUS) AssignProperties_To_ManagedC // DiskCSIDriver if profile.DiskCSIDriver != nil { - var diskCSIDriver storage.ManagedClusterStorageProfileDiskCSIDriver_STATUS + var diskCSIDriver v20231001s.ManagedClusterStorageProfileDiskCSIDriver_STATUS err := profile.DiskCSIDriver.AssignProperties_To_ManagedClusterStorageProfileDiskCSIDriver_STATUS(&diskCSIDriver) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterStorageProfileDiskCSIDriver_STATUS() to populate field DiskCSIDriver") @@ -8848,7 +9187,7 @@ func (profile *ManagedClusterStorageProfile_STATUS) AssignProperties_To_ManagedC // FileCSIDriver if profile.FileCSIDriver != nil { - var fileCSIDriver storage.ManagedClusterStorageProfileFileCSIDriver_STATUS + var fileCSIDriver v20231001s.ManagedClusterStorageProfileFileCSIDriver_STATUS err := profile.FileCSIDriver.AssignProperties_To_ManagedClusterStorageProfileFileCSIDriver_STATUS(&fileCSIDriver) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterStorageProfileFileCSIDriver_STATUS() to populate field FileCSIDriver") @@ -8860,7 +9199,7 @@ func (profile *ManagedClusterStorageProfile_STATUS) AssignProperties_To_ManagedC // SnapshotController if profile.SnapshotController != nil { - var snapshotController storage.ManagedClusterStorageProfileSnapshotController_STATUS + var snapshotController v20231001s.ManagedClusterStorageProfileSnapshotController_STATUS err := profile.SnapshotController.AssignProperties_To_ManagedClusterStorageProfileSnapshotController_STATUS(&snapshotController) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterStorageProfileSnapshotController_STATUS() to populate field SnapshotController") @@ -8891,7 +9230,6 @@ func (profile *ManagedClusterStorageProfile_STATUS) AssignProperties_To_ManagedC } // Storage version of v1api20231102preview.ManagedClusterWindowsProfile -// Profile for Windows VMs in the managed cluster. type ManagedClusterWindowsProfile struct { AdminPassword *genruntime.SecretReference `json:"adminPassword,omitempty"` AdminUsername *string `json:"adminUsername,omitempty"` @@ -8902,7 +9240,7 @@ type ManagedClusterWindowsProfile struct { } // AssignProperties_From_ManagedClusterWindowsProfile populates our ManagedClusterWindowsProfile from the provided source ManagedClusterWindowsProfile -func (profile *ManagedClusterWindowsProfile) AssignProperties_From_ManagedClusterWindowsProfile(source *storage.ManagedClusterWindowsProfile) error { +func (profile *ManagedClusterWindowsProfile) AssignProperties_From_ManagedClusterWindowsProfile(source *v20231001s.ManagedClusterWindowsProfile) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -8961,7 +9299,7 @@ func (profile *ManagedClusterWindowsProfile) AssignProperties_From_ManagedCluste } // AssignProperties_To_ManagedClusterWindowsProfile populates the provided destination ManagedClusterWindowsProfile from our ManagedClusterWindowsProfile -func (profile *ManagedClusterWindowsProfile) AssignProperties_To_ManagedClusterWindowsProfile(destination *storage.ManagedClusterWindowsProfile) error { +func (profile *ManagedClusterWindowsProfile) AssignProperties_To_ManagedClusterWindowsProfile(destination *v20231001s.ManagedClusterWindowsProfile) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) @@ -8986,7 +9324,7 @@ func (profile *ManagedClusterWindowsProfile) AssignProperties_To_ManagedClusterW // GmsaProfile if profile.GmsaProfile != nil { - var gmsaProfile storage.WindowsGmsaProfile + var gmsaProfile v20231001s.WindowsGmsaProfile err := profile.GmsaProfile.AssignProperties_To_WindowsGmsaProfile(&gmsaProfile) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_WindowsGmsaProfile() to populate field GmsaProfile") @@ -9020,7 +9358,6 @@ func (profile *ManagedClusterWindowsProfile) AssignProperties_To_ManagedClusterW } // Storage version of v1api20231102preview.ManagedClusterWindowsProfile_STATUS -// Profile for Windows VMs in the managed cluster. type ManagedClusterWindowsProfile_STATUS struct { AdminUsername *string `json:"adminUsername,omitempty"` EnableCSIProxy *bool `json:"enableCSIProxy,omitempty"` @@ -9030,7 +9367,7 @@ type ManagedClusterWindowsProfile_STATUS struct { } // AssignProperties_From_ManagedClusterWindowsProfile_STATUS populates our ManagedClusterWindowsProfile_STATUS from the provided source ManagedClusterWindowsProfile_STATUS -func (profile *ManagedClusterWindowsProfile_STATUS) AssignProperties_From_ManagedClusterWindowsProfile_STATUS(source *storage.ManagedClusterWindowsProfile_STATUS) error { +func (profile *ManagedClusterWindowsProfile_STATUS) AssignProperties_From_ManagedClusterWindowsProfile_STATUS(source *v20231001s.ManagedClusterWindowsProfile_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -9081,7 +9418,7 @@ func (profile *ManagedClusterWindowsProfile_STATUS) AssignProperties_From_Manage } // AssignProperties_To_ManagedClusterWindowsProfile_STATUS populates the provided destination ManagedClusterWindowsProfile_STATUS from our ManagedClusterWindowsProfile_STATUS -func (profile *ManagedClusterWindowsProfile_STATUS) AssignProperties_To_ManagedClusterWindowsProfile_STATUS(destination *storage.ManagedClusterWindowsProfile_STATUS) error { +func (profile *ManagedClusterWindowsProfile_STATUS) AssignProperties_To_ManagedClusterWindowsProfile_STATUS(destination *v20231001s.ManagedClusterWindowsProfile_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) @@ -9098,7 +9435,7 @@ func (profile *ManagedClusterWindowsProfile_STATUS) AssignProperties_To_ManagedC // GmsaProfile if profile.GmsaProfile != nil { - var gmsaProfile storage.WindowsGmsaProfile_STATUS + var gmsaProfile v20231001s.WindowsGmsaProfile_STATUS err := profile.GmsaProfile.AssignProperties_To_WindowsGmsaProfile_STATUS(&gmsaProfile) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_WindowsGmsaProfile_STATUS() to populate field GmsaProfile") @@ -9132,7 +9469,6 @@ func (profile *ManagedClusterWindowsProfile_STATUS) AssignProperties_To_ManagedC } // Storage version of v1api20231102preview.ManagedClusterWorkloadAutoScalerProfile -// Workload Auto-scaler profile for the managed cluster. type ManagedClusterWorkloadAutoScalerProfile struct { Keda *ManagedClusterWorkloadAutoScalerProfileKeda `json:"keda,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` @@ -9140,7 +9476,7 @@ type ManagedClusterWorkloadAutoScalerProfile struct { } // AssignProperties_From_ManagedClusterWorkloadAutoScalerProfile populates our ManagedClusterWorkloadAutoScalerProfile from the provided source ManagedClusterWorkloadAutoScalerProfile -func (profile *ManagedClusterWorkloadAutoScalerProfile) AssignProperties_From_ManagedClusterWorkloadAutoScalerProfile(source *storage.ManagedClusterWorkloadAutoScalerProfile) error { +func (profile *ManagedClusterWorkloadAutoScalerProfile) AssignProperties_From_ManagedClusterWorkloadAutoScalerProfile(source *v20231001s.ManagedClusterWorkloadAutoScalerProfile) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -9189,13 +9525,13 @@ func (profile *ManagedClusterWorkloadAutoScalerProfile) AssignProperties_From_Ma } // AssignProperties_To_ManagedClusterWorkloadAutoScalerProfile populates the provided destination ManagedClusterWorkloadAutoScalerProfile from our ManagedClusterWorkloadAutoScalerProfile -func (profile *ManagedClusterWorkloadAutoScalerProfile) AssignProperties_To_ManagedClusterWorkloadAutoScalerProfile(destination *storage.ManagedClusterWorkloadAutoScalerProfile) error { +func (profile *ManagedClusterWorkloadAutoScalerProfile) AssignProperties_To_ManagedClusterWorkloadAutoScalerProfile(destination *v20231001s.ManagedClusterWorkloadAutoScalerProfile) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) // Keda if profile.Keda != nil { - var kedum storage.ManagedClusterWorkloadAutoScalerProfileKeda + var kedum v20231001s.ManagedClusterWorkloadAutoScalerProfileKeda err := profile.Keda.AssignProperties_To_ManagedClusterWorkloadAutoScalerProfileKeda(&kedum) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterWorkloadAutoScalerProfileKeda() to populate field Keda") @@ -9207,7 +9543,7 @@ func (profile *ManagedClusterWorkloadAutoScalerProfile) AssignProperties_To_Mana // VerticalPodAutoscaler if profile.VerticalPodAutoscaler != nil { - var verticalPodAutoscaler storage.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler + var verticalPodAutoscaler v20231001s.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler err := profile.VerticalPodAutoscaler.AssignProperties_To_ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler(&verticalPodAutoscaler) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler() to populate field VerticalPodAutoscaler") @@ -9238,7 +9574,6 @@ func (profile *ManagedClusterWorkloadAutoScalerProfile) AssignProperties_To_Mana } // Storage version of v1api20231102preview.ManagedClusterWorkloadAutoScalerProfile_STATUS -// Workload Auto-scaler profile for the managed cluster. type ManagedClusterWorkloadAutoScalerProfile_STATUS struct { Keda *ManagedClusterWorkloadAutoScalerProfileKeda_STATUS `json:"keda,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` @@ -9246,7 +9581,7 @@ type ManagedClusterWorkloadAutoScalerProfile_STATUS struct { } // AssignProperties_From_ManagedClusterWorkloadAutoScalerProfile_STATUS populates our ManagedClusterWorkloadAutoScalerProfile_STATUS from the provided source ManagedClusterWorkloadAutoScalerProfile_STATUS -func (profile *ManagedClusterWorkloadAutoScalerProfile_STATUS) AssignProperties_From_ManagedClusterWorkloadAutoScalerProfile_STATUS(source *storage.ManagedClusterWorkloadAutoScalerProfile_STATUS) error { +func (profile *ManagedClusterWorkloadAutoScalerProfile_STATUS) AssignProperties_From_ManagedClusterWorkloadAutoScalerProfile_STATUS(source *v20231001s.ManagedClusterWorkloadAutoScalerProfile_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -9295,13 +9630,13 @@ func (profile *ManagedClusterWorkloadAutoScalerProfile_STATUS) AssignProperties_ } // AssignProperties_To_ManagedClusterWorkloadAutoScalerProfile_STATUS populates the provided destination ManagedClusterWorkloadAutoScalerProfile_STATUS from our ManagedClusterWorkloadAutoScalerProfile_STATUS -func (profile *ManagedClusterWorkloadAutoScalerProfile_STATUS) AssignProperties_To_ManagedClusterWorkloadAutoScalerProfile_STATUS(destination *storage.ManagedClusterWorkloadAutoScalerProfile_STATUS) error { +func (profile *ManagedClusterWorkloadAutoScalerProfile_STATUS) AssignProperties_To_ManagedClusterWorkloadAutoScalerProfile_STATUS(destination *v20231001s.ManagedClusterWorkloadAutoScalerProfile_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) // Keda if profile.Keda != nil { - var kedum storage.ManagedClusterWorkloadAutoScalerProfileKeda_STATUS + var kedum v20231001s.ManagedClusterWorkloadAutoScalerProfileKeda_STATUS err := profile.Keda.AssignProperties_To_ManagedClusterWorkloadAutoScalerProfileKeda_STATUS(&kedum) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterWorkloadAutoScalerProfileKeda_STATUS() to populate field Keda") @@ -9313,7 +9648,7 @@ func (profile *ManagedClusterWorkloadAutoScalerProfile_STATUS) AssignProperties_ // VerticalPodAutoscaler if profile.VerticalPodAutoscaler != nil { - var verticalPodAutoscaler storage.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS + var verticalPodAutoscaler v20231001s.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS err := profile.VerticalPodAutoscaler.AssignProperties_To_ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS(&verticalPodAutoscaler) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS() to populate field VerticalPodAutoscaler") @@ -9344,14 +9679,13 @@ func (profile *ManagedClusterWorkloadAutoScalerProfile_STATUS) AssignProperties_ } // Storage version of v1api20231102preview.PowerState_STATUS -// Describes the Power State of the cluster type PowerState_STATUS struct { Code *string `json:"code,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` } // AssignProperties_From_PowerState_STATUS populates our PowerState_STATUS from the provided source PowerState_STATUS -func (state *PowerState_STATUS) AssignProperties_From_PowerState_STATUS(source *storage.PowerState_STATUS) error { +func (state *PowerState_STATUS) AssignProperties_From_PowerState_STATUS(source *v20231001s.PowerState_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -9379,7 +9713,7 @@ func (state *PowerState_STATUS) AssignProperties_From_PowerState_STATUS(source * } // AssignProperties_To_PowerState_STATUS populates the provided destination PowerState_STATUS from our PowerState_STATUS -func (state *PowerState_STATUS) AssignProperties_To_PowerState_STATUS(destination *storage.PowerState_STATUS) error { +func (state *PowerState_STATUS) AssignProperties_To_PowerState_STATUS(destination *v20231001s.PowerState_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(state.PropertyBag) @@ -9407,20 +9741,17 @@ func (state *PowerState_STATUS) AssignProperties_To_PowerState_STATUS(destinatio } // Storage version of v1api20231102preview.PrivateLinkResource -// A private link resource type PrivateLinkResource struct { - GroupId *string `json:"groupId,omitempty"` - Name *string `json:"name,omitempty"` - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` - - // Reference: The ID of the private link resource. + GroupId *string `json:"groupId,omitempty"` + Name *string `json:"name,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` Reference *genruntime.ResourceReference `armReference:"Id" json:"reference,omitempty"` RequiredMembers []string `json:"requiredMembers,omitempty"` Type *string `json:"type,omitempty"` } // AssignProperties_From_PrivateLinkResource populates our PrivateLinkResource from the provided source PrivateLinkResource -func (resource *PrivateLinkResource) AssignProperties_From_PrivateLinkResource(source *storage.PrivateLinkResource) error { +func (resource *PrivateLinkResource) AssignProperties_From_PrivateLinkResource(source *v20231001s.PrivateLinkResource) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -9465,7 +9796,7 @@ func (resource *PrivateLinkResource) AssignProperties_From_PrivateLinkResource(s } // AssignProperties_To_PrivateLinkResource populates the provided destination PrivateLinkResource from our PrivateLinkResource -func (resource *PrivateLinkResource) AssignProperties_To_PrivateLinkResource(destination *storage.PrivateLinkResource) error { +func (resource *PrivateLinkResource) AssignProperties_To_PrivateLinkResource(destination *v20231001s.PrivateLinkResource) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(resource.PropertyBag) @@ -9510,7 +9841,6 @@ func (resource *PrivateLinkResource) AssignProperties_To_PrivateLinkResource(des } // Storage version of v1api20231102preview.PrivateLinkResource_STATUS -// A private link resource type PrivateLinkResource_STATUS struct { GroupId *string `json:"groupId,omitempty"` Id *string `json:"id,omitempty"` @@ -9522,7 +9852,7 @@ type PrivateLinkResource_STATUS struct { } // AssignProperties_From_PrivateLinkResource_STATUS populates our PrivateLinkResource_STATUS from the provided source PrivateLinkResource_STATUS -func (resource *PrivateLinkResource_STATUS) AssignProperties_From_PrivateLinkResource_STATUS(source *storage.PrivateLinkResource_STATUS) error { +func (resource *PrivateLinkResource_STATUS) AssignProperties_From_PrivateLinkResource_STATUS(source *v20231001s.PrivateLinkResource_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -9565,7 +9895,7 @@ func (resource *PrivateLinkResource_STATUS) AssignProperties_From_PrivateLinkRes } // AssignProperties_To_PrivateLinkResource_STATUS populates the provided destination PrivateLinkResource_STATUS from our PrivateLinkResource_STATUS -func (resource *PrivateLinkResource_STATUS) AssignProperties_To_PrivateLinkResource_STATUS(destination *storage.PrivateLinkResource_STATUS) error { +func (resource *PrivateLinkResource_STATUS) AssignProperties_To_PrivateLinkResource_STATUS(destination *v20231001s.PrivateLinkResource_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(resource.PropertyBag) @@ -9608,7 +9938,6 @@ func (resource *PrivateLinkResource_STATUS) AssignProperties_To_PrivateLinkResou } // Storage version of v1api20231102preview.SafeguardsProfile -// The Safeguards profile. type SafeguardsProfile struct { ExcludedNamespaces []string `json:"excludedNamespaces,omitempty"` Level *string `json:"level,omitempty"` @@ -9617,7 +9946,6 @@ type SafeguardsProfile struct { } // Storage version of v1api20231102preview.SafeguardsProfile_STATUS -// The Safeguards profile. type SafeguardsProfile_STATUS struct { ExcludedNamespaces []string `json:"excludedNamespaces,omitempty"` Level *string `json:"level,omitempty"` @@ -9627,7 +9955,6 @@ type SafeguardsProfile_STATUS struct { } // Storage version of v1api20231102preview.ServiceMeshProfile -// Service mesh profile for a managed cluster. type ServiceMeshProfile struct { Istio *IstioServiceMesh `json:"istio,omitempty"` Mode *string `json:"mode,omitempty"` @@ -9635,7 +9962,7 @@ type ServiceMeshProfile struct { } // AssignProperties_From_ServiceMeshProfile populates our ServiceMeshProfile from the provided source ServiceMeshProfile -func (profile *ServiceMeshProfile) AssignProperties_From_ServiceMeshProfile(source *storage.ServiceMeshProfile) error { +func (profile *ServiceMeshProfile) AssignProperties_From_ServiceMeshProfile(source *v20231001s.ServiceMeshProfile) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -9675,13 +10002,13 @@ func (profile *ServiceMeshProfile) AssignProperties_From_ServiceMeshProfile(sour } // AssignProperties_To_ServiceMeshProfile populates the provided destination ServiceMeshProfile from our ServiceMeshProfile -func (profile *ServiceMeshProfile) AssignProperties_To_ServiceMeshProfile(destination *storage.ServiceMeshProfile) error { +func (profile *ServiceMeshProfile) AssignProperties_To_ServiceMeshProfile(destination *v20231001s.ServiceMeshProfile) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) // Istio if profile.Istio != nil { - var istio storage.IstioServiceMesh + var istio v20231001s.IstioServiceMesh err := profile.Istio.AssignProperties_To_IstioServiceMesh(&istio) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_IstioServiceMesh() to populate field Istio") @@ -9715,7 +10042,6 @@ func (profile *ServiceMeshProfile) AssignProperties_To_ServiceMeshProfile(destin } // Storage version of v1api20231102preview.ServiceMeshProfile_STATUS -// Service mesh profile for a managed cluster. type ServiceMeshProfile_STATUS struct { Istio *IstioServiceMesh_STATUS `json:"istio,omitempty"` Mode *string `json:"mode,omitempty"` @@ -9723,7 +10049,7 @@ type ServiceMeshProfile_STATUS struct { } // AssignProperties_From_ServiceMeshProfile_STATUS populates our ServiceMeshProfile_STATUS from the provided source ServiceMeshProfile_STATUS -func (profile *ServiceMeshProfile_STATUS) AssignProperties_From_ServiceMeshProfile_STATUS(source *storage.ServiceMeshProfile_STATUS) error { +func (profile *ServiceMeshProfile_STATUS) AssignProperties_From_ServiceMeshProfile_STATUS(source *v20231001s.ServiceMeshProfile_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -9763,13 +10089,13 @@ func (profile *ServiceMeshProfile_STATUS) AssignProperties_From_ServiceMeshProfi } // AssignProperties_To_ServiceMeshProfile_STATUS populates the provided destination ServiceMeshProfile_STATUS from our ServiceMeshProfile_STATUS -func (profile *ServiceMeshProfile_STATUS) AssignProperties_To_ServiceMeshProfile_STATUS(destination *storage.ServiceMeshProfile_STATUS) error { +func (profile *ServiceMeshProfile_STATUS) AssignProperties_To_ServiceMeshProfile_STATUS(destination *v20231001s.ServiceMeshProfile_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) // Istio if profile.Istio != nil { - var istio storage.IstioServiceMesh_STATUS + var istio v20231001s.IstioServiceMesh_STATUS err := profile.Istio.AssignProperties_To_IstioServiceMesh_STATUS(&istio) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_IstioServiceMesh_STATUS() to populate field Istio") @@ -9803,7 +10129,6 @@ func (profile *ServiceMeshProfile_STATUS) AssignProperties_To_ServiceMeshProfile } // Storage version of v1api20231102preview.SystemData_STATUS -// Metadata pertaining to creation and last modification of the resource. type SystemData_STATUS struct { CreatedAt *string `json:"createdAt,omitempty"` CreatedBy *string `json:"createdBy,omitempty"` @@ -9815,7 +10140,7 @@ type SystemData_STATUS struct { } // AssignProperties_From_SystemData_STATUS populates our SystemData_STATUS from the provided source SystemData_STATUS -func (data *SystemData_STATUS) AssignProperties_From_SystemData_STATUS(source *storage.SystemData_STATUS) error { +func (data *SystemData_STATUS) AssignProperties_From_SystemData_STATUS(source *v20231001s.SystemData_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -9858,7 +10183,7 @@ func (data *SystemData_STATUS) AssignProperties_From_SystemData_STATUS(source *s } // AssignProperties_To_SystemData_STATUS populates the provided destination SystemData_STATUS from our SystemData_STATUS -func (data *SystemData_STATUS) AssignProperties_To_SystemData_STATUS(destination *storage.SystemData_STATUS) error { +func (data *SystemData_STATUS) AssignProperties_To_SystemData_STATUS(destination *v20231001s.SystemData_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(data.PropertyBag) @@ -9901,18 +10226,15 @@ func (data *SystemData_STATUS) AssignProperties_To_SystemData_STATUS(destination } // Storage version of v1api20231102preview.UserAssignedIdentity -// Details about a user assigned identity. type UserAssignedIdentity struct { - ClientId *string `json:"clientId,omitempty"` - ObjectId *string `json:"objectId,omitempty"` - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` - - // ResourceReference: The resource ID of the user assigned identity. + ClientId *string `json:"clientId,omitempty"` + ObjectId *string `json:"objectId,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` ResourceReference *genruntime.ResourceReference `armReference:"ResourceId" json:"resourceReference,omitempty"` } // AssignProperties_From_UserAssignedIdentity populates our UserAssignedIdentity from the provided source UserAssignedIdentity -func (identity *UserAssignedIdentity) AssignProperties_From_UserAssignedIdentity(source *storage.UserAssignedIdentity) error { +func (identity *UserAssignedIdentity) AssignProperties_From_UserAssignedIdentity(source *v20231001s.UserAssignedIdentity) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -9951,7 +10273,7 @@ func (identity *UserAssignedIdentity) AssignProperties_From_UserAssignedIdentity } // AssignProperties_To_UserAssignedIdentity populates the provided destination UserAssignedIdentity from our UserAssignedIdentity -func (identity *UserAssignedIdentity) AssignProperties_To_UserAssignedIdentity(destination *storage.UserAssignedIdentity) error { +func (identity *UserAssignedIdentity) AssignProperties_To_UserAssignedIdentity(destination *v20231001s.UserAssignedIdentity) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(identity.PropertyBag) @@ -9990,7 +10312,6 @@ func (identity *UserAssignedIdentity) AssignProperties_To_UserAssignedIdentity(d } // Storage version of v1api20231102preview.UserAssignedIdentity_STATUS -// Details about a user assigned identity. type UserAssignedIdentity_STATUS struct { ClientId *string `json:"clientId,omitempty"` ObjectId *string `json:"objectId,omitempty"` @@ -9999,7 +10320,7 @@ type UserAssignedIdentity_STATUS struct { } // AssignProperties_From_UserAssignedIdentity_STATUS populates our UserAssignedIdentity_STATUS from the provided source UserAssignedIdentity_STATUS -func (identity *UserAssignedIdentity_STATUS) AssignProperties_From_UserAssignedIdentity_STATUS(source *storage.UserAssignedIdentity_STATUS) error { +func (identity *UserAssignedIdentity_STATUS) AssignProperties_From_UserAssignedIdentity_STATUS(source *v20231001s.UserAssignedIdentity_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -10033,7 +10354,7 @@ func (identity *UserAssignedIdentity_STATUS) AssignProperties_From_UserAssignedI } // AssignProperties_To_UserAssignedIdentity_STATUS populates the provided destination UserAssignedIdentity_STATUS from our UserAssignedIdentity_STATUS -func (identity *UserAssignedIdentity_STATUS) AssignProperties_To_UserAssignedIdentity_STATUS(destination *storage.UserAssignedIdentity_STATUS) error { +func (identity *UserAssignedIdentity_STATUS) AssignProperties_To_UserAssignedIdentity_STATUS(destination *v20231001s.UserAssignedIdentity_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(identity.PropertyBag) @@ -10067,285 +10388,311 @@ func (identity *UserAssignedIdentity_STATUS) AssignProperties_To_UserAssignedIde } type augmentConversionForClusterUpgradeSettings interface { - AssignPropertiesFrom(src *storage.ClusterUpgradeSettings) error - AssignPropertiesTo(dst *storage.ClusterUpgradeSettings) error + AssignPropertiesFrom(src *v20231001s.ClusterUpgradeSettings) error + AssignPropertiesTo(dst *v20231001s.ClusterUpgradeSettings) error } type augmentConversionForClusterUpgradeSettings_STATUS interface { - AssignPropertiesFrom(src *storage.ClusterUpgradeSettings_STATUS) error - AssignPropertiesTo(dst *storage.ClusterUpgradeSettings_STATUS) error + AssignPropertiesFrom(src *v20231001s.ClusterUpgradeSettings_STATUS) error + AssignPropertiesTo(dst *v20231001s.ClusterUpgradeSettings_STATUS) error } type augmentConversionForContainerServiceLinuxProfile interface { - AssignPropertiesFrom(src *storage.ContainerServiceLinuxProfile) error - AssignPropertiesTo(dst *storage.ContainerServiceLinuxProfile) error + AssignPropertiesFrom(src *v20231001s.ContainerServiceLinuxProfile) error + AssignPropertiesTo(dst *v20231001s.ContainerServiceLinuxProfile) error } type augmentConversionForContainerServiceLinuxProfile_STATUS interface { - AssignPropertiesFrom(src *storage.ContainerServiceLinuxProfile_STATUS) error - AssignPropertiesTo(dst *storage.ContainerServiceLinuxProfile_STATUS) error + AssignPropertiesFrom(src *v20231001s.ContainerServiceLinuxProfile_STATUS) error + AssignPropertiesTo(dst *v20231001s.ContainerServiceLinuxProfile_STATUS) error } type augmentConversionForContainerServiceNetworkProfile interface { - AssignPropertiesFrom(src *storage.ContainerServiceNetworkProfile) error - AssignPropertiesTo(dst *storage.ContainerServiceNetworkProfile) error + AssignPropertiesFrom(src *v20231001s.ContainerServiceNetworkProfile) error + AssignPropertiesTo(dst *v20231001s.ContainerServiceNetworkProfile) error } type augmentConversionForContainerServiceNetworkProfile_STATUS interface { - AssignPropertiesFrom(src *storage.ContainerServiceNetworkProfile_STATUS) error - AssignPropertiesTo(dst *storage.ContainerServiceNetworkProfile_STATUS) error + AssignPropertiesFrom(src *v20231001s.ContainerServiceNetworkProfile_STATUS) error + AssignPropertiesTo(dst *v20231001s.ContainerServiceNetworkProfile_STATUS) error } type augmentConversionForCreationData interface { - AssignPropertiesFrom(src *storage.CreationData) error - AssignPropertiesTo(dst *storage.CreationData) error + AssignPropertiesFrom(src *v20231001s.CreationData) error + AssignPropertiesTo(dst *v20231001s.CreationData) error } type augmentConversionForCreationData_STATUS interface { - AssignPropertiesFrom(src *storage.CreationData_STATUS) error - AssignPropertiesTo(dst *storage.CreationData_STATUS) error + AssignPropertiesFrom(src *v20231001s.CreationData_STATUS) error + AssignPropertiesTo(dst *v20231001s.CreationData_STATUS) error } type augmentConversionForExtendedLocation interface { - AssignPropertiesFrom(src *storage.ExtendedLocation) error - AssignPropertiesTo(dst *storage.ExtendedLocation) error + AssignPropertiesFrom(src *v20231001s.ExtendedLocation) error + AssignPropertiesTo(dst *v20231001s.ExtendedLocation) error } type augmentConversionForExtendedLocation_STATUS interface { - AssignPropertiesFrom(src *storage.ExtendedLocation_STATUS) error - AssignPropertiesTo(dst *storage.ExtendedLocation_STATUS) error + AssignPropertiesFrom(src *v20231001s.ExtendedLocation_STATUS) error + AssignPropertiesTo(dst *v20231001s.ExtendedLocation_STATUS) error } type augmentConversionForManagedClusterAADProfile interface { - AssignPropertiesFrom(src *storage.ManagedClusterAADProfile) error - AssignPropertiesTo(dst *storage.ManagedClusterAADProfile) error + AssignPropertiesFrom(src *v20231001s.ManagedClusterAADProfile) error + AssignPropertiesTo(dst *v20231001s.ManagedClusterAADProfile) error } type augmentConversionForManagedClusterAADProfile_STATUS interface { - AssignPropertiesFrom(src *storage.ManagedClusterAADProfile_STATUS) error - AssignPropertiesTo(dst *storage.ManagedClusterAADProfile_STATUS) error + AssignPropertiesFrom(src *v20231001s.ManagedClusterAADProfile_STATUS) error + AssignPropertiesTo(dst *v20231001s.ManagedClusterAADProfile_STATUS) error } type augmentConversionForManagedClusterAddonProfile interface { - AssignPropertiesFrom(src *storage.ManagedClusterAddonProfile) error - AssignPropertiesTo(dst *storage.ManagedClusterAddonProfile) error + AssignPropertiesFrom(src *v20231001s.ManagedClusterAddonProfile) error + AssignPropertiesTo(dst *v20231001s.ManagedClusterAddonProfile) error } type augmentConversionForManagedClusterAddonProfile_STATUS interface { - AssignPropertiesFrom(src *storage.ManagedClusterAddonProfile_STATUS) error - AssignPropertiesTo(dst *storage.ManagedClusterAddonProfile_STATUS) error + AssignPropertiesFrom(src *v20231001s.ManagedClusterAddonProfile_STATUS) error + AssignPropertiesTo(dst *v20231001s.ManagedClusterAddonProfile_STATUS) error } type augmentConversionForManagedClusterAgentPoolProfile interface { - AssignPropertiesFrom(src *storage.ManagedClusterAgentPoolProfile) error - AssignPropertiesTo(dst *storage.ManagedClusterAgentPoolProfile) error + AssignPropertiesFrom(src *v20231001s.ManagedClusterAgentPoolProfile) error + AssignPropertiesTo(dst *v20231001s.ManagedClusterAgentPoolProfile) error } type augmentConversionForManagedClusterAgentPoolProfile_STATUS interface { - AssignPropertiesFrom(src *storage.ManagedClusterAgentPoolProfile_STATUS) error - AssignPropertiesTo(dst *storage.ManagedClusterAgentPoolProfile_STATUS) error + AssignPropertiesFrom(src *v20231001s.ManagedClusterAgentPoolProfile_STATUS) error + AssignPropertiesTo(dst *v20231001s.ManagedClusterAgentPoolProfile_STATUS) error } type augmentConversionForManagedClusterAPIServerAccessProfile interface { - AssignPropertiesFrom(src *storage.ManagedClusterAPIServerAccessProfile) error - AssignPropertiesTo(dst *storage.ManagedClusterAPIServerAccessProfile) error + AssignPropertiesFrom(src *v20231001s.ManagedClusterAPIServerAccessProfile) error + AssignPropertiesTo(dst *v20231001s.ManagedClusterAPIServerAccessProfile) error } type augmentConversionForManagedClusterAPIServerAccessProfile_STATUS interface { - AssignPropertiesFrom(src *storage.ManagedClusterAPIServerAccessProfile_STATUS) error - AssignPropertiesTo(dst *storage.ManagedClusterAPIServerAccessProfile_STATUS) error + AssignPropertiesFrom(src *v20231001s.ManagedClusterAPIServerAccessProfile_STATUS) error + AssignPropertiesTo(dst *v20231001s.ManagedClusterAPIServerAccessProfile_STATUS) error } type augmentConversionForManagedClusterAutoUpgradeProfile interface { - AssignPropertiesFrom(src *storage.ManagedClusterAutoUpgradeProfile) error - AssignPropertiesTo(dst *storage.ManagedClusterAutoUpgradeProfile) error + AssignPropertiesFrom(src *v20231001s.ManagedClusterAutoUpgradeProfile) error + AssignPropertiesTo(dst *v20231001s.ManagedClusterAutoUpgradeProfile) error } type augmentConversionForManagedClusterAutoUpgradeProfile_STATUS interface { - AssignPropertiesFrom(src *storage.ManagedClusterAutoUpgradeProfile_STATUS) error - AssignPropertiesTo(dst *storage.ManagedClusterAutoUpgradeProfile_STATUS) error + AssignPropertiesFrom(src *v20231001s.ManagedClusterAutoUpgradeProfile_STATUS) error + AssignPropertiesTo(dst *v20231001s.ManagedClusterAutoUpgradeProfile_STATUS) error } type augmentConversionForManagedClusterAzureMonitorProfile interface { - AssignPropertiesFrom(src *storage.ManagedClusterAzureMonitorProfile) error - AssignPropertiesTo(dst *storage.ManagedClusterAzureMonitorProfile) error + AssignPropertiesFrom(src *v20231001s.ManagedClusterAzureMonitorProfile) error + AssignPropertiesTo(dst *v20231001s.ManagedClusterAzureMonitorProfile) error } type augmentConversionForManagedClusterAzureMonitorProfile_STATUS interface { - AssignPropertiesFrom(src *storage.ManagedClusterAzureMonitorProfile_STATUS) error - AssignPropertiesTo(dst *storage.ManagedClusterAzureMonitorProfile_STATUS) error + AssignPropertiesFrom(src *v20231001s.ManagedClusterAzureMonitorProfile_STATUS) error + AssignPropertiesTo(dst *v20231001s.ManagedClusterAzureMonitorProfile_STATUS) error } type augmentConversionForManagedClusterHTTPProxyConfig interface { - AssignPropertiesFrom(src *storage.ManagedClusterHTTPProxyConfig) error - AssignPropertiesTo(dst *storage.ManagedClusterHTTPProxyConfig) error + AssignPropertiesFrom(src *v20231001s.ManagedClusterHTTPProxyConfig) error + AssignPropertiesTo(dst *v20231001s.ManagedClusterHTTPProxyConfig) error } type augmentConversionForManagedClusterHTTPProxyConfig_STATUS interface { - AssignPropertiesFrom(src *storage.ManagedClusterHTTPProxyConfig_STATUS) error - AssignPropertiesTo(dst *storage.ManagedClusterHTTPProxyConfig_STATUS) error + AssignPropertiesFrom(src *v20231001s.ManagedClusterHTTPProxyConfig_STATUS) error + AssignPropertiesTo(dst *v20231001s.ManagedClusterHTTPProxyConfig_STATUS) error } type augmentConversionForManagedClusterIdentity interface { - AssignPropertiesFrom(src *storage.ManagedClusterIdentity) error - AssignPropertiesTo(dst *storage.ManagedClusterIdentity) error + AssignPropertiesFrom(src *v20231001s.ManagedClusterIdentity) error + AssignPropertiesTo(dst *v20231001s.ManagedClusterIdentity) error } type augmentConversionForManagedClusterIdentity_STATUS interface { - AssignPropertiesFrom(src *storage.ManagedClusterIdentity_STATUS) error - AssignPropertiesTo(dst *storage.ManagedClusterIdentity_STATUS) error + AssignPropertiesFrom(src *v20231001s.ManagedClusterIdentity_STATUS) error + AssignPropertiesTo(dst *v20231001s.ManagedClusterIdentity_STATUS) error +} + +type augmentConversionForManagedClusterIngressProfile interface { + AssignPropertiesFrom(src *v20240901s.ManagedClusterIngressProfile) error + AssignPropertiesTo(dst *v20240901s.ManagedClusterIngressProfile) error +} + +type augmentConversionForManagedClusterIngressProfile_STATUS interface { + AssignPropertiesFrom(src *v20240901s.ManagedClusterIngressProfile_STATUS) error + AssignPropertiesTo(dst *v20240901s.ManagedClusterIngressProfile_STATUS) error +} + +type augmentConversionForManagedClusterMetricsProfile interface { + AssignPropertiesFrom(src *v20240901s.ManagedClusterMetricsProfile) error + AssignPropertiesTo(dst *v20240901s.ManagedClusterMetricsProfile) error +} + +type augmentConversionForManagedClusterMetricsProfile_STATUS interface { + AssignPropertiesFrom(src *v20240901s.ManagedClusterMetricsProfile_STATUS) error + AssignPropertiesTo(dst *v20240901s.ManagedClusterMetricsProfile_STATUS) error +} + +type augmentConversionForManagedClusterNodeResourceGroupProfile interface { + AssignPropertiesFrom(src *v20240901s.ManagedClusterNodeResourceGroupProfile) error + AssignPropertiesTo(dst *v20240901s.ManagedClusterNodeResourceGroupProfile) error +} + +type augmentConversionForManagedClusterNodeResourceGroupProfile_STATUS interface { + AssignPropertiesFrom(src *v20240901s.ManagedClusterNodeResourceGroupProfile_STATUS) error + AssignPropertiesTo(dst *v20240901s.ManagedClusterNodeResourceGroupProfile_STATUS) error } type augmentConversionForManagedClusterOIDCIssuerProfile interface { - AssignPropertiesFrom(src *storage.ManagedClusterOIDCIssuerProfile) error - AssignPropertiesTo(dst *storage.ManagedClusterOIDCIssuerProfile) error + AssignPropertiesFrom(src *v20231001s.ManagedClusterOIDCIssuerProfile) error + AssignPropertiesTo(dst *v20231001s.ManagedClusterOIDCIssuerProfile) error } type augmentConversionForManagedClusterOIDCIssuerProfile_STATUS interface { - AssignPropertiesFrom(src *storage.ManagedClusterOIDCIssuerProfile_STATUS) error - AssignPropertiesTo(dst *storage.ManagedClusterOIDCIssuerProfile_STATUS) error + AssignPropertiesFrom(src *v20231001s.ManagedClusterOIDCIssuerProfile_STATUS) error + AssignPropertiesTo(dst *v20231001s.ManagedClusterOIDCIssuerProfile_STATUS) error } type augmentConversionForManagedClusterOperatorSpec interface { - AssignPropertiesFrom(src *storage.ManagedClusterOperatorSpec) error - AssignPropertiesTo(dst *storage.ManagedClusterOperatorSpec) error + AssignPropertiesFrom(src *v20231001s.ManagedClusterOperatorSpec) error + AssignPropertiesTo(dst *v20231001s.ManagedClusterOperatorSpec) error } type augmentConversionForManagedClusterPodIdentityProfile interface { - AssignPropertiesFrom(src *storage.ManagedClusterPodIdentityProfile) error - AssignPropertiesTo(dst *storage.ManagedClusterPodIdentityProfile) error + AssignPropertiesFrom(src *v20231001s.ManagedClusterPodIdentityProfile) error + AssignPropertiesTo(dst *v20231001s.ManagedClusterPodIdentityProfile) error } type augmentConversionForManagedClusterPodIdentityProfile_STATUS interface { - AssignPropertiesFrom(src *storage.ManagedClusterPodIdentityProfile_STATUS) error - AssignPropertiesTo(dst *storage.ManagedClusterPodIdentityProfile_STATUS) error + AssignPropertiesFrom(src *v20231001s.ManagedClusterPodIdentityProfile_STATUS) error + AssignPropertiesTo(dst *v20231001s.ManagedClusterPodIdentityProfile_STATUS) error } type augmentConversionForManagedClusterProperties_AutoScalerProfile interface { - AssignPropertiesFrom(src *storage.ManagedClusterProperties_AutoScalerProfile) error - AssignPropertiesTo(dst *storage.ManagedClusterProperties_AutoScalerProfile) error + AssignPropertiesFrom(src *v20231001s.ManagedClusterProperties_AutoScalerProfile) error + AssignPropertiesTo(dst *v20231001s.ManagedClusterProperties_AutoScalerProfile) error } type augmentConversionForManagedClusterProperties_AutoScalerProfile_STATUS interface { - AssignPropertiesFrom(src *storage.ManagedClusterProperties_AutoScalerProfile_STATUS) error - AssignPropertiesTo(dst *storage.ManagedClusterProperties_AutoScalerProfile_STATUS) error + AssignPropertiesFrom(src *v20231001s.ManagedClusterProperties_AutoScalerProfile_STATUS) error + AssignPropertiesTo(dst *v20231001s.ManagedClusterProperties_AutoScalerProfile_STATUS) error } type augmentConversionForManagedClusterSecurityProfile interface { - AssignPropertiesFrom(src *storage.ManagedClusterSecurityProfile) error - AssignPropertiesTo(dst *storage.ManagedClusterSecurityProfile) error + AssignPropertiesFrom(src *v20231001s.ManagedClusterSecurityProfile) error + AssignPropertiesTo(dst *v20231001s.ManagedClusterSecurityProfile) error } type augmentConversionForManagedClusterSecurityProfile_STATUS interface { - AssignPropertiesFrom(src *storage.ManagedClusterSecurityProfile_STATUS) error - AssignPropertiesTo(dst *storage.ManagedClusterSecurityProfile_STATUS) error + AssignPropertiesFrom(src *v20231001s.ManagedClusterSecurityProfile_STATUS) error + AssignPropertiesTo(dst *v20231001s.ManagedClusterSecurityProfile_STATUS) error } type augmentConversionForManagedClusterServicePrincipalProfile interface { - AssignPropertiesFrom(src *storage.ManagedClusterServicePrincipalProfile) error - AssignPropertiesTo(dst *storage.ManagedClusterServicePrincipalProfile) error + AssignPropertiesFrom(src *v20231001s.ManagedClusterServicePrincipalProfile) error + AssignPropertiesTo(dst *v20231001s.ManagedClusterServicePrincipalProfile) error } type augmentConversionForManagedClusterServicePrincipalProfile_STATUS interface { - AssignPropertiesFrom(src *storage.ManagedClusterServicePrincipalProfile_STATUS) error - AssignPropertiesTo(dst *storage.ManagedClusterServicePrincipalProfile_STATUS) error + AssignPropertiesFrom(src *v20231001s.ManagedClusterServicePrincipalProfile_STATUS) error + AssignPropertiesTo(dst *v20231001s.ManagedClusterServicePrincipalProfile_STATUS) error } type augmentConversionForManagedClusterSKU interface { - AssignPropertiesFrom(src *storage.ManagedClusterSKU) error - AssignPropertiesTo(dst *storage.ManagedClusterSKU) error + AssignPropertiesFrom(src *v20231001s.ManagedClusterSKU) error + AssignPropertiesTo(dst *v20231001s.ManagedClusterSKU) error } type augmentConversionForManagedClusterSKU_STATUS interface { - AssignPropertiesFrom(src *storage.ManagedClusterSKU_STATUS) error - AssignPropertiesTo(dst *storage.ManagedClusterSKU_STATUS) error + AssignPropertiesFrom(src *v20231001s.ManagedClusterSKU_STATUS) error + AssignPropertiesTo(dst *v20231001s.ManagedClusterSKU_STATUS) error } type augmentConversionForManagedClusterStorageProfile interface { - AssignPropertiesFrom(src *storage.ManagedClusterStorageProfile) error - AssignPropertiesTo(dst *storage.ManagedClusterStorageProfile) error + AssignPropertiesFrom(src *v20231001s.ManagedClusterStorageProfile) error + AssignPropertiesTo(dst *v20231001s.ManagedClusterStorageProfile) error } type augmentConversionForManagedClusterStorageProfile_STATUS interface { - AssignPropertiesFrom(src *storage.ManagedClusterStorageProfile_STATUS) error - AssignPropertiesTo(dst *storage.ManagedClusterStorageProfile_STATUS) error + AssignPropertiesFrom(src *v20231001s.ManagedClusterStorageProfile_STATUS) error + AssignPropertiesTo(dst *v20231001s.ManagedClusterStorageProfile_STATUS) error } type augmentConversionForManagedClusterWindowsProfile interface { - AssignPropertiesFrom(src *storage.ManagedClusterWindowsProfile) error - AssignPropertiesTo(dst *storage.ManagedClusterWindowsProfile) error + AssignPropertiesFrom(src *v20231001s.ManagedClusterWindowsProfile) error + AssignPropertiesTo(dst *v20231001s.ManagedClusterWindowsProfile) error } type augmentConversionForManagedClusterWindowsProfile_STATUS interface { - AssignPropertiesFrom(src *storage.ManagedClusterWindowsProfile_STATUS) error - AssignPropertiesTo(dst *storage.ManagedClusterWindowsProfile_STATUS) error + AssignPropertiesFrom(src *v20231001s.ManagedClusterWindowsProfile_STATUS) error + AssignPropertiesTo(dst *v20231001s.ManagedClusterWindowsProfile_STATUS) error } type augmentConversionForManagedClusterWorkloadAutoScalerProfile interface { - AssignPropertiesFrom(src *storage.ManagedClusterWorkloadAutoScalerProfile) error - AssignPropertiesTo(dst *storage.ManagedClusterWorkloadAutoScalerProfile) error + AssignPropertiesFrom(src *v20231001s.ManagedClusterWorkloadAutoScalerProfile) error + AssignPropertiesTo(dst *v20231001s.ManagedClusterWorkloadAutoScalerProfile) error } type augmentConversionForManagedClusterWorkloadAutoScalerProfile_STATUS interface { - AssignPropertiesFrom(src *storage.ManagedClusterWorkloadAutoScalerProfile_STATUS) error - AssignPropertiesTo(dst *storage.ManagedClusterWorkloadAutoScalerProfile_STATUS) error + AssignPropertiesFrom(src *v20231001s.ManagedClusterWorkloadAutoScalerProfile_STATUS) error + AssignPropertiesTo(dst *v20231001s.ManagedClusterWorkloadAutoScalerProfile_STATUS) error } type augmentConversionForPowerState_STATUS interface { - AssignPropertiesFrom(src *storage.PowerState_STATUS) error - AssignPropertiesTo(dst *storage.PowerState_STATUS) error + AssignPropertiesFrom(src *v20231001s.PowerState_STATUS) error + AssignPropertiesTo(dst *v20231001s.PowerState_STATUS) error } type augmentConversionForPrivateLinkResource interface { - AssignPropertiesFrom(src *storage.PrivateLinkResource) error - AssignPropertiesTo(dst *storage.PrivateLinkResource) error + AssignPropertiesFrom(src *v20231001s.PrivateLinkResource) error + AssignPropertiesTo(dst *v20231001s.PrivateLinkResource) error } type augmentConversionForPrivateLinkResource_STATUS interface { - AssignPropertiesFrom(src *storage.PrivateLinkResource_STATUS) error - AssignPropertiesTo(dst *storage.PrivateLinkResource_STATUS) error + AssignPropertiesFrom(src *v20231001s.PrivateLinkResource_STATUS) error + AssignPropertiesTo(dst *v20231001s.PrivateLinkResource_STATUS) error } type augmentConversionForServiceMeshProfile interface { - AssignPropertiesFrom(src *storage.ServiceMeshProfile) error - AssignPropertiesTo(dst *storage.ServiceMeshProfile) error + AssignPropertiesFrom(src *v20231001s.ServiceMeshProfile) error + AssignPropertiesTo(dst *v20231001s.ServiceMeshProfile) error } type augmentConversionForServiceMeshProfile_STATUS interface { - AssignPropertiesFrom(src *storage.ServiceMeshProfile_STATUS) error - AssignPropertiesTo(dst *storage.ServiceMeshProfile_STATUS) error + AssignPropertiesFrom(src *v20231001s.ServiceMeshProfile_STATUS) error + AssignPropertiesTo(dst *v20231001s.ServiceMeshProfile_STATUS) error } type augmentConversionForSystemData_STATUS interface { - AssignPropertiesFrom(src *storage.SystemData_STATUS) error - AssignPropertiesTo(dst *storage.SystemData_STATUS) error + AssignPropertiesFrom(src *v20231001s.SystemData_STATUS) error + AssignPropertiesTo(dst *v20231001s.SystemData_STATUS) error } type augmentConversionForUserAssignedIdentity interface { - AssignPropertiesFrom(src *storage.UserAssignedIdentity) error - AssignPropertiesTo(dst *storage.UserAssignedIdentity) error + AssignPropertiesFrom(src *v20231001s.UserAssignedIdentity) error + AssignPropertiesTo(dst *v20231001s.UserAssignedIdentity) error } type augmentConversionForUserAssignedIdentity_STATUS interface { - AssignPropertiesFrom(src *storage.UserAssignedIdentity_STATUS) error - AssignPropertiesTo(dst *storage.UserAssignedIdentity_STATUS) error + AssignPropertiesFrom(src *v20231001s.UserAssignedIdentity_STATUS) error + AssignPropertiesTo(dst *v20231001s.UserAssignedIdentity_STATUS) error } // Storage version of v1api20231102preview.AzureKeyVaultKms -// Azure Key Vault key management service settings for the security profile. type AzureKeyVaultKms struct { - Enabled *bool `json:"enabled,omitempty"` - KeyId *string `json:"keyId,omitempty"` - KeyVaultNetworkAccess *string `json:"keyVaultNetworkAccess,omitempty"` - - // KeyVaultResourceReference: Resource ID of key vault. When keyVaultNetworkAccess is `Private`, this field is required and - // must be a valid resource ID. When keyVaultNetworkAccess is `Public`, leave the field empty. + Enabled *bool `json:"enabled,omitempty"` + KeyId *string `json:"keyId,omitempty"` + KeyVaultNetworkAccess *string `json:"keyVaultNetworkAccess,omitempty"` KeyVaultResourceReference *genruntime.ResourceReference `armReference:"KeyVaultResourceId" json:"keyVaultResourceReference,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` } // AssignProperties_From_AzureKeyVaultKms populates our AzureKeyVaultKms from the provided source AzureKeyVaultKms -func (vaultKms *AzureKeyVaultKms) AssignProperties_From_AzureKeyVaultKms(source *storage.AzureKeyVaultKms) error { +func (vaultKms *AzureKeyVaultKms) AssignProperties_From_AzureKeyVaultKms(source *v20231001s.AzureKeyVaultKms) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -10392,7 +10739,7 @@ func (vaultKms *AzureKeyVaultKms) AssignProperties_From_AzureKeyVaultKms(source } // AssignProperties_To_AzureKeyVaultKms populates the provided destination AzureKeyVaultKms from our AzureKeyVaultKms -func (vaultKms *AzureKeyVaultKms) AssignProperties_To_AzureKeyVaultKms(destination *storage.AzureKeyVaultKms) error { +func (vaultKms *AzureKeyVaultKms) AssignProperties_To_AzureKeyVaultKms(destination *v20231001s.AzureKeyVaultKms) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(vaultKms.PropertyBag) @@ -10439,7 +10786,6 @@ func (vaultKms *AzureKeyVaultKms) AssignProperties_To_AzureKeyVaultKms(destinati } // Storage version of v1api20231102preview.AzureKeyVaultKms_STATUS -// Azure Key Vault key management service settings for the security profile. type AzureKeyVaultKms_STATUS struct { Enabled *bool `json:"enabled,omitempty"` KeyId *string `json:"keyId,omitempty"` @@ -10449,7 +10795,7 @@ type AzureKeyVaultKms_STATUS struct { } // AssignProperties_From_AzureKeyVaultKms_STATUS populates our AzureKeyVaultKms_STATUS from the provided source AzureKeyVaultKms_STATUS -func (vaultKms *AzureKeyVaultKms_STATUS) AssignProperties_From_AzureKeyVaultKms_STATUS(source *storage.AzureKeyVaultKms_STATUS) error { +func (vaultKms *AzureKeyVaultKms_STATUS) AssignProperties_From_AzureKeyVaultKms_STATUS(source *v20231001s.AzureKeyVaultKms_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -10491,7 +10837,7 @@ func (vaultKms *AzureKeyVaultKms_STATUS) AssignProperties_From_AzureKeyVaultKms_ } // AssignProperties_To_AzureKeyVaultKms_STATUS populates the provided destination AzureKeyVaultKms_STATUS from our AzureKeyVaultKms_STATUS -func (vaultKms *AzureKeyVaultKms_STATUS) AssignProperties_To_AzureKeyVaultKms_STATUS(destination *storage.AzureKeyVaultKms_STATUS) error { +func (vaultKms *AzureKeyVaultKms_STATUS) AssignProperties_To_AzureKeyVaultKms_STATUS(destination *v20231001s.AzureKeyVaultKms_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(vaultKms.PropertyBag) @@ -10549,14 +10895,13 @@ type ContainerServiceNetworkProfile_KubeProxyConfig_STATUS struct { } // Storage version of v1api20231102preview.ContainerServiceSshConfiguration -// SSH configuration for Linux-based VMs running on Azure. type ContainerServiceSshConfiguration struct { PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` PublicKeys []ContainerServiceSshPublicKey `json:"publicKeys,omitempty"` } // AssignProperties_From_ContainerServiceSshConfiguration populates our ContainerServiceSshConfiguration from the provided source ContainerServiceSshConfiguration -func (configuration *ContainerServiceSshConfiguration) AssignProperties_From_ContainerServiceSshConfiguration(source *storage.ContainerServiceSshConfiguration) error { +func (configuration *ContainerServiceSshConfiguration) AssignProperties_From_ContainerServiceSshConfiguration(source *v20231001s.ContainerServiceSshConfiguration) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -10599,17 +10944,17 @@ func (configuration *ContainerServiceSshConfiguration) AssignProperties_From_Con } // AssignProperties_To_ContainerServiceSshConfiguration populates the provided destination ContainerServiceSshConfiguration from our ContainerServiceSshConfiguration -func (configuration *ContainerServiceSshConfiguration) AssignProperties_To_ContainerServiceSshConfiguration(destination *storage.ContainerServiceSshConfiguration) error { +func (configuration *ContainerServiceSshConfiguration) AssignProperties_To_ContainerServiceSshConfiguration(destination *v20231001s.ContainerServiceSshConfiguration) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(configuration.PropertyBag) // PublicKeys if configuration.PublicKeys != nil { - publicKeyList := make([]storage.ContainerServiceSshPublicKey, len(configuration.PublicKeys)) + publicKeyList := make([]v20231001s.ContainerServiceSshPublicKey, len(configuration.PublicKeys)) for publicKeyIndex, publicKeyItem := range configuration.PublicKeys { // Shadow the loop variable to avoid aliasing publicKeyItem := publicKeyItem - var publicKey storage.ContainerServiceSshPublicKey + var publicKey v20231001s.ContainerServiceSshPublicKey err := publicKeyItem.AssignProperties_To_ContainerServiceSshPublicKey(&publicKey) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ContainerServiceSshPublicKey() to populate field PublicKeys") @@ -10642,14 +10987,13 @@ func (configuration *ContainerServiceSshConfiguration) AssignProperties_To_Conta } // Storage version of v1api20231102preview.ContainerServiceSshConfiguration_STATUS -// SSH configuration for Linux-based VMs running on Azure. type ContainerServiceSshConfiguration_STATUS struct { PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` PublicKeys []ContainerServiceSshPublicKey_STATUS `json:"publicKeys,omitempty"` } // AssignProperties_From_ContainerServiceSshConfiguration_STATUS populates our ContainerServiceSshConfiguration_STATUS from the provided source ContainerServiceSshConfiguration_STATUS -func (configuration *ContainerServiceSshConfiguration_STATUS) AssignProperties_From_ContainerServiceSshConfiguration_STATUS(source *storage.ContainerServiceSshConfiguration_STATUS) error { +func (configuration *ContainerServiceSshConfiguration_STATUS) AssignProperties_From_ContainerServiceSshConfiguration_STATUS(source *v20231001s.ContainerServiceSshConfiguration_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -10692,17 +11036,17 @@ func (configuration *ContainerServiceSshConfiguration_STATUS) AssignProperties_F } // AssignProperties_To_ContainerServiceSshConfiguration_STATUS populates the provided destination ContainerServiceSshConfiguration_STATUS from our ContainerServiceSshConfiguration_STATUS -func (configuration *ContainerServiceSshConfiguration_STATUS) AssignProperties_To_ContainerServiceSshConfiguration_STATUS(destination *storage.ContainerServiceSshConfiguration_STATUS) error { +func (configuration *ContainerServiceSshConfiguration_STATUS) AssignProperties_To_ContainerServiceSshConfiguration_STATUS(destination *v20231001s.ContainerServiceSshConfiguration_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(configuration.PropertyBag) // PublicKeys if configuration.PublicKeys != nil { - publicKeyList := make([]storage.ContainerServiceSshPublicKey_STATUS, len(configuration.PublicKeys)) + publicKeyList := make([]v20231001s.ContainerServiceSshPublicKey_STATUS, len(configuration.PublicKeys)) for publicKeyIndex, publicKeyItem := range configuration.PublicKeys { // Shadow the loop variable to avoid aliasing publicKeyItem := publicKeyItem - var publicKey storage.ContainerServiceSshPublicKey_STATUS + var publicKey v20231001s.ContainerServiceSshPublicKey_STATUS err := publicKeyItem.AssignProperties_To_ContainerServiceSshPublicKey_STATUS(&publicKey) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ContainerServiceSshPublicKey_STATUS() to populate field PublicKeys") @@ -10735,19 +11079,16 @@ func (configuration *ContainerServiceSshConfiguration_STATUS) AssignProperties_T } // Storage version of v1api20231102preview.DelegatedResource -// Delegated resource properties - internal use only. type DelegatedResource struct { - Location *string `json:"location,omitempty"` - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` - ReferralResource *string `json:"referralResource,omitempty"` - - // ResourceReference: The ARM resource id of the delegated resource - internal use only. + Location *string `json:"location,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + ReferralResource *string `json:"referralResource,omitempty"` ResourceReference *genruntime.ResourceReference `armReference:"ResourceId" json:"resourceReference,omitempty"` TenantId *string `json:"tenantId,omitempty"` } // AssignProperties_From_DelegatedResource populates our DelegatedResource from the provided source DelegatedResource -func (resource *DelegatedResource) AssignProperties_From_DelegatedResource(source *storage.DelegatedResource) error { +func (resource *DelegatedResource) AssignProperties_From_DelegatedResource(source *v20231001s.DelegatedResource) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -10789,7 +11130,7 @@ func (resource *DelegatedResource) AssignProperties_From_DelegatedResource(sourc } // AssignProperties_To_DelegatedResource populates the provided destination DelegatedResource from our DelegatedResource -func (resource *DelegatedResource) AssignProperties_To_DelegatedResource(destination *storage.DelegatedResource) error { +func (resource *DelegatedResource) AssignProperties_To_DelegatedResource(destination *v20231001s.DelegatedResource) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(resource.PropertyBag) @@ -10831,7 +11172,6 @@ func (resource *DelegatedResource) AssignProperties_To_DelegatedResource(destina } // Storage version of v1api20231102preview.DelegatedResource_STATUS -// Delegated resource properties - internal use only. type DelegatedResource_STATUS struct { Location *string `json:"location,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` @@ -10841,7 +11181,7 @@ type DelegatedResource_STATUS struct { } // AssignProperties_From_DelegatedResource_STATUS populates our DelegatedResource_STATUS from the provided source DelegatedResource_STATUS -func (resource *DelegatedResource_STATUS) AssignProperties_From_DelegatedResource_STATUS(source *storage.DelegatedResource_STATUS) error { +func (resource *DelegatedResource_STATUS) AssignProperties_From_DelegatedResource_STATUS(source *v20231001s.DelegatedResource_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -10878,7 +11218,7 @@ func (resource *DelegatedResource_STATUS) AssignProperties_From_DelegatedResourc } // AssignProperties_To_DelegatedResource_STATUS populates the provided destination DelegatedResource_STATUS from our DelegatedResource_STATUS -func (resource *DelegatedResource_STATUS) AssignProperties_To_DelegatedResource_STATUS(destination *storage.DelegatedResource_STATUS) error { +func (resource *DelegatedResource_STATUS) AssignProperties_To_DelegatedResource_STATUS(destination *v20231001s.DelegatedResource_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(resource.PropertyBag) @@ -10915,7 +11255,6 @@ func (resource *DelegatedResource_STATUS) AssignProperties_To_DelegatedResource_ } // Storage version of v1api20231102preview.IstioServiceMesh -// Istio service mesh configuration. type IstioServiceMesh struct { CertificateAuthority *IstioCertificateAuthority `json:"certificateAuthority,omitempty"` Components *IstioComponents `json:"components,omitempty"` @@ -10924,7 +11263,7 @@ type IstioServiceMesh struct { } // AssignProperties_From_IstioServiceMesh populates our IstioServiceMesh from the provided source IstioServiceMesh -func (mesh *IstioServiceMesh) AssignProperties_From_IstioServiceMesh(source *storage.IstioServiceMesh) error { +func (mesh *IstioServiceMesh) AssignProperties_From_IstioServiceMesh(source *v20231001s.IstioServiceMesh) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -10976,13 +11315,13 @@ func (mesh *IstioServiceMesh) AssignProperties_From_IstioServiceMesh(source *sto } // AssignProperties_To_IstioServiceMesh populates the provided destination IstioServiceMesh from our IstioServiceMesh -func (mesh *IstioServiceMesh) AssignProperties_To_IstioServiceMesh(destination *storage.IstioServiceMesh) error { +func (mesh *IstioServiceMesh) AssignProperties_To_IstioServiceMesh(destination *v20231001s.IstioServiceMesh) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(mesh.PropertyBag) // CertificateAuthority if mesh.CertificateAuthority != nil { - var certificateAuthority storage.IstioCertificateAuthority + var certificateAuthority v20231001s.IstioCertificateAuthority err := mesh.CertificateAuthority.AssignProperties_To_IstioCertificateAuthority(&certificateAuthority) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_IstioCertificateAuthority() to populate field CertificateAuthority") @@ -10994,7 +11333,7 @@ func (mesh *IstioServiceMesh) AssignProperties_To_IstioServiceMesh(destination * // Components if mesh.Components != nil { - var component storage.IstioComponents + var component v20231001s.IstioComponents err := mesh.Components.AssignProperties_To_IstioComponents(&component) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_IstioComponents() to populate field Components") @@ -11028,7 +11367,6 @@ func (mesh *IstioServiceMesh) AssignProperties_To_IstioServiceMesh(destination * } // Storage version of v1api20231102preview.IstioServiceMesh_STATUS -// Istio service mesh configuration. type IstioServiceMesh_STATUS struct { CertificateAuthority *IstioCertificateAuthority_STATUS `json:"certificateAuthority,omitempty"` Components *IstioComponents_STATUS `json:"components,omitempty"` @@ -11037,7 +11375,7 @@ type IstioServiceMesh_STATUS struct { } // AssignProperties_From_IstioServiceMesh_STATUS populates our IstioServiceMesh_STATUS from the provided source IstioServiceMesh_STATUS -func (mesh *IstioServiceMesh_STATUS) AssignProperties_From_IstioServiceMesh_STATUS(source *storage.IstioServiceMesh_STATUS) error { +func (mesh *IstioServiceMesh_STATUS) AssignProperties_From_IstioServiceMesh_STATUS(source *v20231001s.IstioServiceMesh_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -11089,13 +11427,13 @@ func (mesh *IstioServiceMesh_STATUS) AssignProperties_From_IstioServiceMesh_STAT } // AssignProperties_To_IstioServiceMesh_STATUS populates the provided destination IstioServiceMesh_STATUS from our IstioServiceMesh_STATUS -func (mesh *IstioServiceMesh_STATUS) AssignProperties_To_IstioServiceMesh_STATUS(destination *storage.IstioServiceMesh_STATUS) error { +func (mesh *IstioServiceMesh_STATUS) AssignProperties_To_IstioServiceMesh_STATUS(destination *v20231001s.IstioServiceMesh_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(mesh.PropertyBag) // CertificateAuthority if mesh.CertificateAuthority != nil { - var certificateAuthority storage.IstioCertificateAuthority_STATUS + var certificateAuthority v20231001s.IstioCertificateAuthority_STATUS err := mesh.CertificateAuthority.AssignProperties_To_IstioCertificateAuthority_STATUS(&certificateAuthority) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_IstioCertificateAuthority_STATUS() to populate field CertificateAuthority") @@ -11107,7 +11445,7 @@ func (mesh *IstioServiceMesh_STATUS) AssignProperties_To_IstioServiceMesh_STATUS // Components if mesh.Components != nil { - var component storage.IstioComponents_STATUS + var component v20231001s.IstioComponents_STATUS err := mesh.Components.AssignProperties_To_IstioComponents_STATUS(&component) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_IstioComponents_STATUS() to populate field Components") @@ -11141,8 +11479,6 @@ func (mesh *IstioServiceMesh_STATUS) AssignProperties_To_IstioServiceMesh_STATUS } // Storage version of v1api20231102preview.ManagedClusterAzureMonitorProfileLogs -// Logs profile for the Azure Monitor Infrastructure and Application Logs. Collect out-of-the-box Kubernetes infrastructure -// & application logs to send to Azure Monitor. See aka.ms/AzureMonitorContainerInsights for an overview. type ManagedClusterAzureMonitorProfileLogs struct { AppMonitoring *ManagedClusterAzureMonitorProfileAppMonitoring `json:"appMonitoring,omitempty"` ContainerInsights *ManagedClusterAzureMonitorProfileContainerInsights `json:"containerInsights,omitempty"` @@ -11150,8 +11486,6 @@ type ManagedClusterAzureMonitorProfileLogs struct { } // Storage version of v1api20231102preview.ManagedClusterAzureMonitorProfileLogs_STATUS -// Logs profile for the Azure Monitor Infrastructure and Application Logs. Collect out-of-the-box Kubernetes infrastructure -// & application logs to send to Azure Monitor. See aka.ms/AzureMonitorContainerInsights for an overview. type ManagedClusterAzureMonitorProfileLogs_STATUS struct { AppMonitoring *ManagedClusterAzureMonitorProfileAppMonitoring_STATUS `json:"appMonitoring,omitempty"` ContainerInsights *ManagedClusterAzureMonitorProfileContainerInsights_STATUS `json:"containerInsights,omitempty"` @@ -11159,7 +11493,6 @@ type ManagedClusterAzureMonitorProfileLogs_STATUS struct { } // Storage version of v1api20231102preview.ManagedClusterAzureMonitorProfileMetrics -// Metrics profile for the prometheus service addon type ManagedClusterAzureMonitorProfileMetrics struct { AppMonitoringOpenTelemetryMetrics *ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetrics `json:"appMonitoringOpenTelemetryMetrics,omitempty"` Enabled *bool `json:"enabled,omitempty"` @@ -11168,7 +11501,7 @@ type ManagedClusterAzureMonitorProfileMetrics struct { } // AssignProperties_From_ManagedClusterAzureMonitorProfileMetrics populates our ManagedClusterAzureMonitorProfileMetrics from the provided source ManagedClusterAzureMonitorProfileMetrics -func (metrics *ManagedClusterAzureMonitorProfileMetrics) AssignProperties_From_ManagedClusterAzureMonitorProfileMetrics(source *storage.ManagedClusterAzureMonitorProfileMetrics) error { +func (metrics *ManagedClusterAzureMonitorProfileMetrics) AssignProperties_From_ManagedClusterAzureMonitorProfileMetrics(source *v20231001s.ManagedClusterAzureMonitorProfileMetrics) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -11226,7 +11559,7 @@ func (metrics *ManagedClusterAzureMonitorProfileMetrics) AssignProperties_From_M } // AssignProperties_To_ManagedClusterAzureMonitorProfileMetrics populates the provided destination ManagedClusterAzureMonitorProfileMetrics from our ManagedClusterAzureMonitorProfileMetrics -func (metrics *ManagedClusterAzureMonitorProfileMetrics) AssignProperties_To_ManagedClusterAzureMonitorProfileMetrics(destination *storage.ManagedClusterAzureMonitorProfileMetrics) error { +func (metrics *ManagedClusterAzureMonitorProfileMetrics) AssignProperties_To_ManagedClusterAzureMonitorProfileMetrics(destination *v20231001s.ManagedClusterAzureMonitorProfileMetrics) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(metrics.PropertyBag) @@ -11247,7 +11580,7 @@ func (metrics *ManagedClusterAzureMonitorProfileMetrics) AssignProperties_To_Man // KubeStateMetrics if metrics.KubeStateMetrics != nil { - var kubeStateMetric storage.ManagedClusterAzureMonitorProfileKubeStateMetrics + var kubeStateMetric v20231001s.ManagedClusterAzureMonitorProfileKubeStateMetrics err := metrics.KubeStateMetrics.AssignProperties_To_ManagedClusterAzureMonitorProfileKubeStateMetrics(&kubeStateMetric) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterAzureMonitorProfileKubeStateMetrics() to populate field KubeStateMetrics") @@ -11278,7 +11611,6 @@ func (metrics *ManagedClusterAzureMonitorProfileMetrics) AssignProperties_To_Man } // Storage version of v1api20231102preview.ManagedClusterAzureMonitorProfileMetrics_STATUS -// Metrics profile for the prometheus service addon type ManagedClusterAzureMonitorProfileMetrics_STATUS struct { AppMonitoringOpenTelemetryMetrics *ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetrics_STATUS `json:"appMonitoringOpenTelemetryMetrics,omitempty"` Enabled *bool `json:"enabled,omitempty"` @@ -11287,7 +11619,7 @@ type ManagedClusterAzureMonitorProfileMetrics_STATUS struct { } // AssignProperties_From_ManagedClusterAzureMonitorProfileMetrics_STATUS populates our ManagedClusterAzureMonitorProfileMetrics_STATUS from the provided source ManagedClusterAzureMonitorProfileMetrics_STATUS -func (metrics *ManagedClusterAzureMonitorProfileMetrics_STATUS) AssignProperties_From_ManagedClusterAzureMonitorProfileMetrics_STATUS(source *storage.ManagedClusterAzureMonitorProfileMetrics_STATUS) error { +func (metrics *ManagedClusterAzureMonitorProfileMetrics_STATUS) AssignProperties_From_ManagedClusterAzureMonitorProfileMetrics_STATUS(source *v20231001s.ManagedClusterAzureMonitorProfileMetrics_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -11345,7 +11677,7 @@ func (metrics *ManagedClusterAzureMonitorProfileMetrics_STATUS) AssignProperties } // AssignProperties_To_ManagedClusterAzureMonitorProfileMetrics_STATUS populates the provided destination ManagedClusterAzureMonitorProfileMetrics_STATUS from our ManagedClusterAzureMonitorProfileMetrics_STATUS -func (metrics *ManagedClusterAzureMonitorProfileMetrics_STATUS) AssignProperties_To_ManagedClusterAzureMonitorProfileMetrics_STATUS(destination *storage.ManagedClusterAzureMonitorProfileMetrics_STATUS) error { +func (metrics *ManagedClusterAzureMonitorProfileMetrics_STATUS) AssignProperties_To_ManagedClusterAzureMonitorProfileMetrics_STATUS(destination *v20231001s.ManagedClusterAzureMonitorProfileMetrics_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(metrics.PropertyBag) @@ -11366,7 +11698,7 @@ func (metrics *ManagedClusterAzureMonitorProfileMetrics_STATUS) AssignProperties // KubeStateMetrics if metrics.KubeStateMetrics != nil { - var kubeStateMetric storage.ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS + var kubeStateMetric v20231001s.ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS err := metrics.KubeStateMetrics.AssignProperties_To_ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS(&kubeStateMetric) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS() to populate field KubeStateMetrics") @@ -11397,19 +11729,149 @@ func (metrics *ManagedClusterAzureMonitorProfileMetrics_STATUS) AssignProperties } // Storage version of v1api20231102preview.ManagedClusterCostAnalysis -// The cost analysis configuration for the cluster type ManagedClusterCostAnalysis struct { Enabled *bool `json:"enabled,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` } +// AssignProperties_From_ManagedClusterCostAnalysis populates our ManagedClusterCostAnalysis from the provided source ManagedClusterCostAnalysis +func (analysis *ManagedClusterCostAnalysis) AssignProperties_From_ManagedClusterCostAnalysis(source *v20240901s.ManagedClusterCostAnalysis) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + analysis.Enabled = &enabled + } else { + analysis.Enabled = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + analysis.PropertyBag = propertyBag + } else { + analysis.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterCostAnalysis interface (if implemented) to customize the conversion + var analysisAsAny any = analysis + if augmentedAnalysis, ok := analysisAsAny.(augmentConversionForManagedClusterCostAnalysis); ok { + err := augmentedAnalysis.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterCostAnalysis populates the provided destination ManagedClusterCostAnalysis from our ManagedClusterCostAnalysis +func (analysis *ManagedClusterCostAnalysis) AssignProperties_To_ManagedClusterCostAnalysis(destination *v20240901s.ManagedClusterCostAnalysis) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(analysis.PropertyBag) + + // Enabled + if analysis.Enabled != nil { + enabled := *analysis.Enabled + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterCostAnalysis interface (if implemented) to customize the conversion + var analysisAsAny any = analysis + if augmentedAnalysis, ok := analysisAsAny.(augmentConversionForManagedClusterCostAnalysis); ok { + err := augmentedAnalysis.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + // Storage version of v1api20231102preview.ManagedClusterCostAnalysis_STATUS -// The cost analysis configuration for the cluster type ManagedClusterCostAnalysis_STATUS struct { Enabled *bool `json:"enabled,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` } +// AssignProperties_From_ManagedClusterCostAnalysis_STATUS populates our ManagedClusterCostAnalysis_STATUS from the provided source ManagedClusterCostAnalysis_STATUS +func (analysis *ManagedClusterCostAnalysis_STATUS) AssignProperties_From_ManagedClusterCostAnalysis_STATUS(source *v20240901s.ManagedClusterCostAnalysis_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + analysis.Enabled = &enabled + } else { + analysis.Enabled = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + analysis.PropertyBag = propertyBag + } else { + analysis.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterCostAnalysis_STATUS interface (if implemented) to customize the conversion + var analysisAsAny any = analysis + if augmentedAnalysis, ok := analysisAsAny.(augmentConversionForManagedClusterCostAnalysis_STATUS); ok { + err := augmentedAnalysis.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterCostAnalysis_STATUS populates the provided destination ManagedClusterCostAnalysis_STATUS from our ManagedClusterCostAnalysis_STATUS +func (analysis *ManagedClusterCostAnalysis_STATUS) AssignProperties_To_ManagedClusterCostAnalysis_STATUS(destination *v20240901s.ManagedClusterCostAnalysis_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(analysis.PropertyBag) + + // Enabled + if analysis.Enabled != nil { + enabled := *analysis.Enabled + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterCostAnalysis_STATUS interface (if implemented) to customize the conversion + var analysisAsAny any = analysis + if augmentedAnalysis, ok := analysisAsAny.(augmentConversionForManagedClusterCostAnalysis_STATUS); ok { + err := augmentedAnalysis.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + // Storage version of v1api20231102preview.ManagedClusterIdentity_UserAssignedIdentities_STATUS type ManagedClusterIdentity_UserAssignedIdentities_STATUS struct { ClientId *string `json:"clientId,omitempty"` @@ -11418,7 +11880,7 @@ type ManagedClusterIdentity_UserAssignedIdentities_STATUS struct { } // AssignProperties_From_ManagedClusterIdentity_UserAssignedIdentities_STATUS populates our ManagedClusterIdentity_UserAssignedIdentities_STATUS from the provided source ManagedClusterIdentity_UserAssignedIdentities_STATUS -func (identities *ManagedClusterIdentity_UserAssignedIdentities_STATUS) AssignProperties_From_ManagedClusterIdentity_UserAssignedIdentities_STATUS(source *storage.ManagedClusterIdentity_UserAssignedIdentities_STATUS) error { +func (identities *ManagedClusterIdentity_UserAssignedIdentities_STATUS) AssignProperties_From_ManagedClusterIdentity_UserAssignedIdentities_STATUS(source *v20231001s.ManagedClusterIdentity_UserAssignedIdentities_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -11449,7 +11911,7 @@ func (identities *ManagedClusterIdentity_UserAssignedIdentities_STATUS) AssignPr } // AssignProperties_To_ManagedClusterIdentity_UserAssignedIdentities_STATUS populates the provided destination ManagedClusterIdentity_UserAssignedIdentities_STATUS from our ManagedClusterIdentity_UserAssignedIdentities_STATUS -func (identities *ManagedClusterIdentity_UserAssignedIdentities_STATUS) AssignProperties_To_ManagedClusterIdentity_UserAssignedIdentities_STATUS(destination *storage.ManagedClusterIdentity_UserAssignedIdentities_STATUS) error { +func (identities *ManagedClusterIdentity_UserAssignedIdentities_STATUS) AssignProperties_To_ManagedClusterIdentity_UserAssignedIdentities_STATUS(destination *v20231001s.ManagedClusterIdentity_UserAssignedIdentities_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(identities.PropertyBag) @@ -11480,15 +11942,105 @@ func (identities *ManagedClusterIdentity_UserAssignedIdentities_STATUS) AssignPr } // Storage version of v1api20231102preview.ManagedClusterIngressProfileWebAppRouting -// Web App Routing settings for the ingress profile. type ManagedClusterIngressProfileWebAppRouting struct { DnsZoneResourceReferences []genruntime.ResourceReference `armReference:"DnsZoneResourceIds" json:"dnsZoneResourceReferences,omitempty"` Enabled *bool `json:"enabled,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` } +// AssignProperties_From_ManagedClusterIngressProfileWebAppRouting populates our ManagedClusterIngressProfileWebAppRouting from the provided source ManagedClusterIngressProfileWebAppRouting +func (routing *ManagedClusterIngressProfileWebAppRouting) AssignProperties_From_ManagedClusterIngressProfileWebAppRouting(source *v20240901s.ManagedClusterIngressProfileWebAppRouting) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // DnsZoneResourceReferences + if source.DnsZoneResourceReferences != nil { + dnsZoneResourceReferenceList := make([]genruntime.ResourceReference, len(source.DnsZoneResourceReferences)) + for dnsZoneResourceReferenceIndex, dnsZoneResourceReferenceItem := range source.DnsZoneResourceReferences { + // Shadow the loop variable to avoid aliasing + dnsZoneResourceReferenceItem := dnsZoneResourceReferenceItem + dnsZoneResourceReferenceList[dnsZoneResourceReferenceIndex] = dnsZoneResourceReferenceItem.Copy() + } + routing.DnsZoneResourceReferences = dnsZoneResourceReferenceList + } else { + routing.DnsZoneResourceReferences = nil + } + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + routing.Enabled = &enabled + } else { + routing.Enabled = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + routing.PropertyBag = propertyBag + } else { + routing.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterIngressProfileWebAppRouting interface (if implemented) to customize the conversion + var routingAsAny any = routing + if augmentedRouting, ok := routingAsAny.(augmentConversionForManagedClusterIngressProfileWebAppRouting); ok { + err := augmentedRouting.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterIngressProfileWebAppRouting populates the provided destination ManagedClusterIngressProfileWebAppRouting from our ManagedClusterIngressProfileWebAppRouting +func (routing *ManagedClusterIngressProfileWebAppRouting) AssignProperties_To_ManagedClusterIngressProfileWebAppRouting(destination *v20240901s.ManagedClusterIngressProfileWebAppRouting) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(routing.PropertyBag) + + // DnsZoneResourceReferences + if routing.DnsZoneResourceReferences != nil { + dnsZoneResourceReferenceList := make([]genruntime.ResourceReference, len(routing.DnsZoneResourceReferences)) + for dnsZoneResourceReferenceIndex, dnsZoneResourceReferenceItem := range routing.DnsZoneResourceReferences { + // Shadow the loop variable to avoid aliasing + dnsZoneResourceReferenceItem := dnsZoneResourceReferenceItem + dnsZoneResourceReferenceList[dnsZoneResourceReferenceIndex] = dnsZoneResourceReferenceItem.Copy() + } + destination.DnsZoneResourceReferences = dnsZoneResourceReferenceList + } else { + destination.DnsZoneResourceReferences = nil + } + + // Enabled + if routing.Enabled != nil { + enabled := *routing.Enabled + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterIngressProfileWebAppRouting interface (if implemented) to customize the conversion + var routingAsAny any = routing + if augmentedRouting, ok := routingAsAny.(augmentConversionForManagedClusterIngressProfileWebAppRouting); ok { + err := augmentedRouting.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + // Storage version of v1api20231102preview.ManagedClusterIngressProfileWebAppRouting_STATUS -// Web App Routing settings for the ingress profile. type ManagedClusterIngressProfileWebAppRouting_STATUS struct { DnsZoneResourceIds []string `json:"dnsZoneResourceIds,omitempty"` Enabled *bool `json:"enabled,omitempty"` @@ -11496,8 +12048,113 @@ type ManagedClusterIngressProfileWebAppRouting_STATUS struct { PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` } +// AssignProperties_From_ManagedClusterIngressProfileWebAppRouting_STATUS populates our ManagedClusterIngressProfileWebAppRouting_STATUS from the provided source ManagedClusterIngressProfileWebAppRouting_STATUS +func (routing *ManagedClusterIngressProfileWebAppRouting_STATUS) AssignProperties_From_ManagedClusterIngressProfileWebAppRouting_STATUS(source *v20240901s.ManagedClusterIngressProfileWebAppRouting_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // DnsZoneResourceIds + routing.DnsZoneResourceIds = genruntime.CloneSliceOfString(source.DnsZoneResourceIds) + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + routing.Enabled = &enabled + } else { + routing.Enabled = nil + } + + // Identity + if source.Identity != nil { + var userAssignedIdentitySTATUSStash v20231001s.UserAssignedIdentity_STATUS + err := userAssignedIdentitySTATUSStash.AssignProperties_From_UserAssignedIdentity_STATUS(source.Identity) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_UserAssignedIdentity_STATUS() to populate field UserAssignedIdentity_STATUSStash from Identity") + } + var identity UserAssignedIdentity_STATUS + err = identity.AssignProperties_From_UserAssignedIdentity_STATUS(&userAssignedIdentitySTATUSStash) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_UserAssignedIdentity_STATUS() to populate field Identity from UserAssignedIdentity_STATUSStash") + } + routing.Identity = &identity + } else { + routing.Identity = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + routing.PropertyBag = propertyBag + } else { + routing.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterIngressProfileWebAppRouting_STATUS interface (if implemented) to customize the conversion + var routingAsAny any = routing + if augmentedRouting, ok := routingAsAny.(augmentConversionForManagedClusterIngressProfileWebAppRouting_STATUS); ok { + err := augmentedRouting.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterIngressProfileWebAppRouting_STATUS populates the provided destination ManagedClusterIngressProfileWebAppRouting_STATUS from our ManagedClusterIngressProfileWebAppRouting_STATUS +func (routing *ManagedClusterIngressProfileWebAppRouting_STATUS) AssignProperties_To_ManagedClusterIngressProfileWebAppRouting_STATUS(destination *v20240901s.ManagedClusterIngressProfileWebAppRouting_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(routing.PropertyBag) + + // DnsZoneResourceIds + destination.DnsZoneResourceIds = genruntime.CloneSliceOfString(routing.DnsZoneResourceIds) + + // Enabled + if routing.Enabled != nil { + enabled := *routing.Enabled + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // Identity + if routing.Identity != nil { + var userAssignedIdentitySTATUSStash v20231001s.UserAssignedIdentity_STATUS + err := routing.Identity.AssignProperties_To_UserAssignedIdentity_STATUS(&userAssignedIdentitySTATUSStash) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_UserAssignedIdentity_STATUS() to populate field UserAssignedIdentity_STATUSStash from Identity") + } + var identity v20240901s.UserAssignedIdentity_STATUS + err = userAssignedIdentitySTATUSStash.AssignProperties_To_UserAssignedIdentity_STATUS(&identity) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_UserAssignedIdentity_STATUS() to populate field Identity from UserAssignedIdentity_STATUSStash") + } + destination.Identity = &identity + } else { + destination.Identity = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForManagedClusterIngressProfileWebAppRouting_STATUS interface (if implemented) to customize the conversion + var routingAsAny any = routing + if augmentedRouting, ok := routingAsAny.(augmentConversionForManagedClusterIngressProfileWebAppRouting_STATUS); ok { + err := augmentedRouting.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + // Storage version of v1api20231102preview.ManagedClusterLoadBalancerProfile -// Profile of the managed cluster load balancer. type ManagedClusterLoadBalancerProfile struct { AllocatedOutboundPorts *int `json:"allocatedOutboundPorts,omitempty"` BackendPoolType *string `json:"backendPoolType,omitempty"` @@ -11511,7 +12168,7 @@ type ManagedClusterLoadBalancerProfile struct { } // AssignProperties_From_ManagedClusterLoadBalancerProfile populates our ManagedClusterLoadBalancerProfile from the provided source ManagedClusterLoadBalancerProfile -func (profile *ManagedClusterLoadBalancerProfile) AssignProperties_From_ManagedClusterLoadBalancerProfile(source *storage.ManagedClusterLoadBalancerProfile) error { +func (profile *ManagedClusterLoadBalancerProfile) AssignProperties_From_ManagedClusterLoadBalancerProfile(source *v20231001s.ManagedClusterLoadBalancerProfile) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -11607,7 +12264,7 @@ func (profile *ManagedClusterLoadBalancerProfile) AssignProperties_From_ManagedC } // AssignProperties_To_ManagedClusterLoadBalancerProfile populates the provided destination ManagedClusterLoadBalancerProfile from our ManagedClusterLoadBalancerProfile -func (profile *ManagedClusterLoadBalancerProfile) AssignProperties_To_ManagedClusterLoadBalancerProfile(destination *storage.ManagedClusterLoadBalancerProfile) error { +func (profile *ManagedClusterLoadBalancerProfile) AssignProperties_To_ManagedClusterLoadBalancerProfile(destination *v20231001s.ManagedClusterLoadBalancerProfile) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) @@ -11619,11 +12276,11 @@ func (profile *ManagedClusterLoadBalancerProfile) AssignProperties_To_ManagedClu // EffectiveOutboundIPs if profile.EffectiveOutboundIPs != nil { - effectiveOutboundIPList := make([]storage.ResourceReference, len(profile.EffectiveOutboundIPs)) + effectiveOutboundIPList := make([]v20231001s.ResourceReference, len(profile.EffectiveOutboundIPs)) for effectiveOutboundIPIndex, effectiveOutboundIPItem := range profile.EffectiveOutboundIPs { // Shadow the loop variable to avoid aliasing effectiveOutboundIPItem := effectiveOutboundIPItem - var effectiveOutboundIP storage.ResourceReference + var effectiveOutboundIP v20231001s.ResourceReference err := effectiveOutboundIPItem.AssignProperties_To_ResourceReference(&effectiveOutboundIP) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ResourceReference() to populate field EffectiveOutboundIPs") @@ -11648,7 +12305,7 @@ func (profile *ManagedClusterLoadBalancerProfile) AssignProperties_To_ManagedClu // ManagedOutboundIPs if profile.ManagedOutboundIPs != nil { - var managedOutboundIP storage.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs + var managedOutboundIP v20231001s.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs err := profile.ManagedOutboundIPs.AssignProperties_To_ManagedClusterLoadBalancerProfile_ManagedOutboundIPs(&managedOutboundIP) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterLoadBalancerProfile_ManagedOutboundIPs() to populate field ManagedOutboundIPs") @@ -11660,7 +12317,7 @@ func (profile *ManagedClusterLoadBalancerProfile) AssignProperties_To_ManagedClu // OutboundIPPrefixes if profile.OutboundIPPrefixes != nil { - var outboundIPPrefix storage.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes + var outboundIPPrefix v20231001s.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes err := profile.OutboundIPPrefixes.AssignProperties_To_ManagedClusterLoadBalancerProfile_OutboundIPPrefixes(&outboundIPPrefix) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterLoadBalancerProfile_OutboundIPPrefixes() to populate field OutboundIPPrefixes") @@ -11672,7 +12329,7 @@ func (profile *ManagedClusterLoadBalancerProfile) AssignProperties_To_ManagedClu // OutboundIPs if profile.OutboundIPs != nil { - var outboundIP storage.ManagedClusterLoadBalancerProfile_OutboundIPs + var outboundIP v20231001s.ManagedClusterLoadBalancerProfile_OutboundIPs err := profile.OutboundIPs.AssignProperties_To_ManagedClusterLoadBalancerProfile_OutboundIPs(&outboundIP) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterLoadBalancerProfile_OutboundIPs() to populate field OutboundIPs") @@ -11703,7 +12360,6 @@ func (profile *ManagedClusterLoadBalancerProfile) AssignProperties_To_ManagedClu } // Storage version of v1api20231102preview.ManagedClusterLoadBalancerProfile_STATUS -// Profile of the managed cluster load balancer. type ManagedClusterLoadBalancerProfile_STATUS struct { AllocatedOutboundPorts *int `json:"allocatedOutboundPorts,omitempty"` BackendPoolType *string `json:"backendPoolType,omitempty"` @@ -11717,7 +12373,7 @@ type ManagedClusterLoadBalancerProfile_STATUS struct { } // AssignProperties_From_ManagedClusterLoadBalancerProfile_STATUS populates our ManagedClusterLoadBalancerProfile_STATUS from the provided source ManagedClusterLoadBalancerProfile_STATUS -func (profile *ManagedClusterLoadBalancerProfile_STATUS) AssignProperties_From_ManagedClusterLoadBalancerProfile_STATUS(source *storage.ManagedClusterLoadBalancerProfile_STATUS) error { +func (profile *ManagedClusterLoadBalancerProfile_STATUS) AssignProperties_From_ManagedClusterLoadBalancerProfile_STATUS(source *v20231001s.ManagedClusterLoadBalancerProfile_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -11813,7 +12469,7 @@ func (profile *ManagedClusterLoadBalancerProfile_STATUS) AssignProperties_From_M } // AssignProperties_To_ManagedClusterLoadBalancerProfile_STATUS populates the provided destination ManagedClusterLoadBalancerProfile_STATUS from our ManagedClusterLoadBalancerProfile_STATUS -func (profile *ManagedClusterLoadBalancerProfile_STATUS) AssignProperties_To_ManagedClusterLoadBalancerProfile_STATUS(destination *storage.ManagedClusterLoadBalancerProfile_STATUS) error { +func (profile *ManagedClusterLoadBalancerProfile_STATUS) AssignProperties_To_ManagedClusterLoadBalancerProfile_STATUS(destination *v20231001s.ManagedClusterLoadBalancerProfile_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) @@ -11825,11 +12481,11 @@ func (profile *ManagedClusterLoadBalancerProfile_STATUS) AssignProperties_To_Man // EffectiveOutboundIPs if profile.EffectiveOutboundIPs != nil { - effectiveOutboundIPList := make([]storage.ResourceReference_STATUS, len(profile.EffectiveOutboundIPs)) + effectiveOutboundIPList := make([]v20231001s.ResourceReference_STATUS, len(profile.EffectiveOutboundIPs)) for effectiveOutboundIPIndex, effectiveOutboundIPItem := range profile.EffectiveOutboundIPs { // Shadow the loop variable to avoid aliasing effectiveOutboundIPItem := effectiveOutboundIPItem - var effectiveOutboundIP storage.ResourceReference_STATUS + var effectiveOutboundIP v20231001s.ResourceReference_STATUS err := effectiveOutboundIPItem.AssignProperties_To_ResourceReference_STATUS(&effectiveOutboundIP) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ResourceReference_STATUS() to populate field EffectiveOutboundIPs") @@ -11854,7 +12510,7 @@ func (profile *ManagedClusterLoadBalancerProfile_STATUS) AssignProperties_To_Man // ManagedOutboundIPs if profile.ManagedOutboundIPs != nil { - var managedOutboundIP storage.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS + var managedOutboundIP v20231001s.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS err := profile.ManagedOutboundIPs.AssignProperties_To_ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS(&managedOutboundIP) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS() to populate field ManagedOutboundIPs") @@ -11866,7 +12522,7 @@ func (profile *ManagedClusterLoadBalancerProfile_STATUS) AssignProperties_To_Man // OutboundIPPrefixes if profile.OutboundIPPrefixes != nil { - var outboundIPPrefix storage.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS + var outboundIPPrefix v20231001s.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS err := profile.OutboundIPPrefixes.AssignProperties_To_ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS(&outboundIPPrefix) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS() to populate field OutboundIPPrefixes") @@ -11878,7 +12534,7 @@ func (profile *ManagedClusterLoadBalancerProfile_STATUS) AssignProperties_To_Man // OutboundIPs if profile.OutboundIPs != nil { - var outboundIP storage.ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS + var outboundIP v20231001s.ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS err := profile.OutboundIPs.AssignProperties_To_ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS(&outboundIP) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS() to populate field OutboundIPs") @@ -11909,7 +12565,6 @@ func (profile *ManagedClusterLoadBalancerProfile_STATUS) AssignProperties_To_Man } // Storage version of v1api20231102preview.ManagedClusterNATGatewayProfile -// Profile of the managed cluster NAT gateway. type ManagedClusterNATGatewayProfile struct { EffectiveOutboundIPs []ResourceReference `json:"effectiveOutboundIPs,omitempty"` IdleTimeoutInMinutes *int `json:"idleTimeoutInMinutes,omitempty"` @@ -11918,7 +12573,7 @@ type ManagedClusterNATGatewayProfile struct { } // AssignProperties_From_ManagedClusterNATGatewayProfile populates our ManagedClusterNATGatewayProfile from the provided source ManagedClusterNATGatewayProfile -func (profile *ManagedClusterNATGatewayProfile) AssignProperties_From_ManagedClusterNATGatewayProfile(source *storage.ManagedClusterNATGatewayProfile) error { +func (profile *ManagedClusterNATGatewayProfile) AssignProperties_From_ManagedClusterNATGatewayProfile(source *v20231001s.ManagedClusterNATGatewayProfile) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -11976,17 +12631,17 @@ func (profile *ManagedClusterNATGatewayProfile) AssignProperties_From_ManagedClu } // AssignProperties_To_ManagedClusterNATGatewayProfile populates the provided destination ManagedClusterNATGatewayProfile from our ManagedClusterNATGatewayProfile -func (profile *ManagedClusterNATGatewayProfile) AssignProperties_To_ManagedClusterNATGatewayProfile(destination *storage.ManagedClusterNATGatewayProfile) error { +func (profile *ManagedClusterNATGatewayProfile) AssignProperties_To_ManagedClusterNATGatewayProfile(destination *v20231001s.ManagedClusterNATGatewayProfile) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) // EffectiveOutboundIPs if profile.EffectiveOutboundIPs != nil { - effectiveOutboundIPList := make([]storage.ResourceReference, len(profile.EffectiveOutboundIPs)) + effectiveOutboundIPList := make([]v20231001s.ResourceReference, len(profile.EffectiveOutboundIPs)) for effectiveOutboundIPIndex, effectiveOutboundIPItem := range profile.EffectiveOutboundIPs { // Shadow the loop variable to avoid aliasing effectiveOutboundIPItem := effectiveOutboundIPItem - var effectiveOutboundIP storage.ResourceReference + var effectiveOutboundIP v20231001s.ResourceReference err := effectiveOutboundIPItem.AssignProperties_To_ResourceReference(&effectiveOutboundIP) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ResourceReference() to populate field EffectiveOutboundIPs") @@ -12003,7 +12658,7 @@ func (profile *ManagedClusterNATGatewayProfile) AssignProperties_To_ManagedClust // ManagedOutboundIPProfile if profile.ManagedOutboundIPProfile != nil { - var managedOutboundIPProfile storage.ManagedClusterManagedOutboundIPProfile + var managedOutboundIPProfile v20231001s.ManagedClusterManagedOutboundIPProfile err := profile.ManagedOutboundIPProfile.AssignProperties_To_ManagedClusterManagedOutboundIPProfile(&managedOutboundIPProfile) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterManagedOutboundIPProfile() to populate field ManagedOutboundIPProfile") @@ -12034,7 +12689,6 @@ func (profile *ManagedClusterNATGatewayProfile) AssignProperties_To_ManagedClust } // Storage version of v1api20231102preview.ManagedClusterNATGatewayProfile_STATUS -// Profile of the managed cluster NAT gateway. type ManagedClusterNATGatewayProfile_STATUS struct { EffectiveOutboundIPs []ResourceReference_STATUS `json:"effectiveOutboundIPs,omitempty"` IdleTimeoutInMinutes *int `json:"idleTimeoutInMinutes,omitempty"` @@ -12043,7 +12697,7 @@ type ManagedClusterNATGatewayProfile_STATUS struct { } // AssignProperties_From_ManagedClusterNATGatewayProfile_STATUS populates our ManagedClusterNATGatewayProfile_STATUS from the provided source ManagedClusterNATGatewayProfile_STATUS -func (profile *ManagedClusterNATGatewayProfile_STATUS) AssignProperties_From_ManagedClusterNATGatewayProfile_STATUS(source *storage.ManagedClusterNATGatewayProfile_STATUS) error { +func (profile *ManagedClusterNATGatewayProfile_STATUS) AssignProperties_From_ManagedClusterNATGatewayProfile_STATUS(source *v20231001s.ManagedClusterNATGatewayProfile_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -12101,17 +12755,17 @@ func (profile *ManagedClusterNATGatewayProfile_STATUS) AssignProperties_From_Man } // AssignProperties_To_ManagedClusterNATGatewayProfile_STATUS populates the provided destination ManagedClusterNATGatewayProfile_STATUS from our ManagedClusterNATGatewayProfile_STATUS -func (profile *ManagedClusterNATGatewayProfile_STATUS) AssignProperties_To_ManagedClusterNATGatewayProfile_STATUS(destination *storage.ManagedClusterNATGatewayProfile_STATUS) error { +func (profile *ManagedClusterNATGatewayProfile_STATUS) AssignProperties_To_ManagedClusterNATGatewayProfile_STATUS(destination *v20231001s.ManagedClusterNATGatewayProfile_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) // EffectiveOutboundIPs if profile.EffectiveOutboundIPs != nil { - effectiveOutboundIPList := make([]storage.ResourceReference_STATUS, len(profile.EffectiveOutboundIPs)) + effectiveOutboundIPList := make([]v20231001s.ResourceReference_STATUS, len(profile.EffectiveOutboundIPs)) for effectiveOutboundIPIndex, effectiveOutboundIPItem := range profile.EffectiveOutboundIPs { // Shadow the loop variable to avoid aliasing effectiveOutboundIPItem := effectiveOutboundIPItem - var effectiveOutboundIP storage.ResourceReference_STATUS + var effectiveOutboundIP v20231001s.ResourceReference_STATUS err := effectiveOutboundIPItem.AssignProperties_To_ResourceReference_STATUS(&effectiveOutboundIP) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ResourceReference_STATUS() to populate field EffectiveOutboundIPs") @@ -12128,7 +12782,7 @@ func (profile *ManagedClusterNATGatewayProfile_STATUS) AssignProperties_To_Manag // ManagedOutboundIPProfile if profile.ManagedOutboundIPProfile != nil { - var managedOutboundIPProfile storage.ManagedClusterManagedOutboundIPProfile_STATUS + var managedOutboundIPProfile v20231001s.ManagedClusterManagedOutboundIPProfile_STATUS err := profile.ManagedOutboundIPProfile.AssignProperties_To_ManagedClusterManagedOutboundIPProfile_STATUS(&managedOutboundIPProfile) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterManagedOutboundIPProfile_STATUS() to populate field ManagedOutboundIPProfile") @@ -12165,7 +12819,7 @@ type ManagedClusterOperatorConfigMaps struct { } // AssignProperties_From_ManagedClusterOperatorConfigMaps populates our ManagedClusterOperatorConfigMaps from the provided source ManagedClusterOperatorConfigMaps -func (maps *ManagedClusterOperatorConfigMaps) AssignProperties_From_ManagedClusterOperatorConfigMaps(source *storage.ManagedClusterOperatorConfigMaps) error { +func (maps *ManagedClusterOperatorConfigMaps) AssignProperties_From_ManagedClusterOperatorConfigMaps(source *v20231001s.ManagedClusterOperatorConfigMaps) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -12205,7 +12859,7 @@ func (maps *ManagedClusterOperatorConfigMaps) AssignProperties_From_ManagedClust } // AssignProperties_To_ManagedClusterOperatorConfigMaps populates the provided destination ManagedClusterOperatorConfigMaps from our ManagedClusterOperatorConfigMaps -func (maps *ManagedClusterOperatorConfigMaps) AssignProperties_To_ManagedClusterOperatorConfigMaps(destination *storage.ManagedClusterOperatorConfigMaps) error { +func (maps *ManagedClusterOperatorConfigMaps) AssignProperties_To_ManagedClusterOperatorConfigMaps(destination *v20231001s.ManagedClusterOperatorConfigMaps) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(maps.PropertyBag) @@ -12258,7 +12912,7 @@ type ManagedClusterOperatorSecrets struct { } // AssignProperties_From_ManagedClusterOperatorSecrets populates our ManagedClusterOperatorSecrets from the provided source ManagedClusterOperatorSecrets -func (secrets *ManagedClusterOperatorSecrets) AssignProperties_From_ManagedClusterOperatorSecrets(source *storage.ManagedClusterOperatorSecrets) error { +func (secrets *ManagedClusterOperatorSecrets) AssignProperties_From_ManagedClusterOperatorSecrets(source *v20231001s.ManagedClusterOperatorSecrets) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -12299,7 +12953,7 @@ func (secrets *ManagedClusterOperatorSecrets) AssignProperties_From_ManagedClust } // AssignProperties_To_ManagedClusterOperatorSecrets populates the provided destination ManagedClusterOperatorSecrets from our ManagedClusterOperatorSecrets -func (secrets *ManagedClusterOperatorSecrets) AssignProperties_To_ManagedClusterOperatorSecrets(destination *storage.ManagedClusterOperatorSecrets) error { +func (secrets *ManagedClusterOperatorSecrets) AssignProperties_To_ManagedClusterOperatorSecrets(destination *v20231001s.ManagedClusterOperatorSecrets) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(secrets.PropertyBag) @@ -12340,7 +12994,6 @@ func (secrets *ManagedClusterOperatorSecrets) AssignProperties_To_ManagedCluster } // Storage version of v1api20231102preview.ManagedClusterPodIdentity -// Details about the pod identity assigned to the Managed Cluster. type ManagedClusterPodIdentity struct { BindingSelector *string `json:"bindingSelector,omitempty"` Identity *UserAssignedIdentity `json:"identity,omitempty"` @@ -12350,7 +13003,7 @@ type ManagedClusterPodIdentity struct { } // AssignProperties_From_ManagedClusterPodIdentity populates our ManagedClusterPodIdentity from the provided source ManagedClusterPodIdentity -func (identity *ManagedClusterPodIdentity) AssignProperties_From_ManagedClusterPodIdentity(source *storage.ManagedClusterPodIdentity) error { +func (identity *ManagedClusterPodIdentity) AssignProperties_From_ManagedClusterPodIdentity(source *v20231001s.ManagedClusterPodIdentity) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -12396,7 +13049,7 @@ func (identity *ManagedClusterPodIdentity) AssignProperties_From_ManagedClusterP } // AssignProperties_To_ManagedClusterPodIdentity populates the provided destination ManagedClusterPodIdentity from our ManagedClusterPodIdentity -func (identity *ManagedClusterPodIdentity) AssignProperties_To_ManagedClusterPodIdentity(destination *storage.ManagedClusterPodIdentity) error { +func (identity *ManagedClusterPodIdentity) AssignProperties_To_ManagedClusterPodIdentity(destination *v20231001s.ManagedClusterPodIdentity) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(identity.PropertyBag) @@ -12405,7 +13058,7 @@ func (identity *ManagedClusterPodIdentity) AssignProperties_To_ManagedClusterPod // Identity if identity.Identity != nil { - var identityLocal storage.UserAssignedIdentity + var identityLocal v20231001s.UserAssignedIdentity err := identity.Identity.AssignProperties_To_UserAssignedIdentity(&identityLocal) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_UserAssignedIdentity() to populate field Identity") @@ -12442,7 +13095,6 @@ func (identity *ManagedClusterPodIdentity) AssignProperties_To_ManagedClusterPod } // Storage version of v1api20231102preview.ManagedClusterPodIdentity_STATUS -// Details about the pod identity assigned to the Managed Cluster. type ManagedClusterPodIdentity_STATUS struct { BindingSelector *string `json:"bindingSelector,omitempty"` Identity *UserAssignedIdentity_STATUS `json:"identity,omitempty"` @@ -12454,7 +13106,7 @@ type ManagedClusterPodIdentity_STATUS struct { } // AssignProperties_From_ManagedClusterPodIdentity_STATUS populates our ManagedClusterPodIdentity_STATUS from the provided source ManagedClusterPodIdentity_STATUS -func (identity *ManagedClusterPodIdentity_STATUS) AssignProperties_From_ManagedClusterPodIdentity_STATUS(source *storage.ManagedClusterPodIdentity_STATUS) error { +func (identity *ManagedClusterPodIdentity_STATUS) AssignProperties_From_ManagedClusterPodIdentity_STATUS(source *v20231001s.ManagedClusterPodIdentity_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -12515,7 +13167,7 @@ func (identity *ManagedClusterPodIdentity_STATUS) AssignProperties_From_ManagedC } // AssignProperties_To_ManagedClusterPodIdentity_STATUS populates the provided destination ManagedClusterPodIdentity_STATUS from our ManagedClusterPodIdentity_STATUS -func (identity *ManagedClusterPodIdentity_STATUS) AssignProperties_To_ManagedClusterPodIdentity_STATUS(destination *storage.ManagedClusterPodIdentity_STATUS) error { +func (identity *ManagedClusterPodIdentity_STATUS) AssignProperties_To_ManagedClusterPodIdentity_STATUS(destination *v20231001s.ManagedClusterPodIdentity_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(identity.PropertyBag) @@ -12524,7 +13176,7 @@ func (identity *ManagedClusterPodIdentity_STATUS) AssignProperties_To_ManagedClu // Identity if identity.Identity != nil { - var identityLocal storage.UserAssignedIdentity_STATUS + var identityLocal v20231001s.UserAssignedIdentity_STATUS err := identity.Identity.AssignProperties_To_UserAssignedIdentity_STATUS(&identityLocal) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_UserAssignedIdentity_STATUS() to populate field Identity") @@ -12542,7 +13194,7 @@ func (identity *ManagedClusterPodIdentity_STATUS) AssignProperties_To_ManagedClu // ProvisioningInfo if identity.ProvisioningInfo != nil { - var provisioningInfo storage.ManagedClusterPodIdentity_ProvisioningInfo_STATUS + var provisioningInfo v20231001s.ManagedClusterPodIdentity_ProvisioningInfo_STATUS err := identity.ProvisioningInfo.AssignProperties_To_ManagedClusterPodIdentity_ProvisioningInfo_STATUS(&provisioningInfo) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterPodIdentity_ProvisioningInfo_STATUS() to populate field ProvisioningInfo") @@ -12576,8 +13228,6 @@ func (identity *ManagedClusterPodIdentity_STATUS) AssignProperties_To_ManagedClu } // Storage version of v1api20231102preview.ManagedClusterPodIdentityException -// See [disable AAD Pod Identity for a specific -// Pod/Application](https://azure.github.io/aad-pod-identity/docs/configure/application_exception/) for more details. type ManagedClusterPodIdentityException struct { Name *string `json:"name,omitempty"` Namespace *string `json:"namespace,omitempty"` @@ -12586,7 +13236,7 @@ type ManagedClusterPodIdentityException struct { } // AssignProperties_From_ManagedClusterPodIdentityException populates our ManagedClusterPodIdentityException from the provided source ManagedClusterPodIdentityException -func (exception *ManagedClusterPodIdentityException) AssignProperties_From_ManagedClusterPodIdentityException(source *storage.ManagedClusterPodIdentityException) error { +func (exception *ManagedClusterPodIdentityException) AssignProperties_From_ManagedClusterPodIdentityException(source *v20231001s.ManagedClusterPodIdentityException) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -12620,7 +13270,7 @@ func (exception *ManagedClusterPodIdentityException) AssignProperties_From_Manag } // AssignProperties_To_ManagedClusterPodIdentityException populates the provided destination ManagedClusterPodIdentityException from our ManagedClusterPodIdentityException -func (exception *ManagedClusterPodIdentityException) AssignProperties_To_ManagedClusterPodIdentityException(destination *storage.ManagedClusterPodIdentityException) error { +func (exception *ManagedClusterPodIdentityException) AssignProperties_To_ManagedClusterPodIdentityException(destination *v20231001s.ManagedClusterPodIdentityException) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(exception.PropertyBag) @@ -12654,8 +13304,6 @@ func (exception *ManagedClusterPodIdentityException) AssignProperties_To_Managed } // Storage version of v1api20231102preview.ManagedClusterPodIdentityException_STATUS -// See [disable AAD Pod Identity for a specific -// Pod/Application](https://azure.github.io/aad-pod-identity/docs/configure/application_exception/) for more details. type ManagedClusterPodIdentityException_STATUS struct { Name *string `json:"name,omitempty"` Namespace *string `json:"namespace,omitempty"` @@ -12664,7 +13312,7 @@ type ManagedClusterPodIdentityException_STATUS struct { } // AssignProperties_From_ManagedClusterPodIdentityException_STATUS populates our ManagedClusterPodIdentityException_STATUS from the provided source ManagedClusterPodIdentityException_STATUS -func (exception *ManagedClusterPodIdentityException_STATUS) AssignProperties_From_ManagedClusterPodIdentityException_STATUS(source *storage.ManagedClusterPodIdentityException_STATUS) error { +func (exception *ManagedClusterPodIdentityException_STATUS) AssignProperties_From_ManagedClusterPodIdentityException_STATUS(source *v20231001s.ManagedClusterPodIdentityException_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -12698,7 +13346,7 @@ func (exception *ManagedClusterPodIdentityException_STATUS) AssignProperties_Fro } // AssignProperties_To_ManagedClusterPodIdentityException_STATUS populates the provided destination ManagedClusterPodIdentityException_STATUS from our ManagedClusterPodIdentityException_STATUS -func (exception *ManagedClusterPodIdentityException_STATUS) AssignProperties_To_ManagedClusterPodIdentityException_STATUS(destination *storage.ManagedClusterPodIdentityException_STATUS) error { +func (exception *ManagedClusterPodIdentityException_STATUS) AssignProperties_To_ManagedClusterPodIdentityException_STATUS(destination *v20231001s.ManagedClusterPodIdentityException_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(exception.PropertyBag) @@ -12732,18 +13380,14 @@ func (exception *ManagedClusterPodIdentityException_STATUS) AssignProperties_To_ } // Storage version of v1api20231102preview.ManagedClusterSecurityProfileDefender -// Microsoft Defender settings for the security profile. type ManagedClusterSecurityProfileDefender struct { - // LogAnalyticsWorkspaceResourceReference: Resource ID of the Log Analytics workspace to be associated with Microsoft - // Defender. When Microsoft Defender is enabled, this field is required and must be a valid workspace resource ID. When - // Microsoft Defender is disabled, leave the field empty. LogAnalyticsWorkspaceResourceReference *genruntime.ResourceReference `armReference:"LogAnalyticsWorkspaceResourceId" json:"logAnalyticsWorkspaceResourceReference,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` SecurityMonitoring *ManagedClusterSecurityProfileDefenderSecurityMonitoring `json:"securityMonitoring,omitempty"` } // AssignProperties_From_ManagedClusterSecurityProfileDefender populates our ManagedClusterSecurityProfileDefender from the provided source ManagedClusterSecurityProfileDefender -func (defender *ManagedClusterSecurityProfileDefender) AssignProperties_From_ManagedClusterSecurityProfileDefender(source *storage.ManagedClusterSecurityProfileDefender) error { +func (defender *ManagedClusterSecurityProfileDefender) AssignProperties_From_ManagedClusterSecurityProfileDefender(source *v20231001s.ManagedClusterSecurityProfileDefender) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -12788,7 +13432,7 @@ func (defender *ManagedClusterSecurityProfileDefender) AssignProperties_From_Man } // AssignProperties_To_ManagedClusterSecurityProfileDefender populates the provided destination ManagedClusterSecurityProfileDefender from our ManagedClusterSecurityProfileDefender -func (defender *ManagedClusterSecurityProfileDefender) AssignProperties_To_ManagedClusterSecurityProfileDefender(destination *storage.ManagedClusterSecurityProfileDefender) error { +func (defender *ManagedClusterSecurityProfileDefender) AssignProperties_To_ManagedClusterSecurityProfileDefender(destination *v20231001s.ManagedClusterSecurityProfileDefender) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(defender.PropertyBag) @@ -12802,7 +13446,7 @@ func (defender *ManagedClusterSecurityProfileDefender) AssignProperties_To_Manag // SecurityMonitoring if defender.SecurityMonitoring != nil { - var securityMonitoring storage.ManagedClusterSecurityProfileDefenderSecurityMonitoring + var securityMonitoring v20231001s.ManagedClusterSecurityProfileDefenderSecurityMonitoring err := defender.SecurityMonitoring.AssignProperties_To_ManagedClusterSecurityProfileDefenderSecurityMonitoring(&securityMonitoring) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterSecurityProfileDefenderSecurityMonitoring() to populate field SecurityMonitoring") @@ -12833,7 +13477,6 @@ func (defender *ManagedClusterSecurityProfileDefender) AssignProperties_To_Manag } // Storage version of v1api20231102preview.ManagedClusterSecurityProfileDefender_STATUS -// Microsoft Defender settings for the security profile. type ManagedClusterSecurityProfileDefender_STATUS struct { LogAnalyticsWorkspaceResourceId *string `json:"logAnalyticsWorkspaceResourceId,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` @@ -12841,7 +13484,7 @@ type ManagedClusterSecurityProfileDefender_STATUS struct { } // AssignProperties_From_ManagedClusterSecurityProfileDefender_STATUS populates our ManagedClusterSecurityProfileDefender_STATUS from the provided source ManagedClusterSecurityProfileDefender_STATUS -func (defender *ManagedClusterSecurityProfileDefender_STATUS) AssignProperties_From_ManagedClusterSecurityProfileDefender_STATUS(source *storage.ManagedClusterSecurityProfileDefender_STATUS) error { +func (defender *ManagedClusterSecurityProfileDefender_STATUS) AssignProperties_From_ManagedClusterSecurityProfileDefender_STATUS(source *v20231001s.ManagedClusterSecurityProfileDefender_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -12881,7 +13524,7 @@ func (defender *ManagedClusterSecurityProfileDefender_STATUS) AssignProperties_F } // AssignProperties_To_ManagedClusterSecurityProfileDefender_STATUS populates the provided destination ManagedClusterSecurityProfileDefender_STATUS from our ManagedClusterSecurityProfileDefender_STATUS -func (defender *ManagedClusterSecurityProfileDefender_STATUS) AssignProperties_To_ManagedClusterSecurityProfileDefender_STATUS(destination *storage.ManagedClusterSecurityProfileDefender_STATUS) error { +func (defender *ManagedClusterSecurityProfileDefender_STATUS) AssignProperties_To_ManagedClusterSecurityProfileDefender_STATUS(destination *v20231001s.ManagedClusterSecurityProfileDefender_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(defender.PropertyBag) @@ -12890,7 +13533,7 @@ func (defender *ManagedClusterSecurityProfileDefender_STATUS) AssignProperties_T // SecurityMonitoring if defender.SecurityMonitoring != nil { - var securityMonitoring storage.ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS + var securityMonitoring v20231001s.ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS err := defender.SecurityMonitoring.AssignProperties_To_ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS(&securityMonitoring) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS() to populate field SecurityMonitoring") @@ -12921,8 +13564,6 @@ func (defender *ManagedClusterSecurityProfileDefender_STATUS) AssignProperties_T } // Storage version of v1api20231102preview.ManagedClusterSecurityProfileImageCleaner -// Image Cleaner removes unused images from nodes, freeing up disk space and helping to reduce attack surface area. Here -// are settings for the security profile. type ManagedClusterSecurityProfileImageCleaner struct { Enabled *bool `json:"enabled,omitempty"` IntervalHours *int `json:"intervalHours,omitempty"` @@ -12930,7 +13571,7 @@ type ManagedClusterSecurityProfileImageCleaner struct { } // AssignProperties_From_ManagedClusterSecurityProfileImageCleaner populates our ManagedClusterSecurityProfileImageCleaner from the provided source ManagedClusterSecurityProfileImageCleaner -func (cleaner *ManagedClusterSecurityProfileImageCleaner) AssignProperties_From_ManagedClusterSecurityProfileImageCleaner(source *storage.ManagedClusterSecurityProfileImageCleaner) error { +func (cleaner *ManagedClusterSecurityProfileImageCleaner) AssignProperties_From_ManagedClusterSecurityProfileImageCleaner(source *v20231001s.ManagedClusterSecurityProfileImageCleaner) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -12966,7 +13607,7 @@ func (cleaner *ManagedClusterSecurityProfileImageCleaner) AssignProperties_From_ } // AssignProperties_To_ManagedClusterSecurityProfileImageCleaner populates the provided destination ManagedClusterSecurityProfileImageCleaner from our ManagedClusterSecurityProfileImageCleaner -func (cleaner *ManagedClusterSecurityProfileImageCleaner) AssignProperties_To_ManagedClusterSecurityProfileImageCleaner(destination *storage.ManagedClusterSecurityProfileImageCleaner) error { +func (cleaner *ManagedClusterSecurityProfileImageCleaner) AssignProperties_To_ManagedClusterSecurityProfileImageCleaner(destination *v20231001s.ManagedClusterSecurityProfileImageCleaner) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(cleaner.PropertyBag) @@ -13002,8 +13643,6 @@ func (cleaner *ManagedClusterSecurityProfileImageCleaner) AssignProperties_To_Ma } // Storage version of v1api20231102preview.ManagedClusterSecurityProfileImageCleaner_STATUS -// Image Cleaner removes unused images from nodes, freeing up disk space and helping to reduce attack surface area. Here -// are settings for the security profile. type ManagedClusterSecurityProfileImageCleaner_STATUS struct { Enabled *bool `json:"enabled,omitempty"` IntervalHours *int `json:"intervalHours,omitempty"` @@ -13011,7 +13650,7 @@ type ManagedClusterSecurityProfileImageCleaner_STATUS struct { } // AssignProperties_From_ManagedClusterSecurityProfileImageCleaner_STATUS populates our ManagedClusterSecurityProfileImageCleaner_STATUS from the provided source ManagedClusterSecurityProfileImageCleaner_STATUS -func (cleaner *ManagedClusterSecurityProfileImageCleaner_STATUS) AssignProperties_From_ManagedClusterSecurityProfileImageCleaner_STATUS(source *storage.ManagedClusterSecurityProfileImageCleaner_STATUS) error { +func (cleaner *ManagedClusterSecurityProfileImageCleaner_STATUS) AssignProperties_From_ManagedClusterSecurityProfileImageCleaner_STATUS(source *v20231001s.ManagedClusterSecurityProfileImageCleaner_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -13047,7 +13686,7 @@ func (cleaner *ManagedClusterSecurityProfileImageCleaner_STATUS) AssignPropertie } // AssignProperties_To_ManagedClusterSecurityProfileImageCleaner_STATUS populates the provided destination ManagedClusterSecurityProfileImageCleaner_STATUS from our ManagedClusterSecurityProfileImageCleaner_STATUS -func (cleaner *ManagedClusterSecurityProfileImageCleaner_STATUS) AssignProperties_To_ManagedClusterSecurityProfileImageCleaner_STATUS(destination *storage.ManagedClusterSecurityProfileImageCleaner_STATUS) error { +func (cleaner *ManagedClusterSecurityProfileImageCleaner_STATUS) AssignProperties_To_ManagedClusterSecurityProfileImageCleaner_STATUS(destination *v20231001s.ManagedClusterSecurityProfileImageCleaner_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(cleaner.PropertyBag) @@ -13083,42 +13722,37 @@ func (cleaner *ManagedClusterSecurityProfileImageCleaner_STATUS) AssignPropertie } // Storage version of v1api20231102preview.ManagedClusterSecurityProfileImageIntegrity -// Image integrity related settings for the security profile. type ManagedClusterSecurityProfileImageIntegrity struct { Enabled *bool `json:"enabled,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` } // Storage version of v1api20231102preview.ManagedClusterSecurityProfileImageIntegrity_STATUS -// Image integrity related settings for the security profile. type ManagedClusterSecurityProfileImageIntegrity_STATUS struct { Enabled *bool `json:"enabled,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` } // Storage version of v1api20231102preview.ManagedClusterSecurityProfileNodeRestriction -// Node Restriction settings for the security profile. type ManagedClusterSecurityProfileNodeRestriction struct { Enabled *bool `json:"enabled,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` } // Storage version of v1api20231102preview.ManagedClusterSecurityProfileNodeRestriction_STATUS -// Node Restriction settings for the security profile. type ManagedClusterSecurityProfileNodeRestriction_STATUS struct { Enabled *bool `json:"enabled,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` } // Storage version of v1api20231102preview.ManagedClusterSecurityProfileWorkloadIdentity -// Workload identity settings for the security profile. type ManagedClusterSecurityProfileWorkloadIdentity struct { Enabled *bool `json:"enabled,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` } // AssignProperties_From_ManagedClusterSecurityProfileWorkloadIdentity populates our ManagedClusterSecurityProfileWorkloadIdentity from the provided source ManagedClusterSecurityProfileWorkloadIdentity -func (identity *ManagedClusterSecurityProfileWorkloadIdentity) AssignProperties_From_ManagedClusterSecurityProfileWorkloadIdentity(source *storage.ManagedClusterSecurityProfileWorkloadIdentity) error { +func (identity *ManagedClusterSecurityProfileWorkloadIdentity) AssignProperties_From_ManagedClusterSecurityProfileWorkloadIdentity(source *v20231001s.ManagedClusterSecurityProfileWorkloadIdentity) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -13151,7 +13785,7 @@ func (identity *ManagedClusterSecurityProfileWorkloadIdentity) AssignProperties_ } // AssignProperties_To_ManagedClusterSecurityProfileWorkloadIdentity populates the provided destination ManagedClusterSecurityProfileWorkloadIdentity from our ManagedClusterSecurityProfileWorkloadIdentity -func (identity *ManagedClusterSecurityProfileWorkloadIdentity) AssignProperties_To_ManagedClusterSecurityProfileWorkloadIdentity(destination *storage.ManagedClusterSecurityProfileWorkloadIdentity) error { +func (identity *ManagedClusterSecurityProfileWorkloadIdentity) AssignProperties_To_ManagedClusterSecurityProfileWorkloadIdentity(destination *v20231001s.ManagedClusterSecurityProfileWorkloadIdentity) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(identity.PropertyBag) @@ -13184,14 +13818,13 @@ func (identity *ManagedClusterSecurityProfileWorkloadIdentity) AssignProperties_ } // Storage version of v1api20231102preview.ManagedClusterSecurityProfileWorkloadIdentity_STATUS -// Workload identity settings for the security profile. type ManagedClusterSecurityProfileWorkloadIdentity_STATUS struct { Enabled *bool `json:"enabled,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` } // AssignProperties_From_ManagedClusterSecurityProfileWorkloadIdentity_STATUS populates our ManagedClusterSecurityProfileWorkloadIdentity_STATUS from the provided source ManagedClusterSecurityProfileWorkloadIdentity_STATUS -func (identity *ManagedClusterSecurityProfileWorkloadIdentity_STATUS) AssignProperties_From_ManagedClusterSecurityProfileWorkloadIdentity_STATUS(source *storage.ManagedClusterSecurityProfileWorkloadIdentity_STATUS) error { +func (identity *ManagedClusterSecurityProfileWorkloadIdentity_STATUS) AssignProperties_From_ManagedClusterSecurityProfileWorkloadIdentity_STATUS(source *v20231001s.ManagedClusterSecurityProfileWorkloadIdentity_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -13224,7 +13857,7 @@ func (identity *ManagedClusterSecurityProfileWorkloadIdentity_STATUS) AssignProp } // AssignProperties_To_ManagedClusterSecurityProfileWorkloadIdentity_STATUS populates the provided destination ManagedClusterSecurityProfileWorkloadIdentity_STATUS from our ManagedClusterSecurityProfileWorkloadIdentity_STATUS -func (identity *ManagedClusterSecurityProfileWorkloadIdentity_STATUS) AssignProperties_To_ManagedClusterSecurityProfileWorkloadIdentity_STATUS(destination *storage.ManagedClusterSecurityProfileWorkloadIdentity_STATUS) error { +func (identity *ManagedClusterSecurityProfileWorkloadIdentity_STATUS) AssignProperties_To_ManagedClusterSecurityProfileWorkloadIdentity_STATUS(destination *v20231001s.ManagedClusterSecurityProfileWorkloadIdentity_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(identity.PropertyBag) @@ -13257,14 +13890,13 @@ func (identity *ManagedClusterSecurityProfileWorkloadIdentity_STATUS) AssignProp } // Storage version of v1api20231102preview.ManagedClusterStorageProfileBlobCSIDriver -// AzureBlob CSI Driver settings for the storage profile. type ManagedClusterStorageProfileBlobCSIDriver struct { Enabled *bool `json:"enabled,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` } // AssignProperties_From_ManagedClusterStorageProfileBlobCSIDriver populates our ManagedClusterStorageProfileBlobCSIDriver from the provided source ManagedClusterStorageProfileBlobCSIDriver -func (driver *ManagedClusterStorageProfileBlobCSIDriver) AssignProperties_From_ManagedClusterStorageProfileBlobCSIDriver(source *storage.ManagedClusterStorageProfileBlobCSIDriver) error { +func (driver *ManagedClusterStorageProfileBlobCSIDriver) AssignProperties_From_ManagedClusterStorageProfileBlobCSIDriver(source *v20231001s.ManagedClusterStorageProfileBlobCSIDriver) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -13297,7 +13929,7 @@ func (driver *ManagedClusterStorageProfileBlobCSIDriver) AssignProperties_From_M } // AssignProperties_To_ManagedClusterStorageProfileBlobCSIDriver populates the provided destination ManagedClusterStorageProfileBlobCSIDriver from our ManagedClusterStorageProfileBlobCSIDriver -func (driver *ManagedClusterStorageProfileBlobCSIDriver) AssignProperties_To_ManagedClusterStorageProfileBlobCSIDriver(destination *storage.ManagedClusterStorageProfileBlobCSIDriver) error { +func (driver *ManagedClusterStorageProfileBlobCSIDriver) AssignProperties_To_ManagedClusterStorageProfileBlobCSIDriver(destination *v20231001s.ManagedClusterStorageProfileBlobCSIDriver) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(driver.PropertyBag) @@ -13330,14 +13962,13 @@ func (driver *ManagedClusterStorageProfileBlobCSIDriver) AssignProperties_To_Man } // Storage version of v1api20231102preview.ManagedClusterStorageProfileBlobCSIDriver_STATUS -// AzureBlob CSI Driver settings for the storage profile. type ManagedClusterStorageProfileBlobCSIDriver_STATUS struct { Enabled *bool `json:"enabled,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` } // AssignProperties_From_ManagedClusterStorageProfileBlobCSIDriver_STATUS populates our ManagedClusterStorageProfileBlobCSIDriver_STATUS from the provided source ManagedClusterStorageProfileBlobCSIDriver_STATUS -func (driver *ManagedClusterStorageProfileBlobCSIDriver_STATUS) AssignProperties_From_ManagedClusterStorageProfileBlobCSIDriver_STATUS(source *storage.ManagedClusterStorageProfileBlobCSIDriver_STATUS) error { +func (driver *ManagedClusterStorageProfileBlobCSIDriver_STATUS) AssignProperties_From_ManagedClusterStorageProfileBlobCSIDriver_STATUS(source *v20231001s.ManagedClusterStorageProfileBlobCSIDriver_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -13370,7 +14001,7 @@ func (driver *ManagedClusterStorageProfileBlobCSIDriver_STATUS) AssignProperties } // AssignProperties_To_ManagedClusterStorageProfileBlobCSIDriver_STATUS populates the provided destination ManagedClusterStorageProfileBlobCSIDriver_STATUS from our ManagedClusterStorageProfileBlobCSIDriver_STATUS -func (driver *ManagedClusterStorageProfileBlobCSIDriver_STATUS) AssignProperties_To_ManagedClusterStorageProfileBlobCSIDriver_STATUS(destination *storage.ManagedClusterStorageProfileBlobCSIDriver_STATUS) error { +func (driver *ManagedClusterStorageProfileBlobCSIDriver_STATUS) AssignProperties_To_ManagedClusterStorageProfileBlobCSIDriver_STATUS(destination *v20231001s.ManagedClusterStorageProfileBlobCSIDriver_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(driver.PropertyBag) @@ -13403,7 +14034,6 @@ func (driver *ManagedClusterStorageProfileBlobCSIDriver_STATUS) AssignProperties } // Storage version of v1api20231102preview.ManagedClusterStorageProfileDiskCSIDriver -// AzureDisk CSI Driver settings for the storage profile. type ManagedClusterStorageProfileDiskCSIDriver struct { Enabled *bool `json:"enabled,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` @@ -13411,7 +14041,7 @@ type ManagedClusterStorageProfileDiskCSIDriver struct { } // AssignProperties_From_ManagedClusterStorageProfileDiskCSIDriver populates our ManagedClusterStorageProfileDiskCSIDriver from the provided source ManagedClusterStorageProfileDiskCSIDriver -func (driver *ManagedClusterStorageProfileDiskCSIDriver) AssignProperties_From_ManagedClusterStorageProfileDiskCSIDriver(source *storage.ManagedClusterStorageProfileDiskCSIDriver) error { +func (driver *ManagedClusterStorageProfileDiskCSIDriver) AssignProperties_From_ManagedClusterStorageProfileDiskCSIDriver(source *v20231001s.ManagedClusterStorageProfileDiskCSIDriver) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -13457,7 +14087,7 @@ func (driver *ManagedClusterStorageProfileDiskCSIDriver) AssignProperties_From_M } // AssignProperties_To_ManagedClusterStorageProfileDiskCSIDriver populates the provided destination ManagedClusterStorageProfileDiskCSIDriver from our ManagedClusterStorageProfileDiskCSIDriver -func (driver *ManagedClusterStorageProfileDiskCSIDriver) AssignProperties_To_ManagedClusterStorageProfileDiskCSIDriver(destination *storage.ManagedClusterStorageProfileDiskCSIDriver) error { +func (driver *ManagedClusterStorageProfileDiskCSIDriver) AssignProperties_To_ManagedClusterStorageProfileDiskCSIDriver(destination *v20231001s.ManagedClusterStorageProfileDiskCSIDriver) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(driver.PropertyBag) @@ -13497,7 +14127,6 @@ func (driver *ManagedClusterStorageProfileDiskCSIDriver) AssignProperties_To_Man } // Storage version of v1api20231102preview.ManagedClusterStorageProfileDiskCSIDriver_STATUS -// AzureDisk CSI Driver settings for the storage profile. type ManagedClusterStorageProfileDiskCSIDriver_STATUS struct { Enabled *bool `json:"enabled,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` @@ -13505,7 +14134,7 @@ type ManagedClusterStorageProfileDiskCSIDriver_STATUS struct { } // AssignProperties_From_ManagedClusterStorageProfileDiskCSIDriver_STATUS populates our ManagedClusterStorageProfileDiskCSIDriver_STATUS from the provided source ManagedClusterStorageProfileDiskCSIDriver_STATUS -func (driver *ManagedClusterStorageProfileDiskCSIDriver_STATUS) AssignProperties_From_ManagedClusterStorageProfileDiskCSIDriver_STATUS(source *storage.ManagedClusterStorageProfileDiskCSIDriver_STATUS) error { +func (driver *ManagedClusterStorageProfileDiskCSIDriver_STATUS) AssignProperties_From_ManagedClusterStorageProfileDiskCSIDriver_STATUS(source *v20231001s.ManagedClusterStorageProfileDiskCSIDriver_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -13551,7 +14180,7 @@ func (driver *ManagedClusterStorageProfileDiskCSIDriver_STATUS) AssignProperties } // AssignProperties_To_ManagedClusterStorageProfileDiskCSIDriver_STATUS populates the provided destination ManagedClusterStorageProfileDiskCSIDriver_STATUS from our ManagedClusterStorageProfileDiskCSIDriver_STATUS -func (driver *ManagedClusterStorageProfileDiskCSIDriver_STATUS) AssignProperties_To_ManagedClusterStorageProfileDiskCSIDriver_STATUS(destination *storage.ManagedClusterStorageProfileDiskCSIDriver_STATUS) error { +func (driver *ManagedClusterStorageProfileDiskCSIDriver_STATUS) AssignProperties_To_ManagedClusterStorageProfileDiskCSIDriver_STATUS(destination *v20231001s.ManagedClusterStorageProfileDiskCSIDriver_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(driver.PropertyBag) @@ -13591,14 +14220,13 @@ func (driver *ManagedClusterStorageProfileDiskCSIDriver_STATUS) AssignProperties } // Storage version of v1api20231102preview.ManagedClusterStorageProfileFileCSIDriver -// AzureFile CSI Driver settings for the storage profile. type ManagedClusterStorageProfileFileCSIDriver struct { Enabled *bool `json:"enabled,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` } // AssignProperties_From_ManagedClusterStorageProfileFileCSIDriver populates our ManagedClusterStorageProfileFileCSIDriver from the provided source ManagedClusterStorageProfileFileCSIDriver -func (driver *ManagedClusterStorageProfileFileCSIDriver) AssignProperties_From_ManagedClusterStorageProfileFileCSIDriver(source *storage.ManagedClusterStorageProfileFileCSIDriver) error { +func (driver *ManagedClusterStorageProfileFileCSIDriver) AssignProperties_From_ManagedClusterStorageProfileFileCSIDriver(source *v20231001s.ManagedClusterStorageProfileFileCSIDriver) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -13631,7 +14259,7 @@ func (driver *ManagedClusterStorageProfileFileCSIDriver) AssignProperties_From_M } // AssignProperties_To_ManagedClusterStorageProfileFileCSIDriver populates the provided destination ManagedClusterStorageProfileFileCSIDriver from our ManagedClusterStorageProfileFileCSIDriver -func (driver *ManagedClusterStorageProfileFileCSIDriver) AssignProperties_To_ManagedClusterStorageProfileFileCSIDriver(destination *storage.ManagedClusterStorageProfileFileCSIDriver) error { +func (driver *ManagedClusterStorageProfileFileCSIDriver) AssignProperties_To_ManagedClusterStorageProfileFileCSIDriver(destination *v20231001s.ManagedClusterStorageProfileFileCSIDriver) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(driver.PropertyBag) @@ -13664,14 +14292,13 @@ func (driver *ManagedClusterStorageProfileFileCSIDriver) AssignProperties_To_Man } // Storage version of v1api20231102preview.ManagedClusterStorageProfileFileCSIDriver_STATUS -// AzureFile CSI Driver settings for the storage profile. type ManagedClusterStorageProfileFileCSIDriver_STATUS struct { Enabled *bool `json:"enabled,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` } // AssignProperties_From_ManagedClusterStorageProfileFileCSIDriver_STATUS populates our ManagedClusterStorageProfileFileCSIDriver_STATUS from the provided source ManagedClusterStorageProfileFileCSIDriver_STATUS -func (driver *ManagedClusterStorageProfileFileCSIDriver_STATUS) AssignProperties_From_ManagedClusterStorageProfileFileCSIDriver_STATUS(source *storage.ManagedClusterStorageProfileFileCSIDriver_STATUS) error { +func (driver *ManagedClusterStorageProfileFileCSIDriver_STATUS) AssignProperties_From_ManagedClusterStorageProfileFileCSIDriver_STATUS(source *v20231001s.ManagedClusterStorageProfileFileCSIDriver_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -13704,7 +14331,7 @@ func (driver *ManagedClusterStorageProfileFileCSIDriver_STATUS) AssignProperties } // AssignProperties_To_ManagedClusterStorageProfileFileCSIDriver_STATUS populates the provided destination ManagedClusterStorageProfileFileCSIDriver_STATUS from our ManagedClusterStorageProfileFileCSIDriver_STATUS -func (driver *ManagedClusterStorageProfileFileCSIDriver_STATUS) AssignProperties_To_ManagedClusterStorageProfileFileCSIDriver_STATUS(destination *storage.ManagedClusterStorageProfileFileCSIDriver_STATUS) error { +func (driver *ManagedClusterStorageProfileFileCSIDriver_STATUS) AssignProperties_To_ManagedClusterStorageProfileFileCSIDriver_STATUS(destination *v20231001s.ManagedClusterStorageProfileFileCSIDriver_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(driver.PropertyBag) @@ -13737,14 +14364,13 @@ func (driver *ManagedClusterStorageProfileFileCSIDriver_STATUS) AssignProperties } // Storage version of v1api20231102preview.ManagedClusterStorageProfileSnapshotController -// Snapshot Controller settings for the storage profile. type ManagedClusterStorageProfileSnapshotController struct { Enabled *bool `json:"enabled,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` } // AssignProperties_From_ManagedClusterStorageProfileSnapshotController populates our ManagedClusterStorageProfileSnapshotController from the provided source ManagedClusterStorageProfileSnapshotController -func (controller *ManagedClusterStorageProfileSnapshotController) AssignProperties_From_ManagedClusterStorageProfileSnapshotController(source *storage.ManagedClusterStorageProfileSnapshotController) error { +func (controller *ManagedClusterStorageProfileSnapshotController) AssignProperties_From_ManagedClusterStorageProfileSnapshotController(source *v20231001s.ManagedClusterStorageProfileSnapshotController) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -13777,7 +14403,7 @@ func (controller *ManagedClusterStorageProfileSnapshotController) AssignProperti } // AssignProperties_To_ManagedClusterStorageProfileSnapshotController populates the provided destination ManagedClusterStorageProfileSnapshotController from our ManagedClusterStorageProfileSnapshotController -func (controller *ManagedClusterStorageProfileSnapshotController) AssignProperties_To_ManagedClusterStorageProfileSnapshotController(destination *storage.ManagedClusterStorageProfileSnapshotController) error { +func (controller *ManagedClusterStorageProfileSnapshotController) AssignProperties_To_ManagedClusterStorageProfileSnapshotController(destination *v20231001s.ManagedClusterStorageProfileSnapshotController) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(controller.PropertyBag) @@ -13810,14 +14436,13 @@ func (controller *ManagedClusterStorageProfileSnapshotController) AssignProperti } // Storage version of v1api20231102preview.ManagedClusterStorageProfileSnapshotController_STATUS -// Snapshot Controller settings for the storage profile. type ManagedClusterStorageProfileSnapshotController_STATUS struct { Enabled *bool `json:"enabled,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` } // AssignProperties_From_ManagedClusterStorageProfileSnapshotController_STATUS populates our ManagedClusterStorageProfileSnapshotController_STATUS from the provided source ManagedClusterStorageProfileSnapshotController_STATUS -func (controller *ManagedClusterStorageProfileSnapshotController_STATUS) AssignProperties_From_ManagedClusterStorageProfileSnapshotController_STATUS(source *storage.ManagedClusterStorageProfileSnapshotController_STATUS) error { +func (controller *ManagedClusterStorageProfileSnapshotController_STATUS) AssignProperties_From_ManagedClusterStorageProfileSnapshotController_STATUS(source *v20231001s.ManagedClusterStorageProfileSnapshotController_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -13850,7 +14475,7 @@ func (controller *ManagedClusterStorageProfileSnapshotController_STATUS) AssignP } // AssignProperties_To_ManagedClusterStorageProfileSnapshotController_STATUS populates the provided destination ManagedClusterStorageProfileSnapshotController_STATUS from our ManagedClusterStorageProfileSnapshotController_STATUS -func (controller *ManagedClusterStorageProfileSnapshotController_STATUS) AssignProperties_To_ManagedClusterStorageProfileSnapshotController_STATUS(destination *storage.ManagedClusterStorageProfileSnapshotController_STATUS) error { +func (controller *ManagedClusterStorageProfileSnapshotController_STATUS) AssignProperties_To_ManagedClusterStorageProfileSnapshotController_STATUS(destination *v20231001s.ManagedClusterStorageProfileSnapshotController_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(controller.PropertyBag) @@ -13883,14 +14508,13 @@ func (controller *ManagedClusterStorageProfileSnapshotController_STATUS) AssignP } // Storage version of v1api20231102preview.ManagedClusterWorkloadAutoScalerProfileKeda -// KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile. type ManagedClusterWorkloadAutoScalerProfileKeda struct { Enabled *bool `json:"enabled,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` } // AssignProperties_From_ManagedClusterWorkloadAutoScalerProfileKeda populates our ManagedClusterWorkloadAutoScalerProfileKeda from the provided source ManagedClusterWorkloadAutoScalerProfileKeda -func (keda *ManagedClusterWorkloadAutoScalerProfileKeda) AssignProperties_From_ManagedClusterWorkloadAutoScalerProfileKeda(source *storage.ManagedClusterWorkloadAutoScalerProfileKeda) error { +func (keda *ManagedClusterWorkloadAutoScalerProfileKeda) AssignProperties_From_ManagedClusterWorkloadAutoScalerProfileKeda(source *v20231001s.ManagedClusterWorkloadAutoScalerProfileKeda) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -13923,7 +14547,7 @@ func (keda *ManagedClusterWorkloadAutoScalerProfileKeda) AssignProperties_From_M } // AssignProperties_To_ManagedClusterWorkloadAutoScalerProfileKeda populates the provided destination ManagedClusterWorkloadAutoScalerProfileKeda from our ManagedClusterWorkloadAutoScalerProfileKeda -func (keda *ManagedClusterWorkloadAutoScalerProfileKeda) AssignProperties_To_ManagedClusterWorkloadAutoScalerProfileKeda(destination *storage.ManagedClusterWorkloadAutoScalerProfileKeda) error { +func (keda *ManagedClusterWorkloadAutoScalerProfileKeda) AssignProperties_To_ManagedClusterWorkloadAutoScalerProfileKeda(destination *v20231001s.ManagedClusterWorkloadAutoScalerProfileKeda) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(keda.PropertyBag) @@ -13956,14 +14580,13 @@ func (keda *ManagedClusterWorkloadAutoScalerProfileKeda) AssignProperties_To_Man } // Storage version of v1api20231102preview.ManagedClusterWorkloadAutoScalerProfileKeda_STATUS -// KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile. type ManagedClusterWorkloadAutoScalerProfileKeda_STATUS struct { Enabled *bool `json:"enabled,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` } // AssignProperties_From_ManagedClusterWorkloadAutoScalerProfileKeda_STATUS populates our ManagedClusterWorkloadAutoScalerProfileKeda_STATUS from the provided source ManagedClusterWorkloadAutoScalerProfileKeda_STATUS -func (keda *ManagedClusterWorkloadAutoScalerProfileKeda_STATUS) AssignProperties_From_ManagedClusterWorkloadAutoScalerProfileKeda_STATUS(source *storage.ManagedClusterWorkloadAutoScalerProfileKeda_STATUS) error { +func (keda *ManagedClusterWorkloadAutoScalerProfileKeda_STATUS) AssignProperties_From_ManagedClusterWorkloadAutoScalerProfileKeda_STATUS(source *v20231001s.ManagedClusterWorkloadAutoScalerProfileKeda_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -13996,7 +14619,7 @@ func (keda *ManagedClusterWorkloadAutoScalerProfileKeda_STATUS) AssignProperties } // AssignProperties_To_ManagedClusterWorkloadAutoScalerProfileKeda_STATUS populates the provided destination ManagedClusterWorkloadAutoScalerProfileKeda_STATUS from our ManagedClusterWorkloadAutoScalerProfileKeda_STATUS -func (keda *ManagedClusterWorkloadAutoScalerProfileKeda_STATUS) AssignProperties_To_ManagedClusterWorkloadAutoScalerProfileKeda_STATUS(destination *storage.ManagedClusterWorkloadAutoScalerProfileKeda_STATUS) error { +func (keda *ManagedClusterWorkloadAutoScalerProfileKeda_STATUS) AssignProperties_To_ManagedClusterWorkloadAutoScalerProfileKeda_STATUS(destination *v20231001s.ManagedClusterWorkloadAutoScalerProfileKeda_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(keda.PropertyBag) @@ -14036,7 +14659,7 @@ type ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler struct { } // AssignProperties_From_ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler populates our ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler from the provided source ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler -func (autoscaler *ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler) AssignProperties_From_ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler(source *storage.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler) error { +func (autoscaler *ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler) AssignProperties_From_ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler(source *v20231001s.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -14082,7 +14705,7 @@ func (autoscaler *ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler) } // AssignProperties_To_ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler populates the provided destination ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler from our ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler -func (autoscaler *ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler) AssignProperties_To_ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler(destination *storage.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler) error { +func (autoscaler *ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler) AssignProperties_To_ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler(destination *v20231001s.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(autoscaler.PropertyBag) @@ -14129,7 +14752,7 @@ type ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS struct } // AssignProperties_From_ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS populates our ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS from the provided source ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS -func (autoscaler *ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS) AssignProperties_From_ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS(source *storage.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS) error { +func (autoscaler *ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS) AssignProperties_From_ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS(source *v20231001s.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -14175,7 +14798,7 @@ func (autoscaler *ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_S } // AssignProperties_To_ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS populates the provided destination ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS from our ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS -func (autoscaler *ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS) AssignProperties_To_ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS(destination *storage.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS) error { +func (autoscaler *ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS) AssignProperties_To_ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS(destination *v20231001s.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(autoscaler.PropertyBag) @@ -14215,21 +14838,18 @@ func (autoscaler *ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_S } // Storage version of v1api20231102preview.NetworkMonitoring -// This addon can be used to configure network monitoring and generate network monitoring data in Prometheus format type NetworkMonitoring struct { Enabled *bool `json:"enabled,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` } // Storage version of v1api20231102preview.NetworkMonitoring_STATUS -// This addon can be used to configure network monitoring and generate network monitoring data in Prometheus format type NetworkMonitoring_STATUS struct { Enabled *bool `json:"enabled,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` } // Storage version of v1api20231102preview.UpgradeOverrideSettings -// Settings for overrides when upgrading a cluster. type UpgradeOverrideSettings struct { ForceUpgrade *bool `json:"forceUpgrade,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` @@ -14237,7 +14857,7 @@ type UpgradeOverrideSettings struct { } // AssignProperties_From_UpgradeOverrideSettings populates our UpgradeOverrideSettings from the provided source UpgradeOverrideSettings -func (settings *UpgradeOverrideSettings) AssignProperties_From_UpgradeOverrideSettings(source *storage.UpgradeOverrideSettings) error { +func (settings *UpgradeOverrideSettings) AssignProperties_From_UpgradeOverrideSettings(source *v20231001s.UpgradeOverrideSettings) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -14273,7 +14893,7 @@ func (settings *UpgradeOverrideSettings) AssignProperties_From_UpgradeOverrideSe } // AssignProperties_To_UpgradeOverrideSettings populates the provided destination UpgradeOverrideSettings from our UpgradeOverrideSettings -func (settings *UpgradeOverrideSettings) AssignProperties_To_UpgradeOverrideSettings(destination *storage.UpgradeOverrideSettings) error { +func (settings *UpgradeOverrideSettings) AssignProperties_To_UpgradeOverrideSettings(destination *v20231001s.UpgradeOverrideSettings) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(settings.PropertyBag) @@ -14309,7 +14929,6 @@ func (settings *UpgradeOverrideSettings) AssignProperties_To_UpgradeOverrideSett } // Storage version of v1api20231102preview.UpgradeOverrideSettings_STATUS -// Settings for overrides when upgrading a cluster. type UpgradeOverrideSettings_STATUS struct { ForceUpgrade *bool `json:"forceUpgrade,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` @@ -14317,7 +14936,7 @@ type UpgradeOverrideSettings_STATUS struct { } // AssignProperties_From_UpgradeOverrideSettings_STATUS populates our UpgradeOverrideSettings_STATUS from the provided source UpgradeOverrideSettings_STATUS -func (settings *UpgradeOverrideSettings_STATUS) AssignProperties_From_UpgradeOverrideSettings_STATUS(source *storage.UpgradeOverrideSettings_STATUS) error { +func (settings *UpgradeOverrideSettings_STATUS) AssignProperties_From_UpgradeOverrideSettings_STATUS(source *v20231001s.UpgradeOverrideSettings_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -14353,7 +14972,7 @@ func (settings *UpgradeOverrideSettings_STATUS) AssignProperties_From_UpgradeOve } // AssignProperties_To_UpgradeOverrideSettings_STATUS populates the provided destination UpgradeOverrideSettings_STATUS from our UpgradeOverrideSettings_STATUS -func (settings *UpgradeOverrideSettings_STATUS) AssignProperties_To_UpgradeOverrideSettings_STATUS(destination *storage.UpgradeOverrideSettings_STATUS) error { +func (settings *UpgradeOverrideSettings_STATUS) AssignProperties_To_UpgradeOverrideSettings_STATUS(destination *v20231001s.UpgradeOverrideSettings_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(settings.PropertyBag) @@ -14389,14 +15008,13 @@ func (settings *UpgradeOverrideSettings_STATUS) AssignProperties_To_UpgradeOverr } // Storage version of v1api20231102preview.UserAssignedIdentityDetails -// Information about the user assigned identity for the resource type UserAssignedIdentityDetails struct { PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` Reference genruntime.ResourceReference `armReference:"Reference" json:"reference,omitempty"` } // AssignProperties_From_UserAssignedIdentityDetails populates our UserAssignedIdentityDetails from the provided source UserAssignedIdentityDetails -func (details *UserAssignedIdentityDetails) AssignProperties_From_UserAssignedIdentityDetails(source *storage.UserAssignedIdentityDetails) error { +func (details *UserAssignedIdentityDetails) AssignProperties_From_UserAssignedIdentityDetails(source *v20231001s.UserAssignedIdentityDetails) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -14424,7 +15042,7 @@ func (details *UserAssignedIdentityDetails) AssignProperties_From_UserAssignedId } // AssignProperties_To_UserAssignedIdentityDetails populates the provided destination UserAssignedIdentityDetails from our UserAssignedIdentityDetails -func (details *UserAssignedIdentityDetails) AssignProperties_To_UserAssignedIdentityDetails(destination *storage.UserAssignedIdentityDetails) error { +func (details *UserAssignedIdentityDetails) AssignProperties_To_UserAssignedIdentityDetails(destination *v20231001s.UserAssignedIdentityDetails) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(details.PropertyBag) @@ -14452,7 +15070,6 @@ func (details *UserAssignedIdentityDetails) AssignProperties_To_UserAssignedIden } // Storage version of v1api20231102preview.WindowsGmsaProfile -// Windows gMSA Profile in the managed cluster. type WindowsGmsaProfile struct { DnsServer *string `json:"dnsServer,omitempty"` Enabled *bool `json:"enabled,omitempty"` @@ -14461,7 +15078,7 @@ type WindowsGmsaProfile struct { } // AssignProperties_From_WindowsGmsaProfile populates our WindowsGmsaProfile from the provided source WindowsGmsaProfile -func (profile *WindowsGmsaProfile) AssignProperties_From_WindowsGmsaProfile(source *storage.WindowsGmsaProfile) error { +func (profile *WindowsGmsaProfile) AssignProperties_From_WindowsGmsaProfile(source *v20231001s.WindowsGmsaProfile) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -14500,7 +15117,7 @@ func (profile *WindowsGmsaProfile) AssignProperties_From_WindowsGmsaProfile(sour } // AssignProperties_To_WindowsGmsaProfile populates the provided destination WindowsGmsaProfile from our WindowsGmsaProfile -func (profile *WindowsGmsaProfile) AssignProperties_To_WindowsGmsaProfile(destination *storage.WindowsGmsaProfile) error { +func (profile *WindowsGmsaProfile) AssignProperties_To_WindowsGmsaProfile(destination *v20231001s.WindowsGmsaProfile) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) @@ -14539,7 +15156,6 @@ func (profile *WindowsGmsaProfile) AssignProperties_To_WindowsGmsaProfile(destin } // Storage version of v1api20231102preview.WindowsGmsaProfile_STATUS -// Windows gMSA Profile in the managed cluster. type WindowsGmsaProfile_STATUS struct { DnsServer *string `json:"dnsServer,omitempty"` Enabled *bool `json:"enabled,omitempty"` @@ -14548,7 +15164,7 @@ type WindowsGmsaProfile_STATUS struct { } // AssignProperties_From_WindowsGmsaProfile_STATUS populates our WindowsGmsaProfile_STATUS from the provided source WindowsGmsaProfile_STATUS -func (profile *WindowsGmsaProfile_STATUS) AssignProperties_From_WindowsGmsaProfile_STATUS(source *storage.WindowsGmsaProfile_STATUS) error { +func (profile *WindowsGmsaProfile_STATUS) AssignProperties_From_WindowsGmsaProfile_STATUS(source *v20231001s.WindowsGmsaProfile_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -14587,7 +15203,7 @@ func (profile *WindowsGmsaProfile_STATUS) AssignProperties_From_WindowsGmsaProfi } // AssignProperties_To_WindowsGmsaProfile_STATUS populates the provided destination WindowsGmsaProfile_STATUS from our WindowsGmsaProfile_STATUS -func (profile *WindowsGmsaProfile_STATUS) AssignProperties_To_WindowsGmsaProfile_STATUS(destination *storage.WindowsGmsaProfile_STATUS) error { +func (profile *WindowsGmsaProfile_STATUS) AssignProperties_To_WindowsGmsaProfile_STATUS(destination *v20231001s.WindowsGmsaProfile_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) @@ -14626,223 +15242,243 @@ func (profile *WindowsGmsaProfile_STATUS) AssignProperties_To_WindowsGmsaProfile } type augmentConversionForAzureKeyVaultKms interface { - AssignPropertiesFrom(src *storage.AzureKeyVaultKms) error - AssignPropertiesTo(dst *storage.AzureKeyVaultKms) error + AssignPropertiesFrom(src *v20231001s.AzureKeyVaultKms) error + AssignPropertiesTo(dst *v20231001s.AzureKeyVaultKms) error } type augmentConversionForAzureKeyVaultKms_STATUS interface { - AssignPropertiesFrom(src *storage.AzureKeyVaultKms_STATUS) error - AssignPropertiesTo(dst *storage.AzureKeyVaultKms_STATUS) error + AssignPropertiesFrom(src *v20231001s.AzureKeyVaultKms_STATUS) error + AssignPropertiesTo(dst *v20231001s.AzureKeyVaultKms_STATUS) error } type augmentConversionForContainerServiceSshConfiguration interface { - AssignPropertiesFrom(src *storage.ContainerServiceSshConfiguration) error - AssignPropertiesTo(dst *storage.ContainerServiceSshConfiguration) error + AssignPropertiesFrom(src *v20231001s.ContainerServiceSshConfiguration) error + AssignPropertiesTo(dst *v20231001s.ContainerServiceSshConfiguration) error } type augmentConversionForContainerServiceSshConfiguration_STATUS interface { - AssignPropertiesFrom(src *storage.ContainerServiceSshConfiguration_STATUS) error - AssignPropertiesTo(dst *storage.ContainerServiceSshConfiguration_STATUS) error + AssignPropertiesFrom(src *v20231001s.ContainerServiceSshConfiguration_STATUS) error + AssignPropertiesTo(dst *v20231001s.ContainerServiceSshConfiguration_STATUS) error } type augmentConversionForDelegatedResource interface { - AssignPropertiesFrom(src *storage.DelegatedResource) error - AssignPropertiesTo(dst *storage.DelegatedResource) error + AssignPropertiesFrom(src *v20231001s.DelegatedResource) error + AssignPropertiesTo(dst *v20231001s.DelegatedResource) error } type augmentConversionForDelegatedResource_STATUS interface { - AssignPropertiesFrom(src *storage.DelegatedResource_STATUS) error - AssignPropertiesTo(dst *storage.DelegatedResource_STATUS) error + AssignPropertiesFrom(src *v20231001s.DelegatedResource_STATUS) error + AssignPropertiesTo(dst *v20231001s.DelegatedResource_STATUS) error } type augmentConversionForIstioServiceMesh interface { - AssignPropertiesFrom(src *storage.IstioServiceMesh) error - AssignPropertiesTo(dst *storage.IstioServiceMesh) error + AssignPropertiesFrom(src *v20231001s.IstioServiceMesh) error + AssignPropertiesTo(dst *v20231001s.IstioServiceMesh) error } type augmentConversionForIstioServiceMesh_STATUS interface { - AssignPropertiesFrom(src *storage.IstioServiceMesh_STATUS) error - AssignPropertiesTo(dst *storage.IstioServiceMesh_STATUS) error + AssignPropertiesFrom(src *v20231001s.IstioServiceMesh_STATUS) error + AssignPropertiesTo(dst *v20231001s.IstioServiceMesh_STATUS) error } type augmentConversionForManagedClusterAzureMonitorProfileMetrics interface { - AssignPropertiesFrom(src *storage.ManagedClusterAzureMonitorProfileMetrics) error - AssignPropertiesTo(dst *storage.ManagedClusterAzureMonitorProfileMetrics) error + AssignPropertiesFrom(src *v20231001s.ManagedClusterAzureMonitorProfileMetrics) error + AssignPropertiesTo(dst *v20231001s.ManagedClusterAzureMonitorProfileMetrics) error } type augmentConversionForManagedClusterAzureMonitorProfileMetrics_STATUS interface { - AssignPropertiesFrom(src *storage.ManagedClusterAzureMonitorProfileMetrics_STATUS) error - AssignPropertiesTo(dst *storage.ManagedClusterAzureMonitorProfileMetrics_STATUS) error + AssignPropertiesFrom(src *v20231001s.ManagedClusterAzureMonitorProfileMetrics_STATUS) error + AssignPropertiesTo(dst *v20231001s.ManagedClusterAzureMonitorProfileMetrics_STATUS) error +} + +type augmentConversionForManagedClusterCostAnalysis interface { + AssignPropertiesFrom(src *v20240901s.ManagedClusterCostAnalysis) error + AssignPropertiesTo(dst *v20240901s.ManagedClusterCostAnalysis) error +} + +type augmentConversionForManagedClusterCostAnalysis_STATUS interface { + AssignPropertiesFrom(src *v20240901s.ManagedClusterCostAnalysis_STATUS) error + AssignPropertiesTo(dst *v20240901s.ManagedClusterCostAnalysis_STATUS) error } type augmentConversionForManagedClusterIdentity_UserAssignedIdentities_STATUS interface { - AssignPropertiesFrom(src *storage.ManagedClusterIdentity_UserAssignedIdentities_STATUS) error - AssignPropertiesTo(dst *storage.ManagedClusterIdentity_UserAssignedIdentities_STATUS) error + AssignPropertiesFrom(src *v20231001s.ManagedClusterIdentity_UserAssignedIdentities_STATUS) error + AssignPropertiesTo(dst *v20231001s.ManagedClusterIdentity_UserAssignedIdentities_STATUS) error +} + +type augmentConversionForManagedClusterIngressProfileWebAppRouting interface { + AssignPropertiesFrom(src *v20240901s.ManagedClusterIngressProfileWebAppRouting) error + AssignPropertiesTo(dst *v20240901s.ManagedClusterIngressProfileWebAppRouting) error +} + +type augmentConversionForManagedClusterIngressProfileWebAppRouting_STATUS interface { + AssignPropertiesFrom(src *v20240901s.ManagedClusterIngressProfileWebAppRouting_STATUS) error + AssignPropertiesTo(dst *v20240901s.ManagedClusterIngressProfileWebAppRouting_STATUS) error } type augmentConversionForManagedClusterLoadBalancerProfile interface { - AssignPropertiesFrom(src *storage.ManagedClusterLoadBalancerProfile) error - AssignPropertiesTo(dst *storage.ManagedClusterLoadBalancerProfile) error + AssignPropertiesFrom(src *v20231001s.ManagedClusterLoadBalancerProfile) error + AssignPropertiesTo(dst *v20231001s.ManagedClusterLoadBalancerProfile) error } type augmentConversionForManagedClusterLoadBalancerProfile_STATUS interface { - AssignPropertiesFrom(src *storage.ManagedClusterLoadBalancerProfile_STATUS) error - AssignPropertiesTo(dst *storage.ManagedClusterLoadBalancerProfile_STATUS) error + AssignPropertiesFrom(src *v20231001s.ManagedClusterLoadBalancerProfile_STATUS) error + AssignPropertiesTo(dst *v20231001s.ManagedClusterLoadBalancerProfile_STATUS) error } type augmentConversionForManagedClusterNATGatewayProfile interface { - AssignPropertiesFrom(src *storage.ManagedClusterNATGatewayProfile) error - AssignPropertiesTo(dst *storage.ManagedClusterNATGatewayProfile) error + AssignPropertiesFrom(src *v20231001s.ManagedClusterNATGatewayProfile) error + AssignPropertiesTo(dst *v20231001s.ManagedClusterNATGatewayProfile) error } type augmentConversionForManagedClusterNATGatewayProfile_STATUS interface { - AssignPropertiesFrom(src *storage.ManagedClusterNATGatewayProfile_STATUS) error - AssignPropertiesTo(dst *storage.ManagedClusterNATGatewayProfile_STATUS) error + AssignPropertiesFrom(src *v20231001s.ManagedClusterNATGatewayProfile_STATUS) error + AssignPropertiesTo(dst *v20231001s.ManagedClusterNATGatewayProfile_STATUS) error } type augmentConversionForManagedClusterOperatorConfigMaps interface { - AssignPropertiesFrom(src *storage.ManagedClusterOperatorConfigMaps) error - AssignPropertiesTo(dst *storage.ManagedClusterOperatorConfigMaps) error + AssignPropertiesFrom(src *v20231001s.ManagedClusterOperatorConfigMaps) error + AssignPropertiesTo(dst *v20231001s.ManagedClusterOperatorConfigMaps) error } type augmentConversionForManagedClusterOperatorSecrets interface { - AssignPropertiesFrom(src *storage.ManagedClusterOperatorSecrets) error - AssignPropertiesTo(dst *storage.ManagedClusterOperatorSecrets) error + AssignPropertiesFrom(src *v20231001s.ManagedClusterOperatorSecrets) error + AssignPropertiesTo(dst *v20231001s.ManagedClusterOperatorSecrets) error } type augmentConversionForManagedClusterPodIdentity interface { - AssignPropertiesFrom(src *storage.ManagedClusterPodIdentity) error - AssignPropertiesTo(dst *storage.ManagedClusterPodIdentity) error + AssignPropertiesFrom(src *v20231001s.ManagedClusterPodIdentity) error + AssignPropertiesTo(dst *v20231001s.ManagedClusterPodIdentity) error } type augmentConversionForManagedClusterPodIdentity_STATUS interface { - AssignPropertiesFrom(src *storage.ManagedClusterPodIdentity_STATUS) error - AssignPropertiesTo(dst *storage.ManagedClusterPodIdentity_STATUS) error + AssignPropertiesFrom(src *v20231001s.ManagedClusterPodIdentity_STATUS) error + AssignPropertiesTo(dst *v20231001s.ManagedClusterPodIdentity_STATUS) error } type augmentConversionForManagedClusterPodIdentityException interface { - AssignPropertiesFrom(src *storage.ManagedClusterPodIdentityException) error - AssignPropertiesTo(dst *storage.ManagedClusterPodIdentityException) error + AssignPropertiesFrom(src *v20231001s.ManagedClusterPodIdentityException) error + AssignPropertiesTo(dst *v20231001s.ManagedClusterPodIdentityException) error } type augmentConversionForManagedClusterPodIdentityException_STATUS interface { - AssignPropertiesFrom(src *storage.ManagedClusterPodIdentityException_STATUS) error - AssignPropertiesTo(dst *storage.ManagedClusterPodIdentityException_STATUS) error + AssignPropertiesFrom(src *v20231001s.ManagedClusterPodIdentityException_STATUS) error + AssignPropertiesTo(dst *v20231001s.ManagedClusterPodIdentityException_STATUS) error } type augmentConversionForManagedClusterSecurityProfileDefender interface { - AssignPropertiesFrom(src *storage.ManagedClusterSecurityProfileDefender) error - AssignPropertiesTo(dst *storage.ManagedClusterSecurityProfileDefender) error + AssignPropertiesFrom(src *v20231001s.ManagedClusterSecurityProfileDefender) error + AssignPropertiesTo(dst *v20231001s.ManagedClusterSecurityProfileDefender) error } type augmentConversionForManagedClusterSecurityProfileDefender_STATUS interface { - AssignPropertiesFrom(src *storage.ManagedClusterSecurityProfileDefender_STATUS) error - AssignPropertiesTo(dst *storage.ManagedClusterSecurityProfileDefender_STATUS) error + AssignPropertiesFrom(src *v20231001s.ManagedClusterSecurityProfileDefender_STATUS) error + AssignPropertiesTo(dst *v20231001s.ManagedClusterSecurityProfileDefender_STATUS) error } type augmentConversionForManagedClusterSecurityProfileImageCleaner interface { - AssignPropertiesFrom(src *storage.ManagedClusterSecurityProfileImageCleaner) error - AssignPropertiesTo(dst *storage.ManagedClusterSecurityProfileImageCleaner) error + AssignPropertiesFrom(src *v20231001s.ManagedClusterSecurityProfileImageCleaner) error + AssignPropertiesTo(dst *v20231001s.ManagedClusterSecurityProfileImageCleaner) error } type augmentConversionForManagedClusterSecurityProfileImageCleaner_STATUS interface { - AssignPropertiesFrom(src *storage.ManagedClusterSecurityProfileImageCleaner_STATUS) error - AssignPropertiesTo(dst *storage.ManagedClusterSecurityProfileImageCleaner_STATUS) error + AssignPropertiesFrom(src *v20231001s.ManagedClusterSecurityProfileImageCleaner_STATUS) error + AssignPropertiesTo(dst *v20231001s.ManagedClusterSecurityProfileImageCleaner_STATUS) error } type augmentConversionForManagedClusterSecurityProfileWorkloadIdentity interface { - AssignPropertiesFrom(src *storage.ManagedClusterSecurityProfileWorkloadIdentity) error - AssignPropertiesTo(dst *storage.ManagedClusterSecurityProfileWorkloadIdentity) error + AssignPropertiesFrom(src *v20231001s.ManagedClusterSecurityProfileWorkloadIdentity) error + AssignPropertiesTo(dst *v20231001s.ManagedClusterSecurityProfileWorkloadIdentity) error } type augmentConversionForManagedClusterSecurityProfileWorkloadIdentity_STATUS interface { - AssignPropertiesFrom(src *storage.ManagedClusterSecurityProfileWorkloadIdentity_STATUS) error - AssignPropertiesTo(dst *storage.ManagedClusterSecurityProfileWorkloadIdentity_STATUS) error + AssignPropertiesFrom(src *v20231001s.ManagedClusterSecurityProfileWorkloadIdentity_STATUS) error + AssignPropertiesTo(dst *v20231001s.ManagedClusterSecurityProfileWorkloadIdentity_STATUS) error } type augmentConversionForManagedClusterStorageProfileBlobCSIDriver interface { - AssignPropertiesFrom(src *storage.ManagedClusterStorageProfileBlobCSIDriver) error - AssignPropertiesTo(dst *storage.ManagedClusterStorageProfileBlobCSIDriver) error + AssignPropertiesFrom(src *v20231001s.ManagedClusterStorageProfileBlobCSIDriver) error + AssignPropertiesTo(dst *v20231001s.ManagedClusterStorageProfileBlobCSIDriver) error } type augmentConversionForManagedClusterStorageProfileBlobCSIDriver_STATUS interface { - AssignPropertiesFrom(src *storage.ManagedClusterStorageProfileBlobCSIDriver_STATUS) error - AssignPropertiesTo(dst *storage.ManagedClusterStorageProfileBlobCSIDriver_STATUS) error + AssignPropertiesFrom(src *v20231001s.ManagedClusterStorageProfileBlobCSIDriver_STATUS) error + AssignPropertiesTo(dst *v20231001s.ManagedClusterStorageProfileBlobCSIDriver_STATUS) error } type augmentConversionForManagedClusterStorageProfileDiskCSIDriver interface { - AssignPropertiesFrom(src *storage.ManagedClusterStorageProfileDiskCSIDriver) error - AssignPropertiesTo(dst *storage.ManagedClusterStorageProfileDiskCSIDriver) error + AssignPropertiesFrom(src *v20231001s.ManagedClusterStorageProfileDiskCSIDriver) error + AssignPropertiesTo(dst *v20231001s.ManagedClusterStorageProfileDiskCSIDriver) error } type augmentConversionForManagedClusterStorageProfileDiskCSIDriver_STATUS interface { - AssignPropertiesFrom(src *storage.ManagedClusterStorageProfileDiskCSIDriver_STATUS) error - AssignPropertiesTo(dst *storage.ManagedClusterStorageProfileDiskCSIDriver_STATUS) error + AssignPropertiesFrom(src *v20231001s.ManagedClusterStorageProfileDiskCSIDriver_STATUS) error + AssignPropertiesTo(dst *v20231001s.ManagedClusterStorageProfileDiskCSIDriver_STATUS) error } type augmentConversionForManagedClusterStorageProfileFileCSIDriver interface { - AssignPropertiesFrom(src *storage.ManagedClusterStorageProfileFileCSIDriver) error - AssignPropertiesTo(dst *storage.ManagedClusterStorageProfileFileCSIDriver) error + AssignPropertiesFrom(src *v20231001s.ManagedClusterStorageProfileFileCSIDriver) error + AssignPropertiesTo(dst *v20231001s.ManagedClusterStorageProfileFileCSIDriver) error } type augmentConversionForManagedClusterStorageProfileFileCSIDriver_STATUS interface { - AssignPropertiesFrom(src *storage.ManagedClusterStorageProfileFileCSIDriver_STATUS) error - AssignPropertiesTo(dst *storage.ManagedClusterStorageProfileFileCSIDriver_STATUS) error + AssignPropertiesFrom(src *v20231001s.ManagedClusterStorageProfileFileCSIDriver_STATUS) error + AssignPropertiesTo(dst *v20231001s.ManagedClusterStorageProfileFileCSIDriver_STATUS) error } type augmentConversionForManagedClusterStorageProfileSnapshotController interface { - AssignPropertiesFrom(src *storage.ManagedClusterStorageProfileSnapshotController) error - AssignPropertiesTo(dst *storage.ManagedClusterStorageProfileSnapshotController) error + AssignPropertiesFrom(src *v20231001s.ManagedClusterStorageProfileSnapshotController) error + AssignPropertiesTo(dst *v20231001s.ManagedClusterStorageProfileSnapshotController) error } type augmentConversionForManagedClusterStorageProfileSnapshotController_STATUS interface { - AssignPropertiesFrom(src *storage.ManagedClusterStorageProfileSnapshotController_STATUS) error - AssignPropertiesTo(dst *storage.ManagedClusterStorageProfileSnapshotController_STATUS) error + AssignPropertiesFrom(src *v20231001s.ManagedClusterStorageProfileSnapshotController_STATUS) error + AssignPropertiesTo(dst *v20231001s.ManagedClusterStorageProfileSnapshotController_STATUS) error } type augmentConversionForManagedClusterWorkloadAutoScalerProfileKeda interface { - AssignPropertiesFrom(src *storage.ManagedClusterWorkloadAutoScalerProfileKeda) error - AssignPropertiesTo(dst *storage.ManagedClusterWorkloadAutoScalerProfileKeda) error + AssignPropertiesFrom(src *v20231001s.ManagedClusterWorkloadAutoScalerProfileKeda) error + AssignPropertiesTo(dst *v20231001s.ManagedClusterWorkloadAutoScalerProfileKeda) error } type augmentConversionForManagedClusterWorkloadAutoScalerProfileKeda_STATUS interface { - AssignPropertiesFrom(src *storage.ManagedClusterWorkloadAutoScalerProfileKeda_STATUS) error - AssignPropertiesTo(dst *storage.ManagedClusterWorkloadAutoScalerProfileKeda_STATUS) error + AssignPropertiesFrom(src *v20231001s.ManagedClusterWorkloadAutoScalerProfileKeda_STATUS) error + AssignPropertiesTo(dst *v20231001s.ManagedClusterWorkloadAutoScalerProfileKeda_STATUS) error } type augmentConversionForManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler interface { - AssignPropertiesFrom(src *storage.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler) error - AssignPropertiesTo(dst *storage.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler) error + AssignPropertiesFrom(src *v20231001s.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler) error + AssignPropertiesTo(dst *v20231001s.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler) error } type augmentConversionForManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS interface { - AssignPropertiesFrom(src *storage.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS) error - AssignPropertiesTo(dst *storage.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS) error + AssignPropertiesFrom(src *v20231001s.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS) error + AssignPropertiesTo(dst *v20231001s.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS) error } type augmentConversionForUpgradeOverrideSettings interface { - AssignPropertiesFrom(src *storage.UpgradeOverrideSettings) error - AssignPropertiesTo(dst *storage.UpgradeOverrideSettings) error + AssignPropertiesFrom(src *v20231001s.UpgradeOverrideSettings) error + AssignPropertiesTo(dst *v20231001s.UpgradeOverrideSettings) error } type augmentConversionForUpgradeOverrideSettings_STATUS interface { - AssignPropertiesFrom(src *storage.UpgradeOverrideSettings_STATUS) error - AssignPropertiesTo(dst *storage.UpgradeOverrideSettings_STATUS) error + AssignPropertiesFrom(src *v20231001s.UpgradeOverrideSettings_STATUS) error + AssignPropertiesTo(dst *v20231001s.UpgradeOverrideSettings_STATUS) error } type augmentConversionForUserAssignedIdentityDetails interface { - AssignPropertiesFrom(src *storage.UserAssignedIdentityDetails) error - AssignPropertiesTo(dst *storage.UserAssignedIdentityDetails) error + AssignPropertiesFrom(src *v20231001s.UserAssignedIdentityDetails) error + AssignPropertiesTo(dst *v20231001s.UserAssignedIdentityDetails) error } type augmentConversionForWindowsGmsaProfile interface { - AssignPropertiesFrom(src *storage.WindowsGmsaProfile) error - AssignPropertiesTo(dst *storage.WindowsGmsaProfile) error + AssignPropertiesFrom(src *v20231001s.WindowsGmsaProfile) error + AssignPropertiesTo(dst *v20231001s.WindowsGmsaProfile) error } type augmentConversionForWindowsGmsaProfile_STATUS interface { - AssignPropertiesFrom(src *storage.WindowsGmsaProfile_STATUS) error - AssignPropertiesTo(dst *storage.WindowsGmsaProfile_STATUS) error + AssignPropertiesFrom(src *v20231001s.WindowsGmsaProfile_STATUS) error + AssignPropertiesTo(dst *v20231001s.WindowsGmsaProfile_STATUS) error } // Storage version of v1api20231102preview.ContainerServiceNetworkProfile_KubeProxyConfig_IpvsConfig @@ -14864,14 +15500,13 @@ type ContainerServiceNetworkProfile_KubeProxyConfig_IpvsConfig_STATUS struct { } // Storage version of v1api20231102preview.ContainerServiceSshPublicKey -// Contains information about SSH certificate public key data. type ContainerServiceSshPublicKey struct { KeyData *string `json:"keyData,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` } // AssignProperties_From_ContainerServiceSshPublicKey populates our ContainerServiceSshPublicKey from the provided source ContainerServiceSshPublicKey -func (publicKey *ContainerServiceSshPublicKey) AssignProperties_From_ContainerServiceSshPublicKey(source *storage.ContainerServiceSshPublicKey) error { +func (publicKey *ContainerServiceSshPublicKey) AssignProperties_From_ContainerServiceSshPublicKey(source *v20231001s.ContainerServiceSshPublicKey) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -14899,7 +15534,7 @@ func (publicKey *ContainerServiceSshPublicKey) AssignProperties_From_ContainerSe } // AssignProperties_To_ContainerServiceSshPublicKey populates the provided destination ContainerServiceSshPublicKey from our ContainerServiceSshPublicKey -func (publicKey *ContainerServiceSshPublicKey) AssignProperties_To_ContainerServiceSshPublicKey(destination *storage.ContainerServiceSshPublicKey) error { +func (publicKey *ContainerServiceSshPublicKey) AssignProperties_To_ContainerServiceSshPublicKey(destination *v20231001s.ContainerServiceSshPublicKey) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(publicKey.PropertyBag) @@ -14927,14 +15562,13 @@ func (publicKey *ContainerServiceSshPublicKey) AssignProperties_To_ContainerServ } // Storage version of v1api20231102preview.ContainerServiceSshPublicKey_STATUS -// Contains information about SSH certificate public key data. type ContainerServiceSshPublicKey_STATUS struct { KeyData *string `json:"keyData,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` } // AssignProperties_From_ContainerServiceSshPublicKey_STATUS populates our ContainerServiceSshPublicKey_STATUS from the provided source ContainerServiceSshPublicKey_STATUS -func (publicKey *ContainerServiceSshPublicKey_STATUS) AssignProperties_From_ContainerServiceSshPublicKey_STATUS(source *storage.ContainerServiceSshPublicKey_STATUS) error { +func (publicKey *ContainerServiceSshPublicKey_STATUS) AssignProperties_From_ContainerServiceSshPublicKey_STATUS(source *v20231001s.ContainerServiceSshPublicKey_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -14962,7 +15596,7 @@ func (publicKey *ContainerServiceSshPublicKey_STATUS) AssignProperties_From_Cont } // AssignProperties_To_ContainerServiceSshPublicKey_STATUS populates the provided destination ContainerServiceSshPublicKey_STATUS from our ContainerServiceSshPublicKey_STATUS -func (publicKey *ContainerServiceSshPublicKey_STATUS) AssignProperties_To_ContainerServiceSshPublicKey_STATUS(destination *storage.ContainerServiceSshPublicKey_STATUS) error { +func (publicKey *ContainerServiceSshPublicKey_STATUS) AssignProperties_To_ContainerServiceSshPublicKey_STATUS(destination *v20231001s.ContainerServiceSshPublicKey_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(publicKey.PropertyBag) @@ -14990,15 +15624,13 @@ func (publicKey *ContainerServiceSshPublicKey_STATUS) AssignProperties_To_Contai } // Storage version of v1api20231102preview.IstioCertificateAuthority -// Istio Service Mesh Certificate Authority (CA) configuration. For now, we only support plugin certificates as described -// here https://aka.ms/asm-plugin-ca type IstioCertificateAuthority struct { Plugin *IstioPluginCertificateAuthority `json:"plugin,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` } // AssignProperties_From_IstioCertificateAuthority populates our IstioCertificateAuthority from the provided source IstioCertificateAuthority -func (authority *IstioCertificateAuthority) AssignProperties_From_IstioCertificateAuthority(source *storage.IstioCertificateAuthority) error { +func (authority *IstioCertificateAuthority) AssignProperties_From_IstioCertificateAuthority(source *v20231001s.IstioCertificateAuthority) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -15035,13 +15667,13 @@ func (authority *IstioCertificateAuthority) AssignProperties_From_IstioCertifica } // AssignProperties_To_IstioCertificateAuthority populates the provided destination IstioCertificateAuthority from our IstioCertificateAuthority -func (authority *IstioCertificateAuthority) AssignProperties_To_IstioCertificateAuthority(destination *storage.IstioCertificateAuthority) error { +func (authority *IstioCertificateAuthority) AssignProperties_To_IstioCertificateAuthority(destination *v20231001s.IstioCertificateAuthority) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(authority.PropertyBag) // Plugin if authority.Plugin != nil { - var plugin storage.IstioPluginCertificateAuthority + var plugin v20231001s.IstioPluginCertificateAuthority err := authority.Plugin.AssignProperties_To_IstioPluginCertificateAuthority(&plugin) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_IstioPluginCertificateAuthority() to populate field Plugin") @@ -15072,15 +15704,13 @@ func (authority *IstioCertificateAuthority) AssignProperties_To_IstioCertificate } // Storage version of v1api20231102preview.IstioCertificateAuthority_STATUS -// Istio Service Mesh Certificate Authority (CA) configuration. For now, we only support plugin certificates as described -// here https://aka.ms/asm-plugin-ca type IstioCertificateAuthority_STATUS struct { Plugin *IstioPluginCertificateAuthority_STATUS `json:"plugin,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` } // AssignProperties_From_IstioCertificateAuthority_STATUS populates our IstioCertificateAuthority_STATUS from the provided source IstioCertificateAuthority_STATUS -func (authority *IstioCertificateAuthority_STATUS) AssignProperties_From_IstioCertificateAuthority_STATUS(source *storage.IstioCertificateAuthority_STATUS) error { +func (authority *IstioCertificateAuthority_STATUS) AssignProperties_From_IstioCertificateAuthority_STATUS(source *v20231001s.IstioCertificateAuthority_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -15117,13 +15747,13 @@ func (authority *IstioCertificateAuthority_STATUS) AssignProperties_From_IstioCe } // AssignProperties_To_IstioCertificateAuthority_STATUS populates the provided destination IstioCertificateAuthority_STATUS from our IstioCertificateAuthority_STATUS -func (authority *IstioCertificateAuthority_STATUS) AssignProperties_To_IstioCertificateAuthority_STATUS(destination *storage.IstioCertificateAuthority_STATUS) error { +func (authority *IstioCertificateAuthority_STATUS) AssignProperties_To_IstioCertificateAuthority_STATUS(destination *v20231001s.IstioCertificateAuthority_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(authority.PropertyBag) // Plugin if authority.Plugin != nil { - var plugin storage.IstioPluginCertificateAuthority_STATUS + var plugin v20231001s.IstioPluginCertificateAuthority_STATUS err := authority.Plugin.AssignProperties_To_IstioPluginCertificateAuthority_STATUS(&plugin) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_IstioPluginCertificateAuthority_STATUS() to populate field Plugin") @@ -15154,7 +15784,6 @@ func (authority *IstioCertificateAuthority_STATUS) AssignProperties_To_IstioCert } // Storage version of v1api20231102preview.IstioComponents -// Istio components configuration. type IstioComponents struct { EgressGateways []IstioEgressGateway `json:"egressGateways,omitempty"` IngressGateways []IstioIngressGateway `json:"ingressGateways,omitempty"` @@ -15162,7 +15791,7 @@ type IstioComponents struct { } // AssignProperties_From_IstioComponents populates our IstioComponents from the provided source IstioComponents -func (components *IstioComponents) AssignProperties_From_IstioComponents(source *storage.IstioComponents) error { +func (components *IstioComponents) AssignProperties_From_IstioComponents(source *v20231001s.IstioComponents) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -15223,17 +15852,17 @@ func (components *IstioComponents) AssignProperties_From_IstioComponents(source } // AssignProperties_To_IstioComponents populates the provided destination IstioComponents from our IstioComponents -func (components *IstioComponents) AssignProperties_To_IstioComponents(destination *storage.IstioComponents) error { +func (components *IstioComponents) AssignProperties_To_IstioComponents(destination *v20231001s.IstioComponents) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(components.PropertyBag) // EgressGateways if components.EgressGateways != nil { - egressGatewayList := make([]storage.IstioEgressGateway, len(components.EgressGateways)) + egressGatewayList := make([]v20231001s.IstioEgressGateway, len(components.EgressGateways)) for egressGatewayIndex, egressGatewayItem := range components.EgressGateways { // Shadow the loop variable to avoid aliasing egressGatewayItem := egressGatewayItem - var egressGateway storage.IstioEgressGateway + var egressGateway v20231001s.IstioEgressGateway err := egressGatewayItem.AssignProperties_To_IstioEgressGateway(&egressGateway) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_IstioEgressGateway() to populate field EgressGateways") @@ -15247,11 +15876,11 @@ func (components *IstioComponents) AssignProperties_To_IstioComponents(destinati // IngressGateways if components.IngressGateways != nil { - ingressGatewayList := make([]storage.IstioIngressGateway, len(components.IngressGateways)) + ingressGatewayList := make([]v20231001s.IstioIngressGateway, len(components.IngressGateways)) for ingressGatewayIndex, ingressGatewayItem := range components.IngressGateways { // Shadow the loop variable to avoid aliasing ingressGatewayItem := ingressGatewayItem - var ingressGateway storage.IstioIngressGateway + var ingressGateway v20231001s.IstioIngressGateway err := ingressGatewayItem.AssignProperties_To_IstioIngressGateway(&ingressGateway) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_IstioIngressGateway() to populate field IngressGateways") @@ -15284,7 +15913,6 @@ func (components *IstioComponents) AssignProperties_To_IstioComponents(destinati } // Storage version of v1api20231102preview.IstioComponents_STATUS -// Istio components configuration. type IstioComponents_STATUS struct { EgressGateways []IstioEgressGateway_STATUS `json:"egressGateways,omitempty"` IngressGateways []IstioIngressGateway_STATUS `json:"ingressGateways,omitempty"` @@ -15292,7 +15920,7 @@ type IstioComponents_STATUS struct { } // AssignProperties_From_IstioComponents_STATUS populates our IstioComponents_STATUS from the provided source IstioComponents_STATUS -func (components *IstioComponents_STATUS) AssignProperties_From_IstioComponents_STATUS(source *storage.IstioComponents_STATUS) error { +func (components *IstioComponents_STATUS) AssignProperties_From_IstioComponents_STATUS(source *v20231001s.IstioComponents_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -15353,17 +15981,17 @@ func (components *IstioComponents_STATUS) AssignProperties_From_IstioComponents_ } // AssignProperties_To_IstioComponents_STATUS populates the provided destination IstioComponents_STATUS from our IstioComponents_STATUS -func (components *IstioComponents_STATUS) AssignProperties_To_IstioComponents_STATUS(destination *storage.IstioComponents_STATUS) error { +func (components *IstioComponents_STATUS) AssignProperties_To_IstioComponents_STATUS(destination *v20231001s.IstioComponents_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(components.PropertyBag) // EgressGateways if components.EgressGateways != nil { - egressGatewayList := make([]storage.IstioEgressGateway_STATUS, len(components.EgressGateways)) + egressGatewayList := make([]v20231001s.IstioEgressGateway_STATUS, len(components.EgressGateways)) for egressGatewayIndex, egressGatewayItem := range components.EgressGateways { // Shadow the loop variable to avoid aliasing egressGatewayItem := egressGatewayItem - var egressGateway storage.IstioEgressGateway_STATUS + var egressGateway v20231001s.IstioEgressGateway_STATUS err := egressGatewayItem.AssignProperties_To_IstioEgressGateway_STATUS(&egressGateway) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_IstioEgressGateway_STATUS() to populate field EgressGateways") @@ -15377,11 +16005,11 @@ func (components *IstioComponents_STATUS) AssignProperties_To_IstioComponents_ST // IngressGateways if components.IngressGateways != nil { - ingressGatewayList := make([]storage.IstioIngressGateway_STATUS, len(components.IngressGateways)) + ingressGatewayList := make([]v20231001s.IstioIngressGateway_STATUS, len(components.IngressGateways)) for ingressGatewayIndex, ingressGatewayItem := range components.IngressGateways { // Shadow the loop variable to avoid aliasing ingressGatewayItem := ingressGatewayItem - var ingressGateway storage.IstioIngressGateway_STATUS + var ingressGateway v20231001s.IstioIngressGateway_STATUS err := ingressGatewayItem.AssignProperties_To_IstioIngressGateway_STATUS(&ingressGateway) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_IstioIngressGateway_STATUS() to populate field IngressGateways") @@ -15414,57 +16042,38 @@ func (components *IstioComponents_STATUS) AssignProperties_To_IstioComponents_ST } // Storage version of v1api20231102preview.ManagedClusterAzureMonitorProfileAppMonitoring -// Application Monitoring Profile for Kubernetes Application Container. Collects application logs, metrics and traces -// through auto-instrumentation of the application using Azure Monitor OpenTelemetry based SDKs. See -// aka.ms/AzureMonitorApplicationMonitoring for an overview. type ManagedClusterAzureMonitorProfileAppMonitoring struct { Enabled *bool `json:"enabled,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` } // Storage version of v1api20231102preview.ManagedClusterAzureMonitorProfileAppMonitoring_STATUS -// Application Monitoring Profile for Kubernetes Application Container. Collects application logs, metrics and traces -// through auto-instrumentation of the application using Azure Monitor OpenTelemetry based SDKs. See -// aka.ms/AzureMonitorApplicationMonitoring for an overview. type ManagedClusterAzureMonitorProfileAppMonitoring_STATUS struct { Enabled *bool `json:"enabled,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` } // Storage version of v1api20231102preview.ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetrics -// Application Monitoring Open Telemetry Metrics Profile for Kubernetes Application Container Metrics. Collects -// OpenTelemetry metrics through auto-instrumentation of the application using Azure Monitor OpenTelemetry based SDKs. See -// aka.ms/AzureMonitorApplicationMonitoring for an overview. type ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetrics struct { Enabled *bool `json:"enabled,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` } // Storage version of v1api20231102preview.ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetrics_STATUS -// Application Monitoring Open Telemetry Metrics Profile for Kubernetes Application Container Metrics. Collects -// OpenTelemetry metrics through auto-instrumentation of the application using Azure Monitor OpenTelemetry based SDKs. See -// aka.ms/AzureMonitorApplicationMonitoring for an overview. type ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetrics_STATUS struct { Enabled *bool `json:"enabled,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` } // Storage version of v1api20231102preview.ManagedClusterAzureMonitorProfileContainerInsights -// Azure Monitor Container Insights Profile for Kubernetes Events, Inventory and Container stdout & stderr logs etc. See -// aka.ms/AzureMonitorContainerInsights for an overview. type ManagedClusterAzureMonitorProfileContainerInsights struct { - Enabled *bool `json:"enabled,omitempty"` - - // LogAnalyticsWorkspaceResourceReference: Fully Qualified ARM Resource Id of Azure Log Analytics Workspace for storing - // Azure Monitor Container Insights Logs. + Enabled *bool `json:"enabled,omitempty"` LogAnalyticsWorkspaceResourceReference *genruntime.ResourceReference `armReference:"LogAnalyticsWorkspaceResourceId" json:"logAnalyticsWorkspaceResourceReference,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` WindowsHostLogs *ManagedClusterAzureMonitorProfileWindowsHostLogs `json:"windowsHostLogs,omitempty"` } // Storage version of v1api20231102preview.ManagedClusterAzureMonitorProfileContainerInsights_STATUS -// Azure Monitor Container Insights Profile for Kubernetes Events, Inventory and Container stdout & stderr logs etc. See -// aka.ms/AzureMonitorContainerInsights for an overview. type ManagedClusterAzureMonitorProfileContainerInsights_STATUS struct { Enabled *bool `json:"enabled,omitempty"` LogAnalyticsWorkspaceResourceId *string `json:"logAnalyticsWorkspaceResourceId,omitempty"` @@ -15473,7 +16082,6 @@ type ManagedClusterAzureMonitorProfileContainerInsights_STATUS struct { } // Storage version of v1api20231102preview.ManagedClusterAzureMonitorProfileKubeStateMetrics -// Kube State Metrics for prometheus addon profile for the container service cluster type ManagedClusterAzureMonitorProfileKubeStateMetrics struct { MetricAnnotationsAllowList *string `json:"metricAnnotationsAllowList,omitempty"` MetricLabelsAllowlist *string `json:"metricLabelsAllowlist,omitempty"` @@ -15481,7 +16089,7 @@ type ManagedClusterAzureMonitorProfileKubeStateMetrics struct { } // AssignProperties_From_ManagedClusterAzureMonitorProfileKubeStateMetrics populates our ManagedClusterAzureMonitorProfileKubeStateMetrics from the provided source ManagedClusterAzureMonitorProfileKubeStateMetrics -func (metrics *ManagedClusterAzureMonitorProfileKubeStateMetrics) AssignProperties_From_ManagedClusterAzureMonitorProfileKubeStateMetrics(source *storage.ManagedClusterAzureMonitorProfileKubeStateMetrics) error { +func (metrics *ManagedClusterAzureMonitorProfileKubeStateMetrics) AssignProperties_From_ManagedClusterAzureMonitorProfileKubeStateMetrics(source *v20231001s.ManagedClusterAzureMonitorProfileKubeStateMetrics) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -15512,7 +16120,7 @@ func (metrics *ManagedClusterAzureMonitorProfileKubeStateMetrics) AssignProperti } // AssignProperties_To_ManagedClusterAzureMonitorProfileKubeStateMetrics populates the provided destination ManagedClusterAzureMonitorProfileKubeStateMetrics from our ManagedClusterAzureMonitorProfileKubeStateMetrics -func (metrics *ManagedClusterAzureMonitorProfileKubeStateMetrics) AssignProperties_To_ManagedClusterAzureMonitorProfileKubeStateMetrics(destination *storage.ManagedClusterAzureMonitorProfileKubeStateMetrics) error { +func (metrics *ManagedClusterAzureMonitorProfileKubeStateMetrics) AssignProperties_To_ManagedClusterAzureMonitorProfileKubeStateMetrics(destination *v20231001s.ManagedClusterAzureMonitorProfileKubeStateMetrics) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(metrics.PropertyBag) @@ -15543,7 +16151,6 @@ func (metrics *ManagedClusterAzureMonitorProfileKubeStateMetrics) AssignProperti } // Storage version of v1api20231102preview.ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS -// Kube State Metrics for prometheus addon profile for the container service cluster type ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS struct { MetricAnnotationsAllowList *string `json:"metricAnnotationsAllowList,omitempty"` MetricLabelsAllowlist *string `json:"metricLabelsAllowlist,omitempty"` @@ -15551,7 +16158,7 @@ type ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS struct { } // AssignProperties_From_ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS populates our ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS from the provided source ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS -func (metrics *ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS) AssignProperties_From_ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS(source *storage.ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS) error { +func (metrics *ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS) AssignProperties_From_ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS(source *v20231001s.ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -15582,7 +16189,7 @@ func (metrics *ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS) AssignP } // AssignProperties_To_ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS populates the provided destination ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS from our ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS -func (metrics *ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS) AssignProperties_To_ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS(destination *storage.ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS) error { +func (metrics *ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS) AssignProperties_To_ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS(destination *v20231001s.ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(metrics.PropertyBag) @@ -15620,7 +16227,7 @@ type ManagedClusterLoadBalancerProfile_ManagedOutboundIPs struct { } // AssignProperties_From_ManagedClusterLoadBalancerProfile_ManagedOutboundIPs populates our ManagedClusterLoadBalancerProfile_ManagedOutboundIPs from the provided source ManagedClusterLoadBalancerProfile_ManagedOutboundIPs -func (iPs *ManagedClusterLoadBalancerProfile_ManagedOutboundIPs) AssignProperties_From_ManagedClusterLoadBalancerProfile_ManagedOutboundIPs(source *storage.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs) error { +func (iPs *ManagedClusterLoadBalancerProfile_ManagedOutboundIPs) AssignProperties_From_ManagedClusterLoadBalancerProfile_ManagedOutboundIPs(source *v20231001s.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -15651,7 +16258,7 @@ func (iPs *ManagedClusterLoadBalancerProfile_ManagedOutboundIPs) AssignPropertie } // AssignProperties_To_ManagedClusterLoadBalancerProfile_ManagedOutboundIPs populates the provided destination ManagedClusterLoadBalancerProfile_ManagedOutboundIPs from our ManagedClusterLoadBalancerProfile_ManagedOutboundIPs -func (iPs *ManagedClusterLoadBalancerProfile_ManagedOutboundIPs) AssignProperties_To_ManagedClusterLoadBalancerProfile_ManagedOutboundIPs(destination *storage.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs) error { +func (iPs *ManagedClusterLoadBalancerProfile_ManagedOutboundIPs) AssignProperties_To_ManagedClusterLoadBalancerProfile_ManagedOutboundIPs(destination *v20231001s.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(iPs.PropertyBag) @@ -15689,7 +16296,7 @@ type ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS struct { } // AssignProperties_From_ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS populates our ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS from the provided source ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS -func (iPs *ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS) AssignProperties_From_ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS(source *storage.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS) error { +func (iPs *ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS) AssignProperties_From_ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS(source *v20231001s.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -15720,7 +16327,7 @@ func (iPs *ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS) AssignPr } // AssignProperties_To_ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS populates the provided destination ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS from our ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS -func (iPs *ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS) AssignProperties_To_ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS(destination *storage.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS) error { +func (iPs *ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS) AssignProperties_To_ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS(destination *v20231001s.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(iPs.PropertyBag) @@ -15757,7 +16364,7 @@ type ManagedClusterLoadBalancerProfile_OutboundIPPrefixes struct { } // AssignProperties_From_ManagedClusterLoadBalancerProfile_OutboundIPPrefixes populates our ManagedClusterLoadBalancerProfile_OutboundIPPrefixes from the provided source ManagedClusterLoadBalancerProfile_OutboundIPPrefixes -func (prefixes *ManagedClusterLoadBalancerProfile_OutboundIPPrefixes) AssignProperties_From_ManagedClusterLoadBalancerProfile_OutboundIPPrefixes(source *storage.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes) error { +func (prefixes *ManagedClusterLoadBalancerProfile_OutboundIPPrefixes) AssignProperties_From_ManagedClusterLoadBalancerProfile_OutboundIPPrefixes(source *v20231001s.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -15800,17 +16407,17 @@ func (prefixes *ManagedClusterLoadBalancerProfile_OutboundIPPrefixes) AssignProp } // AssignProperties_To_ManagedClusterLoadBalancerProfile_OutboundIPPrefixes populates the provided destination ManagedClusterLoadBalancerProfile_OutboundIPPrefixes from our ManagedClusterLoadBalancerProfile_OutboundIPPrefixes -func (prefixes *ManagedClusterLoadBalancerProfile_OutboundIPPrefixes) AssignProperties_To_ManagedClusterLoadBalancerProfile_OutboundIPPrefixes(destination *storage.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes) error { +func (prefixes *ManagedClusterLoadBalancerProfile_OutboundIPPrefixes) AssignProperties_To_ManagedClusterLoadBalancerProfile_OutboundIPPrefixes(destination *v20231001s.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(prefixes.PropertyBag) // PublicIPPrefixes if prefixes.PublicIPPrefixes != nil { - publicIPPrefixList := make([]storage.ResourceReference, len(prefixes.PublicIPPrefixes)) + publicIPPrefixList := make([]v20231001s.ResourceReference, len(prefixes.PublicIPPrefixes)) for publicIPPrefixIndex, publicIPPrefixItem := range prefixes.PublicIPPrefixes { // Shadow the loop variable to avoid aliasing publicIPPrefixItem := publicIPPrefixItem - var publicIPPrefix storage.ResourceReference + var publicIPPrefix v20231001s.ResourceReference err := publicIPPrefixItem.AssignProperties_To_ResourceReference(&publicIPPrefix) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ResourceReference() to populate field PublicIPPrefixes") @@ -15849,7 +16456,7 @@ type ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS struct { } // AssignProperties_From_ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS populates our ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS from the provided source ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS -func (prefixes *ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS) AssignProperties_From_ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS(source *storage.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS) error { +func (prefixes *ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS) AssignProperties_From_ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS(source *v20231001s.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -15892,17 +16499,17 @@ func (prefixes *ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS) Ass } // AssignProperties_To_ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS populates the provided destination ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS from our ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS -func (prefixes *ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS) AssignProperties_To_ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS(destination *storage.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS) error { +func (prefixes *ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS) AssignProperties_To_ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS(destination *v20231001s.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(prefixes.PropertyBag) // PublicIPPrefixes if prefixes.PublicIPPrefixes != nil { - publicIPPrefixList := make([]storage.ResourceReference_STATUS, len(prefixes.PublicIPPrefixes)) + publicIPPrefixList := make([]v20231001s.ResourceReference_STATUS, len(prefixes.PublicIPPrefixes)) for publicIPPrefixIndex, publicIPPrefixItem := range prefixes.PublicIPPrefixes { // Shadow the loop variable to avoid aliasing publicIPPrefixItem := publicIPPrefixItem - var publicIPPrefix storage.ResourceReference_STATUS + var publicIPPrefix v20231001s.ResourceReference_STATUS err := publicIPPrefixItem.AssignProperties_To_ResourceReference_STATUS(&publicIPPrefix) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ResourceReference_STATUS() to populate field PublicIPPrefixes") @@ -15941,7 +16548,7 @@ type ManagedClusterLoadBalancerProfile_OutboundIPs struct { } // AssignProperties_From_ManagedClusterLoadBalancerProfile_OutboundIPs populates our ManagedClusterLoadBalancerProfile_OutboundIPs from the provided source ManagedClusterLoadBalancerProfile_OutboundIPs -func (iPs *ManagedClusterLoadBalancerProfile_OutboundIPs) AssignProperties_From_ManagedClusterLoadBalancerProfile_OutboundIPs(source *storage.ManagedClusterLoadBalancerProfile_OutboundIPs) error { +func (iPs *ManagedClusterLoadBalancerProfile_OutboundIPs) AssignProperties_From_ManagedClusterLoadBalancerProfile_OutboundIPs(source *v20231001s.ManagedClusterLoadBalancerProfile_OutboundIPs) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -15984,17 +16591,17 @@ func (iPs *ManagedClusterLoadBalancerProfile_OutboundIPs) AssignProperties_From_ } // AssignProperties_To_ManagedClusterLoadBalancerProfile_OutboundIPs populates the provided destination ManagedClusterLoadBalancerProfile_OutboundIPs from our ManagedClusterLoadBalancerProfile_OutboundIPs -func (iPs *ManagedClusterLoadBalancerProfile_OutboundIPs) AssignProperties_To_ManagedClusterLoadBalancerProfile_OutboundIPs(destination *storage.ManagedClusterLoadBalancerProfile_OutboundIPs) error { +func (iPs *ManagedClusterLoadBalancerProfile_OutboundIPs) AssignProperties_To_ManagedClusterLoadBalancerProfile_OutboundIPs(destination *v20231001s.ManagedClusterLoadBalancerProfile_OutboundIPs) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(iPs.PropertyBag) // PublicIPs if iPs.PublicIPs != nil { - publicIPList := make([]storage.ResourceReference, len(iPs.PublicIPs)) + publicIPList := make([]v20231001s.ResourceReference, len(iPs.PublicIPs)) for publicIPIndex, publicIPItem := range iPs.PublicIPs { // Shadow the loop variable to avoid aliasing publicIPItem := publicIPItem - var publicIP storage.ResourceReference + var publicIP v20231001s.ResourceReference err := publicIPItem.AssignProperties_To_ResourceReference(&publicIP) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ResourceReference() to populate field PublicIPs") @@ -16033,7 +16640,7 @@ type ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS struct { } // AssignProperties_From_ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS populates our ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS from the provided source ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS -func (iPs *ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS) AssignProperties_From_ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS(source *storage.ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS) error { +func (iPs *ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS) AssignProperties_From_ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS(source *v20231001s.ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -16076,17 +16683,17 @@ func (iPs *ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS) AssignPropertie } // AssignProperties_To_ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS populates the provided destination ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS from our ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS -func (iPs *ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS) AssignProperties_To_ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS(destination *storage.ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS) error { +func (iPs *ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS) AssignProperties_To_ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS(destination *v20231001s.ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(iPs.PropertyBag) // PublicIPs if iPs.PublicIPs != nil { - publicIPList := make([]storage.ResourceReference_STATUS, len(iPs.PublicIPs)) + publicIPList := make([]v20231001s.ResourceReference_STATUS, len(iPs.PublicIPs)) for publicIPIndex, publicIPItem := range iPs.PublicIPs { // Shadow the loop variable to avoid aliasing publicIPItem := publicIPItem - var publicIP storage.ResourceReference_STATUS + var publicIP v20231001s.ResourceReference_STATUS err := publicIPItem.AssignProperties_To_ResourceReference_STATUS(&publicIP) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ResourceReference_STATUS() to populate field PublicIPs") @@ -16119,14 +16726,13 @@ func (iPs *ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS) AssignPropertie } // Storage version of v1api20231102preview.ManagedClusterManagedOutboundIPProfile -// Profile of the managed outbound IP resources of the managed cluster. type ManagedClusterManagedOutboundIPProfile struct { Count *int `json:"count,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` } // AssignProperties_From_ManagedClusterManagedOutboundIPProfile populates our ManagedClusterManagedOutboundIPProfile from the provided source ManagedClusterManagedOutboundIPProfile -func (profile *ManagedClusterManagedOutboundIPProfile) AssignProperties_From_ManagedClusterManagedOutboundIPProfile(source *storage.ManagedClusterManagedOutboundIPProfile) error { +func (profile *ManagedClusterManagedOutboundIPProfile) AssignProperties_From_ManagedClusterManagedOutboundIPProfile(source *v20231001s.ManagedClusterManagedOutboundIPProfile) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -16154,7 +16760,7 @@ func (profile *ManagedClusterManagedOutboundIPProfile) AssignProperties_From_Man } // AssignProperties_To_ManagedClusterManagedOutboundIPProfile populates the provided destination ManagedClusterManagedOutboundIPProfile from our ManagedClusterManagedOutboundIPProfile -func (profile *ManagedClusterManagedOutboundIPProfile) AssignProperties_To_ManagedClusterManagedOutboundIPProfile(destination *storage.ManagedClusterManagedOutboundIPProfile) error { +func (profile *ManagedClusterManagedOutboundIPProfile) AssignProperties_To_ManagedClusterManagedOutboundIPProfile(destination *v20231001s.ManagedClusterManagedOutboundIPProfile) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) @@ -16182,14 +16788,13 @@ func (profile *ManagedClusterManagedOutboundIPProfile) AssignProperties_To_Manag } // Storage version of v1api20231102preview.ManagedClusterManagedOutboundIPProfile_STATUS -// Profile of the managed outbound IP resources of the managed cluster. type ManagedClusterManagedOutboundIPProfile_STATUS struct { Count *int `json:"count,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` } // AssignProperties_From_ManagedClusterManagedOutboundIPProfile_STATUS populates our ManagedClusterManagedOutboundIPProfile_STATUS from the provided source ManagedClusterManagedOutboundIPProfile_STATUS -func (profile *ManagedClusterManagedOutboundIPProfile_STATUS) AssignProperties_From_ManagedClusterManagedOutboundIPProfile_STATUS(source *storage.ManagedClusterManagedOutboundIPProfile_STATUS) error { +func (profile *ManagedClusterManagedOutboundIPProfile_STATUS) AssignProperties_From_ManagedClusterManagedOutboundIPProfile_STATUS(source *v20231001s.ManagedClusterManagedOutboundIPProfile_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -16217,7 +16822,7 @@ func (profile *ManagedClusterManagedOutboundIPProfile_STATUS) AssignProperties_F } // AssignProperties_To_ManagedClusterManagedOutboundIPProfile_STATUS populates the provided destination ManagedClusterManagedOutboundIPProfile_STATUS from our ManagedClusterManagedOutboundIPProfile_STATUS -func (profile *ManagedClusterManagedOutboundIPProfile_STATUS) AssignProperties_To_ManagedClusterManagedOutboundIPProfile_STATUS(destination *storage.ManagedClusterManagedOutboundIPProfile_STATUS) error { +func (profile *ManagedClusterManagedOutboundIPProfile_STATUS) AssignProperties_To_ManagedClusterManagedOutboundIPProfile_STATUS(destination *v20231001s.ManagedClusterManagedOutboundIPProfile_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) @@ -16251,7 +16856,7 @@ type ManagedClusterPodIdentity_ProvisioningInfo_STATUS struct { } // AssignProperties_From_ManagedClusterPodIdentity_ProvisioningInfo_STATUS populates our ManagedClusterPodIdentity_ProvisioningInfo_STATUS from the provided source ManagedClusterPodIdentity_ProvisioningInfo_STATUS -func (info *ManagedClusterPodIdentity_ProvisioningInfo_STATUS) AssignProperties_From_ManagedClusterPodIdentity_ProvisioningInfo_STATUS(source *storage.ManagedClusterPodIdentity_ProvisioningInfo_STATUS) error { +func (info *ManagedClusterPodIdentity_ProvisioningInfo_STATUS) AssignProperties_From_ManagedClusterPodIdentity_ProvisioningInfo_STATUS(source *v20231001s.ManagedClusterPodIdentity_ProvisioningInfo_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -16288,13 +16893,13 @@ func (info *ManagedClusterPodIdentity_ProvisioningInfo_STATUS) AssignProperties_ } // AssignProperties_To_ManagedClusterPodIdentity_ProvisioningInfo_STATUS populates the provided destination ManagedClusterPodIdentity_ProvisioningInfo_STATUS from our ManagedClusterPodIdentity_ProvisioningInfo_STATUS -func (info *ManagedClusterPodIdentity_ProvisioningInfo_STATUS) AssignProperties_To_ManagedClusterPodIdentity_ProvisioningInfo_STATUS(destination *storage.ManagedClusterPodIdentity_ProvisioningInfo_STATUS) error { +func (info *ManagedClusterPodIdentity_ProvisioningInfo_STATUS) AssignProperties_To_ManagedClusterPodIdentity_ProvisioningInfo_STATUS(destination *v20231001s.ManagedClusterPodIdentity_ProvisioningInfo_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(info.PropertyBag) // Error if info.Error != nil { - var error storage.ManagedClusterPodIdentityProvisioningError_STATUS + var error v20231001s.ManagedClusterPodIdentityProvisioningError_STATUS err := info.Error.AssignProperties_To_ManagedClusterPodIdentityProvisioningError_STATUS(&error) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterPodIdentityProvisioningError_STATUS() to populate field Error") @@ -16325,14 +16930,13 @@ func (info *ManagedClusterPodIdentity_ProvisioningInfo_STATUS) AssignProperties_ } // Storage version of v1api20231102preview.ManagedClusterSecurityProfileDefenderSecurityMonitoring -// Microsoft Defender settings for the security profile threat detection. type ManagedClusterSecurityProfileDefenderSecurityMonitoring struct { Enabled *bool `json:"enabled,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` } // AssignProperties_From_ManagedClusterSecurityProfileDefenderSecurityMonitoring populates our ManagedClusterSecurityProfileDefenderSecurityMonitoring from the provided source ManagedClusterSecurityProfileDefenderSecurityMonitoring -func (monitoring *ManagedClusterSecurityProfileDefenderSecurityMonitoring) AssignProperties_From_ManagedClusterSecurityProfileDefenderSecurityMonitoring(source *storage.ManagedClusterSecurityProfileDefenderSecurityMonitoring) error { +func (monitoring *ManagedClusterSecurityProfileDefenderSecurityMonitoring) AssignProperties_From_ManagedClusterSecurityProfileDefenderSecurityMonitoring(source *v20231001s.ManagedClusterSecurityProfileDefenderSecurityMonitoring) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -16365,7 +16969,7 @@ func (monitoring *ManagedClusterSecurityProfileDefenderSecurityMonitoring) Assig } // AssignProperties_To_ManagedClusterSecurityProfileDefenderSecurityMonitoring populates the provided destination ManagedClusterSecurityProfileDefenderSecurityMonitoring from our ManagedClusterSecurityProfileDefenderSecurityMonitoring -func (monitoring *ManagedClusterSecurityProfileDefenderSecurityMonitoring) AssignProperties_To_ManagedClusterSecurityProfileDefenderSecurityMonitoring(destination *storage.ManagedClusterSecurityProfileDefenderSecurityMonitoring) error { +func (monitoring *ManagedClusterSecurityProfileDefenderSecurityMonitoring) AssignProperties_To_ManagedClusterSecurityProfileDefenderSecurityMonitoring(destination *v20231001s.ManagedClusterSecurityProfileDefenderSecurityMonitoring) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(monitoring.PropertyBag) @@ -16398,14 +17002,13 @@ func (monitoring *ManagedClusterSecurityProfileDefenderSecurityMonitoring) Assig } // Storage version of v1api20231102preview.ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS -// Microsoft Defender settings for the security profile threat detection. type ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS struct { Enabled *bool `json:"enabled,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` } // AssignProperties_From_ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS populates our ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS from the provided source ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS -func (monitoring *ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS) AssignProperties_From_ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS(source *storage.ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS) error { +func (monitoring *ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS) AssignProperties_From_ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS(source *v20231001s.ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -16438,7 +17041,7 @@ func (monitoring *ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS } // AssignProperties_To_ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS populates the provided destination ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS from our ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS -func (monitoring *ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS) AssignProperties_To_ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS(destination *storage.ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS) error { +func (monitoring *ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS) AssignProperties_To_ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS(destination *v20231001s.ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(monitoring.PropertyBag) @@ -16471,16 +17074,13 @@ func (monitoring *ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS } // Storage version of v1api20231102preview.ResourceReference -// A reference to an Azure resource. type ResourceReference struct { - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` - - // Reference: The fully qualified Azure resource id. - Reference *genruntime.ResourceReference `armReference:"Id" json:"reference,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Reference *genruntime.ResourceReference `armReference:"Id" json:"reference,omitempty"` } // AssignProperties_From_ResourceReference populates our ResourceReference from the provided source ResourceReference -func (reference *ResourceReference) AssignProperties_From_ResourceReference(source *storage.ResourceReference) error { +func (reference *ResourceReference) AssignProperties_From_ResourceReference(source *v20231001s.ResourceReference) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -16513,7 +17113,7 @@ func (reference *ResourceReference) AssignProperties_From_ResourceReference(sour } // AssignProperties_To_ResourceReference populates the provided destination ResourceReference from our ResourceReference -func (reference *ResourceReference) AssignProperties_To_ResourceReference(destination *storage.ResourceReference) error { +func (reference *ResourceReference) AssignProperties_To_ResourceReference(destination *v20231001s.ResourceReference) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(reference.PropertyBag) @@ -16546,14 +17146,13 @@ func (reference *ResourceReference) AssignProperties_To_ResourceReference(destin } // Storage version of v1api20231102preview.ResourceReference_STATUS -// A reference to an Azure resource. type ResourceReference_STATUS struct { Id *string `json:"id,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` } // AssignProperties_From_ResourceReference_STATUS populates our ResourceReference_STATUS from the provided source ResourceReference_STATUS -func (reference *ResourceReference_STATUS) AssignProperties_From_ResourceReference_STATUS(source *storage.ResourceReference_STATUS) error { +func (reference *ResourceReference_STATUS) AssignProperties_From_ResourceReference_STATUS(source *v20231001s.ResourceReference_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -16581,7 +17180,7 @@ func (reference *ResourceReference_STATUS) AssignProperties_From_ResourceReferen } // AssignProperties_To_ResourceReference_STATUS populates the provided destination ResourceReference_STATUS from our ResourceReference_STATUS -func (reference *ResourceReference_STATUS) AssignProperties_To_ResourceReference_STATUS(destination *storage.ResourceReference_STATUS) error { +func (reference *ResourceReference_STATUS) AssignProperties_To_ResourceReference_STATUS(destination *v20231001s.ResourceReference_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(reference.PropertyBag) @@ -16609,112 +17208,111 @@ func (reference *ResourceReference_STATUS) AssignProperties_To_ResourceReference } type augmentConversionForContainerServiceSshPublicKey interface { - AssignPropertiesFrom(src *storage.ContainerServiceSshPublicKey) error - AssignPropertiesTo(dst *storage.ContainerServiceSshPublicKey) error + AssignPropertiesFrom(src *v20231001s.ContainerServiceSshPublicKey) error + AssignPropertiesTo(dst *v20231001s.ContainerServiceSshPublicKey) error } type augmentConversionForContainerServiceSshPublicKey_STATUS interface { - AssignPropertiesFrom(src *storage.ContainerServiceSshPublicKey_STATUS) error - AssignPropertiesTo(dst *storage.ContainerServiceSshPublicKey_STATUS) error + AssignPropertiesFrom(src *v20231001s.ContainerServiceSshPublicKey_STATUS) error + AssignPropertiesTo(dst *v20231001s.ContainerServiceSshPublicKey_STATUS) error } type augmentConversionForIstioCertificateAuthority interface { - AssignPropertiesFrom(src *storage.IstioCertificateAuthority) error - AssignPropertiesTo(dst *storage.IstioCertificateAuthority) error + AssignPropertiesFrom(src *v20231001s.IstioCertificateAuthority) error + AssignPropertiesTo(dst *v20231001s.IstioCertificateAuthority) error } type augmentConversionForIstioCertificateAuthority_STATUS interface { - AssignPropertiesFrom(src *storage.IstioCertificateAuthority_STATUS) error - AssignPropertiesTo(dst *storage.IstioCertificateAuthority_STATUS) error + AssignPropertiesFrom(src *v20231001s.IstioCertificateAuthority_STATUS) error + AssignPropertiesTo(dst *v20231001s.IstioCertificateAuthority_STATUS) error } type augmentConversionForIstioComponents interface { - AssignPropertiesFrom(src *storage.IstioComponents) error - AssignPropertiesTo(dst *storage.IstioComponents) error + AssignPropertiesFrom(src *v20231001s.IstioComponents) error + AssignPropertiesTo(dst *v20231001s.IstioComponents) error } type augmentConversionForIstioComponents_STATUS interface { - AssignPropertiesFrom(src *storage.IstioComponents_STATUS) error - AssignPropertiesTo(dst *storage.IstioComponents_STATUS) error + AssignPropertiesFrom(src *v20231001s.IstioComponents_STATUS) error + AssignPropertiesTo(dst *v20231001s.IstioComponents_STATUS) error } type augmentConversionForManagedClusterAzureMonitorProfileKubeStateMetrics interface { - AssignPropertiesFrom(src *storage.ManagedClusterAzureMonitorProfileKubeStateMetrics) error - AssignPropertiesTo(dst *storage.ManagedClusterAzureMonitorProfileKubeStateMetrics) error + AssignPropertiesFrom(src *v20231001s.ManagedClusterAzureMonitorProfileKubeStateMetrics) error + AssignPropertiesTo(dst *v20231001s.ManagedClusterAzureMonitorProfileKubeStateMetrics) error } type augmentConversionForManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS interface { - AssignPropertiesFrom(src *storage.ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS) error - AssignPropertiesTo(dst *storage.ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS) error + AssignPropertiesFrom(src *v20231001s.ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS) error + AssignPropertiesTo(dst *v20231001s.ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS) error } type augmentConversionForManagedClusterLoadBalancerProfile_ManagedOutboundIPs interface { - AssignPropertiesFrom(src *storage.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs) error - AssignPropertiesTo(dst *storage.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs) error + AssignPropertiesFrom(src *v20231001s.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs) error + AssignPropertiesTo(dst *v20231001s.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs) error } type augmentConversionForManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS interface { - AssignPropertiesFrom(src *storage.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS) error - AssignPropertiesTo(dst *storage.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS) error + AssignPropertiesFrom(src *v20231001s.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS) error + AssignPropertiesTo(dst *v20231001s.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS) error } type augmentConversionForManagedClusterLoadBalancerProfile_OutboundIPPrefixes interface { - AssignPropertiesFrom(src *storage.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes) error - AssignPropertiesTo(dst *storage.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes) error + AssignPropertiesFrom(src *v20231001s.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes) error + AssignPropertiesTo(dst *v20231001s.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes) error } type augmentConversionForManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS interface { - AssignPropertiesFrom(src *storage.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS) error - AssignPropertiesTo(dst *storage.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS) error + AssignPropertiesFrom(src *v20231001s.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS) error + AssignPropertiesTo(dst *v20231001s.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS) error } type augmentConversionForManagedClusterLoadBalancerProfile_OutboundIPs interface { - AssignPropertiesFrom(src *storage.ManagedClusterLoadBalancerProfile_OutboundIPs) error - AssignPropertiesTo(dst *storage.ManagedClusterLoadBalancerProfile_OutboundIPs) error + AssignPropertiesFrom(src *v20231001s.ManagedClusterLoadBalancerProfile_OutboundIPs) error + AssignPropertiesTo(dst *v20231001s.ManagedClusterLoadBalancerProfile_OutboundIPs) error } type augmentConversionForManagedClusterLoadBalancerProfile_OutboundIPs_STATUS interface { - AssignPropertiesFrom(src *storage.ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS) error - AssignPropertiesTo(dst *storage.ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS) error + AssignPropertiesFrom(src *v20231001s.ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS) error + AssignPropertiesTo(dst *v20231001s.ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS) error } type augmentConversionForManagedClusterManagedOutboundIPProfile interface { - AssignPropertiesFrom(src *storage.ManagedClusterManagedOutboundIPProfile) error - AssignPropertiesTo(dst *storage.ManagedClusterManagedOutboundIPProfile) error + AssignPropertiesFrom(src *v20231001s.ManagedClusterManagedOutboundIPProfile) error + AssignPropertiesTo(dst *v20231001s.ManagedClusterManagedOutboundIPProfile) error } type augmentConversionForManagedClusterManagedOutboundIPProfile_STATUS interface { - AssignPropertiesFrom(src *storage.ManagedClusterManagedOutboundIPProfile_STATUS) error - AssignPropertiesTo(dst *storage.ManagedClusterManagedOutboundIPProfile_STATUS) error + AssignPropertiesFrom(src *v20231001s.ManagedClusterManagedOutboundIPProfile_STATUS) error + AssignPropertiesTo(dst *v20231001s.ManagedClusterManagedOutboundIPProfile_STATUS) error } type augmentConversionForManagedClusterPodIdentity_ProvisioningInfo_STATUS interface { - AssignPropertiesFrom(src *storage.ManagedClusterPodIdentity_ProvisioningInfo_STATUS) error - AssignPropertiesTo(dst *storage.ManagedClusterPodIdentity_ProvisioningInfo_STATUS) error + AssignPropertiesFrom(src *v20231001s.ManagedClusterPodIdentity_ProvisioningInfo_STATUS) error + AssignPropertiesTo(dst *v20231001s.ManagedClusterPodIdentity_ProvisioningInfo_STATUS) error } type augmentConversionForManagedClusterSecurityProfileDefenderSecurityMonitoring interface { - AssignPropertiesFrom(src *storage.ManagedClusterSecurityProfileDefenderSecurityMonitoring) error - AssignPropertiesTo(dst *storage.ManagedClusterSecurityProfileDefenderSecurityMonitoring) error + AssignPropertiesFrom(src *v20231001s.ManagedClusterSecurityProfileDefenderSecurityMonitoring) error + AssignPropertiesTo(dst *v20231001s.ManagedClusterSecurityProfileDefenderSecurityMonitoring) error } type augmentConversionForManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS interface { - AssignPropertiesFrom(src *storage.ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS) error - AssignPropertiesTo(dst *storage.ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS) error + AssignPropertiesFrom(src *v20231001s.ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS) error + AssignPropertiesTo(dst *v20231001s.ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS) error } type augmentConversionForResourceReference interface { - AssignPropertiesFrom(src *storage.ResourceReference) error - AssignPropertiesTo(dst *storage.ResourceReference) error + AssignPropertiesFrom(src *v20231001s.ResourceReference) error + AssignPropertiesTo(dst *v20231001s.ResourceReference) error } type augmentConversionForResourceReference_STATUS interface { - AssignPropertiesFrom(src *storage.ResourceReference_STATUS) error - AssignPropertiesTo(dst *storage.ResourceReference_STATUS) error + AssignPropertiesFrom(src *v20231001s.ResourceReference_STATUS) error + AssignPropertiesTo(dst *v20231001s.ResourceReference_STATUS) error } // Storage version of v1api20231102preview.IstioEgressGateway -// Istio egress gateway configuration. type IstioEgressGateway struct { Enabled *bool `json:"enabled,omitempty"` NodeSelector map[string]string `json:"nodeSelector,omitempty"` @@ -16722,7 +17320,7 @@ type IstioEgressGateway struct { } // AssignProperties_From_IstioEgressGateway populates our IstioEgressGateway from the provided source IstioEgressGateway -func (gateway *IstioEgressGateway) AssignProperties_From_IstioEgressGateway(source *storage.IstioEgressGateway) error { +func (gateway *IstioEgressGateway) AssignProperties_From_IstioEgressGateway(source *v20231001s.IstioEgressGateway) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -16758,7 +17356,7 @@ func (gateway *IstioEgressGateway) AssignProperties_From_IstioEgressGateway(sour } // AssignProperties_To_IstioEgressGateway populates the provided destination IstioEgressGateway from our IstioEgressGateway -func (gateway *IstioEgressGateway) AssignProperties_To_IstioEgressGateway(destination *storage.IstioEgressGateway) error { +func (gateway *IstioEgressGateway) AssignProperties_To_IstioEgressGateway(destination *v20231001s.IstioEgressGateway) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(gateway.PropertyBag) @@ -16794,7 +17392,6 @@ func (gateway *IstioEgressGateway) AssignProperties_To_IstioEgressGateway(destin } // Storage version of v1api20231102preview.IstioEgressGateway_STATUS -// Istio egress gateway configuration. type IstioEgressGateway_STATUS struct { Enabled *bool `json:"enabled,omitempty"` NodeSelector map[string]string `json:"nodeSelector,omitempty"` @@ -16802,7 +17399,7 @@ type IstioEgressGateway_STATUS struct { } // AssignProperties_From_IstioEgressGateway_STATUS populates our IstioEgressGateway_STATUS from the provided source IstioEgressGateway_STATUS -func (gateway *IstioEgressGateway_STATUS) AssignProperties_From_IstioEgressGateway_STATUS(source *storage.IstioEgressGateway_STATUS) error { +func (gateway *IstioEgressGateway_STATUS) AssignProperties_From_IstioEgressGateway_STATUS(source *v20231001s.IstioEgressGateway_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -16838,7 +17435,7 @@ func (gateway *IstioEgressGateway_STATUS) AssignProperties_From_IstioEgressGatew } // AssignProperties_To_IstioEgressGateway_STATUS populates the provided destination IstioEgressGateway_STATUS from our IstioEgressGateway_STATUS -func (gateway *IstioEgressGateway_STATUS) AssignProperties_To_IstioEgressGateway_STATUS(destination *storage.IstioEgressGateway_STATUS) error { +func (gateway *IstioEgressGateway_STATUS) AssignProperties_To_IstioEgressGateway_STATUS(destination *v20231001s.IstioEgressGateway_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(gateway.PropertyBag) @@ -16874,8 +17471,6 @@ func (gateway *IstioEgressGateway_STATUS) AssignProperties_To_IstioEgressGateway } // Storage version of v1api20231102preview.IstioIngressGateway -// Istio ingress gateway configuration. For now, we support up to one external ingress gateway named -// `aks-istio-ingressgateway-external` and one internal ingress gateway named `aks-istio-ingressgateway-internal`. type IstioIngressGateway struct { Enabled *bool `json:"enabled,omitempty"` Mode *string `json:"mode,omitempty"` @@ -16883,7 +17478,7 @@ type IstioIngressGateway struct { } // AssignProperties_From_IstioIngressGateway populates our IstioIngressGateway from the provided source IstioIngressGateway -func (gateway *IstioIngressGateway) AssignProperties_From_IstioIngressGateway(source *storage.IstioIngressGateway) error { +func (gateway *IstioIngressGateway) AssignProperties_From_IstioIngressGateway(source *v20231001s.IstioIngressGateway) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -16919,7 +17514,7 @@ func (gateway *IstioIngressGateway) AssignProperties_From_IstioIngressGateway(so } // AssignProperties_To_IstioIngressGateway populates the provided destination IstioIngressGateway from our IstioIngressGateway -func (gateway *IstioIngressGateway) AssignProperties_To_IstioIngressGateway(destination *storage.IstioIngressGateway) error { +func (gateway *IstioIngressGateway) AssignProperties_To_IstioIngressGateway(destination *v20231001s.IstioIngressGateway) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(gateway.PropertyBag) @@ -16955,8 +17550,6 @@ func (gateway *IstioIngressGateway) AssignProperties_To_IstioIngressGateway(dest } // Storage version of v1api20231102preview.IstioIngressGateway_STATUS -// Istio ingress gateway configuration. For now, we support up to one external ingress gateway named -// `aks-istio-ingressgateway-external` and one internal ingress gateway named `aks-istio-ingressgateway-internal`. type IstioIngressGateway_STATUS struct { Enabled *bool `json:"enabled,omitempty"` Mode *string `json:"mode,omitempty"` @@ -16964,7 +17557,7 @@ type IstioIngressGateway_STATUS struct { } // AssignProperties_From_IstioIngressGateway_STATUS populates our IstioIngressGateway_STATUS from the provided source IstioIngressGateway_STATUS -func (gateway *IstioIngressGateway_STATUS) AssignProperties_From_IstioIngressGateway_STATUS(source *storage.IstioIngressGateway_STATUS) error { +func (gateway *IstioIngressGateway_STATUS) AssignProperties_From_IstioIngressGateway_STATUS(source *v20231001s.IstioIngressGateway_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -17000,7 +17593,7 @@ func (gateway *IstioIngressGateway_STATUS) AssignProperties_From_IstioIngressGat } // AssignProperties_To_IstioIngressGateway_STATUS populates the provided destination IstioIngressGateway_STATUS from our IstioIngressGateway_STATUS -func (gateway *IstioIngressGateway_STATUS) AssignProperties_To_IstioIngressGateway_STATUS(destination *storage.IstioIngressGateway_STATUS) error { +func (gateway *IstioIngressGateway_STATUS) AssignProperties_To_IstioIngressGateway_STATUS(destination *v20231001s.IstioIngressGateway_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(gateway.PropertyBag) @@ -17036,20 +17629,17 @@ func (gateway *IstioIngressGateway_STATUS) AssignProperties_To_IstioIngressGatew } // Storage version of v1api20231102preview.IstioPluginCertificateAuthority -// Plugin certificates information for Service Mesh. type IstioPluginCertificateAuthority struct { - CertChainObjectName *string `json:"certChainObjectName,omitempty"` - CertObjectName *string `json:"certObjectName,omitempty"` - KeyObjectName *string `json:"keyObjectName,omitempty"` - - // KeyVaultReference: The resource ID of the Key Vault. - KeyVaultReference *genruntime.ResourceReference `armReference:"KeyVaultId" json:"keyVaultReference,omitempty"` - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` - RootCertObjectName *string `json:"rootCertObjectName,omitempty"` + CertChainObjectName *string `json:"certChainObjectName,omitempty"` + CertObjectName *string `json:"certObjectName,omitempty"` + KeyObjectName *string `json:"keyObjectName,omitempty"` + KeyVaultReference *genruntime.ResourceReference `armReference:"KeyVaultId" json:"keyVaultReference,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + RootCertObjectName *string `json:"rootCertObjectName,omitempty"` } // AssignProperties_From_IstioPluginCertificateAuthority populates our IstioPluginCertificateAuthority from the provided source IstioPluginCertificateAuthority -func (authority *IstioPluginCertificateAuthority) AssignProperties_From_IstioPluginCertificateAuthority(source *storage.IstioPluginCertificateAuthority) error { +func (authority *IstioPluginCertificateAuthority) AssignProperties_From_IstioPluginCertificateAuthority(source *v20231001s.IstioPluginCertificateAuthority) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -17094,7 +17684,7 @@ func (authority *IstioPluginCertificateAuthority) AssignProperties_From_IstioPlu } // AssignProperties_To_IstioPluginCertificateAuthority populates the provided destination IstioPluginCertificateAuthority from our IstioPluginCertificateAuthority -func (authority *IstioPluginCertificateAuthority) AssignProperties_To_IstioPluginCertificateAuthority(destination *storage.IstioPluginCertificateAuthority) error { +func (authority *IstioPluginCertificateAuthority) AssignProperties_To_IstioPluginCertificateAuthority(destination *v20231001s.IstioPluginCertificateAuthority) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(authority.PropertyBag) @@ -17139,7 +17729,6 @@ func (authority *IstioPluginCertificateAuthority) AssignProperties_To_IstioPlugi } // Storage version of v1api20231102preview.IstioPluginCertificateAuthority_STATUS -// Plugin certificates information for Service Mesh. type IstioPluginCertificateAuthority_STATUS struct { CertChainObjectName *string `json:"certChainObjectName,omitempty"` CertObjectName *string `json:"certObjectName,omitempty"` @@ -17150,7 +17739,7 @@ type IstioPluginCertificateAuthority_STATUS struct { } // AssignProperties_From_IstioPluginCertificateAuthority_STATUS populates our IstioPluginCertificateAuthority_STATUS from the provided source IstioPluginCertificateAuthority_STATUS -func (authority *IstioPluginCertificateAuthority_STATUS) AssignProperties_From_IstioPluginCertificateAuthority_STATUS(source *storage.IstioPluginCertificateAuthority_STATUS) error { +func (authority *IstioPluginCertificateAuthority_STATUS) AssignProperties_From_IstioPluginCertificateAuthority_STATUS(source *v20231001s.IstioPluginCertificateAuthority_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -17190,7 +17779,7 @@ func (authority *IstioPluginCertificateAuthority_STATUS) AssignProperties_From_I } // AssignProperties_To_IstioPluginCertificateAuthority_STATUS populates the provided destination IstioPluginCertificateAuthority_STATUS from our IstioPluginCertificateAuthority_STATUS -func (authority *IstioPluginCertificateAuthority_STATUS) AssignProperties_To_IstioPluginCertificateAuthority_STATUS(destination *storage.IstioPluginCertificateAuthority_STATUS) error { +func (authority *IstioPluginCertificateAuthority_STATUS) AssignProperties_To_IstioPluginCertificateAuthority_STATUS(destination *v20231001s.IstioPluginCertificateAuthority_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(authority.PropertyBag) @@ -17230,30 +17819,25 @@ func (authority *IstioPluginCertificateAuthority_STATUS) AssignProperties_To_Ist } // Storage version of v1api20231102preview.ManagedClusterAzureMonitorProfileWindowsHostLogs -// Windows Host Logs Profile for Kubernetes Windows Nodes Log Collection. Collects ETW, Event Logs and Text logs etc. See -// aka.ms/AzureMonitorContainerInsights for an overview. type ManagedClusterAzureMonitorProfileWindowsHostLogs struct { Enabled *bool `json:"enabled,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` } // Storage version of v1api20231102preview.ManagedClusterAzureMonitorProfileWindowsHostLogs_STATUS -// Windows Host Logs Profile for Kubernetes Windows Nodes Log Collection. Collects ETW, Event Logs and Text logs etc. See -// aka.ms/AzureMonitorContainerInsights for an overview. type ManagedClusterAzureMonitorProfileWindowsHostLogs_STATUS struct { Enabled *bool `json:"enabled,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` } // Storage version of v1api20231102preview.ManagedClusterPodIdentityProvisioningError_STATUS -// An error response from the pod identity provisioning. type ManagedClusterPodIdentityProvisioningError_STATUS struct { Error *ManagedClusterPodIdentityProvisioningErrorBody_STATUS `json:"error,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` } // AssignProperties_From_ManagedClusterPodIdentityProvisioningError_STATUS populates our ManagedClusterPodIdentityProvisioningError_STATUS from the provided source ManagedClusterPodIdentityProvisioningError_STATUS -func (error *ManagedClusterPodIdentityProvisioningError_STATUS) AssignProperties_From_ManagedClusterPodIdentityProvisioningError_STATUS(source *storage.ManagedClusterPodIdentityProvisioningError_STATUS) error { +func (error *ManagedClusterPodIdentityProvisioningError_STATUS) AssignProperties_From_ManagedClusterPodIdentityProvisioningError_STATUS(source *v20231001s.ManagedClusterPodIdentityProvisioningError_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -17290,13 +17874,13 @@ func (error *ManagedClusterPodIdentityProvisioningError_STATUS) AssignProperties } // AssignProperties_To_ManagedClusterPodIdentityProvisioningError_STATUS populates the provided destination ManagedClusterPodIdentityProvisioningError_STATUS from our ManagedClusterPodIdentityProvisioningError_STATUS -func (error *ManagedClusterPodIdentityProvisioningError_STATUS) AssignProperties_To_ManagedClusterPodIdentityProvisioningError_STATUS(destination *storage.ManagedClusterPodIdentityProvisioningError_STATUS) error { +func (error *ManagedClusterPodIdentityProvisioningError_STATUS) AssignProperties_To_ManagedClusterPodIdentityProvisioningError_STATUS(destination *v20231001s.ManagedClusterPodIdentityProvisioningError_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(error.PropertyBag) // Error if error.Error != nil { - var errorLocal storage.ManagedClusterPodIdentityProvisioningErrorBody_STATUS + var errorLocal v20231001s.ManagedClusterPodIdentityProvisioningErrorBody_STATUS err := error.Error.AssignProperties_To_ManagedClusterPodIdentityProvisioningErrorBody_STATUS(&errorLocal) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterPodIdentityProvisioningErrorBody_STATUS() to populate field Error") @@ -17327,42 +17911,41 @@ func (error *ManagedClusterPodIdentityProvisioningError_STATUS) AssignProperties } type augmentConversionForIstioEgressGateway interface { - AssignPropertiesFrom(src *storage.IstioEgressGateway) error - AssignPropertiesTo(dst *storage.IstioEgressGateway) error + AssignPropertiesFrom(src *v20231001s.IstioEgressGateway) error + AssignPropertiesTo(dst *v20231001s.IstioEgressGateway) error } type augmentConversionForIstioEgressGateway_STATUS interface { - AssignPropertiesFrom(src *storage.IstioEgressGateway_STATUS) error - AssignPropertiesTo(dst *storage.IstioEgressGateway_STATUS) error + AssignPropertiesFrom(src *v20231001s.IstioEgressGateway_STATUS) error + AssignPropertiesTo(dst *v20231001s.IstioEgressGateway_STATUS) error } type augmentConversionForIstioIngressGateway interface { - AssignPropertiesFrom(src *storage.IstioIngressGateway) error - AssignPropertiesTo(dst *storage.IstioIngressGateway) error + AssignPropertiesFrom(src *v20231001s.IstioIngressGateway) error + AssignPropertiesTo(dst *v20231001s.IstioIngressGateway) error } type augmentConversionForIstioIngressGateway_STATUS interface { - AssignPropertiesFrom(src *storage.IstioIngressGateway_STATUS) error - AssignPropertiesTo(dst *storage.IstioIngressGateway_STATUS) error + AssignPropertiesFrom(src *v20231001s.IstioIngressGateway_STATUS) error + AssignPropertiesTo(dst *v20231001s.IstioIngressGateway_STATUS) error } type augmentConversionForIstioPluginCertificateAuthority interface { - AssignPropertiesFrom(src *storage.IstioPluginCertificateAuthority) error - AssignPropertiesTo(dst *storage.IstioPluginCertificateAuthority) error + AssignPropertiesFrom(src *v20231001s.IstioPluginCertificateAuthority) error + AssignPropertiesTo(dst *v20231001s.IstioPluginCertificateAuthority) error } type augmentConversionForIstioPluginCertificateAuthority_STATUS interface { - AssignPropertiesFrom(src *storage.IstioPluginCertificateAuthority_STATUS) error - AssignPropertiesTo(dst *storage.IstioPluginCertificateAuthority_STATUS) error + AssignPropertiesFrom(src *v20231001s.IstioPluginCertificateAuthority_STATUS) error + AssignPropertiesTo(dst *v20231001s.IstioPluginCertificateAuthority_STATUS) error } type augmentConversionForManagedClusterPodIdentityProvisioningError_STATUS interface { - AssignPropertiesFrom(src *storage.ManagedClusterPodIdentityProvisioningError_STATUS) error - AssignPropertiesTo(dst *storage.ManagedClusterPodIdentityProvisioningError_STATUS) error + AssignPropertiesFrom(src *v20231001s.ManagedClusterPodIdentityProvisioningError_STATUS) error + AssignPropertiesTo(dst *v20231001s.ManagedClusterPodIdentityProvisioningError_STATUS) error } // Storage version of v1api20231102preview.ManagedClusterPodIdentityProvisioningErrorBody_STATUS -// An error response from the pod identity provisioning. type ManagedClusterPodIdentityProvisioningErrorBody_STATUS struct { Code *string `json:"code,omitempty"` Details []ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled `json:"details,omitempty"` @@ -17372,7 +17955,7 @@ type ManagedClusterPodIdentityProvisioningErrorBody_STATUS struct { } // AssignProperties_From_ManagedClusterPodIdentityProvisioningErrorBody_STATUS populates our ManagedClusterPodIdentityProvisioningErrorBody_STATUS from the provided source ManagedClusterPodIdentityProvisioningErrorBody_STATUS -func (body *ManagedClusterPodIdentityProvisioningErrorBody_STATUS) AssignProperties_From_ManagedClusterPodIdentityProvisioningErrorBody_STATUS(source *storage.ManagedClusterPodIdentityProvisioningErrorBody_STATUS) error { +func (body *ManagedClusterPodIdentityProvisioningErrorBody_STATUS) AssignProperties_From_ManagedClusterPodIdentityProvisioningErrorBody_STATUS(source *v20231001s.ManagedClusterPodIdentityProvisioningErrorBody_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -17424,7 +18007,7 @@ func (body *ManagedClusterPodIdentityProvisioningErrorBody_STATUS) AssignPropert } // AssignProperties_To_ManagedClusterPodIdentityProvisioningErrorBody_STATUS populates the provided destination ManagedClusterPodIdentityProvisioningErrorBody_STATUS from our ManagedClusterPodIdentityProvisioningErrorBody_STATUS -func (body *ManagedClusterPodIdentityProvisioningErrorBody_STATUS) AssignProperties_To_ManagedClusterPodIdentityProvisioningErrorBody_STATUS(destination *storage.ManagedClusterPodIdentityProvisioningErrorBody_STATUS) error { +func (body *ManagedClusterPodIdentityProvisioningErrorBody_STATUS) AssignProperties_To_ManagedClusterPodIdentityProvisioningErrorBody_STATUS(destination *v20231001s.ManagedClusterPodIdentityProvisioningErrorBody_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(body.PropertyBag) @@ -17433,11 +18016,11 @@ func (body *ManagedClusterPodIdentityProvisioningErrorBody_STATUS) AssignPropert // Details if body.Details != nil { - detailList := make([]storage.ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled, len(body.Details)) + detailList := make([]v20231001s.ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled, len(body.Details)) for detailIndex, detailItem := range body.Details { // Shadow the loop variable to avoid aliasing detailItem := detailItem - var detail storage.ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled + var detail v20231001s.ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled err := detailItem.AssignProperties_To_ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled(&detail) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled() to populate field Details") @@ -17476,8 +18059,8 @@ func (body *ManagedClusterPodIdentityProvisioningErrorBody_STATUS) AssignPropert } type augmentConversionForManagedClusterPodIdentityProvisioningErrorBody_STATUS interface { - AssignPropertiesFrom(src *storage.ManagedClusterPodIdentityProvisioningErrorBody_STATUS) error - AssignPropertiesTo(dst *storage.ManagedClusterPodIdentityProvisioningErrorBody_STATUS) error + AssignPropertiesFrom(src *v20231001s.ManagedClusterPodIdentityProvisioningErrorBody_STATUS) error + AssignPropertiesTo(dst *v20231001s.ManagedClusterPodIdentityProvisioningErrorBody_STATUS) error } // Storage version of v1api20231102preview.ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled @@ -17489,7 +18072,7 @@ type ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled struct { } // AssignProperties_From_ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled populates our ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled from the provided source ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled -func (unrolled *ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled) AssignProperties_From_ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled(source *storage.ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled) error { +func (unrolled *ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled) AssignProperties_From_ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled(source *v20231001s.ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -17523,7 +18106,7 @@ func (unrolled *ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled) } // AssignProperties_To_ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled populates the provided destination ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled from our ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled -func (unrolled *ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled) AssignProperties_To_ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled(destination *storage.ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled) error { +func (unrolled *ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled) AssignProperties_To_ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled(destination *v20231001s.ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(unrolled.PropertyBag) @@ -17557,8 +18140,8 @@ func (unrolled *ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled) } type augmentConversionForManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled interface { - AssignPropertiesFrom(src *storage.ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled) error - AssignPropertiesTo(dst *storage.ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled) error + AssignPropertiesFrom(src *v20231001s.ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled) error + AssignPropertiesTo(dst *v20231001s.ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled) error } func init() { diff --git a/v2/api/containerservice/v1api20231102preview/storage/managed_cluster_types_gen_test.go b/v2/api/containerservice/v1api20231102preview/storage/managed_cluster_types_gen_test.go index f7144fcbda6..7ac9978afa2 100644 --- a/v2/api/containerservice/v1api20231102preview/storage/managed_cluster_types_gen_test.go +++ b/v2/api/containerservice/v1api20231102preview/storage/managed_cluster_types_gen_test.go @@ -5,7 +5,8 @@ package storage import ( "encoding/json" - storage "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20231001/storage" + v20231001s "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20231001/storage" + v20240901s "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20240901/storage" "github.com/google/go-cmp/cmp" "github.com/google/go-cmp/cmp/cmpopts" "github.com/kr/pretty" @@ -35,7 +36,7 @@ func RunPropertyAssignmentTestForAzureKeyVaultKms(subject AzureKeyVaultKms) stri copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.AzureKeyVaultKms + var other v20231001s.AzureKeyVaultKms err := copied.AssignProperties_To_AzureKeyVaultKms(&other) if err != nil { return err.Error() @@ -139,7 +140,7 @@ func RunPropertyAssignmentTestForAzureKeyVaultKms_STATUS(subject AzureKeyVaultKm copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.AzureKeyVaultKms_STATUS + var other v20231001s.AzureKeyVaultKms_STATUS err := copied.AssignProperties_To_AzureKeyVaultKms_STATUS(&other) if err != nil { return err.Error() @@ -245,7 +246,7 @@ func RunPropertyAssignmentTestForClusterUpgradeSettings(subject ClusterUpgradeSe copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ClusterUpgradeSettings + var other v20231001s.ClusterUpgradeSettings err := copied.AssignProperties_To_ClusterUpgradeSettings(&other) if err != nil { return err.Error() @@ -348,7 +349,7 @@ func RunPropertyAssignmentTestForClusterUpgradeSettings_STATUS(subject ClusterUp copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ClusterUpgradeSettings_STATUS + var other v20231001s.ClusterUpgradeSettings_STATUS err := copied.AssignProperties_To_ClusterUpgradeSettings_STATUS(&other) if err != nil { return err.Error() @@ -451,7 +452,7 @@ func RunPropertyAssignmentTestForContainerServiceLinuxProfile(subject ContainerS copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ContainerServiceLinuxProfile + var other v20231001s.ContainerServiceLinuxProfile err := copied.AssignProperties_To_ContainerServiceLinuxProfile(&other) if err != nil { return err.Error() @@ -568,7 +569,7 @@ func RunPropertyAssignmentTestForContainerServiceLinuxProfile_STATUS(subject Con copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ContainerServiceLinuxProfile_STATUS + var other v20231001s.ContainerServiceLinuxProfile_STATUS err := copied.AssignProperties_To_ContainerServiceLinuxProfile_STATUS(&other) if err != nil { return err.Error() @@ -685,7 +686,7 @@ func RunPropertyAssignmentTestForContainerServiceNetworkProfile(subject Containe copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ContainerServiceNetworkProfile + var other v20231001s.ContainerServiceNetworkProfile err := copied.AssignProperties_To_ContainerServiceNetworkProfile(&other) if err != nil { return err.Error() @@ -1097,7 +1098,7 @@ func RunPropertyAssignmentTestForContainerServiceNetworkProfile_STATUS(subject C copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ContainerServiceNetworkProfile_STATUS + var other v20231001s.ContainerServiceNetworkProfile_STATUS err := copied.AssignProperties_To_ContainerServiceNetworkProfile_STATUS(&other) if err != nil { return err.Error() @@ -1229,7 +1230,7 @@ func RunPropertyAssignmentTestForContainerServiceSshConfiguration(subject Contai copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ContainerServiceSshConfiguration + var other v20231001s.ContainerServiceSshConfiguration err := copied.AssignProperties_To_ContainerServiceSshConfiguration(&other) if err != nil { return err.Error() @@ -1332,7 +1333,7 @@ func RunPropertyAssignmentTestForContainerServiceSshConfiguration_STATUS(subject copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ContainerServiceSshConfiguration_STATUS + var other v20231001s.ContainerServiceSshConfiguration_STATUS err := copied.AssignProperties_To_ContainerServiceSshConfiguration_STATUS(&other) if err != nil { return err.Error() @@ -1435,7 +1436,7 @@ func RunPropertyAssignmentTestForContainerServiceSshPublicKey(subject ContainerS copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ContainerServiceSshPublicKey + var other v20231001s.ContainerServiceSshPublicKey err := copied.AssignProperties_To_ContainerServiceSshPublicKey(&other) if err != nil { return err.Error() @@ -1538,7 +1539,7 @@ func RunPropertyAssignmentTestForContainerServiceSshPublicKey_STATUS(subject Con copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ContainerServiceSshPublicKey_STATUS + var other v20231001s.ContainerServiceSshPublicKey_STATUS err := copied.AssignProperties_To_ContainerServiceSshPublicKey_STATUS(&other) if err != nil { return err.Error() @@ -1641,7 +1642,7 @@ func RunPropertyAssignmentTestForCreationData(subject CreationData) string { copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.CreationData + var other v20231001s.CreationData err := copied.AssignProperties_To_CreationData(&other) if err != nil { return err.Error() @@ -1737,7 +1738,7 @@ func RunPropertyAssignmentTestForCreationData_STATUS(subject CreationData_STATUS copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.CreationData_STATUS + var other v20231001s.CreationData_STATUS err := copied.AssignProperties_To_CreationData_STATUS(&other) if err != nil { return err.Error() @@ -1840,7 +1841,7 @@ func RunPropertyAssignmentTestForDelegatedResource(subject DelegatedResource) st copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.DelegatedResource + var other v20231001s.DelegatedResource err := copied.AssignProperties_To_DelegatedResource(&other) if err != nil { return err.Error() @@ -1944,7 +1945,7 @@ func RunPropertyAssignmentTestForDelegatedResource_STATUS(subject DelegatedResou copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.DelegatedResource_STATUS + var other v20231001s.DelegatedResource_STATUS err := copied.AssignProperties_To_DelegatedResource_STATUS(&other) if err != nil { return err.Error() @@ -2050,7 +2051,7 @@ func RunPropertyAssignmentTestForExtendedLocation(subject ExtendedLocation) stri copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ExtendedLocation + var other v20231001s.ExtendedLocation err := copied.AssignProperties_To_ExtendedLocation(&other) if err != nil { return err.Error() @@ -2153,7 +2154,7 @@ func RunPropertyAssignmentTestForExtendedLocation_STATUS(subject ExtendedLocatio copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ExtendedLocation_STATUS + var other v20231001s.ExtendedLocation_STATUS err := copied.AssignProperties_To_ExtendedLocation_STATUS(&other) if err != nil { return err.Error() @@ -2257,7 +2258,7 @@ func RunPropertyAssignmentTestForIstioCertificateAuthority(subject IstioCertific copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.IstioCertificateAuthority + var other v20231001s.IstioCertificateAuthority err := copied.AssignProperties_To_IstioCertificateAuthority(&other) if err != nil { return err.Error() @@ -2360,7 +2361,7 @@ func RunPropertyAssignmentTestForIstioCertificateAuthority_STATUS(subject IstioC copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.IstioCertificateAuthority_STATUS + var other v20231001s.IstioCertificateAuthority_STATUS err := copied.AssignProperties_To_IstioCertificateAuthority_STATUS(&other) if err != nil { return err.Error() @@ -2463,7 +2464,7 @@ func RunPropertyAssignmentTestForIstioComponents(subject IstioComponents) string copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.IstioComponents + var other v20231001s.IstioComponents err := copied.AssignProperties_To_IstioComponents(&other) if err != nil { return err.Error() @@ -2566,7 +2567,7 @@ func RunPropertyAssignmentTestForIstioComponents_STATUS(subject IstioComponents_ copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.IstioComponents_STATUS + var other v20231001s.IstioComponents_STATUS err := copied.AssignProperties_To_IstioComponents_STATUS(&other) if err != nil { return err.Error() @@ -2670,7 +2671,7 @@ func RunPropertyAssignmentTestForIstioEgressGateway(subject IstioEgressGateway) copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.IstioEgressGateway + var other v20231001s.IstioEgressGateway err := copied.AssignProperties_To_IstioEgressGateway(&other) if err != nil { return err.Error() @@ -2775,7 +2776,7 @@ func RunPropertyAssignmentTestForIstioEgressGateway_STATUS(subject IstioEgressGa copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.IstioEgressGateway_STATUS + var other v20231001s.IstioEgressGateway_STATUS err := copied.AssignProperties_To_IstioEgressGateway_STATUS(&other) if err != nil { return err.Error() @@ -2881,7 +2882,7 @@ func RunPropertyAssignmentTestForIstioIngressGateway(subject IstioIngressGateway copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.IstioIngressGateway + var other v20231001s.IstioIngressGateway err := copied.AssignProperties_To_IstioIngressGateway(&other) if err != nil { return err.Error() @@ -2985,7 +2986,7 @@ func RunPropertyAssignmentTestForIstioIngressGateway_STATUS(subject IstioIngress copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.IstioIngressGateway_STATUS + var other v20231001s.IstioIngressGateway_STATUS err := copied.AssignProperties_To_IstioIngressGateway_STATUS(&other) if err != nil { return err.Error() @@ -3089,7 +3090,7 @@ func RunPropertyAssignmentTestForIstioPluginCertificateAuthority(subject IstioPl copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.IstioPluginCertificateAuthority + var other v20231001s.IstioPluginCertificateAuthority err := copied.AssignProperties_To_IstioPluginCertificateAuthority(&other) if err != nil { return err.Error() @@ -3195,7 +3196,7 @@ func RunPropertyAssignmentTestForIstioPluginCertificateAuthority_STATUS(subject copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.IstioPluginCertificateAuthority_STATUS + var other v20231001s.IstioPluginCertificateAuthority_STATUS err := copied.AssignProperties_To_IstioPluginCertificateAuthority_STATUS(&other) if err != nil { return err.Error() @@ -3302,7 +3303,7 @@ func RunPropertyAssignmentTestForIstioServiceMesh(subject IstioServiceMesh) stri copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.IstioServiceMesh + var other v20231001s.IstioServiceMesh err := copied.AssignProperties_To_IstioServiceMesh(&other) if err != nil { return err.Error() @@ -3419,7 +3420,7 @@ func RunPropertyAssignmentTestForIstioServiceMesh_STATUS(subject IstioServiceMes copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.IstioServiceMesh_STATUS + var other v20231001s.IstioServiceMesh_STATUS err := copied.AssignProperties_To_IstioServiceMesh_STATUS(&other) if err != nil { return err.Error() @@ -3538,7 +3539,7 @@ func RunResourceConversionTestForManagedCluster(subject ManagedCluster) string { copied := subject.DeepCopy() // Convert to our hub version - var hub storage.ManagedCluster + var hub v20240901s.ManagedCluster err := copied.ConvertTo(&hub) if err != nil { return err.Error() @@ -3580,7 +3581,7 @@ func RunPropertyAssignmentTestForManagedCluster(subject ManagedCluster) string { copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedCluster + var other v20231001s.ManagedCluster err := copied.AssignProperties_To_ManagedCluster(&other) if err != nil { return err.Error() @@ -3683,7 +3684,7 @@ func RunPropertyAssignmentTestForManagedClusterAADProfile(subject ManagedCluster copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterAADProfile + var other v20231001s.ManagedClusterAADProfile err := copied.AssignProperties_To_ManagedClusterAADProfile(&other) if err != nil { return err.Error() @@ -3792,7 +3793,7 @@ func RunPropertyAssignmentTestForManagedClusterAADProfile_STATUS(subject Managed copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterAADProfile_STATUS + var other v20231001s.ManagedClusterAADProfile_STATUS err := copied.AssignProperties_To_ManagedClusterAADProfile_STATUS(&other) if err != nil { return err.Error() @@ -4023,7 +4024,7 @@ func RunPropertyAssignmentTestForManagedClusterAPIServerAccessProfile(subject Ma copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterAPIServerAccessProfile + var other v20231001s.ManagedClusterAPIServerAccessProfile err := copied.AssignProperties_To_ManagedClusterAPIServerAccessProfile(&other) if err != nil { return err.Error() @@ -4132,7 +4133,7 @@ func RunPropertyAssignmentTestForManagedClusterAPIServerAccessProfile_STATUS(sub copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterAPIServerAccessProfile_STATUS + var other v20231001s.ManagedClusterAPIServerAccessProfile_STATUS err := copied.AssignProperties_To_ManagedClusterAPIServerAccessProfile_STATUS(&other) if err != nil { return err.Error() @@ -4241,7 +4242,7 @@ func RunPropertyAssignmentTestForManagedClusterAddonProfile(subject ManagedClust copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterAddonProfile + var other v20231001s.ManagedClusterAddonProfile err := copied.AssignProperties_To_ManagedClusterAddonProfile(&other) if err != nil { return err.Error() @@ -4347,7 +4348,7 @@ func RunPropertyAssignmentTestForManagedClusterAddonProfile_STATUS(subject Manag copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterAddonProfile_STATUS + var other v20231001s.ManagedClusterAddonProfile_STATUS err := copied.AssignProperties_To_ManagedClusterAddonProfile_STATUS(&other) if err != nil { return err.Error() @@ -4467,7 +4468,7 @@ func RunPropertyAssignmentTestForManagedClusterAgentPoolProfile(subject ManagedC copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterAgentPoolProfile + var other v20231001s.ManagedClusterAgentPoolProfile err := copied.AssignProperties_To_ManagedClusterAgentPoolProfile(&other) if err != nil { return err.Error() @@ -4581,7 +4582,7 @@ func RunPropertyAssignmentTestForManagedClusterAgentPoolProfile_STATUS(subject M copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterAgentPoolProfile_STATUS + var other v20231001s.ManagedClusterAgentPoolProfile_STATUS err := copied.AssignProperties_To_ManagedClusterAgentPoolProfile_STATUS(&other) if err != nil { return err.Error() @@ -4695,7 +4696,7 @@ func RunPropertyAssignmentTestForManagedClusterAutoUpgradeProfile(subject Manage copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterAutoUpgradeProfile + var other v20231001s.ManagedClusterAutoUpgradeProfile err := copied.AssignProperties_To_ManagedClusterAutoUpgradeProfile(&other) if err != nil { return err.Error() @@ -4799,7 +4800,7 @@ func RunPropertyAssignmentTestForManagedClusterAutoUpgradeProfile_STATUS(subject copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterAutoUpgradeProfile_STATUS + var other v20231001s.ManagedClusterAutoUpgradeProfile_STATUS err := copied.AssignProperties_To_ManagedClusterAutoUpgradeProfile_STATUS(&other) if err != nil { return err.Error() @@ -4903,7 +4904,7 @@ func RunPropertyAssignmentTestForManagedClusterAzureMonitorProfile(subject Manag copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterAzureMonitorProfile + var other v20231001s.ManagedClusterAzureMonitorProfile err := copied.AssignProperties_To_ManagedClusterAzureMonitorProfile(&other) if err != nil { return err.Error() @@ -5402,7 +5403,7 @@ func RunPropertyAssignmentTestForManagedClusterAzureMonitorProfileKubeStateMetri copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterAzureMonitorProfileKubeStateMetrics + var other v20231001s.ManagedClusterAzureMonitorProfileKubeStateMetrics err := copied.AssignProperties_To_ManagedClusterAzureMonitorProfileKubeStateMetrics(&other) if err != nil { return err.Error() @@ -5506,7 +5507,7 @@ func RunPropertyAssignmentTestForManagedClusterAzureMonitorProfileKubeStateMetri copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS + var other v20231001s.ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS err := copied.AssignProperties_To_ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS(&other) if err != nil { return err.Error() @@ -5734,7 +5735,7 @@ func RunPropertyAssignmentTestForManagedClusterAzureMonitorProfileMetrics(subjec copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterAzureMonitorProfileMetrics + var other v20231001s.ManagedClusterAzureMonitorProfileMetrics err := copied.AssignProperties_To_ManagedClusterAzureMonitorProfileMetrics(&other) if err != nil { return err.Error() @@ -5852,7 +5853,7 @@ func RunPropertyAssignmentTestForManagedClusterAzureMonitorProfileMetrics_STATUS copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterAzureMonitorProfileMetrics_STATUS + var other v20231001s.ManagedClusterAzureMonitorProfileMetrics_STATUS err := copied.AssignProperties_To_ManagedClusterAzureMonitorProfileMetrics_STATUS(&other) if err != nil { return err.Error() @@ -6092,7 +6093,7 @@ func RunPropertyAssignmentTestForManagedClusterAzureMonitorProfile_STATUS(subjec copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterAzureMonitorProfile_STATUS + var other v20231001s.ManagedClusterAzureMonitorProfile_STATUS err := copied.AssignProperties_To_ManagedClusterAzureMonitorProfile_STATUS(&other) if err != nil { return err.Error() @@ -6179,6 +6180,48 @@ func AddRelatedPropertyGeneratorsForManagedClusterAzureMonitorProfile_STATUS(gen gens["Metrics"] = gen.PtrOf(ManagedClusterAzureMonitorProfileMetrics_STATUSGenerator()) } +func Test_ManagedClusterCostAnalysis_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterCostAnalysis to ManagedClusterCostAnalysis via AssignProperties_To_ManagedClusterCostAnalysis & AssignProperties_From_ManagedClusterCostAnalysis returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterCostAnalysis, ManagedClusterCostAnalysisGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterCostAnalysis tests if a specific instance of ManagedClusterCostAnalysis can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterCostAnalysis(subject ManagedClusterCostAnalysis) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other v20240901s.ManagedClusterCostAnalysis + err := copied.AssignProperties_To_ManagedClusterCostAnalysis(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterCostAnalysis + err = actual.AssignProperties_From_ManagedClusterCostAnalysis(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_ManagedClusterCostAnalysis_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -6240,6 +6283,48 @@ func AddIndependentPropertyGeneratorsForManagedClusterCostAnalysis(gens map[stri gens["Enabled"] = gen.PtrOf(gen.Bool()) } +func Test_ManagedClusterCostAnalysis_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterCostAnalysis_STATUS to ManagedClusterCostAnalysis_STATUS via AssignProperties_To_ManagedClusterCostAnalysis_STATUS & AssignProperties_From_ManagedClusterCostAnalysis_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterCostAnalysis_STATUS, ManagedClusterCostAnalysis_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterCostAnalysis_STATUS tests if a specific instance of ManagedClusterCostAnalysis_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterCostAnalysis_STATUS(subject ManagedClusterCostAnalysis_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other v20240901s.ManagedClusterCostAnalysis_STATUS + err := copied.AssignProperties_To_ManagedClusterCostAnalysis_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterCostAnalysis_STATUS + err = actual.AssignProperties_From_ManagedClusterCostAnalysis_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_ManagedClusterCostAnalysis_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -6318,7 +6403,7 @@ func RunPropertyAssignmentTestForManagedClusterHTTPProxyConfig(subject ManagedCl copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterHTTPProxyConfig + var other v20231001s.ManagedClusterHTTPProxyConfig err := copied.AssignProperties_To_ManagedClusterHTTPProxyConfig(&other) if err != nil { return err.Error() @@ -6424,7 +6509,7 @@ func RunPropertyAssignmentTestForManagedClusterHTTPProxyConfig_STATUS(subject Ma copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterHTTPProxyConfig_STATUS + var other v20231001s.ManagedClusterHTTPProxyConfig_STATUS err := copied.AssignProperties_To_ManagedClusterHTTPProxyConfig_STATUS(&other) if err != nil { return err.Error() @@ -6531,7 +6616,7 @@ func RunPropertyAssignmentTestForManagedClusterIdentity(subject ManagedClusterId copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterIdentity + var other v20231001s.ManagedClusterIdentity err := copied.AssignProperties_To_ManagedClusterIdentity(&other) if err != nil { return err.Error() @@ -6651,7 +6736,7 @@ func RunPropertyAssignmentTestForManagedClusterIdentity_STATUS(subject ManagedCl copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterIdentity_STATUS + var other v20231001s.ManagedClusterIdentity_STATUS err := copied.AssignProperties_To_ManagedClusterIdentity_STATUS(&other) if err != nil { return err.Error() @@ -6775,7 +6860,7 @@ func RunPropertyAssignmentTestForManagedClusterIdentity_UserAssignedIdentities_S copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterIdentity_UserAssignedIdentities_STATUS + var other v20231001s.ManagedClusterIdentity_UserAssignedIdentities_STATUS err := copied.AssignProperties_To_ManagedClusterIdentity_UserAssignedIdentities_STATUS(&other) if err != nil { return err.Error() @@ -6862,6 +6947,48 @@ func AddIndependentPropertyGeneratorsForManagedClusterIdentity_UserAssignedIdent gens["PrincipalId"] = gen.PtrOf(gen.AlphaString()) } +func Test_ManagedClusterIngressProfile_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterIngressProfile to ManagedClusterIngressProfile via AssignProperties_To_ManagedClusterIngressProfile & AssignProperties_From_ManagedClusterIngressProfile returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterIngressProfile, ManagedClusterIngressProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterIngressProfile tests if a specific instance of ManagedClusterIngressProfile can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterIngressProfile(subject ManagedClusterIngressProfile) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other v20240901s.ManagedClusterIngressProfile + err := copied.AssignProperties_To_ManagedClusterIngressProfile(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterIngressProfile + err = actual.AssignProperties_From_ManagedClusterIngressProfile(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_ManagedClusterIngressProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -6923,6 +7050,48 @@ func AddRelatedPropertyGeneratorsForManagedClusterIngressProfile(gens map[string gens["WebAppRouting"] = gen.PtrOf(ManagedClusterIngressProfileWebAppRoutingGenerator()) } +func Test_ManagedClusterIngressProfileWebAppRouting_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterIngressProfileWebAppRouting to ManagedClusterIngressProfileWebAppRouting via AssignProperties_To_ManagedClusterIngressProfileWebAppRouting & AssignProperties_From_ManagedClusterIngressProfileWebAppRouting returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterIngressProfileWebAppRouting, ManagedClusterIngressProfileWebAppRoutingGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterIngressProfileWebAppRouting tests if a specific instance of ManagedClusterIngressProfileWebAppRouting can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterIngressProfileWebAppRouting(subject ManagedClusterIngressProfileWebAppRouting) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other v20240901s.ManagedClusterIngressProfileWebAppRouting + err := copied.AssignProperties_To_ManagedClusterIngressProfileWebAppRouting(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterIngressProfileWebAppRouting + err = actual.AssignProperties_From_ManagedClusterIngressProfileWebAppRouting(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_ManagedClusterIngressProfileWebAppRouting_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -6984,6 +7153,48 @@ func AddIndependentPropertyGeneratorsForManagedClusterIngressProfileWebAppRoutin gens["Enabled"] = gen.PtrOf(gen.Bool()) } +func Test_ManagedClusterIngressProfileWebAppRouting_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterIngressProfileWebAppRouting_STATUS to ManagedClusterIngressProfileWebAppRouting_STATUS via AssignProperties_To_ManagedClusterIngressProfileWebAppRouting_STATUS & AssignProperties_From_ManagedClusterIngressProfileWebAppRouting_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterIngressProfileWebAppRouting_STATUS, ManagedClusterIngressProfileWebAppRouting_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterIngressProfileWebAppRouting_STATUS tests if a specific instance of ManagedClusterIngressProfileWebAppRouting_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterIngressProfileWebAppRouting_STATUS(subject ManagedClusterIngressProfileWebAppRouting_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other v20240901s.ManagedClusterIngressProfileWebAppRouting_STATUS + err := copied.AssignProperties_To_ManagedClusterIngressProfileWebAppRouting_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterIngressProfileWebAppRouting_STATUS + err = actual.AssignProperties_From_ManagedClusterIngressProfileWebAppRouting_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_ManagedClusterIngressProfileWebAppRouting_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -7060,6 +7271,48 @@ func AddRelatedPropertyGeneratorsForManagedClusterIngressProfileWebAppRouting_ST gens["Identity"] = gen.PtrOf(UserAssignedIdentity_STATUSGenerator()) } +func Test_ManagedClusterIngressProfile_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterIngressProfile_STATUS to ManagedClusterIngressProfile_STATUS via AssignProperties_To_ManagedClusterIngressProfile_STATUS & AssignProperties_From_ManagedClusterIngressProfile_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterIngressProfile_STATUS, ManagedClusterIngressProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterIngressProfile_STATUS tests if a specific instance of ManagedClusterIngressProfile_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterIngressProfile_STATUS(subject ManagedClusterIngressProfile_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other v20240901s.ManagedClusterIngressProfile_STATUS + err := copied.AssignProperties_To_ManagedClusterIngressProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterIngressProfile_STATUS + err = actual.AssignProperties_From_ManagedClusterIngressProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_ManagedClusterIngressProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -7138,7 +7391,7 @@ func RunPropertyAssignmentTestForManagedClusterLoadBalancerProfile(subject Manag copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterLoadBalancerProfile + var other v20231001s.ManagedClusterLoadBalancerProfile err := copied.AssignProperties_To_ManagedClusterLoadBalancerProfile(&other) if err != nil { return err.Error() @@ -7261,7 +7514,7 @@ func RunPropertyAssignmentTestForManagedClusterLoadBalancerProfile_ManagedOutbou copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs + var other v20231001s.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs err := copied.AssignProperties_To_ManagedClusterLoadBalancerProfile_ManagedOutboundIPs(&other) if err != nil { return err.Error() @@ -7365,7 +7618,7 @@ func RunPropertyAssignmentTestForManagedClusterLoadBalancerProfile_ManagedOutbou copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS + var other v20231001s.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS err := copied.AssignProperties_To_ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS(&other) if err != nil { return err.Error() @@ -7469,7 +7722,7 @@ func RunPropertyAssignmentTestForManagedClusterLoadBalancerProfile_OutboundIPPre copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes + var other v20231001s.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes err := copied.AssignProperties_To_ManagedClusterLoadBalancerProfile_OutboundIPPrefixes(&other) if err != nil { return err.Error() @@ -7572,7 +7825,7 @@ func RunPropertyAssignmentTestForManagedClusterLoadBalancerProfile_OutboundIPPre copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS + var other v20231001s.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS err := copied.AssignProperties_To_ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS(&other) if err != nil { return err.Error() @@ -7675,7 +7928,7 @@ func RunPropertyAssignmentTestForManagedClusterLoadBalancerProfile_OutboundIPs(s copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterLoadBalancerProfile_OutboundIPs + var other v20231001s.ManagedClusterLoadBalancerProfile_OutboundIPs err := copied.AssignProperties_To_ManagedClusterLoadBalancerProfile_OutboundIPs(&other) if err != nil { return err.Error() @@ -7778,7 +8031,7 @@ func RunPropertyAssignmentTestForManagedClusterLoadBalancerProfile_OutboundIPs_S copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS + var other v20231001s.ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS err := copied.AssignProperties_To_ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS(&other) if err != nil { return err.Error() @@ -7881,7 +8134,7 @@ func RunPropertyAssignmentTestForManagedClusterLoadBalancerProfile_STATUS(subjec copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterLoadBalancerProfile_STATUS + var other v20231001s.ManagedClusterLoadBalancerProfile_STATUS err := copied.AssignProperties_To_ManagedClusterLoadBalancerProfile_STATUS(&other) if err != nil { return err.Error() @@ -8004,7 +8257,7 @@ func RunPropertyAssignmentTestForManagedClusterManagedOutboundIPProfile(subject copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterManagedOutboundIPProfile + var other v20231001s.ManagedClusterManagedOutboundIPProfile err := copied.AssignProperties_To_ManagedClusterManagedOutboundIPProfile(&other) if err != nil { return err.Error() @@ -8107,7 +8360,7 @@ func RunPropertyAssignmentTestForManagedClusterManagedOutboundIPProfile_STATUS(s copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterManagedOutboundIPProfile_STATUS + var other v20231001s.ManagedClusterManagedOutboundIPProfile_STATUS err := copied.AssignProperties_To_ManagedClusterManagedOutboundIPProfile_STATUS(&other) if err != nil { return err.Error() @@ -8193,6 +8446,48 @@ func AddIndependentPropertyGeneratorsForManagedClusterManagedOutboundIPProfile_S gens["Count"] = gen.PtrOf(gen.Int()) } +func Test_ManagedClusterMetricsProfile_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterMetricsProfile to ManagedClusterMetricsProfile via AssignProperties_To_ManagedClusterMetricsProfile & AssignProperties_From_ManagedClusterMetricsProfile returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterMetricsProfile, ManagedClusterMetricsProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterMetricsProfile tests if a specific instance of ManagedClusterMetricsProfile can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterMetricsProfile(subject ManagedClusterMetricsProfile) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other v20240901s.ManagedClusterMetricsProfile + err := copied.AssignProperties_To_ManagedClusterMetricsProfile(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterMetricsProfile + err = actual.AssignProperties_From_ManagedClusterMetricsProfile(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_ManagedClusterMetricsProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -8254,6 +8549,48 @@ func AddRelatedPropertyGeneratorsForManagedClusterMetricsProfile(gens map[string gens["CostAnalysis"] = gen.PtrOf(ManagedClusterCostAnalysisGenerator()) } +func Test_ManagedClusterMetricsProfile_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterMetricsProfile_STATUS to ManagedClusterMetricsProfile_STATUS via AssignProperties_To_ManagedClusterMetricsProfile_STATUS & AssignProperties_From_ManagedClusterMetricsProfile_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterMetricsProfile_STATUS, ManagedClusterMetricsProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterMetricsProfile_STATUS tests if a specific instance of ManagedClusterMetricsProfile_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterMetricsProfile_STATUS(subject ManagedClusterMetricsProfile_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other v20240901s.ManagedClusterMetricsProfile_STATUS + err := copied.AssignProperties_To_ManagedClusterMetricsProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterMetricsProfile_STATUS + err = actual.AssignProperties_From_ManagedClusterMetricsProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_ManagedClusterMetricsProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -8332,7 +8669,7 @@ func RunPropertyAssignmentTestForManagedClusterNATGatewayProfile(subject Managed copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterNATGatewayProfile + var other v20231001s.ManagedClusterNATGatewayProfile err := copied.AssignProperties_To_ManagedClusterNATGatewayProfile(&other) if err != nil { return err.Error() @@ -8450,7 +8787,7 @@ func RunPropertyAssignmentTestForManagedClusterNATGatewayProfile_STATUS(subject copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterNATGatewayProfile_STATUS + var other v20231001s.ManagedClusterNATGatewayProfile_STATUS err := copied.AssignProperties_To_ManagedClusterNATGatewayProfile_STATUS(&other) if err != nil { return err.Error() @@ -8673,6 +9010,48 @@ func AddIndependentPropertyGeneratorsForManagedClusterNodeProvisioningProfile_ST gens["Mode"] = gen.PtrOf(gen.AlphaString()) } +func Test_ManagedClusterNodeResourceGroupProfile_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterNodeResourceGroupProfile to ManagedClusterNodeResourceGroupProfile via AssignProperties_To_ManagedClusterNodeResourceGroupProfile & AssignProperties_From_ManagedClusterNodeResourceGroupProfile returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterNodeResourceGroupProfile, ManagedClusterNodeResourceGroupProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterNodeResourceGroupProfile tests if a specific instance of ManagedClusterNodeResourceGroupProfile can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterNodeResourceGroupProfile(subject ManagedClusterNodeResourceGroupProfile) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other v20240901s.ManagedClusterNodeResourceGroupProfile + err := copied.AssignProperties_To_ManagedClusterNodeResourceGroupProfile(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterNodeResourceGroupProfile + err = actual.AssignProperties_From_ManagedClusterNodeResourceGroupProfile(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_ManagedClusterNodeResourceGroupProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -8734,6 +9113,48 @@ func AddIndependentPropertyGeneratorsForManagedClusterNodeResourceGroupProfile(g gens["RestrictionLevel"] = gen.PtrOf(gen.AlphaString()) } +func Test_ManagedClusterNodeResourceGroupProfile_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterNodeResourceGroupProfile_STATUS to ManagedClusterNodeResourceGroupProfile_STATUS via AssignProperties_To_ManagedClusterNodeResourceGroupProfile_STATUS & AssignProperties_From_ManagedClusterNodeResourceGroupProfile_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterNodeResourceGroupProfile_STATUS, ManagedClusterNodeResourceGroupProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterNodeResourceGroupProfile_STATUS tests if a specific instance of ManagedClusterNodeResourceGroupProfile_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterNodeResourceGroupProfile_STATUS(subject ManagedClusterNodeResourceGroupProfile_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other v20240901s.ManagedClusterNodeResourceGroupProfile_STATUS + err := copied.AssignProperties_To_ManagedClusterNodeResourceGroupProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterNodeResourceGroupProfile_STATUS + err = actual.AssignProperties_From_ManagedClusterNodeResourceGroupProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_ManagedClusterNodeResourceGroupProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -8812,7 +9233,7 @@ func RunPropertyAssignmentTestForManagedClusterOIDCIssuerProfile(subject Managed copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterOIDCIssuerProfile + var other v20231001s.ManagedClusterOIDCIssuerProfile err := copied.AssignProperties_To_ManagedClusterOIDCIssuerProfile(&other) if err != nil { return err.Error() @@ -8915,7 +9336,7 @@ func RunPropertyAssignmentTestForManagedClusterOIDCIssuerProfile_STATUS(subject copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterOIDCIssuerProfile_STATUS + var other v20231001s.ManagedClusterOIDCIssuerProfile_STATUS err := copied.AssignProperties_To_ManagedClusterOIDCIssuerProfile_STATUS(&other) if err != nil { return err.Error() @@ -9019,7 +9440,7 @@ func RunPropertyAssignmentTestForManagedClusterOperatorConfigMaps(subject Manage copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterOperatorConfigMaps + var other v20231001s.ManagedClusterOperatorConfigMaps err := copied.AssignProperties_To_ManagedClusterOperatorConfigMaps(&other) if err != nil { return err.Error() @@ -9116,7 +9537,7 @@ func RunPropertyAssignmentTestForManagedClusterOperatorSecrets(subject ManagedCl copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterOperatorSecrets + var other v20231001s.ManagedClusterOperatorSecrets err := copied.AssignProperties_To_ManagedClusterOperatorSecrets(&other) if err != nil { return err.Error() @@ -9213,7 +9634,7 @@ func RunPropertyAssignmentTestForManagedClusterOperatorSpec(subject ManagedClust copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterOperatorSpec + var other v20231001s.ManagedClusterOperatorSpec err := copied.AssignProperties_To_ManagedClusterOperatorSpec(&other) if err != nil { return err.Error() @@ -9317,7 +9738,7 @@ func RunPropertyAssignmentTestForManagedClusterPodIdentity(subject ManagedCluste copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterPodIdentity + var other v20231001s.ManagedClusterPodIdentity err := copied.AssignProperties_To_ManagedClusterPodIdentity(&other) if err != nil { return err.Error() @@ -9436,7 +9857,7 @@ func RunPropertyAssignmentTestForManagedClusterPodIdentityException(subject Mana copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterPodIdentityException + var other v20231001s.ManagedClusterPodIdentityException err := copied.AssignProperties_To_ManagedClusterPodIdentityException(&other) if err != nil { return err.Error() @@ -9543,7 +9964,7 @@ func RunPropertyAssignmentTestForManagedClusterPodIdentityException_STATUS(subje copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterPodIdentityException_STATUS + var other v20231001s.ManagedClusterPodIdentityException_STATUS err := copied.AssignProperties_To_ManagedClusterPodIdentityException_STATUS(&other) if err != nil { return err.Error() @@ -9650,7 +10071,7 @@ func RunPropertyAssignmentTestForManagedClusterPodIdentityProfile(subject Manage copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterPodIdentityProfile + var other v20231001s.ManagedClusterPodIdentityProfile err := copied.AssignProperties_To_ManagedClusterPodIdentityProfile(&other) if err != nil { return err.Error() @@ -9769,7 +10190,7 @@ func RunPropertyAssignmentTestForManagedClusterPodIdentityProfile_STATUS(subject copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterPodIdentityProfile_STATUS + var other v20231001s.ManagedClusterPodIdentityProfile_STATUS err := copied.AssignProperties_To_ManagedClusterPodIdentityProfile_STATUS(&other) if err != nil { return err.Error() @@ -9888,7 +10309,7 @@ func RunPropertyAssignmentTestForManagedClusterPodIdentityProvisioningErrorBody_ copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterPodIdentityProvisioningErrorBody_STATUS + var other v20231001s.ManagedClusterPodIdentityProvisioningErrorBody_STATUS err := copied.AssignProperties_To_ManagedClusterPodIdentityProvisioningErrorBody_STATUS(&other) if err != nil { return err.Error() @@ -10007,7 +10428,7 @@ func RunPropertyAssignmentTestForManagedClusterPodIdentityProvisioningErrorBody_ copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled + var other v20231001s.ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled err := copied.AssignProperties_To_ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled(&other) if err != nil { return err.Error() @@ -10112,7 +10533,7 @@ func RunPropertyAssignmentTestForManagedClusterPodIdentityProvisioningError_STAT copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterPodIdentityProvisioningError_STATUS + var other v20231001s.ManagedClusterPodIdentityProvisioningError_STATUS err := copied.AssignProperties_To_ManagedClusterPodIdentityProvisioningError_STATUS(&other) if err != nil { return err.Error() @@ -10215,7 +10636,7 @@ func RunPropertyAssignmentTestForManagedClusterPodIdentity_ProvisioningInfo_STAT copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterPodIdentity_ProvisioningInfo_STATUS + var other v20231001s.ManagedClusterPodIdentity_ProvisioningInfo_STATUS err := copied.AssignProperties_To_ManagedClusterPodIdentity_ProvisioningInfo_STATUS(&other) if err != nil { return err.Error() @@ -10318,7 +10739,7 @@ func RunPropertyAssignmentTestForManagedClusterPodIdentity_STATUS(subject Manage copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterPodIdentity_STATUS + var other v20231001s.ManagedClusterPodIdentity_STATUS err := copied.AssignProperties_To_ManagedClusterPodIdentity_STATUS(&other) if err != nil { return err.Error() @@ -10439,7 +10860,7 @@ func RunPropertyAssignmentTestForManagedClusterProperties_AutoScalerProfile(subj copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterProperties_AutoScalerProfile + var other v20231001s.ManagedClusterProperties_AutoScalerProfile err := copied.AssignProperties_To_ManagedClusterProperties_AutoScalerProfile(&other) if err != nil { return err.Error() @@ -10561,7 +10982,7 @@ func RunPropertyAssignmentTestForManagedClusterProperties_AutoScalerProfile_STAT copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterProperties_AutoScalerProfile_STATUS + var other v20231001s.ManagedClusterProperties_AutoScalerProfile_STATUS err := copied.AssignProperties_To_ManagedClusterProperties_AutoScalerProfile_STATUS(&other) if err != nil { return err.Error() @@ -10683,7 +11104,7 @@ func RunPropertyAssignmentTestForManagedClusterSKU(subject ManagedClusterSKU) st copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterSKU + var other v20231001s.ManagedClusterSKU err := copied.AssignProperties_To_ManagedClusterSKU(&other) if err != nil { return err.Error() @@ -10786,7 +11207,7 @@ func RunPropertyAssignmentTestForManagedClusterSKU_STATUS(subject ManagedCluster copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterSKU_STATUS + var other v20231001s.ManagedClusterSKU_STATUS err := copied.AssignProperties_To_ManagedClusterSKU_STATUS(&other) if err != nil { return err.Error() @@ -10890,7 +11311,7 @@ func RunPropertyAssignmentTestForManagedClusterSecurityProfile(subject ManagedCl copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterSecurityProfile + var other v20231001s.ManagedClusterSecurityProfile err := copied.AssignProperties_To_ManagedClusterSecurityProfile(&other) if err != nil { return err.Error() @@ -11012,7 +11433,7 @@ func RunPropertyAssignmentTestForManagedClusterSecurityProfileDefender(subject M copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterSecurityProfileDefender + var other v20231001s.ManagedClusterSecurityProfileDefender err := copied.AssignProperties_To_ManagedClusterSecurityProfileDefender(&other) if err != nil { return err.Error() @@ -11115,7 +11536,7 @@ func RunPropertyAssignmentTestForManagedClusterSecurityProfileDefenderSecurityMo copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterSecurityProfileDefenderSecurityMonitoring + var other v20231001s.ManagedClusterSecurityProfileDefenderSecurityMonitoring err := copied.AssignProperties_To_ManagedClusterSecurityProfileDefenderSecurityMonitoring(&other) if err != nil { return err.Error() @@ -11218,7 +11639,7 @@ func RunPropertyAssignmentTestForManagedClusterSecurityProfileDefenderSecurityMo copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS + var other v20231001s.ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS err := copied.AssignProperties_To_ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS(&other) if err != nil { return err.Error() @@ -11321,7 +11742,7 @@ func RunPropertyAssignmentTestForManagedClusterSecurityProfileDefender_STATUS(su copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterSecurityProfileDefender_STATUS + var other v20231001s.ManagedClusterSecurityProfileDefender_STATUS err := copied.AssignProperties_To_ManagedClusterSecurityProfileDefender_STATUS(&other) if err != nil { return err.Error() @@ -11438,7 +11859,7 @@ func RunPropertyAssignmentTestForManagedClusterSecurityProfileImageCleaner(subje copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterSecurityProfileImageCleaner + var other v20231001s.ManagedClusterSecurityProfileImageCleaner err := copied.AssignProperties_To_ManagedClusterSecurityProfileImageCleaner(&other) if err != nil { return err.Error() @@ -11542,7 +11963,7 @@ func RunPropertyAssignmentTestForManagedClusterSecurityProfileImageCleaner_STATU copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterSecurityProfileImageCleaner_STATUS + var other v20231001s.ManagedClusterSecurityProfileImageCleaner_STATUS err := copied.AssignProperties_To_ManagedClusterSecurityProfileImageCleaner_STATUS(&other) if err != nil { return err.Error() @@ -11890,7 +12311,7 @@ func RunPropertyAssignmentTestForManagedClusterSecurityProfileWorkloadIdentity(s copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterSecurityProfileWorkloadIdentity + var other v20231001s.ManagedClusterSecurityProfileWorkloadIdentity err := copied.AssignProperties_To_ManagedClusterSecurityProfileWorkloadIdentity(&other) if err != nil { return err.Error() @@ -11993,7 +12414,7 @@ func RunPropertyAssignmentTestForManagedClusterSecurityProfileWorkloadIdentity_S copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterSecurityProfileWorkloadIdentity_STATUS + var other v20231001s.ManagedClusterSecurityProfileWorkloadIdentity_STATUS err := copied.AssignProperties_To_ManagedClusterSecurityProfileWorkloadIdentity_STATUS(&other) if err != nil { return err.Error() @@ -12096,7 +12517,7 @@ func RunPropertyAssignmentTestForManagedClusterSecurityProfile_STATUS(subject Ma copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterSecurityProfile_STATUS + var other v20231001s.ManagedClusterSecurityProfile_STATUS err := copied.AssignProperties_To_ManagedClusterSecurityProfile_STATUS(&other) if err != nil { return err.Error() @@ -12218,7 +12639,7 @@ func RunPropertyAssignmentTestForManagedClusterServicePrincipalProfile(subject M copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterServicePrincipalProfile + var other v20231001s.ManagedClusterServicePrincipalProfile err := copied.AssignProperties_To_ManagedClusterServicePrincipalProfile(&other) if err != nil { return err.Error() @@ -12321,7 +12742,7 @@ func RunPropertyAssignmentTestForManagedClusterServicePrincipalProfile_STATUS(su copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterServicePrincipalProfile_STATUS + var other v20231001s.ManagedClusterServicePrincipalProfile_STATUS err := copied.AssignProperties_To_ManagedClusterServicePrincipalProfile_STATUS(&other) if err != nil { return err.Error() @@ -12424,7 +12845,7 @@ func RunPropertyAssignmentTestForManagedClusterStorageProfile(subject ManagedClu copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterStorageProfile + var other v20231001s.ManagedClusterStorageProfile err := copied.AssignProperties_To_ManagedClusterStorageProfile(&other) if err != nil { return err.Error() @@ -12530,7 +12951,7 @@ func RunPropertyAssignmentTestForManagedClusterStorageProfileBlobCSIDriver(subje copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterStorageProfileBlobCSIDriver + var other v20231001s.ManagedClusterStorageProfileBlobCSIDriver err := copied.AssignProperties_To_ManagedClusterStorageProfileBlobCSIDriver(&other) if err != nil { return err.Error() @@ -12633,7 +13054,7 @@ func RunPropertyAssignmentTestForManagedClusterStorageProfileBlobCSIDriver_STATU copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterStorageProfileBlobCSIDriver_STATUS + var other v20231001s.ManagedClusterStorageProfileBlobCSIDriver_STATUS err := copied.AssignProperties_To_ManagedClusterStorageProfileBlobCSIDriver_STATUS(&other) if err != nil { return err.Error() @@ -12736,7 +13157,7 @@ func RunPropertyAssignmentTestForManagedClusterStorageProfileDiskCSIDriver(subje copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterStorageProfileDiskCSIDriver + var other v20231001s.ManagedClusterStorageProfileDiskCSIDriver err := copied.AssignProperties_To_ManagedClusterStorageProfileDiskCSIDriver(&other) if err != nil { return err.Error() @@ -12840,7 +13261,7 @@ func RunPropertyAssignmentTestForManagedClusterStorageProfileDiskCSIDriver_STATU copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterStorageProfileDiskCSIDriver_STATUS + var other v20231001s.ManagedClusterStorageProfileDiskCSIDriver_STATUS err := copied.AssignProperties_To_ManagedClusterStorageProfileDiskCSIDriver_STATUS(&other) if err != nil { return err.Error() @@ -12944,7 +13365,7 @@ func RunPropertyAssignmentTestForManagedClusterStorageProfileFileCSIDriver(subje copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterStorageProfileFileCSIDriver + var other v20231001s.ManagedClusterStorageProfileFileCSIDriver err := copied.AssignProperties_To_ManagedClusterStorageProfileFileCSIDriver(&other) if err != nil { return err.Error() @@ -13047,7 +13468,7 @@ func RunPropertyAssignmentTestForManagedClusterStorageProfileFileCSIDriver_STATU copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterStorageProfileFileCSIDriver_STATUS + var other v20231001s.ManagedClusterStorageProfileFileCSIDriver_STATUS err := copied.AssignProperties_To_ManagedClusterStorageProfileFileCSIDriver_STATUS(&other) if err != nil { return err.Error() @@ -13150,7 +13571,7 @@ func RunPropertyAssignmentTestForManagedClusterStorageProfileSnapshotController( copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterStorageProfileSnapshotController + var other v20231001s.ManagedClusterStorageProfileSnapshotController err := copied.AssignProperties_To_ManagedClusterStorageProfileSnapshotController(&other) if err != nil { return err.Error() @@ -13253,7 +13674,7 @@ func RunPropertyAssignmentTestForManagedClusterStorageProfileSnapshotController_ copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterStorageProfileSnapshotController_STATUS + var other v20231001s.ManagedClusterStorageProfileSnapshotController_STATUS err := copied.AssignProperties_To_ManagedClusterStorageProfileSnapshotController_STATUS(&other) if err != nil { return err.Error() @@ -13356,7 +13777,7 @@ func RunPropertyAssignmentTestForManagedClusterStorageProfile_STATUS(subject Man copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterStorageProfile_STATUS + var other v20231001s.ManagedClusterStorageProfile_STATUS err := copied.AssignProperties_To_ManagedClusterStorageProfile_STATUS(&other) if err != nil { return err.Error() @@ -13462,7 +13883,7 @@ func RunPropertyAssignmentTestForManagedClusterWindowsProfile(subject ManagedClu copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterWindowsProfile + var other v20231001s.ManagedClusterWindowsProfile err := copied.AssignProperties_To_ManagedClusterWindowsProfile(&other) if err != nil { return err.Error() @@ -13581,7 +14002,7 @@ func RunPropertyAssignmentTestForManagedClusterWindowsProfile_STATUS(subject Man copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterWindowsProfile_STATUS + var other v20231001s.ManagedClusterWindowsProfile_STATUS err := copied.AssignProperties_To_ManagedClusterWindowsProfile_STATUS(&other) if err != nil { return err.Error() @@ -13700,7 +14121,7 @@ func RunPropertyAssignmentTestForManagedClusterWorkloadAutoScalerProfile(subject copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterWorkloadAutoScalerProfile + var other v20231001s.ManagedClusterWorkloadAutoScalerProfile err := copied.AssignProperties_To_ManagedClusterWorkloadAutoScalerProfile(&other) if err != nil { return err.Error() @@ -13804,7 +14225,7 @@ func RunPropertyAssignmentTestForManagedClusterWorkloadAutoScalerProfileKeda(sub copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterWorkloadAutoScalerProfileKeda + var other v20231001s.ManagedClusterWorkloadAutoScalerProfileKeda err := copied.AssignProperties_To_ManagedClusterWorkloadAutoScalerProfileKeda(&other) if err != nil { return err.Error() @@ -13907,7 +14328,7 @@ func RunPropertyAssignmentTestForManagedClusterWorkloadAutoScalerProfileKeda_STA copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterWorkloadAutoScalerProfileKeda_STATUS + var other v20231001s.ManagedClusterWorkloadAutoScalerProfileKeda_STATUS err := copied.AssignProperties_To_ManagedClusterWorkloadAutoScalerProfileKeda_STATUS(&other) if err != nil { return err.Error() @@ -14010,7 +14431,7 @@ func RunPropertyAssignmentTestForManagedClusterWorkloadAutoScalerProfileVertical copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler + var other v20231001s.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler err := copied.AssignProperties_To_ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler(&other) if err != nil { return err.Error() @@ -14114,7 +14535,7 @@ func RunPropertyAssignmentTestForManagedClusterWorkloadAutoScalerProfileVertical copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS + var other v20231001s.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS err := copied.AssignProperties_To_ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS(&other) if err != nil { return err.Error() @@ -14218,7 +14639,7 @@ func RunPropertyAssignmentTestForManagedClusterWorkloadAutoScalerProfile_STATUS( copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClusterWorkloadAutoScalerProfile_STATUS + var other v20231001s.ManagedClusterWorkloadAutoScalerProfile_STATUS err := copied.AssignProperties_To_ManagedClusterWorkloadAutoScalerProfile_STATUS(&other) if err != nil { return err.Error() @@ -14322,7 +14743,7 @@ func RunPropertyAssignmentTestForManagedCluster_STATUS(subject ManagedCluster_ST copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedCluster_STATUS + var other v20231001s.ManagedCluster_STATUS err := copied.AssignProperties_To_ManagedCluster_STATUS(&other) if err != nil { return err.Error() @@ -14461,7 +14882,7 @@ func RunPropertyAssignmentTestForManagedCluster_Spec(subject ManagedCluster_Spec copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedCluster_Spec + var other v20231001s.ManagedCluster_Spec err := copied.AssignProperties_To_ManagedCluster_Spec(&other) if err != nil { return err.Error() @@ -14749,7 +15170,7 @@ func RunPropertyAssignmentTestForPowerState_STATUS(subject PowerState_STATUS) st copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.PowerState_STATUS + var other v20231001s.PowerState_STATUS err := copied.AssignProperties_To_PowerState_STATUS(&other) if err != nil { return err.Error() @@ -14851,7 +15272,7 @@ func RunPropertyAssignmentTestForPrivateLinkResource(subject PrivateLinkResource copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.PrivateLinkResource + var other v20231001s.PrivateLinkResource err := copied.AssignProperties_To_PrivateLinkResource(&other) if err != nil { return err.Error() @@ -14957,7 +15378,7 @@ func RunPropertyAssignmentTestForPrivateLinkResource_STATUS(subject PrivateLinkR copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.PrivateLinkResource_STATUS + var other v20231001s.PrivateLinkResource_STATUS err := copied.AssignProperties_To_PrivateLinkResource_STATUS(&other) if err != nil { return err.Error() @@ -15065,7 +15486,7 @@ func RunPropertyAssignmentTestForResourceReference(subject ResourceReference) st copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ResourceReference + var other v20231001s.ResourceReference err := copied.AssignProperties_To_ResourceReference(&other) if err != nil { return err.Error() @@ -15161,7 +15582,7 @@ func RunPropertyAssignmentTestForResourceReference_STATUS(subject ResourceRefere copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ResourceReference_STATUS + var other v20231001s.ResourceReference_STATUS err := copied.AssignProperties_To_ResourceReference_STATUS(&other) if err != nil { return err.Error() @@ -15390,7 +15811,7 @@ func RunPropertyAssignmentTestForServiceMeshProfile(subject ServiceMeshProfile) copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ServiceMeshProfile + var other v20231001s.ServiceMeshProfile err := copied.AssignProperties_To_ServiceMeshProfile(&other) if err != nil { return err.Error() @@ -15506,7 +15927,7 @@ func RunPropertyAssignmentTestForServiceMeshProfile_STATUS(subject ServiceMeshPr copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ServiceMeshProfile_STATUS + var other v20231001s.ServiceMeshProfile_STATUS err := copied.AssignProperties_To_ServiceMeshProfile_STATUS(&other) if err != nil { return err.Error() @@ -15623,7 +16044,7 @@ func RunPropertyAssignmentTestForSystemData_STATUS(subject SystemData_STATUS) st copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.SystemData_STATUS + var other v20231001s.SystemData_STATUS err := copied.AssignProperties_To_SystemData_STATUS(&other) if err != nil { return err.Error() @@ -15730,7 +16151,7 @@ func RunPropertyAssignmentTestForUpgradeOverrideSettings(subject UpgradeOverride copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.UpgradeOverrideSettings + var other v20231001s.UpgradeOverrideSettings err := copied.AssignProperties_To_UpgradeOverrideSettings(&other) if err != nil { return err.Error() @@ -15834,7 +16255,7 @@ func RunPropertyAssignmentTestForUpgradeOverrideSettings_STATUS(subject UpgradeO copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.UpgradeOverrideSettings_STATUS + var other v20231001s.UpgradeOverrideSettings_STATUS err := copied.AssignProperties_To_UpgradeOverrideSettings_STATUS(&other) if err != nil { return err.Error() @@ -15938,7 +16359,7 @@ func RunPropertyAssignmentTestForUserAssignedIdentity(subject UserAssignedIdenti copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.UserAssignedIdentity + var other v20231001s.UserAssignedIdentity err := copied.AssignProperties_To_UserAssignedIdentity(&other) if err != nil { return err.Error() @@ -16042,7 +16463,7 @@ func RunPropertyAssignmentTestForUserAssignedIdentityDetails(subject UserAssigne copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.UserAssignedIdentityDetails + var other v20231001s.UserAssignedIdentityDetails err := copied.AssignProperties_To_UserAssignedIdentityDetails(&other) if err != nil { return err.Error() @@ -16139,7 +16560,7 @@ func RunPropertyAssignmentTestForUserAssignedIdentity_STATUS(subject UserAssigne copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.UserAssignedIdentity_STATUS + var other v20231001s.UserAssignedIdentity_STATUS err := copied.AssignProperties_To_UserAssignedIdentity_STATUS(&other) if err != nil { return err.Error() @@ -16244,7 +16665,7 @@ func RunPropertyAssignmentTestForWindowsGmsaProfile(subject WindowsGmsaProfile) copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.WindowsGmsaProfile + var other v20231001s.WindowsGmsaProfile err := copied.AssignProperties_To_WindowsGmsaProfile(&other) if err != nil { return err.Error() @@ -16348,7 +16769,7 @@ func RunPropertyAssignmentTestForWindowsGmsaProfile_STATUS(subject WindowsGmsaPr copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.WindowsGmsaProfile_STATUS + var other v20231001s.WindowsGmsaProfile_STATUS err := copied.AssignProperties_To_WindowsGmsaProfile_STATUS(&other) if err != nil { return err.Error() diff --git a/v2/api/containerservice/v1api20231102preview/storage/managed_clusters_agent_pool_types_gen.go b/v2/api/containerservice/v1api20231102preview/storage/managed_clusters_agent_pool_types_gen.go index b3e817b7684..4cd3a179b26 100644 --- a/v2/api/containerservice/v1api20231102preview/storage/managed_clusters_agent_pool_types_gen.go +++ b/v2/api/containerservice/v1api20231102preview/storage/managed_clusters_agent_pool_types_gen.go @@ -4,8 +4,9 @@ package storage import ( - "fmt" - storage "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20231001/storage" + v20231001s "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20231001/storage" + v20231001sc "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20231001/storage/compat" + v20240901s "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20240901/storage" "github.com/Azure/azure-service-operator/v2/pkg/genruntime" "github.com/Azure/azure-service-operator/v2/pkg/genruntime/conditions" "github.com/pkg/errors" @@ -47,22 +48,36 @@ var _ conversion.Convertible = &ManagedClustersAgentPool{} // ConvertFrom populates our ManagedClustersAgentPool from the provided hub ManagedClustersAgentPool func (pool *ManagedClustersAgentPool) ConvertFrom(hub conversion.Hub) error { - source, ok := hub.(*storage.ManagedClustersAgentPool) - if !ok { - return fmt.Errorf("expected containerservice/v1api20231001/storage/ManagedClustersAgentPool but received %T instead", hub) + // intermediate variable for conversion + var source v20231001s.ManagedClustersAgentPool + + err := source.ConvertFrom(hub) + if err != nil { + return errors.Wrap(err, "converting from hub to source") + } + + err = pool.AssignProperties_From_ManagedClustersAgentPool(&source) + if err != nil { + return errors.Wrap(err, "converting from source to pool") } - return pool.AssignProperties_From_ManagedClustersAgentPool(source) + return nil } // ConvertTo populates the provided hub ManagedClustersAgentPool from our ManagedClustersAgentPool func (pool *ManagedClustersAgentPool) ConvertTo(hub conversion.Hub) error { - destination, ok := hub.(*storage.ManagedClustersAgentPool) - if !ok { - return fmt.Errorf("expected containerservice/v1api20231001/storage/ManagedClustersAgentPool but received %T instead", hub) + // intermediate variable for conversion + var destination v20231001s.ManagedClustersAgentPool + err := pool.AssignProperties_To_ManagedClustersAgentPool(&destination) + if err != nil { + return errors.Wrap(err, "converting to destination from pool") + } + err = destination.ConvertTo(hub) + if err != nil { + return errors.Wrap(err, "converting from destination to hub") } - return pool.AssignProperties_To_ManagedClustersAgentPool(destination) + return nil } var _ genruntime.KubernetesResource = &ManagedClustersAgentPool{} @@ -137,7 +152,7 @@ func (pool *ManagedClustersAgentPool) SetStatus(status genruntime.ConvertibleSta } // AssignProperties_From_ManagedClustersAgentPool populates our ManagedClustersAgentPool from the provided source ManagedClustersAgentPool -func (pool *ManagedClustersAgentPool) AssignProperties_From_ManagedClustersAgentPool(source *storage.ManagedClustersAgentPool) error { +func (pool *ManagedClustersAgentPool) AssignProperties_From_ManagedClustersAgentPool(source *v20231001s.ManagedClustersAgentPool) error { // ObjectMeta pool.ObjectMeta = *source.ObjectMeta.DeepCopy() @@ -172,13 +187,13 @@ func (pool *ManagedClustersAgentPool) AssignProperties_From_ManagedClustersAgent } // AssignProperties_To_ManagedClustersAgentPool populates the provided destination ManagedClustersAgentPool from our ManagedClustersAgentPool -func (pool *ManagedClustersAgentPool) AssignProperties_To_ManagedClustersAgentPool(destination *storage.ManagedClustersAgentPool) error { +func (pool *ManagedClustersAgentPool) AssignProperties_To_ManagedClustersAgentPool(destination *v20231001s.ManagedClustersAgentPool) error { // ObjectMeta destination.ObjectMeta = *pool.ObjectMeta.DeepCopy() // Spec - var spec storage.ManagedClustersAgentPool_Spec + var spec v20231001s.ManagedClustersAgentPool_Spec err := pool.Spec.AssignProperties_To_ManagedClustersAgentPool_Spec(&spec) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClustersAgentPool_Spec() to populate field Spec") @@ -186,7 +201,7 @@ func (pool *ManagedClustersAgentPool) AssignProperties_To_ManagedClustersAgentPo destination.Spec = spec // Status - var status storage.ManagedClustersAgentPool_STATUS + var status v20231001s.ManagedClustersAgentPool_STATUS err = pool.Status.AssignProperties_To_ManagedClustersAgentPool_STATUS(&status) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClustersAgentPool_STATUS() to populate field Status") @@ -227,8 +242,8 @@ type ManagedClustersAgentPoolList struct { } type augmentConversionForManagedClustersAgentPool interface { - AssignPropertiesFrom(src *storage.ManagedClustersAgentPool) error - AssignPropertiesTo(dst *storage.ManagedClustersAgentPool) error + AssignPropertiesFrom(src *v20231001s.ManagedClustersAgentPool) error + AssignPropertiesTo(dst *v20231001s.ManagedClustersAgentPool) error } // Storage version of v1api20231102preview.ManagedClustersAgentPool_Spec @@ -319,14 +334,14 @@ var _ genruntime.ConvertibleSpec = &ManagedClustersAgentPool_Spec{} // ConvertSpecFrom populates our ManagedClustersAgentPool_Spec from the provided source func (pool *ManagedClustersAgentPool_Spec) ConvertSpecFrom(source genruntime.ConvertibleSpec) error { - src, ok := source.(*storage.ManagedClustersAgentPool_Spec) + src, ok := source.(*v20231001s.ManagedClustersAgentPool_Spec) if ok { // Populate our instance from source return pool.AssignProperties_From_ManagedClustersAgentPool_Spec(src) } // Convert to an intermediate form - src = &storage.ManagedClustersAgentPool_Spec{} + src = &v20231001s.ManagedClustersAgentPool_Spec{} err := src.ConvertSpecFrom(source) if err != nil { return errors.Wrap(err, "initial step of conversion in ConvertSpecFrom()") @@ -343,14 +358,14 @@ func (pool *ManagedClustersAgentPool_Spec) ConvertSpecFrom(source genruntime.Con // ConvertSpecTo populates the provided destination from our ManagedClustersAgentPool_Spec func (pool *ManagedClustersAgentPool_Spec) ConvertSpecTo(destination genruntime.ConvertibleSpec) error { - dst, ok := destination.(*storage.ManagedClustersAgentPool_Spec) + dst, ok := destination.(*v20231001s.ManagedClustersAgentPool_Spec) if ok { // Populate destination from our instance return pool.AssignProperties_To_ManagedClustersAgentPool_Spec(dst) } // Convert to an intermediate form - dst = &storage.ManagedClustersAgentPool_Spec{} + dst = &v20231001s.ManagedClustersAgentPool_Spec{} err := pool.AssignProperties_To_ManagedClustersAgentPool_Spec(dst) if err != nil { return errors.Wrap(err, "initial step of conversion in ConvertSpecTo()") @@ -366,7 +381,7 @@ func (pool *ManagedClustersAgentPool_Spec) ConvertSpecTo(destination genruntime. } // AssignProperties_From_ManagedClustersAgentPool_Spec populates our ManagedClustersAgentPool_Spec from the provided source ManagedClustersAgentPool_Spec -func (pool *ManagedClustersAgentPool_Spec) AssignProperties_From_ManagedClustersAgentPool_Spec(source *storage.ManagedClustersAgentPool_Spec) error { +func (pool *ManagedClustersAgentPool_Spec) AssignProperties_From_ManagedClustersAgentPool_Spec(source *v20231001s.ManagedClustersAgentPool_Spec) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -756,7 +771,7 @@ func (pool *ManagedClustersAgentPool_Spec) AssignProperties_From_ManagedClusters } // AssignProperties_To_ManagedClustersAgentPool_Spec populates the provided destination ManagedClustersAgentPool_Spec from our ManagedClustersAgentPool_Spec -func (pool *ManagedClustersAgentPool_Spec) AssignProperties_To_ManagedClustersAgentPool_Spec(destination *storage.ManagedClustersAgentPool_Spec) error { +func (pool *ManagedClustersAgentPool_Spec) AssignProperties_To_ManagedClustersAgentPool_Spec(destination *v20231001s.ManagedClustersAgentPool_Spec) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(pool.PropertyBag) @@ -786,7 +801,7 @@ func (pool *ManagedClustersAgentPool_Spec) AssignProperties_To_ManagedClustersAg // CreationData if pool.CreationData != nil { - var creationDatum storage.CreationData + var creationDatum v20231001s.CreationData err := pool.CreationData.AssignProperties_To_CreationData(&creationDatum) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_CreationData() to populate field CreationData") @@ -863,7 +878,7 @@ func (pool *ManagedClustersAgentPool_Spec) AssignProperties_To_ManagedClustersAg // KubeletConfig if pool.KubeletConfig != nil { - var kubeletConfig storage.KubeletConfig + var kubeletConfig v20231001s.KubeletConfig err := pool.KubeletConfig.AssignProperties_To_KubeletConfig(&kubeletConfig) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_KubeletConfig() to populate field KubeletConfig") @@ -878,7 +893,7 @@ func (pool *ManagedClustersAgentPool_Spec) AssignProperties_To_ManagedClustersAg // LinuxOSConfig if pool.LinuxOSConfig != nil { - var linuxOSConfig storage.LinuxOSConfig + var linuxOSConfig v20231001s.LinuxOSConfig err := pool.LinuxOSConfig.AssignProperties_To_LinuxOSConfig(&linuxOSConfig) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_LinuxOSConfig() to populate field LinuxOSConfig") @@ -909,7 +924,7 @@ func (pool *ManagedClustersAgentPool_Spec) AssignProperties_To_ManagedClustersAg // NetworkProfile if pool.NetworkProfile != nil { - var networkProfile storage.AgentPoolNetworkProfile + var networkProfile v20231001s.AgentPoolNetworkProfile err := pool.NetworkProfile.AssignProperties_To_AgentPoolNetworkProfile(&networkProfile) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_AgentPoolNetworkProfile() to populate field NetworkProfile") @@ -976,7 +991,7 @@ func (pool *ManagedClustersAgentPool_Spec) AssignProperties_To_ManagedClustersAg // PowerState if pool.PowerState != nil { - var powerState storage.PowerState + var powerState v20231001s.PowerState err := pool.PowerState.AssignProperties_To_PowerState(&powerState) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_PowerState() to populate field PowerState") @@ -1026,7 +1041,7 @@ func (pool *ManagedClustersAgentPool_Spec) AssignProperties_To_ManagedClustersAg // UpgradeSettings if pool.UpgradeSettings != nil { - var upgradeSetting storage.AgentPoolUpgradeSettings + var upgradeSetting v20231001s.AgentPoolUpgradeSettings err := pool.UpgradeSettings.AssignProperties_To_AgentPoolUpgradeSettings(&upgradeSetting) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_AgentPoolUpgradeSettings() to populate field UpgradeSettings") @@ -1156,14 +1171,14 @@ var _ genruntime.ConvertibleStatus = &ManagedClustersAgentPool_STATUS{} // ConvertStatusFrom populates our ManagedClustersAgentPool_STATUS from the provided source func (pool *ManagedClustersAgentPool_STATUS) ConvertStatusFrom(source genruntime.ConvertibleStatus) error { - src, ok := source.(*storage.ManagedClustersAgentPool_STATUS) + src, ok := source.(*v20231001s.ManagedClustersAgentPool_STATUS) if ok { // Populate our instance from source return pool.AssignProperties_From_ManagedClustersAgentPool_STATUS(src) } // Convert to an intermediate form - src = &storage.ManagedClustersAgentPool_STATUS{} + src = &v20231001s.ManagedClustersAgentPool_STATUS{} err := src.ConvertStatusFrom(source) if err != nil { return errors.Wrap(err, "initial step of conversion in ConvertStatusFrom()") @@ -1180,14 +1195,14 @@ func (pool *ManagedClustersAgentPool_STATUS) ConvertStatusFrom(source genruntime // ConvertStatusTo populates the provided destination from our ManagedClustersAgentPool_STATUS func (pool *ManagedClustersAgentPool_STATUS) ConvertStatusTo(destination genruntime.ConvertibleStatus) error { - dst, ok := destination.(*storage.ManagedClustersAgentPool_STATUS) + dst, ok := destination.(*v20231001s.ManagedClustersAgentPool_STATUS) if ok { // Populate destination from our instance return pool.AssignProperties_To_ManagedClustersAgentPool_STATUS(dst) } // Convert to an intermediate form - dst = &storage.ManagedClustersAgentPool_STATUS{} + dst = &v20231001s.ManagedClustersAgentPool_STATUS{} err := pool.AssignProperties_To_ManagedClustersAgentPool_STATUS(dst) if err != nil { return errors.Wrap(err, "initial step of conversion in ConvertStatusTo()") @@ -1203,7 +1218,7 @@ func (pool *ManagedClustersAgentPool_STATUS) ConvertStatusTo(destination genrunt } // AssignProperties_From_ManagedClustersAgentPool_STATUS populates our ManagedClustersAgentPool_STATUS from the provided source ManagedClustersAgentPool_STATUS -func (pool *ManagedClustersAgentPool_STATUS) AssignProperties_From_ManagedClustersAgentPool_STATUS(source *storage.ManagedClustersAgentPool_STATUS) error { +func (pool *ManagedClustersAgentPool_STATUS) AssignProperties_From_ManagedClustersAgentPool_STATUS(source *v20231001s.ManagedClustersAgentPool_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -1570,7 +1585,7 @@ func (pool *ManagedClustersAgentPool_STATUS) AssignProperties_From_ManagedCluste } // AssignProperties_To_ManagedClustersAgentPool_STATUS populates the provided destination ManagedClustersAgentPool_STATUS from our ManagedClustersAgentPool_STATUS -func (pool *ManagedClustersAgentPool_STATUS) AssignProperties_To_ManagedClustersAgentPool_STATUS(destination *storage.ManagedClustersAgentPool_STATUS) error { +func (pool *ManagedClustersAgentPool_STATUS) AssignProperties_To_ManagedClustersAgentPool_STATUS(destination *v20231001s.ManagedClustersAgentPool_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(pool.PropertyBag) @@ -1595,7 +1610,7 @@ func (pool *ManagedClustersAgentPool_STATUS) AssignProperties_To_ManagedClusters // CreationData if pool.CreationData != nil { - var creationDatum storage.CreationData_STATUS + var creationDatum v20231001s.CreationData_STATUS err := pool.CreationData.AssignProperties_To_CreationData_STATUS(&creationDatum) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_CreationData_STATUS() to populate field CreationData") @@ -1673,7 +1688,7 @@ func (pool *ManagedClustersAgentPool_STATUS) AssignProperties_To_ManagedClusters // KubeletConfig if pool.KubeletConfig != nil { - var kubeletConfig storage.KubeletConfig_STATUS + var kubeletConfig v20231001s.KubeletConfig_STATUS err := pool.KubeletConfig.AssignProperties_To_KubeletConfig_STATUS(&kubeletConfig) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_KubeletConfig_STATUS() to populate field KubeletConfig") @@ -1688,7 +1703,7 @@ func (pool *ManagedClustersAgentPool_STATUS) AssignProperties_To_ManagedClusters // LinuxOSConfig if pool.LinuxOSConfig != nil { - var linuxOSConfig storage.LinuxOSConfig_STATUS + var linuxOSConfig v20231001s.LinuxOSConfig_STATUS err := pool.LinuxOSConfig.AssignProperties_To_LinuxOSConfig_STATUS(&linuxOSConfig) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_LinuxOSConfig_STATUS() to populate field LinuxOSConfig") @@ -1722,7 +1737,7 @@ func (pool *ManagedClustersAgentPool_STATUS) AssignProperties_To_ManagedClusters // NetworkProfile if pool.NetworkProfile != nil { - var networkProfile storage.AgentPoolNetworkProfile_STATUS + var networkProfile v20231001s.AgentPoolNetworkProfile_STATUS err := pool.NetworkProfile.AssignProperties_To_AgentPoolNetworkProfile_STATUS(&networkProfile) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_AgentPoolNetworkProfile_STATUS() to populate field NetworkProfile") @@ -1771,7 +1786,7 @@ func (pool *ManagedClustersAgentPool_STATUS) AssignProperties_To_ManagedClusters // PowerState if pool.PowerState != nil { - var powerState storage.PowerState_STATUS + var powerState v20231001s.PowerState_STATUS err := pool.PowerState.AssignProperties_To_PowerState_STATUS(&powerState) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_PowerState_STATUS() to populate field PowerState") @@ -1822,7 +1837,7 @@ func (pool *ManagedClustersAgentPool_STATUS) AssignProperties_To_ManagedClusters // UpgradeSettings if pool.UpgradeSettings != nil { - var upgradeSetting storage.AgentPoolUpgradeSettings_STATUS + var upgradeSetting v20231001s.AgentPoolUpgradeSettings_STATUS err := pool.UpgradeSettings.AssignProperties_To_AgentPoolUpgradeSettings_STATUS(&upgradeSetting) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_AgentPoolUpgradeSettings_STATUS() to populate field UpgradeSettings") @@ -1907,7 +1922,6 @@ type AgentPoolGPUProfile_STATUS struct { } // Storage version of v1api20231102preview.AgentPoolNetworkProfile -// Network settings of an agent pool. type AgentPoolNetworkProfile struct { AllowedHostPorts []PortRange `json:"allowedHostPorts,omitempty"` ApplicationSecurityGroupsReferences []genruntime.ResourceReference `armReference:"ApplicationSecurityGroups" json:"applicationSecurityGroupsReferences,omitempty"` @@ -1916,7 +1930,7 @@ type AgentPoolNetworkProfile struct { } // AssignProperties_From_AgentPoolNetworkProfile populates our AgentPoolNetworkProfile from the provided source AgentPoolNetworkProfile -func (profile *AgentPoolNetworkProfile) AssignProperties_From_AgentPoolNetworkProfile(source *storage.AgentPoolNetworkProfile) error { +func (profile *AgentPoolNetworkProfile) AssignProperties_From_AgentPoolNetworkProfile(source *v20231001s.AgentPoolNetworkProfile) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -1990,17 +2004,17 @@ func (profile *AgentPoolNetworkProfile) AssignProperties_From_AgentPoolNetworkPr } // AssignProperties_To_AgentPoolNetworkProfile populates the provided destination AgentPoolNetworkProfile from our AgentPoolNetworkProfile -func (profile *AgentPoolNetworkProfile) AssignProperties_To_AgentPoolNetworkProfile(destination *storage.AgentPoolNetworkProfile) error { +func (profile *AgentPoolNetworkProfile) AssignProperties_To_AgentPoolNetworkProfile(destination *v20231001s.AgentPoolNetworkProfile) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) // AllowedHostPorts if profile.AllowedHostPorts != nil { - allowedHostPortList := make([]storage.PortRange, len(profile.AllowedHostPorts)) + allowedHostPortList := make([]v20231001s.PortRange, len(profile.AllowedHostPorts)) for allowedHostPortIndex, allowedHostPortItem := range profile.AllowedHostPorts { // Shadow the loop variable to avoid aliasing allowedHostPortItem := allowedHostPortItem - var allowedHostPort storage.PortRange + var allowedHostPort v20231001s.PortRange err := allowedHostPortItem.AssignProperties_To_PortRange(&allowedHostPort) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_PortRange() to populate field AllowedHostPorts") @@ -2027,11 +2041,11 @@ func (profile *AgentPoolNetworkProfile) AssignProperties_To_AgentPoolNetworkProf // NodePublicIPTags if profile.NodePublicIPTags != nil { - nodePublicIPTagList := make([]storage.IPTag, len(profile.NodePublicIPTags)) + nodePublicIPTagList := make([]v20231001s.IPTag, len(profile.NodePublicIPTags)) for nodePublicIPTagIndex, nodePublicIPTagItem := range profile.NodePublicIPTags { // Shadow the loop variable to avoid aliasing nodePublicIPTagItem := nodePublicIPTagItem - var nodePublicIPTag storage.IPTag + var nodePublicIPTag v20231001s.IPTag err := nodePublicIPTagItem.AssignProperties_To_IPTag(&nodePublicIPTag) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_IPTag() to populate field NodePublicIPTags") @@ -2064,7 +2078,6 @@ func (profile *AgentPoolNetworkProfile) AssignProperties_To_AgentPoolNetworkProf } // Storage version of v1api20231102preview.AgentPoolNetworkProfile_STATUS -// Network settings of an agent pool. type AgentPoolNetworkProfile_STATUS struct { AllowedHostPorts []PortRange_STATUS `json:"allowedHostPorts,omitempty"` ApplicationSecurityGroups []string `json:"applicationSecurityGroups,omitempty"` @@ -2073,7 +2086,7 @@ type AgentPoolNetworkProfile_STATUS struct { } // AssignProperties_From_AgentPoolNetworkProfile_STATUS populates our AgentPoolNetworkProfile_STATUS from the provided source AgentPoolNetworkProfile_STATUS -func (profile *AgentPoolNetworkProfile_STATUS) AssignProperties_From_AgentPoolNetworkProfile_STATUS(source *storage.AgentPoolNetworkProfile_STATUS) error { +func (profile *AgentPoolNetworkProfile_STATUS) AssignProperties_From_AgentPoolNetworkProfile_STATUS(source *v20231001s.AgentPoolNetworkProfile_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -2137,17 +2150,17 @@ func (profile *AgentPoolNetworkProfile_STATUS) AssignProperties_From_AgentPoolNe } // AssignProperties_To_AgentPoolNetworkProfile_STATUS populates the provided destination AgentPoolNetworkProfile_STATUS from our AgentPoolNetworkProfile_STATUS -func (profile *AgentPoolNetworkProfile_STATUS) AssignProperties_To_AgentPoolNetworkProfile_STATUS(destination *storage.AgentPoolNetworkProfile_STATUS) error { +func (profile *AgentPoolNetworkProfile_STATUS) AssignProperties_To_AgentPoolNetworkProfile_STATUS(destination *v20231001s.AgentPoolNetworkProfile_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) // AllowedHostPorts if profile.AllowedHostPorts != nil { - allowedHostPortList := make([]storage.PortRange_STATUS, len(profile.AllowedHostPorts)) + allowedHostPortList := make([]v20231001s.PortRange_STATUS, len(profile.AllowedHostPorts)) for allowedHostPortIndex, allowedHostPortItem := range profile.AllowedHostPorts { // Shadow the loop variable to avoid aliasing allowedHostPortItem := allowedHostPortItem - var allowedHostPort storage.PortRange_STATUS + var allowedHostPort v20231001s.PortRange_STATUS err := allowedHostPortItem.AssignProperties_To_PortRange_STATUS(&allowedHostPort) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_PortRange_STATUS() to populate field AllowedHostPorts") @@ -2164,11 +2177,11 @@ func (profile *AgentPoolNetworkProfile_STATUS) AssignProperties_To_AgentPoolNetw // NodePublicIPTags if profile.NodePublicIPTags != nil { - nodePublicIPTagList := make([]storage.IPTag_STATUS, len(profile.NodePublicIPTags)) + nodePublicIPTagList := make([]v20231001s.IPTag_STATUS, len(profile.NodePublicIPTags)) for nodePublicIPTagIndex, nodePublicIPTagItem := range profile.NodePublicIPTags { // Shadow the loop variable to avoid aliasing nodePublicIPTagItem := nodePublicIPTagItem - var nodePublicIPTag storage.IPTag_STATUS + var nodePublicIPTag v20231001s.IPTag_STATUS err := nodePublicIPTagItem.AssignProperties_To_IPTag_STATUS(&nodePublicIPTag) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_IPTag_STATUS() to populate field NodePublicIPTags") @@ -2201,7 +2214,6 @@ func (profile *AgentPoolNetworkProfile_STATUS) AssignProperties_To_AgentPoolNetw } // Storage version of v1api20231102preview.AgentPoolSecurityProfile -// The security settings of an agent pool. type AgentPoolSecurityProfile struct { EnableSecureBoot *bool `json:"enableSecureBoot,omitempty"` EnableVTPM *bool `json:"enableVTPM,omitempty"` @@ -2209,8 +2221,95 @@ type AgentPoolSecurityProfile struct { SshAccess *string `json:"sshAccess,omitempty"` } +// AssignProperties_From_AgentPoolSecurityProfile populates our AgentPoolSecurityProfile from the provided source AgentPoolSecurityProfile +func (profile *AgentPoolSecurityProfile) AssignProperties_From_AgentPoolSecurityProfile(source *v20231001sc.AgentPoolSecurityProfile) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // EnableSecureBoot + if source.EnableSecureBoot != nil { + enableSecureBoot := *source.EnableSecureBoot + profile.EnableSecureBoot = &enableSecureBoot + } else { + profile.EnableSecureBoot = nil + } + + // EnableVTPM + if source.EnableVTPM != nil { + enableVTPM := *source.EnableVTPM + profile.EnableVTPM = &enableVTPM + } else { + profile.EnableVTPM = nil + } + + // SshAccess + profile.SshAccess = genruntime.ClonePointerToString(source.SshAccess) + + // Update the property bag + if len(propertyBag) > 0 { + profile.PropertyBag = propertyBag + } else { + profile.PropertyBag = nil + } + + // Invoke the augmentConversionForAgentPoolSecurityProfile interface (if implemented) to customize the conversion + var profileAsAny any = profile + if augmentedProfile, ok := profileAsAny.(augmentConversionForAgentPoolSecurityProfile); ok { + err := augmentedProfile.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_AgentPoolSecurityProfile populates the provided destination AgentPoolSecurityProfile from our AgentPoolSecurityProfile +func (profile *AgentPoolSecurityProfile) AssignProperties_To_AgentPoolSecurityProfile(destination *v20231001sc.AgentPoolSecurityProfile) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) + + // EnableSecureBoot + if profile.EnableSecureBoot != nil { + enableSecureBoot := *profile.EnableSecureBoot + destination.EnableSecureBoot = &enableSecureBoot + } else { + destination.EnableSecureBoot = nil + } + + // EnableVTPM + if profile.EnableVTPM != nil { + enableVTPM := *profile.EnableVTPM + destination.EnableVTPM = &enableVTPM + } else { + destination.EnableVTPM = nil + } + + // SshAccess + destination.SshAccess = genruntime.ClonePointerToString(profile.SshAccess) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForAgentPoolSecurityProfile interface (if implemented) to customize the conversion + var profileAsAny any = profile + if augmentedProfile, ok := profileAsAny.(augmentConversionForAgentPoolSecurityProfile); ok { + err := augmentedProfile.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + // Storage version of v1api20231102preview.AgentPoolSecurityProfile_STATUS -// The security settings of an agent pool. type AgentPoolSecurityProfile_STATUS struct { EnableSecureBoot *bool `json:"enableSecureBoot,omitempty"` EnableVTPM *bool `json:"enableVTPM,omitempty"` @@ -2218,8 +2317,95 @@ type AgentPoolSecurityProfile_STATUS struct { SshAccess *string `json:"sshAccess,omitempty"` } +// AssignProperties_From_AgentPoolSecurityProfile_STATUS populates our AgentPoolSecurityProfile_STATUS from the provided source AgentPoolSecurityProfile_STATUS +func (profile *AgentPoolSecurityProfile_STATUS) AssignProperties_From_AgentPoolSecurityProfile_STATUS(source *v20231001sc.AgentPoolSecurityProfile_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // EnableSecureBoot + if source.EnableSecureBoot != nil { + enableSecureBoot := *source.EnableSecureBoot + profile.EnableSecureBoot = &enableSecureBoot + } else { + profile.EnableSecureBoot = nil + } + + // EnableVTPM + if source.EnableVTPM != nil { + enableVTPM := *source.EnableVTPM + profile.EnableVTPM = &enableVTPM + } else { + profile.EnableVTPM = nil + } + + // SshAccess + profile.SshAccess = genruntime.ClonePointerToString(source.SshAccess) + + // Update the property bag + if len(propertyBag) > 0 { + profile.PropertyBag = propertyBag + } else { + profile.PropertyBag = nil + } + + // Invoke the augmentConversionForAgentPoolSecurityProfile_STATUS interface (if implemented) to customize the conversion + var profileAsAny any = profile + if augmentedProfile, ok := profileAsAny.(augmentConversionForAgentPoolSecurityProfile_STATUS); ok { + err := augmentedProfile.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_AgentPoolSecurityProfile_STATUS populates the provided destination AgentPoolSecurityProfile_STATUS from our AgentPoolSecurityProfile_STATUS +func (profile *AgentPoolSecurityProfile_STATUS) AssignProperties_To_AgentPoolSecurityProfile_STATUS(destination *v20231001sc.AgentPoolSecurityProfile_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) + + // EnableSecureBoot + if profile.EnableSecureBoot != nil { + enableSecureBoot := *profile.EnableSecureBoot + destination.EnableSecureBoot = &enableSecureBoot + } else { + destination.EnableSecureBoot = nil + } + + // EnableVTPM + if profile.EnableVTPM != nil { + enableVTPM := *profile.EnableVTPM + destination.EnableVTPM = &enableVTPM + } else { + destination.EnableVTPM = nil + } + + // SshAccess + destination.SshAccess = genruntime.ClonePointerToString(profile.SshAccess) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForAgentPoolSecurityProfile_STATUS interface (if implemented) to customize the conversion + var profileAsAny any = profile + if augmentedProfile, ok := profileAsAny.(augmentConversionForAgentPoolSecurityProfile_STATUS); ok { + err := augmentedProfile.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + // Storage version of v1api20231102preview.AgentPoolUpgradeSettings -// Settings for upgrading an agentpool type AgentPoolUpgradeSettings struct { DrainTimeoutInMinutes *int `json:"drainTimeoutInMinutes,omitempty"` MaxSurge *string `json:"maxSurge,omitempty"` @@ -2228,7 +2414,7 @@ type AgentPoolUpgradeSettings struct { } // AssignProperties_From_AgentPoolUpgradeSettings populates our AgentPoolUpgradeSettings from the provided source AgentPoolUpgradeSettings -func (settings *AgentPoolUpgradeSettings) AssignProperties_From_AgentPoolUpgradeSettings(source *storage.AgentPoolUpgradeSettings) error { +func (settings *AgentPoolUpgradeSettings) AssignProperties_From_AgentPoolUpgradeSettings(source *v20231001s.AgentPoolUpgradeSettings) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -2272,7 +2458,7 @@ func (settings *AgentPoolUpgradeSettings) AssignProperties_From_AgentPoolUpgrade } // AssignProperties_To_AgentPoolUpgradeSettings populates the provided destination AgentPoolUpgradeSettings from our AgentPoolUpgradeSettings -func (settings *AgentPoolUpgradeSettings) AssignProperties_To_AgentPoolUpgradeSettings(destination *storage.AgentPoolUpgradeSettings) error { +func (settings *AgentPoolUpgradeSettings) AssignProperties_To_AgentPoolUpgradeSettings(destination *v20231001s.AgentPoolUpgradeSettings) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(settings.PropertyBag) @@ -2310,7 +2496,6 @@ func (settings *AgentPoolUpgradeSettings) AssignProperties_To_AgentPoolUpgradeSe } // Storage version of v1api20231102preview.AgentPoolUpgradeSettings_STATUS -// Settings for upgrading an agentpool type AgentPoolUpgradeSettings_STATUS struct { DrainTimeoutInMinutes *int `json:"drainTimeoutInMinutes,omitempty"` MaxSurge *string `json:"maxSurge,omitempty"` @@ -2319,7 +2504,7 @@ type AgentPoolUpgradeSettings_STATUS struct { } // AssignProperties_From_AgentPoolUpgradeSettings_STATUS populates our AgentPoolUpgradeSettings_STATUS from the provided source AgentPoolUpgradeSettings_STATUS -func (settings *AgentPoolUpgradeSettings_STATUS) AssignProperties_From_AgentPoolUpgradeSettings_STATUS(source *storage.AgentPoolUpgradeSettings_STATUS) error { +func (settings *AgentPoolUpgradeSettings_STATUS) AssignProperties_From_AgentPoolUpgradeSettings_STATUS(source *v20231001s.AgentPoolUpgradeSettings_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -2363,7 +2548,7 @@ func (settings *AgentPoolUpgradeSettings_STATUS) AssignProperties_From_AgentPool } // AssignProperties_To_AgentPoolUpgradeSettings_STATUS populates the provided destination AgentPoolUpgradeSettings_STATUS from our AgentPoolUpgradeSettings_STATUS -func (settings *AgentPoolUpgradeSettings_STATUS) AssignProperties_To_AgentPoolUpgradeSettings_STATUS(destination *storage.AgentPoolUpgradeSettings_STATUS) error { +func (settings *AgentPoolUpgradeSettings_STATUS) AssignProperties_To_AgentPoolUpgradeSettings_STATUS(destination *v20231001s.AgentPoolUpgradeSettings_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(settings.PropertyBag) @@ -2401,31 +2586,160 @@ func (settings *AgentPoolUpgradeSettings_STATUS) AssignProperties_To_AgentPoolUp } // Storage version of v1api20231102preview.AgentPoolWindowsProfile -// The Windows agent pool's specific profile. type AgentPoolWindowsProfile struct { DisableOutboundNat *bool `json:"disableOutboundNat,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` } +// AssignProperties_From_AgentPoolWindowsProfile populates our AgentPoolWindowsProfile from the provided source AgentPoolWindowsProfile +func (profile *AgentPoolWindowsProfile) AssignProperties_From_AgentPoolWindowsProfile(source *v20240901s.AgentPoolWindowsProfile) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // DisableOutboundNat + if source.DisableOutboundNat != nil { + disableOutboundNat := *source.DisableOutboundNat + profile.DisableOutboundNat = &disableOutboundNat + } else { + profile.DisableOutboundNat = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + profile.PropertyBag = propertyBag + } else { + profile.PropertyBag = nil + } + + // Invoke the augmentConversionForAgentPoolWindowsProfile interface (if implemented) to customize the conversion + var profileAsAny any = profile + if augmentedProfile, ok := profileAsAny.(augmentConversionForAgentPoolWindowsProfile); ok { + err := augmentedProfile.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_AgentPoolWindowsProfile populates the provided destination AgentPoolWindowsProfile from our AgentPoolWindowsProfile +func (profile *AgentPoolWindowsProfile) AssignProperties_To_AgentPoolWindowsProfile(destination *v20240901s.AgentPoolWindowsProfile) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) + + // DisableOutboundNat + if profile.DisableOutboundNat != nil { + disableOutboundNat := *profile.DisableOutboundNat + destination.DisableOutboundNat = &disableOutboundNat + } else { + destination.DisableOutboundNat = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForAgentPoolWindowsProfile interface (if implemented) to customize the conversion + var profileAsAny any = profile + if augmentedProfile, ok := profileAsAny.(augmentConversionForAgentPoolWindowsProfile); ok { + err := augmentedProfile.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + // Storage version of v1api20231102preview.AgentPoolWindowsProfile_STATUS -// The Windows agent pool's specific profile. type AgentPoolWindowsProfile_STATUS struct { DisableOutboundNat *bool `json:"disableOutboundNat,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` } +// AssignProperties_From_AgentPoolWindowsProfile_STATUS populates our AgentPoolWindowsProfile_STATUS from the provided source AgentPoolWindowsProfile_STATUS +func (profile *AgentPoolWindowsProfile_STATUS) AssignProperties_From_AgentPoolWindowsProfile_STATUS(source *v20240901s.AgentPoolWindowsProfile_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // DisableOutboundNat + if source.DisableOutboundNat != nil { + disableOutboundNat := *source.DisableOutboundNat + profile.DisableOutboundNat = &disableOutboundNat + } else { + profile.DisableOutboundNat = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + profile.PropertyBag = propertyBag + } else { + profile.PropertyBag = nil + } + + // Invoke the augmentConversionForAgentPoolWindowsProfile_STATUS interface (if implemented) to customize the conversion + var profileAsAny any = profile + if augmentedProfile, ok := profileAsAny.(augmentConversionForAgentPoolWindowsProfile_STATUS); ok { + err := augmentedProfile.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_AgentPoolWindowsProfile_STATUS populates the provided destination AgentPoolWindowsProfile_STATUS from our AgentPoolWindowsProfile_STATUS +func (profile *AgentPoolWindowsProfile_STATUS) AssignProperties_To_AgentPoolWindowsProfile_STATUS(destination *v20240901s.AgentPoolWindowsProfile_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) + + // DisableOutboundNat + if profile.DisableOutboundNat != nil { + disableOutboundNat := *profile.DisableOutboundNat + destination.DisableOutboundNat = &disableOutboundNat + } else { + destination.DisableOutboundNat = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForAgentPoolWindowsProfile_STATUS interface (if implemented) to customize the conversion + var profileAsAny any = profile + if augmentedProfile, ok := profileAsAny.(augmentConversionForAgentPoolWindowsProfile_STATUS); ok { + err := augmentedProfile.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + type augmentConversionForManagedClustersAgentPool_Spec interface { - AssignPropertiesFrom(src *storage.ManagedClustersAgentPool_Spec) error - AssignPropertiesTo(dst *storage.ManagedClustersAgentPool_Spec) error + AssignPropertiesFrom(src *v20231001s.ManagedClustersAgentPool_Spec) error + AssignPropertiesTo(dst *v20231001s.ManagedClustersAgentPool_Spec) error } type augmentConversionForManagedClustersAgentPool_STATUS interface { - AssignPropertiesFrom(src *storage.ManagedClustersAgentPool_STATUS) error - AssignPropertiesTo(dst *storage.ManagedClustersAgentPool_STATUS) error + AssignPropertiesFrom(src *v20231001s.ManagedClustersAgentPool_STATUS) error + AssignPropertiesTo(dst *v20231001s.ManagedClustersAgentPool_STATUS) error } // Storage version of v1api20231102preview.KubeletConfig -// See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. type KubeletConfig struct { AllowedUnsafeSysctls []string `json:"allowedUnsafeSysctls,omitempty"` ContainerLogMaxFiles *int `json:"containerLogMaxFiles,omitempty"` @@ -2442,7 +2756,7 @@ type KubeletConfig struct { } // AssignProperties_From_KubeletConfig populates our KubeletConfig from the provided source KubeletConfig -func (config *KubeletConfig) AssignProperties_From_KubeletConfig(source *storage.KubeletConfig) error { +func (config *KubeletConfig) AssignProperties_From_KubeletConfig(source *v20231001s.KubeletConfig) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -2510,7 +2824,7 @@ func (config *KubeletConfig) AssignProperties_From_KubeletConfig(source *storage } // AssignProperties_To_KubeletConfig populates the provided destination KubeletConfig from our KubeletConfig -func (config *KubeletConfig) AssignProperties_To_KubeletConfig(destination *storage.KubeletConfig) error { +func (config *KubeletConfig) AssignProperties_To_KubeletConfig(destination *v20231001s.KubeletConfig) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(config.PropertyBag) @@ -2578,7 +2892,6 @@ func (config *KubeletConfig) AssignProperties_To_KubeletConfig(destination *stor } // Storage version of v1api20231102preview.KubeletConfig_STATUS -// See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. type KubeletConfig_STATUS struct { AllowedUnsafeSysctls []string `json:"allowedUnsafeSysctls,omitempty"` ContainerLogMaxFiles *int `json:"containerLogMaxFiles,omitempty"` @@ -2595,7 +2908,7 @@ type KubeletConfig_STATUS struct { } // AssignProperties_From_KubeletConfig_STATUS populates our KubeletConfig_STATUS from the provided source KubeletConfig_STATUS -func (config *KubeletConfig_STATUS) AssignProperties_From_KubeletConfig_STATUS(source *storage.KubeletConfig_STATUS) error { +func (config *KubeletConfig_STATUS) AssignProperties_From_KubeletConfig_STATUS(source *v20231001s.KubeletConfig_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -2663,7 +2976,7 @@ func (config *KubeletConfig_STATUS) AssignProperties_From_KubeletConfig_STATUS(s } // AssignProperties_To_KubeletConfig_STATUS populates the provided destination KubeletConfig_STATUS from our KubeletConfig_STATUS -func (config *KubeletConfig_STATUS) AssignProperties_To_KubeletConfig_STATUS(destination *storage.KubeletConfig_STATUS) error { +func (config *KubeletConfig_STATUS) AssignProperties_To_KubeletConfig_STATUS(destination *v20231001s.KubeletConfig_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(config.PropertyBag) @@ -2731,7 +3044,6 @@ func (config *KubeletConfig_STATUS) AssignProperties_To_KubeletConfig_STATUS(des } // Storage version of v1api20231102preview.LinuxOSConfig -// See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. type LinuxOSConfig struct { PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` SwapFileSizeMB *int `json:"swapFileSizeMB,omitempty"` @@ -2741,7 +3053,7 @@ type LinuxOSConfig struct { } // AssignProperties_From_LinuxOSConfig populates our LinuxOSConfig from the provided source LinuxOSConfig -func (config *LinuxOSConfig) AssignProperties_From_LinuxOSConfig(source *storage.LinuxOSConfig) error { +func (config *LinuxOSConfig) AssignProperties_From_LinuxOSConfig(source *v20231001s.LinuxOSConfig) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -2787,7 +3099,7 @@ func (config *LinuxOSConfig) AssignProperties_From_LinuxOSConfig(source *storage } // AssignProperties_To_LinuxOSConfig populates the provided destination LinuxOSConfig from our LinuxOSConfig -func (config *LinuxOSConfig) AssignProperties_To_LinuxOSConfig(destination *storage.LinuxOSConfig) error { +func (config *LinuxOSConfig) AssignProperties_To_LinuxOSConfig(destination *v20231001s.LinuxOSConfig) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(config.PropertyBag) @@ -2796,7 +3108,7 @@ func (config *LinuxOSConfig) AssignProperties_To_LinuxOSConfig(destination *stor // Sysctls if config.Sysctls != nil { - var sysctl storage.SysctlConfig + var sysctl v20231001s.SysctlConfig err := config.Sysctls.AssignProperties_To_SysctlConfig(&sysctl) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_SysctlConfig() to populate field Sysctls") @@ -2833,7 +3145,6 @@ func (config *LinuxOSConfig) AssignProperties_To_LinuxOSConfig(destination *stor } // Storage version of v1api20231102preview.LinuxOSConfig_STATUS -// See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. type LinuxOSConfig_STATUS struct { PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` SwapFileSizeMB *int `json:"swapFileSizeMB,omitempty"` @@ -2843,7 +3154,7 @@ type LinuxOSConfig_STATUS struct { } // AssignProperties_From_LinuxOSConfig_STATUS populates our LinuxOSConfig_STATUS from the provided source LinuxOSConfig_STATUS -func (config *LinuxOSConfig_STATUS) AssignProperties_From_LinuxOSConfig_STATUS(source *storage.LinuxOSConfig_STATUS) error { +func (config *LinuxOSConfig_STATUS) AssignProperties_From_LinuxOSConfig_STATUS(source *v20231001s.LinuxOSConfig_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -2889,7 +3200,7 @@ func (config *LinuxOSConfig_STATUS) AssignProperties_From_LinuxOSConfig_STATUS(s } // AssignProperties_To_LinuxOSConfig_STATUS populates the provided destination LinuxOSConfig_STATUS from our LinuxOSConfig_STATUS -func (config *LinuxOSConfig_STATUS) AssignProperties_To_LinuxOSConfig_STATUS(destination *storage.LinuxOSConfig_STATUS) error { +func (config *LinuxOSConfig_STATUS) AssignProperties_To_LinuxOSConfig_STATUS(destination *v20231001s.LinuxOSConfig_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(config.PropertyBag) @@ -2898,7 +3209,7 @@ func (config *LinuxOSConfig_STATUS) AssignProperties_To_LinuxOSConfig_STATUS(des // Sysctls if config.Sysctls != nil { - var sysctl storage.SysctlConfig_STATUS + var sysctl v20231001s.SysctlConfig_STATUS err := config.Sysctls.AssignProperties_To_SysctlConfig_STATUS(&sysctl) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_SysctlConfig_STATUS() to populate field Sysctls") @@ -2935,14 +3246,13 @@ func (config *LinuxOSConfig_STATUS) AssignProperties_To_LinuxOSConfig_STATUS(des } // Storage version of v1api20231102preview.PowerState -// Describes the Power State of the cluster type PowerState struct { Code *string `json:"code,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` } // AssignProperties_From_PowerState populates our PowerState from the provided source PowerState -func (state *PowerState) AssignProperties_From_PowerState(source *storage.PowerState) error { +func (state *PowerState) AssignProperties_From_PowerState(source *v20231001s.PowerState) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -2970,7 +3280,7 @@ func (state *PowerState) AssignProperties_From_PowerState(source *storage.PowerS } // AssignProperties_To_PowerState populates the provided destination PowerState from our PowerState -func (state *PowerState) AssignProperties_To_PowerState(destination *storage.PowerState) error { +func (state *PowerState) AssignProperties_To_PowerState(destination *v20231001s.PowerState) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(state.PropertyBag) @@ -2998,7 +3308,6 @@ func (state *PowerState) AssignProperties_To_PowerState(destination *storage.Pow } // Storage version of v1api20231102preview.VirtualMachineNodes -// Current status on a group of nodes of the same vm size. type VirtualMachineNodes struct { Count *int `json:"count,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` @@ -3006,7 +3315,6 @@ type VirtualMachineNodes struct { } // Storage version of v1api20231102preview.VirtualMachineNodes_STATUS -// Current status on a group of nodes of the same vm size. type VirtualMachineNodes_STATUS struct { Count *int `json:"count,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` @@ -3014,66 +3322,83 @@ type VirtualMachineNodes_STATUS struct { } // Storage version of v1api20231102preview.VirtualMachinesProfile -// Specifications on VirtualMachines agent pool. type VirtualMachinesProfile struct { PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` Scale *ScaleProfile `json:"scale,omitempty"` } // Storage version of v1api20231102preview.VirtualMachinesProfile_STATUS -// Specifications on VirtualMachines agent pool. type VirtualMachinesProfile_STATUS struct { PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` Scale *ScaleProfile_STATUS `json:"scale,omitempty"` } type augmentConversionForAgentPoolNetworkProfile interface { - AssignPropertiesFrom(src *storage.AgentPoolNetworkProfile) error - AssignPropertiesTo(dst *storage.AgentPoolNetworkProfile) error + AssignPropertiesFrom(src *v20231001s.AgentPoolNetworkProfile) error + AssignPropertiesTo(dst *v20231001s.AgentPoolNetworkProfile) error } type augmentConversionForAgentPoolNetworkProfile_STATUS interface { - AssignPropertiesFrom(src *storage.AgentPoolNetworkProfile_STATUS) error - AssignPropertiesTo(dst *storage.AgentPoolNetworkProfile_STATUS) error + AssignPropertiesFrom(src *v20231001s.AgentPoolNetworkProfile_STATUS) error + AssignPropertiesTo(dst *v20231001s.AgentPoolNetworkProfile_STATUS) error +} + +type augmentConversionForAgentPoolSecurityProfile interface { + AssignPropertiesFrom(src *v20231001sc.AgentPoolSecurityProfile) error + AssignPropertiesTo(dst *v20231001sc.AgentPoolSecurityProfile) error +} + +type augmentConversionForAgentPoolSecurityProfile_STATUS interface { + AssignPropertiesFrom(src *v20231001sc.AgentPoolSecurityProfile_STATUS) error + AssignPropertiesTo(dst *v20231001sc.AgentPoolSecurityProfile_STATUS) error } type augmentConversionForAgentPoolUpgradeSettings interface { - AssignPropertiesFrom(src *storage.AgentPoolUpgradeSettings) error - AssignPropertiesTo(dst *storage.AgentPoolUpgradeSettings) error + AssignPropertiesFrom(src *v20231001s.AgentPoolUpgradeSettings) error + AssignPropertiesTo(dst *v20231001s.AgentPoolUpgradeSettings) error } type augmentConversionForAgentPoolUpgradeSettings_STATUS interface { - AssignPropertiesFrom(src *storage.AgentPoolUpgradeSettings_STATUS) error - AssignPropertiesTo(dst *storage.AgentPoolUpgradeSettings_STATUS) error + AssignPropertiesFrom(src *v20231001s.AgentPoolUpgradeSettings_STATUS) error + AssignPropertiesTo(dst *v20231001s.AgentPoolUpgradeSettings_STATUS) error +} + +type augmentConversionForAgentPoolWindowsProfile interface { + AssignPropertiesFrom(src *v20240901s.AgentPoolWindowsProfile) error + AssignPropertiesTo(dst *v20240901s.AgentPoolWindowsProfile) error +} + +type augmentConversionForAgentPoolWindowsProfile_STATUS interface { + AssignPropertiesFrom(src *v20240901s.AgentPoolWindowsProfile_STATUS) error + AssignPropertiesTo(dst *v20240901s.AgentPoolWindowsProfile_STATUS) error } type augmentConversionForKubeletConfig interface { - AssignPropertiesFrom(src *storage.KubeletConfig) error - AssignPropertiesTo(dst *storage.KubeletConfig) error + AssignPropertiesFrom(src *v20231001s.KubeletConfig) error + AssignPropertiesTo(dst *v20231001s.KubeletConfig) error } type augmentConversionForKubeletConfig_STATUS interface { - AssignPropertiesFrom(src *storage.KubeletConfig_STATUS) error - AssignPropertiesTo(dst *storage.KubeletConfig_STATUS) error + AssignPropertiesFrom(src *v20231001s.KubeletConfig_STATUS) error + AssignPropertiesTo(dst *v20231001s.KubeletConfig_STATUS) error } type augmentConversionForLinuxOSConfig interface { - AssignPropertiesFrom(src *storage.LinuxOSConfig) error - AssignPropertiesTo(dst *storage.LinuxOSConfig) error + AssignPropertiesFrom(src *v20231001s.LinuxOSConfig) error + AssignPropertiesTo(dst *v20231001s.LinuxOSConfig) error } type augmentConversionForLinuxOSConfig_STATUS interface { - AssignPropertiesFrom(src *storage.LinuxOSConfig_STATUS) error - AssignPropertiesTo(dst *storage.LinuxOSConfig_STATUS) error + AssignPropertiesFrom(src *v20231001s.LinuxOSConfig_STATUS) error + AssignPropertiesTo(dst *v20231001s.LinuxOSConfig_STATUS) error } type augmentConversionForPowerState interface { - AssignPropertiesFrom(src *storage.PowerState) error - AssignPropertiesTo(dst *storage.PowerState) error + AssignPropertiesFrom(src *v20231001s.PowerState) error + AssignPropertiesTo(dst *v20231001s.PowerState) error } // Storage version of v1api20231102preview.IPTag -// Contains the IPTag associated with the object. type IPTag struct { IpTagType *string `json:"ipTagType,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` @@ -3081,7 +3406,7 @@ type IPTag struct { } // AssignProperties_From_IPTag populates our IPTag from the provided source IPTag -func (ipTag *IPTag) AssignProperties_From_IPTag(source *storage.IPTag) error { +func (ipTag *IPTag) AssignProperties_From_IPTag(source *v20231001s.IPTag) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -3112,7 +3437,7 @@ func (ipTag *IPTag) AssignProperties_From_IPTag(source *storage.IPTag) error { } // AssignProperties_To_IPTag populates the provided destination IPTag from our IPTag -func (ipTag *IPTag) AssignProperties_To_IPTag(destination *storage.IPTag) error { +func (ipTag *IPTag) AssignProperties_To_IPTag(destination *v20231001s.IPTag) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(ipTag.PropertyBag) @@ -3143,7 +3468,6 @@ func (ipTag *IPTag) AssignProperties_To_IPTag(destination *storage.IPTag) error } // Storage version of v1api20231102preview.IPTag_STATUS -// Contains the IPTag associated with the object. type IPTag_STATUS struct { IpTagType *string `json:"ipTagType,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` @@ -3151,7 +3475,7 @@ type IPTag_STATUS struct { } // AssignProperties_From_IPTag_STATUS populates our IPTag_STATUS from the provided source IPTag_STATUS -func (ipTag *IPTag_STATUS) AssignProperties_From_IPTag_STATUS(source *storage.IPTag_STATUS) error { +func (ipTag *IPTag_STATUS) AssignProperties_From_IPTag_STATUS(source *v20231001s.IPTag_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -3182,7 +3506,7 @@ func (ipTag *IPTag_STATUS) AssignProperties_From_IPTag_STATUS(source *storage.IP } // AssignProperties_To_IPTag_STATUS populates the provided destination IPTag_STATUS from our IPTag_STATUS -func (ipTag *IPTag_STATUS) AssignProperties_To_IPTag_STATUS(destination *storage.IPTag_STATUS) error { +func (ipTag *IPTag_STATUS) AssignProperties_To_IPTag_STATUS(destination *v20231001s.IPTag_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(ipTag.PropertyBag) @@ -3213,7 +3537,6 @@ func (ipTag *IPTag_STATUS) AssignProperties_To_IPTag_STATUS(destination *storage } // Storage version of v1api20231102preview.PortRange -// The port range. type PortRange struct { PortEnd *int `json:"portEnd,omitempty"` PortStart *int `json:"portStart,omitempty"` @@ -3222,7 +3545,7 @@ type PortRange struct { } // AssignProperties_From_PortRange populates our PortRange from the provided source PortRange -func (portRange *PortRange) AssignProperties_From_PortRange(source *storage.PortRange) error { +func (portRange *PortRange) AssignProperties_From_PortRange(source *v20231001s.PortRange) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -3256,7 +3579,7 @@ func (portRange *PortRange) AssignProperties_From_PortRange(source *storage.Port } // AssignProperties_To_PortRange populates the provided destination PortRange from our PortRange -func (portRange *PortRange) AssignProperties_To_PortRange(destination *storage.PortRange) error { +func (portRange *PortRange) AssignProperties_To_PortRange(destination *v20231001s.PortRange) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(portRange.PropertyBag) @@ -3290,7 +3613,6 @@ func (portRange *PortRange) AssignProperties_To_PortRange(destination *storage.P } // Storage version of v1api20231102preview.PortRange_STATUS -// The port range. type PortRange_STATUS struct { PortEnd *int `json:"portEnd,omitempty"` PortStart *int `json:"portStart,omitempty"` @@ -3299,7 +3621,7 @@ type PortRange_STATUS struct { } // AssignProperties_From_PortRange_STATUS populates our PortRange_STATUS from the provided source PortRange_STATUS -func (portRange *PortRange_STATUS) AssignProperties_From_PortRange_STATUS(source *storage.PortRange_STATUS) error { +func (portRange *PortRange_STATUS) AssignProperties_From_PortRange_STATUS(source *v20231001s.PortRange_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -3333,7 +3655,7 @@ func (portRange *PortRange_STATUS) AssignProperties_From_PortRange_STATUS(source } // AssignProperties_To_PortRange_STATUS populates the provided destination PortRange_STATUS from our PortRange_STATUS -func (portRange *PortRange_STATUS) AssignProperties_To_PortRange_STATUS(destination *storage.PortRange_STATUS) error { +func (portRange *PortRange_STATUS) AssignProperties_To_PortRange_STATUS(destination *v20231001s.PortRange_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(portRange.PropertyBag) @@ -3367,21 +3689,18 @@ func (portRange *PortRange_STATUS) AssignProperties_To_PortRange_STATUS(destinat } // Storage version of v1api20231102preview.ScaleProfile -// Specifications on how to scale a VirtualMachines agent pool. type ScaleProfile struct { Manual []ManualScaleProfile `json:"manual,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` } // Storage version of v1api20231102preview.ScaleProfile_STATUS -// Specifications on how to scale a VirtualMachines agent pool. type ScaleProfile_STATUS struct { Manual []ManualScaleProfile_STATUS `json:"manual,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` } // Storage version of v1api20231102preview.SysctlConfig -// Sysctl settings for Linux agent nodes. type SysctlConfig struct { FsAioMaxNr *int `json:"fsAioMaxNr,omitempty"` FsFileMax *int `json:"fsFileMax,omitempty"` @@ -3415,7 +3734,7 @@ type SysctlConfig struct { } // AssignProperties_From_SysctlConfig populates our SysctlConfig from the provided source SysctlConfig -func (config *SysctlConfig) AssignProperties_From_SysctlConfig(source *storage.SysctlConfig) error { +func (config *SysctlConfig) AssignProperties_From_SysctlConfig(source *v20231001s.SysctlConfig) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -3529,7 +3848,7 @@ func (config *SysctlConfig) AssignProperties_From_SysctlConfig(source *storage.S } // AssignProperties_To_SysctlConfig populates the provided destination SysctlConfig from our SysctlConfig -func (config *SysctlConfig) AssignProperties_To_SysctlConfig(destination *storage.SysctlConfig) error { +func (config *SysctlConfig) AssignProperties_To_SysctlConfig(destination *v20231001s.SysctlConfig) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(config.PropertyBag) @@ -3643,7 +3962,6 @@ func (config *SysctlConfig) AssignProperties_To_SysctlConfig(destination *storag } // Storage version of v1api20231102preview.SysctlConfig_STATUS -// Sysctl settings for Linux agent nodes. type SysctlConfig_STATUS struct { FsAioMaxNr *int `json:"fsAioMaxNr,omitempty"` FsFileMax *int `json:"fsFileMax,omitempty"` @@ -3677,7 +3995,7 @@ type SysctlConfig_STATUS struct { } // AssignProperties_From_SysctlConfig_STATUS populates our SysctlConfig_STATUS from the provided source SysctlConfig_STATUS -func (config *SysctlConfig_STATUS) AssignProperties_From_SysctlConfig_STATUS(source *storage.SysctlConfig_STATUS) error { +func (config *SysctlConfig_STATUS) AssignProperties_From_SysctlConfig_STATUS(source *v20231001s.SysctlConfig_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -3791,7 +4109,7 @@ func (config *SysctlConfig_STATUS) AssignProperties_From_SysctlConfig_STATUS(sou } // AssignProperties_To_SysctlConfig_STATUS populates the provided destination SysctlConfig_STATUS from our SysctlConfig_STATUS -func (config *SysctlConfig_STATUS) AssignProperties_To_SysctlConfig_STATUS(destination *storage.SysctlConfig_STATUS) error { +func (config *SysctlConfig_STATUS) AssignProperties_To_SysctlConfig_STATUS(destination *v20231001s.SysctlConfig_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(config.PropertyBag) @@ -3905,37 +4223,36 @@ func (config *SysctlConfig_STATUS) AssignProperties_To_SysctlConfig_STATUS(desti } type augmentConversionForIPTag interface { - AssignPropertiesFrom(src *storage.IPTag) error - AssignPropertiesTo(dst *storage.IPTag) error + AssignPropertiesFrom(src *v20231001s.IPTag) error + AssignPropertiesTo(dst *v20231001s.IPTag) error } type augmentConversionForIPTag_STATUS interface { - AssignPropertiesFrom(src *storage.IPTag_STATUS) error - AssignPropertiesTo(dst *storage.IPTag_STATUS) error + AssignPropertiesFrom(src *v20231001s.IPTag_STATUS) error + AssignPropertiesTo(dst *v20231001s.IPTag_STATUS) error } type augmentConversionForPortRange interface { - AssignPropertiesFrom(src *storage.PortRange) error - AssignPropertiesTo(dst *storage.PortRange) error + AssignPropertiesFrom(src *v20231001s.PortRange) error + AssignPropertiesTo(dst *v20231001s.PortRange) error } type augmentConversionForPortRange_STATUS interface { - AssignPropertiesFrom(src *storage.PortRange_STATUS) error - AssignPropertiesTo(dst *storage.PortRange_STATUS) error + AssignPropertiesFrom(src *v20231001s.PortRange_STATUS) error + AssignPropertiesTo(dst *v20231001s.PortRange_STATUS) error } type augmentConversionForSysctlConfig interface { - AssignPropertiesFrom(src *storage.SysctlConfig) error - AssignPropertiesTo(dst *storage.SysctlConfig) error + AssignPropertiesFrom(src *v20231001s.SysctlConfig) error + AssignPropertiesTo(dst *v20231001s.SysctlConfig) error } type augmentConversionForSysctlConfig_STATUS interface { - AssignPropertiesFrom(src *storage.SysctlConfig_STATUS) error - AssignPropertiesTo(dst *storage.SysctlConfig_STATUS) error + AssignPropertiesFrom(src *v20231001s.SysctlConfig_STATUS) error + AssignPropertiesTo(dst *v20231001s.SysctlConfig_STATUS) error } // Storage version of v1api20231102preview.ManualScaleProfile -// Specifications on number of machines. type ManualScaleProfile struct { Count *int `json:"count,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` @@ -3943,7 +4260,6 @@ type ManualScaleProfile struct { } // Storage version of v1api20231102preview.ManualScaleProfile_STATUS -// Specifications on number of machines. type ManualScaleProfile_STATUS struct { Count *int `json:"count,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` diff --git a/v2/api/containerservice/v1api20231102preview/storage/managed_clusters_agent_pool_types_gen_test.go b/v2/api/containerservice/v1api20231102preview/storage/managed_clusters_agent_pool_types_gen_test.go index 199e3850f86..6a703969f93 100644 --- a/v2/api/containerservice/v1api20231102preview/storage/managed_clusters_agent_pool_types_gen_test.go +++ b/v2/api/containerservice/v1api20231102preview/storage/managed_clusters_agent_pool_types_gen_test.go @@ -5,7 +5,9 @@ package storage import ( "encoding/json" - storage "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20231001/storage" + v20231001s "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20231001/storage" + v20231001sc "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20231001/storage/compat" + v20240901s "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20240901/storage" "github.com/google/go-cmp/cmp" "github.com/google/go-cmp/cmp/cmpopts" "github.com/kr/pretty" @@ -279,7 +281,7 @@ func RunPropertyAssignmentTestForAgentPoolNetworkProfile(subject AgentPoolNetwor copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.AgentPoolNetworkProfile + var other v20231001s.AgentPoolNetworkProfile err := copied.AssignProperties_To_AgentPoolNetworkProfile(&other) if err != nil { return err.Error() @@ -383,7 +385,7 @@ func RunPropertyAssignmentTestForAgentPoolNetworkProfile_STATUS(subject AgentPoo copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.AgentPoolNetworkProfile_STATUS + var other v20231001s.AgentPoolNetworkProfile_STATUS err := copied.AssignProperties_To_AgentPoolNetworkProfile_STATUS(&other) if err != nil { return err.Error() @@ -484,6 +486,48 @@ func AddRelatedPropertyGeneratorsForAgentPoolNetworkProfile_STATUS(gens map[stri gens["NodePublicIPTags"] = gen.SliceOf(IPTag_STATUSGenerator()) } +func Test_AgentPoolSecurityProfile_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from AgentPoolSecurityProfile to AgentPoolSecurityProfile via AssignProperties_To_AgentPoolSecurityProfile & AssignProperties_From_AgentPoolSecurityProfile returns original", + prop.ForAll(RunPropertyAssignmentTestForAgentPoolSecurityProfile, AgentPoolSecurityProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForAgentPoolSecurityProfile tests if a specific instance of AgentPoolSecurityProfile can be assigned to compat and back losslessly +func RunPropertyAssignmentTestForAgentPoolSecurityProfile(subject AgentPoolSecurityProfile) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other v20231001sc.AgentPoolSecurityProfile + err := copied.AssignProperties_To_AgentPoolSecurityProfile(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual AgentPoolSecurityProfile + err = actual.AssignProperties_From_AgentPoolSecurityProfile(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_AgentPoolSecurityProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -547,6 +591,48 @@ func AddIndependentPropertyGeneratorsForAgentPoolSecurityProfile(gens map[string gens["SshAccess"] = gen.PtrOf(gen.AlphaString()) } +func Test_AgentPoolSecurityProfile_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from AgentPoolSecurityProfile_STATUS to AgentPoolSecurityProfile_STATUS via AssignProperties_To_AgentPoolSecurityProfile_STATUS & AssignProperties_From_AgentPoolSecurityProfile_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForAgentPoolSecurityProfile_STATUS, AgentPoolSecurityProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForAgentPoolSecurityProfile_STATUS tests if a specific instance of AgentPoolSecurityProfile_STATUS can be assigned to compat and back losslessly +func RunPropertyAssignmentTestForAgentPoolSecurityProfile_STATUS(subject AgentPoolSecurityProfile_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other v20231001sc.AgentPoolSecurityProfile_STATUS + err := copied.AssignProperties_To_AgentPoolSecurityProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual AgentPoolSecurityProfile_STATUS + err = actual.AssignProperties_From_AgentPoolSecurityProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_AgentPoolSecurityProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -627,7 +713,7 @@ func RunPropertyAssignmentTestForAgentPoolUpgradeSettings(subject AgentPoolUpgra copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.AgentPoolUpgradeSettings + var other v20231001s.AgentPoolUpgradeSettings err := copied.AssignProperties_To_AgentPoolUpgradeSettings(&other) if err != nil { return err.Error() @@ -732,7 +818,7 @@ func RunPropertyAssignmentTestForAgentPoolUpgradeSettings_STATUS(subject AgentPo copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.AgentPoolUpgradeSettings_STATUS + var other v20231001s.AgentPoolUpgradeSettings_STATUS err := copied.AssignProperties_To_AgentPoolUpgradeSettings_STATUS(&other) if err != nil { return err.Error() @@ -820,6 +906,48 @@ func AddIndependentPropertyGeneratorsForAgentPoolUpgradeSettings_STATUS(gens map gens["NodeSoakDurationInMinutes"] = gen.PtrOf(gen.Int()) } +func Test_AgentPoolWindowsProfile_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from AgentPoolWindowsProfile to AgentPoolWindowsProfile via AssignProperties_To_AgentPoolWindowsProfile & AssignProperties_From_AgentPoolWindowsProfile returns original", + prop.ForAll(RunPropertyAssignmentTestForAgentPoolWindowsProfile, AgentPoolWindowsProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForAgentPoolWindowsProfile tests if a specific instance of AgentPoolWindowsProfile can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForAgentPoolWindowsProfile(subject AgentPoolWindowsProfile) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other v20240901s.AgentPoolWindowsProfile + err := copied.AssignProperties_To_AgentPoolWindowsProfile(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual AgentPoolWindowsProfile + err = actual.AssignProperties_From_AgentPoolWindowsProfile(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_AgentPoolWindowsProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -881,6 +1009,48 @@ func AddIndependentPropertyGeneratorsForAgentPoolWindowsProfile(gens map[string] gens["DisableOutboundNat"] = gen.PtrOf(gen.Bool()) } +func Test_AgentPoolWindowsProfile_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from AgentPoolWindowsProfile_STATUS to AgentPoolWindowsProfile_STATUS via AssignProperties_To_AgentPoolWindowsProfile_STATUS & AssignProperties_From_AgentPoolWindowsProfile_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForAgentPoolWindowsProfile_STATUS, AgentPoolWindowsProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForAgentPoolWindowsProfile_STATUS tests if a specific instance of AgentPoolWindowsProfile_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForAgentPoolWindowsProfile_STATUS(subject AgentPoolWindowsProfile_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other v20240901s.AgentPoolWindowsProfile_STATUS + err := copied.AssignProperties_To_AgentPoolWindowsProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual AgentPoolWindowsProfile_STATUS + err = actual.AssignProperties_From_AgentPoolWindowsProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_AgentPoolWindowsProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -959,7 +1129,7 @@ func RunPropertyAssignmentTestForIPTag(subject IPTag) string { copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.IPTag + var other v20231001s.IPTag err := copied.AssignProperties_To_IPTag(&other) if err != nil { return err.Error() @@ -1062,7 +1232,7 @@ func RunPropertyAssignmentTestForIPTag_STATUS(subject IPTag_STATUS) string { copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.IPTag_STATUS + var other v20231001s.IPTag_STATUS err := copied.AssignProperties_To_IPTag_STATUS(&other) if err != nil { return err.Error() @@ -1165,7 +1335,7 @@ func RunPropertyAssignmentTestForKubeletConfig(subject KubeletConfig) string { copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.KubeletConfig + var other v20231001s.KubeletConfig err := copied.AssignProperties_To_KubeletConfig(&other) if err != nil { return err.Error() @@ -1277,7 +1447,7 @@ func RunPropertyAssignmentTestForKubeletConfig_STATUS(subject KubeletConfig_STAT copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.KubeletConfig_STATUS + var other v20231001s.KubeletConfig_STATUS err := copied.AssignProperties_To_KubeletConfig_STATUS(&other) if err != nil { return err.Error() @@ -1390,7 +1560,7 @@ func RunPropertyAssignmentTestForLinuxOSConfig(subject LinuxOSConfig) string { copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.LinuxOSConfig + var other v20231001s.LinuxOSConfig err := copied.AssignProperties_To_LinuxOSConfig(&other) if err != nil { return err.Error() @@ -1508,7 +1678,7 @@ func RunPropertyAssignmentTestForLinuxOSConfig_STATUS(subject LinuxOSConfig_STAT copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.LinuxOSConfig_STATUS + var other v20231001s.LinuxOSConfig_STATUS err := copied.AssignProperties_To_LinuxOSConfig_STATUS(&other) if err != nil { return err.Error() @@ -1628,7 +1798,7 @@ func RunResourceConversionTestForManagedClustersAgentPool(subject ManagedCluster copied := subject.DeepCopy() // Convert to our hub version - var hub storage.ManagedClustersAgentPool + var hub v20240901s.ManagedClustersAgentPool err := copied.ConvertTo(&hub) if err != nil { return err.Error() @@ -1670,7 +1840,7 @@ func RunPropertyAssignmentTestForManagedClustersAgentPool(subject ManagedCluster copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClustersAgentPool + var other v20231001s.ManagedClustersAgentPool err := copied.AssignProperties_To_ManagedClustersAgentPool(&other) if err != nil { return err.Error() @@ -1774,7 +1944,7 @@ func RunPropertyAssignmentTestForManagedClustersAgentPool_STATUS(subject Managed copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClustersAgentPool_STATUS + var other v20231001s.ManagedClustersAgentPool_STATUS err := copied.AssignProperties_To_ManagedClustersAgentPool_STATUS(&other) if err != nil { return err.Error() @@ -1888,7 +2058,7 @@ func RunPropertyAssignmentTestForManagedClustersAgentPool_Spec(subject ManagedCl copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.ManagedClustersAgentPool_Spec + var other v20231001s.ManagedClustersAgentPool_Spec err := copied.AssignProperties_To_ManagedClustersAgentPool_Spec(&other) if err != nil { return err.Error() @@ -2125,7 +2295,7 @@ func RunPropertyAssignmentTestForPortRange(subject PortRange) string { copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.PortRange + var other v20231001s.PortRange err := copied.AssignProperties_To_PortRange(&other) if err != nil { return err.Error() @@ -2229,7 +2399,7 @@ func RunPropertyAssignmentTestForPortRange_STATUS(subject PortRange_STATUS) stri copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.PortRange_STATUS + var other v20231001s.PortRange_STATUS err := copied.AssignProperties_To_PortRange_STATUS(&other) if err != nil { return err.Error() @@ -2333,7 +2503,7 @@ func RunPropertyAssignmentTestForPowerState(subject PowerState) string { copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.PowerState + var other v20231001s.PowerState err := copied.AssignProperties_To_PowerState(&other) if err != nil { return err.Error() @@ -2556,7 +2726,7 @@ func RunPropertyAssignmentTestForSysctlConfig(subject SysctlConfig) string { copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.SysctlConfig + var other v20231001s.SysctlConfig err := copied.AssignProperties_To_SysctlConfig(&other) if err != nil { return err.Error() @@ -2685,7 +2855,7 @@ func RunPropertyAssignmentTestForSysctlConfig_STATUS(subject SysctlConfig_STATUS copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.SysctlConfig_STATUS + var other v20231001s.SysctlConfig_STATUS err := copied.AssignProperties_To_SysctlConfig_STATUS(&other) if err != nil { return err.Error() diff --git a/v2/api/containerservice/v1api20231102preview/storage/structure.txt b/v2/api/containerservice/v1api20231102preview/storage/structure.txt index 25bda63c3ad..480feeb7b95 100644 --- a/v2/api/containerservice/v1api20231102preview/storage/structure.txt +++ b/v2/api/containerservice/v1api20231102preview/storage/structure.txt @@ -1314,8 +1314,12 @@ ManagedClustersAgentPool: Resource └── WorkloadRuntime: *string augmentConversionForAgentPoolNetworkProfile: Interface augmentConversionForAgentPoolNetworkProfile_STATUS: Interface +augmentConversionForAgentPoolSecurityProfile: Interface +augmentConversionForAgentPoolSecurityProfile_STATUS: Interface augmentConversionForAgentPoolUpgradeSettings: Interface augmentConversionForAgentPoolUpgradeSettings_STATUS: Interface +augmentConversionForAgentPoolWindowsProfile: Interface +augmentConversionForAgentPoolWindowsProfile_STATUS: Interface augmentConversionForAzureKeyVaultKms: Interface augmentConversionForAzureKeyVaultKms_STATUS: Interface augmentConversionForClusterUpgradeSettings: Interface @@ -1369,11 +1373,17 @@ augmentConversionForManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS: In augmentConversionForManagedClusterAzureMonitorProfileMetrics: Interface augmentConversionForManagedClusterAzureMonitorProfileMetrics_STATUS: Interface augmentConversionForManagedClusterAzureMonitorProfile_STATUS: Interface +augmentConversionForManagedClusterCostAnalysis: Interface +augmentConversionForManagedClusterCostAnalysis_STATUS: Interface augmentConversionForManagedClusterHTTPProxyConfig: Interface augmentConversionForManagedClusterHTTPProxyConfig_STATUS: Interface augmentConversionForManagedClusterIdentity: Interface augmentConversionForManagedClusterIdentity_STATUS: Interface augmentConversionForManagedClusterIdentity_UserAssignedIdentities_STATUS: Interface +augmentConversionForManagedClusterIngressProfile: Interface +augmentConversionForManagedClusterIngressProfileWebAppRouting: Interface +augmentConversionForManagedClusterIngressProfileWebAppRouting_STATUS: Interface +augmentConversionForManagedClusterIngressProfile_STATUS: Interface augmentConversionForManagedClusterLoadBalancerProfile: Interface augmentConversionForManagedClusterLoadBalancerProfile_ManagedOutboundIPs: Interface augmentConversionForManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS: Interface @@ -1384,8 +1394,12 @@ augmentConversionForManagedClusterLoadBalancerProfile_OutboundIPs_STATUS: Interf augmentConversionForManagedClusterLoadBalancerProfile_STATUS: Interface augmentConversionForManagedClusterManagedOutboundIPProfile: Interface augmentConversionForManagedClusterManagedOutboundIPProfile_STATUS: Interface +augmentConversionForManagedClusterMetricsProfile: Interface +augmentConversionForManagedClusterMetricsProfile_STATUS: Interface augmentConversionForManagedClusterNATGatewayProfile: Interface augmentConversionForManagedClusterNATGatewayProfile_STATUS: Interface +augmentConversionForManagedClusterNodeResourceGroupProfile: Interface +augmentConversionForManagedClusterNodeResourceGroupProfile_STATUS: Interface augmentConversionForManagedClusterOIDCIssuerProfile: Interface augmentConversionForManagedClusterOIDCIssuerProfile_STATUS: Interface augmentConversionForManagedClusterOperatorConfigMaps: Interface diff --git a/v2/api/containerservice/v1api20240402preview/managed_cluster_types_gen_test.go b/v2/api/containerservice/v1api20240402preview/managed_cluster_types_gen_test.go index a07ddf08d0f..5a157eefd09 100644 --- a/v2/api/containerservice/v1api20240402preview/managed_cluster_types_gen_test.go +++ b/v2/api/containerservice/v1api20240402preview/managed_cluster_types_gen_test.go @@ -5,8 +5,8 @@ package v1api20240402preview import ( "encoding/json" - v20231001s "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20231001/storage" v20240402ps "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20240402preview/storage" + v20240901s "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20240901/storage" "github.com/google/go-cmp/cmp" "github.com/google/go-cmp/cmp/cmpopts" "github.com/kr/pretty" @@ -4134,7 +4134,7 @@ func RunResourceConversionTestForManagedCluster(subject ManagedCluster) string { copied := subject.DeepCopy() // Convert to our hub version - var hub v20231001s.ManagedCluster + var hub v20240901s.ManagedCluster err := copied.ConvertTo(&hub) if err != nil { return err.Error() diff --git a/v2/api/containerservice/v1api20240402preview/managed_clusters_agent_pool_types_gen_test.go b/v2/api/containerservice/v1api20240402preview/managed_clusters_agent_pool_types_gen_test.go index 27f5cf118fc..76fb0c1f8b5 100644 --- a/v2/api/containerservice/v1api20240402preview/managed_clusters_agent_pool_types_gen_test.go +++ b/v2/api/containerservice/v1api20240402preview/managed_clusters_agent_pool_types_gen_test.go @@ -5,8 +5,8 @@ package v1api20240402preview import ( "encoding/json" - v20231001s "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20231001/storage" v20240402ps "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20240402preview/storage" + v20240901s "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20240901/storage" "github.com/google/go-cmp/cmp" "github.com/google/go-cmp/cmp/cmpopts" "github.com/kr/pretty" @@ -2382,7 +2382,7 @@ func RunResourceConversionTestForManagedClustersAgentPool(subject ManagedCluster copied := subject.DeepCopy() // Convert to our hub version - var hub v20231001s.ManagedClustersAgentPool + var hub v20240901s.ManagedClustersAgentPool err := copied.ConvertTo(&hub) if err != nil { return err.Error() diff --git a/v2/api/containerservice/v1api20240402preview/storage/managed_cluster_types_gen.go b/v2/api/containerservice/v1api20240402preview/storage/managed_cluster_types_gen.go index 7f98367804b..9767712a74c 100644 --- a/v2/api/containerservice/v1api20240402preview/storage/managed_cluster_types_gen.go +++ b/v2/api/containerservice/v1api20240402preview/storage/managed_cluster_types_gen.go @@ -5,7 +5,8 @@ package storage import ( "context" - storage "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20231102preview/storage" + v20231001sc "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20231001/storage/compat" + v20231102ps "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20231102preview/storage" "github.com/Azure/azure-service-operator/v2/internal/genericarmclient" "github.com/Azure/azure-service-operator/v2/pkg/genruntime" "github.com/Azure/azure-service-operator/v2/pkg/genruntime/conditions" @@ -52,7 +53,7 @@ var _ conversion.Convertible = &ManagedCluster{} // ConvertFrom populates our ManagedCluster from the provided hub ManagedCluster func (cluster *ManagedCluster) ConvertFrom(hub conversion.Hub) error { // intermediate variable for conversion - var source storage.ManagedCluster + var source v20231102ps.ManagedCluster err := source.ConvertFrom(hub) if err != nil { @@ -70,7 +71,7 @@ func (cluster *ManagedCluster) ConvertFrom(hub conversion.Hub) error { // ConvertTo populates the provided hub ManagedCluster from our ManagedCluster func (cluster *ManagedCluster) ConvertTo(hub conversion.Hub) error { // intermediate variable for conversion - var destination storage.ManagedCluster + var destination v20231102ps.ManagedCluster err := cluster.AssignProperties_To_ManagedCluster(&destination) if err != nil { return errors.Wrap(err, "converting to destination from cluster") @@ -174,7 +175,7 @@ func (cluster *ManagedCluster) SetStatus(status genruntime.ConvertibleStatus) er } // AssignProperties_From_ManagedCluster populates our ManagedCluster from the provided source ManagedCluster -func (cluster *ManagedCluster) AssignProperties_From_ManagedCluster(source *storage.ManagedCluster) error { +func (cluster *ManagedCluster) AssignProperties_From_ManagedCluster(source *v20231102ps.ManagedCluster) error { // ObjectMeta cluster.ObjectMeta = *source.ObjectMeta.DeepCopy() @@ -209,13 +210,13 @@ func (cluster *ManagedCluster) AssignProperties_From_ManagedCluster(source *stor } // AssignProperties_To_ManagedCluster populates the provided destination ManagedCluster from our ManagedCluster -func (cluster *ManagedCluster) AssignProperties_To_ManagedCluster(destination *storage.ManagedCluster) error { +func (cluster *ManagedCluster) AssignProperties_To_ManagedCluster(destination *v20231102ps.ManagedCluster) error { // ObjectMeta destination.ObjectMeta = *cluster.ObjectMeta.DeepCopy() // Spec - var spec storage.ManagedCluster_Spec + var spec v20231102ps.ManagedCluster_Spec err := cluster.Spec.AssignProperties_To_ManagedCluster_Spec(&spec) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedCluster_Spec() to populate field Spec") @@ -223,7 +224,7 @@ func (cluster *ManagedCluster) AssignProperties_To_ManagedCluster(destination *s destination.Spec = spec // Status - var status storage.ManagedCluster_STATUS + var status v20231102ps.ManagedCluster_STATUS err = cluster.Status.AssignProperties_To_ManagedCluster_STATUS(&status) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedCluster_STATUS() to populate field Status") @@ -270,8 +271,8 @@ type APIVersion string const APIVersion_Value = APIVersion("2024-04-02-preview") type augmentConversionForManagedCluster interface { - AssignPropertiesFrom(src *storage.ManagedCluster) error - AssignPropertiesTo(dst *storage.ManagedCluster) error + AssignPropertiesFrom(src *v20231102ps.ManagedCluster) error + AssignPropertiesTo(dst *v20231102ps.ManagedCluster) error } // Storage version of v1api20240402preview.ManagedCluster_Spec @@ -344,14 +345,14 @@ var _ genruntime.ConvertibleSpec = &ManagedCluster_Spec{} // ConvertSpecFrom populates our ManagedCluster_Spec from the provided source func (cluster *ManagedCluster_Spec) ConvertSpecFrom(source genruntime.ConvertibleSpec) error { - src, ok := source.(*storage.ManagedCluster_Spec) + src, ok := source.(*v20231102ps.ManagedCluster_Spec) if ok { // Populate our instance from source return cluster.AssignProperties_From_ManagedCluster_Spec(src) } // Convert to an intermediate form - src = &storage.ManagedCluster_Spec{} + src = &v20231102ps.ManagedCluster_Spec{} err := src.ConvertSpecFrom(source) if err != nil { return errors.Wrap(err, "initial step of conversion in ConvertSpecFrom()") @@ -368,14 +369,14 @@ func (cluster *ManagedCluster_Spec) ConvertSpecFrom(source genruntime.Convertibl // ConvertSpecTo populates the provided destination from our ManagedCluster_Spec func (cluster *ManagedCluster_Spec) ConvertSpecTo(destination genruntime.ConvertibleSpec) error { - dst, ok := destination.(*storage.ManagedCluster_Spec) + dst, ok := destination.(*v20231102ps.ManagedCluster_Spec) if ok { // Populate destination from our instance return cluster.AssignProperties_To_ManagedCluster_Spec(dst) } // Convert to an intermediate form - dst = &storage.ManagedCluster_Spec{} + dst = &v20231102ps.ManagedCluster_Spec{} err := cluster.AssignProperties_To_ManagedCluster_Spec(dst) if err != nil { return errors.Wrap(err, "initial step of conversion in ConvertSpecTo()") @@ -391,7 +392,7 @@ func (cluster *ManagedCluster_Spec) ConvertSpecTo(destination genruntime.Convert } // AssignProperties_From_ManagedCluster_Spec populates our ManagedCluster_Spec from the provided source ManagedCluster_Spec -func (cluster *ManagedCluster_Spec) AssignProperties_From_ManagedCluster_Spec(source *storage.ManagedCluster_Spec) error { +func (cluster *ManagedCluster_Spec) AssignProperties_From_ManagedCluster_Spec(source *v20231102ps.ManagedCluster_Spec) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -928,13 +929,13 @@ func (cluster *ManagedCluster_Spec) AssignProperties_From_ManagedCluster_Spec(so } // AssignProperties_To_ManagedCluster_Spec populates the provided destination ManagedCluster_Spec from our ManagedCluster_Spec -func (cluster *ManagedCluster_Spec) AssignProperties_To_ManagedCluster_Spec(destination *storage.ManagedCluster_Spec) error { +func (cluster *ManagedCluster_Spec) AssignProperties_To_ManagedCluster_Spec(destination *v20231102ps.ManagedCluster_Spec) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(cluster.PropertyBag) // AadProfile if cluster.AadProfile != nil { - var aadProfile storage.ManagedClusterAADProfile + var aadProfile v20231102ps.ManagedClusterAADProfile err := cluster.AadProfile.AssignProperties_To_ManagedClusterAADProfile(&aadProfile) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterAADProfile() to populate field AadProfile") @@ -946,11 +947,11 @@ func (cluster *ManagedCluster_Spec) AssignProperties_To_ManagedCluster_Spec(dest // AddonProfiles if cluster.AddonProfiles != nil { - addonProfileMap := make(map[string]storage.ManagedClusterAddonProfile, len(cluster.AddonProfiles)) + addonProfileMap := make(map[string]v20231102ps.ManagedClusterAddonProfile, len(cluster.AddonProfiles)) for addonProfileKey, addonProfileValue := range cluster.AddonProfiles { // Shadow the loop variable to avoid aliasing addonProfileValue := addonProfileValue - var addonProfile storage.ManagedClusterAddonProfile + var addonProfile v20231102ps.ManagedClusterAddonProfile err := addonProfileValue.AssignProperties_To_ManagedClusterAddonProfile(&addonProfile) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterAddonProfile() to populate field AddonProfiles") @@ -964,11 +965,11 @@ func (cluster *ManagedCluster_Spec) AssignProperties_To_ManagedCluster_Spec(dest // AgentPoolProfiles if cluster.AgentPoolProfiles != nil { - agentPoolProfileList := make([]storage.ManagedClusterAgentPoolProfile, len(cluster.AgentPoolProfiles)) + agentPoolProfileList := make([]v20231102ps.ManagedClusterAgentPoolProfile, len(cluster.AgentPoolProfiles)) for agentPoolProfileIndex, agentPoolProfileItem := range cluster.AgentPoolProfiles { // Shadow the loop variable to avoid aliasing agentPoolProfileItem := agentPoolProfileItem - var agentPoolProfile storage.ManagedClusterAgentPoolProfile + var agentPoolProfile v20231102ps.ManagedClusterAgentPoolProfile err := agentPoolProfileItem.AssignProperties_To_ManagedClusterAgentPoolProfile(&agentPoolProfile) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterAgentPoolProfile() to populate field AgentPoolProfiles") @@ -982,7 +983,7 @@ func (cluster *ManagedCluster_Spec) AssignProperties_To_ManagedCluster_Spec(dest // AiToolchainOperatorProfile if cluster.AiToolchainOperatorProfile != nil { - var aiToolchainOperatorProfile storage.ManagedClusterAIToolchainOperatorProfile + var aiToolchainOperatorProfile v20231102ps.ManagedClusterAIToolchainOperatorProfile err := cluster.AiToolchainOperatorProfile.AssignProperties_To_ManagedClusterAIToolchainOperatorProfile(&aiToolchainOperatorProfile) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterAIToolchainOperatorProfile() to populate field AiToolchainOperatorProfile") @@ -994,7 +995,7 @@ func (cluster *ManagedCluster_Spec) AssignProperties_To_ManagedCluster_Spec(dest // ApiServerAccessProfile if cluster.ApiServerAccessProfile != nil { - var apiServerAccessProfile storage.ManagedClusterAPIServerAccessProfile + var apiServerAccessProfile v20231102ps.ManagedClusterAPIServerAccessProfile err := cluster.ApiServerAccessProfile.AssignProperties_To_ManagedClusterAPIServerAccessProfile(&apiServerAccessProfile) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterAPIServerAccessProfile() to populate field ApiServerAccessProfile") @@ -1006,7 +1007,7 @@ func (cluster *ManagedCluster_Spec) AssignProperties_To_ManagedCluster_Spec(dest // AutoScalerProfile if cluster.AutoScalerProfile != nil { - var autoScalerProfile storage.ManagedClusterProperties_AutoScalerProfile + var autoScalerProfile v20231102ps.ManagedClusterProperties_AutoScalerProfile err := cluster.AutoScalerProfile.AssignProperties_To_ManagedClusterProperties_AutoScalerProfile(&autoScalerProfile) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterProperties_AutoScalerProfile() to populate field AutoScalerProfile") @@ -1018,7 +1019,7 @@ func (cluster *ManagedCluster_Spec) AssignProperties_To_ManagedCluster_Spec(dest // AutoUpgradeProfile if cluster.AutoUpgradeProfile != nil { - var autoUpgradeProfile storage.ManagedClusterAutoUpgradeProfile + var autoUpgradeProfile v20231102ps.ManagedClusterAutoUpgradeProfile err := cluster.AutoUpgradeProfile.AssignProperties_To_ManagedClusterAutoUpgradeProfile(&autoUpgradeProfile) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterAutoUpgradeProfile() to populate field AutoUpgradeProfile") @@ -1030,7 +1031,7 @@ func (cluster *ManagedCluster_Spec) AssignProperties_To_ManagedCluster_Spec(dest // AzureMonitorProfile if cluster.AzureMonitorProfile != nil { - var azureMonitorProfile storage.ManagedClusterAzureMonitorProfile + var azureMonitorProfile v20231102ps.ManagedClusterAzureMonitorProfile err := cluster.AzureMonitorProfile.AssignProperties_To_ManagedClusterAzureMonitorProfile(&azureMonitorProfile) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterAzureMonitorProfile() to populate field AzureMonitorProfile") @@ -1052,7 +1053,7 @@ func (cluster *ManagedCluster_Spec) AssignProperties_To_ManagedCluster_Spec(dest // CreationData if cluster.CreationData != nil { - var creationDatum storage.CreationData + var creationDatum v20231102ps.CreationData err := cluster.CreationData.AssignProperties_To_CreationData(&creationDatum) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_CreationData() to populate field CreationData") @@ -1107,7 +1108,7 @@ func (cluster *ManagedCluster_Spec) AssignProperties_To_ManagedCluster_Spec(dest // ExtendedLocation if cluster.ExtendedLocation != nil { - var extendedLocation storage.ExtendedLocation + var extendedLocation v20231102ps.ExtendedLocation err := cluster.ExtendedLocation.AssignProperties_To_ExtendedLocation(&extendedLocation) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ExtendedLocation() to populate field ExtendedLocation") @@ -1122,7 +1123,7 @@ func (cluster *ManagedCluster_Spec) AssignProperties_To_ManagedCluster_Spec(dest // HttpProxyConfig if cluster.HttpProxyConfig != nil { - var httpProxyConfig storage.ManagedClusterHTTPProxyConfig + var httpProxyConfig v20231102ps.ManagedClusterHTTPProxyConfig err := cluster.HttpProxyConfig.AssignProperties_To_ManagedClusterHTTPProxyConfig(&httpProxyConfig) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterHTTPProxyConfig() to populate field HttpProxyConfig") @@ -1134,7 +1135,7 @@ func (cluster *ManagedCluster_Spec) AssignProperties_To_ManagedCluster_Spec(dest // Identity if cluster.Identity != nil { - var identity storage.ManagedClusterIdentity + var identity v20231102ps.ManagedClusterIdentity err := cluster.Identity.AssignProperties_To_ManagedClusterIdentity(&identity) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterIdentity() to populate field Identity") @@ -1146,11 +1147,11 @@ func (cluster *ManagedCluster_Spec) AssignProperties_To_ManagedCluster_Spec(dest // IdentityProfile if cluster.IdentityProfile != nil { - identityProfileMap := make(map[string]storage.UserAssignedIdentity, len(cluster.IdentityProfile)) + identityProfileMap := make(map[string]v20231102ps.UserAssignedIdentity, len(cluster.IdentityProfile)) for identityProfileKey, identityProfileValue := range cluster.IdentityProfile { // Shadow the loop variable to avoid aliasing identityProfileValue := identityProfileValue - var identityProfile storage.UserAssignedIdentity + var identityProfile v20231102ps.UserAssignedIdentity err := identityProfileValue.AssignProperties_To_UserAssignedIdentity(&identityProfile) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_UserAssignedIdentity() to populate field IdentityProfile") @@ -1164,7 +1165,7 @@ func (cluster *ManagedCluster_Spec) AssignProperties_To_ManagedCluster_Spec(dest // IngressProfile if cluster.IngressProfile != nil { - var ingressProfile storage.ManagedClusterIngressProfile + var ingressProfile v20231102ps.ManagedClusterIngressProfile err := cluster.IngressProfile.AssignProperties_To_ManagedClusterIngressProfile(&ingressProfile) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterIngressProfile() to populate field IngressProfile") @@ -1186,7 +1187,7 @@ func (cluster *ManagedCluster_Spec) AssignProperties_To_ManagedCluster_Spec(dest // LinuxProfile if cluster.LinuxProfile != nil { - var linuxProfile storage.ContainerServiceLinuxProfile + var linuxProfile v20231102ps.ContainerServiceLinuxProfile err := cluster.LinuxProfile.AssignProperties_To_ContainerServiceLinuxProfile(&linuxProfile) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ContainerServiceLinuxProfile() to populate field LinuxProfile") @@ -1201,7 +1202,7 @@ func (cluster *ManagedCluster_Spec) AssignProperties_To_ManagedCluster_Spec(dest // MetricsProfile if cluster.MetricsProfile != nil { - var metricsProfile storage.ManagedClusterMetricsProfile + var metricsProfile v20231102ps.ManagedClusterMetricsProfile err := cluster.MetricsProfile.AssignProperties_To_ManagedClusterMetricsProfile(&metricsProfile) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterMetricsProfile() to populate field MetricsProfile") @@ -1213,7 +1214,7 @@ func (cluster *ManagedCluster_Spec) AssignProperties_To_ManagedCluster_Spec(dest // NetworkProfile if cluster.NetworkProfile != nil { - var networkProfile storage.ContainerServiceNetworkProfile + var networkProfile v20231102ps.ContainerServiceNetworkProfile err := cluster.NetworkProfile.AssignProperties_To_ContainerServiceNetworkProfile(&networkProfile) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ContainerServiceNetworkProfile() to populate field NetworkProfile") @@ -1225,7 +1226,7 @@ func (cluster *ManagedCluster_Spec) AssignProperties_To_ManagedCluster_Spec(dest // NodeProvisioningProfile if cluster.NodeProvisioningProfile != nil { - var nodeProvisioningProfile storage.ManagedClusterNodeProvisioningProfile + var nodeProvisioningProfile v20231102ps.ManagedClusterNodeProvisioningProfile err := cluster.NodeProvisioningProfile.AssignProperties_To_ManagedClusterNodeProvisioningProfile(&nodeProvisioningProfile) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterNodeProvisioningProfile() to populate field NodeProvisioningProfile") @@ -1240,7 +1241,7 @@ func (cluster *ManagedCluster_Spec) AssignProperties_To_ManagedCluster_Spec(dest // NodeResourceGroupProfile if cluster.NodeResourceGroupProfile != nil { - var nodeResourceGroupProfile storage.ManagedClusterNodeResourceGroupProfile + var nodeResourceGroupProfile v20231102ps.ManagedClusterNodeResourceGroupProfile err := cluster.NodeResourceGroupProfile.AssignProperties_To_ManagedClusterNodeResourceGroupProfile(&nodeResourceGroupProfile) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterNodeResourceGroupProfile() to populate field NodeResourceGroupProfile") @@ -1252,7 +1253,7 @@ func (cluster *ManagedCluster_Spec) AssignProperties_To_ManagedCluster_Spec(dest // OidcIssuerProfile if cluster.OidcIssuerProfile != nil { - var oidcIssuerProfile storage.ManagedClusterOIDCIssuerProfile + var oidcIssuerProfile v20231102ps.ManagedClusterOIDCIssuerProfile err := cluster.OidcIssuerProfile.AssignProperties_To_ManagedClusterOIDCIssuerProfile(&oidcIssuerProfile) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterOIDCIssuerProfile() to populate field OidcIssuerProfile") @@ -1264,7 +1265,7 @@ func (cluster *ManagedCluster_Spec) AssignProperties_To_ManagedCluster_Spec(dest // OperatorSpec if cluster.OperatorSpec != nil { - var operatorSpec storage.ManagedClusterOperatorSpec + var operatorSpec v20231102ps.ManagedClusterOperatorSpec err := cluster.OperatorSpec.AssignProperties_To_ManagedClusterOperatorSpec(&operatorSpec) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterOperatorSpec() to populate field OperatorSpec") @@ -1287,7 +1288,7 @@ func (cluster *ManagedCluster_Spec) AssignProperties_To_ManagedCluster_Spec(dest // PodIdentityProfile if cluster.PodIdentityProfile != nil { - var podIdentityProfile storage.ManagedClusterPodIdentityProfile + var podIdentityProfile v20231102ps.ManagedClusterPodIdentityProfile err := cluster.PodIdentityProfile.AssignProperties_To_ManagedClusterPodIdentityProfile(&podIdentityProfile) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterPodIdentityProfile() to populate field PodIdentityProfile") @@ -1299,11 +1300,11 @@ func (cluster *ManagedCluster_Spec) AssignProperties_To_ManagedCluster_Spec(dest // PrivateLinkResources if cluster.PrivateLinkResources != nil { - privateLinkResourceList := make([]storage.PrivateLinkResource, len(cluster.PrivateLinkResources)) + privateLinkResourceList := make([]v20231102ps.PrivateLinkResource, len(cluster.PrivateLinkResources)) for privateLinkResourceIndex, privateLinkResourceItem := range cluster.PrivateLinkResources { // Shadow the loop variable to avoid aliasing privateLinkResourceItem := privateLinkResourceItem - var privateLinkResource storage.PrivateLinkResource + var privateLinkResource v20231102ps.PrivateLinkResource err := privateLinkResourceItem.AssignProperties_To_PrivateLinkResource(&privateLinkResource) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_PrivateLinkResource() to populate field PrivateLinkResources") @@ -1320,7 +1321,7 @@ func (cluster *ManagedCluster_Spec) AssignProperties_To_ManagedCluster_Spec(dest // SafeguardsProfile if cluster.SafeguardsProfile != nil { - var safeguardsProfile storage.SafeguardsProfile + var safeguardsProfile v20231102ps.SafeguardsProfile err := cluster.SafeguardsProfile.AssignProperties_To_SafeguardsProfile(&safeguardsProfile) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_SafeguardsProfile() to populate field SafeguardsProfile") @@ -1332,7 +1333,7 @@ func (cluster *ManagedCluster_Spec) AssignProperties_To_ManagedCluster_Spec(dest // SecurityProfile if cluster.SecurityProfile != nil { - var securityProfile storage.ManagedClusterSecurityProfile + var securityProfile v20231102ps.ManagedClusterSecurityProfile err := cluster.SecurityProfile.AssignProperties_To_ManagedClusterSecurityProfile(&securityProfile) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterSecurityProfile() to populate field SecurityProfile") @@ -1344,7 +1345,7 @@ func (cluster *ManagedCluster_Spec) AssignProperties_To_ManagedCluster_Spec(dest // ServiceMeshProfile if cluster.ServiceMeshProfile != nil { - var serviceMeshProfile storage.ServiceMeshProfile + var serviceMeshProfile v20231102ps.ServiceMeshProfile err := cluster.ServiceMeshProfile.AssignProperties_To_ServiceMeshProfile(&serviceMeshProfile) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ServiceMeshProfile() to populate field ServiceMeshProfile") @@ -1356,7 +1357,7 @@ func (cluster *ManagedCluster_Spec) AssignProperties_To_ManagedCluster_Spec(dest // ServicePrincipalProfile if cluster.ServicePrincipalProfile != nil { - var servicePrincipalProfile storage.ManagedClusterServicePrincipalProfile + var servicePrincipalProfile v20231102ps.ManagedClusterServicePrincipalProfile err := cluster.ServicePrincipalProfile.AssignProperties_To_ManagedClusterServicePrincipalProfile(&servicePrincipalProfile) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterServicePrincipalProfile() to populate field ServicePrincipalProfile") @@ -1368,7 +1369,7 @@ func (cluster *ManagedCluster_Spec) AssignProperties_To_ManagedCluster_Spec(dest // Sku if cluster.Sku != nil { - var sku storage.ManagedClusterSKU + var sku v20231102ps.ManagedClusterSKU err := cluster.Sku.AssignProperties_To_ManagedClusterSKU(&sku) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterSKU() to populate field Sku") @@ -1380,7 +1381,7 @@ func (cluster *ManagedCluster_Spec) AssignProperties_To_ManagedCluster_Spec(dest // StorageProfile if cluster.StorageProfile != nil { - var storageProfile storage.ManagedClusterStorageProfile + var storageProfile v20231102ps.ManagedClusterStorageProfile err := cluster.StorageProfile.AssignProperties_To_ManagedClusterStorageProfile(&storageProfile) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterStorageProfile() to populate field StorageProfile") @@ -1398,7 +1399,7 @@ func (cluster *ManagedCluster_Spec) AssignProperties_To_ManagedCluster_Spec(dest // UpgradeSettings if cluster.UpgradeSettings != nil { - var upgradeSetting storage.ClusterUpgradeSettings + var upgradeSetting v20231102ps.ClusterUpgradeSettings err := cluster.UpgradeSettings.AssignProperties_To_ClusterUpgradeSettings(&upgradeSetting) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ClusterUpgradeSettings() to populate field UpgradeSettings") @@ -1410,7 +1411,7 @@ func (cluster *ManagedCluster_Spec) AssignProperties_To_ManagedCluster_Spec(dest // WindowsProfile if cluster.WindowsProfile != nil { - var windowsProfile storage.ManagedClusterWindowsProfile + var windowsProfile v20231102ps.ManagedClusterWindowsProfile err := cluster.WindowsProfile.AssignProperties_To_ManagedClusterWindowsProfile(&windowsProfile) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterWindowsProfile() to populate field WindowsProfile") @@ -1422,7 +1423,7 @@ func (cluster *ManagedCluster_Spec) AssignProperties_To_ManagedCluster_Spec(dest // WorkloadAutoScalerProfile if cluster.WorkloadAutoScalerProfile != nil { - var workloadAutoScalerProfile storage.ManagedClusterWorkloadAutoScalerProfile + var workloadAutoScalerProfile v20231102ps.ManagedClusterWorkloadAutoScalerProfile err := cluster.WorkloadAutoScalerProfile.AssignProperties_To_ManagedClusterWorkloadAutoScalerProfile(&workloadAutoScalerProfile) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterWorkloadAutoScalerProfile() to populate field WorkloadAutoScalerProfile") @@ -1522,14 +1523,14 @@ var _ genruntime.ConvertibleStatus = &ManagedCluster_STATUS{} // ConvertStatusFrom populates our ManagedCluster_STATUS from the provided source func (cluster *ManagedCluster_STATUS) ConvertStatusFrom(source genruntime.ConvertibleStatus) error { - src, ok := source.(*storage.ManagedCluster_STATUS) + src, ok := source.(*v20231102ps.ManagedCluster_STATUS) if ok { // Populate our instance from source return cluster.AssignProperties_From_ManagedCluster_STATUS(src) } // Convert to an intermediate form - src = &storage.ManagedCluster_STATUS{} + src = &v20231102ps.ManagedCluster_STATUS{} err := src.ConvertStatusFrom(source) if err != nil { return errors.Wrap(err, "initial step of conversion in ConvertStatusFrom()") @@ -1546,14 +1547,14 @@ func (cluster *ManagedCluster_STATUS) ConvertStatusFrom(source genruntime.Conver // ConvertStatusTo populates the provided destination from our ManagedCluster_STATUS func (cluster *ManagedCluster_STATUS) ConvertStatusTo(destination genruntime.ConvertibleStatus) error { - dst, ok := destination.(*storage.ManagedCluster_STATUS) + dst, ok := destination.(*v20231102ps.ManagedCluster_STATUS) if ok { // Populate destination from our instance return cluster.AssignProperties_To_ManagedCluster_STATUS(dst) } // Convert to an intermediate form - dst = &storage.ManagedCluster_STATUS{} + dst = &v20231102ps.ManagedCluster_STATUS{} err := cluster.AssignProperties_To_ManagedCluster_STATUS(dst) if err != nil { return errors.Wrap(err, "initial step of conversion in ConvertStatusTo()") @@ -1569,7 +1570,7 @@ func (cluster *ManagedCluster_STATUS) ConvertStatusTo(destination genruntime.Con } // AssignProperties_From_ManagedCluster_STATUS populates our ManagedCluster_STATUS from the provided source ManagedCluster_STATUS -func (cluster *ManagedCluster_STATUS) AssignProperties_From_ManagedCluster_STATUS(source *storage.ManagedCluster_STATUS) error { +func (cluster *ManagedCluster_STATUS) AssignProperties_From_ManagedCluster_STATUS(source *v20231102ps.ManagedCluster_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -2145,13 +2146,13 @@ func (cluster *ManagedCluster_STATUS) AssignProperties_From_ManagedCluster_STATU } // AssignProperties_To_ManagedCluster_STATUS populates the provided destination ManagedCluster_STATUS from our ManagedCluster_STATUS -func (cluster *ManagedCluster_STATUS) AssignProperties_To_ManagedCluster_STATUS(destination *storage.ManagedCluster_STATUS) error { +func (cluster *ManagedCluster_STATUS) AssignProperties_To_ManagedCluster_STATUS(destination *v20231102ps.ManagedCluster_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(cluster.PropertyBag) // AadProfile if cluster.AadProfile != nil { - var aadProfile storage.ManagedClusterAADProfile_STATUS + var aadProfile v20231102ps.ManagedClusterAADProfile_STATUS err := cluster.AadProfile.AssignProperties_To_ManagedClusterAADProfile_STATUS(&aadProfile) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterAADProfile_STATUS() to populate field AadProfile") @@ -2163,11 +2164,11 @@ func (cluster *ManagedCluster_STATUS) AssignProperties_To_ManagedCluster_STATUS( // AddonProfiles if cluster.AddonProfiles != nil { - addonProfileMap := make(map[string]storage.ManagedClusterAddonProfile_STATUS, len(cluster.AddonProfiles)) + addonProfileMap := make(map[string]v20231102ps.ManagedClusterAddonProfile_STATUS, len(cluster.AddonProfiles)) for addonProfileKey, addonProfileValue := range cluster.AddonProfiles { // Shadow the loop variable to avoid aliasing addonProfileValue := addonProfileValue - var addonProfile storage.ManagedClusterAddonProfile_STATUS + var addonProfile v20231102ps.ManagedClusterAddonProfile_STATUS err := addonProfileValue.AssignProperties_To_ManagedClusterAddonProfile_STATUS(&addonProfile) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterAddonProfile_STATUS() to populate field AddonProfiles") @@ -2181,11 +2182,11 @@ func (cluster *ManagedCluster_STATUS) AssignProperties_To_ManagedCluster_STATUS( // AgentPoolProfiles if cluster.AgentPoolProfiles != nil { - agentPoolProfileList := make([]storage.ManagedClusterAgentPoolProfile_STATUS, len(cluster.AgentPoolProfiles)) + agentPoolProfileList := make([]v20231102ps.ManagedClusterAgentPoolProfile_STATUS, len(cluster.AgentPoolProfiles)) for agentPoolProfileIndex, agentPoolProfileItem := range cluster.AgentPoolProfiles { // Shadow the loop variable to avoid aliasing agentPoolProfileItem := agentPoolProfileItem - var agentPoolProfile storage.ManagedClusterAgentPoolProfile_STATUS + var agentPoolProfile v20231102ps.ManagedClusterAgentPoolProfile_STATUS err := agentPoolProfileItem.AssignProperties_To_ManagedClusterAgentPoolProfile_STATUS(&agentPoolProfile) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterAgentPoolProfile_STATUS() to populate field AgentPoolProfiles") @@ -2199,7 +2200,7 @@ func (cluster *ManagedCluster_STATUS) AssignProperties_To_ManagedCluster_STATUS( // AiToolchainOperatorProfile if cluster.AiToolchainOperatorProfile != nil { - var aiToolchainOperatorProfile storage.ManagedClusterAIToolchainOperatorProfile_STATUS + var aiToolchainOperatorProfile v20231102ps.ManagedClusterAIToolchainOperatorProfile_STATUS err := cluster.AiToolchainOperatorProfile.AssignProperties_To_ManagedClusterAIToolchainOperatorProfile_STATUS(&aiToolchainOperatorProfile) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterAIToolchainOperatorProfile_STATUS() to populate field AiToolchainOperatorProfile") @@ -2211,7 +2212,7 @@ func (cluster *ManagedCluster_STATUS) AssignProperties_To_ManagedCluster_STATUS( // ApiServerAccessProfile if cluster.ApiServerAccessProfile != nil { - var apiServerAccessProfile storage.ManagedClusterAPIServerAccessProfile_STATUS + var apiServerAccessProfile v20231102ps.ManagedClusterAPIServerAccessProfile_STATUS err := cluster.ApiServerAccessProfile.AssignProperties_To_ManagedClusterAPIServerAccessProfile_STATUS(&apiServerAccessProfile) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterAPIServerAccessProfile_STATUS() to populate field ApiServerAccessProfile") @@ -2223,7 +2224,7 @@ func (cluster *ManagedCluster_STATUS) AssignProperties_To_ManagedCluster_STATUS( // AutoScalerProfile if cluster.AutoScalerProfile != nil { - var autoScalerProfile storage.ManagedClusterProperties_AutoScalerProfile_STATUS + var autoScalerProfile v20231102ps.ManagedClusterProperties_AutoScalerProfile_STATUS err := cluster.AutoScalerProfile.AssignProperties_To_ManagedClusterProperties_AutoScalerProfile_STATUS(&autoScalerProfile) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterProperties_AutoScalerProfile_STATUS() to populate field AutoScalerProfile") @@ -2235,7 +2236,7 @@ func (cluster *ManagedCluster_STATUS) AssignProperties_To_ManagedCluster_STATUS( // AutoUpgradeProfile if cluster.AutoUpgradeProfile != nil { - var autoUpgradeProfile storage.ManagedClusterAutoUpgradeProfile_STATUS + var autoUpgradeProfile v20231102ps.ManagedClusterAutoUpgradeProfile_STATUS err := cluster.AutoUpgradeProfile.AssignProperties_To_ManagedClusterAutoUpgradeProfile_STATUS(&autoUpgradeProfile) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterAutoUpgradeProfile_STATUS() to populate field AutoUpgradeProfile") @@ -2247,7 +2248,7 @@ func (cluster *ManagedCluster_STATUS) AssignProperties_To_ManagedCluster_STATUS( // AzureMonitorProfile if cluster.AzureMonitorProfile != nil { - var azureMonitorProfile storage.ManagedClusterAzureMonitorProfile_STATUS + var azureMonitorProfile v20231102ps.ManagedClusterAzureMonitorProfile_STATUS err := cluster.AzureMonitorProfile.AssignProperties_To_ManagedClusterAzureMonitorProfile_STATUS(&azureMonitorProfile) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterAzureMonitorProfile_STATUS() to populate field AzureMonitorProfile") @@ -2272,7 +2273,7 @@ func (cluster *ManagedCluster_STATUS) AssignProperties_To_ManagedCluster_STATUS( // CreationData if cluster.CreationData != nil { - var creationDatum storage.CreationData_STATUS + var creationDatum v20231102ps.CreationData_STATUS err := cluster.CreationData.AssignProperties_To_CreationData_STATUS(&creationDatum) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_CreationData_STATUS() to populate field CreationData") @@ -2332,7 +2333,7 @@ func (cluster *ManagedCluster_STATUS) AssignProperties_To_ManagedCluster_STATUS( // ExtendedLocation if cluster.ExtendedLocation != nil { - var extendedLocation storage.ExtendedLocation_STATUS + var extendedLocation v20231102ps.ExtendedLocation_STATUS err := cluster.ExtendedLocation.AssignProperties_To_ExtendedLocation_STATUS(&extendedLocation) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ExtendedLocation_STATUS() to populate field ExtendedLocation") @@ -2350,7 +2351,7 @@ func (cluster *ManagedCluster_STATUS) AssignProperties_To_ManagedCluster_STATUS( // HttpProxyConfig if cluster.HttpProxyConfig != nil { - var httpProxyConfig storage.ManagedClusterHTTPProxyConfig_STATUS + var httpProxyConfig v20231102ps.ManagedClusterHTTPProxyConfig_STATUS err := cluster.HttpProxyConfig.AssignProperties_To_ManagedClusterHTTPProxyConfig_STATUS(&httpProxyConfig) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterHTTPProxyConfig_STATUS() to populate field HttpProxyConfig") @@ -2365,7 +2366,7 @@ func (cluster *ManagedCluster_STATUS) AssignProperties_To_ManagedCluster_STATUS( // Identity if cluster.Identity != nil { - var identity storage.ManagedClusterIdentity_STATUS + var identity v20231102ps.ManagedClusterIdentity_STATUS err := cluster.Identity.AssignProperties_To_ManagedClusterIdentity_STATUS(&identity) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterIdentity_STATUS() to populate field Identity") @@ -2377,11 +2378,11 @@ func (cluster *ManagedCluster_STATUS) AssignProperties_To_ManagedCluster_STATUS( // IdentityProfile if cluster.IdentityProfile != nil { - identityProfileMap := make(map[string]storage.UserAssignedIdentity_STATUS, len(cluster.IdentityProfile)) + identityProfileMap := make(map[string]v20231102ps.UserAssignedIdentity_STATUS, len(cluster.IdentityProfile)) for identityProfileKey, identityProfileValue := range cluster.IdentityProfile { // Shadow the loop variable to avoid aliasing identityProfileValue := identityProfileValue - var identityProfile storage.UserAssignedIdentity_STATUS + var identityProfile v20231102ps.UserAssignedIdentity_STATUS err := identityProfileValue.AssignProperties_To_UserAssignedIdentity_STATUS(&identityProfile) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_UserAssignedIdentity_STATUS() to populate field IdentityProfile") @@ -2395,7 +2396,7 @@ func (cluster *ManagedCluster_STATUS) AssignProperties_To_ManagedCluster_STATUS( // IngressProfile if cluster.IngressProfile != nil { - var ingressProfile storage.ManagedClusterIngressProfile_STATUS + var ingressProfile v20231102ps.ManagedClusterIngressProfile_STATUS err := cluster.IngressProfile.AssignProperties_To_ManagedClusterIngressProfile_STATUS(&ingressProfile) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterIngressProfile_STATUS() to populate field IngressProfile") @@ -2417,7 +2418,7 @@ func (cluster *ManagedCluster_STATUS) AssignProperties_To_ManagedCluster_STATUS( // LinuxProfile if cluster.LinuxProfile != nil { - var linuxProfile storage.ContainerServiceLinuxProfile_STATUS + var linuxProfile v20231102ps.ContainerServiceLinuxProfile_STATUS err := cluster.LinuxProfile.AssignProperties_To_ContainerServiceLinuxProfile_STATUS(&linuxProfile) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ContainerServiceLinuxProfile_STATUS() to populate field LinuxProfile") @@ -2435,7 +2436,7 @@ func (cluster *ManagedCluster_STATUS) AssignProperties_To_ManagedCluster_STATUS( // MetricsProfile if cluster.MetricsProfile != nil { - var metricsProfile storage.ManagedClusterMetricsProfile_STATUS + var metricsProfile v20231102ps.ManagedClusterMetricsProfile_STATUS err := cluster.MetricsProfile.AssignProperties_To_ManagedClusterMetricsProfile_STATUS(&metricsProfile) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterMetricsProfile_STATUS() to populate field MetricsProfile") @@ -2450,7 +2451,7 @@ func (cluster *ManagedCluster_STATUS) AssignProperties_To_ManagedCluster_STATUS( // NetworkProfile if cluster.NetworkProfile != nil { - var networkProfile storage.ContainerServiceNetworkProfile_STATUS + var networkProfile v20231102ps.ContainerServiceNetworkProfile_STATUS err := cluster.NetworkProfile.AssignProperties_To_ContainerServiceNetworkProfile_STATUS(&networkProfile) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ContainerServiceNetworkProfile_STATUS() to populate field NetworkProfile") @@ -2462,7 +2463,7 @@ func (cluster *ManagedCluster_STATUS) AssignProperties_To_ManagedCluster_STATUS( // NodeProvisioningProfile if cluster.NodeProvisioningProfile != nil { - var nodeProvisioningProfile storage.ManagedClusterNodeProvisioningProfile_STATUS + var nodeProvisioningProfile v20231102ps.ManagedClusterNodeProvisioningProfile_STATUS err := cluster.NodeProvisioningProfile.AssignProperties_To_ManagedClusterNodeProvisioningProfile_STATUS(&nodeProvisioningProfile) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterNodeProvisioningProfile_STATUS() to populate field NodeProvisioningProfile") @@ -2477,7 +2478,7 @@ func (cluster *ManagedCluster_STATUS) AssignProperties_To_ManagedCluster_STATUS( // NodeResourceGroupProfile if cluster.NodeResourceGroupProfile != nil { - var nodeResourceGroupProfile storage.ManagedClusterNodeResourceGroupProfile_STATUS + var nodeResourceGroupProfile v20231102ps.ManagedClusterNodeResourceGroupProfile_STATUS err := cluster.NodeResourceGroupProfile.AssignProperties_To_ManagedClusterNodeResourceGroupProfile_STATUS(&nodeResourceGroupProfile) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterNodeResourceGroupProfile_STATUS() to populate field NodeResourceGroupProfile") @@ -2489,7 +2490,7 @@ func (cluster *ManagedCluster_STATUS) AssignProperties_To_ManagedCluster_STATUS( // OidcIssuerProfile if cluster.OidcIssuerProfile != nil { - var oidcIssuerProfile storage.ManagedClusterOIDCIssuerProfile_STATUS + var oidcIssuerProfile v20231102ps.ManagedClusterOIDCIssuerProfile_STATUS err := cluster.OidcIssuerProfile.AssignProperties_To_ManagedClusterOIDCIssuerProfile_STATUS(&oidcIssuerProfile) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterOIDCIssuerProfile_STATUS() to populate field OidcIssuerProfile") @@ -2501,7 +2502,7 @@ func (cluster *ManagedCluster_STATUS) AssignProperties_To_ManagedCluster_STATUS( // PodIdentityProfile if cluster.PodIdentityProfile != nil { - var podIdentityProfile storage.ManagedClusterPodIdentityProfile_STATUS + var podIdentityProfile v20231102ps.ManagedClusterPodIdentityProfile_STATUS err := cluster.PodIdentityProfile.AssignProperties_To_ManagedClusterPodIdentityProfile_STATUS(&podIdentityProfile) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterPodIdentityProfile_STATUS() to populate field PodIdentityProfile") @@ -2513,7 +2514,7 @@ func (cluster *ManagedCluster_STATUS) AssignProperties_To_ManagedCluster_STATUS( // PowerState if cluster.PowerState != nil { - var powerState storage.PowerState_STATUS + var powerState v20231102ps.PowerState_STATUS err := cluster.PowerState.AssignProperties_To_PowerState_STATUS(&powerState) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_PowerState_STATUS() to populate field PowerState") @@ -2528,11 +2529,11 @@ func (cluster *ManagedCluster_STATUS) AssignProperties_To_ManagedCluster_STATUS( // PrivateLinkResources if cluster.PrivateLinkResources != nil { - privateLinkResourceList := make([]storage.PrivateLinkResource_STATUS, len(cluster.PrivateLinkResources)) + privateLinkResourceList := make([]v20231102ps.PrivateLinkResource_STATUS, len(cluster.PrivateLinkResources)) for privateLinkResourceIndex, privateLinkResourceItem := range cluster.PrivateLinkResources { // Shadow the loop variable to avoid aliasing privateLinkResourceItem := privateLinkResourceItem - var privateLinkResource storage.PrivateLinkResource_STATUS + var privateLinkResource v20231102ps.PrivateLinkResource_STATUS err := privateLinkResourceItem.AssignProperties_To_PrivateLinkResource_STATUS(&privateLinkResource) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_PrivateLinkResource_STATUS() to populate field PrivateLinkResources") @@ -2555,7 +2556,7 @@ func (cluster *ManagedCluster_STATUS) AssignProperties_To_ManagedCluster_STATUS( // SafeguardsProfile if cluster.SafeguardsProfile != nil { - var safeguardsProfile storage.SafeguardsProfile_STATUS + var safeguardsProfile v20231102ps.SafeguardsProfile_STATUS err := cluster.SafeguardsProfile.AssignProperties_To_SafeguardsProfile_STATUS(&safeguardsProfile) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_SafeguardsProfile_STATUS() to populate field SafeguardsProfile") @@ -2567,7 +2568,7 @@ func (cluster *ManagedCluster_STATUS) AssignProperties_To_ManagedCluster_STATUS( // SecurityProfile if cluster.SecurityProfile != nil { - var securityProfile storage.ManagedClusterSecurityProfile_STATUS + var securityProfile v20231102ps.ManagedClusterSecurityProfile_STATUS err := cluster.SecurityProfile.AssignProperties_To_ManagedClusterSecurityProfile_STATUS(&securityProfile) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterSecurityProfile_STATUS() to populate field SecurityProfile") @@ -2579,7 +2580,7 @@ func (cluster *ManagedCluster_STATUS) AssignProperties_To_ManagedCluster_STATUS( // ServiceMeshProfile if cluster.ServiceMeshProfile != nil { - var serviceMeshProfile storage.ServiceMeshProfile_STATUS + var serviceMeshProfile v20231102ps.ServiceMeshProfile_STATUS err := cluster.ServiceMeshProfile.AssignProperties_To_ServiceMeshProfile_STATUS(&serviceMeshProfile) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ServiceMeshProfile_STATUS() to populate field ServiceMeshProfile") @@ -2591,7 +2592,7 @@ func (cluster *ManagedCluster_STATUS) AssignProperties_To_ManagedCluster_STATUS( // ServicePrincipalProfile if cluster.ServicePrincipalProfile != nil { - var servicePrincipalProfile storage.ManagedClusterServicePrincipalProfile_STATUS + var servicePrincipalProfile v20231102ps.ManagedClusterServicePrincipalProfile_STATUS err := cluster.ServicePrincipalProfile.AssignProperties_To_ManagedClusterServicePrincipalProfile_STATUS(&servicePrincipalProfile) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterServicePrincipalProfile_STATUS() to populate field ServicePrincipalProfile") @@ -2603,7 +2604,7 @@ func (cluster *ManagedCluster_STATUS) AssignProperties_To_ManagedCluster_STATUS( // Sku if cluster.Sku != nil { - var sku storage.ManagedClusterSKU_STATUS + var sku v20231102ps.ManagedClusterSKU_STATUS err := cluster.Sku.AssignProperties_To_ManagedClusterSKU_STATUS(&sku) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterSKU_STATUS() to populate field Sku") @@ -2615,7 +2616,7 @@ func (cluster *ManagedCluster_STATUS) AssignProperties_To_ManagedCluster_STATUS( // StorageProfile if cluster.StorageProfile != nil { - var storageProfile storage.ManagedClusterStorageProfile_STATUS + var storageProfile v20231102ps.ManagedClusterStorageProfile_STATUS err := cluster.StorageProfile.AssignProperties_To_ManagedClusterStorageProfile_STATUS(&storageProfile) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterStorageProfile_STATUS() to populate field StorageProfile") @@ -2630,7 +2631,7 @@ func (cluster *ManagedCluster_STATUS) AssignProperties_To_ManagedCluster_STATUS( // SystemData if cluster.SystemData != nil { - var systemDatum storage.SystemData_STATUS + var systemDatum v20231102ps.SystemData_STATUS err := cluster.SystemData.AssignProperties_To_SystemData_STATUS(&systemDatum) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_SystemData_STATUS() to populate field SystemData") @@ -2648,7 +2649,7 @@ func (cluster *ManagedCluster_STATUS) AssignProperties_To_ManagedCluster_STATUS( // UpgradeSettings if cluster.UpgradeSettings != nil { - var upgradeSetting storage.ClusterUpgradeSettings_STATUS + var upgradeSetting v20231102ps.ClusterUpgradeSettings_STATUS err := cluster.UpgradeSettings.AssignProperties_To_ClusterUpgradeSettings_STATUS(&upgradeSetting) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ClusterUpgradeSettings_STATUS() to populate field UpgradeSettings") @@ -2660,7 +2661,7 @@ func (cluster *ManagedCluster_STATUS) AssignProperties_To_ManagedCluster_STATUS( // WindowsProfile if cluster.WindowsProfile != nil { - var windowsProfile storage.ManagedClusterWindowsProfile_STATUS + var windowsProfile v20231102ps.ManagedClusterWindowsProfile_STATUS err := cluster.WindowsProfile.AssignProperties_To_ManagedClusterWindowsProfile_STATUS(&windowsProfile) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterWindowsProfile_STATUS() to populate field WindowsProfile") @@ -2672,7 +2673,7 @@ func (cluster *ManagedCluster_STATUS) AssignProperties_To_ManagedCluster_STATUS( // WorkloadAutoScalerProfile if cluster.WorkloadAutoScalerProfile != nil { - var workloadAutoScalerProfile storage.ManagedClusterWorkloadAutoScalerProfile_STATUS + var workloadAutoScalerProfile v20231102ps.ManagedClusterWorkloadAutoScalerProfile_STATUS err := cluster.WorkloadAutoScalerProfile.AssignProperties_To_ManagedClusterWorkloadAutoScalerProfile_STATUS(&workloadAutoScalerProfile) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterWorkloadAutoScalerProfile_STATUS() to populate field WorkloadAutoScalerProfile") @@ -2703,13 +2704,13 @@ func (cluster *ManagedCluster_STATUS) AssignProperties_To_ManagedCluster_STATUS( } type augmentConversionForManagedCluster_Spec interface { - AssignPropertiesFrom(src *storage.ManagedCluster_Spec) error - AssignPropertiesTo(dst *storage.ManagedCluster_Spec) error + AssignPropertiesFrom(src *v20231102ps.ManagedCluster_Spec) error + AssignPropertiesTo(dst *v20231102ps.ManagedCluster_Spec) error } type augmentConversionForManagedCluster_STATUS interface { - AssignPropertiesFrom(src *storage.ManagedCluster_STATUS) error - AssignPropertiesTo(dst *storage.ManagedCluster_STATUS) error + AssignPropertiesFrom(src *v20231102ps.ManagedCluster_STATUS) error + AssignPropertiesTo(dst *v20231102ps.ManagedCluster_STATUS) error } // Storage version of v1api20240402preview.ClusterUpgradeSettings @@ -2720,7 +2721,7 @@ type ClusterUpgradeSettings struct { } // AssignProperties_From_ClusterUpgradeSettings populates our ClusterUpgradeSettings from the provided source ClusterUpgradeSettings -func (settings *ClusterUpgradeSettings) AssignProperties_From_ClusterUpgradeSettings(source *storage.ClusterUpgradeSettings) error { +func (settings *ClusterUpgradeSettings) AssignProperties_From_ClusterUpgradeSettings(source *v20231102ps.ClusterUpgradeSettings) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -2757,13 +2758,13 @@ func (settings *ClusterUpgradeSettings) AssignProperties_From_ClusterUpgradeSett } // AssignProperties_To_ClusterUpgradeSettings populates the provided destination ClusterUpgradeSettings from our ClusterUpgradeSettings -func (settings *ClusterUpgradeSettings) AssignProperties_To_ClusterUpgradeSettings(destination *storage.ClusterUpgradeSettings) error { +func (settings *ClusterUpgradeSettings) AssignProperties_To_ClusterUpgradeSettings(destination *v20231102ps.ClusterUpgradeSettings) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(settings.PropertyBag) // OverrideSettings if settings.OverrideSettings != nil { - var overrideSetting storage.UpgradeOverrideSettings + var overrideSetting v20231102ps.UpgradeOverrideSettings err := settings.OverrideSettings.AssignProperties_To_UpgradeOverrideSettings(&overrideSetting) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_UpgradeOverrideSettings() to populate field OverrideSettings") @@ -2801,7 +2802,7 @@ type ClusterUpgradeSettings_STATUS struct { } // AssignProperties_From_ClusterUpgradeSettings_STATUS populates our ClusterUpgradeSettings_STATUS from the provided source ClusterUpgradeSettings_STATUS -func (settings *ClusterUpgradeSettings_STATUS) AssignProperties_From_ClusterUpgradeSettings_STATUS(source *storage.ClusterUpgradeSettings_STATUS) error { +func (settings *ClusterUpgradeSettings_STATUS) AssignProperties_From_ClusterUpgradeSettings_STATUS(source *v20231102ps.ClusterUpgradeSettings_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -2838,13 +2839,13 @@ func (settings *ClusterUpgradeSettings_STATUS) AssignProperties_From_ClusterUpgr } // AssignProperties_To_ClusterUpgradeSettings_STATUS populates the provided destination ClusterUpgradeSettings_STATUS from our ClusterUpgradeSettings_STATUS -func (settings *ClusterUpgradeSettings_STATUS) AssignProperties_To_ClusterUpgradeSettings_STATUS(destination *storage.ClusterUpgradeSettings_STATUS) error { +func (settings *ClusterUpgradeSettings_STATUS) AssignProperties_To_ClusterUpgradeSettings_STATUS(destination *v20231102ps.ClusterUpgradeSettings_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(settings.PropertyBag) // OverrideSettings if settings.OverrideSettings != nil { - var overrideSetting storage.UpgradeOverrideSettings_STATUS + var overrideSetting v20231102ps.UpgradeOverrideSettings_STATUS err := settings.OverrideSettings.AssignProperties_To_UpgradeOverrideSettings_STATUS(&overrideSetting) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_UpgradeOverrideSettings_STATUS() to populate field OverrideSettings") @@ -2883,7 +2884,7 @@ type ContainerServiceLinuxProfile struct { } // AssignProperties_From_ContainerServiceLinuxProfile populates our ContainerServiceLinuxProfile from the provided source ContainerServiceLinuxProfile -func (profile *ContainerServiceLinuxProfile) AssignProperties_From_ContainerServiceLinuxProfile(source *storage.ContainerServiceLinuxProfile) error { +func (profile *ContainerServiceLinuxProfile) AssignProperties_From_ContainerServiceLinuxProfile(source *v20231102ps.ContainerServiceLinuxProfile) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -2923,7 +2924,7 @@ func (profile *ContainerServiceLinuxProfile) AssignProperties_From_ContainerServ } // AssignProperties_To_ContainerServiceLinuxProfile populates the provided destination ContainerServiceLinuxProfile from our ContainerServiceLinuxProfile -func (profile *ContainerServiceLinuxProfile) AssignProperties_To_ContainerServiceLinuxProfile(destination *storage.ContainerServiceLinuxProfile) error { +func (profile *ContainerServiceLinuxProfile) AssignProperties_To_ContainerServiceLinuxProfile(destination *v20231102ps.ContainerServiceLinuxProfile) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) @@ -2932,7 +2933,7 @@ func (profile *ContainerServiceLinuxProfile) AssignProperties_To_ContainerServic // Ssh if profile.Ssh != nil { - var ssh storage.ContainerServiceSshConfiguration + var ssh v20231102ps.ContainerServiceSshConfiguration err := profile.Ssh.AssignProperties_To_ContainerServiceSshConfiguration(&ssh) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ContainerServiceSshConfiguration() to populate field Ssh") @@ -2971,7 +2972,7 @@ type ContainerServiceLinuxProfile_STATUS struct { } // AssignProperties_From_ContainerServiceLinuxProfile_STATUS populates our ContainerServiceLinuxProfile_STATUS from the provided source ContainerServiceLinuxProfile_STATUS -func (profile *ContainerServiceLinuxProfile_STATUS) AssignProperties_From_ContainerServiceLinuxProfile_STATUS(source *storage.ContainerServiceLinuxProfile_STATUS) error { +func (profile *ContainerServiceLinuxProfile_STATUS) AssignProperties_From_ContainerServiceLinuxProfile_STATUS(source *v20231102ps.ContainerServiceLinuxProfile_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -3011,7 +3012,7 @@ func (profile *ContainerServiceLinuxProfile_STATUS) AssignProperties_From_Contai } // AssignProperties_To_ContainerServiceLinuxProfile_STATUS populates the provided destination ContainerServiceLinuxProfile_STATUS from our ContainerServiceLinuxProfile_STATUS -func (profile *ContainerServiceLinuxProfile_STATUS) AssignProperties_To_ContainerServiceLinuxProfile_STATUS(destination *storage.ContainerServiceLinuxProfile_STATUS) error { +func (profile *ContainerServiceLinuxProfile_STATUS) AssignProperties_To_ContainerServiceLinuxProfile_STATUS(destination *v20231102ps.ContainerServiceLinuxProfile_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) @@ -3020,7 +3021,7 @@ func (profile *ContainerServiceLinuxProfile_STATUS) AssignProperties_To_Containe // Ssh if profile.Ssh != nil { - var ssh storage.ContainerServiceSshConfiguration_STATUS + var ssh v20231102ps.ContainerServiceSshConfiguration_STATUS err := profile.Ssh.AssignProperties_To_ContainerServiceSshConfiguration_STATUS(&ssh) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ContainerServiceSshConfiguration_STATUS() to populate field Ssh") @@ -3076,7 +3077,7 @@ type ContainerServiceNetworkProfile struct { } // AssignProperties_From_ContainerServiceNetworkProfile populates our ContainerServiceNetworkProfile from the provided source ContainerServiceNetworkProfile -func (profile *ContainerServiceNetworkProfile) AssignProperties_From_ContainerServiceNetworkProfile(source *storage.ContainerServiceNetworkProfile) error { +func (profile *ContainerServiceNetworkProfile) AssignProperties_From_ContainerServiceNetworkProfile(source *v20231102ps.ContainerServiceNetworkProfile) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -3222,7 +3223,7 @@ func (profile *ContainerServiceNetworkProfile) AssignProperties_From_ContainerSe } // AssignProperties_To_ContainerServiceNetworkProfile populates the provided destination ContainerServiceNetworkProfile from our ContainerServiceNetworkProfile -func (profile *ContainerServiceNetworkProfile) AssignProperties_To_ContainerServiceNetworkProfile(destination *storage.ContainerServiceNetworkProfile) error { +func (profile *ContainerServiceNetworkProfile) AssignProperties_To_ContainerServiceNetworkProfile(destination *v20231102ps.ContainerServiceNetworkProfile) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) @@ -3241,7 +3242,7 @@ func (profile *ContainerServiceNetworkProfile) AssignProperties_To_ContainerServ // KubeProxyConfig if profile.KubeProxyConfig != nil { - var kubeProxyConfig storage.ContainerServiceNetworkProfile_KubeProxyConfig + var kubeProxyConfig v20231102ps.ContainerServiceNetworkProfile_KubeProxyConfig err := profile.KubeProxyConfig.AssignProperties_To_ContainerServiceNetworkProfile_KubeProxyConfig(&kubeProxyConfig) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ContainerServiceNetworkProfile_KubeProxyConfig() to populate field KubeProxyConfig") @@ -3253,7 +3254,7 @@ func (profile *ContainerServiceNetworkProfile) AssignProperties_To_ContainerServ // LoadBalancerProfile if profile.LoadBalancerProfile != nil { - var loadBalancerProfile storage.ManagedClusterLoadBalancerProfile + var loadBalancerProfile v20231102ps.ManagedClusterLoadBalancerProfile err := profile.LoadBalancerProfile.AssignProperties_To_ManagedClusterLoadBalancerProfile(&loadBalancerProfile) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterLoadBalancerProfile() to populate field LoadBalancerProfile") @@ -3268,7 +3269,7 @@ func (profile *ContainerServiceNetworkProfile) AssignProperties_To_ContainerServ // Monitoring if propertyBag.Contains("Monitoring") { - var monitoring storage.NetworkMonitoring + var monitoring v20231102ps.NetworkMonitoring err := propertyBag.Pull("Monitoring", &monitoring) if err != nil { return errors.Wrap(err, "pulling 'Monitoring' from propertyBag") @@ -3281,7 +3282,7 @@ func (profile *ContainerServiceNetworkProfile) AssignProperties_To_ContainerServ // NatGatewayProfile if profile.NatGatewayProfile != nil { - var natGatewayProfile storage.ManagedClusterNATGatewayProfile + var natGatewayProfile v20231102ps.ManagedClusterNATGatewayProfile err := profile.NatGatewayProfile.AssignProperties_To_ManagedClusterNATGatewayProfile(&natGatewayProfile) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterNATGatewayProfile() to populate field NatGatewayProfile") @@ -3381,7 +3382,7 @@ type ContainerServiceNetworkProfile_STATUS struct { } // AssignProperties_From_ContainerServiceNetworkProfile_STATUS populates our ContainerServiceNetworkProfile_STATUS from the provided source ContainerServiceNetworkProfile_STATUS -func (profile *ContainerServiceNetworkProfile_STATUS) AssignProperties_From_ContainerServiceNetworkProfile_STATUS(source *storage.ContainerServiceNetworkProfile_STATUS) error { +func (profile *ContainerServiceNetworkProfile_STATUS) AssignProperties_From_ContainerServiceNetworkProfile_STATUS(source *v20231102ps.ContainerServiceNetworkProfile_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -3527,7 +3528,7 @@ func (profile *ContainerServiceNetworkProfile_STATUS) AssignProperties_From_Cont } // AssignProperties_To_ContainerServiceNetworkProfile_STATUS populates the provided destination ContainerServiceNetworkProfile_STATUS from our ContainerServiceNetworkProfile_STATUS -func (profile *ContainerServiceNetworkProfile_STATUS) AssignProperties_To_ContainerServiceNetworkProfile_STATUS(destination *storage.ContainerServiceNetworkProfile_STATUS) error { +func (profile *ContainerServiceNetworkProfile_STATUS) AssignProperties_To_ContainerServiceNetworkProfile_STATUS(destination *v20231102ps.ContainerServiceNetworkProfile_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) @@ -3546,7 +3547,7 @@ func (profile *ContainerServiceNetworkProfile_STATUS) AssignProperties_To_Contai // KubeProxyConfig if profile.KubeProxyConfig != nil { - var kubeProxyConfig storage.ContainerServiceNetworkProfile_KubeProxyConfig_STATUS + var kubeProxyConfig v20231102ps.ContainerServiceNetworkProfile_KubeProxyConfig_STATUS err := profile.KubeProxyConfig.AssignProperties_To_ContainerServiceNetworkProfile_KubeProxyConfig_STATUS(&kubeProxyConfig) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ContainerServiceNetworkProfile_KubeProxyConfig_STATUS() to populate field KubeProxyConfig") @@ -3558,7 +3559,7 @@ func (profile *ContainerServiceNetworkProfile_STATUS) AssignProperties_To_Contai // LoadBalancerProfile if profile.LoadBalancerProfile != nil { - var loadBalancerProfile storage.ManagedClusterLoadBalancerProfile_STATUS + var loadBalancerProfile v20231102ps.ManagedClusterLoadBalancerProfile_STATUS err := profile.LoadBalancerProfile.AssignProperties_To_ManagedClusterLoadBalancerProfile_STATUS(&loadBalancerProfile) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterLoadBalancerProfile_STATUS() to populate field LoadBalancerProfile") @@ -3573,7 +3574,7 @@ func (profile *ContainerServiceNetworkProfile_STATUS) AssignProperties_To_Contai // Monitoring if propertyBag.Contains("Monitoring") { - var monitoring storage.NetworkMonitoring_STATUS + var monitoring v20231102ps.NetworkMonitoring_STATUS err := propertyBag.Pull("Monitoring", &monitoring) if err != nil { return errors.Wrap(err, "pulling 'Monitoring' from propertyBag") @@ -3586,7 +3587,7 @@ func (profile *ContainerServiceNetworkProfile_STATUS) AssignProperties_To_Contai // NatGatewayProfile if profile.NatGatewayProfile != nil { - var natGatewayProfile storage.ManagedClusterNATGatewayProfile_STATUS + var natGatewayProfile v20231102ps.ManagedClusterNATGatewayProfile_STATUS err := profile.NatGatewayProfile.AssignProperties_To_ManagedClusterNATGatewayProfile_STATUS(&natGatewayProfile) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterNATGatewayProfile_STATUS() to populate field NatGatewayProfile") @@ -3670,7 +3671,7 @@ type CreationData struct { } // AssignProperties_From_CreationData populates our CreationData from the provided source CreationData -func (data *CreationData) AssignProperties_From_CreationData(source *storage.CreationData) error { +func (data *CreationData) AssignProperties_From_CreationData(source *v20231102ps.CreationData) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -3703,7 +3704,7 @@ func (data *CreationData) AssignProperties_From_CreationData(source *storage.Cre } // AssignProperties_To_CreationData populates the provided destination CreationData from our CreationData -func (data *CreationData) AssignProperties_To_CreationData(destination *storage.CreationData) error { +func (data *CreationData) AssignProperties_To_CreationData(destination *v20231102ps.CreationData) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(data.PropertyBag) @@ -3743,7 +3744,7 @@ type CreationData_STATUS struct { } // AssignProperties_From_CreationData_STATUS populates our CreationData_STATUS from the provided source CreationData_STATUS -func (data *CreationData_STATUS) AssignProperties_From_CreationData_STATUS(source *storage.CreationData_STATUS) error { +func (data *CreationData_STATUS) AssignProperties_From_CreationData_STATUS(source *v20231102ps.CreationData_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -3771,7 +3772,7 @@ func (data *CreationData_STATUS) AssignProperties_From_CreationData_STATUS(sourc } // AssignProperties_To_CreationData_STATUS populates the provided destination CreationData_STATUS from our CreationData_STATUS -func (data *CreationData_STATUS) AssignProperties_To_CreationData_STATUS(destination *storage.CreationData_STATUS) error { +func (data *CreationData_STATUS) AssignProperties_To_CreationData_STATUS(destination *v20231102ps.CreationData_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(data.PropertyBag) @@ -3807,7 +3808,7 @@ type ExtendedLocation struct { } // AssignProperties_From_ExtendedLocation populates our ExtendedLocation from the provided source ExtendedLocation -func (location *ExtendedLocation) AssignProperties_From_ExtendedLocation(source *storage.ExtendedLocation) error { +func (location *ExtendedLocation) AssignProperties_From_ExtendedLocation(source *v20231102ps.ExtendedLocation) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -3838,7 +3839,7 @@ func (location *ExtendedLocation) AssignProperties_From_ExtendedLocation(source } // AssignProperties_To_ExtendedLocation populates the provided destination ExtendedLocation from our ExtendedLocation -func (location *ExtendedLocation) AssignProperties_To_ExtendedLocation(destination *storage.ExtendedLocation) error { +func (location *ExtendedLocation) AssignProperties_To_ExtendedLocation(destination *v20231102ps.ExtendedLocation) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(location.PropertyBag) @@ -3877,7 +3878,7 @@ type ExtendedLocation_STATUS struct { } // AssignProperties_From_ExtendedLocation_STATUS populates our ExtendedLocation_STATUS from the provided source ExtendedLocation_STATUS -func (location *ExtendedLocation_STATUS) AssignProperties_From_ExtendedLocation_STATUS(source *storage.ExtendedLocation_STATUS) error { +func (location *ExtendedLocation_STATUS) AssignProperties_From_ExtendedLocation_STATUS(source *v20231102ps.ExtendedLocation_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -3908,7 +3909,7 @@ func (location *ExtendedLocation_STATUS) AssignProperties_From_ExtendedLocation_ } // AssignProperties_To_ExtendedLocation_STATUS populates the provided destination ExtendedLocation_STATUS from our ExtendedLocation_STATUS -func (location *ExtendedLocation_STATUS) AssignProperties_To_ExtendedLocation_STATUS(destination *storage.ExtendedLocation_STATUS) error { +func (location *ExtendedLocation_STATUS) AssignProperties_To_ExtendedLocation_STATUS(destination *v20231102ps.ExtendedLocation_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(location.PropertyBag) @@ -3952,7 +3953,7 @@ type ManagedClusterAADProfile struct { } // AssignProperties_From_ManagedClusterAADProfile populates our ManagedClusterAADProfile from the provided source ManagedClusterAADProfile -func (profile *ManagedClusterAADProfile) AssignProperties_From_ManagedClusterAADProfile(source *storage.ManagedClusterAADProfile) error { +func (profile *ManagedClusterAADProfile) AssignProperties_From_ManagedClusterAADProfile(source *v20231102ps.ManagedClusterAADProfile) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -4008,7 +4009,7 @@ func (profile *ManagedClusterAADProfile) AssignProperties_From_ManagedClusterAAD } // AssignProperties_To_ManagedClusterAADProfile populates the provided destination ManagedClusterAADProfile from our ManagedClusterAADProfile -func (profile *ManagedClusterAADProfile) AssignProperties_To_ManagedClusterAADProfile(destination *storage.ManagedClusterAADProfile) error { +func (profile *ManagedClusterAADProfile) AssignProperties_To_ManagedClusterAADProfile(destination *v20231102ps.ManagedClusterAADProfile) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) @@ -4077,7 +4078,7 @@ type ManagedClusterAADProfile_STATUS struct { } // AssignProperties_From_ManagedClusterAADProfile_STATUS populates our ManagedClusterAADProfile_STATUS from the provided source ManagedClusterAADProfile_STATUS -func (profile *ManagedClusterAADProfile_STATUS) AssignProperties_From_ManagedClusterAADProfile_STATUS(source *storage.ManagedClusterAADProfile_STATUS) error { +func (profile *ManagedClusterAADProfile_STATUS) AssignProperties_From_ManagedClusterAADProfile_STATUS(source *v20231102ps.ManagedClusterAADProfile_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -4133,7 +4134,7 @@ func (profile *ManagedClusterAADProfile_STATUS) AssignProperties_From_ManagedClu } // AssignProperties_To_ManagedClusterAADProfile_STATUS populates the provided destination ManagedClusterAADProfile_STATUS from our ManagedClusterAADProfile_STATUS -func (profile *ManagedClusterAADProfile_STATUS) AssignProperties_To_ManagedClusterAADProfile_STATUS(destination *storage.ManagedClusterAADProfile_STATUS) error { +func (profile *ManagedClusterAADProfile_STATUS) AssignProperties_To_ManagedClusterAADProfile_STATUS(destination *v20231102ps.ManagedClusterAADProfile_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) @@ -4197,7 +4198,7 @@ type ManagedClusterAddonProfile struct { } // AssignProperties_From_ManagedClusterAddonProfile populates our ManagedClusterAddonProfile from the provided source ManagedClusterAddonProfile -func (profile *ManagedClusterAddonProfile) AssignProperties_From_ManagedClusterAddonProfile(source *storage.ManagedClusterAddonProfile) error { +func (profile *ManagedClusterAddonProfile) AssignProperties_From_ManagedClusterAddonProfile(source *v20231102ps.ManagedClusterAddonProfile) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -4233,7 +4234,7 @@ func (profile *ManagedClusterAddonProfile) AssignProperties_From_ManagedClusterA } // AssignProperties_To_ManagedClusterAddonProfile populates the provided destination ManagedClusterAddonProfile from our ManagedClusterAddonProfile -func (profile *ManagedClusterAddonProfile) AssignProperties_To_ManagedClusterAddonProfile(destination *storage.ManagedClusterAddonProfile) error { +func (profile *ManagedClusterAddonProfile) AssignProperties_To_ManagedClusterAddonProfile(destination *v20231102ps.ManagedClusterAddonProfile) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) @@ -4278,7 +4279,7 @@ type ManagedClusterAddonProfile_STATUS struct { } // AssignProperties_From_ManagedClusterAddonProfile_STATUS populates our ManagedClusterAddonProfile_STATUS from the provided source ManagedClusterAddonProfile_STATUS -func (profile *ManagedClusterAddonProfile_STATUS) AssignProperties_From_ManagedClusterAddonProfile_STATUS(source *storage.ManagedClusterAddonProfile_STATUS) error { +func (profile *ManagedClusterAddonProfile_STATUS) AssignProperties_From_ManagedClusterAddonProfile_STATUS(source *v20231102ps.ManagedClusterAddonProfile_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -4326,7 +4327,7 @@ func (profile *ManagedClusterAddonProfile_STATUS) AssignProperties_From_ManagedC } // AssignProperties_To_ManagedClusterAddonProfile_STATUS populates the provided destination ManagedClusterAddonProfile_STATUS from our ManagedClusterAddonProfile_STATUS -func (profile *ManagedClusterAddonProfile_STATUS) AssignProperties_To_ManagedClusterAddonProfile_STATUS(destination *storage.ManagedClusterAddonProfile_STATUS) error { +func (profile *ManagedClusterAddonProfile_STATUS) AssignProperties_To_ManagedClusterAddonProfile_STATUS(destination *v20231102ps.ManagedClusterAddonProfile_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) @@ -4343,7 +4344,7 @@ func (profile *ManagedClusterAddonProfile_STATUS) AssignProperties_To_ManagedClu // Identity if profile.Identity != nil { - var identity storage.UserAssignedIdentity_STATUS + var identity v20231102ps.UserAssignedIdentity_STATUS err := profile.Identity.AssignProperties_To_UserAssignedIdentity_STATUS(&identity) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_UserAssignedIdentity_STATUS() to populate field Identity") @@ -4451,7 +4452,7 @@ type ManagedClusterAgentPoolProfile struct { } // AssignProperties_From_ManagedClusterAgentPoolProfile populates our ManagedClusterAgentPoolProfile from the provided source ManagedClusterAgentPoolProfile -func (profile *ManagedClusterAgentPoolProfile) AssignProperties_From_ManagedClusterAgentPoolProfile(source *storage.ManagedClusterAgentPoolProfile) error { +func (profile *ManagedClusterAgentPoolProfile) AssignProperties_From_ManagedClusterAgentPoolProfile(source *v20231102ps.ManagedClusterAgentPoolProfile) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -4831,13 +4832,13 @@ func (profile *ManagedClusterAgentPoolProfile) AssignProperties_From_ManagedClus } // AssignProperties_To_ManagedClusterAgentPoolProfile populates the provided destination ManagedClusterAgentPoolProfile from our ManagedClusterAgentPoolProfile -func (profile *ManagedClusterAgentPoolProfile) AssignProperties_To_ManagedClusterAgentPoolProfile(destination *storage.ManagedClusterAgentPoolProfile) error { +func (profile *ManagedClusterAgentPoolProfile) AssignProperties_To_ManagedClusterAgentPoolProfile(destination *v20231102ps.ManagedClusterAgentPoolProfile) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) // ArtifactStreamingProfile if profile.ArtifactStreamingProfile != nil { - var artifactStreamingProfile storage.AgentPoolArtifactStreamingProfile + var artifactStreamingProfile v20231102ps.AgentPoolArtifactStreamingProfile err := profile.ArtifactStreamingProfile.AssignProperties_To_AgentPoolArtifactStreamingProfile(&artifactStreamingProfile) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_AgentPoolArtifactStreamingProfile() to populate field ArtifactStreamingProfile") @@ -4863,7 +4864,7 @@ func (profile *ManagedClusterAgentPoolProfile) AssignProperties_To_ManagedCluste // CreationData if profile.CreationData != nil { - var creationDatum storage.CreationData + var creationDatum v20231102ps.CreationData err := profile.CreationData.AssignProperties_To_CreationData(&creationDatum) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_CreationData() to populate field CreationData") @@ -4933,7 +4934,7 @@ func (profile *ManagedClusterAgentPoolProfile) AssignProperties_To_ManagedCluste // GpuProfile if profile.GpuProfile != nil { - var gpuProfile storage.AgentPoolGPUProfile + var gpuProfile v20231102ps.AgentPoolGPUProfile err := profile.GpuProfile.AssignProperties_To_AgentPoolGPUProfile(&gpuProfile) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_AgentPoolGPUProfile() to populate field GpuProfile") @@ -4953,7 +4954,7 @@ func (profile *ManagedClusterAgentPoolProfile) AssignProperties_To_ManagedCluste // KubeletConfig if profile.KubeletConfig != nil { - var kubeletConfig storage.KubeletConfig + var kubeletConfig v20231102ps.KubeletConfig err := profile.KubeletConfig.AssignProperties_To_KubeletConfig(&kubeletConfig) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_KubeletConfig() to populate field KubeletConfig") @@ -4968,7 +4969,7 @@ func (profile *ManagedClusterAgentPoolProfile) AssignProperties_To_ManagedCluste // LinuxOSConfig if profile.LinuxOSConfig != nil { - var linuxOSConfig storage.LinuxOSConfig + var linuxOSConfig v20231102ps.LinuxOSConfig err := profile.LinuxOSConfig.AssignProperties_To_LinuxOSConfig(&linuxOSConfig) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_LinuxOSConfig() to populate field LinuxOSConfig") @@ -4998,7 +4999,7 @@ func (profile *ManagedClusterAgentPoolProfile) AssignProperties_To_ManagedCluste // NetworkProfile if profile.NetworkProfile != nil { - var networkProfile storage.AgentPoolNetworkProfile + var networkProfile v20231102ps.AgentPoolNetworkProfile err := profile.NetworkProfile.AssignProperties_To_AgentPoolNetworkProfile(&networkProfile) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_AgentPoolNetworkProfile() to populate field NetworkProfile") @@ -5057,7 +5058,7 @@ func (profile *ManagedClusterAgentPoolProfile) AssignProperties_To_ManagedCluste // PowerState if profile.PowerState != nil { - var powerState storage.PowerState + var powerState v20231102ps.PowerState err := profile.PowerState.AssignProperties_To_PowerState(&powerState) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_PowerState() to populate field PowerState") @@ -5086,7 +5087,7 @@ func (profile *ManagedClusterAgentPoolProfile) AssignProperties_To_ManagedCluste // SecurityProfile if profile.SecurityProfile != nil { - var securityProfile storage.AgentPoolSecurityProfile + var securityProfile v20231102ps.AgentPoolSecurityProfile err := profile.SecurityProfile.AssignProperties_To_AgentPoolSecurityProfile(&securityProfile) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_AgentPoolSecurityProfile() to populate field SecurityProfile") @@ -5112,7 +5113,7 @@ func (profile *ManagedClusterAgentPoolProfile) AssignProperties_To_ManagedCluste // UpgradeSettings if profile.UpgradeSettings != nil { - var upgradeSetting storage.AgentPoolUpgradeSettings + var upgradeSetting v20231102ps.AgentPoolUpgradeSettings err := profile.UpgradeSettings.AssignProperties_To_AgentPoolUpgradeSettings(&upgradeSetting) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_AgentPoolUpgradeSettings() to populate field UpgradeSettings") @@ -5124,11 +5125,11 @@ func (profile *ManagedClusterAgentPoolProfile) AssignProperties_To_ManagedCluste // VirtualMachineNodesStatus if profile.VirtualMachineNodesStatus != nil { - virtualMachineNodesStatusList := make([]storage.VirtualMachineNodes, len(profile.VirtualMachineNodesStatus)) + virtualMachineNodesStatusList := make([]v20231102ps.VirtualMachineNodes, len(profile.VirtualMachineNodesStatus)) for virtualMachineNodesStatusIndex, virtualMachineNodesStatusItem := range profile.VirtualMachineNodesStatus { // Shadow the loop variable to avoid aliasing virtualMachineNodesStatusItem := virtualMachineNodesStatusItem - var virtualMachineNodesStatus storage.VirtualMachineNodes + var virtualMachineNodesStatus v20231102ps.VirtualMachineNodes err := virtualMachineNodesStatusItem.AssignProperties_To_VirtualMachineNodes(&virtualMachineNodesStatus) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_VirtualMachineNodes() to populate field VirtualMachineNodesStatus") @@ -5142,7 +5143,7 @@ func (profile *ManagedClusterAgentPoolProfile) AssignProperties_To_ManagedCluste // VirtualMachinesProfile if profile.VirtualMachinesProfile != nil { - var virtualMachinesProfile storage.VirtualMachinesProfile + var virtualMachinesProfile v20231102ps.VirtualMachinesProfile err := profile.VirtualMachinesProfile.AssignProperties_To_VirtualMachinesProfile(&virtualMachinesProfile) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_VirtualMachinesProfile() to populate field VirtualMachinesProfile") @@ -5165,7 +5166,7 @@ func (profile *ManagedClusterAgentPoolProfile) AssignProperties_To_ManagedCluste // WindowsProfile if profile.WindowsProfile != nil { - var windowsProfile storage.AgentPoolWindowsProfile + var windowsProfile v20231102ps.AgentPoolWindowsProfile err := profile.WindowsProfile.AssignProperties_To_AgentPoolWindowsProfile(&windowsProfile) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_AgentPoolWindowsProfile() to populate field WindowsProfile") @@ -5261,7 +5262,7 @@ type ManagedClusterAgentPoolProfile_STATUS struct { } // AssignProperties_From_ManagedClusterAgentPoolProfile_STATUS populates our ManagedClusterAgentPoolProfile_STATUS from the provided source ManagedClusterAgentPoolProfile_STATUS -func (profile *ManagedClusterAgentPoolProfile_STATUS) AssignProperties_From_ManagedClusterAgentPoolProfile_STATUS(source *storage.ManagedClusterAgentPoolProfile_STATUS) error { +func (profile *ManagedClusterAgentPoolProfile_STATUS) AssignProperties_From_ManagedClusterAgentPoolProfile_STATUS(source *v20231102ps.ManagedClusterAgentPoolProfile_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -5633,13 +5634,13 @@ func (profile *ManagedClusterAgentPoolProfile_STATUS) AssignProperties_From_Mana } // AssignProperties_To_ManagedClusterAgentPoolProfile_STATUS populates the provided destination ManagedClusterAgentPoolProfile_STATUS from our ManagedClusterAgentPoolProfile_STATUS -func (profile *ManagedClusterAgentPoolProfile_STATUS) AssignProperties_To_ManagedClusterAgentPoolProfile_STATUS(destination *storage.ManagedClusterAgentPoolProfile_STATUS) error { +func (profile *ManagedClusterAgentPoolProfile_STATUS) AssignProperties_To_ManagedClusterAgentPoolProfile_STATUS(destination *v20231102ps.ManagedClusterAgentPoolProfile_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) // ArtifactStreamingProfile if profile.ArtifactStreamingProfile != nil { - var artifactStreamingProfile storage.AgentPoolArtifactStreamingProfile_STATUS + var artifactStreamingProfile v20231102ps.AgentPoolArtifactStreamingProfile_STATUS err := profile.ArtifactStreamingProfile.AssignProperties_To_AgentPoolArtifactStreamingProfile_STATUS(&artifactStreamingProfile) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_AgentPoolArtifactStreamingProfile_STATUS() to populate field ArtifactStreamingProfile") @@ -5660,7 +5661,7 @@ func (profile *ManagedClusterAgentPoolProfile_STATUS) AssignProperties_To_Manage // CreationData if profile.CreationData != nil { - var creationDatum storage.CreationData_STATUS + var creationDatum v20231102ps.CreationData_STATUS err := profile.CreationData.AssignProperties_To_CreationData_STATUS(&creationDatum) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_CreationData_STATUS() to populate field CreationData") @@ -5740,7 +5741,7 @@ func (profile *ManagedClusterAgentPoolProfile_STATUS) AssignProperties_To_Manage // GpuProfile if profile.GpuProfile != nil { - var gpuProfile storage.AgentPoolGPUProfile_STATUS + var gpuProfile v20231102ps.AgentPoolGPUProfile_STATUS err := profile.GpuProfile.AssignProperties_To_AgentPoolGPUProfile_STATUS(&gpuProfile) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_AgentPoolGPUProfile_STATUS() to populate field GpuProfile") @@ -5755,7 +5756,7 @@ func (profile *ManagedClusterAgentPoolProfile_STATUS) AssignProperties_To_Manage // KubeletConfig if profile.KubeletConfig != nil { - var kubeletConfig storage.KubeletConfig_STATUS + var kubeletConfig v20231102ps.KubeletConfig_STATUS err := profile.KubeletConfig.AssignProperties_To_KubeletConfig_STATUS(&kubeletConfig) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_KubeletConfig_STATUS() to populate field KubeletConfig") @@ -5770,7 +5771,7 @@ func (profile *ManagedClusterAgentPoolProfile_STATUS) AssignProperties_To_Manage // LinuxOSConfig if profile.LinuxOSConfig != nil { - var linuxOSConfig storage.LinuxOSConfig_STATUS + var linuxOSConfig v20231102ps.LinuxOSConfig_STATUS err := profile.LinuxOSConfig.AssignProperties_To_LinuxOSConfig_STATUS(&linuxOSConfig) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_LinuxOSConfig_STATUS() to populate field LinuxOSConfig") @@ -5800,7 +5801,7 @@ func (profile *ManagedClusterAgentPoolProfile_STATUS) AssignProperties_To_Manage // NetworkProfile if profile.NetworkProfile != nil { - var networkProfile storage.AgentPoolNetworkProfile_STATUS + var networkProfile v20231102ps.AgentPoolNetworkProfile_STATUS err := profile.NetworkProfile.AssignProperties_To_AgentPoolNetworkProfile_STATUS(&networkProfile) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_AgentPoolNetworkProfile_STATUS() to populate field NetworkProfile") @@ -5852,7 +5853,7 @@ func (profile *ManagedClusterAgentPoolProfile_STATUS) AssignProperties_To_Manage // PowerState if profile.PowerState != nil { - var powerState storage.PowerState_STATUS + var powerState v20231102ps.PowerState_STATUS err := profile.PowerState.AssignProperties_To_PowerState_STATUS(&powerState) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_PowerState_STATUS() to populate field PowerState") @@ -5879,7 +5880,7 @@ func (profile *ManagedClusterAgentPoolProfile_STATUS) AssignProperties_To_Manage // SecurityProfile if profile.SecurityProfile != nil { - var securityProfile storage.AgentPoolSecurityProfile_STATUS + var securityProfile v20231102ps.AgentPoolSecurityProfile_STATUS err := profile.SecurityProfile.AssignProperties_To_AgentPoolSecurityProfile_STATUS(&securityProfile) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_AgentPoolSecurityProfile_STATUS() to populate field SecurityProfile") @@ -5905,7 +5906,7 @@ func (profile *ManagedClusterAgentPoolProfile_STATUS) AssignProperties_To_Manage // UpgradeSettings if profile.UpgradeSettings != nil { - var upgradeSetting storage.AgentPoolUpgradeSettings_STATUS + var upgradeSetting v20231102ps.AgentPoolUpgradeSettings_STATUS err := profile.UpgradeSettings.AssignProperties_To_AgentPoolUpgradeSettings_STATUS(&upgradeSetting) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_AgentPoolUpgradeSettings_STATUS() to populate field UpgradeSettings") @@ -5917,11 +5918,11 @@ func (profile *ManagedClusterAgentPoolProfile_STATUS) AssignProperties_To_Manage // VirtualMachineNodesStatus if profile.VirtualMachineNodesStatus != nil { - virtualMachineNodesStatusList := make([]storage.VirtualMachineNodes_STATUS, len(profile.VirtualMachineNodesStatus)) + virtualMachineNodesStatusList := make([]v20231102ps.VirtualMachineNodes_STATUS, len(profile.VirtualMachineNodesStatus)) for virtualMachineNodesStatusIndex, virtualMachineNodesStatusItem := range profile.VirtualMachineNodesStatus { // Shadow the loop variable to avoid aliasing virtualMachineNodesStatusItem := virtualMachineNodesStatusItem - var virtualMachineNodesStatus storage.VirtualMachineNodes_STATUS + var virtualMachineNodesStatus v20231102ps.VirtualMachineNodes_STATUS err := virtualMachineNodesStatusItem.AssignProperties_To_VirtualMachineNodes_STATUS(&virtualMachineNodesStatus) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_VirtualMachineNodes_STATUS() to populate field VirtualMachineNodesStatus") @@ -5935,7 +5936,7 @@ func (profile *ManagedClusterAgentPoolProfile_STATUS) AssignProperties_To_Manage // VirtualMachinesProfile if profile.VirtualMachinesProfile != nil { - var virtualMachinesProfile storage.VirtualMachinesProfile_STATUS + var virtualMachinesProfile v20231102ps.VirtualMachinesProfile_STATUS err := profile.VirtualMachinesProfile.AssignProperties_To_VirtualMachinesProfile_STATUS(&virtualMachinesProfile) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_VirtualMachinesProfile_STATUS() to populate field VirtualMachinesProfile") @@ -5953,7 +5954,7 @@ func (profile *ManagedClusterAgentPoolProfile_STATUS) AssignProperties_To_Manage // WindowsProfile if profile.WindowsProfile != nil { - var windowsProfile storage.AgentPoolWindowsProfile_STATUS + var windowsProfile v20231102ps.AgentPoolWindowsProfile_STATUS err := profile.WindowsProfile.AssignProperties_To_AgentPoolWindowsProfile_STATUS(&windowsProfile) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_AgentPoolWindowsProfile_STATUS() to populate field WindowsProfile") @@ -5996,7 +5997,7 @@ type ManagedClusterAIToolchainOperatorProfile struct { } // AssignProperties_From_ManagedClusterAIToolchainOperatorProfile populates our ManagedClusterAIToolchainOperatorProfile from the provided source ManagedClusterAIToolchainOperatorProfile -func (profile *ManagedClusterAIToolchainOperatorProfile) AssignProperties_From_ManagedClusterAIToolchainOperatorProfile(source *storage.ManagedClusterAIToolchainOperatorProfile) error { +func (profile *ManagedClusterAIToolchainOperatorProfile) AssignProperties_From_ManagedClusterAIToolchainOperatorProfile(source *v20231102ps.ManagedClusterAIToolchainOperatorProfile) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -6029,7 +6030,7 @@ func (profile *ManagedClusterAIToolchainOperatorProfile) AssignProperties_From_M } // AssignProperties_To_ManagedClusterAIToolchainOperatorProfile populates the provided destination ManagedClusterAIToolchainOperatorProfile from our ManagedClusterAIToolchainOperatorProfile -func (profile *ManagedClusterAIToolchainOperatorProfile) AssignProperties_To_ManagedClusterAIToolchainOperatorProfile(destination *storage.ManagedClusterAIToolchainOperatorProfile) error { +func (profile *ManagedClusterAIToolchainOperatorProfile) AssignProperties_To_ManagedClusterAIToolchainOperatorProfile(destination *v20231102ps.ManagedClusterAIToolchainOperatorProfile) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) @@ -6071,7 +6072,7 @@ type ManagedClusterAIToolchainOperatorProfile_STATUS struct { } // AssignProperties_From_ManagedClusterAIToolchainOperatorProfile_STATUS populates our ManagedClusterAIToolchainOperatorProfile_STATUS from the provided source ManagedClusterAIToolchainOperatorProfile_STATUS -func (profile *ManagedClusterAIToolchainOperatorProfile_STATUS) AssignProperties_From_ManagedClusterAIToolchainOperatorProfile_STATUS(source *storage.ManagedClusterAIToolchainOperatorProfile_STATUS) error { +func (profile *ManagedClusterAIToolchainOperatorProfile_STATUS) AssignProperties_From_ManagedClusterAIToolchainOperatorProfile_STATUS(source *v20231102ps.ManagedClusterAIToolchainOperatorProfile_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -6104,7 +6105,7 @@ func (profile *ManagedClusterAIToolchainOperatorProfile_STATUS) AssignProperties } // AssignProperties_To_ManagedClusterAIToolchainOperatorProfile_STATUS populates the provided destination ManagedClusterAIToolchainOperatorProfile_STATUS from our ManagedClusterAIToolchainOperatorProfile_STATUS -func (profile *ManagedClusterAIToolchainOperatorProfile_STATUS) AssignProperties_To_ManagedClusterAIToolchainOperatorProfile_STATUS(destination *storage.ManagedClusterAIToolchainOperatorProfile_STATUS) error { +func (profile *ManagedClusterAIToolchainOperatorProfile_STATUS) AssignProperties_To_ManagedClusterAIToolchainOperatorProfile_STATUS(destination *v20231102ps.ManagedClusterAIToolchainOperatorProfile_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) @@ -6150,7 +6151,7 @@ type ManagedClusterAPIServerAccessProfile struct { } // AssignProperties_From_ManagedClusterAPIServerAccessProfile populates our ManagedClusterAPIServerAccessProfile from the provided source ManagedClusterAPIServerAccessProfile -func (profile *ManagedClusterAPIServerAccessProfile) AssignProperties_From_ManagedClusterAPIServerAccessProfile(source *storage.ManagedClusterAPIServerAccessProfile) error { +func (profile *ManagedClusterAPIServerAccessProfile) AssignProperties_From_ManagedClusterAPIServerAccessProfile(source *v20231102ps.ManagedClusterAPIServerAccessProfile) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -6216,7 +6217,7 @@ func (profile *ManagedClusterAPIServerAccessProfile) AssignProperties_From_Manag } // AssignProperties_To_ManagedClusterAPIServerAccessProfile populates the provided destination ManagedClusterAPIServerAccessProfile from our ManagedClusterAPIServerAccessProfile -func (profile *ManagedClusterAPIServerAccessProfile) AssignProperties_To_ManagedClusterAPIServerAccessProfile(destination *storage.ManagedClusterAPIServerAccessProfile) error { +func (profile *ManagedClusterAPIServerAccessProfile) AssignProperties_To_ManagedClusterAPIServerAccessProfile(destination *v20231102ps.ManagedClusterAPIServerAccessProfile) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) @@ -6295,7 +6296,7 @@ type ManagedClusterAPIServerAccessProfile_STATUS struct { } // AssignProperties_From_ManagedClusterAPIServerAccessProfile_STATUS populates our ManagedClusterAPIServerAccessProfile_STATUS from the provided source ManagedClusterAPIServerAccessProfile_STATUS -func (profile *ManagedClusterAPIServerAccessProfile_STATUS) AssignProperties_From_ManagedClusterAPIServerAccessProfile_STATUS(source *storage.ManagedClusterAPIServerAccessProfile_STATUS) error { +func (profile *ManagedClusterAPIServerAccessProfile_STATUS) AssignProperties_From_ManagedClusterAPIServerAccessProfile_STATUS(source *v20231102ps.ManagedClusterAPIServerAccessProfile_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -6361,7 +6362,7 @@ func (profile *ManagedClusterAPIServerAccessProfile_STATUS) AssignProperties_Fro } // AssignProperties_To_ManagedClusterAPIServerAccessProfile_STATUS populates the provided destination ManagedClusterAPIServerAccessProfile_STATUS from our ManagedClusterAPIServerAccessProfile_STATUS -func (profile *ManagedClusterAPIServerAccessProfile_STATUS) AssignProperties_To_ManagedClusterAPIServerAccessProfile_STATUS(destination *storage.ManagedClusterAPIServerAccessProfile_STATUS) error { +func (profile *ManagedClusterAPIServerAccessProfile_STATUS) AssignProperties_To_ManagedClusterAPIServerAccessProfile_STATUS(destination *v20231102ps.ManagedClusterAPIServerAccessProfile_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) @@ -6435,7 +6436,7 @@ type ManagedClusterAutoUpgradeProfile struct { } // AssignProperties_From_ManagedClusterAutoUpgradeProfile populates our ManagedClusterAutoUpgradeProfile from the provided source ManagedClusterAutoUpgradeProfile -func (profile *ManagedClusterAutoUpgradeProfile) AssignProperties_From_ManagedClusterAutoUpgradeProfile(source *storage.ManagedClusterAutoUpgradeProfile) error { +func (profile *ManagedClusterAutoUpgradeProfile) AssignProperties_From_ManagedClusterAutoUpgradeProfile(source *v20231102ps.ManagedClusterAutoUpgradeProfile) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -6466,7 +6467,7 @@ func (profile *ManagedClusterAutoUpgradeProfile) AssignProperties_From_ManagedCl } // AssignProperties_To_ManagedClusterAutoUpgradeProfile populates the provided destination ManagedClusterAutoUpgradeProfile from our ManagedClusterAutoUpgradeProfile -func (profile *ManagedClusterAutoUpgradeProfile) AssignProperties_To_ManagedClusterAutoUpgradeProfile(destination *storage.ManagedClusterAutoUpgradeProfile) error { +func (profile *ManagedClusterAutoUpgradeProfile) AssignProperties_To_ManagedClusterAutoUpgradeProfile(destination *v20231102ps.ManagedClusterAutoUpgradeProfile) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) @@ -6505,7 +6506,7 @@ type ManagedClusterAutoUpgradeProfile_STATUS struct { } // AssignProperties_From_ManagedClusterAutoUpgradeProfile_STATUS populates our ManagedClusterAutoUpgradeProfile_STATUS from the provided source ManagedClusterAutoUpgradeProfile_STATUS -func (profile *ManagedClusterAutoUpgradeProfile_STATUS) AssignProperties_From_ManagedClusterAutoUpgradeProfile_STATUS(source *storage.ManagedClusterAutoUpgradeProfile_STATUS) error { +func (profile *ManagedClusterAutoUpgradeProfile_STATUS) AssignProperties_From_ManagedClusterAutoUpgradeProfile_STATUS(source *v20231102ps.ManagedClusterAutoUpgradeProfile_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -6536,7 +6537,7 @@ func (profile *ManagedClusterAutoUpgradeProfile_STATUS) AssignProperties_From_Ma } // AssignProperties_To_ManagedClusterAutoUpgradeProfile_STATUS populates the provided destination ManagedClusterAutoUpgradeProfile_STATUS from our ManagedClusterAutoUpgradeProfile_STATUS -func (profile *ManagedClusterAutoUpgradeProfile_STATUS) AssignProperties_To_ManagedClusterAutoUpgradeProfile_STATUS(destination *storage.ManagedClusterAutoUpgradeProfile_STATUS) error { +func (profile *ManagedClusterAutoUpgradeProfile_STATUS) AssignProperties_To_ManagedClusterAutoUpgradeProfile_STATUS(destination *v20231102ps.ManagedClusterAutoUpgradeProfile_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) @@ -6576,7 +6577,7 @@ type ManagedClusterAzureMonitorProfile struct { } // AssignProperties_From_ManagedClusterAzureMonitorProfile populates our ManagedClusterAzureMonitorProfile from the provided source ManagedClusterAzureMonitorProfile -func (profile *ManagedClusterAzureMonitorProfile) AssignProperties_From_ManagedClusterAzureMonitorProfile(source *storage.ManagedClusterAzureMonitorProfile) error { +func (profile *ManagedClusterAzureMonitorProfile) AssignProperties_From_ManagedClusterAzureMonitorProfile(source *v20231102ps.ManagedClusterAzureMonitorProfile) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -6646,7 +6647,7 @@ func (profile *ManagedClusterAzureMonitorProfile) AssignProperties_From_ManagedC } // AssignProperties_To_ManagedClusterAzureMonitorProfile populates the provided destination ManagedClusterAzureMonitorProfile from our ManagedClusterAzureMonitorProfile -func (profile *ManagedClusterAzureMonitorProfile) AssignProperties_To_ManagedClusterAzureMonitorProfile(destination *storage.ManagedClusterAzureMonitorProfile) error { +func (profile *ManagedClusterAzureMonitorProfile) AssignProperties_To_ManagedClusterAzureMonitorProfile(destination *v20231102ps.ManagedClusterAzureMonitorProfile) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) @@ -6666,7 +6667,7 @@ func (profile *ManagedClusterAzureMonitorProfile) AssignProperties_To_ManagedClu // Logs if propertyBag.Contains("Logs") { - var log storage.ManagedClusterAzureMonitorProfileLogs + var log v20231102ps.ManagedClusterAzureMonitorProfileLogs err := propertyBag.Pull("Logs", &log) if err != nil { return errors.Wrap(err, "pulling 'Logs' from propertyBag") @@ -6679,7 +6680,7 @@ func (profile *ManagedClusterAzureMonitorProfile) AssignProperties_To_ManagedClu // Metrics if profile.Metrics != nil { - var metric storage.ManagedClusterAzureMonitorProfileMetrics + var metric v20231102ps.ManagedClusterAzureMonitorProfileMetrics err := profile.Metrics.AssignProperties_To_ManagedClusterAzureMonitorProfileMetrics(&metric) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterAzureMonitorProfileMetrics() to populate field Metrics") @@ -6719,7 +6720,7 @@ type ManagedClusterAzureMonitorProfile_STATUS struct { } // AssignProperties_From_ManagedClusterAzureMonitorProfile_STATUS populates our ManagedClusterAzureMonitorProfile_STATUS from the provided source ManagedClusterAzureMonitorProfile_STATUS -func (profile *ManagedClusterAzureMonitorProfile_STATUS) AssignProperties_From_ManagedClusterAzureMonitorProfile_STATUS(source *storage.ManagedClusterAzureMonitorProfile_STATUS) error { +func (profile *ManagedClusterAzureMonitorProfile_STATUS) AssignProperties_From_ManagedClusterAzureMonitorProfile_STATUS(source *v20231102ps.ManagedClusterAzureMonitorProfile_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -6789,7 +6790,7 @@ func (profile *ManagedClusterAzureMonitorProfile_STATUS) AssignProperties_From_M } // AssignProperties_To_ManagedClusterAzureMonitorProfile_STATUS populates the provided destination ManagedClusterAzureMonitorProfile_STATUS from our ManagedClusterAzureMonitorProfile_STATUS -func (profile *ManagedClusterAzureMonitorProfile_STATUS) AssignProperties_To_ManagedClusterAzureMonitorProfile_STATUS(destination *storage.ManagedClusterAzureMonitorProfile_STATUS) error { +func (profile *ManagedClusterAzureMonitorProfile_STATUS) AssignProperties_To_ManagedClusterAzureMonitorProfile_STATUS(destination *v20231102ps.ManagedClusterAzureMonitorProfile_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) @@ -6809,7 +6810,7 @@ func (profile *ManagedClusterAzureMonitorProfile_STATUS) AssignProperties_To_Man // Logs if propertyBag.Contains("Logs") { - var log storage.ManagedClusterAzureMonitorProfileLogs_STATUS + var log v20231102ps.ManagedClusterAzureMonitorProfileLogs_STATUS err := propertyBag.Pull("Logs", &log) if err != nil { return errors.Wrap(err, "pulling 'Logs' from propertyBag") @@ -6822,7 +6823,7 @@ func (profile *ManagedClusterAzureMonitorProfile_STATUS) AssignProperties_To_Man // Metrics if profile.Metrics != nil { - var metric storage.ManagedClusterAzureMonitorProfileMetrics_STATUS + var metric v20231102ps.ManagedClusterAzureMonitorProfileMetrics_STATUS err := profile.Metrics.AssignProperties_To_ManagedClusterAzureMonitorProfileMetrics_STATUS(&metric) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterAzureMonitorProfileMetrics_STATUS() to populate field Metrics") @@ -6882,7 +6883,7 @@ type ManagedClusterHTTPProxyConfig struct { } // AssignProperties_From_ManagedClusterHTTPProxyConfig populates our ManagedClusterHTTPProxyConfig from the provided source ManagedClusterHTTPProxyConfig -func (config *ManagedClusterHTTPProxyConfig) AssignProperties_From_ManagedClusterHTTPProxyConfig(source *storage.ManagedClusterHTTPProxyConfig) error { +func (config *ManagedClusterHTTPProxyConfig) AssignProperties_From_ManagedClusterHTTPProxyConfig(source *v20231102ps.ManagedClusterHTTPProxyConfig) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -6919,7 +6920,7 @@ func (config *ManagedClusterHTTPProxyConfig) AssignProperties_From_ManagedCluste } // AssignProperties_To_ManagedClusterHTTPProxyConfig populates the provided destination ManagedClusterHTTPProxyConfig from our ManagedClusterHTTPProxyConfig -func (config *ManagedClusterHTTPProxyConfig) AssignProperties_To_ManagedClusterHTTPProxyConfig(destination *storage.ManagedClusterHTTPProxyConfig) error { +func (config *ManagedClusterHTTPProxyConfig) AssignProperties_To_ManagedClusterHTTPProxyConfig(destination *v20231102ps.ManagedClusterHTTPProxyConfig) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(config.PropertyBag) @@ -6967,7 +6968,7 @@ type ManagedClusterHTTPProxyConfig_STATUS struct { } // AssignProperties_From_ManagedClusterHTTPProxyConfig_STATUS populates our ManagedClusterHTTPProxyConfig_STATUS from the provided source ManagedClusterHTTPProxyConfig_STATUS -func (config *ManagedClusterHTTPProxyConfig_STATUS) AssignProperties_From_ManagedClusterHTTPProxyConfig_STATUS(source *storage.ManagedClusterHTTPProxyConfig_STATUS) error { +func (config *ManagedClusterHTTPProxyConfig_STATUS) AssignProperties_From_ManagedClusterHTTPProxyConfig_STATUS(source *v20231102ps.ManagedClusterHTTPProxyConfig_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -7007,7 +7008,7 @@ func (config *ManagedClusterHTTPProxyConfig_STATUS) AssignProperties_From_Manage } // AssignProperties_To_ManagedClusterHTTPProxyConfig_STATUS populates the provided destination ManagedClusterHTTPProxyConfig_STATUS from our ManagedClusterHTTPProxyConfig_STATUS -func (config *ManagedClusterHTTPProxyConfig_STATUS) AssignProperties_To_ManagedClusterHTTPProxyConfig_STATUS(destination *storage.ManagedClusterHTTPProxyConfig_STATUS) error { +func (config *ManagedClusterHTTPProxyConfig_STATUS) AssignProperties_To_ManagedClusterHTTPProxyConfig_STATUS(destination *v20231102ps.ManagedClusterHTTPProxyConfig_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(config.PropertyBag) @@ -7056,7 +7057,7 @@ type ManagedClusterIdentity struct { } // AssignProperties_From_ManagedClusterIdentity populates our ManagedClusterIdentity from the provided source ManagedClusterIdentity -func (identity *ManagedClusterIdentity) AssignProperties_From_ManagedClusterIdentity(source *storage.ManagedClusterIdentity) error { +func (identity *ManagedClusterIdentity) AssignProperties_From_ManagedClusterIdentity(source *v20231102ps.ManagedClusterIdentity) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -7120,17 +7121,17 @@ func (identity *ManagedClusterIdentity) AssignProperties_From_ManagedClusterIden } // AssignProperties_To_ManagedClusterIdentity populates the provided destination ManagedClusterIdentity from our ManagedClusterIdentity -func (identity *ManagedClusterIdentity) AssignProperties_To_ManagedClusterIdentity(destination *storage.ManagedClusterIdentity) error { +func (identity *ManagedClusterIdentity) AssignProperties_To_ManagedClusterIdentity(destination *v20231102ps.ManagedClusterIdentity) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(identity.PropertyBag) // DelegatedResources if identity.DelegatedResources != nil { - delegatedResourceMap := make(map[string]storage.DelegatedResource, len(identity.DelegatedResources)) + delegatedResourceMap := make(map[string]v20231102ps.DelegatedResource, len(identity.DelegatedResources)) for delegatedResourceKey, delegatedResourceValue := range identity.DelegatedResources { // Shadow the loop variable to avoid aliasing delegatedResourceValue := delegatedResourceValue - var delegatedResource storage.DelegatedResource + var delegatedResource v20231102ps.DelegatedResource err := delegatedResourceValue.AssignProperties_To_DelegatedResource(&delegatedResource) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_DelegatedResource() to populate field DelegatedResources") @@ -7147,11 +7148,11 @@ func (identity *ManagedClusterIdentity) AssignProperties_To_ManagedClusterIdenti // UserAssignedIdentities if identity.UserAssignedIdentities != nil { - userAssignedIdentityList := make([]storage.UserAssignedIdentityDetails, len(identity.UserAssignedIdentities)) + userAssignedIdentityList := make([]v20231102ps.UserAssignedIdentityDetails, len(identity.UserAssignedIdentities)) for userAssignedIdentityIndex, userAssignedIdentityItem := range identity.UserAssignedIdentities { // Shadow the loop variable to avoid aliasing userAssignedIdentityItem := userAssignedIdentityItem - var userAssignedIdentity storage.UserAssignedIdentityDetails + var userAssignedIdentity v20231102ps.UserAssignedIdentityDetails err := userAssignedIdentityItem.AssignProperties_To_UserAssignedIdentityDetails(&userAssignedIdentity) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_UserAssignedIdentityDetails() to populate field UserAssignedIdentities") @@ -7195,7 +7196,7 @@ type ManagedClusterIdentity_STATUS struct { } // AssignProperties_From_ManagedClusterIdentity_STATUS populates our ManagedClusterIdentity_STATUS from the provided source ManagedClusterIdentity_STATUS -func (identity *ManagedClusterIdentity_STATUS) AssignProperties_From_ManagedClusterIdentity_STATUS(source *storage.ManagedClusterIdentity_STATUS) error { +func (identity *ManagedClusterIdentity_STATUS) AssignProperties_From_ManagedClusterIdentity_STATUS(source *v20231102ps.ManagedClusterIdentity_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -7265,17 +7266,17 @@ func (identity *ManagedClusterIdentity_STATUS) AssignProperties_From_ManagedClus } // AssignProperties_To_ManagedClusterIdentity_STATUS populates the provided destination ManagedClusterIdentity_STATUS from our ManagedClusterIdentity_STATUS -func (identity *ManagedClusterIdentity_STATUS) AssignProperties_To_ManagedClusterIdentity_STATUS(destination *storage.ManagedClusterIdentity_STATUS) error { +func (identity *ManagedClusterIdentity_STATUS) AssignProperties_To_ManagedClusterIdentity_STATUS(destination *v20231102ps.ManagedClusterIdentity_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(identity.PropertyBag) // DelegatedResources if identity.DelegatedResources != nil { - delegatedResourceMap := make(map[string]storage.DelegatedResource_STATUS, len(identity.DelegatedResources)) + delegatedResourceMap := make(map[string]v20231102ps.DelegatedResource_STATUS, len(identity.DelegatedResources)) for delegatedResourceKey, delegatedResourceValue := range identity.DelegatedResources { // Shadow the loop variable to avoid aliasing delegatedResourceValue := delegatedResourceValue - var delegatedResource storage.DelegatedResource_STATUS + var delegatedResource v20231102ps.DelegatedResource_STATUS err := delegatedResourceValue.AssignProperties_To_DelegatedResource_STATUS(&delegatedResource) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_DelegatedResource_STATUS() to populate field DelegatedResources") @@ -7298,11 +7299,11 @@ func (identity *ManagedClusterIdentity_STATUS) AssignProperties_To_ManagedCluste // UserAssignedIdentities if identity.UserAssignedIdentities != nil { - userAssignedIdentityMap := make(map[string]storage.ManagedClusterIdentity_UserAssignedIdentities_STATUS, len(identity.UserAssignedIdentities)) + userAssignedIdentityMap := make(map[string]v20231102ps.ManagedClusterIdentity_UserAssignedIdentities_STATUS, len(identity.UserAssignedIdentities)) for userAssignedIdentityKey, userAssignedIdentityValue := range identity.UserAssignedIdentities { // Shadow the loop variable to avoid aliasing userAssignedIdentityValue := userAssignedIdentityValue - var userAssignedIdentity storage.ManagedClusterIdentity_UserAssignedIdentities_STATUS + var userAssignedIdentity v20231102ps.ManagedClusterIdentity_UserAssignedIdentities_STATUS err := userAssignedIdentityValue.AssignProperties_To_ManagedClusterIdentity_UserAssignedIdentities_STATUS(&userAssignedIdentity) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterIdentity_UserAssignedIdentities_STATUS() to populate field UserAssignedIdentities") @@ -7342,7 +7343,7 @@ type ManagedClusterIngressProfile struct { } // AssignProperties_From_ManagedClusterIngressProfile populates our ManagedClusterIngressProfile from the provided source ManagedClusterIngressProfile -func (profile *ManagedClusterIngressProfile) AssignProperties_From_ManagedClusterIngressProfile(source *storage.ManagedClusterIngressProfile) error { +func (profile *ManagedClusterIngressProfile) AssignProperties_From_ManagedClusterIngressProfile(source *v20231102ps.ManagedClusterIngressProfile) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -7379,13 +7380,13 @@ func (profile *ManagedClusterIngressProfile) AssignProperties_From_ManagedCluste } // AssignProperties_To_ManagedClusterIngressProfile populates the provided destination ManagedClusterIngressProfile from our ManagedClusterIngressProfile -func (profile *ManagedClusterIngressProfile) AssignProperties_To_ManagedClusterIngressProfile(destination *storage.ManagedClusterIngressProfile) error { +func (profile *ManagedClusterIngressProfile) AssignProperties_To_ManagedClusterIngressProfile(destination *v20231102ps.ManagedClusterIngressProfile) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) // WebAppRouting if profile.WebAppRouting != nil { - var webAppRouting storage.ManagedClusterIngressProfileWebAppRouting + var webAppRouting v20231102ps.ManagedClusterIngressProfileWebAppRouting err := profile.WebAppRouting.AssignProperties_To_ManagedClusterIngressProfileWebAppRouting(&webAppRouting) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterIngressProfileWebAppRouting() to populate field WebAppRouting") @@ -7423,7 +7424,7 @@ type ManagedClusterIngressProfile_STATUS struct { } // AssignProperties_From_ManagedClusterIngressProfile_STATUS populates our ManagedClusterIngressProfile_STATUS from the provided source ManagedClusterIngressProfile_STATUS -func (profile *ManagedClusterIngressProfile_STATUS) AssignProperties_From_ManagedClusterIngressProfile_STATUS(source *storage.ManagedClusterIngressProfile_STATUS) error { +func (profile *ManagedClusterIngressProfile_STATUS) AssignProperties_From_ManagedClusterIngressProfile_STATUS(source *v20231102ps.ManagedClusterIngressProfile_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -7460,13 +7461,13 @@ func (profile *ManagedClusterIngressProfile_STATUS) AssignProperties_From_Manage } // AssignProperties_To_ManagedClusterIngressProfile_STATUS populates the provided destination ManagedClusterIngressProfile_STATUS from our ManagedClusterIngressProfile_STATUS -func (profile *ManagedClusterIngressProfile_STATUS) AssignProperties_To_ManagedClusterIngressProfile_STATUS(destination *storage.ManagedClusterIngressProfile_STATUS) error { +func (profile *ManagedClusterIngressProfile_STATUS) AssignProperties_To_ManagedClusterIngressProfile_STATUS(destination *v20231102ps.ManagedClusterIngressProfile_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) // WebAppRouting if profile.WebAppRouting != nil { - var webAppRouting storage.ManagedClusterIngressProfileWebAppRouting_STATUS + var webAppRouting v20231102ps.ManagedClusterIngressProfileWebAppRouting_STATUS err := profile.WebAppRouting.AssignProperties_To_ManagedClusterIngressProfileWebAppRouting_STATUS(&webAppRouting) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterIngressProfileWebAppRouting_STATUS() to populate field WebAppRouting") @@ -7504,7 +7505,7 @@ type ManagedClusterMetricsProfile struct { } // AssignProperties_From_ManagedClusterMetricsProfile populates our ManagedClusterMetricsProfile from the provided source ManagedClusterMetricsProfile -func (profile *ManagedClusterMetricsProfile) AssignProperties_From_ManagedClusterMetricsProfile(source *storage.ManagedClusterMetricsProfile) error { +func (profile *ManagedClusterMetricsProfile) AssignProperties_From_ManagedClusterMetricsProfile(source *v20231102ps.ManagedClusterMetricsProfile) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -7541,13 +7542,13 @@ func (profile *ManagedClusterMetricsProfile) AssignProperties_From_ManagedCluste } // AssignProperties_To_ManagedClusterMetricsProfile populates the provided destination ManagedClusterMetricsProfile from our ManagedClusterMetricsProfile -func (profile *ManagedClusterMetricsProfile) AssignProperties_To_ManagedClusterMetricsProfile(destination *storage.ManagedClusterMetricsProfile) error { +func (profile *ManagedClusterMetricsProfile) AssignProperties_To_ManagedClusterMetricsProfile(destination *v20231102ps.ManagedClusterMetricsProfile) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) // CostAnalysis if profile.CostAnalysis != nil { - var costAnalysis storage.ManagedClusterCostAnalysis + var costAnalysis v20231102ps.ManagedClusterCostAnalysis err := profile.CostAnalysis.AssignProperties_To_ManagedClusterCostAnalysis(&costAnalysis) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterCostAnalysis() to populate field CostAnalysis") @@ -7585,7 +7586,7 @@ type ManagedClusterMetricsProfile_STATUS struct { } // AssignProperties_From_ManagedClusterMetricsProfile_STATUS populates our ManagedClusterMetricsProfile_STATUS from the provided source ManagedClusterMetricsProfile_STATUS -func (profile *ManagedClusterMetricsProfile_STATUS) AssignProperties_From_ManagedClusterMetricsProfile_STATUS(source *storage.ManagedClusterMetricsProfile_STATUS) error { +func (profile *ManagedClusterMetricsProfile_STATUS) AssignProperties_From_ManagedClusterMetricsProfile_STATUS(source *v20231102ps.ManagedClusterMetricsProfile_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -7622,13 +7623,13 @@ func (profile *ManagedClusterMetricsProfile_STATUS) AssignProperties_From_Manage } // AssignProperties_To_ManagedClusterMetricsProfile_STATUS populates the provided destination ManagedClusterMetricsProfile_STATUS from our ManagedClusterMetricsProfile_STATUS -func (profile *ManagedClusterMetricsProfile_STATUS) AssignProperties_To_ManagedClusterMetricsProfile_STATUS(destination *storage.ManagedClusterMetricsProfile_STATUS) error { +func (profile *ManagedClusterMetricsProfile_STATUS) AssignProperties_To_ManagedClusterMetricsProfile_STATUS(destination *v20231102ps.ManagedClusterMetricsProfile_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) // CostAnalysis if profile.CostAnalysis != nil { - var costAnalysis storage.ManagedClusterCostAnalysis_STATUS + var costAnalysis v20231102ps.ManagedClusterCostAnalysis_STATUS err := profile.CostAnalysis.AssignProperties_To_ManagedClusterCostAnalysis_STATUS(&costAnalysis) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterCostAnalysis_STATUS() to populate field CostAnalysis") @@ -7665,7 +7666,7 @@ type ManagedClusterNodeProvisioningProfile struct { } // AssignProperties_From_ManagedClusterNodeProvisioningProfile populates our ManagedClusterNodeProvisioningProfile from the provided source ManagedClusterNodeProvisioningProfile -func (profile *ManagedClusterNodeProvisioningProfile) AssignProperties_From_ManagedClusterNodeProvisioningProfile(source *storage.ManagedClusterNodeProvisioningProfile) error { +func (profile *ManagedClusterNodeProvisioningProfile) AssignProperties_From_ManagedClusterNodeProvisioningProfile(source *v20231102ps.ManagedClusterNodeProvisioningProfile) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -7693,7 +7694,7 @@ func (profile *ManagedClusterNodeProvisioningProfile) AssignProperties_From_Mana } // AssignProperties_To_ManagedClusterNodeProvisioningProfile populates the provided destination ManagedClusterNodeProvisioningProfile from our ManagedClusterNodeProvisioningProfile -func (profile *ManagedClusterNodeProvisioningProfile) AssignProperties_To_ManagedClusterNodeProvisioningProfile(destination *storage.ManagedClusterNodeProvisioningProfile) error { +func (profile *ManagedClusterNodeProvisioningProfile) AssignProperties_To_ManagedClusterNodeProvisioningProfile(destination *v20231102ps.ManagedClusterNodeProvisioningProfile) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) @@ -7727,7 +7728,7 @@ type ManagedClusterNodeProvisioningProfile_STATUS struct { } // AssignProperties_From_ManagedClusterNodeProvisioningProfile_STATUS populates our ManagedClusterNodeProvisioningProfile_STATUS from the provided source ManagedClusterNodeProvisioningProfile_STATUS -func (profile *ManagedClusterNodeProvisioningProfile_STATUS) AssignProperties_From_ManagedClusterNodeProvisioningProfile_STATUS(source *storage.ManagedClusterNodeProvisioningProfile_STATUS) error { +func (profile *ManagedClusterNodeProvisioningProfile_STATUS) AssignProperties_From_ManagedClusterNodeProvisioningProfile_STATUS(source *v20231102ps.ManagedClusterNodeProvisioningProfile_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -7755,7 +7756,7 @@ func (profile *ManagedClusterNodeProvisioningProfile_STATUS) AssignProperties_Fr } // AssignProperties_To_ManagedClusterNodeProvisioningProfile_STATUS populates the provided destination ManagedClusterNodeProvisioningProfile_STATUS from our ManagedClusterNodeProvisioningProfile_STATUS -func (profile *ManagedClusterNodeProvisioningProfile_STATUS) AssignProperties_To_ManagedClusterNodeProvisioningProfile_STATUS(destination *storage.ManagedClusterNodeProvisioningProfile_STATUS) error { +func (profile *ManagedClusterNodeProvisioningProfile_STATUS) AssignProperties_To_ManagedClusterNodeProvisioningProfile_STATUS(destination *v20231102ps.ManagedClusterNodeProvisioningProfile_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) @@ -7790,7 +7791,7 @@ type ManagedClusterNodeResourceGroupProfile struct { } // AssignProperties_From_ManagedClusterNodeResourceGroupProfile populates our ManagedClusterNodeResourceGroupProfile from the provided source ManagedClusterNodeResourceGroupProfile -func (profile *ManagedClusterNodeResourceGroupProfile) AssignProperties_From_ManagedClusterNodeResourceGroupProfile(source *storage.ManagedClusterNodeResourceGroupProfile) error { +func (profile *ManagedClusterNodeResourceGroupProfile) AssignProperties_From_ManagedClusterNodeResourceGroupProfile(source *v20231102ps.ManagedClusterNodeResourceGroupProfile) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -7818,7 +7819,7 @@ func (profile *ManagedClusterNodeResourceGroupProfile) AssignProperties_From_Man } // AssignProperties_To_ManagedClusterNodeResourceGroupProfile populates the provided destination ManagedClusterNodeResourceGroupProfile from our ManagedClusterNodeResourceGroupProfile -func (profile *ManagedClusterNodeResourceGroupProfile) AssignProperties_To_ManagedClusterNodeResourceGroupProfile(destination *storage.ManagedClusterNodeResourceGroupProfile) error { +func (profile *ManagedClusterNodeResourceGroupProfile) AssignProperties_To_ManagedClusterNodeResourceGroupProfile(destination *v20231102ps.ManagedClusterNodeResourceGroupProfile) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) @@ -7853,7 +7854,7 @@ type ManagedClusterNodeResourceGroupProfile_STATUS struct { } // AssignProperties_From_ManagedClusterNodeResourceGroupProfile_STATUS populates our ManagedClusterNodeResourceGroupProfile_STATUS from the provided source ManagedClusterNodeResourceGroupProfile_STATUS -func (profile *ManagedClusterNodeResourceGroupProfile_STATUS) AssignProperties_From_ManagedClusterNodeResourceGroupProfile_STATUS(source *storage.ManagedClusterNodeResourceGroupProfile_STATUS) error { +func (profile *ManagedClusterNodeResourceGroupProfile_STATUS) AssignProperties_From_ManagedClusterNodeResourceGroupProfile_STATUS(source *v20231102ps.ManagedClusterNodeResourceGroupProfile_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -7881,7 +7882,7 @@ func (profile *ManagedClusterNodeResourceGroupProfile_STATUS) AssignProperties_F } // AssignProperties_To_ManagedClusterNodeResourceGroupProfile_STATUS populates the provided destination ManagedClusterNodeResourceGroupProfile_STATUS from our ManagedClusterNodeResourceGroupProfile_STATUS -func (profile *ManagedClusterNodeResourceGroupProfile_STATUS) AssignProperties_To_ManagedClusterNodeResourceGroupProfile_STATUS(destination *storage.ManagedClusterNodeResourceGroupProfile_STATUS) error { +func (profile *ManagedClusterNodeResourceGroupProfile_STATUS) AssignProperties_To_ManagedClusterNodeResourceGroupProfile_STATUS(destination *v20231102ps.ManagedClusterNodeResourceGroupProfile_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) @@ -7916,7 +7917,7 @@ type ManagedClusterOIDCIssuerProfile struct { } // AssignProperties_From_ManagedClusterOIDCIssuerProfile populates our ManagedClusterOIDCIssuerProfile from the provided source ManagedClusterOIDCIssuerProfile -func (profile *ManagedClusterOIDCIssuerProfile) AssignProperties_From_ManagedClusterOIDCIssuerProfile(source *storage.ManagedClusterOIDCIssuerProfile) error { +func (profile *ManagedClusterOIDCIssuerProfile) AssignProperties_From_ManagedClusterOIDCIssuerProfile(source *v20231102ps.ManagedClusterOIDCIssuerProfile) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -7949,7 +7950,7 @@ func (profile *ManagedClusterOIDCIssuerProfile) AssignProperties_From_ManagedClu } // AssignProperties_To_ManagedClusterOIDCIssuerProfile populates the provided destination ManagedClusterOIDCIssuerProfile from our ManagedClusterOIDCIssuerProfile -func (profile *ManagedClusterOIDCIssuerProfile) AssignProperties_To_ManagedClusterOIDCIssuerProfile(destination *storage.ManagedClusterOIDCIssuerProfile) error { +func (profile *ManagedClusterOIDCIssuerProfile) AssignProperties_To_ManagedClusterOIDCIssuerProfile(destination *v20231102ps.ManagedClusterOIDCIssuerProfile) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) @@ -7990,7 +7991,7 @@ type ManagedClusterOIDCIssuerProfile_STATUS struct { } // AssignProperties_From_ManagedClusterOIDCIssuerProfile_STATUS populates our ManagedClusterOIDCIssuerProfile_STATUS from the provided source ManagedClusterOIDCIssuerProfile_STATUS -func (profile *ManagedClusterOIDCIssuerProfile_STATUS) AssignProperties_From_ManagedClusterOIDCIssuerProfile_STATUS(source *storage.ManagedClusterOIDCIssuerProfile_STATUS) error { +func (profile *ManagedClusterOIDCIssuerProfile_STATUS) AssignProperties_From_ManagedClusterOIDCIssuerProfile_STATUS(source *v20231102ps.ManagedClusterOIDCIssuerProfile_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -8026,7 +8027,7 @@ func (profile *ManagedClusterOIDCIssuerProfile_STATUS) AssignProperties_From_Man } // AssignProperties_To_ManagedClusterOIDCIssuerProfile_STATUS populates the provided destination ManagedClusterOIDCIssuerProfile_STATUS from our ManagedClusterOIDCIssuerProfile_STATUS -func (profile *ManagedClusterOIDCIssuerProfile_STATUS) AssignProperties_To_ManagedClusterOIDCIssuerProfile_STATUS(destination *storage.ManagedClusterOIDCIssuerProfile_STATUS) error { +func (profile *ManagedClusterOIDCIssuerProfile_STATUS) AssignProperties_To_ManagedClusterOIDCIssuerProfile_STATUS(destination *v20231102ps.ManagedClusterOIDCIssuerProfile_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) @@ -8070,7 +8071,7 @@ type ManagedClusterOperatorSpec struct { } // AssignProperties_From_ManagedClusterOperatorSpec populates our ManagedClusterOperatorSpec from the provided source ManagedClusterOperatorSpec -func (operator *ManagedClusterOperatorSpec) AssignProperties_From_ManagedClusterOperatorSpec(source *storage.ManagedClusterOperatorSpec) error { +func (operator *ManagedClusterOperatorSpec) AssignProperties_From_ManagedClusterOperatorSpec(source *v20231102ps.ManagedClusterOperatorSpec) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -8119,13 +8120,13 @@ func (operator *ManagedClusterOperatorSpec) AssignProperties_From_ManagedCluster } // AssignProperties_To_ManagedClusterOperatorSpec populates the provided destination ManagedClusterOperatorSpec from our ManagedClusterOperatorSpec -func (operator *ManagedClusterOperatorSpec) AssignProperties_To_ManagedClusterOperatorSpec(destination *storage.ManagedClusterOperatorSpec) error { +func (operator *ManagedClusterOperatorSpec) AssignProperties_To_ManagedClusterOperatorSpec(destination *v20231102ps.ManagedClusterOperatorSpec) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(operator.PropertyBag) // ConfigMaps if operator.ConfigMaps != nil { - var configMap storage.ManagedClusterOperatorConfigMaps + var configMap v20231102ps.ManagedClusterOperatorConfigMaps err := operator.ConfigMaps.AssignProperties_To_ManagedClusterOperatorConfigMaps(&configMap) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterOperatorConfigMaps() to populate field ConfigMaps") @@ -8137,7 +8138,7 @@ func (operator *ManagedClusterOperatorSpec) AssignProperties_To_ManagedClusterOp // Secrets if operator.Secrets != nil { - var secret storage.ManagedClusterOperatorSecrets + var secret v20231102ps.ManagedClusterOperatorSecrets err := operator.Secrets.AssignProperties_To_ManagedClusterOperatorSecrets(&secret) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterOperatorSecrets() to populate field Secrets") @@ -8179,7 +8180,7 @@ type ManagedClusterPodIdentityProfile struct { } // AssignProperties_From_ManagedClusterPodIdentityProfile populates our ManagedClusterPodIdentityProfile from the provided source ManagedClusterPodIdentityProfile -func (profile *ManagedClusterPodIdentityProfile) AssignProperties_From_ManagedClusterPodIdentityProfile(source *storage.ManagedClusterPodIdentityProfile) error { +func (profile *ManagedClusterPodIdentityProfile) AssignProperties_From_ManagedClusterPodIdentityProfile(source *v20231102ps.ManagedClusterPodIdentityProfile) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -8256,7 +8257,7 @@ func (profile *ManagedClusterPodIdentityProfile) AssignProperties_From_ManagedCl } // AssignProperties_To_ManagedClusterPodIdentityProfile populates the provided destination ManagedClusterPodIdentityProfile from our ManagedClusterPodIdentityProfile -func (profile *ManagedClusterPodIdentityProfile) AssignProperties_To_ManagedClusterPodIdentityProfile(destination *storage.ManagedClusterPodIdentityProfile) error { +func (profile *ManagedClusterPodIdentityProfile) AssignProperties_To_ManagedClusterPodIdentityProfile(destination *v20231102ps.ManagedClusterPodIdentityProfile) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) @@ -8278,11 +8279,11 @@ func (profile *ManagedClusterPodIdentityProfile) AssignProperties_To_ManagedClus // UserAssignedIdentities if profile.UserAssignedIdentities != nil { - userAssignedIdentityList := make([]storage.ManagedClusterPodIdentity, len(profile.UserAssignedIdentities)) + userAssignedIdentityList := make([]v20231102ps.ManagedClusterPodIdentity, len(profile.UserAssignedIdentities)) for userAssignedIdentityIndex, userAssignedIdentityItem := range profile.UserAssignedIdentities { // Shadow the loop variable to avoid aliasing userAssignedIdentityItem := userAssignedIdentityItem - var userAssignedIdentity storage.ManagedClusterPodIdentity + var userAssignedIdentity v20231102ps.ManagedClusterPodIdentity err := userAssignedIdentityItem.AssignProperties_To_ManagedClusterPodIdentity(&userAssignedIdentity) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterPodIdentity() to populate field UserAssignedIdentities") @@ -8296,11 +8297,11 @@ func (profile *ManagedClusterPodIdentityProfile) AssignProperties_To_ManagedClus // UserAssignedIdentityExceptions if profile.UserAssignedIdentityExceptions != nil { - userAssignedIdentityExceptionList := make([]storage.ManagedClusterPodIdentityException, len(profile.UserAssignedIdentityExceptions)) + userAssignedIdentityExceptionList := make([]v20231102ps.ManagedClusterPodIdentityException, len(profile.UserAssignedIdentityExceptions)) for userAssignedIdentityExceptionIndex, userAssignedIdentityExceptionItem := range profile.UserAssignedIdentityExceptions { // Shadow the loop variable to avoid aliasing userAssignedIdentityExceptionItem := userAssignedIdentityExceptionItem - var userAssignedIdentityException storage.ManagedClusterPodIdentityException + var userAssignedIdentityException v20231102ps.ManagedClusterPodIdentityException err := userAssignedIdentityExceptionItem.AssignProperties_To_ManagedClusterPodIdentityException(&userAssignedIdentityException) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterPodIdentityException() to populate field UserAssignedIdentityExceptions") @@ -8344,7 +8345,7 @@ type ManagedClusterPodIdentityProfile_STATUS struct { } // AssignProperties_From_ManagedClusterPodIdentityProfile_STATUS populates our ManagedClusterPodIdentityProfile_STATUS from the provided source ManagedClusterPodIdentityProfile_STATUS -func (profile *ManagedClusterPodIdentityProfile_STATUS) AssignProperties_From_ManagedClusterPodIdentityProfile_STATUS(source *storage.ManagedClusterPodIdentityProfile_STATUS) error { +func (profile *ManagedClusterPodIdentityProfile_STATUS) AssignProperties_From_ManagedClusterPodIdentityProfile_STATUS(source *v20231102ps.ManagedClusterPodIdentityProfile_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -8421,7 +8422,7 @@ func (profile *ManagedClusterPodIdentityProfile_STATUS) AssignProperties_From_Ma } // AssignProperties_To_ManagedClusterPodIdentityProfile_STATUS populates the provided destination ManagedClusterPodIdentityProfile_STATUS from our ManagedClusterPodIdentityProfile_STATUS -func (profile *ManagedClusterPodIdentityProfile_STATUS) AssignProperties_To_ManagedClusterPodIdentityProfile_STATUS(destination *storage.ManagedClusterPodIdentityProfile_STATUS) error { +func (profile *ManagedClusterPodIdentityProfile_STATUS) AssignProperties_To_ManagedClusterPodIdentityProfile_STATUS(destination *v20231102ps.ManagedClusterPodIdentityProfile_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) @@ -8443,11 +8444,11 @@ func (profile *ManagedClusterPodIdentityProfile_STATUS) AssignProperties_To_Mana // UserAssignedIdentities if profile.UserAssignedIdentities != nil { - userAssignedIdentityList := make([]storage.ManagedClusterPodIdentity_STATUS, len(profile.UserAssignedIdentities)) + userAssignedIdentityList := make([]v20231102ps.ManagedClusterPodIdentity_STATUS, len(profile.UserAssignedIdentities)) for userAssignedIdentityIndex, userAssignedIdentityItem := range profile.UserAssignedIdentities { // Shadow the loop variable to avoid aliasing userAssignedIdentityItem := userAssignedIdentityItem - var userAssignedIdentity storage.ManagedClusterPodIdentity_STATUS + var userAssignedIdentity v20231102ps.ManagedClusterPodIdentity_STATUS err := userAssignedIdentityItem.AssignProperties_To_ManagedClusterPodIdentity_STATUS(&userAssignedIdentity) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterPodIdentity_STATUS() to populate field UserAssignedIdentities") @@ -8461,11 +8462,11 @@ func (profile *ManagedClusterPodIdentityProfile_STATUS) AssignProperties_To_Mana // UserAssignedIdentityExceptions if profile.UserAssignedIdentityExceptions != nil { - userAssignedIdentityExceptionList := make([]storage.ManagedClusterPodIdentityException_STATUS, len(profile.UserAssignedIdentityExceptions)) + userAssignedIdentityExceptionList := make([]v20231102ps.ManagedClusterPodIdentityException_STATUS, len(profile.UserAssignedIdentityExceptions)) for userAssignedIdentityExceptionIndex, userAssignedIdentityExceptionItem := range profile.UserAssignedIdentityExceptions { // Shadow the loop variable to avoid aliasing userAssignedIdentityExceptionItem := userAssignedIdentityExceptionItem - var userAssignedIdentityException storage.ManagedClusterPodIdentityException_STATUS + var userAssignedIdentityException v20231102ps.ManagedClusterPodIdentityException_STATUS err := userAssignedIdentityExceptionItem.AssignProperties_To_ManagedClusterPodIdentityException_STATUS(&userAssignedIdentityException) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterPodIdentityException_STATUS() to populate field UserAssignedIdentityExceptions") @@ -8523,7 +8524,7 @@ type ManagedClusterProperties_AutoScalerProfile struct { } // AssignProperties_From_ManagedClusterProperties_AutoScalerProfile populates our ManagedClusterProperties_AutoScalerProfile from the provided source ManagedClusterProperties_AutoScalerProfile -func (profile *ManagedClusterProperties_AutoScalerProfile) AssignProperties_From_ManagedClusterProperties_AutoScalerProfile(source *storage.ManagedClusterProperties_AutoScalerProfile) error { +func (profile *ManagedClusterProperties_AutoScalerProfile) AssignProperties_From_ManagedClusterProperties_AutoScalerProfile(source *v20231102ps.ManagedClusterProperties_AutoScalerProfile) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -8623,7 +8624,7 @@ func (profile *ManagedClusterProperties_AutoScalerProfile) AssignProperties_From } // AssignProperties_To_ManagedClusterProperties_AutoScalerProfile populates the provided destination ManagedClusterProperties_AutoScalerProfile from our ManagedClusterProperties_AutoScalerProfile -func (profile *ManagedClusterProperties_AutoScalerProfile) AssignProperties_To_ManagedClusterProperties_AutoScalerProfile(destination *storage.ManagedClusterProperties_AutoScalerProfile) error { +func (profile *ManagedClusterProperties_AutoScalerProfile) AssignProperties_To_ManagedClusterProperties_AutoScalerProfile(destination *v20231102ps.ManagedClusterProperties_AutoScalerProfile) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) @@ -8748,7 +8749,7 @@ type ManagedClusterProperties_AutoScalerProfile_STATUS struct { } // AssignProperties_From_ManagedClusterProperties_AutoScalerProfile_STATUS populates our ManagedClusterProperties_AutoScalerProfile_STATUS from the provided source ManagedClusterProperties_AutoScalerProfile_STATUS -func (profile *ManagedClusterProperties_AutoScalerProfile_STATUS) AssignProperties_From_ManagedClusterProperties_AutoScalerProfile_STATUS(source *storage.ManagedClusterProperties_AutoScalerProfile_STATUS) error { +func (profile *ManagedClusterProperties_AutoScalerProfile_STATUS) AssignProperties_From_ManagedClusterProperties_AutoScalerProfile_STATUS(source *v20231102ps.ManagedClusterProperties_AutoScalerProfile_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -8848,7 +8849,7 @@ func (profile *ManagedClusterProperties_AutoScalerProfile_STATUS) AssignProperti } // AssignProperties_To_ManagedClusterProperties_AutoScalerProfile_STATUS populates the provided destination ManagedClusterProperties_AutoScalerProfile_STATUS from our ManagedClusterProperties_AutoScalerProfile_STATUS -func (profile *ManagedClusterProperties_AutoScalerProfile_STATUS) AssignProperties_To_ManagedClusterProperties_AutoScalerProfile_STATUS(destination *storage.ManagedClusterProperties_AutoScalerProfile_STATUS) error { +func (profile *ManagedClusterProperties_AutoScalerProfile_STATUS) AssignProperties_To_ManagedClusterProperties_AutoScalerProfile_STATUS(destination *v20231102ps.ManagedClusterProperties_AutoScalerProfile_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) @@ -8961,7 +8962,7 @@ type ManagedClusterSecurityProfile struct { } // AssignProperties_From_ManagedClusterSecurityProfile populates our ManagedClusterSecurityProfile from the provided source ManagedClusterSecurityProfile -func (profile *ManagedClusterSecurityProfile) AssignProperties_From_ManagedClusterSecurityProfile(source *storage.ManagedClusterSecurityProfile) error { +func (profile *ManagedClusterSecurityProfile) AssignProperties_From_ManagedClusterSecurityProfile(source *v20231102ps.ManagedClusterSecurityProfile) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -9061,13 +9062,13 @@ func (profile *ManagedClusterSecurityProfile) AssignProperties_From_ManagedClust } // AssignProperties_To_ManagedClusterSecurityProfile populates the provided destination ManagedClusterSecurityProfile from our ManagedClusterSecurityProfile -func (profile *ManagedClusterSecurityProfile) AssignProperties_To_ManagedClusterSecurityProfile(destination *storage.ManagedClusterSecurityProfile) error { +func (profile *ManagedClusterSecurityProfile) AssignProperties_To_ManagedClusterSecurityProfile(destination *v20231102ps.ManagedClusterSecurityProfile) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) // AzureKeyVaultKms if profile.AzureKeyVaultKms != nil { - var azureKeyVaultKm storage.AzureKeyVaultKms + var azureKeyVaultKm v20231102ps.AzureKeyVaultKms err := profile.AzureKeyVaultKms.AssignProperties_To_AzureKeyVaultKms(&azureKeyVaultKm) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_AzureKeyVaultKms() to populate field AzureKeyVaultKms") @@ -9082,7 +9083,7 @@ func (profile *ManagedClusterSecurityProfile) AssignProperties_To_ManagedCluster // Defender if profile.Defender != nil { - var defender storage.ManagedClusterSecurityProfileDefender + var defender v20231102ps.ManagedClusterSecurityProfileDefender err := profile.Defender.AssignProperties_To_ManagedClusterSecurityProfileDefender(&defender) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterSecurityProfileDefender() to populate field Defender") @@ -9094,7 +9095,7 @@ func (profile *ManagedClusterSecurityProfile) AssignProperties_To_ManagedCluster // ImageCleaner if profile.ImageCleaner != nil { - var imageCleaner storage.ManagedClusterSecurityProfileImageCleaner + var imageCleaner v20231102ps.ManagedClusterSecurityProfileImageCleaner err := profile.ImageCleaner.AssignProperties_To_ManagedClusterSecurityProfileImageCleaner(&imageCleaner) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterSecurityProfileImageCleaner() to populate field ImageCleaner") @@ -9106,7 +9107,7 @@ func (profile *ManagedClusterSecurityProfile) AssignProperties_To_ManagedCluster // ImageIntegrity if profile.ImageIntegrity != nil { - var imageIntegrity storage.ManagedClusterSecurityProfileImageIntegrity + var imageIntegrity v20231102ps.ManagedClusterSecurityProfileImageIntegrity err := profile.ImageIntegrity.AssignProperties_To_ManagedClusterSecurityProfileImageIntegrity(&imageIntegrity) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterSecurityProfileImageIntegrity() to populate field ImageIntegrity") @@ -9118,7 +9119,7 @@ func (profile *ManagedClusterSecurityProfile) AssignProperties_To_ManagedCluster // NodeRestriction if profile.NodeRestriction != nil { - var nodeRestriction storage.ManagedClusterSecurityProfileNodeRestriction + var nodeRestriction v20231102ps.ManagedClusterSecurityProfileNodeRestriction err := profile.NodeRestriction.AssignProperties_To_ManagedClusterSecurityProfileNodeRestriction(&nodeRestriction) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterSecurityProfileNodeRestriction() to populate field NodeRestriction") @@ -9130,7 +9131,7 @@ func (profile *ManagedClusterSecurityProfile) AssignProperties_To_ManagedCluster // WorkloadIdentity if profile.WorkloadIdentity != nil { - var workloadIdentity storage.ManagedClusterSecurityProfileWorkloadIdentity + var workloadIdentity v20231102ps.ManagedClusterSecurityProfileWorkloadIdentity err := profile.WorkloadIdentity.AssignProperties_To_ManagedClusterSecurityProfileWorkloadIdentity(&workloadIdentity) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterSecurityProfileWorkloadIdentity() to populate field WorkloadIdentity") @@ -9174,7 +9175,7 @@ type ManagedClusterSecurityProfile_STATUS struct { } // AssignProperties_From_ManagedClusterSecurityProfile_STATUS populates our ManagedClusterSecurityProfile_STATUS from the provided source ManagedClusterSecurityProfile_STATUS -func (profile *ManagedClusterSecurityProfile_STATUS) AssignProperties_From_ManagedClusterSecurityProfile_STATUS(source *storage.ManagedClusterSecurityProfile_STATUS) error { +func (profile *ManagedClusterSecurityProfile_STATUS) AssignProperties_From_ManagedClusterSecurityProfile_STATUS(source *v20231102ps.ManagedClusterSecurityProfile_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -9274,13 +9275,13 @@ func (profile *ManagedClusterSecurityProfile_STATUS) AssignProperties_From_Manag } // AssignProperties_To_ManagedClusterSecurityProfile_STATUS populates the provided destination ManagedClusterSecurityProfile_STATUS from our ManagedClusterSecurityProfile_STATUS -func (profile *ManagedClusterSecurityProfile_STATUS) AssignProperties_To_ManagedClusterSecurityProfile_STATUS(destination *storage.ManagedClusterSecurityProfile_STATUS) error { +func (profile *ManagedClusterSecurityProfile_STATUS) AssignProperties_To_ManagedClusterSecurityProfile_STATUS(destination *v20231102ps.ManagedClusterSecurityProfile_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) // AzureKeyVaultKms if profile.AzureKeyVaultKms != nil { - var azureKeyVaultKm storage.AzureKeyVaultKms_STATUS + var azureKeyVaultKm v20231102ps.AzureKeyVaultKms_STATUS err := profile.AzureKeyVaultKms.AssignProperties_To_AzureKeyVaultKms_STATUS(&azureKeyVaultKm) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_AzureKeyVaultKms_STATUS() to populate field AzureKeyVaultKms") @@ -9295,7 +9296,7 @@ func (profile *ManagedClusterSecurityProfile_STATUS) AssignProperties_To_Managed // Defender if profile.Defender != nil { - var defender storage.ManagedClusterSecurityProfileDefender_STATUS + var defender v20231102ps.ManagedClusterSecurityProfileDefender_STATUS err := profile.Defender.AssignProperties_To_ManagedClusterSecurityProfileDefender_STATUS(&defender) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterSecurityProfileDefender_STATUS() to populate field Defender") @@ -9307,7 +9308,7 @@ func (profile *ManagedClusterSecurityProfile_STATUS) AssignProperties_To_Managed // ImageCleaner if profile.ImageCleaner != nil { - var imageCleaner storage.ManagedClusterSecurityProfileImageCleaner_STATUS + var imageCleaner v20231102ps.ManagedClusterSecurityProfileImageCleaner_STATUS err := profile.ImageCleaner.AssignProperties_To_ManagedClusterSecurityProfileImageCleaner_STATUS(&imageCleaner) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterSecurityProfileImageCleaner_STATUS() to populate field ImageCleaner") @@ -9319,7 +9320,7 @@ func (profile *ManagedClusterSecurityProfile_STATUS) AssignProperties_To_Managed // ImageIntegrity if profile.ImageIntegrity != nil { - var imageIntegrity storage.ManagedClusterSecurityProfileImageIntegrity_STATUS + var imageIntegrity v20231102ps.ManagedClusterSecurityProfileImageIntegrity_STATUS err := profile.ImageIntegrity.AssignProperties_To_ManagedClusterSecurityProfileImageIntegrity_STATUS(&imageIntegrity) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterSecurityProfileImageIntegrity_STATUS() to populate field ImageIntegrity") @@ -9331,7 +9332,7 @@ func (profile *ManagedClusterSecurityProfile_STATUS) AssignProperties_To_Managed // NodeRestriction if profile.NodeRestriction != nil { - var nodeRestriction storage.ManagedClusterSecurityProfileNodeRestriction_STATUS + var nodeRestriction v20231102ps.ManagedClusterSecurityProfileNodeRestriction_STATUS err := profile.NodeRestriction.AssignProperties_To_ManagedClusterSecurityProfileNodeRestriction_STATUS(&nodeRestriction) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterSecurityProfileNodeRestriction_STATUS() to populate field NodeRestriction") @@ -9343,7 +9344,7 @@ func (profile *ManagedClusterSecurityProfile_STATUS) AssignProperties_To_Managed // WorkloadIdentity if profile.WorkloadIdentity != nil { - var workloadIdentity storage.ManagedClusterSecurityProfileWorkloadIdentity_STATUS + var workloadIdentity v20231102ps.ManagedClusterSecurityProfileWorkloadIdentity_STATUS err := profile.WorkloadIdentity.AssignProperties_To_ManagedClusterSecurityProfileWorkloadIdentity_STATUS(&workloadIdentity) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterSecurityProfileWorkloadIdentity_STATUS() to populate field WorkloadIdentity") @@ -9382,7 +9383,7 @@ type ManagedClusterServicePrincipalProfile struct { } // AssignProperties_From_ManagedClusterServicePrincipalProfile populates our ManagedClusterServicePrincipalProfile from the provided source ManagedClusterServicePrincipalProfile -func (profile *ManagedClusterServicePrincipalProfile) AssignProperties_From_ManagedClusterServicePrincipalProfile(source *storage.ManagedClusterServicePrincipalProfile) error { +func (profile *ManagedClusterServicePrincipalProfile) AssignProperties_From_ManagedClusterServicePrincipalProfile(source *v20231102ps.ManagedClusterServicePrincipalProfile) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -9418,7 +9419,7 @@ func (profile *ManagedClusterServicePrincipalProfile) AssignProperties_From_Mana } // AssignProperties_To_ManagedClusterServicePrincipalProfile populates the provided destination ManagedClusterServicePrincipalProfile from our ManagedClusterServicePrincipalProfile -func (profile *ManagedClusterServicePrincipalProfile) AssignProperties_To_ManagedClusterServicePrincipalProfile(destination *storage.ManagedClusterServicePrincipalProfile) error { +func (profile *ManagedClusterServicePrincipalProfile) AssignProperties_To_ManagedClusterServicePrincipalProfile(destination *v20231102ps.ManagedClusterServicePrincipalProfile) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) @@ -9461,7 +9462,7 @@ type ManagedClusterServicePrincipalProfile_STATUS struct { } // AssignProperties_From_ManagedClusterServicePrincipalProfile_STATUS populates our ManagedClusterServicePrincipalProfile_STATUS from the provided source ManagedClusterServicePrincipalProfile_STATUS -func (profile *ManagedClusterServicePrincipalProfile_STATUS) AssignProperties_From_ManagedClusterServicePrincipalProfile_STATUS(source *storage.ManagedClusterServicePrincipalProfile_STATUS) error { +func (profile *ManagedClusterServicePrincipalProfile_STATUS) AssignProperties_From_ManagedClusterServicePrincipalProfile_STATUS(source *v20231102ps.ManagedClusterServicePrincipalProfile_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -9489,7 +9490,7 @@ func (profile *ManagedClusterServicePrincipalProfile_STATUS) AssignProperties_Fr } // AssignProperties_To_ManagedClusterServicePrincipalProfile_STATUS populates the provided destination ManagedClusterServicePrincipalProfile_STATUS from our ManagedClusterServicePrincipalProfile_STATUS -func (profile *ManagedClusterServicePrincipalProfile_STATUS) AssignProperties_To_ManagedClusterServicePrincipalProfile_STATUS(destination *storage.ManagedClusterServicePrincipalProfile_STATUS) error { +func (profile *ManagedClusterServicePrincipalProfile_STATUS) AssignProperties_To_ManagedClusterServicePrincipalProfile_STATUS(destination *v20231102ps.ManagedClusterServicePrincipalProfile_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) @@ -9525,7 +9526,7 @@ type ManagedClusterSKU struct { } // AssignProperties_From_ManagedClusterSKU populates our ManagedClusterSKU from the provided source ManagedClusterSKU -func (clusterSKU *ManagedClusterSKU) AssignProperties_From_ManagedClusterSKU(source *storage.ManagedClusterSKU) error { +func (clusterSKU *ManagedClusterSKU) AssignProperties_From_ManagedClusterSKU(source *v20231102ps.ManagedClusterSKU) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -9556,7 +9557,7 @@ func (clusterSKU *ManagedClusterSKU) AssignProperties_From_ManagedClusterSKU(sou } // AssignProperties_To_ManagedClusterSKU populates the provided destination ManagedClusterSKU from our ManagedClusterSKU -func (clusterSKU *ManagedClusterSKU) AssignProperties_To_ManagedClusterSKU(destination *storage.ManagedClusterSKU) error { +func (clusterSKU *ManagedClusterSKU) AssignProperties_To_ManagedClusterSKU(destination *v20231102ps.ManagedClusterSKU) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(clusterSKU.PropertyBag) @@ -9595,7 +9596,7 @@ type ManagedClusterSKU_STATUS struct { } // AssignProperties_From_ManagedClusterSKU_STATUS populates our ManagedClusterSKU_STATUS from the provided source ManagedClusterSKU_STATUS -func (clusterSKU *ManagedClusterSKU_STATUS) AssignProperties_From_ManagedClusterSKU_STATUS(source *storage.ManagedClusterSKU_STATUS) error { +func (clusterSKU *ManagedClusterSKU_STATUS) AssignProperties_From_ManagedClusterSKU_STATUS(source *v20231102ps.ManagedClusterSKU_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -9626,7 +9627,7 @@ func (clusterSKU *ManagedClusterSKU_STATUS) AssignProperties_From_ManagedCluster } // AssignProperties_To_ManagedClusterSKU_STATUS populates the provided destination ManagedClusterSKU_STATUS from our ManagedClusterSKU_STATUS -func (clusterSKU *ManagedClusterSKU_STATUS) AssignProperties_To_ManagedClusterSKU_STATUS(destination *storage.ManagedClusterSKU_STATUS) error { +func (clusterSKU *ManagedClusterSKU_STATUS) AssignProperties_To_ManagedClusterSKU_STATUS(destination *v20231102ps.ManagedClusterSKU_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(clusterSKU.PropertyBag) @@ -9667,7 +9668,7 @@ type ManagedClusterStorageProfile struct { } // AssignProperties_From_ManagedClusterStorageProfile populates our ManagedClusterStorageProfile from the provided source ManagedClusterStorageProfile -func (profile *ManagedClusterStorageProfile) AssignProperties_From_ManagedClusterStorageProfile(source *storage.ManagedClusterStorageProfile) error { +func (profile *ManagedClusterStorageProfile) AssignProperties_From_ManagedClusterStorageProfile(source *v20231102ps.ManagedClusterStorageProfile) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -9740,13 +9741,13 @@ func (profile *ManagedClusterStorageProfile) AssignProperties_From_ManagedCluste } // AssignProperties_To_ManagedClusterStorageProfile populates the provided destination ManagedClusterStorageProfile from our ManagedClusterStorageProfile -func (profile *ManagedClusterStorageProfile) AssignProperties_To_ManagedClusterStorageProfile(destination *storage.ManagedClusterStorageProfile) error { +func (profile *ManagedClusterStorageProfile) AssignProperties_To_ManagedClusterStorageProfile(destination *v20231102ps.ManagedClusterStorageProfile) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) // BlobCSIDriver if profile.BlobCSIDriver != nil { - var blobCSIDriver storage.ManagedClusterStorageProfileBlobCSIDriver + var blobCSIDriver v20231102ps.ManagedClusterStorageProfileBlobCSIDriver err := profile.BlobCSIDriver.AssignProperties_To_ManagedClusterStorageProfileBlobCSIDriver(&blobCSIDriver) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterStorageProfileBlobCSIDriver() to populate field BlobCSIDriver") @@ -9758,7 +9759,7 @@ func (profile *ManagedClusterStorageProfile) AssignProperties_To_ManagedClusterS // DiskCSIDriver if profile.DiskCSIDriver != nil { - var diskCSIDriver storage.ManagedClusterStorageProfileDiskCSIDriver + var diskCSIDriver v20231102ps.ManagedClusterStorageProfileDiskCSIDriver err := profile.DiskCSIDriver.AssignProperties_To_ManagedClusterStorageProfileDiskCSIDriver(&diskCSIDriver) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterStorageProfileDiskCSIDriver() to populate field DiskCSIDriver") @@ -9770,7 +9771,7 @@ func (profile *ManagedClusterStorageProfile) AssignProperties_To_ManagedClusterS // FileCSIDriver if profile.FileCSIDriver != nil { - var fileCSIDriver storage.ManagedClusterStorageProfileFileCSIDriver + var fileCSIDriver v20231102ps.ManagedClusterStorageProfileFileCSIDriver err := profile.FileCSIDriver.AssignProperties_To_ManagedClusterStorageProfileFileCSIDriver(&fileCSIDriver) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterStorageProfileFileCSIDriver() to populate field FileCSIDriver") @@ -9782,7 +9783,7 @@ func (profile *ManagedClusterStorageProfile) AssignProperties_To_ManagedClusterS // SnapshotController if profile.SnapshotController != nil { - var snapshotController storage.ManagedClusterStorageProfileSnapshotController + var snapshotController v20231102ps.ManagedClusterStorageProfileSnapshotController err := profile.SnapshotController.AssignProperties_To_ManagedClusterStorageProfileSnapshotController(&snapshotController) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterStorageProfileSnapshotController() to populate field SnapshotController") @@ -9823,7 +9824,7 @@ type ManagedClusterStorageProfile_STATUS struct { } // AssignProperties_From_ManagedClusterStorageProfile_STATUS populates our ManagedClusterStorageProfile_STATUS from the provided source ManagedClusterStorageProfile_STATUS -func (profile *ManagedClusterStorageProfile_STATUS) AssignProperties_From_ManagedClusterStorageProfile_STATUS(source *storage.ManagedClusterStorageProfile_STATUS) error { +func (profile *ManagedClusterStorageProfile_STATUS) AssignProperties_From_ManagedClusterStorageProfile_STATUS(source *v20231102ps.ManagedClusterStorageProfile_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -9896,13 +9897,13 @@ func (profile *ManagedClusterStorageProfile_STATUS) AssignProperties_From_Manage } // AssignProperties_To_ManagedClusterStorageProfile_STATUS populates the provided destination ManagedClusterStorageProfile_STATUS from our ManagedClusterStorageProfile_STATUS -func (profile *ManagedClusterStorageProfile_STATUS) AssignProperties_To_ManagedClusterStorageProfile_STATUS(destination *storage.ManagedClusterStorageProfile_STATUS) error { +func (profile *ManagedClusterStorageProfile_STATUS) AssignProperties_To_ManagedClusterStorageProfile_STATUS(destination *v20231102ps.ManagedClusterStorageProfile_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) // BlobCSIDriver if profile.BlobCSIDriver != nil { - var blobCSIDriver storage.ManagedClusterStorageProfileBlobCSIDriver_STATUS + var blobCSIDriver v20231102ps.ManagedClusterStorageProfileBlobCSIDriver_STATUS err := profile.BlobCSIDriver.AssignProperties_To_ManagedClusterStorageProfileBlobCSIDriver_STATUS(&blobCSIDriver) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterStorageProfileBlobCSIDriver_STATUS() to populate field BlobCSIDriver") @@ -9914,7 +9915,7 @@ func (profile *ManagedClusterStorageProfile_STATUS) AssignProperties_To_ManagedC // DiskCSIDriver if profile.DiskCSIDriver != nil { - var diskCSIDriver storage.ManagedClusterStorageProfileDiskCSIDriver_STATUS + var diskCSIDriver v20231102ps.ManagedClusterStorageProfileDiskCSIDriver_STATUS err := profile.DiskCSIDriver.AssignProperties_To_ManagedClusterStorageProfileDiskCSIDriver_STATUS(&diskCSIDriver) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterStorageProfileDiskCSIDriver_STATUS() to populate field DiskCSIDriver") @@ -9926,7 +9927,7 @@ func (profile *ManagedClusterStorageProfile_STATUS) AssignProperties_To_ManagedC // FileCSIDriver if profile.FileCSIDriver != nil { - var fileCSIDriver storage.ManagedClusterStorageProfileFileCSIDriver_STATUS + var fileCSIDriver v20231102ps.ManagedClusterStorageProfileFileCSIDriver_STATUS err := profile.FileCSIDriver.AssignProperties_To_ManagedClusterStorageProfileFileCSIDriver_STATUS(&fileCSIDriver) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterStorageProfileFileCSIDriver_STATUS() to populate field FileCSIDriver") @@ -9938,7 +9939,7 @@ func (profile *ManagedClusterStorageProfile_STATUS) AssignProperties_To_ManagedC // SnapshotController if profile.SnapshotController != nil { - var snapshotController storage.ManagedClusterStorageProfileSnapshotController_STATUS + var snapshotController v20231102ps.ManagedClusterStorageProfileSnapshotController_STATUS err := profile.SnapshotController.AssignProperties_To_ManagedClusterStorageProfileSnapshotController_STATUS(&snapshotController) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterStorageProfileSnapshotController_STATUS() to populate field SnapshotController") @@ -9980,7 +9981,7 @@ type ManagedClusterWindowsProfile struct { } // AssignProperties_From_ManagedClusterWindowsProfile populates our ManagedClusterWindowsProfile from the provided source ManagedClusterWindowsProfile -func (profile *ManagedClusterWindowsProfile) AssignProperties_From_ManagedClusterWindowsProfile(source *storage.ManagedClusterWindowsProfile) error { +func (profile *ManagedClusterWindowsProfile) AssignProperties_From_ManagedClusterWindowsProfile(source *v20231102ps.ManagedClusterWindowsProfile) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -10039,7 +10040,7 @@ func (profile *ManagedClusterWindowsProfile) AssignProperties_From_ManagedCluste } // AssignProperties_To_ManagedClusterWindowsProfile populates the provided destination ManagedClusterWindowsProfile from our ManagedClusterWindowsProfile -func (profile *ManagedClusterWindowsProfile) AssignProperties_To_ManagedClusterWindowsProfile(destination *storage.ManagedClusterWindowsProfile) error { +func (profile *ManagedClusterWindowsProfile) AssignProperties_To_ManagedClusterWindowsProfile(destination *v20231102ps.ManagedClusterWindowsProfile) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) @@ -10064,7 +10065,7 @@ func (profile *ManagedClusterWindowsProfile) AssignProperties_To_ManagedClusterW // GmsaProfile if profile.GmsaProfile != nil { - var gmsaProfile storage.WindowsGmsaProfile + var gmsaProfile v20231102ps.WindowsGmsaProfile err := profile.GmsaProfile.AssignProperties_To_WindowsGmsaProfile(&gmsaProfile) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_WindowsGmsaProfile() to populate field GmsaProfile") @@ -10108,7 +10109,7 @@ type ManagedClusterWindowsProfile_STATUS struct { } // AssignProperties_From_ManagedClusterWindowsProfile_STATUS populates our ManagedClusterWindowsProfile_STATUS from the provided source ManagedClusterWindowsProfile_STATUS -func (profile *ManagedClusterWindowsProfile_STATUS) AssignProperties_From_ManagedClusterWindowsProfile_STATUS(source *storage.ManagedClusterWindowsProfile_STATUS) error { +func (profile *ManagedClusterWindowsProfile_STATUS) AssignProperties_From_ManagedClusterWindowsProfile_STATUS(source *v20231102ps.ManagedClusterWindowsProfile_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -10159,7 +10160,7 @@ func (profile *ManagedClusterWindowsProfile_STATUS) AssignProperties_From_Manage } // AssignProperties_To_ManagedClusterWindowsProfile_STATUS populates the provided destination ManagedClusterWindowsProfile_STATUS from our ManagedClusterWindowsProfile_STATUS -func (profile *ManagedClusterWindowsProfile_STATUS) AssignProperties_To_ManagedClusterWindowsProfile_STATUS(destination *storage.ManagedClusterWindowsProfile_STATUS) error { +func (profile *ManagedClusterWindowsProfile_STATUS) AssignProperties_To_ManagedClusterWindowsProfile_STATUS(destination *v20231102ps.ManagedClusterWindowsProfile_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) @@ -10176,7 +10177,7 @@ func (profile *ManagedClusterWindowsProfile_STATUS) AssignProperties_To_ManagedC // GmsaProfile if profile.GmsaProfile != nil { - var gmsaProfile storage.WindowsGmsaProfile_STATUS + var gmsaProfile v20231102ps.WindowsGmsaProfile_STATUS err := profile.GmsaProfile.AssignProperties_To_WindowsGmsaProfile_STATUS(&gmsaProfile) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_WindowsGmsaProfile_STATUS() to populate field GmsaProfile") @@ -10218,7 +10219,7 @@ type ManagedClusterWorkloadAutoScalerProfile struct { } // AssignProperties_From_ManagedClusterWorkloadAutoScalerProfile populates our ManagedClusterWorkloadAutoScalerProfile from the provided source ManagedClusterWorkloadAutoScalerProfile -func (profile *ManagedClusterWorkloadAutoScalerProfile) AssignProperties_From_ManagedClusterWorkloadAutoScalerProfile(source *storage.ManagedClusterWorkloadAutoScalerProfile) error { +func (profile *ManagedClusterWorkloadAutoScalerProfile) AssignProperties_From_ManagedClusterWorkloadAutoScalerProfile(source *v20231102ps.ManagedClusterWorkloadAutoScalerProfile) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -10267,13 +10268,13 @@ func (profile *ManagedClusterWorkloadAutoScalerProfile) AssignProperties_From_Ma } // AssignProperties_To_ManagedClusterWorkloadAutoScalerProfile populates the provided destination ManagedClusterWorkloadAutoScalerProfile from our ManagedClusterWorkloadAutoScalerProfile -func (profile *ManagedClusterWorkloadAutoScalerProfile) AssignProperties_To_ManagedClusterWorkloadAutoScalerProfile(destination *storage.ManagedClusterWorkloadAutoScalerProfile) error { +func (profile *ManagedClusterWorkloadAutoScalerProfile) AssignProperties_To_ManagedClusterWorkloadAutoScalerProfile(destination *v20231102ps.ManagedClusterWorkloadAutoScalerProfile) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) // Keda if profile.Keda != nil { - var kedum storage.ManagedClusterWorkloadAutoScalerProfileKeda + var kedum v20231102ps.ManagedClusterWorkloadAutoScalerProfileKeda err := profile.Keda.AssignProperties_To_ManagedClusterWorkloadAutoScalerProfileKeda(&kedum) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterWorkloadAutoScalerProfileKeda() to populate field Keda") @@ -10285,7 +10286,7 @@ func (profile *ManagedClusterWorkloadAutoScalerProfile) AssignProperties_To_Mana // VerticalPodAutoscaler if profile.VerticalPodAutoscaler != nil { - var verticalPodAutoscaler storage.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler + var verticalPodAutoscaler v20231102ps.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler err := profile.VerticalPodAutoscaler.AssignProperties_To_ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler(&verticalPodAutoscaler) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler() to populate field VerticalPodAutoscaler") @@ -10324,7 +10325,7 @@ type ManagedClusterWorkloadAutoScalerProfile_STATUS struct { } // AssignProperties_From_ManagedClusterWorkloadAutoScalerProfile_STATUS populates our ManagedClusterWorkloadAutoScalerProfile_STATUS from the provided source ManagedClusterWorkloadAutoScalerProfile_STATUS -func (profile *ManagedClusterWorkloadAutoScalerProfile_STATUS) AssignProperties_From_ManagedClusterWorkloadAutoScalerProfile_STATUS(source *storage.ManagedClusterWorkloadAutoScalerProfile_STATUS) error { +func (profile *ManagedClusterWorkloadAutoScalerProfile_STATUS) AssignProperties_From_ManagedClusterWorkloadAutoScalerProfile_STATUS(source *v20231102ps.ManagedClusterWorkloadAutoScalerProfile_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -10373,13 +10374,13 @@ func (profile *ManagedClusterWorkloadAutoScalerProfile_STATUS) AssignProperties_ } // AssignProperties_To_ManagedClusterWorkloadAutoScalerProfile_STATUS populates the provided destination ManagedClusterWorkloadAutoScalerProfile_STATUS from our ManagedClusterWorkloadAutoScalerProfile_STATUS -func (profile *ManagedClusterWorkloadAutoScalerProfile_STATUS) AssignProperties_To_ManagedClusterWorkloadAutoScalerProfile_STATUS(destination *storage.ManagedClusterWorkloadAutoScalerProfile_STATUS) error { +func (profile *ManagedClusterWorkloadAutoScalerProfile_STATUS) AssignProperties_To_ManagedClusterWorkloadAutoScalerProfile_STATUS(destination *v20231102ps.ManagedClusterWorkloadAutoScalerProfile_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) // Keda if profile.Keda != nil { - var kedum storage.ManagedClusterWorkloadAutoScalerProfileKeda_STATUS + var kedum v20231102ps.ManagedClusterWorkloadAutoScalerProfileKeda_STATUS err := profile.Keda.AssignProperties_To_ManagedClusterWorkloadAutoScalerProfileKeda_STATUS(&kedum) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterWorkloadAutoScalerProfileKeda_STATUS() to populate field Keda") @@ -10391,7 +10392,7 @@ func (profile *ManagedClusterWorkloadAutoScalerProfile_STATUS) AssignProperties_ // VerticalPodAutoscaler if profile.VerticalPodAutoscaler != nil { - var verticalPodAutoscaler storage.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS + var verticalPodAutoscaler v20231102ps.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS err := profile.VerticalPodAutoscaler.AssignProperties_To_ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS(&verticalPodAutoscaler) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS() to populate field VerticalPodAutoscaler") @@ -10429,7 +10430,7 @@ type PowerState_STATUS struct { } // AssignProperties_From_PowerState_STATUS populates our PowerState_STATUS from the provided source PowerState_STATUS -func (state *PowerState_STATUS) AssignProperties_From_PowerState_STATUS(source *storage.PowerState_STATUS) error { +func (state *PowerState_STATUS) AssignProperties_From_PowerState_STATUS(source *v20231102ps.PowerState_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -10457,7 +10458,7 @@ func (state *PowerState_STATUS) AssignProperties_From_PowerState_STATUS(source * } // AssignProperties_To_PowerState_STATUS populates the provided destination PowerState_STATUS from our PowerState_STATUS -func (state *PowerState_STATUS) AssignProperties_To_PowerState_STATUS(destination *storage.PowerState_STATUS) error { +func (state *PowerState_STATUS) AssignProperties_To_PowerState_STATUS(destination *v20231102ps.PowerState_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(state.PropertyBag) @@ -10498,7 +10499,7 @@ type PrivateLinkResource struct { } // AssignProperties_From_PrivateLinkResource populates our PrivateLinkResource from the provided source PrivateLinkResource -func (resource *PrivateLinkResource) AssignProperties_From_PrivateLinkResource(source *storage.PrivateLinkResource) error { +func (resource *PrivateLinkResource) AssignProperties_From_PrivateLinkResource(source *v20231102ps.PrivateLinkResource) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -10543,7 +10544,7 @@ func (resource *PrivateLinkResource) AssignProperties_From_PrivateLinkResource(s } // AssignProperties_To_PrivateLinkResource populates the provided destination PrivateLinkResource from our PrivateLinkResource -func (resource *PrivateLinkResource) AssignProperties_To_PrivateLinkResource(destination *storage.PrivateLinkResource) error { +func (resource *PrivateLinkResource) AssignProperties_To_PrivateLinkResource(destination *v20231102ps.PrivateLinkResource) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(resource.PropertyBag) @@ -10600,7 +10601,7 @@ type PrivateLinkResource_STATUS struct { } // AssignProperties_From_PrivateLinkResource_STATUS populates our PrivateLinkResource_STATUS from the provided source PrivateLinkResource_STATUS -func (resource *PrivateLinkResource_STATUS) AssignProperties_From_PrivateLinkResource_STATUS(source *storage.PrivateLinkResource_STATUS) error { +func (resource *PrivateLinkResource_STATUS) AssignProperties_From_PrivateLinkResource_STATUS(source *v20231102ps.PrivateLinkResource_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -10643,7 +10644,7 @@ func (resource *PrivateLinkResource_STATUS) AssignProperties_From_PrivateLinkRes } // AssignProperties_To_PrivateLinkResource_STATUS populates the provided destination PrivateLinkResource_STATUS from our PrivateLinkResource_STATUS -func (resource *PrivateLinkResource_STATUS) AssignProperties_To_PrivateLinkResource_STATUS(destination *storage.PrivateLinkResource_STATUS) error { +func (resource *PrivateLinkResource_STATUS) AssignProperties_To_PrivateLinkResource_STATUS(destination *v20231102ps.PrivateLinkResource_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(resource.PropertyBag) @@ -10695,7 +10696,7 @@ type SafeguardsProfile struct { } // AssignProperties_From_SafeguardsProfile populates our SafeguardsProfile from the provided source SafeguardsProfile -func (profile *SafeguardsProfile) AssignProperties_From_SafeguardsProfile(source *storage.SafeguardsProfile) error { +func (profile *SafeguardsProfile) AssignProperties_From_SafeguardsProfile(source *v20231102ps.SafeguardsProfile) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -10729,7 +10730,7 @@ func (profile *SafeguardsProfile) AssignProperties_From_SafeguardsProfile(source } // AssignProperties_To_SafeguardsProfile populates the provided destination SafeguardsProfile from our SafeguardsProfile -func (profile *SafeguardsProfile) AssignProperties_To_SafeguardsProfile(destination *storage.SafeguardsProfile) error { +func (profile *SafeguardsProfile) AssignProperties_To_SafeguardsProfile(destination *v20231102ps.SafeguardsProfile) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) @@ -10773,7 +10774,7 @@ type SafeguardsProfile_STATUS struct { } // AssignProperties_From_SafeguardsProfile_STATUS populates our SafeguardsProfile_STATUS from the provided source SafeguardsProfile_STATUS -func (profile *SafeguardsProfile_STATUS) AssignProperties_From_SafeguardsProfile_STATUS(source *storage.SafeguardsProfile_STATUS) error { +func (profile *SafeguardsProfile_STATUS) AssignProperties_From_SafeguardsProfile_STATUS(source *v20231102ps.SafeguardsProfile_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -10810,7 +10811,7 @@ func (profile *SafeguardsProfile_STATUS) AssignProperties_From_SafeguardsProfile } // AssignProperties_To_SafeguardsProfile_STATUS populates the provided destination SafeguardsProfile_STATUS from our SafeguardsProfile_STATUS -func (profile *SafeguardsProfile_STATUS) AssignProperties_To_SafeguardsProfile_STATUS(destination *storage.SafeguardsProfile_STATUS) error { +func (profile *SafeguardsProfile_STATUS) AssignProperties_To_SafeguardsProfile_STATUS(destination *v20231102ps.SafeguardsProfile_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) @@ -10855,7 +10856,7 @@ type ServiceMeshProfile struct { } // AssignProperties_From_ServiceMeshProfile populates our ServiceMeshProfile from the provided source ServiceMeshProfile -func (profile *ServiceMeshProfile) AssignProperties_From_ServiceMeshProfile(source *storage.ServiceMeshProfile) error { +func (profile *ServiceMeshProfile) AssignProperties_From_ServiceMeshProfile(source *v20231102ps.ServiceMeshProfile) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -10895,13 +10896,13 @@ func (profile *ServiceMeshProfile) AssignProperties_From_ServiceMeshProfile(sour } // AssignProperties_To_ServiceMeshProfile populates the provided destination ServiceMeshProfile from our ServiceMeshProfile -func (profile *ServiceMeshProfile) AssignProperties_To_ServiceMeshProfile(destination *storage.ServiceMeshProfile) error { +func (profile *ServiceMeshProfile) AssignProperties_To_ServiceMeshProfile(destination *v20231102ps.ServiceMeshProfile) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) // Istio if profile.Istio != nil { - var istio storage.IstioServiceMesh + var istio v20231102ps.IstioServiceMesh err := profile.Istio.AssignProperties_To_IstioServiceMesh(&istio) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_IstioServiceMesh() to populate field Istio") @@ -10943,7 +10944,7 @@ type ServiceMeshProfile_STATUS struct { } // AssignProperties_From_ServiceMeshProfile_STATUS populates our ServiceMeshProfile_STATUS from the provided source ServiceMeshProfile_STATUS -func (profile *ServiceMeshProfile_STATUS) AssignProperties_From_ServiceMeshProfile_STATUS(source *storage.ServiceMeshProfile_STATUS) error { +func (profile *ServiceMeshProfile_STATUS) AssignProperties_From_ServiceMeshProfile_STATUS(source *v20231102ps.ServiceMeshProfile_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -10983,13 +10984,13 @@ func (profile *ServiceMeshProfile_STATUS) AssignProperties_From_ServiceMeshProfi } // AssignProperties_To_ServiceMeshProfile_STATUS populates the provided destination ServiceMeshProfile_STATUS from our ServiceMeshProfile_STATUS -func (profile *ServiceMeshProfile_STATUS) AssignProperties_To_ServiceMeshProfile_STATUS(destination *storage.ServiceMeshProfile_STATUS) error { +func (profile *ServiceMeshProfile_STATUS) AssignProperties_To_ServiceMeshProfile_STATUS(destination *v20231102ps.ServiceMeshProfile_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) // Istio if profile.Istio != nil { - var istio storage.IstioServiceMesh_STATUS + var istio v20231102ps.IstioServiceMesh_STATUS err := profile.Istio.AssignProperties_To_IstioServiceMesh_STATUS(&istio) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_IstioServiceMesh_STATUS() to populate field Istio") @@ -11035,7 +11036,7 @@ type SystemData_STATUS struct { } // AssignProperties_From_SystemData_STATUS populates our SystemData_STATUS from the provided source SystemData_STATUS -func (data *SystemData_STATUS) AssignProperties_From_SystemData_STATUS(source *storage.SystemData_STATUS) error { +func (data *SystemData_STATUS) AssignProperties_From_SystemData_STATUS(source *v20231102ps.SystemData_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -11078,7 +11079,7 @@ func (data *SystemData_STATUS) AssignProperties_From_SystemData_STATUS(source *s } // AssignProperties_To_SystemData_STATUS populates the provided destination SystemData_STATUS from our SystemData_STATUS -func (data *SystemData_STATUS) AssignProperties_To_SystemData_STATUS(destination *storage.SystemData_STATUS) error { +func (data *SystemData_STATUS) AssignProperties_To_SystemData_STATUS(destination *v20231102ps.SystemData_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(data.PropertyBag) @@ -11132,7 +11133,7 @@ type UserAssignedIdentity struct { } // AssignProperties_From_UserAssignedIdentity populates our UserAssignedIdentity from the provided source UserAssignedIdentity -func (identity *UserAssignedIdentity) AssignProperties_From_UserAssignedIdentity(source *storage.UserAssignedIdentity) error { +func (identity *UserAssignedIdentity) AssignProperties_From_UserAssignedIdentity(source *v20231102ps.UserAssignedIdentity) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -11171,7 +11172,7 @@ func (identity *UserAssignedIdentity) AssignProperties_From_UserAssignedIdentity } // AssignProperties_To_UserAssignedIdentity populates the provided destination UserAssignedIdentity from our UserAssignedIdentity -func (identity *UserAssignedIdentity) AssignProperties_To_UserAssignedIdentity(destination *storage.UserAssignedIdentity) error { +func (identity *UserAssignedIdentity) AssignProperties_To_UserAssignedIdentity(destination *v20231102ps.UserAssignedIdentity) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(identity.PropertyBag) @@ -11219,7 +11220,7 @@ type UserAssignedIdentity_STATUS struct { } // AssignProperties_From_UserAssignedIdentity_STATUS populates our UserAssignedIdentity_STATUS from the provided source UserAssignedIdentity_STATUS -func (identity *UserAssignedIdentity_STATUS) AssignProperties_From_UserAssignedIdentity_STATUS(source *storage.UserAssignedIdentity_STATUS) error { +func (identity *UserAssignedIdentity_STATUS) AssignProperties_From_UserAssignedIdentity_STATUS(source *v20231102ps.UserAssignedIdentity_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -11253,7 +11254,7 @@ func (identity *UserAssignedIdentity_STATUS) AssignProperties_From_UserAssignedI } // AssignProperties_To_UserAssignedIdentity_STATUS populates the provided destination UserAssignedIdentity_STATUS from our UserAssignedIdentity_STATUS -func (identity *UserAssignedIdentity_STATUS) AssignProperties_To_UserAssignedIdentity_STATUS(destination *storage.UserAssignedIdentity_STATUS) error { +func (identity *UserAssignedIdentity_STATUS) AssignProperties_To_UserAssignedIdentity_STATUS(destination *v20231102ps.UserAssignedIdentity_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(identity.PropertyBag) @@ -11294,6 +11295,80 @@ type AdvancedNetworking struct { PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` } +// AssignProperties_From_AdvancedNetworking populates our AdvancedNetworking from the provided source AdvancedNetworking +func (networking *AdvancedNetworking) AssignProperties_From_AdvancedNetworking(source *v20231001sc.AdvancedNetworking) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // Observability + if source.Observability != nil { + var observability AdvancedNetworkingObservability + err := observability.AssignProperties_From_AdvancedNetworkingObservability(source.Observability) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_AdvancedNetworkingObservability() to populate field Observability") + } + networking.Observability = &observability + } else { + networking.Observability = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + networking.PropertyBag = propertyBag + } else { + networking.PropertyBag = nil + } + + // Invoke the augmentConversionForAdvancedNetworking interface (if implemented) to customize the conversion + var networkingAsAny any = networking + if augmentedNetworking, ok := networkingAsAny.(augmentConversionForAdvancedNetworking); ok { + err := augmentedNetworking.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_AdvancedNetworking populates the provided destination AdvancedNetworking from our AdvancedNetworking +func (networking *AdvancedNetworking) AssignProperties_To_AdvancedNetworking(destination *v20231001sc.AdvancedNetworking) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(networking.PropertyBag) + + // Observability + if networking.Observability != nil { + var observability v20231001sc.AdvancedNetworkingObservability + err := networking.Observability.AssignProperties_To_AdvancedNetworkingObservability(&observability) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_AdvancedNetworkingObservability() to populate field Observability") + } + destination.Observability = &observability + } else { + destination.Observability = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForAdvancedNetworking interface (if implemented) to customize the conversion + var networkingAsAny any = networking + if augmentedNetworking, ok := networkingAsAny.(augmentConversionForAdvancedNetworking); ok { + err := augmentedNetworking.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + // Storage version of v1api20240402preview.AdvancedNetworking_STATUS // Advanced Networking profile for enabling observability on a cluster. Note that enabling advanced networking features may // incur additional costs. For more information see aka.ms/aksadvancednetworking. @@ -11302,329 +11377,403 @@ type AdvancedNetworking_STATUS struct { PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` } +// AssignProperties_From_AdvancedNetworking_STATUS populates our AdvancedNetworking_STATUS from the provided source AdvancedNetworking_STATUS +func (networking *AdvancedNetworking_STATUS) AssignProperties_From_AdvancedNetworking_STATUS(source *v20231001sc.AdvancedNetworking_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // Observability + if source.Observability != nil { + var observability AdvancedNetworkingObservability_STATUS + err := observability.AssignProperties_From_AdvancedNetworkingObservability_STATUS(source.Observability) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_AdvancedNetworkingObservability_STATUS() to populate field Observability") + } + networking.Observability = &observability + } else { + networking.Observability = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + networking.PropertyBag = propertyBag + } else { + networking.PropertyBag = nil + } + + // Invoke the augmentConversionForAdvancedNetworking_STATUS interface (if implemented) to customize the conversion + var networkingAsAny any = networking + if augmentedNetworking, ok := networkingAsAny.(augmentConversionForAdvancedNetworking_STATUS); ok { + err := augmentedNetworking.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_AdvancedNetworking_STATUS populates the provided destination AdvancedNetworking_STATUS from our AdvancedNetworking_STATUS +func (networking *AdvancedNetworking_STATUS) AssignProperties_To_AdvancedNetworking_STATUS(destination *v20231001sc.AdvancedNetworking_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(networking.PropertyBag) + + // Observability + if networking.Observability != nil { + var observability v20231001sc.AdvancedNetworkingObservability_STATUS + err := networking.Observability.AssignProperties_To_AdvancedNetworkingObservability_STATUS(&observability) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_AdvancedNetworkingObservability_STATUS() to populate field Observability") + } + destination.Observability = &observability + } else { + destination.Observability = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForAdvancedNetworking_STATUS interface (if implemented) to customize the conversion + var networkingAsAny any = networking + if augmentedNetworking, ok := networkingAsAny.(augmentConversionForAdvancedNetworking_STATUS); ok { + err := augmentedNetworking.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + type augmentConversionForClusterUpgradeSettings interface { - AssignPropertiesFrom(src *storage.ClusterUpgradeSettings) error - AssignPropertiesTo(dst *storage.ClusterUpgradeSettings) error + AssignPropertiesFrom(src *v20231102ps.ClusterUpgradeSettings) error + AssignPropertiesTo(dst *v20231102ps.ClusterUpgradeSettings) error } type augmentConversionForClusterUpgradeSettings_STATUS interface { - AssignPropertiesFrom(src *storage.ClusterUpgradeSettings_STATUS) error - AssignPropertiesTo(dst *storage.ClusterUpgradeSettings_STATUS) error + AssignPropertiesFrom(src *v20231102ps.ClusterUpgradeSettings_STATUS) error + AssignPropertiesTo(dst *v20231102ps.ClusterUpgradeSettings_STATUS) error } type augmentConversionForContainerServiceLinuxProfile interface { - AssignPropertiesFrom(src *storage.ContainerServiceLinuxProfile) error - AssignPropertiesTo(dst *storage.ContainerServiceLinuxProfile) error + AssignPropertiesFrom(src *v20231102ps.ContainerServiceLinuxProfile) error + AssignPropertiesTo(dst *v20231102ps.ContainerServiceLinuxProfile) error } type augmentConversionForContainerServiceLinuxProfile_STATUS interface { - AssignPropertiesFrom(src *storage.ContainerServiceLinuxProfile_STATUS) error - AssignPropertiesTo(dst *storage.ContainerServiceLinuxProfile_STATUS) error + AssignPropertiesFrom(src *v20231102ps.ContainerServiceLinuxProfile_STATUS) error + AssignPropertiesTo(dst *v20231102ps.ContainerServiceLinuxProfile_STATUS) error } type augmentConversionForContainerServiceNetworkProfile interface { - AssignPropertiesFrom(src *storage.ContainerServiceNetworkProfile) error - AssignPropertiesTo(dst *storage.ContainerServiceNetworkProfile) error + AssignPropertiesFrom(src *v20231102ps.ContainerServiceNetworkProfile) error + AssignPropertiesTo(dst *v20231102ps.ContainerServiceNetworkProfile) error } type augmentConversionForContainerServiceNetworkProfile_STATUS interface { - AssignPropertiesFrom(src *storage.ContainerServiceNetworkProfile_STATUS) error - AssignPropertiesTo(dst *storage.ContainerServiceNetworkProfile_STATUS) error + AssignPropertiesFrom(src *v20231102ps.ContainerServiceNetworkProfile_STATUS) error + AssignPropertiesTo(dst *v20231102ps.ContainerServiceNetworkProfile_STATUS) error } type augmentConversionForCreationData interface { - AssignPropertiesFrom(src *storage.CreationData) error - AssignPropertiesTo(dst *storage.CreationData) error + AssignPropertiesFrom(src *v20231102ps.CreationData) error + AssignPropertiesTo(dst *v20231102ps.CreationData) error } type augmentConversionForCreationData_STATUS interface { - AssignPropertiesFrom(src *storage.CreationData_STATUS) error - AssignPropertiesTo(dst *storage.CreationData_STATUS) error + AssignPropertiesFrom(src *v20231102ps.CreationData_STATUS) error + AssignPropertiesTo(dst *v20231102ps.CreationData_STATUS) error } type augmentConversionForExtendedLocation interface { - AssignPropertiesFrom(src *storage.ExtendedLocation) error - AssignPropertiesTo(dst *storage.ExtendedLocation) error + AssignPropertiesFrom(src *v20231102ps.ExtendedLocation) error + AssignPropertiesTo(dst *v20231102ps.ExtendedLocation) error } type augmentConversionForExtendedLocation_STATUS interface { - AssignPropertiesFrom(src *storage.ExtendedLocation_STATUS) error - AssignPropertiesTo(dst *storage.ExtendedLocation_STATUS) error + AssignPropertiesFrom(src *v20231102ps.ExtendedLocation_STATUS) error + AssignPropertiesTo(dst *v20231102ps.ExtendedLocation_STATUS) error } type augmentConversionForManagedClusterAADProfile interface { - AssignPropertiesFrom(src *storage.ManagedClusterAADProfile) error - AssignPropertiesTo(dst *storage.ManagedClusterAADProfile) error + AssignPropertiesFrom(src *v20231102ps.ManagedClusterAADProfile) error + AssignPropertiesTo(dst *v20231102ps.ManagedClusterAADProfile) error } type augmentConversionForManagedClusterAADProfile_STATUS interface { - AssignPropertiesFrom(src *storage.ManagedClusterAADProfile_STATUS) error - AssignPropertiesTo(dst *storage.ManagedClusterAADProfile_STATUS) error + AssignPropertiesFrom(src *v20231102ps.ManagedClusterAADProfile_STATUS) error + AssignPropertiesTo(dst *v20231102ps.ManagedClusterAADProfile_STATUS) error } type augmentConversionForManagedClusterAddonProfile interface { - AssignPropertiesFrom(src *storage.ManagedClusterAddonProfile) error - AssignPropertiesTo(dst *storage.ManagedClusterAddonProfile) error + AssignPropertiesFrom(src *v20231102ps.ManagedClusterAddonProfile) error + AssignPropertiesTo(dst *v20231102ps.ManagedClusterAddonProfile) error } type augmentConversionForManagedClusterAddonProfile_STATUS interface { - AssignPropertiesFrom(src *storage.ManagedClusterAddonProfile_STATUS) error - AssignPropertiesTo(dst *storage.ManagedClusterAddonProfile_STATUS) error + AssignPropertiesFrom(src *v20231102ps.ManagedClusterAddonProfile_STATUS) error + AssignPropertiesTo(dst *v20231102ps.ManagedClusterAddonProfile_STATUS) error } type augmentConversionForManagedClusterAgentPoolProfile interface { - AssignPropertiesFrom(src *storage.ManagedClusterAgentPoolProfile) error - AssignPropertiesTo(dst *storage.ManagedClusterAgentPoolProfile) error + AssignPropertiesFrom(src *v20231102ps.ManagedClusterAgentPoolProfile) error + AssignPropertiesTo(dst *v20231102ps.ManagedClusterAgentPoolProfile) error } type augmentConversionForManagedClusterAgentPoolProfile_STATUS interface { - AssignPropertiesFrom(src *storage.ManagedClusterAgentPoolProfile_STATUS) error - AssignPropertiesTo(dst *storage.ManagedClusterAgentPoolProfile_STATUS) error + AssignPropertiesFrom(src *v20231102ps.ManagedClusterAgentPoolProfile_STATUS) error + AssignPropertiesTo(dst *v20231102ps.ManagedClusterAgentPoolProfile_STATUS) error } type augmentConversionForManagedClusterAIToolchainOperatorProfile interface { - AssignPropertiesFrom(src *storage.ManagedClusterAIToolchainOperatorProfile) error - AssignPropertiesTo(dst *storage.ManagedClusterAIToolchainOperatorProfile) error + AssignPropertiesFrom(src *v20231102ps.ManagedClusterAIToolchainOperatorProfile) error + AssignPropertiesTo(dst *v20231102ps.ManagedClusterAIToolchainOperatorProfile) error } type augmentConversionForManagedClusterAIToolchainOperatorProfile_STATUS interface { - AssignPropertiesFrom(src *storage.ManagedClusterAIToolchainOperatorProfile_STATUS) error - AssignPropertiesTo(dst *storage.ManagedClusterAIToolchainOperatorProfile_STATUS) error + AssignPropertiesFrom(src *v20231102ps.ManagedClusterAIToolchainOperatorProfile_STATUS) error + AssignPropertiesTo(dst *v20231102ps.ManagedClusterAIToolchainOperatorProfile_STATUS) error } type augmentConversionForManagedClusterAPIServerAccessProfile interface { - AssignPropertiesFrom(src *storage.ManagedClusterAPIServerAccessProfile) error - AssignPropertiesTo(dst *storage.ManagedClusterAPIServerAccessProfile) error + AssignPropertiesFrom(src *v20231102ps.ManagedClusterAPIServerAccessProfile) error + AssignPropertiesTo(dst *v20231102ps.ManagedClusterAPIServerAccessProfile) error } type augmentConversionForManagedClusterAPIServerAccessProfile_STATUS interface { - AssignPropertiesFrom(src *storage.ManagedClusterAPIServerAccessProfile_STATUS) error - AssignPropertiesTo(dst *storage.ManagedClusterAPIServerAccessProfile_STATUS) error + AssignPropertiesFrom(src *v20231102ps.ManagedClusterAPIServerAccessProfile_STATUS) error + AssignPropertiesTo(dst *v20231102ps.ManagedClusterAPIServerAccessProfile_STATUS) error } type augmentConversionForManagedClusterAutoUpgradeProfile interface { - AssignPropertiesFrom(src *storage.ManagedClusterAutoUpgradeProfile) error - AssignPropertiesTo(dst *storage.ManagedClusterAutoUpgradeProfile) error + AssignPropertiesFrom(src *v20231102ps.ManagedClusterAutoUpgradeProfile) error + AssignPropertiesTo(dst *v20231102ps.ManagedClusterAutoUpgradeProfile) error } type augmentConversionForManagedClusterAutoUpgradeProfile_STATUS interface { - AssignPropertiesFrom(src *storage.ManagedClusterAutoUpgradeProfile_STATUS) error - AssignPropertiesTo(dst *storage.ManagedClusterAutoUpgradeProfile_STATUS) error + AssignPropertiesFrom(src *v20231102ps.ManagedClusterAutoUpgradeProfile_STATUS) error + AssignPropertiesTo(dst *v20231102ps.ManagedClusterAutoUpgradeProfile_STATUS) error } type augmentConversionForManagedClusterAzureMonitorProfile interface { - AssignPropertiesFrom(src *storage.ManagedClusterAzureMonitorProfile) error - AssignPropertiesTo(dst *storage.ManagedClusterAzureMonitorProfile) error + AssignPropertiesFrom(src *v20231102ps.ManagedClusterAzureMonitorProfile) error + AssignPropertiesTo(dst *v20231102ps.ManagedClusterAzureMonitorProfile) error } type augmentConversionForManagedClusterAzureMonitorProfile_STATUS interface { - AssignPropertiesFrom(src *storage.ManagedClusterAzureMonitorProfile_STATUS) error - AssignPropertiesTo(dst *storage.ManagedClusterAzureMonitorProfile_STATUS) error + AssignPropertiesFrom(src *v20231102ps.ManagedClusterAzureMonitorProfile_STATUS) error + AssignPropertiesTo(dst *v20231102ps.ManagedClusterAzureMonitorProfile_STATUS) error } type augmentConversionForManagedClusterHTTPProxyConfig interface { - AssignPropertiesFrom(src *storage.ManagedClusterHTTPProxyConfig) error - AssignPropertiesTo(dst *storage.ManagedClusterHTTPProxyConfig) error + AssignPropertiesFrom(src *v20231102ps.ManagedClusterHTTPProxyConfig) error + AssignPropertiesTo(dst *v20231102ps.ManagedClusterHTTPProxyConfig) error } type augmentConversionForManagedClusterHTTPProxyConfig_STATUS interface { - AssignPropertiesFrom(src *storage.ManagedClusterHTTPProxyConfig_STATUS) error - AssignPropertiesTo(dst *storage.ManagedClusterHTTPProxyConfig_STATUS) error + AssignPropertiesFrom(src *v20231102ps.ManagedClusterHTTPProxyConfig_STATUS) error + AssignPropertiesTo(dst *v20231102ps.ManagedClusterHTTPProxyConfig_STATUS) error } type augmentConversionForManagedClusterIdentity interface { - AssignPropertiesFrom(src *storage.ManagedClusterIdentity) error - AssignPropertiesTo(dst *storage.ManagedClusterIdentity) error + AssignPropertiesFrom(src *v20231102ps.ManagedClusterIdentity) error + AssignPropertiesTo(dst *v20231102ps.ManagedClusterIdentity) error } type augmentConversionForManagedClusterIdentity_STATUS interface { - AssignPropertiesFrom(src *storage.ManagedClusterIdentity_STATUS) error - AssignPropertiesTo(dst *storage.ManagedClusterIdentity_STATUS) error + AssignPropertiesFrom(src *v20231102ps.ManagedClusterIdentity_STATUS) error + AssignPropertiesTo(dst *v20231102ps.ManagedClusterIdentity_STATUS) error } type augmentConversionForManagedClusterIngressProfile interface { - AssignPropertiesFrom(src *storage.ManagedClusterIngressProfile) error - AssignPropertiesTo(dst *storage.ManagedClusterIngressProfile) error + AssignPropertiesFrom(src *v20231102ps.ManagedClusterIngressProfile) error + AssignPropertiesTo(dst *v20231102ps.ManagedClusterIngressProfile) error } type augmentConversionForManagedClusterIngressProfile_STATUS interface { - AssignPropertiesFrom(src *storage.ManagedClusterIngressProfile_STATUS) error - AssignPropertiesTo(dst *storage.ManagedClusterIngressProfile_STATUS) error + AssignPropertiesFrom(src *v20231102ps.ManagedClusterIngressProfile_STATUS) error + AssignPropertiesTo(dst *v20231102ps.ManagedClusterIngressProfile_STATUS) error } type augmentConversionForManagedClusterMetricsProfile interface { - AssignPropertiesFrom(src *storage.ManagedClusterMetricsProfile) error - AssignPropertiesTo(dst *storage.ManagedClusterMetricsProfile) error + AssignPropertiesFrom(src *v20231102ps.ManagedClusterMetricsProfile) error + AssignPropertiesTo(dst *v20231102ps.ManagedClusterMetricsProfile) error } type augmentConversionForManagedClusterMetricsProfile_STATUS interface { - AssignPropertiesFrom(src *storage.ManagedClusterMetricsProfile_STATUS) error - AssignPropertiesTo(dst *storage.ManagedClusterMetricsProfile_STATUS) error + AssignPropertiesFrom(src *v20231102ps.ManagedClusterMetricsProfile_STATUS) error + AssignPropertiesTo(dst *v20231102ps.ManagedClusterMetricsProfile_STATUS) error } type augmentConversionForManagedClusterNodeProvisioningProfile interface { - AssignPropertiesFrom(src *storage.ManagedClusterNodeProvisioningProfile) error - AssignPropertiesTo(dst *storage.ManagedClusterNodeProvisioningProfile) error + AssignPropertiesFrom(src *v20231102ps.ManagedClusterNodeProvisioningProfile) error + AssignPropertiesTo(dst *v20231102ps.ManagedClusterNodeProvisioningProfile) error } type augmentConversionForManagedClusterNodeProvisioningProfile_STATUS interface { - AssignPropertiesFrom(src *storage.ManagedClusterNodeProvisioningProfile_STATUS) error - AssignPropertiesTo(dst *storage.ManagedClusterNodeProvisioningProfile_STATUS) error + AssignPropertiesFrom(src *v20231102ps.ManagedClusterNodeProvisioningProfile_STATUS) error + AssignPropertiesTo(dst *v20231102ps.ManagedClusterNodeProvisioningProfile_STATUS) error } type augmentConversionForManagedClusterNodeResourceGroupProfile interface { - AssignPropertiesFrom(src *storage.ManagedClusterNodeResourceGroupProfile) error - AssignPropertiesTo(dst *storage.ManagedClusterNodeResourceGroupProfile) error + AssignPropertiesFrom(src *v20231102ps.ManagedClusterNodeResourceGroupProfile) error + AssignPropertiesTo(dst *v20231102ps.ManagedClusterNodeResourceGroupProfile) error } type augmentConversionForManagedClusterNodeResourceGroupProfile_STATUS interface { - AssignPropertiesFrom(src *storage.ManagedClusterNodeResourceGroupProfile_STATUS) error - AssignPropertiesTo(dst *storage.ManagedClusterNodeResourceGroupProfile_STATUS) error + AssignPropertiesFrom(src *v20231102ps.ManagedClusterNodeResourceGroupProfile_STATUS) error + AssignPropertiesTo(dst *v20231102ps.ManagedClusterNodeResourceGroupProfile_STATUS) error } type augmentConversionForManagedClusterOIDCIssuerProfile interface { - AssignPropertiesFrom(src *storage.ManagedClusterOIDCIssuerProfile) error - AssignPropertiesTo(dst *storage.ManagedClusterOIDCIssuerProfile) error + AssignPropertiesFrom(src *v20231102ps.ManagedClusterOIDCIssuerProfile) error + AssignPropertiesTo(dst *v20231102ps.ManagedClusterOIDCIssuerProfile) error } type augmentConversionForManagedClusterOIDCIssuerProfile_STATUS interface { - AssignPropertiesFrom(src *storage.ManagedClusterOIDCIssuerProfile_STATUS) error - AssignPropertiesTo(dst *storage.ManagedClusterOIDCIssuerProfile_STATUS) error + AssignPropertiesFrom(src *v20231102ps.ManagedClusterOIDCIssuerProfile_STATUS) error + AssignPropertiesTo(dst *v20231102ps.ManagedClusterOIDCIssuerProfile_STATUS) error } type augmentConversionForManagedClusterOperatorSpec interface { - AssignPropertiesFrom(src *storage.ManagedClusterOperatorSpec) error - AssignPropertiesTo(dst *storage.ManagedClusterOperatorSpec) error + AssignPropertiesFrom(src *v20231102ps.ManagedClusterOperatorSpec) error + AssignPropertiesTo(dst *v20231102ps.ManagedClusterOperatorSpec) error } type augmentConversionForManagedClusterPodIdentityProfile interface { - AssignPropertiesFrom(src *storage.ManagedClusterPodIdentityProfile) error - AssignPropertiesTo(dst *storage.ManagedClusterPodIdentityProfile) error + AssignPropertiesFrom(src *v20231102ps.ManagedClusterPodIdentityProfile) error + AssignPropertiesTo(dst *v20231102ps.ManagedClusterPodIdentityProfile) error } type augmentConversionForManagedClusterPodIdentityProfile_STATUS interface { - AssignPropertiesFrom(src *storage.ManagedClusterPodIdentityProfile_STATUS) error - AssignPropertiesTo(dst *storage.ManagedClusterPodIdentityProfile_STATUS) error + AssignPropertiesFrom(src *v20231102ps.ManagedClusterPodIdentityProfile_STATUS) error + AssignPropertiesTo(dst *v20231102ps.ManagedClusterPodIdentityProfile_STATUS) error } type augmentConversionForManagedClusterProperties_AutoScalerProfile interface { - AssignPropertiesFrom(src *storage.ManagedClusterProperties_AutoScalerProfile) error - AssignPropertiesTo(dst *storage.ManagedClusterProperties_AutoScalerProfile) error + AssignPropertiesFrom(src *v20231102ps.ManagedClusterProperties_AutoScalerProfile) error + AssignPropertiesTo(dst *v20231102ps.ManagedClusterProperties_AutoScalerProfile) error } type augmentConversionForManagedClusterProperties_AutoScalerProfile_STATUS interface { - AssignPropertiesFrom(src *storage.ManagedClusterProperties_AutoScalerProfile_STATUS) error - AssignPropertiesTo(dst *storage.ManagedClusterProperties_AutoScalerProfile_STATUS) error + AssignPropertiesFrom(src *v20231102ps.ManagedClusterProperties_AutoScalerProfile_STATUS) error + AssignPropertiesTo(dst *v20231102ps.ManagedClusterProperties_AutoScalerProfile_STATUS) error } type augmentConversionForManagedClusterSecurityProfile interface { - AssignPropertiesFrom(src *storage.ManagedClusterSecurityProfile) error - AssignPropertiesTo(dst *storage.ManagedClusterSecurityProfile) error + AssignPropertiesFrom(src *v20231102ps.ManagedClusterSecurityProfile) error + AssignPropertiesTo(dst *v20231102ps.ManagedClusterSecurityProfile) error } type augmentConversionForManagedClusterSecurityProfile_STATUS interface { - AssignPropertiesFrom(src *storage.ManagedClusterSecurityProfile_STATUS) error - AssignPropertiesTo(dst *storage.ManagedClusterSecurityProfile_STATUS) error + AssignPropertiesFrom(src *v20231102ps.ManagedClusterSecurityProfile_STATUS) error + AssignPropertiesTo(dst *v20231102ps.ManagedClusterSecurityProfile_STATUS) error } type augmentConversionForManagedClusterServicePrincipalProfile interface { - AssignPropertiesFrom(src *storage.ManagedClusterServicePrincipalProfile) error - AssignPropertiesTo(dst *storage.ManagedClusterServicePrincipalProfile) error + AssignPropertiesFrom(src *v20231102ps.ManagedClusterServicePrincipalProfile) error + AssignPropertiesTo(dst *v20231102ps.ManagedClusterServicePrincipalProfile) error } type augmentConversionForManagedClusterServicePrincipalProfile_STATUS interface { - AssignPropertiesFrom(src *storage.ManagedClusterServicePrincipalProfile_STATUS) error - AssignPropertiesTo(dst *storage.ManagedClusterServicePrincipalProfile_STATUS) error + AssignPropertiesFrom(src *v20231102ps.ManagedClusterServicePrincipalProfile_STATUS) error + AssignPropertiesTo(dst *v20231102ps.ManagedClusterServicePrincipalProfile_STATUS) error } type augmentConversionForManagedClusterSKU interface { - AssignPropertiesFrom(src *storage.ManagedClusterSKU) error - AssignPropertiesTo(dst *storage.ManagedClusterSKU) error + AssignPropertiesFrom(src *v20231102ps.ManagedClusterSKU) error + AssignPropertiesTo(dst *v20231102ps.ManagedClusterSKU) error } type augmentConversionForManagedClusterSKU_STATUS interface { - AssignPropertiesFrom(src *storage.ManagedClusterSKU_STATUS) error - AssignPropertiesTo(dst *storage.ManagedClusterSKU_STATUS) error + AssignPropertiesFrom(src *v20231102ps.ManagedClusterSKU_STATUS) error + AssignPropertiesTo(dst *v20231102ps.ManagedClusterSKU_STATUS) error } type augmentConversionForManagedClusterStorageProfile interface { - AssignPropertiesFrom(src *storage.ManagedClusterStorageProfile) error - AssignPropertiesTo(dst *storage.ManagedClusterStorageProfile) error + AssignPropertiesFrom(src *v20231102ps.ManagedClusterStorageProfile) error + AssignPropertiesTo(dst *v20231102ps.ManagedClusterStorageProfile) error } type augmentConversionForManagedClusterStorageProfile_STATUS interface { - AssignPropertiesFrom(src *storage.ManagedClusterStorageProfile_STATUS) error - AssignPropertiesTo(dst *storage.ManagedClusterStorageProfile_STATUS) error + AssignPropertiesFrom(src *v20231102ps.ManagedClusterStorageProfile_STATUS) error + AssignPropertiesTo(dst *v20231102ps.ManagedClusterStorageProfile_STATUS) error } type augmentConversionForManagedClusterWindowsProfile interface { - AssignPropertiesFrom(src *storage.ManagedClusterWindowsProfile) error - AssignPropertiesTo(dst *storage.ManagedClusterWindowsProfile) error + AssignPropertiesFrom(src *v20231102ps.ManagedClusterWindowsProfile) error + AssignPropertiesTo(dst *v20231102ps.ManagedClusterWindowsProfile) error } type augmentConversionForManagedClusterWindowsProfile_STATUS interface { - AssignPropertiesFrom(src *storage.ManagedClusterWindowsProfile_STATUS) error - AssignPropertiesTo(dst *storage.ManagedClusterWindowsProfile_STATUS) error + AssignPropertiesFrom(src *v20231102ps.ManagedClusterWindowsProfile_STATUS) error + AssignPropertiesTo(dst *v20231102ps.ManagedClusterWindowsProfile_STATUS) error } type augmentConversionForManagedClusterWorkloadAutoScalerProfile interface { - AssignPropertiesFrom(src *storage.ManagedClusterWorkloadAutoScalerProfile) error - AssignPropertiesTo(dst *storage.ManagedClusterWorkloadAutoScalerProfile) error + AssignPropertiesFrom(src *v20231102ps.ManagedClusterWorkloadAutoScalerProfile) error + AssignPropertiesTo(dst *v20231102ps.ManagedClusterWorkloadAutoScalerProfile) error } type augmentConversionForManagedClusterWorkloadAutoScalerProfile_STATUS interface { - AssignPropertiesFrom(src *storage.ManagedClusterWorkloadAutoScalerProfile_STATUS) error - AssignPropertiesTo(dst *storage.ManagedClusterWorkloadAutoScalerProfile_STATUS) error + AssignPropertiesFrom(src *v20231102ps.ManagedClusterWorkloadAutoScalerProfile_STATUS) error + AssignPropertiesTo(dst *v20231102ps.ManagedClusterWorkloadAutoScalerProfile_STATUS) error } type augmentConversionForPowerState_STATUS interface { - AssignPropertiesFrom(src *storage.PowerState_STATUS) error - AssignPropertiesTo(dst *storage.PowerState_STATUS) error + AssignPropertiesFrom(src *v20231102ps.PowerState_STATUS) error + AssignPropertiesTo(dst *v20231102ps.PowerState_STATUS) error } type augmentConversionForPrivateLinkResource interface { - AssignPropertiesFrom(src *storage.PrivateLinkResource) error - AssignPropertiesTo(dst *storage.PrivateLinkResource) error + AssignPropertiesFrom(src *v20231102ps.PrivateLinkResource) error + AssignPropertiesTo(dst *v20231102ps.PrivateLinkResource) error } type augmentConversionForPrivateLinkResource_STATUS interface { - AssignPropertiesFrom(src *storage.PrivateLinkResource_STATUS) error - AssignPropertiesTo(dst *storage.PrivateLinkResource_STATUS) error + AssignPropertiesFrom(src *v20231102ps.PrivateLinkResource_STATUS) error + AssignPropertiesTo(dst *v20231102ps.PrivateLinkResource_STATUS) error } type augmentConversionForSafeguardsProfile interface { - AssignPropertiesFrom(src *storage.SafeguardsProfile) error - AssignPropertiesTo(dst *storage.SafeguardsProfile) error + AssignPropertiesFrom(src *v20231102ps.SafeguardsProfile) error + AssignPropertiesTo(dst *v20231102ps.SafeguardsProfile) error } type augmentConversionForSafeguardsProfile_STATUS interface { - AssignPropertiesFrom(src *storage.SafeguardsProfile_STATUS) error - AssignPropertiesTo(dst *storage.SafeguardsProfile_STATUS) error + AssignPropertiesFrom(src *v20231102ps.SafeguardsProfile_STATUS) error + AssignPropertiesTo(dst *v20231102ps.SafeguardsProfile_STATUS) error } type augmentConversionForServiceMeshProfile interface { - AssignPropertiesFrom(src *storage.ServiceMeshProfile) error - AssignPropertiesTo(dst *storage.ServiceMeshProfile) error + AssignPropertiesFrom(src *v20231102ps.ServiceMeshProfile) error + AssignPropertiesTo(dst *v20231102ps.ServiceMeshProfile) error } type augmentConversionForServiceMeshProfile_STATUS interface { - AssignPropertiesFrom(src *storage.ServiceMeshProfile_STATUS) error - AssignPropertiesTo(dst *storage.ServiceMeshProfile_STATUS) error + AssignPropertiesFrom(src *v20231102ps.ServiceMeshProfile_STATUS) error + AssignPropertiesTo(dst *v20231102ps.ServiceMeshProfile_STATUS) error } type augmentConversionForSystemData_STATUS interface { - AssignPropertiesFrom(src *storage.SystemData_STATUS) error - AssignPropertiesTo(dst *storage.SystemData_STATUS) error + AssignPropertiesFrom(src *v20231102ps.SystemData_STATUS) error + AssignPropertiesTo(dst *v20231102ps.SystemData_STATUS) error } type augmentConversionForUserAssignedIdentity interface { - AssignPropertiesFrom(src *storage.UserAssignedIdentity) error - AssignPropertiesTo(dst *storage.UserAssignedIdentity) error + AssignPropertiesFrom(src *v20231102ps.UserAssignedIdentity) error + AssignPropertiesTo(dst *v20231102ps.UserAssignedIdentity) error } type augmentConversionForUserAssignedIdentity_STATUS interface { - AssignPropertiesFrom(src *storage.UserAssignedIdentity_STATUS) error - AssignPropertiesTo(dst *storage.UserAssignedIdentity_STATUS) error + AssignPropertiesFrom(src *v20231102ps.UserAssignedIdentity_STATUS) error + AssignPropertiesTo(dst *v20231102ps.UserAssignedIdentity_STATUS) error } // Storage version of v1api20240402preview.AzureKeyVaultKms @@ -11641,7 +11790,7 @@ type AzureKeyVaultKms struct { } // AssignProperties_From_AzureKeyVaultKms populates our AzureKeyVaultKms from the provided source AzureKeyVaultKms -func (vaultKms *AzureKeyVaultKms) AssignProperties_From_AzureKeyVaultKms(source *storage.AzureKeyVaultKms) error { +func (vaultKms *AzureKeyVaultKms) AssignProperties_From_AzureKeyVaultKms(source *v20231102ps.AzureKeyVaultKms) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -11688,7 +11837,7 @@ func (vaultKms *AzureKeyVaultKms) AssignProperties_From_AzureKeyVaultKms(source } // AssignProperties_To_AzureKeyVaultKms populates the provided destination AzureKeyVaultKms from our AzureKeyVaultKms -func (vaultKms *AzureKeyVaultKms) AssignProperties_To_AzureKeyVaultKms(destination *storage.AzureKeyVaultKms) error { +func (vaultKms *AzureKeyVaultKms) AssignProperties_To_AzureKeyVaultKms(destination *v20231102ps.AzureKeyVaultKms) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(vaultKms.PropertyBag) @@ -11745,7 +11894,7 @@ type AzureKeyVaultKms_STATUS struct { } // AssignProperties_From_AzureKeyVaultKms_STATUS populates our AzureKeyVaultKms_STATUS from the provided source AzureKeyVaultKms_STATUS -func (vaultKms *AzureKeyVaultKms_STATUS) AssignProperties_From_AzureKeyVaultKms_STATUS(source *storage.AzureKeyVaultKms_STATUS) error { +func (vaultKms *AzureKeyVaultKms_STATUS) AssignProperties_From_AzureKeyVaultKms_STATUS(source *v20231102ps.AzureKeyVaultKms_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -11787,7 +11936,7 @@ func (vaultKms *AzureKeyVaultKms_STATUS) AssignProperties_From_AzureKeyVaultKms_ } // AssignProperties_To_AzureKeyVaultKms_STATUS populates the provided destination AzureKeyVaultKms_STATUS from our AzureKeyVaultKms_STATUS -func (vaultKms *AzureKeyVaultKms_STATUS) AssignProperties_To_AzureKeyVaultKms_STATUS(destination *storage.AzureKeyVaultKms_STATUS) error { +func (vaultKms *AzureKeyVaultKms_STATUS) AssignProperties_To_AzureKeyVaultKms_STATUS(destination *v20231102ps.AzureKeyVaultKms_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(vaultKms.PropertyBag) @@ -11837,7 +11986,7 @@ type ContainerServiceNetworkProfile_KubeProxyConfig struct { } // AssignProperties_From_ContainerServiceNetworkProfile_KubeProxyConfig populates our ContainerServiceNetworkProfile_KubeProxyConfig from the provided source ContainerServiceNetworkProfile_KubeProxyConfig -func (config *ContainerServiceNetworkProfile_KubeProxyConfig) AssignProperties_From_ContainerServiceNetworkProfile_KubeProxyConfig(source *storage.ContainerServiceNetworkProfile_KubeProxyConfig) error { +func (config *ContainerServiceNetworkProfile_KubeProxyConfig) AssignProperties_From_ContainerServiceNetworkProfile_KubeProxyConfig(source *v20231102ps.ContainerServiceNetworkProfile_KubeProxyConfig) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -11885,7 +12034,7 @@ func (config *ContainerServiceNetworkProfile_KubeProxyConfig) AssignProperties_F } // AssignProperties_To_ContainerServiceNetworkProfile_KubeProxyConfig populates the provided destination ContainerServiceNetworkProfile_KubeProxyConfig from our ContainerServiceNetworkProfile_KubeProxyConfig -func (config *ContainerServiceNetworkProfile_KubeProxyConfig) AssignProperties_To_ContainerServiceNetworkProfile_KubeProxyConfig(destination *storage.ContainerServiceNetworkProfile_KubeProxyConfig) error { +func (config *ContainerServiceNetworkProfile_KubeProxyConfig) AssignProperties_To_ContainerServiceNetworkProfile_KubeProxyConfig(destination *v20231102ps.ContainerServiceNetworkProfile_KubeProxyConfig) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(config.PropertyBag) @@ -11899,7 +12048,7 @@ func (config *ContainerServiceNetworkProfile_KubeProxyConfig) AssignProperties_T // IpvsConfig if config.IpvsConfig != nil { - var ipvsConfig storage.ContainerServiceNetworkProfile_KubeProxyConfig_IpvsConfig + var ipvsConfig v20231102ps.ContainerServiceNetworkProfile_KubeProxyConfig_IpvsConfig err := config.IpvsConfig.AssignProperties_To_ContainerServiceNetworkProfile_KubeProxyConfig_IpvsConfig(&ipvsConfig) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ContainerServiceNetworkProfile_KubeProxyConfig_IpvsConfig() to populate field IpvsConfig") @@ -11941,7 +12090,7 @@ type ContainerServiceNetworkProfile_KubeProxyConfig_STATUS struct { } // AssignProperties_From_ContainerServiceNetworkProfile_KubeProxyConfig_STATUS populates our ContainerServiceNetworkProfile_KubeProxyConfig_STATUS from the provided source ContainerServiceNetworkProfile_KubeProxyConfig_STATUS -func (config *ContainerServiceNetworkProfile_KubeProxyConfig_STATUS) AssignProperties_From_ContainerServiceNetworkProfile_KubeProxyConfig_STATUS(source *storage.ContainerServiceNetworkProfile_KubeProxyConfig_STATUS) error { +func (config *ContainerServiceNetworkProfile_KubeProxyConfig_STATUS) AssignProperties_From_ContainerServiceNetworkProfile_KubeProxyConfig_STATUS(source *v20231102ps.ContainerServiceNetworkProfile_KubeProxyConfig_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -11989,7 +12138,7 @@ func (config *ContainerServiceNetworkProfile_KubeProxyConfig_STATUS) AssignPrope } // AssignProperties_To_ContainerServiceNetworkProfile_KubeProxyConfig_STATUS populates the provided destination ContainerServiceNetworkProfile_KubeProxyConfig_STATUS from our ContainerServiceNetworkProfile_KubeProxyConfig_STATUS -func (config *ContainerServiceNetworkProfile_KubeProxyConfig_STATUS) AssignProperties_To_ContainerServiceNetworkProfile_KubeProxyConfig_STATUS(destination *storage.ContainerServiceNetworkProfile_KubeProxyConfig_STATUS) error { +func (config *ContainerServiceNetworkProfile_KubeProxyConfig_STATUS) AssignProperties_To_ContainerServiceNetworkProfile_KubeProxyConfig_STATUS(destination *v20231102ps.ContainerServiceNetworkProfile_KubeProxyConfig_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(config.PropertyBag) @@ -12003,7 +12152,7 @@ func (config *ContainerServiceNetworkProfile_KubeProxyConfig_STATUS) AssignPrope // IpvsConfig if config.IpvsConfig != nil { - var ipvsConfig storage.ContainerServiceNetworkProfile_KubeProxyConfig_IpvsConfig_STATUS + var ipvsConfig v20231102ps.ContainerServiceNetworkProfile_KubeProxyConfig_IpvsConfig_STATUS err := config.IpvsConfig.AssignProperties_To_ContainerServiceNetworkProfile_KubeProxyConfig_IpvsConfig_STATUS(&ipvsConfig) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ContainerServiceNetworkProfile_KubeProxyConfig_IpvsConfig_STATUS() to populate field IpvsConfig") @@ -12044,7 +12193,7 @@ type ContainerServiceSshConfiguration struct { } // AssignProperties_From_ContainerServiceSshConfiguration populates our ContainerServiceSshConfiguration from the provided source ContainerServiceSshConfiguration -func (configuration *ContainerServiceSshConfiguration) AssignProperties_From_ContainerServiceSshConfiguration(source *storage.ContainerServiceSshConfiguration) error { +func (configuration *ContainerServiceSshConfiguration) AssignProperties_From_ContainerServiceSshConfiguration(source *v20231102ps.ContainerServiceSshConfiguration) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -12087,17 +12236,17 @@ func (configuration *ContainerServiceSshConfiguration) AssignProperties_From_Con } // AssignProperties_To_ContainerServiceSshConfiguration populates the provided destination ContainerServiceSshConfiguration from our ContainerServiceSshConfiguration -func (configuration *ContainerServiceSshConfiguration) AssignProperties_To_ContainerServiceSshConfiguration(destination *storage.ContainerServiceSshConfiguration) error { +func (configuration *ContainerServiceSshConfiguration) AssignProperties_To_ContainerServiceSshConfiguration(destination *v20231102ps.ContainerServiceSshConfiguration) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(configuration.PropertyBag) // PublicKeys if configuration.PublicKeys != nil { - publicKeyList := make([]storage.ContainerServiceSshPublicKey, len(configuration.PublicKeys)) + publicKeyList := make([]v20231102ps.ContainerServiceSshPublicKey, len(configuration.PublicKeys)) for publicKeyIndex, publicKeyItem := range configuration.PublicKeys { // Shadow the loop variable to avoid aliasing publicKeyItem := publicKeyItem - var publicKey storage.ContainerServiceSshPublicKey + var publicKey v20231102ps.ContainerServiceSshPublicKey err := publicKeyItem.AssignProperties_To_ContainerServiceSshPublicKey(&publicKey) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ContainerServiceSshPublicKey() to populate field PublicKeys") @@ -12137,7 +12286,7 @@ type ContainerServiceSshConfiguration_STATUS struct { } // AssignProperties_From_ContainerServiceSshConfiguration_STATUS populates our ContainerServiceSshConfiguration_STATUS from the provided source ContainerServiceSshConfiguration_STATUS -func (configuration *ContainerServiceSshConfiguration_STATUS) AssignProperties_From_ContainerServiceSshConfiguration_STATUS(source *storage.ContainerServiceSshConfiguration_STATUS) error { +func (configuration *ContainerServiceSshConfiguration_STATUS) AssignProperties_From_ContainerServiceSshConfiguration_STATUS(source *v20231102ps.ContainerServiceSshConfiguration_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -12180,17 +12329,17 @@ func (configuration *ContainerServiceSshConfiguration_STATUS) AssignProperties_F } // AssignProperties_To_ContainerServiceSshConfiguration_STATUS populates the provided destination ContainerServiceSshConfiguration_STATUS from our ContainerServiceSshConfiguration_STATUS -func (configuration *ContainerServiceSshConfiguration_STATUS) AssignProperties_To_ContainerServiceSshConfiguration_STATUS(destination *storage.ContainerServiceSshConfiguration_STATUS) error { +func (configuration *ContainerServiceSshConfiguration_STATUS) AssignProperties_To_ContainerServiceSshConfiguration_STATUS(destination *v20231102ps.ContainerServiceSshConfiguration_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(configuration.PropertyBag) // PublicKeys if configuration.PublicKeys != nil { - publicKeyList := make([]storage.ContainerServiceSshPublicKey_STATUS, len(configuration.PublicKeys)) + publicKeyList := make([]v20231102ps.ContainerServiceSshPublicKey_STATUS, len(configuration.PublicKeys)) for publicKeyIndex, publicKeyItem := range configuration.PublicKeys { // Shadow the loop variable to avoid aliasing publicKeyItem := publicKeyItem - var publicKey storage.ContainerServiceSshPublicKey_STATUS + var publicKey v20231102ps.ContainerServiceSshPublicKey_STATUS err := publicKeyItem.AssignProperties_To_ContainerServiceSshPublicKey_STATUS(&publicKey) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ContainerServiceSshPublicKey_STATUS() to populate field PublicKeys") @@ -12235,7 +12384,7 @@ type DelegatedResource struct { } // AssignProperties_From_DelegatedResource populates our DelegatedResource from the provided source DelegatedResource -func (resource *DelegatedResource) AssignProperties_From_DelegatedResource(source *storage.DelegatedResource) error { +func (resource *DelegatedResource) AssignProperties_From_DelegatedResource(source *v20231102ps.DelegatedResource) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -12277,7 +12426,7 @@ func (resource *DelegatedResource) AssignProperties_From_DelegatedResource(sourc } // AssignProperties_To_DelegatedResource populates the provided destination DelegatedResource from our DelegatedResource -func (resource *DelegatedResource) AssignProperties_To_DelegatedResource(destination *storage.DelegatedResource) error { +func (resource *DelegatedResource) AssignProperties_To_DelegatedResource(destination *v20231102ps.DelegatedResource) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(resource.PropertyBag) @@ -12329,7 +12478,7 @@ type DelegatedResource_STATUS struct { } // AssignProperties_From_DelegatedResource_STATUS populates our DelegatedResource_STATUS from the provided source DelegatedResource_STATUS -func (resource *DelegatedResource_STATUS) AssignProperties_From_DelegatedResource_STATUS(source *storage.DelegatedResource_STATUS) error { +func (resource *DelegatedResource_STATUS) AssignProperties_From_DelegatedResource_STATUS(source *v20231102ps.DelegatedResource_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -12366,7 +12515,7 @@ func (resource *DelegatedResource_STATUS) AssignProperties_From_DelegatedResourc } // AssignProperties_To_DelegatedResource_STATUS populates the provided destination DelegatedResource_STATUS from our DelegatedResource_STATUS -func (resource *DelegatedResource_STATUS) AssignProperties_To_DelegatedResource_STATUS(destination *storage.DelegatedResource_STATUS) error { +func (resource *DelegatedResource_STATUS) AssignProperties_To_DelegatedResource_STATUS(destination *v20231102ps.DelegatedResource_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(resource.PropertyBag) @@ -12412,7 +12561,7 @@ type IstioServiceMesh struct { } // AssignProperties_From_IstioServiceMesh populates our IstioServiceMesh from the provided source IstioServiceMesh -func (mesh *IstioServiceMesh) AssignProperties_From_IstioServiceMesh(source *storage.IstioServiceMesh) error { +func (mesh *IstioServiceMesh) AssignProperties_From_IstioServiceMesh(source *v20231102ps.IstioServiceMesh) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -12464,13 +12613,13 @@ func (mesh *IstioServiceMesh) AssignProperties_From_IstioServiceMesh(source *sto } // AssignProperties_To_IstioServiceMesh populates the provided destination IstioServiceMesh from our IstioServiceMesh -func (mesh *IstioServiceMesh) AssignProperties_To_IstioServiceMesh(destination *storage.IstioServiceMesh) error { +func (mesh *IstioServiceMesh) AssignProperties_To_IstioServiceMesh(destination *v20231102ps.IstioServiceMesh) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(mesh.PropertyBag) // CertificateAuthority if mesh.CertificateAuthority != nil { - var certificateAuthority storage.IstioCertificateAuthority + var certificateAuthority v20231102ps.IstioCertificateAuthority err := mesh.CertificateAuthority.AssignProperties_To_IstioCertificateAuthority(&certificateAuthority) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_IstioCertificateAuthority() to populate field CertificateAuthority") @@ -12482,7 +12631,7 @@ func (mesh *IstioServiceMesh) AssignProperties_To_IstioServiceMesh(destination * // Components if mesh.Components != nil { - var component storage.IstioComponents + var component v20231102ps.IstioComponents err := mesh.Components.AssignProperties_To_IstioComponents(&component) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_IstioComponents() to populate field Components") @@ -12525,7 +12674,7 @@ type IstioServiceMesh_STATUS struct { } // AssignProperties_From_IstioServiceMesh_STATUS populates our IstioServiceMesh_STATUS from the provided source IstioServiceMesh_STATUS -func (mesh *IstioServiceMesh_STATUS) AssignProperties_From_IstioServiceMesh_STATUS(source *storage.IstioServiceMesh_STATUS) error { +func (mesh *IstioServiceMesh_STATUS) AssignProperties_From_IstioServiceMesh_STATUS(source *v20231102ps.IstioServiceMesh_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -12577,13 +12726,13 @@ func (mesh *IstioServiceMesh_STATUS) AssignProperties_From_IstioServiceMesh_STAT } // AssignProperties_To_IstioServiceMesh_STATUS populates the provided destination IstioServiceMesh_STATUS from our IstioServiceMesh_STATUS -func (mesh *IstioServiceMesh_STATUS) AssignProperties_To_IstioServiceMesh_STATUS(destination *storage.IstioServiceMesh_STATUS) error { +func (mesh *IstioServiceMesh_STATUS) AssignProperties_To_IstioServiceMesh_STATUS(destination *v20231102ps.IstioServiceMesh_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(mesh.PropertyBag) // CertificateAuthority if mesh.CertificateAuthority != nil { - var certificateAuthority storage.IstioCertificateAuthority_STATUS + var certificateAuthority v20231102ps.IstioCertificateAuthority_STATUS err := mesh.CertificateAuthority.AssignProperties_To_IstioCertificateAuthority_STATUS(&certificateAuthority) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_IstioCertificateAuthority_STATUS() to populate field CertificateAuthority") @@ -12595,7 +12744,7 @@ func (mesh *IstioServiceMesh_STATUS) AssignProperties_To_IstioServiceMesh_STATUS // Components if mesh.Components != nil { - var component storage.IstioComponents_STATUS + var component v20231102ps.IstioComponents_STATUS err := mesh.Components.AssignProperties_To_IstioComponents_STATUS(&component) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_IstioComponents_STATUS() to populate field Components") @@ -12640,7 +12789,7 @@ type ManagedClusterAzureMonitorProfileAppMonitoring struct { } // AssignProperties_From_ManagedClusterAzureMonitorProfileAppMonitoring populates our ManagedClusterAzureMonitorProfileAppMonitoring from the provided source ManagedClusterAzureMonitorProfileAppMonitoring -func (monitoring *ManagedClusterAzureMonitorProfileAppMonitoring) AssignProperties_From_ManagedClusterAzureMonitorProfileAppMonitoring(source *storage.ManagedClusterAzureMonitorProfileAppMonitoring) error { +func (monitoring *ManagedClusterAzureMonitorProfileAppMonitoring) AssignProperties_From_ManagedClusterAzureMonitorProfileAppMonitoring(source *v20231102ps.ManagedClusterAzureMonitorProfileAppMonitoring) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -12711,7 +12860,7 @@ func (monitoring *ManagedClusterAzureMonitorProfileAppMonitoring) AssignProperti } // AssignProperties_To_ManagedClusterAzureMonitorProfileAppMonitoring populates the provided destination ManagedClusterAzureMonitorProfileAppMonitoring from our ManagedClusterAzureMonitorProfileAppMonitoring -func (monitoring *ManagedClusterAzureMonitorProfileAppMonitoring) AssignProperties_To_ManagedClusterAzureMonitorProfileAppMonitoring(destination *storage.ManagedClusterAzureMonitorProfileAppMonitoring) error { +func (monitoring *ManagedClusterAzureMonitorProfileAppMonitoring) AssignProperties_To_ManagedClusterAzureMonitorProfileAppMonitoring(destination *v20231102ps.ManagedClusterAzureMonitorProfileAppMonitoring) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(monitoring.PropertyBag) @@ -12781,7 +12930,7 @@ type ManagedClusterAzureMonitorProfileAppMonitoring_STATUS struct { } // AssignProperties_From_ManagedClusterAzureMonitorProfileAppMonitoring_STATUS populates our ManagedClusterAzureMonitorProfileAppMonitoring_STATUS from the provided source ManagedClusterAzureMonitorProfileAppMonitoring_STATUS -func (monitoring *ManagedClusterAzureMonitorProfileAppMonitoring_STATUS) AssignProperties_From_ManagedClusterAzureMonitorProfileAppMonitoring_STATUS(source *storage.ManagedClusterAzureMonitorProfileAppMonitoring_STATUS) error { +func (monitoring *ManagedClusterAzureMonitorProfileAppMonitoring_STATUS) AssignProperties_From_ManagedClusterAzureMonitorProfileAppMonitoring_STATUS(source *v20231102ps.ManagedClusterAzureMonitorProfileAppMonitoring_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -12852,7 +13001,7 @@ func (monitoring *ManagedClusterAzureMonitorProfileAppMonitoring_STATUS) AssignP } // AssignProperties_To_ManagedClusterAzureMonitorProfileAppMonitoring_STATUS populates the provided destination ManagedClusterAzureMonitorProfileAppMonitoring_STATUS from our ManagedClusterAzureMonitorProfileAppMonitoring_STATUS -func (monitoring *ManagedClusterAzureMonitorProfileAppMonitoring_STATUS) AssignProperties_To_ManagedClusterAzureMonitorProfileAppMonitoring_STATUS(destination *storage.ManagedClusterAzureMonitorProfileAppMonitoring_STATUS) error { +func (monitoring *ManagedClusterAzureMonitorProfileAppMonitoring_STATUS) AssignProperties_To_ManagedClusterAzureMonitorProfileAppMonitoring_STATUS(destination *v20231102ps.ManagedClusterAzureMonitorProfileAppMonitoring_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(monitoring.PropertyBag) @@ -12926,7 +13075,7 @@ type ManagedClusterAzureMonitorProfileContainerInsights struct { } // AssignProperties_From_ManagedClusterAzureMonitorProfileContainerInsights populates our ManagedClusterAzureMonitorProfileContainerInsights from the provided source ManagedClusterAzureMonitorProfileContainerInsights -func (insights *ManagedClusterAzureMonitorProfileContainerInsights) AssignProperties_From_ManagedClusterAzureMonitorProfileContainerInsights(source *storage.ManagedClusterAzureMonitorProfileContainerInsights) error { +func (insights *ManagedClusterAzureMonitorProfileContainerInsights) AssignProperties_From_ManagedClusterAzureMonitorProfileContainerInsights(source *v20231102ps.ManagedClusterAzureMonitorProfileContainerInsights) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -13013,7 +13162,7 @@ func (insights *ManagedClusterAzureMonitorProfileContainerInsights) AssignProper } // AssignProperties_To_ManagedClusterAzureMonitorProfileContainerInsights populates the provided destination ManagedClusterAzureMonitorProfileContainerInsights from our ManagedClusterAzureMonitorProfileContainerInsights -func (insights *ManagedClusterAzureMonitorProfileContainerInsights) AssignProperties_To_ManagedClusterAzureMonitorProfileContainerInsights(destination *storage.ManagedClusterAzureMonitorProfileContainerInsights) error { +func (insights *ManagedClusterAzureMonitorProfileContainerInsights) AssignProperties_To_ManagedClusterAzureMonitorProfileContainerInsights(destination *v20231102ps.ManagedClusterAzureMonitorProfileContainerInsights) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(insights.PropertyBag) @@ -13056,7 +13205,7 @@ func (insights *ManagedClusterAzureMonitorProfileContainerInsights) AssignProper // WindowsHostLogs if propertyBag.Contains("WindowsHostLogs") { - var windowsHostLog storage.ManagedClusterAzureMonitorProfileWindowsHostLogs + var windowsHostLog v20231102ps.ManagedClusterAzureMonitorProfileWindowsHostLogs err := propertyBag.Pull("WindowsHostLogs", &windowsHostLog) if err != nil { return errors.Wrap(err, "pulling 'WindowsHostLogs' from propertyBag") @@ -13100,7 +13249,7 @@ type ManagedClusterAzureMonitorProfileContainerInsights_STATUS struct { } // AssignProperties_From_ManagedClusterAzureMonitorProfileContainerInsights_STATUS populates our ManagedClusterAzureMonitorProfileContainerInsights_STATUS from the provided source ManagedClusterAzureMonitorProfileContainerInsights_STATUS -func (insights *ManagedClusterAzureMonitorProfileContainerInsights_STATUS) AssignProperties_From_ManagedClusterAzureMonitorProfileContainerInsights_STATUS(source *storage.ManagedClusterAzureMonitorProfileContainerInsights_STATUS) error { +func (insights *ManagedClusterAzureMonitorProfileContainerInsights_STATUS) AssignProperties_From_ManagedClusterAzureMonitorProfileContainerInsights_STATUS(source *v20231102ps.ManagedClusterAzureMonitorProfileContainerInsights_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -13182,7 +13331,7 @@ func (insights *ManagedClusterAzureMonitorProfileContainerInsights_STATUS) Assig } // AssignProperties_To_ManagedClusterAzureMonitorProfileContainerInsights_STATUS populates the provided destination ManagedClusterAzureMonitorProfileContainerInsights_STATUS from our ManagedClusterAzureMonitorProfileContainerInsights_STATUS -func (insights *ManagedClusterAzureMonitorProfileContainerInsights_STATUS) AssignProperties_To_ManagedClusterAzureMonitorProfileContainerInsights_STATUS(destination *storage.ManagedClusterAzureMonitorProfileContainerInsights_STATUS) error { +func (insights *ManagedClusterAzureMonitorProfileContainerInsights_STATUS) AssignProperties_To_ManagedClusterAzureMonitorProfileContainerInsights_STATUS(destination *v20231102ps.ManagedClusterAzureMonitorProfileContainerInsights_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(insights.PropertyBag) @@ -13220,7 +13369,7 @@ func (insights *ManagedClusterAzureMonitorProfileContainerInsights_STATUS) Assig // WindowsHostLogs if propertyBag.Contains("WindowsHostLogs") { - var windowsHostLog storage.ManagedClusterAzureMonitorProfileWindowsHostLogs_STATUS + var windowsHostLog v20231102ps.ManagedClusterAzureMonitorProfileWindowsHostLogs_STATUS err := propertyBag.Pull("WindowsHostLogs", &windowsHostLog) if err != nil { return errors.Wrap(err, "pulling 'WindowsHostLogs' from propertyBag") @@ -13260,7 +13409,7 @@ type ManagedClusterAzureMonitorProfileMetrics struct { } // AssignProperties_From_ManagedClusterAzureMonitorProfileMetrics populates our ManagedClusterAzureMonitorProfileMetrics from the provided source ManagedClusterAzureMonitorProfileMetrics -func (metrics *ManagedClusterAzureMonitorProfileMetrics) AssignProperties_From_ManagedClusterAzureMonitorProfileMetrics(source *storage.ManagedClusterAzureMonitorProfileMetrics) error { +func (metrics *ManagedClusterAzureMonitorProfileMetrics) AssignProperties_From_ManagedClusterAzureMonitorProfileMetrics(source *v20231102ps.ManagedClusterAzureMonitorProfileMetrics) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -13312,13 +13461,13 @@ func (metrics *ManagedClusterAzureMonitorProfileMetrics) AssignProperties_From_M } // AssignProperties_To_ManagedClusterAzureMonitorProfileMetrics populates the provided destination ManagedClusterAzureMonitorProfileMetrics from our ManagedClusterAzureMonitorProfileMetrics -func (metrics *ManagedClusterAzureMonitorProfileMetrics) AssignProperties_To_ManagedClusterAzureMonitorProfileMetrics(destination *storage.ManagedClusterAzureMonitorProfileMetrics) error { +func (metrics *ManagedClusterAzureMonitorProfileMetrics) AssignProperties_To_ManagedClusterAzureMonitorProfileMetrics(destination *v20231102ps.ManagedClusterAzureMonitorProfileMetrics) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(metrics.PropertyBag) // AppMonitoringOpenTelemetryMetrics if propertyBag.Contains("AppMonitoringOpenTelemetryMetrics") { - var appMonitoringOpenTelemetryMetric storage.ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetrics + var appMonitoringOpenTelemetryMetric v20231102ps.ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetrics err := propertyBag.Pull("AppMonitoringOpenTelemetryMetrics", &appMonitoringOpenTelemetryMetric) if err != nil { return errors.Wrap(err, "pulling 'AppMonitoringOpenTelemetryMetrics' from propertyBag") @@ -13339,7 +13488,7 @@ func (metrics *ManagedClusterAzureMonitorProfileMetrics) AssignProperties_To_Man // KubeStateMetrics if metrics.KubeStateMetrics != nil { - var kubeStateMetric storage.ManagedClusterAzureMonitorProfileKubeStateMetrics + var kubeStateMetric v20231102ps.ManagedClusterAzureMonitorProfileKubeStateMetrics err := metrics.KubeStateMetrics.AssignProperties_To_ManagedClusterAzureMonitorProfileKubeStateMetrics(&kubeStateMetric) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterAzureMonitorProfileKubeStateMetrics() to populate field KubeStateMetrics") @@ -13378,7 +13527,7 @@ type ManagedClusterAzureMonitorProfileMetrics_STATUS struct { } // AssignProperties_From_ManagedClusterAzureMonitorProfileMetrics_STATUS populates our ManagedClusterAzureMonitorProfileMetrics_STATUS from the provided source ManagedClusterAzureMonitorProfileMetrics_STATUS -func (metrics *ManagedClusterAzureMonitorProfileMetrics_STATUS) AssignProperties_From_ManagedClusterAzureMonitorProfileMetrics_STATUS(source *storage.ManagedClusterAzureMonitorProfileMetrics_STATUS) error { +func (metrics *ManagedClusterAzureMonitorProfileMetrics_STATUS) AssignProperties_From_ManagedClusterAzureMonitorProfileMetrics_STATUS(source *v20231102ps.ManagedClusterAzureMonitorProfileMetrics_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -13430,13 +13579,13 @@ func (metrics *ManagedClusterAzureMonitorProfileMetrics_STATUS) AssignProperties } // AssignProperties_To_ManagedClusterAzureMonitorProfileMetrics_STATUS populates the provided destination ManagedClusterAzureMonitorProfileMetrics_STATUS from our ManagedClusterAzureMonitorProfileMetrics_STATUS -func (metrics *ManagedClusterAzureMonitorProfileMetrics_STATUS) AssignProperties_To_ManagedClusterAzureMonitorProfileMetrics_STATUS(destination *storage.ManagedClusterAzureMonitorProfileMetrics_STATUS) error { +func (metrics *ManagedClusterAzureMonitorProfileMetrics_STATUS) AssignProperties_To_ManagedClusterAzureMonitorProfileMetrics_STATUS(destination *v20231102ps.ManagedClusterAzureMonitorProfileMetrics_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(metrics.PropertyBag) // AppMonitoringOpenTelemetryMetrics if propertyBag.Contains("AppMonitoringOpenTelemetryMetrics") { - var appMonitoringOpenTelemetryMetric storage.ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetrics_STATUS + var appMonitoringOpenTelemetryMetric v20231102ps.ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetrics_STATUS err := propertyBag.Pull("AppMonitoringOpenTelemetryMetrics", &appMonitoringOpenTelemetryMetric) if err != nil { return errors.Wrap(err, "pulling 'AppMonitoringOpenTelemetryMetrics' from propertyBag") @@ -13457,7 +13606,7 @@ func (metrics *ManagedClusterAzureMonitorProfileMetrics_STATUS) AssignProperties // KubeStateMetrics if metrics.KubeStateMetrics != nil { - var kubeStateMetric storage.ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS + var kubeStateMetric v20231102ps.ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS err := metrics.KubeStateMetrics.AssignProperties_To_ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS(&kubeStateMetric) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS() to populate field KubeStateMetrics") @@ -13495,7 +13644,7 @@ type ManagedClusterCostAnalysis struct { } // AssignProperties_From_ManagedClusterCostAnalysis populates our ManagedClusterCostAnalysis from the provided source ManagedClusterCostAnalysis -func (analysis *ManagedClusterCostAnalysis) AssignProperties_From_ManagedClusterCostAnalysis(source *storage.ManagedClusterCostAnalysis) error { +func (analysis *ManagedClusterCostAnalysis) AssignProperties_From_ManagedClusterCostAnalysis(source *v20231102ps.ManagedClusterCostAnalysis) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -13528,7 +13677,7 @@ func (analysis *ManagedClusterCostAnalysis) AssignProperties_From_ManagedCluster } // AssignProperties_To_ManagedClusterCostAnalysis populates the provided destination ManagedClusterCostAnalysis from our ManagedClusterCostAnalysis -func (analysis *ManagedClusterCostAnalysis) AssignProperties_To_ManagedClusterCostAnalysis(destination *storage.ManagedClusterCostAnalysis) error { +func (analysis *ManagedClusterCostAnalysis) AssignProperties_To_ManagedClusterCostAnalysis(destination *v20231102ps.ManagedClusterCostAnalysis) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(analysis.PropertyBag) @@ -13568,7 +13717,7 @@ type ManagedClusterCostAnalysis_STATUS struct { } // AssignProperties_From_ManagedClusterCostAnalysis_STATUS populates our ManagedClusterCostAnalysis_STATUS from the provided source ManagedClusterCostAnalysis_STATUS -func (analysis *ManagedClusterCostAnalysis_STATUS) AssignProperties_From_ManagedClusterCostAnalysis_STATUS(source *storage.ManagedClusterCostAnalysis_STATUS) error { +func (analysis *ManagedClusterCostAnalysis_STATUS) AssignProperties_From_ManagedClusterCostAnalysis_STATUS(source *v20231102ps.ManagedClusterCostAnalysis_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -13601,7 +13750,7 @@ func (analysis *ManagedClusterCostAnalysis_STATUS) AssignProperties_From_Managed } // AssignProperties_To_ManagedClusterCostAnalysis_STATUS populates the provided destination ManagedClusterCostAnalysis_STATUS from our ManagedClusterCostAnalysis_STATUS -func (analysis *ManagedClusterCostAnalysis_STATUS) AssignProperties_To_ManagedClusterCostAnalysis_STATUS(destination *storage.ManagedClusterCostAnalysis_STATUS) error { +func (analysis *ManagedClusterCostAnalysis_STATUS) AssignProperties_To_ManagedClusterCostAnalysis_STATUS(destination *v20231102ps.ManagedClusterCostAnalysis_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(analysis.PropertyBag) @@ -13641,7 +13790,7 @@ type ManagedClusterIdentity_UserAssignedIdentities_STATUS struct { } // AssignProperties_From_ManagedClusterIdentity_UserAssignedIdentities_STATUS populates our ManagedClusterIdentity_UserAssignedIdentities_STATUS from the provided source ManagedClusterIdentity_UserAssignedIdentities_STATUS -func (identities *ManagedClusterIdentity_UserAssignedIdentities_STATUS) AssignProperties_From_ManagedClusterIdentity_UserAssignedIdentities_STATUS(source *storage.ManagedClusterIdentity_UserAssignedIdentities_STATUS) error { +func (identities *ManagedClusterIdentity_UserAssignedIdentities_STATUS) AssignProperties_From_ManagedClusterIdentity_UserAssignedIdentities_STATUS(source *v20231102ps.ManagedClusterIdentity_UserAssignedIdentities_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -13672,7 +13821,7 @@ func (identities *ManagedClusterIdentity_UserAssignedIdentities_STATUS) AssignPr } // AssignProperties_To_ManagedClusterIdentity_UserAssignedIdentities_STATUS populates the provided destination ManagedClusterIdentity_UserAssignedIdentities_STATUS from our ManagedClusterIdentity_UserAssignedIdentities_STATUS -func (identities *ManagedClusterIdentity_UserAssignedIdentities_STATUS) AssignProperties_To_ManagedClusterIdentity_UserAssignedIdentities_STATUS(destination *storage.ManagedClusterIdentity_UserAssignedIdentities_STATUS) error { +func (identities *ManagedClusterIdentity_UserAssignedIdentities_STATUS) AssignProperties_To_ManagedClusterIdentity_UserAssignedIdentities_STATUS(destination *v20231102ps.ManagedClusterIdentity_UserAssignedIdentities_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(identities.PropertyBag) @@ -13711,7 +13860,7 @@ type ManagedClusterIngressProfileWebAppRouting struct { } // AssignProperties_From_ManagedClusterIngressProfileWebAppRouting populates our ManagedClusterIngressProfileWebAppRouting from the provided source ManagedClusterIngressProfileWebAppRouting -func (routing *ManagedClusterIngressProfileWebAppRouting) AssignProperties_From_ManagedClusterIngressProfileWebAppRouting(source *storage.ManagedClusterIngressProfileWebAppRouting) error { +func (routing *ManagedClusterIngressProfileWebAppRouting) AssignProperties_From_ManagedClusterIngressProfileWebAppRouting(source *v20231102ps.ManagedClusterIngressProfileWebAppRouting) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -13757,7 +13906,7 @@ func (routing *ManagedClusterIngressProfileWebAppRouting) AssignProperties_From_ } // AssignProperties_To_ManagedClusterIngressProfileWebAppRouting populates the provided destination ManagedClusterIngressProfileWebAppRouting from our ManagedClusterIngressProfileWebAppRouting -func (routing *ManagedClusterIngressProfileWebAppRouting) AssignProperties_To_ManagedClusterIngressProfileWebAppRouting(destination *storage.ManagedClusterIngressProfileWebAppRouting) error { +func (routing *ManagedClusterIngressProfileWebAppRouting) AssignProperties_To_ManagedClusterIngressProfileWebAppRouting(destination *v20231102ps.ManagedClusterIngressProfileWebAppRouting) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(routing.PropertyBag) @@ -13812,7 +13961,7 @@ type ManagedClusterIngressProfileWebAppRouting_STATUS struct { } // AssignProperties_From_ManagedClusterIngressProfileWebAppRouting_STATUS populates our ManagedClusterIngressProfileWebAppRouting_STATUS from the provided source ManagedClusterIngressProfileWebAppRouting_STATUS -func (routing *ManagedClusterIngressProfileWebAppRouting_STATUS) AssignProperties_From_ManagedClusterIngressProfileWebAppRouting_STATUS(source *storage.ManagedClusterIngressProfileWebAppRouting_STATUS) error { +func (routing *ManagedClusterIngressProfileWebAppRouting_STATUS) AssignProperties_From_ManagedClusterIngressProfileWebAppRouting_STATUS(source *v20231102ps.ManagedClusterIngressProfileWebAppRouting_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -13860,7 +14009,7 @@ func (routing *ManagedClusterIngressProfileWebAppRouting_STATUS) AssignPropertie } // AssignProperties_To_ManagedClusterIngressProfileWebAppRouting_STATUS populates the provided destination ManagedClusterIngressProfileWebAppRouting_STATUS from our ManagedClusterIngressProfileWebAppRouting_STATUS -func (routing *ManagedClusterIngressProfileWebAppRouting_STATUS) AssignProperties_To_ManagedClusterIngressProfileWebAppRouting_STATUS(destination *storage.ManagedClusterIngressProfileWebAppRouting_STATUS) error { +func (routing *ManagedClusterIngressProfileWebAppRouting_STATUS) AssignProperties_To_ManagedClusterIngressProfileWebAppRouting_STATUS(destination *v20231102ps.ManagedClusterIngressProfileWebAppRouting_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(routing.PropertyBag) @@ -13877,7 +14026,7 @@ func (routing *ManagedClusterIngressProfileWebAppRouting_STATUS) AssignPropertie // Identity if routing.Identity != nil { - var identity storage.UserAssignedIdentity_STATUS + var identity v20231102ps.UserAssignedIdentity_STATUS err := routing.Identity.AssignProperties_To_UserAssignedIdentity_STATUS(&identity) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_UserAssignedIdentity_STATUS() to populate field Identity") @@ -13923,7 +14072,7 @@ type ManagedClusterLoadBalancerProfile struct { } // AssignProperties_From_ManagedClusterLoadBalancerProfile populates our ManagedClusterLoadBalancerProfile from the provided source ManagedClusterLoadBalancerProfile -func (profile *ManagedClusterLoadBalancerProfile) AssignProperties_From_ManagedClusterLoadBalancerProfile(source *storage.ManagedClusterLoadBalancerProfile) error { +func (profile *ManagedClusterLoadBalancerProfile) AssignProperties_From_ManagedClusterLoadBalancerProfile(source *v20231102ps.ManagedClusterLoadBalancerProfile) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -14032,7 +14181,7 @@ func (profile *ManagedClusterLoadBalancerProfile) AssignProperties_From_ManagedC } // AssignProperties_To_ManagedClusterLoadBalancerProfile populates the provided destination ManagedClusterLoadBalancerProfile from our ManagedClusterLoadBalancerProfile -func (profile *ManagedClusterLoadBalancerProfile) AssignProperties_To_ManagedClusterLoadBalancerProfile(destination *storage.ManagedClusterLoadBalancerProfile) error { +func (profile *ManagedClusterLoadBalancerProfile) AssignProperties_To_ManagedClusterLoadBalancerProfile(destination *v20231102ps.ManagedClusterLoadBalancerProfile) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) @@ -14051,11 +14200,11 @@ func (profile *ManagedClusterLoadBalancerProfile) AssignProperties_To_ManagedClu // EffectiveOutboundIPs if profile.EffectiveOutboundIPs != nil { - effectiveOutboundIPList := make([]storage.ResourceReference, len(profile.EffectiveOutboundIPs)) + effectiveOutboundIPList := make([]v20231102ps.ResourceReference, len(profile.EffectiveOutboundIPs)) for effectiveOutboundIPIndex, effectiveOutboundIPItem := range profile.EffectiveOutboundIPs { // Shadow the loop variable to avoid aliasing effectiveOutboundIPItem := effectiveOutboundIPItem - var effectiveOutboundIP storage.ResourceReference + var effectiveOutboundIP v20231102ps.ResourceReference err := effectiveOutboundIPItem.AssignProperties_To_ResourceReference(&effectiveOutboundIP) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ResourceReference() to populate field EffectiveOutboundIPs") @@ -14080,7 +14229,7 @@ func (profile *ManagedClusterLoadBalancerProfile) AssignProperties_To_ManagedClu // ManagedOutboundIPs if profile.ManagedOutboundIPs != nil { - var managedOutboundIP storage.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs + var managedOutboundIP v20231102ps.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs err := profile.ManagedOutboundIPs.AssignProperties_To_ManagedClusterLoadBalancerProfile_ManagedOutboundIPs(&managedOutboundIP) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterLoadBalancerProfile_ManagedOutboundIPs() to populate field ManagedOutboundIPs") @@ -14092,7 +14241,7 @@ func (profile *ManagedClusterLoadBalancerProfile) AssignProperties_To_ManagedClu // OutboundIPPrefixes if profile.OutboundIPPrefixes != nil { - var outboundIPPrefix storage.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes + var outboundIPPrefix v20231102ps.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes err := profile.OutboundIPPrefixes.AssignProperties_To_ManagedClusterLoadBalancerProfile_OutboundIPPrefixes(&outboundIPPrefix) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterLoadBalancerProfile_OutboundIPPrefixes() to populate field OutboundIPPrefixes") @@ -14104,7 +14253,7 @@ func (profile *ManagedClusterLoadBalancerProfile) AssignProperties_To_ManagedClu // OutboundIPs if profile.OutboundIPs != nil { - var outboundIP storage.ManagedClusterLoadBalancerProfile_OutboundIPs + var outboundIP v20231102ps.ManagedClusterLoadBalancerProfile_OutboundIPs err := profile.OutboundIPs.AssignProperties_To_ManagedClusterLoadBalancerProfile_OutboundIPs(&outboundIP) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterLoadBalancerProfile_OutboundIPs() to populate field OutboundIPs") @@ -14150,7 +14299,7 @@ type ManagedClusterLoadBalancerProfile_STATUS struct { } // AssignProperties_From_ManagedClusterLoadBalancerProfile_STATUS populates our ManagedClusterLoadBalancerProfile_STATUS from the provided source ManagedClusterLoadBalancerProfile_STATUS -func (profile *ManagedClusterLoadBalancerProfile_STATUS) AssignProperties_From_ManagedClusterLoadBalancerProfile_STATUS(source *storage.ManagedClusterLoadBalancerProfile_STATUS) error { +func (profile *ManagedClusterLoadBalancerProfile_STATUS) AssignProperties_From_ManagedClusterLoadBalancerProfile_STATUS(source *v20231102ps.ManagedClusterLoadBalancerProfile_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -14259,7 +14408,7 @@ func (profile *ManagedClusterLoadBalancerProfile_STATUS) AssignProperties_From_M } // AssignProperties_To_ManagedClusterLoadBalancerProfile_STATUS populates the provided destination ManagedClusterLoadBalancerProfile_STATUS from our ManagedClusterLoadBalancerProfile_STATUS -func (profile *ManagedClusterLoadBalancerProfile_STATUS) AssignProperties_To_ManagedClusterLoadBalancerProfile_STATUS(destination *storage.ManagedClusterLoadBalancerProfile_STATUS) error { +func (profile *ManagedClusterLoadBalancerProfile_STATUS) AssignProperties_To_ManagedClusterLoadBalancerProfile_STATUS(destination *v20231102ps.ManagedClusterLoadBalancerProfile_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) @@ -14278,11 +14427,11 @@ func (profile *ManagedClusterLoadBalancerProfile_STATUS) AssignProperties_To_Man // EffectiveOutboundIPs if profile.EffectiveOutboundIPs != nil { - effectiveOutboundIPList := make([]storage.ResourceReference_STATUS, len(profile.EffectiveOutboundIPs)) + effectiveOutboundIPList := make([]v20231102ps.ResourceReference_STATUS, len(profile.EffectiveOutboundIPs)) for effectiveOutboundIPIndex, effectiveOutboundIPItem := range profile.EffectiveOutboundIPs { // Shadow the loop variable to avoid aliasing effectiveOutboundIPItem := effectiveOutboundIPItem - var effectiveOutboundIP storage.ResourceReference_STATUS + var effectiveOutboundIP v20231102ps.ResourceReference_STATUS err := effectiveOutboundIPItem.AssignProperties_To_ResourceReference_STATUS(&effectiveOutboundIP) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ResourceReference_STATUS() to populate field EffectiveOutboundIPs") @@ -14307,7 +14456,7 @@ func (profile *ManagedClusterLoadBalancerProfile_STATUS) AssignProperties_To_Man // ManagedOutboundIPs if profile.ManagedOutboundIPs != nil { - var managedOutboundIP storage.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS + var managedOutboundIP v20231102ps.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS err := profile.ManagedOutboundIPs.AssignProperties_To_ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS(&managedOutboundIP) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS() to populate field ManagedOutboundIPs") @@ -14319,7 +14468,7 @@ func (profile *ManagedClusterLoadBalancerProfile_STATUS) AssignProperties_To_Man // OutboundIPPrefixes if profile.OutboundIPPrefixes != nil { - var outboundIPPrefix storage.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS + var outboundIPPrefix v20231102ps.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS err := profile.OutboundIPPrefixes.AssignProperties_To_ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS(&outboundIPPrefix) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS() to populate field OutboundIPPrefixes") @@ -14331,7 +14480,7 @@ func (profile *ManagedClusterLoadBalancerProfile_STATUS) AssignProperties_To_Man // OutboundIPs if profile.OutboundIPs != nil { - var outboundIP storage.ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS + var outboundIP v20231102ps.ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS err := profile.OutboundIPs.AssignProperties_To_ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS(&outboundIP) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS() to populate field OutboundIPs") @@ -14371,7 +14520,7 @@ type ManagedClusterNATGatewayProfile struct { } // AssignProperties_From_ManagedClusterNATGatewayProfile populates our ManagedClusterNATGatewayProfile from the provided source ManagedClusterNATGatewayProfile -func (profile *ManagedClusterNATGatewayProfile) AssignProperties_From_ManagedClusterNATGatewayProfile(source *storage.ManagedClusterNATGatewayProfile) error { +func (profile *ManagedClusterNATGatewayProfile) AssignProperties_From_ManagedClusterNATGatewayProfile(source *v20231102ps.ManagedClusterNATGatewayProfile) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -14429,17 +14578,17 @@ func (profile *ManagedClusterNATGatewayProfile) AssignProperties_From_ManagedClu } // AssignProperties_To_ManagedClusterNATGatewayProfile populates the provided destination ManagedClusterNATGatewayProfile from our ManagedClusterNATGatewayProfile -func (profile *ManagedClusterNATGatewayProfile) AssignProperties_To_ManagedClusterNATGatewayProfile(destination *storage.ManagedClusterNATGatewayProfile) error { +func (profile *ManagedClusterNATGatewayProfile) AssignProperties_To_ManagedClusterNATGatewayProfile(destination *v20231102ps.ManagedClusterNATGatewayProfile) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) // EffectiveOutboundIPs if profile.EffectiveOutboundIPs != nil { - effectiveOutboundIPList := make([]storage.ResourceReference, len(profile.EffectiveOutboundIPs)) + effectiveOutboundIPList := make([]v20231102ps.ResourceReference, len(profile.EffectiveOutboundIPs)) for effectiveOutboundIPIndex, effectiveOutboundIPItem := range profile.EffectiveOutboundIPs { // Shadow the loop variable to avoid aliasing effectiveOutboundIPItem := effectiveOutboundIPItem - var effectiveOutboundIP storage.ResourceReference + var effectiveOutboundIP v20231102ps.ResourceReference err := effectiveOutboundIPItem.AssignProperties_To_ResourceReference(&effectiveOutboundIP) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ResourceReference() to populate field EffectiveOutboundIPs") @@ -14456,7 +14605,7 @@ func (profile *ManagedClusterNATGatewayProfile) AssignProperties_To_ManagedClust // ManagedOutboundIPProfile if profile.ManagedOutboundIPProfile != nil { - var managedOutboundIPProfile storage.ManagedClusterManagedOutboundIPProfile + var managedOutboundIPProfile v20231102ps.ManagedClusterManagedOutboundIPProfile err := profile.ManagedOutboundIPProfile.AssignProperties_To_ManagedClusterManagedOutboundIPProfile(&managedOutboundIPProfile) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterManagedOutboundIPProfile() to populate field ManagedOutboundIPProfile") @@ -14496,7 +14645,7 @@ type ManagedClusterNATGatewayProfile_STATUS struct { } // AssignProperties_From_ManagedClusterNATGatewayProfile_STATUS populates our ManagedClusterNATGatewayProfile_STATUS from the provided source ManagedClusterNATGatewayProfile_STATUS -func (profile *ManagedClusterNATGatewayProfile_STATUS) AssignProperties_From_ManagedClusterNATGatewayProfile_STATUS(source *storage.ManagedClusterNATGatewayProfile_STATUS) error { +func (profile *ManagedClusterNATGatewayProfile_STATUS) AssignProperties_From_ManagedClusterNATGatewayProfile_STATUS(source *v20231102ps.ManagedClusterNATGatewayProfile_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -14554,17 +14703,17 @@ func (profile *ManagedClusterNATGatewayProfile_STATUS) AssignProperties_From_Man } // AssignProperties_To_ManagedClusterNATGatewayProfile_STATUS populates the provided destination ManagedClusterNATGatewayProfile_STATUS from our ManagedClusterNATGatewayProfile_STATUS -func (profile *ManagedClusterNATGatewayProfile_STATUS) AssignProperties_To_ManagedClusterNATGatewayProfile_STATUS(destination *storage.ManagedClusterNATGatewayProfile_STATUS) error { +func (profile *ManagedClusterNATGatewayProfile_STATUS) AssignProperties_To_ManagedClusterNATGatewayProfile_STATUS(destination *v20231102ps.ManagedClusterNATGatewayProfile_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) // EffectiveOutboundIPs if profile.EffectiveOutboundIPs != nil { - effectiveOutboundIPList := make([]storage.ResourceReference_STATUS, len(profile.EffectiveOutboundIPs)) + effectiveOutboundIPList := make([]v20231102ps.ResourceReference_STATUS, len(profile.EffectiveOutboundIPs)) for effectiveOutboundIPIndex, effectiveOutboundIPItem := range profile.EffectiveOutboundIPs { // Shadow the loop variable to avoid aliasing effectiveOutboundIPItem := effectiveOutboundIPItem - var effectiveOutboundIP storage.ResourceReference_STATUS + var effectiveOutboundIP v20231102ps.ResourceReference_STATUS err := effectiveOutboundIPItem.AssignProperties_To_ResourceReference_STATUS(&effectiveOutboundIP) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ResourceReference_STATUS() to populate field EffectiveOutboundIPs") @@ -14581,7 +14730,7 @@ func (profile *ManagedClusterNATGatewayProfile_STATUS) AssignProperties_To_Manag // ManagedOutboundIPProfile if profile.ManagedOutboundIPProfile != nil { - var managedOutboundIPProfile storage.ManagedClusterManagedOutboundIPProfile_STATUS + var managedOutboundIPProfile v20231102ps.ManagedClusterManagedOutboundIPProfile_STATUS err := profile.ManagedOutboundIPProfile.AssignProperties_To_ManagedClusterManagedOutboundIPProfile_STATUS(&managedOutboundIPProfile) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterManagedOutboundIPProfile_STATUS() to populate field ManagedOutboundIPProfile") @@ -14618,7 +14767,7 @@ type ManagedClusterOperatorConfigMaps struct { } // AssignProperties_From_ManagedClusterOperatorConfigMaps populates our ManagedClusterOperatorConfigMaps from the provided source ManagedClusterOperatorConfigMaps -func (maps *ManagedClusterOperatorConfigMaps) AssignProperties_From_ManagedClusterOperatorConfigMaps(source *storage.ManagedClusterOperatorConfigMaps) error { +func (maps *ManagedClusterOperatorConfigMaps) AssignProperties_From_ManagedClusterOperatorConfigMaps(source *v20231102ps.ManagedClusterOperatorConfigMaps) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -14651,7 +14800,7 @@ func (maps *ManagedClusterOperatorConfigMaps) AssignProperties_From_ManagedClust } // AssignProperties_To_ManagedClusterOperatorConfigMaps populates the provided destination ManagedClusterOperatorConfigMaps from our ManagedClusterOperatorConfigMaps -func (maps *ManagedClusterOperatorConfigMaps) AssignProperties_To_ManagedClusterOperatorConfigMaps(destination *storage.ManagedClusterOperatorConfigMaps) error { +func (maps *ManagedClusterOperatorConfigMaps) AssignProperties_To_ManagedClusterOperatorConfigMaps(destination *v20231102ps.ManagedClusterOperatorConfigMaps) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(maps.PropertyBag) @@ -14691,7 +14840,7 @@ type ManagedClusterOperatorSecrets struct { } // AssignProperties_From_ManagedClusterOperatorSecrets populates our ManagedClusterOperatorSecrets from the provided source ManagedClusterOperatorSecrets -func (secrets *ManagedClusterOperatorSecrets) AssignProperties_From_ManagedClusterOperatorSecrets(source *storage.ManagedClusterOperatorSecrets) error { +func (secrets *ManagedClusterOperatorSecrets) AssignProperties_From_ManagedClusterOperatorSecrets(source *v20231102ps.ManagedClusterOperatorSecrets) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -14732,7 +14881,7 @@ func (secrets *ManagedClusterOperatorSecrets) AssignProperties_From_ManagedClust } // AssignProperties_To_ManagedClusterOperatorSecrets populates the provided destination ManagedClusterOperatorSecrets from our ManagedClusterOperatorSecrets -func (secrets *ManagedClusterOperatorSecrets) AssignProperties_To_ManagedClusterOperatorSecrets(destination *storage.ManagedClusterOperatorSecrets) error { +func (secrets *ManagedClusterOperatorSecrets) AssignProperties_To_ManagedClusterOperatorSecrets(destination *v20231102ps.ManagedClusterOperatorSecrets) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(secrets.PropertyBag) @@ -14783,7 +14932,7 @@ type ManagedClusterPodIdentity struct { } // AssignProperties_From_ManagedClusterPodIdentity populates our ManagedClusterPodIdentity from the provided source ManagedClusterPodIdentity -func (identity *ManagedClusterPodIdentity) AssignProperties_From_ManagedClusterPodIdentity(source *storage.ManagedClusterPodIdentity) error { +func (identity *ManagedClusterPodIdentity) AssignProperties_From_ManagedClusterPodIdentity(source *v20231102ps.ManagedClusterPodIdentity) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -14829,7 +14978,7 @@ func (identity *ManagedClusterPodIdentity) AssignProperties_From_ManagedClusterP } // AssignProperties_To_ManagedClusterPodIdentity populates the provided destination ManagedClusterPodIdentity from our ManagedClusterPodIdentity -func (identity *ManagedClusterPodIdentity) AssignProperties_To_ManagedClusterPodIdentity(destination *storage.ManagedClusterPodIdentity) error { +func (identity *ManagedClusterPodIdentity) AssignProperties_To_ManagedClusterPodIdentity(destination *v20231102ps.ManagedClusterPodIdentity) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(identity.PropertyBag) @@ -14838,7 +14987,7 @@ func (identity *ManagedClusterPodIdentity) AssignProperties_To_ManagedClusterPod // Identity if identity.Identity != nil { - var identityLocal storage.UserAssignedIdentity + var identityLocal v20231102ps.UserAssignedIdentity err := identity.Identity.AssignProperties_To_UserAssignedIdentity(&identityLocal) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_UserAssignedIdentity() to populate field Identity") @@ -14887,7 +15036,7 @@ type ManagedClusterPodIdentity_STATUS struct { } // AssignProperties_From_ManagedClusterPodIdentity_STATUS populates our ManagedClusterPodIdentity_STATUS from the provided source ManagedClusterPodIdentity_STATUS -func (identity *ManagedClusterPodIdentity_STATUS) AssignProperties_From_ManagedClusterPodIdentity_STATUS(source *storage.ManagedClusterPodIdentity_STATUS) error { +func (identity *ManagedClusterPodIdentity_STATUS) AssignProperties_From_ManagedClusterPodIdentity_STATUS(source *v20231102ps.ManagedClusterPodIdentity_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -14948,7 +15097,7 @@ func (identity *ManagedClusterPodIdentity_STATUS) AssignProperties_From_ManagedC } // AssignProperties_To_ManagedClusterPodIdentity_STATUS populates the provided destination ManagedClusterPodIdentity_STATUS from our ManagedClusterPodIdentity_STATUS -func (identity *ManagedClusterPodIdentity_STATUS) AssignProperties_To_ManagedClusterPodIdentity_STATUS(destination *storage.ManagedClusterPodIdentity_STATUS) error { +func (identity *ManagedClusterPodIdentity_STATUS) AssignProperties_To_ManagedClusterPodIdentity_STATUS(destination *v20231102ps.ManagedClusterPodIdentity_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(identity.PropertyBag) @@ -14957,7 +15106,7 @@ func (identity *ManagedClusterPodIdentity_STATUS) AssignProperties_To_ManagedClu // Identity if identity.Identity != nil { - var identityLocal storage.UserAssignedIdentity_STATUS + var identityLocal v20231102ps.UserAssignedIdentity_STATUS err := identity.Identity.AssignProperties_To_UserAssignedIdentity_STATUS(&identityLocal) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_UserAssignedIdentity_STATUS() to populate field Identity") @@ -14975,7 +15124,7 @@ func (identity *ManagedClusterPodIdentity_STATUS) AssignProperties_To_ManagedClu // ProvisioningInfo if identity.ProvisioningInfo != nil { - var provisioningInfo storage.ManagedClusterPodIdentity_ProvisioningInfo_STATUS + var provisioningInfo v20231102ps.ManagedClusterPodIdentity_ProvisioningInfo_STATUS err := identity.ProvisioningInfo.AssignProperties_To_ManagedClusterPodIdentity_ProvisioningInfo_STATUS(&provisioningInfo) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterPodIdentity_ProvisioningInfo_STATUS() to populate field ProvisioningInfo") @@ -15019,7 +15168,7 @@ type ManagedClusterPodIdentityException struct { } // AssignProperties_From_ManagedClusterPodIdentityException populates our ManagedClusterPodIdentityException from the provided source ManagedClusterPodIdentityException -func (exception *ManagedClusterPodIdentityException) AssignProperties_From_ManagedClusterPodIdentityException(source *storage.ManagedClusterPodIdentityException) error { +func (exception *ManagedClusterPodIdentityException) AssignProperties_From_ManagedClusterPodIdentityException(source *v20231102ps.ManagedClusterPodIdentityException) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -15053,7 +15202,7 @@ func (exception *ManagedClusterPodIdentityException) AssignProperties_From_Manag } // AssignProperties_To_ManagedClusterPodIdentityException populates the provided destination ManagedClusterPodIdentityException from our ManagedClusterPodIdentityException -func (exception *ManagedClusterPodIdentityException) AssignProperties_To_ManagedClusterPodIdentityException(destination *storage.ManagedClusterPodIdentityException) error { +func (exception *ManagedClusterPodIdentityException) AssignProperties_To_ManagedClusterPodIdentityException(destination *v20231102ps.ManagedClusterPodIdentityException) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(exception.PropertyBag) @@ -15097,7 +15246,7 @@ type ManagedClusterPodIdentityException_STATUS struct { } // AssignProperties_From_ManagedClusterPodIdentityException_STATUS populates our ManagedClusterPodIdentityException_STATUS from the provided source ManagedClusterPodIdentityException_STATUS -func (exception *ManagedClusterPodIdentityException_STATUS) AssignProperties_From_ManagedClusterPodIdentityException_STATUS(source *storage.ManagedClusterPodIdentityException_STATUS) error { +func (exception *ManagedClusterPodIdentityException_STATUS) AssignProperties_From_ManagedClusterPodIdentityException_STATUS(source *v20231102ps.ManagedClusterPodIdentityException_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -15131,7 +15280,7 @@ func (exception *ManagedClusterPodIdentityException_STATUS) AssignProperties_Fro } // AssignProperties_To_ManagedClusterPodIdentityException_STATUS populates the provided destination ManagedClusterPodIdentityException_STATUS from our ManagedClusterPodIdentityException_STATUS -func (exception *ManagedClusterPodIdentityException_STATUS) AssignProperties_To_ManagedClusterPodIdentityException_STATUS(destination *storage.ManagedClusterPodIdentityException_STATUS) error { +func (exception *ManagedClusterPodIdentityException_STATUS) AssignProperties_To_ManagedClusterPodIdentityException_STATUS(destination *v20231102ps.ManagedClusterPodIdentityException_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(exception.PropertyBag) @@ -15176,7 +15325,7 @@ type ManagedClusterSecurityProfileDefender struct { } // AssignProperties_From_ManagedClusterSecurityProfileDefender populates our ManagedClusterSecurityProfileDefender from the provided source ManagedClusterSecurityProfileDefender -func (defender *ManagedClusterSecurityProfileDefender) AssignProperties_From_ManagedClusterSecurityProfileDefender(source *storage.ManagedClusterSecurityProfileDefender) error { +func (defender *ManagedClusterSecurityProfileDefender) AssignProperties_From_ManagedClusterSecurityProfileDefender(source *v20231102ps.ManagedClusterSecurityProfileDefender) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -15221,7 +15370,7 @@ func (defender *ManagedClusterSecurityProfileDefender) AssignProperties_From_Man } // AssignProperties_To_ManagedClusterSecurityProfileDefender populates the provided destination ManagedClusterSecurityProfileDefender from our ManagedClusterSecurityProfileDefender -func (defender *ManagedClusterSecurityProfileDefender) AssignProperties_To_ManagedClusterSecurityProfileDefender(destination *storage.ManagedClusterSecurityProfileDefender) error { +func (defender *ManagedClusterSecurityProfileDefender) AssignProperties_To_ManagedClusterSecurityProfileDefender(destination *v20231102ps.ManagedClusterSecurityProfileDefender) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(defender.PropertyBag) @@ -15235,7 +15384,7 @@ func (defender *ManagedClusterSecurityProfileDefender) AssignProperties_To_Manag // SecurityMonitoring if defender.SecurityMonitoring != nil { - var securityMonitoring storage.ManagedClusterSecurityProfileDefenderSecurityMonitoring + var securityMonitoring v20231102ps.ManagedClusterSecurityProfileDefenderSecurityMonitoring err := defender.SecurityMonitoring.AssignProperties_To_ManagedClusterSecurityProfileDefenderSecurityMonitoring(&securityMonitoring) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterSecurityProfileDefenderSecurityMonitoring() to populate field SecurityMonitoring") @@ -15274,7 +15423,7 @@ type ManagedClusterSecurityProfileDefender_STATUS struct { } // AssignProperties_From_ManagedClusterSecurityProfileDefender_STATUS populates our ManagedClusterSecurityProfileDefender_STATUS from the provided source ManagedClusterSecurityProfileDefender_STATUS -func (defender *ManagedClusterSecurityProfileDefender_STATUS) AssignProperties_From_ManagedClusterSecurityProfileDefender_STATUS(source *storage.ManagedClusterSecurityProfileDefender_STATUS) error { +func (defender *ManagedClusterSecurityProfileDefender_STATUS) AssignProperties_From_ManagedClusterSecurityProfileDefender_STATUS(source *v20231102ps.ManagedClusterSecurityProfileDefender_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -15314,7 +15463,7 @@ func (defender *ManagedClusterSecurityProfileDefender_STATUS) AssignProperties_F } // AssignProperties_To_ManagedClusterSecurityProfileDefender_STATUS populates the provided destination ManagedClusterSecurityProfileDefender_STATUS from our ManagedClusterSecurityProfileDefender_STATUS -func (defender *ManagedClusterSecurityProfileDefender_STATUS) AssignProperties_To_ManagedClusterSecurityProfileDefender_STATUS(destination *storage.ManagedClusterSecurityProfileDefender_STATUS) error { +func (defender *ManagedClusterSecurityProfileDefender_STATUS) AssignProperties_To_ManagedClusterSecurityProfileDefender_STATUS(destination *v20231102ps.ManagedClusterSecurityProfileDefender_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(defender.PropertyBag) @@ -15323,7 +15472,7 @@ func (defender *ManagedClusterSecurityProfileDefender_STATUS) AssignProperties_T // SecurityMonitoring if defender.SecurityMonitoring != nil { - var securityMonitoring storage.ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS + var securityMonitoring v20231102ps.ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS err := defender.SecurityMonitoring.AssignProperties_To_ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS(&securityMonitoring) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS() to populate field SecurityMonitoring") @@ -15363,7 +15512,7 @@ type ManagedClusterSecurityProfileImageCleaner struct { } // AssignProperties_From_ManagedClusterSecurityProfileImageCleaner populates our ManagedClusterSecurityProfileImageCleaner from the provided source ManagedClusterSecurityProfileImageCleaner -func (cleaner *ManagedClusterSecurityProfileImageCleaner) AssignProperties_From_ManagedClusterSecurityProfileImageCleaner(source *storage.ManagedClusterSecurityProfileImageCleaner) error { +func (cleaner *ManagedClusterSecurityProfileImageCleaner) AssignProperties_From_ManagedClusterSecurityProfileImageCleaner(source *v20231102ps.ManagedClusterSecurityProfileImageCleaner) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -15399,7 +15548,7 @@ func (cleaner *ManagedClusterSecurityProfileImageCleaner) AssignProperties_From_ } // AssignProperties_To_ManagedClusterSecurityProfileImageCleaner populates the provided destination ManagedClusterSecurityProfileImageCleaner from our ManagedClusterSecurityProfileImageCleaner -func (cleaner *ManagedClusterSecurityProfileImageCleaner) AssignProperties_To_ManagedClusterSecurityProfileImageCleaner(destination *storage.ManagedClusterSecurityProfileImageCleaner) error { +func (cleaner *ManagedClusterSecurityProfileImageCleaner) AssignProperties_To_ManagedClusterSecurityProfileImageCleaner(destination *v20231102ps.ManagedClusterSecurityProfileImageCleaner) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(cleaner.PropertyBag) @@ -15444,7 +15593,7 @@ type ManagedClusterSecurityProfileImageCleaner_STATUS struct { } // AssignProperties_From_ManagedClusterSecurityProfileImageCleaner_STATUS populates our ManagedClusterSecurityProfileImageCleaner_STATUS from the provided source ManagedClusterSecurityProfileImageCleaner_STATUS -func (cleaner *ManagedClusterSecurityProfileImageCleaner_STATUS) AssignProperties_From_ManagedClusterSecurityProfileImageCleaner_STATUS(source *storage.ManagedClusterSecurityProfileImageCleaner_STATUS) error { +func (cleaner *ManagedClusterSecurityProfileImageCleaner_STATUS) AssignProperties_From_ManagedClusterSecurityProfileImageCleaner_STATUS(source *v20231102ps.ManagedClusterSecurityProfileImageCleaner_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -15480,7 +15629,7 @@ func (cleaner *ManagedClusterSecurityProfileImageCleaner_STATUS) AssignPropertie } // AssignProperties_To_ManagedClusterSecurityProfileImageCleaner_STATUS populates the provided destination ManagedClusterSecurityProfileImageCleaner_STATUS from our ManagedClusterSecurityProfileImageCleaner_STATUS -func (cleaner *ManagedClusterSecurityProfileImageCleaner_STATUS) AssignProperties_To_ManagedClusterSecurityProfileImageCleaner_STATUS(destination *storage.ManagedClusterSecurityProfileImageCleaner_STATUS) error { +func (cleaner *ManagedClusterSecurityProfileImageCleaner_STATUS) AssignProperties_To_ManagedClusterSecurityProfileImageCleaner_STATUS(destination *v20231102ps.ManagedClusterSecurityProfileImageCleaner_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(cleaner.PropertyBag) @@ -15523,7 +15672,7 @@ type ManagedClusterSecurityProfileImageIntegrity struct { } // AssignProperties_From_ManagedClusterSecurityProfileImageIntegrity populates our ManagedClusterSecurityProfileImageIntegrity from the provided source ManagedClusterSecurityProfileImageIntegrity -func (integrity *ManagedClusterSecurityProfileImageIntegrity) AssignProperties_From_ManagedClusterSecurityProfileImageIntegrity(source *storage.ManagedClusterSecurityProfileImageIntegrity) error { +func (integrity *ManagedClusterSecurityProfileImageIntegrity) AssignProperties_From_ManagedClusterSecurityProfileImageIntegrity(source *v20231102ps.ManagedClusterSecurityProfileImageIntegrity) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -15556,7 +15705,7 @@ func (integrity *ManagedClusterSecurityProfileImageIntegrity) AssignProperties_F } // AssignProperties_To_ManagedClusterSecurityProfileImageIntegrity populates the provided destination ManagedClusterSecurityProfileImageIntegrity from our ManagedClusterSecurityProfileImageIntegrity -func (integrity *ManagedClusterSecurityProfileImageIntegrity) AssignProperties_To_ManagedClusterSecurityProfileImageIntegrity(destination *storage.ManagedClusterSecurityProfileImageIntegrity) error { +func (integrity *ManagedClusterSecurityProfileImageIntegrity) AssignProperties_To_ManagedClusterSecurityProfileImageIntegrity(destination *v20231102ps.ManagedClusterSecurityProfileImageIntegrity) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(integrity.PropertyBag) @@ -15596,7 +15745,7 @@ type ManagedClusterSecurityProfileImageIntegrity_STATUS struct { } // AssignProperties_From_ManagedClusterSecurityProfileImageIntegrity_STATUS populates our ManagedClusterSecurityProfileImageIntegrity_STATUS from the provided source ManagedClusterSecurityProfileImageIntegrity_STATUS -func (integrity *ManagedClusterSecurityProfileImageIntegrity_STATUS) AssignProperties_From_ManagedClusterSecurityProfileImageIntegrity_STATUS(source *storage.ManagedClusterSecurityProfileImageIntegrity_STATUS) error { +func (integrity *ManagedClusterSecurityProfileImageIntegrity_STATUS) AssignProperties_From_ManagedClusterSecurityProfileImageIntegrity_STATUS(source *v20231102ps.ManagedClusterSecurityProfileImageIntegrity_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -15629,7 +15778,7 @@ func (integrity *ManagedClusterSecurityProfileImageIntegrity_STATUS) AssignPrope } // AssignProperties_To_ManagedClusterSecurityProfileImageIntegrity_STATUS populates the provided destination ManagedClusterSecurityProfileImageIntegrity_STATUS from our ManagedClusterSecurityProfileImageIntegrity_STATUS -func (integrity *ManagedClusterSecurityProfileImageIntegrity_STATUS) AssignProperties_To_ManagedClusterSecurityProfileImageIntegrity_STATUS(destination *storage.ManagedClusterSecurityProfileImageIntegrity_STATUS) error { +func (integrity *ManagedClusterSecurityProfileImageIntegrity_STATUS) AssignProperties_To_ManagedClusterSecurityProfileImageIntegrity_STATUS(destination *v20231102ps.ManagedClusterSecurityProfileImageIntegrity_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(integrity.PropertyBag) @@ -15669,7 +15818,7 @@ type ManagedClusterSecurityProfileNodeRestriction struct { } // AssignProperties_From_ManagedClusterSecurityProfileNodeRestriction populates our ManagedClusterSecurityProfileNodeRestriction from the provided source ManagedClusterSecurityProfileNodeRestriction -func (restriction *ManagedClusterSecurityProfileNodeRestriction) AssignProperties_From_ManagedClusterSecurityProfileNodeRestriction(source *storage.ManagedClusterSecurityProfileNodeRestriction) error { +func (restriction *ManagedClusterSecurityProfileNodeRestriction) AssignProperties_From_ManagedClusterSecurityProfileNodeRestriction(source *v20231102ps.ManagedClusterSecurityProfileNodeRestriction) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -15702,7 +15851,7 @@ func (restriction *ManagedClusterSecurityProfileNodeRestriction) AssignPropertie } // AssignProperties_To_ManagedClusterSecurityProfileNodeRestriction populates the provided destination ManagedClusterSecurityProfileNodeRestriction from our ManagedClusterSecurityProfileNodeRestriction -func (restriction *ManagedClusterSecurityProfileNodeRestriction) AssignProperties_To_ManagedClusterSecurityProfileNodeRestriction(destination *storage.ManagedClusterSecurityProfileNodeRestriction) error { +func (restriction *ManagedClusterSecurityProfileNodeRestriction) AssignProperties_To_ManagedClusterSecurityProfileNodeRestriction(destination *v20231102ps.ManagedClusterSecurityProfileNodeRestriction) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(restriction.PropertyBag) @@ -15742,7 +15891,7 @@ type ManagedClusterSecurityProfileNodeRestriction_STATUS struct { } // AssignProperties_From_ManagedClusterSecurityProfileNodeRestriction_STATUS populates our ManagedClusterSecurityProfileNodeRestriction_STATUS from the provided source ManagedClusterSecurityProfileNodeRestriction_STATUS -func (restriction *ManagedClusterSecurityProfileNodeRestriction_STATUS) AssignProperties_From_ManagedClusterSecurityProfileNodeRestriction_STATUS(source *storage.ManagedClusterSecurityProfileNodeRestriction_STATUS) error { +func (restriction *ManagedClusterSecurityProfileNodeRestriction_STATUS) AssignProperties_From_ManagedClusterSecurityProfileNodeRestriction_STATUS(source *v20231102ps.ManagedClusterSecurityProfileNodeRestriction_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -15775,7 +15924,7 @@ func (restriction *ManagedClusterSecurityProfileNodeRestriction_STATUS) AssignPr } // AssignProperties_To_ManagedClusterSecurityProfileNodeRestriction_STATUS populates the provided destination ManagedClusterSecurityProfileNodeRestriction_STATUS from our ManagedClusterSecurityProfileNodeRestriction_STATUS -func (restriction *ManagedClusterSecurityProfileNodeRestriction_STATUS) AssignProperties_To_ManagedClusterSecurityProfileNodeRestriction_STATUS(destination *storage.ManagedClusterSecurityProfileNodeRestriction_STATUS) error { +func (restriction *ManagedClusterSecurityProfileNodeRestriction_STATUS) AssignProperties_To_ManagedClusterSecurityProfileNodeRestriction_STATUS(destination *v20231102ps.ManagedClusterSecurityProfileNodeRestriction_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(restriction.PropertyBag) @@ -15815,7 +15964,7 @@ type ManagedClusterSecurityProfileWorkloadIdentity struct { } // AssignProperties_From_ManagedClusterSecurityProfileWorkloadIdentity populates our ManagedClusterSecurityProfileWorkloadIdentity from the provided source ManagedClusterSecurityProfileWorkloadIdentity -func (identity *ManagedClusterSecurityProfileWorkloadIdentity) AssignProperties_From_ManagedClusterSecurityProfileWorkloadIdentity(source *storage.ManagedClusterSecurityProfileWorkloadIdentity) error { +func (identity *ManagedClusterSecurityProfileWorkloadIdentity) AssignProperties_From_ManagedClusterSecurityProfileWorkloadIdentity(source *v20231102ps.ManagedClusterSecurityProfileWorkloadIdentity) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -15848,7 +15997,7 @@ func (identity *ManagedClusterSecurityProfileWorkloadIdentity) AssignProperties_ } // AssignProperties_To_ManagedClusterSecurityProfileWorkloadIdentity populates the provided destination ManagedClusterSecurityProfileWorkloadIdentity from our ManagedClusterSecurityProfileWorkloadIdentity -func (identity *ManagedClusterSecurityProfileWorkloadIdentity) AssignProperties_To_ManagedClusterSecurityProfileWorkloadIdentity(destination *storage.ManagedClusterSecurityProfileWorkloadIdentity) error { +func (identity *ManagedClusterSecurityProfileWorkloadIdentity) AssignProperties_To_ManagedClusterSecurityProfileWorkloadIdentity(destination *v20231102ps.ManagedClusterSecurityProfileWorkloadIdentity) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(identity.PropertyBag) @@ -15888,7 +16037,7 @@ type ManagedClusterSecurityProfileWorkloadIdentity_STATUS struct { } // AssignProperties_From_ManagedClusterSecurityProfileWorkloadIdentity_STATUS populates our ManagedClusterSecurityProfileWorkloadIdentity_STATUS from the provided source ManagedClusterSecurityProfileWorkloadIdentity_STATUS -func (identity *ManagedClusterSecurityProfileWorkloadIdentity_STATUS) AssignProperties_From_ManagedClusterSecurityProfileWorkloadIdentity_STATUS(source *storage.ManagedClusterSecurityProfileWorkloadIdentity_STATUS) error { +func (identity *ManagedClusterSecurityProfileWorkloadIdentity_STATUS) AssignProperties_From_ManagedClusterSecurityProfileWorkloadIdentity_STATUS(source *v20231102ps.ManagedClusterSecurityProfileWorkloadIdentity_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -15921,7 +16070,7 @@ func (identity *ManagedClusterSecurityProfileWorkloadIdentity_STATUS) AssignProp } // AssignProperties_To_ManagedClusterSecurityProfileWorkloadIdentity_STATUS populates the provided destination ManagedClusterSecurityProfileWorkloadIdentity_STATUS from our ManagedClusterSecurityProfileWorkloadIdentity_STATUS -func (identity *ManagedClusterSecurityProfileWorkloadIdentity_STATUS) AssignProperties_To_ManagedClusterSecurityProfileWorkloadIdentity_STATUS(destination *storage.ManagedClusterSecurityProfileWorkloadIdentity_STATUS) error { +func (identity *ManagedClusterSecurityProfileWorkloadIdentity_STATUS) AssignProperties_To_ManagedClusterSecurityProfileWorkloadIdentity_STATUS(destination *v20231102ps.ManagedClusterSecurityProfileWorkloadIdentity_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(identity.PropertyBag) @@ -15975,7 +16124,7 @@ type ManagedClusterStorageProfileBlobCSIDriver struct { } // AssignProperties_From_ManagedClusterStorageProfileBlobCSIDriver populates our ManagedClusterStorageProfileBlobCSIDriver from the provided source ManagedClusterStorageProfileBlobCSIDriver -func (driver *ManagedClusterStorageProfileBlobCSIDriver) AssignProperties_From_ManagedClusterStorageProfileBlobCSIDriver(source *storage.ManagedClusterStorageProfileBlobCSIDriver) error { +func (driver *ManagedClusterStorageProfileBlobCSIDriver) AssignProperties_From_ManagedClusterStorageProfileBlobCSIDriver(source *v20231102ps.ManagedClusterStorageProfileBlobCSIDriver) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -16008,7 +16157,7 @@ func (driver *ManagedClusterStorageProfileBlobCSIDriver) AssignProperties_From_M } // AssignProperties_To_ManagedClusterStorageProfileBlobCSIDriver populates the provided destination ManagedClusterStorageProfileBlobCSIDriver from our ManagedClusterStorageProfileBlobCSIDriver -func (driver *ManagedClusterStorageProfileBlobCSIDriver) AssignProperties_To_ManagedClusterStorageProfileBlobCSIDriver(destination *storage.ManagedClusterStorageProfileBlobCSIDriver) error { +func (driver *ManagedClusterStorageProfileBlobCSIDriver) AssignProperties_To_ManagedClusterStorageProfileBlobCSIDriver(destination *v20231102ps.ManagedClusterStorageProfileBlobCSIDriver) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(driver.PropertyBag) @@ -16048,7 +16197,7 @@ type ManagedClusterStorageProfileBlobCSIDriver_STATUS struct { } // AssignProperties_From_ManagedClusterStorageProfileBlobCSIDriver_STATUS populates our ManagedClusterStorageProfileBlobCSIDriver_STATUS from the provided source ManagedClusterStorageProfileBlobCSIDriver_STATUS -func (driver *ManagedClusterStorageProfileBlobCSIDriver_STATUS) AssignProperties_From_ManagedClusterStorageProfileBlobCSIDriver_STATUS(source *storage.ManagedClusterStorageProfileBlobCSIDriver_STATUS) error { +func (driver *ManagedClusterStorageProfileBlobCSIDriver_STATUS) AssignProperties_From_ManagedClusterStorageProfileBlobCSIDriver_STATUS(source *v20231102ps.ManagedClusterStorageProfileBlobCSIDriver_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -16081,7 +16230,7 @@ func (driver *ManagedClusterStorageProfileBlobCSIDriver_STATUS) AssignProperties } // AssignProperties_To_ManagedClusterStorageProfileBlobCSIDriver_STATUS populates the provided destination ManagedClusterStorageProfileBlobCSIDriver_STATUS from our ManagedClusterStorageProfileBlobCSIDriver_STATUS -func (driver *ManagedClusterStorageProfileBlobCSIDriver_STATUS) AssignProperties_To_ManagedClusterStorageProfileBlobCSIDriver_STATUS(destination *storage.ManagedClusterStorageProfileBlobCSIDriver_STATUS) error { +func (driver *ManagedClusterStorageProfileBlobCSIDriver_STATUS) AssignProperties_To_ManagedClusterStorageProfileBlobCSIDriver_STATUS(destination *v20231102ps.ManagedClusterStorageProfileBlobCSIDriver_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(driver.PropertyBag) @@ -16122,7 +16271,7 @@ type ManagedClusterStorageProfileDiskCSIDriver struct { } // AssignProperties_From_ManagedClusterStorageProfileDiskCSIDriver populates our ManagedClusterStorageProfileDiskCSIDriver from the provided source ManagedClusterStorageProfileDiskCSIDriver -func (driver *ManagedClusterStorageProfileDiskCSIDriver) AssignProperties_From_ManagedClusterStorageProfileDiskCSIDriver(source *storage.ManagedClusterStorageProfileDiskCSIDriver) error { +func (driver *ManagedClusterStorageProfileDiskCSIDriver) AssignProperties_From_ManagedClusterStorageProfileDiskCSIDriver(source *v20231102ps.ManagedClusterStorageProfileDiskCSIDriver) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -16158,7 +16307,7 @@ func (driver *ManagedClusterStorageProfileDiskCSIDriver) AssignProperties_From_M } // AssignProperties_To_ManagedClusterStorageProfileDiskCSIDriver populates the provided destination ManagedClusterStorageProfileDiskCSIDriver from our ManagedClusterStorageProfileDiskCSIDriver -func (driver *ManagedClusterStorageProfileDiskCSIDriver) AssignProperties_To_ManagedClusterStorageProfileDiskCSIDriver(destination *storage.ManagedClusterStorageProfileDiskCSIDriver) error { +func (driver *ManagedClusterStorageProfileDiskCSIDriver) AssignProperties_To_ManagedClusterStorageProfileDiskCSIDriver(destination *v20231102ps.ManagedClusterStorageProfileDiskCSIDriver) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(driver.PropertyBag) @@ -16202,7 +16351,7 @@ type ManagedClusterStorageProfileDiskCSIDriver_STATUS struct { } // AssignProperties_From_ManagedClusterStorageProfileDiskCSIDriver_STATUS populates our ManagedClusterStorageProfileDiskCSIDriver_STATUS from the provided source ManagedClusterStorageProfileDiskCSIDriver_STATUS -func (driver *ManagedClusterStorageProfileDiskCSIDriver_STATUS) AssignProperties_From_ManagedClusterStorageProfileDiskCSIDriver_STATUS(source *storage.ManagedClusterStorageProfileDiskCSIDriver_STATUS) error { +func (driver *ManagedClusterStorageProfileDiskCSIDriver_STATUS) AssignProperties_From_ManagedClusterStorageProfileDiskCSIDriver_STATUS(source *v20231102ps.ManagedClusterStorageProfileDiskCSIDriver_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -16238,7 +16387,7 @@ func (driver *ManagedClusterStorageProfileDiskCSIDriver_STATUS) AssignProperties } // AssignProperties_To_ManagedClusterStorageProfileDiskCSIDriver_STATUS populates the provided destination ManagedClusterStorageProfileDiskCSIDriver_STATUS from our ManagedClusterStorageProfileDiskCSIDriver_STATUS -func (driver *ManagedClusterStorageProfileDiskCSIDriver_STATUS) AssignProperties_To_ManagedClusterStorageProfileDiskCSIDriver_STATUS(destination *storage.ManagedClusterStorageProfileDiskCSIDriver_STATUS) error { +func (driver *ManagedClusterStorageProfileDiskCSIDriver_STATUS) AssignProperties_To_ManagedClusterStorageProfileDiskCSIDriver_STATUS(destination *v20231102ps.ManagedClusterStorageProfileDiskCSIDriver_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(driver.PropertyBag) @@ -16281,7 +16430,7 @@ type ManagedClusterStorageProfileFileCSIDriver struct { } // AssignProperties_From_ManagedClusterStorageProfileFileCSIDriver populates our ManagedClusterStorageProfileFileCSIDriver from the provided source ManagedClusterStorageProfileFileCSIDriver -func (driver *ManagedClusterStorageProfileFileCSIDriver) AssignProperties_From_ManagedClusterStorageProfileFileCSIDriver(source *storage.ManagedClusterStorageProfileFileCSIDriver) error { +func (driver *ManagedClusterStorageProfileFileCSIDriver) AssignProperties_From_ManagedClusterStorageProfileFileCSIDriver(source *v20231102ps.ManagedClusterStorageProfileFileCSIDriver) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -16314,7 +16463,7 @@ func (driver *ManagedClusterStorageProfileFileCSIDriver) AssignProperties_From_M } // AssignProperties_To_ManagedClusterStorageProfileFileCSIDriver populates the provided destination ManagedClusterStorageProfileFileCSIDriver from our ManagedClusterStorageProfileFileCSIDriver -func (driver *ManagedClusterStorageProfileFileCSIDriver) AssignProperties_To_ManagedClusterStorageProfileFileCSIDriver(destination *storage.ManagedClusterStorageProfileFileCSIDriver) error { +func (driver *ManagedClusterStorageProfileFileCSIDriver) AssignProperties_To_ManagedClusterStorageProfileFileCSIDriver(destination *v20231102ps.ManagedClusterStorageProfileFileCSIDriver) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(driver.PropertyBag) @@ -16354,7 +16503,7 @@ type ManagedClusterStorageProfileFileCSIDriver_STATUS struct { } // AssignProperties_From_ManagedClusterStorageProfileFileCSIDriver_STATUS populates our ManagedClusterStorageProfileFileCSIDriver_STATUS from the provided source ManagedClusterStorageProfileFileCSIDriver_STATUS -func (driver *ManagedClusterStorageProfileFileCSIDriver_STATUS) AssignProperties_From_ManagedClusterStorageProfileFileCSIDriver_STATUS(source *storage.ManagedClusterStorageProfileFileCSIDriver_STATUS) error { +func (driver *ManagedClusterStorageProfileFileCSIDriver_STATUS) AssignProperties_From_ManagedClusterStorageProfileFileCSIDriver_STATUS(source *v20231102ps.ManagedClusterStorageProfileFileCSIDriver_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -16387,7 +16536,7 @@ func (driver *ManagedClusterStorageProfileFileCSIDriver_STATUS) AssignProperties } // AssignProperties_To_ManagedClusterStorageProfileFileCSIDriver_STATUS populates the provided destination ManagedClusterStorageProfileFileCSIDriver_STATUS from our ManagedClusterStorageProfileFileCSIDriver_STATUS -func (driver *ManagedClusterStorageProfileFileCSIDriver_STATUS) AssignProperties_To_ManagedClusterStorageProfileFileCSIDriver_STATUS(destination *storage.ManagedClusterStorageProfileFileCSIDriver_STATUS) error { +func (driver *ManagedClusterStorageProfileFileCSIDriver_STATUS) AssignProperties_To_ManagedClusterStorageProfileFileCSIDriver_STATUS(destination *v20231102ps.ManagedClusterStorageProfileFileCSIDriver_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(driver.PropertyBag) @@ -16427,7 +16576,7 @@ type ManagedClusterStorageProfileSnapshotController struct { } // AssignProperties_From_ManagedClusterStorageProfileSnapshotController populates our ManagedClusterStorageProfileSnapshotController from the provided source ManagedClusterStorageProfileSnapshotController -func (controller *ManagedClusterStorageProfileSnapshotController) AssignProperties_From_ManagedClusterStorageProfileSnapshotController(source *storage.ManagedClusterStorageProfileSnapshotController) error { +func (controller *ManagedClusterStorageProfileSnapshotController) AssignProperties_From_ManagedClusterStorageProfileSnapshotController(source *v20231102ps.ManagedClusterStorageProfileSnapshotController) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -16460,7 +16609,7 @@ func (controller *ManagedClusterStorageProfileSnapshotController) AssignProperti } // AssignProperties_To_ManagedClusterStorageProfileSnapshotController populates the provided destination ManagedClusterStorageProfileSnapshotController from our ManagedClusterStorageProfileSnapshotController -func (controller *ManagedClusterStorageProfileSnapshotController) AssignProperties_To_ManagedClusterStorageProfileSnapshotController(destination *storage.ManagedClusterStorageProfileSnapshotController) error { +func (controller *ManagedClusterStorageProfileSnapshotController) AssignProperties_To_ManagedClusterStorageProfileSnapshotController(destination *v20231102ps.ManagedClusterStorageProfileSnapshotController) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(controller.PropertyBag) @@ -16500,7 +16649,7 @@ type ManagedClusterStorageProfileSnapshotController_STATUS struct { } // AssignProperties_From_ManagedClusterStorageProfileSnapshotController_STATUS populates our ManagedClusterStorageProfileSnapshotController_STATUS from the provided source ManagedClusterStorageProfileSnapshotController_STATUS -func (controller *ManagedClusterStorageProfileSnapshotController_STATUS) AssignProperties_From_ManagedClusterStorageProfileSnapshotController_STATUS(source *storage.ManagedClusterStorageProfileSnapshotController_STATUS) error { +func (controller *ManagedClusterStorageProfileSnapshotController_STATUS) AssignProperties_From_ManagedClusterStorageProfileSnapshotController_STATUS(source *v20231102ps.ManagedClusterStorageProfileSnapshotController_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -16533,7 +16682,7 @@ func (controller *ManagedClusterStorageProfileSnapshotController_STATUS) AssignP } // AssignProperties_To_ManagedClusterStorageProfileSnapshotController_STATUS populates the provided destination ManagedClusterStorageProfileSnapshotController_STATUS from our ManagedClusterStorageProfileSnapshotController_STATUS -func (controller *ManagedClusterStorageProfileSnapshotController_STATUS) AssignProperties_To_ManagedClusterStorageProfileSnapshotController_STATUS(destination *storage.ManagedClusterStorageProfileSnapshotController_STATUS) error { +func (controller *ManagedClusterStorageProfileSnapshotController_STATUS) AssignProperties_To_ManagedClusterStorageProfileSnapshotController_STATUS(destination *v20231102ps.ManagedClusterStorageProfileSnapshotController_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(controller.PropertyBag) @@ -16573,7 +16722,7 @@ type ManagedClusterWorkloadAutoScalerProfileKeda struct { } // AssignProperties_From_ManagedClusterWorkloadAutoScalerProfileKeda populates our ManagedClusterWorkloadAutoScalerProfileKeda from the provided source ManagedClusterWorkloadAutoScalerProfileKeda -func (keda *ManagedClusterWorkloadAutoScalerProfileKeda) AssignProperties_From_ManagedClusterWorkloadAutoScalerProfileKeda(source *storage.ManagedClusterWorkloadAutoScalerProfileKeda) error { +func (keda *ManagedClusterWorkloadAutoScalerProfileKeda) AssignProperties_From_ManagedClusterWorkloadAutoScalerProfileKeda(source *v20231102ps.ManagedClusterWorkloadAutoScalerProfileKeda) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -16606,7 +16755,7 @@ func (keda *ManagedClusterWorkloadAutoScalerProfileKeda) AssignProperties_From_M } // AssignProperties_To_ManagedClusterWorkloadAutoScalerProfileKeda populates the provided destination ManagedClusterWorkloadAutoScalerProfileKeda from our ManagedClusterWorkloadAutoScalerProfileKeda -func (keda *ManagedClusterWorkloadAutoScalerProfileKeda) AssignProperties_To_ManagedClusterWorkloadAutoScalerProfileKeda(destination *storage.ManagedClusterWorkloadAutoScalerProfileKeda) error { +func (keda *ManagedClusterWorkloadAutoScalerProfileKeda) AssignProperties_To_ManagedClusterWorkloadAutoScalerProfileKeda(destination *v20231102ps.ManagedClusterWorkloadAutoScalerProfileKeda) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(keda.PropertyBag) @@ -16646,7 +16795,7 @@ type ManagedClusterWorkloadAutoScalerProfileKeda_STATUS struct { } // AssignProperties_From_ManagedClusterWorkloadAutoScalerProfileKeda_STATUS populates our ManagedClusterWorkloadAutoScalerProfileKeda_STATUS from the provided source ManagedClusterWorkloadAutoScalerProfileKeda_STATUS -func (keda *ManagedClusterWorkloadAutoScalerProfileKeda_STATUS) AssignProperties_From_ManagedClusterWorkloadAutoScalerProfileKeda_STATUS(source *storage.ManagedClusterWorkloadAutoScalerProfileKeda_STATUS) error { +func (keda *ManagedClusterWorkloadAutoScalerProfileKeda_STATUS) AssignProperties_From_ManagedClusterWorkloadAutoScalerProfileKeda_STATUS(source *v20231102ps.ManagedClusterWorkloadAutoScalerProfileKeda_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -16679,7 +16828,7 @@ func (keda *ManagedClusterWorkloadAutoScalerProfileKeda_STATUS) AssignProperties } // AssignProperties_To_ManagedClusterWorkloadAutoScalerProfileKeda_STATUS populates the provided destination ManagedClusterWorkloadAutoScalerProfileKeda_STATUS from our ManagedClusterWorkloadAutoScalerProfileKeda_STATUS -func (keda *ManagedClusterWorkloadAutoScalerProfileKeda_STATUS) AssignProperties_To_ManagedClusterWorkloadAutoScalerProfileKeda_STATUS(destination *storage.ManagedClusterWorkloadAutoScalerProfileKeda_STATUS) error { +func (keda *ManagedClusterWorkloadAutoScalerProfileKeda_STATUS) AssignProperties_To_ManagedClusterWorkloadAutoScalerProfileKeda_STATUS(destination *v20231102ps.ManagedClusterWorkloadAutoScalerProfileKeda_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(keda.PropertyBag) @@ -16719,7 +16868,7 @@ type ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler struct { } // AssignProperties_From_ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler populates our ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler from the provided source ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler -func (autoscaler *ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler) AssignProperties_From_ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler(source *storage.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler) error { +func (autoscaler *ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler) AssignProperties_From_ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler(source *v20231102ps.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -16755,7 +16904,7 @@ func (autoscaler *ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler) } // AssignProperties_To_ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler populates the provided destination ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler from our ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler -func (autoscaler *ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler) AssignProperties_To_ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler(destination *storage.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler) error { +func (autoscaler *ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler) AssignProperties_To_ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler(destination *v20231102ps.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(autoscaler.PropertyBag) @@ -16798,7 +16947,7 @@ type ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS struct } // AssignProperties_From_ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS populates our ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS from the provided source ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS -func (autoscaler *ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS) AssignProperties_From_ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS(source *storage.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS) error { +func (autoscaler *ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS) AssignProperties_From_ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS(source *v20231102ps.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -16834,7 +16983,7 @@ func (autoscaler *ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_S } // AssignProperties_To_ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS populates the provided destination ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS from our ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS -func (autoscaler *ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS) AssignProperties_To_ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS(destination *storage.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS) error { +func (autoscaler *ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS) AssignProperties_To_ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS(destination *v20231102ps.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(autoscaler.PropertyBag) @@ -16878,7 +17027,7 @@ type UpgradeOverrideSettings struct { } // AssignProperties_From_UpgradeOverrideSettings populates our UpgradeOverrideSettings from the provided source UpgradeOverrideSettings -func (settings *UpgradeOverrideSettings) AssignProperties_From_UpgradeOverrideSettings(source *storage.UpgradeOverrideSettings) error { +func (settings *UpgradeOverrideSettings) AssignProperties_From_UpgradeOverrideSettings(source *v20231102ps.UpgradeOverrideSettings) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -16914,7 +17063,7 @@ func (settings *UpgradeOverrideSettings) AssignProperties_From_UpgradeOverrideSe } // AssignProperties_To_UpgradeOverrideSettings populates the provided destination UpgradeOverrideSettings from our UpgradeOverrideSettings -func (settings *UpgradeOverrideSettings) AssignProperties_To_UpgradeOverrideSettings(destination *storage.UpgradeOverrideSettings) error { +func (settings *UpgradeOverrideSettings) AssignProperties_To_UpgradeOverrideSettings(destination *v20231102ps.UpgradeOverrideSettings) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(settings.PropertyBag) @@ -16958,7 +17107,7 @@ type UpgradeOverrideSettings_STATUS struct { } // AssignProperties_From_UpgradeOverrideSettings_STATUS populates our UpgradeOverrideSettings_STATUS from the provided source UpgradeOverrideSettings_STATUS -func (settings *UpgradeOverrideSettings_STATUS) AssignProperties_From_UpgradeOverrideSettings_STATUS(source *storage.UpgradeOverrideSettings_STATUS) error { +func (settings *UpgradeOverrideSettings_STATUS) AssignProperties_From_UpgradeOverrideSettings_STATUS(source *v20231102ps.UpgradeOverrideSettings_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -16994,7 +17143,7 @@ func (settings *UpgradeOverrideSettings_STATUS) AssignProperties_From_UpgradeOve } // AssignProperties_To_UpgradeOverrideSettings_STATUS populates the provided destination UpgradeOverrideSettings_STATUS from our UpgradeOverrideSettings_STATUS -func (settings *UpgradeOverrideSettings_STATUS) AssignProperties_To_UpgradeOverrideSettings_STATUS(destination *storage.UpgradeOverrideSettings_STATUS) error { +func (settings *UpgradeOverrideSettings_STATUS) AssignProperties_To_UpgradeOverrideSettings_STATUS(destination *v20231102ps.UpgradeOverrideSettings_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(settings.PropertyBag) @@ -17037,7 +17186,7 @@ type UserAssignedIdentityDetails struct { } // AssignProperties_From_UserAssignedIdentityDetails populates our UserAssignedIdentityDetails from the provided source UserAssignedIdentityDetails -func (details *UserAssignedIdentityDetails) AssignProperties_From_UserAssignedIdentityDetails(source *storage.UserAssignedIdentityDetails) error { +func (details *UserAssignedIdentityDetails) AssignProperties_From_UserAssignedIdentityDetails(source *v20231102ps.UserAssignedIdentityDetails) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -17065,7 +17214,7 @@ func (details *UserAssignedIdentityDetails) AssignProperties_From_UserAssignedId } // AssignProperties_To_UserAssignedIdentityDetails populates the provided destination UserAssignedIdentityDetails from our UserAssignedIdentityDetails -func (details *UserAssignedIdentityDetails) AssignProperties_To_UserAssignedIdentityDetails(destination *storage.UserAssignedIdentityDetails) error { +func (details *UserAssignedIdentityDetails) AssignProperties_To_UserAssignedIdentityDetails(destination *v20231102ps.UserAssignedIdentityDetails) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(details.PropertyBag) @@ -17102,7 +17251,7 @@ type WindowsGmsaProfile struct { } // AssignProperties_From_WindowsGmsaProfile populates our WindowsGmsaProfile from the provided source WindowsGmsaProfile -func (profile *WindowsGmsaProfile) AssignProperties_From_WindowsGmsaProfile(source *storage.WindowsGmsaProfile) error { +func (profile *WindowsGmsaProfile) AssignProperties_From_WindowsGmsaProfile(source *v20231102ps.WindowsGmsaProfile) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -17141,7 +17290,7 @@ func (profile *WindowsGmsaProfile) AssignProperties_From_WindowsGmsaProfile(sour } // AssignProperties_To_WindowsGmsaProfile populates the provided destination WindowsGmsaProfile from our WindowsGmsaProfile -func (profile *WindowsGmsaProfile) AssignProperties_To_WindowsGmsaProfile(destination *storage.WindowsGmsaProfile) error { +func (profile *WindowsGmsaProfile) AssignProperties_To_WindowsGmsaProfile(destination *v20231102ps.WindowsGmsaProfile) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) @@ -17189,7 +17338,7 @@ type WindowsGmsaProfile_STATUS struct { } // AssignProperties_From_WindowsGmsaProfile_STATUS populates our WindowsGmsaProfile_STATUS from the provided source WindowsGmsaProfile_STATUS -func (profile *WindowsGmsaProfile_STATUS) AssignProperties_From_WindowsGmsaProfile_STATUS(source *storage.WindowsGmsaProfile_STATUS) error { +func (profile *WindowsGmsaProfile_STATUS) AssignProperties_From_WindowsGmsaProfile_STATUS(source *v20231102ps.WindowsGmsaProfile_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -17228,7 +17377,7 @@ func (profile *WindowsGmsaProfile_STATUS) AssignProperties_From_WindowsGmsaProfi } // AssignProperties_To_WindowsGmsaProfile_STATUS populates the provided destination WindowsGmsaProfile_STATUS from our WindowsGmsaProfile_STATUS -func (profile *WindowsGmsaProfile_STATUS) AssignProperties_To_WindowsGmsaProfile_STATUS(destination *storage.WindowsGmsaProfile_STATUS) error { +func (profile *WindowsGmsaProfile_STATUS) AssignProperties_To_WindowsGmsaProfile_STATUS(destination *v20231102ps.WindowsGmsaProfile_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) @@ -17273,6 +17422,72 @@ type AdvancedNetworkingObservability struct { PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` } +// AssignProperties_From_AdvancedNetworkingObservability populates our AdvancedNetworkingObservability from the provided source AdvancedNetworkingObservability +func (observability *AdvancedNetworkingObservability) AssignProperties_From_AdvancedNetworkingObservability(source *v20231001sc.AdvancedNetworkingObservability) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + observability.Enabled = &enabled + } else { + observability.Enabled = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + observability.PropertyBag = propertyBag + } else { + observability.PropertyBag = nil + } + + // Invoke the augmentConversionForAdvancedNetworkingObservability interface (if implemented) to customize the conversion + var observabilityAsAny any = observability + if augmentedObservability, ok := observabilityAsAny.(augmentConversionForAdvancedNetworkingObservability); ok { + err := augmentedObservability.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_AdvancedNetworkingObservability populates the provided destination AdvancedNetworkingObservability from our AdvancedNetworkingObservability +func (observability *AdvancedNetworkingObservability) AssignProperties_To_AdvancedNetworkingObservability(destination *v20231001sc.AdvancedNetworkingObservability) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(observability.PropertyBag) + + // Enabled + if observability.Enabled != nil { + enabled := *observability.Enabled + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForAdvancedNetworkingObservability interface (if implemented) to customize the conversion + var observabilityAsAny any = observability + if augmentedObservability, ok := observabilityAsAny.(augmentConversionForAdvancedNetworkingObservability); ok { + err := augmentedObservability.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + // Storage version of v1api20240402preview.AdvancedNetworkingObservability_STATUS // Observability profile to enable advanced network metrics and flow logs with historical contexts. type AdvancedNetworkingObservability_STATUS struct { @@ -17280,294 +17495,370 @@ type AdvancedNetworkingObservability_STATUS struct { PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` } +// AssignProperties_From_AdvancedNetworkingObservability_STATUS populates our AdvancedNetworkingObservability_STATUS from the provided source AdvancedNetworkingObservability_STATUS +func (observability *AdvancedNetworkingObservability_STATUS) AssignProperties_From_AdvancedNetworkingObservability_STATUS(source *v20231001sc.AdvancedNetworkingObservability_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + observability.Enabled = &enabled + } else { + observability.Enabled = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + observability.PropertyBag = propertyBag + } else { + observability.PropertyBag = nil + } + + // Invoke the augmentConversionForAdvancedNetworkingObservability_STATUS interface (if implemented) to customize the conversion + var observabilityAsAny any = observability + if augmentedObservability, ok := observabilityAsAny.(augmentConversionForAdvancedNetworkingObservability_STATUS); ok { + err := augmentedObservability.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_AdvancedNetworkingObservability_STATUS populates the provided destination AdvancedNetworkingObservability_STATUS from our AdvancedNetworkingObservability_STATUS +func (observability *AdvancedNetworkingObservability_STATUS) AssignProperties_To_AdvancedNetworkingObservability_STATUS(destination *v20231001sc.AdvancedNetworkingObservability_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(observability.PropertyBag) + + // Enabled + if observability.Enabled != nil { + enabled := *observability.Enabled + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForAdvancedNetworkingObservability_STATUS interface (if implemented) to customize the conversion + var observabilityAsAny any = observability + if augmentedObservability, ok := observabilityAsAny.(augmentConversionForAdvancedNetworkingObservability_STATUS); ok { + err := augmentedObservability.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +type augmentConversionForAdvancedNetworking interface { + AssignPropertiesFrom(src *v20231001sc.AdvancedNetworking) error + AssignPropertiesTo(dst *v20231001sc.AdvancedNetworking) error +} + +type augmentConversionForAdvancedNetworking_STATUS interface { + AssignPropertiesFrom(src *v20231001sc.AdvancedNetworking_STATUS) error + AssignPropertiesTo(dst *v20231001sc.AdvancedNetworking_STATUS) error +} + type augmentConversionForAzureKeyVaultKms interface { - AssignPropertiesFrom(src *storage.AzureKeyVaultKms) error - AssignPropertiesTo(dst *storage.AzureKeyVaultKms) error + AssignPropertiesFrom(src *v20231102ps.AzureKeyVaultKms) error + AssignPropertiesTo(dst *v20231102ps.AzureKeyVaultKms) error } type augmentConversionForAzureKeyVaultKms_STATUS interface { - AssignPropertiesFrom(src *storage.AzureKeyVaultKms_STATUS) error - AssignPropertiesTo(dst *storage.AzureKeyVaultKms_STATUS) error + AssignPropertiesFrom(src *v20231102ps.AzureKeyVaultKms_STATUS) error + AssignPropertiesTo(dst *v20231102ps.AzureKeyVaultKms_STATUS) error } type augmentConversionForContainerServiceNetworkProfile_KubeProxyConfig interface { - AssignPropertiesFrom(src *storage.ContainerServiceNetworkProfile_KubeProxyConfig) error - AssignPropertiesTo(dst *storage.ContainerServiceNetworkProfile_KubeProxyConfig) error + AssignPropertiesFrom(src *v20231102ps.ContainerServiceNetworkProfile_KubeProxyConfig) error + AssignPropertiesTo(dst *v20231102ps.ContainerServiceNetworkProfile_KubeProxyConfig) error } type augmentConversionForContainerServiceNetworkProfile_KubeProxyConfig_STATUS interface { - AssignPropertiesFrom(src *storage.ContainerServiceNetworkProfile_KubeProxyConfig_STATUS) error - AssignPropertiesTo(dst *storage.ContainerServiceNetworkProfile_KubeProxyConfig_STATUS) error + AssignPropertiesFrom(src *v20231102ps.ContainerServiceNetworkProfile_KubeProxyConfig_STATUS) error + AssignPropertiesTo(dst *v20231102ps.ContainerServiceNetworkProfile_KubeProxyConfig_STATUS) error } type augmentConversionForContainerServiceSshConfiguration interface { - AssignPropertiesFrom(src *storage.ContainerServiceSshConfiguration) error - AssignPropertiesTo(dst *storage.ContainerServiceSshConfiguration) error + AssignPropertiesFrom(src *v20231102ps.ContainerServiceSshConfiguration) error + AssignPropertiesTo(dst *v20231102ps.ContainerServiceSshConfiguration) error } type augmentConversionForContainerServiceSshConfiguration_STATUS interface { - AssignPropertiesFrom(src *storage.ContainerServiceSshConfiguration_STATUS) error - AssignPropertiesTo(dst *storage.ContainerServiceSshConfiguration_STATUS) error + AssignPropertiesFrom(src *v20231102ps.ContainerServiceSshConfiguration_STATUS) error + AssignPropertiesTo(dst *v20231102ps.ContainerServiceSshConfiguration_STATUS) error } type augmentConversionForDelegatedResource interface { - AssignPropertiesFrom(src *storage.DelegatedResource) error - AssignPropertiesTo(dst *storage.DelegatedResource) error + AssignPropertiesFrom(src *v20231102ps.DelegatedResource) error + AssignPropertiesTo(dst *v20231102ps.DelegatedResource) error } type augmentConversionForDelegatedResource_STATUS interface { - AssignPropertiesFrom(src *storage.DelegatedResource_STATUS) error - AssignPropertiesTo(dst *storage.DelegatedResource_STATUS) error + AssignPropertiesFrom(src *v20231102ps.DelegatedResource_STATUS) error + AssignPropertiesTo(dst *v20231102ps.DelegatedResource_STATUS) error } type augmentConversionForIstioServiceMesh interface { - AssignPropertiesFrom(src *storage.IstioServiceMesh) error - AssignPropertiesTo(dst *storage.IstioServiceMesh) error + AssignPropertiesFrom(src *v20231102ps.IstioServiceMesh) error + AssignPropertiesTo(dst *v20231102ps.IstioServiceMesh) error } type augmentConversionForIstioServiceMesh_STATUS interface { - AssignPropertiesFrom(src *storage.IstioServiceMesh_STATUS) error - AssignPropertiesTo(dst *storage.IstioServiceMesh_STATUS) error + AssignPropertiesFrom(src *v20231102ps.IstioServiceMesh_STATUS) error + AssignPropertiesTo(dst *v20231102ps.IstioServiceMesh_STATUS) error } type augmentConversionForManagedClusterAzureMonitorProfileAppMonitoring interface { - AssignPropertiesFrom(src *storage.ManagedClusterAzureMonitorProfileAppMonitoring) error - AssignPropertiesTo(dst *storage.ManagedClusterAzureMonitorProfileAppMonitoring) error + AssignPropertiesFrom(src *v20231102ps.ManagedClusterAzureMonitorProfileAppMonitoring) error + AssignPropertiesTo(dst *v20231102ps.ManagedClusterAzureMonitorProfileAppMonitoring) error } type augmentConversionForManagedClusterAzureMonitorProfileAppMonitoring_STATUS interface { - AssignPropertiesFrom(src *storage.ManagedClusterAzureMonitorProfileAppMonitoring_STATUS) error - AssignPropertiesTo(dst *storage.ManagedClusterAzureMonitorProfileAppMonitoring_STATUS) error + AssignPropertiesFrom(src *v20231102ps.ManagedClusterAzureMonitorProfileAppMonitoring_STATUS) error + AssignPropertiesTo(dst *v20231102ps.ManagedClusterAzureMonitorProfileAppMonitoring_STATUS) error } type augmentConversionForManagedClusterAzureMonitorProfileContainerInsights interface { - AssignPropertiesFrom(src *storage.ManagedClusterAzureMonitorProfileContainerInsights) error - AssignPropertiesTo(dst *storage.ManagedClusterAzureMonitorProfileContainerInsights) error + AssignPropertiesFrom(src *v20231102ps.ManagedClusterAzureMonitorProfileContainerInsights) error + AssignPropertiesTo(dst *v20231102ps.ManagedClusterAzureMonitorProfileContainerInsights) error } type augmentConversionForManagedClusterAzureMonitorProfileContainerInsights_STATUS interface { - AssignPropertiesFrom(src *storage.ManagedClusterAzureMonitorProfileContainerInsights_STATUS) error - AssignPropertiesTo(dst *storage.ManagedClusterAzureMonitorProfileContainerInsights_STATUS) error + AssignPropertiesFrom(src *v20231102ps.ManagedClusterAzureMonitorProfileContainerInsights_STATUS) error + AssignPropertiesTo(dst *v20231102ps.ManagedClusterAzureMonitorProfileContainerInsights_STATUS) error } type augmentConversionForManagedClusterAzureMonitorProfileMetrics interface { - AssignPropertiesFrom(src *storage.ManagedClusterAzureMonitorProfileMetrics) error - AssignPropertiesTo(dst *storage.ManagedClusterAzureMonitorProfileMetrics) error + AssignPropertiesFrom(src *v20231102ps.ManagedClusterAzureMonitorProfileMetrics) error + AssignPropertiesTo(dst *v20231102ps.ManagedClusterAzureMonitorProfileMetrics) error } type augmentConversionForManagedClusterAzureMonitorProfileMetrics_STATUS interface { - AssignPropertiesFrom(src *storage.ManagedClusterAzureMonitorProfileMetrics_STATUS) error - AssignPropertiesTo(dst *storage.ManagedClusterAzureMonitorProfileMetrics_STATUS) error + AssignPropertiesFrom(src *v20231102ps.ManagedClusterAzureMonitorProfileMetrics_STATUS) error + AssignPropertiesTo(dst *v20231102ps.ManagedClusterAzureMonitorProfileMetrics_STATUS) error } type augmentConversionForManagedClusterCostAnalysis interface { - AssignPropertiesFrom(src *storage.ManagedClusterCostAnalysis) error - AssignPropertiesTo(dst *storage.ManagedClusterCostAnalysis) error + AssignPropertiesFrom(src *v20231102ps.ManagedClusterCostAnalysis) error + AssignPropertiesTo(dst *v20231102ps.ManagedClusterCostAnalysis) error } type augmentConversionForManagedClusterCostAnalysis_STATUS interface { - AssignPropertiesFrom(src *storage.ManagedClusterCostAnalysis_STATUS) error - AssignPropertiesTo(dst *storage.ManagedClusterCostAnalysis_STATUS) error + AssignPropertiesFrom(src *v20231102ps.ManagedClusterCostAnalysis_STATUS) error + AssignPropertiesTo(dst *v20231102ps.ManagedClusterCostAnalysis_STATUS) error } type augmentConversionForManagedClusterIdentity_UserAssignedIdentities_STATUS interface { - AssignPropertiesFrom(src *storage.ManagedClusterIdentity_UserAssignedIdentities_STATUS) error - AssignPropertiesTo(dst *storage.ManagedClusterIdentity_UserAssignedIdentities_STATUS) error + AssignPropertiesFrom(src *v20231102ps.ManagedClusterIdentity_UserAssignedIdentities_STATUS) error + AssignPropertiesTo(dst *v20231102ps.ManagedClusterIdentity_UserAssignedIdentities_STATUS) error } type augmentConversionForManagedClusterIngressProfileWebAppRouting interface { - AssignPropertiesFrom(src *storage.ManagedClusterIngressProfileWebAppRouting) error - AssignPropertiesTo(dst *storage.ManagedClusterIngressProfileWebAppRouting) error + AssignPropertiesFrom(src *v20231102ps.ManagedClusterIngressProfileWebAppRouting) error + AssignPropertiesTo(dst *v20231102ps.ManagedClusterIngressProfileWebAppRouting) error } type augmentConversionForManagedClusterIngressProfileWebAppRouting_STATUS interface { - AssignPropertiesFrom(src *storage.ManagedClusterIngressProfileWebAppRouting_STATUS) error - AssignPropertiesTo(dst *storage.ManagedClusterIngressProfileWebAppRouting_STATUS) error + AssignPropertiesFrom(src *v20231102ps.ManagedClusterIngressProfileWebAppRouting_STATUS) error + AssignPropertiesTo(dst *v20231102ps.ManagedClusterIngressProfileWebAppRouting_STATUS) error } type augmentConversionForManagedClusterLoadBalancerProfile interface { - AssignPropertiesFrom(src *storage.ManagedClusterLoadBalancerProfile) error - AssignPropertiesTo(dst *storage.ManagedClusterLoadBalancerProfile) error + AssignPropertiesFrom(src *v20231102ps.ManagedClusterLoadBalancerProfile) error + AssignPropertiesTo(dst *v20231102ps.ManagedClusterLoadBalancerProfile) error } type augmentConversionForManagedClusterLoadBalancerProfile_STATUS interface { - AssignPropertiesFrom(src *storage.ManagedClusterLoadBalancerProfile_STATUS) error - AssignPropertiesTo(dst *storage.ManagedClusterLoadBalancerProfile_STATUS) error + AssignPropertiesFrom(src *v20231102ps.ManagedClusterLoadBalancerProfile_STATUS) error + AssignPropertiesTo(dst *v20231102ps.ManagedClusterLoadBalancerProfile_STATUS) error } type augmentConversionForManagedClusterNATGatewayProfile interface { - AssignPropertiesFrom(src *storage.ManagedClusterNATGatewayProfile) error - AssignPropertiesTo(dst *storage.ManagedClusterNATGatewayProfile) error + AssignPropertiesFrom(src *v20231102ps.ManagedClusterNATGatewayProfile) error + AssignPropertiesTo(dst *v20231102ps.ManagedClusterNATGatewayProfile) error } type augmentConversionForManagedClusterNATGatewayProfile_STATUS interface { - AssignPropertiesFrom(src *storage.ManagedClusterNATGatewayProfile_STATUS) error - AssignPropertiesTo(dst *storage.ManagedClusterNATGatewayProfile_STATUS) error + AssignPropertiesFrom(src *v20231102ps.ManagedClusterNATGatewayProfile_STATUS) error + AssignPropertiesTo(dst *v20231102ps.ManagedClusterNATGatewayProfile_STATUS) error } type augmentConversionForManagedClusterOperatorConfigMaps interface { - AssignPropertiesFrom(src *storage.ManagedClusterOperatorConfigMaps) error - AssignPropertiesTo(dst *storage.ManagedClusterOperatorConfigMaps) error + AssignPropertiesFrom(src *v20231102ps.ManagedClusterOperatorConfigMaps) error + AssignPropertiesTo(dst *v20231102ps.ManagedClusterOperatorConfigMaps) error } type augmentConversionForManagedClusterOperatorSecrets interface { - AssignPropertiesFrom(src *storage.ManagedClusterOperatorSecrets) error - AssignPropertiesTo(dst *storage.ManagedClusterOperatorSecrets) error + AssignPropertiesFrom(src *v20231102ps.ManagedClusterOperatorSecrets) error + AssignPropertiesTo(dst *v20231102ps.ManagedClusterOperatorSecrets) error } type augmentConversionForManagedClusterPodIdentity interface { - AssignPropertiesFrom(src *storage.ManagedClusterPodIdentity) error - AssignPropertiesTo(dst *storage.ManagedClusterPodIdentity) error + AssignPropertiesFrom(src *v20231102ps.ManagedClusterPodIdentity) error + AssignPropertiesTo(dst *v20231102ps.ManagedClusterPodIdentity) error } type augmentConversionForManagedClusterPodIdentity_STATUS interface { - AssignPropertiesFrom(src *storage.ManagedClusterPodIdentity_STATUS) error - AssignPropertiesTo(dst *storage.ManagedClusterPodIdentity_STATUS) error + AssignPropertiesFrom(src *v20231102ps.ManagedClusterPodIdentity_STATUS) error + AssignPropertiesTo(dst *v20231102ps.ManagedClusterPodIdentity_STATUS) error } type augmentConversionForManagedClusterPodIdentityException interface { - AssignPropertiesFrom(src *storage.ManagedClusterPodIdentityException) error - AssignPropertiesTo(dst *storage.ManagedClusterPodIdentityException) error + AssignPropertiesFrom(src *v20231102ps.ManagedClusterPodIdentityException) error + AssignPropertiesTo(dst *v20231102ps.ManagedClusterPodIdentityException) error } type augmentConversionForManagedClusterPodIdentityException_STATUS interface { - AssignPropertiesFrom(src *storage.ManagedClusterPodIdentityException_STATUS) error - AssignPropertiesTo(dst *storage.ManagedClusterPodIdentityException_STATUS) error + AssignPropertiesFrom(src *v20231102ps.ManagedClusterPodIdentityException_STATUS) error + AssignPropertiesTo(dst *v20231102ps.ManagedClusterPodIdentityException_STATUS) error } type augmentConversionForManagedClusterSecurityProfileDefender interface { - AssignPropertiesFrom(src *storage.ManagedClusterSecurityProfileDefender) error - AssignPropertiesTo(dst *storage.ManagedClusterSecurityProfileDefender) error + AssignPropertiesFrom(src *v20231102ps.ManagedClusterSecurityProfileDefender) error + AssignPropertiesTo(dst *v20231102ps.ManagedClusterSecurityProfileDefender) error } type augmentConversionForManagedClusterSecurityProfileDefender_STATUS interface { - AssignPropertiesFrom(src *storage.ManagedClusterSecurityProfileDefender_STATUS) error - AssignPropertiesTo(dst *storage.ManagedClusterSecurityProfileDefender_STATUS) error + AssignPropertiesFrom(src *v20231102ps.ManagedClusterSecurityProfileDefender_STATUS) error + AssignPropertiesTo(dst *v20231102ps.ManagedClusterSecurityProfileDefender_STATUS) error } type augmentConversionForManagedClusterSecurityProfileImageCleaner interface { - AssignPropertiesFrom(src *storage.ManagedClusterSecurityProfileImageCleaner) error - AssignPropertiesTo(dst *storage.ManagedClusterSecurityProfileImageCleaner) error + AssignPropertiesFrom(src *v20231102ps.ManagedClusterSecurityProfileImageCleaner) error + AssignPropertiesTo(dst *v20231102ps.ManagedClusterSecurityProfileImageCleaner) error } type augmentConversionForManagedClusterSecurityProfileImageCleaner_STATUS interface { - AssignPropertiesFrom(src *storage.ManagedClusterSecurityProfileImageCleaner_STATUS) error - AssignPropertiesTo(dst *storage.ManagedClusterSecurityProfileImageCleaner_STATUS) error + AssignPropertiesFrom(src *v20231102ps.ManagedClusterSecurityProfileImageCleaner_STATUS) error + AssignPropertiesTo(dst *v20231102ps.ManagedClusterSecurityProfileImageCleaner_STATUS) error } type augmentConversionForManagedClusterSecurityProfileImageIntegrity interface { - AssignPropertiesFrom(src *storage.ManagedClusterSecurityProfileImageIntegrity) error - AssignPropertiesTo(dst *storage.ManagedClusterSecurityProfileImageIntegrity) error + AssignPropertiesFrom(src *v20231102ps.ManagedClusterSecurityProfileImageIntegrity) error + AssignPropertiesTo(dst *v20231102ps.ManagedClusterSecurityProfileImageIntegrity) error } type augmentConversionForManagedClusterSecurityProfileImageIntegrity_STATUS interface { - AssignPropertiesFrom(src *storage.ManagedClusterSecurityProfileImageIntegrity_STATUS) error - AssignPropertiesTo(dst *storage.ManagedClusterSecurityProfileImageIntegrity_STATUS) error + AssignPropertiesFrom(src *v20231102ps.ManagedClusterSecurityProfileImageIntegrity_STATUS) error + AssignPropertiesTo(dst *v20231102ps.ManagedClusterSecurityProfileImageIntegrity_STATUS) error } type augmentConversionForManagedClusterSecurityProfileNodeRestriction interface { - AssignPropertiesFrom(src *storage.ManagedClusterSecurityProfileNodeRestriction) error - AssignPropertiesTo(dst *storage.ManagedClusterSecurityProfileNodeRestriction) error + AssignPropertiesFrom(src *v20231102ps.ManagedClusterSecurityProfileNodeRestriction) error + AssignPropertiesTo(dst *v20231102ps.ManagedClusterSecurityProfileNodeRestriction) error } type augmentConversionForManagedClusterSecurityProfileNodeRestriction_STATUS interface { - AssignPropertiesFrom(src *storage.ManagedClusterSecurityProfileNodeRestriction_STATUS) error - AssignPropertiesTo(dst *storage.ManagedClusterSecurityProfileNodeRestriction_STATUS) error + AssignPropertiesFrom(src *v20231102ps.ManagedClusterSecurityProfileNodeRestriction_STATUS) error + AssignPropertiesTo(dst *v20231102ps.ManagedClusterSecurityProfileNodeRestriction_STATUS) error } type augmentConversionForManagedClusterSecurityProfileWorkloadIdentity interface { - AssignPropertiesFrom(src *storage.ManagedClusterSecurityProfileWorkloadIdentity) error - AssignPropertiesTo(dst *storage.ManagedClusterSecurityProfileWorkloadIdentity) error + AssignPropertiesFrom(src *v20231102ps.ManagedClusterSecurityProfileWorkloadIdentity) error + AssignPropertiesTo(dst *v20231102ps.ManagedClusterSecurityProfileWorkloadIdentity) error } type augmentConversionForManagedClusterSecurityProfileWorkloadIdentity_STATUS interface { - AssignPropertiesFrom(src *storage.ManagedClusterSecurityProfileWorkloadIdentity_STATUS) error - AssignPropertiesTo(dst *storage.ManagedClusterSecurityProfileWorkloadIdentity_STATUS) error + AssignPropertiesFrom(src *v20231102ps.ManagedClusterSecurityProfileWorkloadIdentity_STATUS) error + AssignPropertiesTo(dst *v20231102ps.ManagedClusterSecurityProfileWorkloadIdentity_STATUS) error } type augmentConversionForManagedClusterStorageProfileBlobCSIDriver interface { - AssignPropertiesFrom(src *storage.ManagedClusterStorageProfileBlobCSIDriver) error - AssignPropertiesTo(dst *storage.ManagedClusterStorageProfileBlobCSIDriver) error + AssignPropertiesFrom(src *v20231102ps.ManagedClusterStorageProfileBlobCSIDriver) error + AssignPropertiesTo(dst *v20231102ps.ManagedClusterStorageProfileBlobCSIDriver) error } type augmentConversionForManagedClusterStorageProfileBlobCSIDriver_STATUS interface { - AssignPropertiesFrom(src *storage.ManagedClusterStorageProfileBlobCSIDriver_STATUS) error - AssignPropertiesTo(dst *storage.ManagedClusterStorageProfileBlobCSIDriver_STATUS) error + AssignPropertiesFrom(src *v20231102ps.ManagedClusterStorageProfileBlobCSIDriver_STATUS) error + AssignPropertiesTo(dst *v20231102ps.ManagedClusterStorageProfileBlobCSIDriver_STATUS) error } type augmentConversionForManagedClusterStorageProfileDiskCSIDriver interface { - AssignPropertiesFrom(src *storage.ManagedClusterStorageProfileDiskCSIDriver) error - AssignPropertiesTo(dst *storage.ManagedClusterStorageProfileDiskCSIDriver) error + AssignPropertiesFrom(src *v20231102ps.ManagedClusterStorageProfileDiskCSIDriver) error + AssignPropertiesTo(dst *v20231102ps.ManagedClusterStorageProfileDiskCSIDriver) error } type augmentConversionForManagedClusterStorageProfileDiskCSIDriver_STATUS interface { - AssignPropertiesFrom(src *storage.ManagedClusterStorageProfileDiskCSIDriver_STATUS) error - AssignPropertiesTo(dst *storage.ManagedClusterStorageProfileDiskCSIDriver_STATUS) error + AssignPropertiesFrom(src *v20231102ps.ManagedClusterStorageProfileDiskCSIDriver_STATUS) error + AssignPropertiesTo(dst *v20231102ps.ManagedClusterStorageProfileDiskCSIDriver_STATUS) error } type augmentConversionForManagedClusterStorageProfileFileCSIDriver interface { - AssignPropertiesFrom(src *storage.ManagedClusterStorageProfileFileCSIDriver) error - AssignPropertiesTo(dst *storage.ManagedClusterStorageProfileFileCSIDriver) error + AssignPropertiesFrom(src *v20231102ps.ManagedClusterStorageProfileFileCSIDriver) error + AssignPropertiesTo(dst *v20231102ps.ManagedClusterStorageProfileFileCSIDriver) error } type augmentConversionForManagedClusterStorageProfileFileCSIDriver_STATUS interface { - AssignPropertiesFrom(src *storage.ManagedClusterStorageProfileFileCSIDriver_STATUS) error - AssignPropertiesTo(dst *storage.ManagedClusterStorageProfileFileCSIDriver_STATUS) error + AssignPropertiesFrom(src *v20231102ps.ManagedClusterStorageProfileFileCSIDriver_STATUS) error + AssignPropertiesTo(dst *v20231102ps.ManagedClusterStorageProfileFileCSIDriver_STATUS) error } type augmentConversionForManagedClusterStorageProfileSnapshotController interface { - AssignPropertiesFrom(src *storage.ManagedClusterStorageProfileSnapshotController) error - AssignPropertiesTo(dst *storage.ManagedClusterStorageProfileSnapshotController) error + AssignPropertiesFrom(src *v20231102ps.ManagedClusterStorageProfileSnapshotController) error + AssignPropertiesTo(dst *v20231102ps.ManagedClusterStorageProfileSnapshotController) error } type augmentConversionForManagedClusterStorageProfileSnapshotController_STATUS interface { - AssignPropertiesFrom(src *storage.ManagedClusterStorageProfileSnapshotController_STATUS) error - AssignPropertiesTo(dst *storage.ManagedClusterStorageProfileSnapshotController_STATUS) error + AssignPropertiesFrom(src *v20231102ps.ManagedClusterStorageProfileSnapshotController_STATUS) error + AssignPropertiesTo(dst *v20231102ps.ManagedClusterStorageProfileSnapshotController_STATUS) error } type augmentConversionForManagedClusterWorkloadAutoScalerProfileKeda interface { - AssignPropertiesFrom(src *storage.ManagedClusterWorkloadAutoScalerProfileKeda) error - AssignPropertiesTo(dst *storage.ManagedClusterWorkloadAutoScalerProfileKeda) error + AssignPropertiesFrom(src *v20231102ps.ManagedClusterWorkloadAutoScalerProfileKeda) error + AssignPropertiesTo(dst *v20231102ps.ManagedClusterWorkloadAutoScalerProfileKeda) error } type augmentConversionForManagedClusterWorkloadAutoScalerProfileKeda_STATUS interface { - AssignPropertiesFrom(src *storage.ManagedClusterWorkloadAutoScalerProfileKeda_STATUS) error - AssignPropertiesTo(dst *storage.ManagedClusterWorkloadAutoScalerProfileKeda_STATUS) error + AssignPropertiesFrom(src *v20231102ps.ManagedClusterWorkloadAutoScalerProfileKeda_STATUS) error + AssignPropertiesTo(dst *v20231102ps.ManagedClusterWorkloadAutoScalerProfileKeda_STATUS) error } type augmentConversionForManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler interface { - AssignPropertiesFrom(src *storage.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler) error - AssignPropertiesTo(dst *storage.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler) error + AssignPropertiesFrom(src *v20231102ps.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler) error + AssignPropertiesTo(dst *v20231102ps.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler) error } type augmentConversionForManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS interface { - AssignPropertiesFrom(src *storage.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS) error - AssignPropertiesTo(dst *storage.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS) error + AssignPropertiesFrom(src *v20231102ps.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS) error + AssignPropertiesTo(dst *v20231102ps.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS) error } type augmentConversionForUpgradeOverrideSettings interface { - AssignPropertiesFrom(src *storage.UpgradeOverrideSettings) error - AssignPropertiesTo(dst *storage.UpgradeOverrideSettings) error + AssignPropertiesFrom(src *v20231102ps.UpgradeOverrideSettings) error + AssignPropertiesTo(dst *v20231102ps.UpgradeOverrideSettings) error } type augmentConversionForUpgradeOverrideSettings_STATUS interface { - AssignPropertiesFrom(src *storage.UpgradeOverrideSettings_STATUS) error - AssignPropertiesTo(dst *storage.UpgradeOverrideSettings_STATUS) error + AssignPropertiesFrom(src *v20231102ps.UpgradeOverrideSettings_STATUS) error + AssignPropertiesTo(dst *v20231102ps.UpgradeOverrideSettings_STATUS) error } type augmentConversionForUserAssignedIdentityDetails interface { - AssignPropertiesFrom(src *storage.UserAssignedIdentityDetails) error - AssignPropertiesTo(dst *storage.UserAssignedIdentityDetails) error + AssignPropertiesFrom(src *v20231102ps.UserAssignedIdentityDetails) error + AssignPropertiesTo(dst *v20231102ps.UserAssignedIdentityDetails) error } type augmentConversionForWindowsGmsaProfile interface { - AssignPropertiesFrom(src *storage.WindowsGmsaProfile) error - AssignPropertiesTo(dst *storage.WindowsGmsaProfile) error + AssignPropertiesFrom(src *v20231102ps.WindowsGmsaProfile) error + AssignPropertiesTo(dst *v20231102ps.WindowsGmsaProfile) error } type augmentConversionForWindowsGmsaProfile_STATUS interface { - AssignPropertiesFrom(src *storage.WindowsGmsaProfile_STATUS) error - AssignPropertiesTo(dst *storage.WindowsGmsaProfile_STATUS) error + AssignPropertiesFrom(src *v20231102ps.WindowsGmsaProfile_STATUS) error + AssignPropertiesTo(dst *v20231102ps.WindowsGmsaProfile_STATUS) error } // Storage version of v1api20240402preview.ContainerServiceNetworkProfile_KubeProxyConfig_IpvsConfig @@ -17580,7 +17871,7 @@ type ContainerServiceNetworkProfile_KubeProxyConfig_IpvsConfig struct { } // AssignProperties_From_ContainerServiceNetworkProfile_KubeProxyConfig_IpvsConfig populates our ContainerServiceNetworkProfile_KubeProxyConfig_IpvsConfig from the provided source ContainerServiceNetworkProfile_KubeProxyConfig_IpvsConfig -func (config *ContainerServiceNetworkProfile_KubeProxyConfig_IpvsConfig) AssignProperties_From_ContainerServiceNetworkProfile_KubeProxyConfig_IpvsConfig(source *storage.ContainerServiceNetworkProfile_KubeProxyConfig_IpvsConfig) error { +func (config *ContainerServiceNetworkProfile_KubeProxyConfig_IpvsConfig) AssignProperties_From_ContainerServiceNetworkProfile_KubeProxyConfig_IpvsConfig(source *v20231102ps.ContainerServiceNetworkProfile_KubeProxyConfig_IpvsConfig) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -17617,7 +17908,7 @@ func (config *ContainerServiceNetworkProfile_KubeProxyConfig_IpvsConfig) AssignP } // AssignProperties_To_ContainerServiceNetworkProfile_KubeProxyConfig_IpvsConfig populates the provided destination ContainerServiceNetworkProfile_KubeProxyConfig_IpvsConfig from our ContainerServiceNetworkProfile_KubeProxyConfig_IpvsConfig -func (config *ContainerServiceNetworkProfile_KubeProxyConfig_IpvsConfig) AssignProperties_To_ContainerServiceNetworkProfile_KubeProxyConfig_IpvsConfig(destination *storage.ContainerServiceNetworkProfile_KubeProxyConfig_IpvsConfig) error { +func (config *ContainerServiceNetworkProfile_KubeProxyConfig_IpvsConfig) AssignProperties_To_ContainerServiceNetworkProfile_KubeProxyConfig_IpvsConfig(destination *v20231102ps.ContainerServiceNetworkProfile_KubeProxyConfig_IpvsConfig) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(config.PropertyBag) @@ -17663,7 +17954,7 @@ type ContainerServiceNetworkProfile_KubeProxyConfig_IpvsConfig_STATUS struct { } // AssignProperties_From_ContainerServiceNetworkProfile_KubeProxyConfig_IpvsConfig_STATUS populates our ContainerServiceNetworkProfile_KubeProxyConfig_IpvsConfig_STATUS from the provided source ContainerServiceNetworkProfile_KubeProxyConfig_IpvsConfig_STATUS -func (config *ContainerServiceNetworkProfile_KubeProxyConfig_IpvsConfig_STATUS) AssignProperties_From_ContainerServiceNetworkProfile_KubeProxyConfig_IpvsConfig_STATUS(source *storage.ContainerServiceNetworkProfile_KubeProxyConfig_IpvsConfig_STATUS) error { +func (config *ContainerServiceNetworkProfile_KubeProxyConfig_IpvsConfig_STATUS) AssignProperties_From_ContainerServiceNetworkProfile_KubeProxyConfig_IpvsConfig_STATUS(source *v20231102ps.ContainerServiceNetworkProfile_KubeProxyConfig_IpvsConfig_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -17700,7 +17991,7 @@ func (config *ContainerServiceNetworkProfile_KubeProxyConfig_IpvsConfig_STATUS) } // AssignProperties_To_ContainerServiceNetworkProfile_KubeProxyConfig_IpvsConfig_STATUS populates the provided destination ContainerServiceNetworkProfile_KubeProxyConfig_IpvsConfig_STATUS from our ContainerServiceNetworkProfile_KubeProxyConfig_IpvsConfig_STATUS -func (config *ContainerServiceNetworkProfile_KubeProxyConfig_IpvsConfig_STATUS) AssignProperties_To_ContainerServiceNetworkProfile_KubeProxyConfig_IpvsConfig_STATUS(destination *storage.ContainerServiceNetworkProfile_KubeProxyConfig_IpvsConfig_STATUS) error { +func (config *ContainerServiceNetworkProfile_KubeProxyConfig_IpvsConfig_STATUS) AssignProperties_To_ContainerServiceNetworkProfile_KubeProxyConfig_IpvsConfig_STATUS(destination *v20231102ps.ContainerServiceNetworkProfile_KubeProxyConfig_IpvsConfig_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(config.PropertyBag) @@ -17744,7 +18035,7 @@ type ContainerServiceSshPublicKey struct { } // AssignProperties_From_ContainerServiceSshPublicKey populates our ContainerServiceSshPublicKey from the provided source ContainerServiceSshPublicKey -func (publicKey *ContainerServiceSshPublicKey) AssignProperties_From_ContainerServiceSshPublicKey(source *storage.ContainerServiceSshPublicKey) error { +func (publicKey *ContainerServiceSshPublicKey) AssignProperties_From_ContainerServiceSshPublicKey(source *v20231102ps.ContainerServiceSshPublicKey) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -17772,7 +18063,7 @@ func (publicKey *ContainerServiceSshPublicKey) AssignProperties_From_ContainerSe } // AssignProperties_To_ContainerServiceSshPublicKey populates the provided destination ContainerServiceSshPublicKey from our ContainerServiceSshPublicKey -func (publicKey *ContainerServiceSshPublicKey) AssignProperties_To_ContainerServiceSshPublicKey(destination *storage.ContainerServiceSshPublicKey) error { +func (publicKey *ContainerServiceSshPublicKey) AssignProperties_To_ContainerServiceSshPublicKey(destination *v20231102ps.ContainerServiceSshPublicKey) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(publicKey.PropertyBag) @@ -17807,7 +18098,7 @@ type ContainerServiceSshPublicKey_STATUS struct { } // AssignProperties_From_ContainerServiceSshPublicKey_STATUS populates our ContainerServiceSshPublicKey_STATUS from the provided source ContainerServiceSshPublicKey_STATUS -func (publicKey *ContainerServiceSshPublicKey_STATUS) AssignProperties_From_ContainerServiceSshPublicKey_STATUS(source *storage.ContainerServiceSshPublicKey_STATUS) error { +func (publicKey *ContainerServiceSshPublicKey_STATUS) AssignProperties_From_ContainerServiceSshPublicKey_STATUS(source *v20231102ps.ContainerServiceSshPublicKey_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -17835,7 +18126,7 @@ func (publicKey *ContainerServiceSshPublicKey_STATUS) AssignProperties_From_Cont } // AssignProperties_To_ContainerServiceSshPublicKey_STATUS populates the provided destination ContainerServiceSshPublicKey_STATUS from our ContainerServiceSshPublicKey_STATUS -func (publicKey *ContainerServiceSshPublicKey_STATUS) AssignProperties_To_ContainerServiceSshPublicKey_STATUS(destination *storage.ContainerServiceSshPublicKey_STATUS) error { +func (publicKey *ContainerServiceSshPublicKey_STATUS) AssignProperties_To_ContainerServiceSshPublicKey_STATUS(destination *v20231102ps.ContainerServiceSshPublicKey_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(publicKey.PropertyBag) @@ -17871,7 +18162,7 @@ type IstioCertificateAuthority struct { } // AssignProperties_From_IstioCertificateAuthority populates our IstioCertificateAuthority from the provided source IstioCertificateAuthority -func (authority *IstioCertificateAuthority) AssignProperties_From_IstioCertificateAuthority(source *storage.IstioCertificateAuthority) error { +func (authority *IstioCertificateAuthority) AssignProperties_From_IstioCertificateAuthority(source *v20231102ps.IstioCertificateAuthority) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -17908,13 +18199,13 @@ func (authority *IstioCertificateAuthority) AssignProperties_From_IstioCertifica } // AssignProperties_To_IstioCertificateAuthority populates the provided destination IstioCertificateAuthority from our IstioCertificateAuthority -func (authority *IstioCertificateAuthority) AssignProperties_To_IstioCertificateAuthority(destination *storage.IstioCertificateAuthority) error { +func (authority *IstioCertificateAuthority) AssignProperties_To_IstioCertificateAuthority(destination *v20231102ps.IstioCertificateAuthority) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(authority.PropertyBag) // Plugin if authority.Plugin != nil { - var plugin storage.IstioPluginCertificateAuthority + var plugin v20231102ps.IstioPluginCertificateAuthority err := authority.Plugin.AssignProperties_To_IstioPluginCertificateAuthority(&plugin) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_IstioPluginCertificateAuthority() to populate field Plugin") @@ -17953,7 +18244,7 @@ type IstioCertificateAuthority_STATUS struct { } // AssignProperties_From_IstioCertificateAuthority_STATUS populates our IstioCertificateAuthority_STATUS from the provided source IstioCertificateAuthority_STATUS -func (authority *IstioCertificateAuthority_STATUS) AssignProperties_From_IstioCertificateAuthority_STATUS(source *storage.IstioCertificateAuthority_STATUS) error { +func (authority *IstioCertificateAuthority_STATUS) AssignProperties_From_IstioCertificateAuthority_STATUS(source *v20231102ps.IstioCertificateAuthority_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -17990,13 +18281,13 @@ func (authority *IstioCertificateAuthority_STATUS) AssignProperties_From_IstioCe } // AssignProperties_To_IstioCertificateAuthority_STATUS populates the provided destination IstioCertificateAuthority_STATUS from our IstioCertificateAuthority_STATUS -func (authority *IstioCertificateAuthority_STATUS) AssignProperties_To_IstioCertificateAuthority_STATUS(destination *storage.IstioCertificateAuthority_STATUS) error { +func (authority *IstioCertificateAuthority_STATUS) AssignProperties_To_IstioCertificateAuthority_STATUS(destination *v20231102ps.IstioCertificateAuthority_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(authority.PropertyBag) // Plugin if authority.Plugin != nil { - var plugin storage.IstioPluginCertificateAuthority_STATUS + var plugin v20231102ps.IstioPluginCertificateAuthority_STATUS err := authority.Plugin.AssignProperties_To_IstioPluginCertificateAuthority_STATUS(&plugin) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_IstioPluginCertificateAuthority_STATUS() to populate field Plugin") @@ -18035,7 +18326,7 @@ type IstioComponents struct { } // AssignProperties_From_IstioComponents populates our IstioComponents from the provided source IstioComponents -func (components *IstioComponents) AssignProperties_From_IstioComponents(source *storage.IstioComponents) error { +func (components *IstioComponents) AssignProperties_From_IstioComponents(source *v20231102ps.IstioComponents) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -18096,17 +18387,17 @@ func (components *IstioComponents) AssignProperties_From_IstioComponents(source } // AssignProperties_To_IstioComponents populates the provided destination IstioComponents from our IstioComponents -func (components *IstioComponents) AssignProperties_To_IstioComponents(destination *storage.IstioComponents) error { +func (components *IstioComponents) AssignProperties_To_IstioComponents(destination *v20231102ps.IstioComponents) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(components.PropertyBag) // EgressGateways if components.EgressGateways != nil { - egressGatewayList := make([]storage.IstioEgressGateway, len(components.EgressGateways)) + egressGatewayList := make([]v20231102ps.IstioEgressGateway, len(components.EgressGateways)) for egressGatewayIndex, egressGatewayItem := range components.EgressGateways { // Shadow the loop variable to avoid aliasing egressGatewayItem := egressGatewayItem - var egressGateway storage.IstioEgressGateway + var egressGateway v20231102ps.IstioEgressGateway err := egressGatewayItem.AssignProperties_To_IstioEgressGateway(&egressGateway) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_IstioEgressGateway() to populate field EgressGateways") @@ -18120,11 +18411,11 @@ func (components *IstioComponents) AssignProperties_To_IstioComponents(destinati // IngressGateways if components.IngressGateways != nil { - ingressGatewayList := make([]storage.IstioIngressGateway, len(components.IngressGateways)) + ingressGatewayList := make([]v20231102ps.IstioIngressGateway, len(components.IngressGateways)) for ingressGatewayIndex, ingressGatewayItem := range components.IngressGateways { // Shadow the loop variable to avoid aliasing ingressGatewayItem := ingressGatewayItem - var ingressGateway storage.IstioIngressGateway + var ingressGateway v20231102ps.IstioIngressGateway err := ingressGatewayItem.AssignProperties_To_IstioIngressGateway(&ingressGateway) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_IstioIngressGateway() to populate field IngressGateways") @@ -18165,7 +18456,7 @@ type IstioComponents_STATUS struct { } // AssignProperties_From_IstioComponents_STATUS populates our IstioComponents_STATUS from the provided source IstioComponents_STATUS -func (components *IstioComponents_STATUS) AssignProperties_From_IstioComponents_STATUS(source *storage.IstioComponents_STATUS) error { +func (components *IstioComponents_STATUS) AssignProperties_From_IstioComponents_STATUS(source *v20231102ps.IstioComponents_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -18226,17 +18517,17 @@ func (components *IstioComponents_STATUS) AssignProperties_From_IstioComponents_ } // AssignProperties_To_IstioComponents_STATUS populates the provided destination IstioComponents_STATUS from our IstioComponents_STATUS -func (components *IstioComponents_STATUS) AssignProperties_To_IstioComponents_STATUS(destination *storage.IstioComponents_STATUS) error { +func (components *IstioComponents_STATUS) AssignProperties_To_IstioComponents_STATUS(destination *v20231102ps.IstioComponents_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(components.PropertyBag) // EgressGateways if components.EgressGateways != nil { - egressGatewayList := make([]storage.IstioEgressGateway_STATUS, len(components.EgressGateways)) + egressGatewayList := make([]v20231102ps.IstioEgressGateway_STATUS, len(components.EgressGateways)) for egressGatewayIndex, egressGatewayItem := range components.EgressGateways { // Shadow the loop variable to avoid aliasing egressGatewayItem := egressGatewayItem - var egressGateway storage.IstioEgressGateway_STATUS + var egressGateway v20231102ps.IstioEgressGateway_STATUS err := egressGatewayItem.AssignProperties_To_IstioEgressGateway_STATUS(&egressGateway) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_IstioEgressGateway_STATUS() to populate field EgressGateways") @@ -18250,11 +18541,11 @@ func (components *IstioComponents_STATUS) AssignProperties_To_IstioComponents_ST // IngressGateways if components.IngressGateways != nil { - ingressGatewayList := make([]storage.IstioIngressGateway_STATUS, len(components.IngressGateways)) + ingressGatewayList := make([]v20231102ps.IstioIngressGateway_STATUS, len(components.IngressGateways)) for ingressGatewayIndex, ingressGatewayItem := range components.IngressGateways { // Shadow the loop variable to avoid aliasing ingressGatewayItem := ingressGatewayItem - var ingressGateway storage.IstioIngressGateway_STATUS + var ingressGateway v20231102ps.IstioIngressGateway_STATUS err := ingressGatewayItem.AssignProperties_To_IstioIngressGateway_STATUS(&ingressGateway) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_IstioIngressGateway_STATUS() to populate field IngressGateways") @@ -18335,7 +18626,7 @@ type ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetrics struct { } // AssignProperties_From_ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetrics populates our ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetrics from the provided source ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetrics -func (metrics *ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetrics) AssignProperties_From_ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetrics(source *storage.ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetrics) error { +func (metrics *ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetrics) AssignProperties_From_ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetrics(source *v20231102ps.ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetrics) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -18381,7 +18672,7 @@ func (metrics *ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetric } // AssignProperties_To_ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetrics populates the provided destination ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetrics from our ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetrics -func (metrics *ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetrics) AssignProperties_To_ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetrics(destination *storage.ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetrics) error { +func (metrics *ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetrics) AssignProperties_To_ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetrics(destination *v20231102ps.ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetrics) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(metrics.PropertyBag) @@ -18431,7 +18722,7 @@ type ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetrics_STATUS s } // AssignProperties_From_ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetrics_STATUS populates our ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetrics_STATUS from the provided source ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetrics_STATUS -func (metrics *ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetrics_STATUS) AssignProperties_From_ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetrics_STATUS(source *storage.ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetrics_STATUS) error { +func (metrics *ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetrics_STATUS) AssignProperties_From_ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetrics_STATUS(source *v20231102ps.ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetrics_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -18477,7 +18768,7 @@ func (metrics *ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetric } // AssignProperties_To_ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetrics_STATUS populates the provided destination ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetrics_STATUS from our ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetrics_STATUS -func (metrics *ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetrics_STATUS) AssignProperties_To_ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetrics_STATUS(destination *storage.ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetrics_STATUS) error { +func (metrics *ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetrics_STATUS) AssignProperties_To_ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetrics_STATUS(destination *v20231102ps.ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetrics_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(metrics.PropertyBag) @@ -18525,7 +18816,7 @@ type ManagedClusterAzureMonitorProfileKubeStateMetrics struct { } // AssignProperties_From_ManagedClusterAzureMonitorProfileKubeStateMetrics populates our ManagedClusterAzureMonitorProfileKubeStateMetrics from the provided source ManagedClusterAzureMonitorProfileKubeStateMetrics -func (metrics *ManagedClusterAzureMonitorProfileKubeStateMetrics) AssignProperties_From_ManagedClusterAzureMonitorProfileKubeStateMetrics(source *storage.ManagedClusterAzureMonitorProfileKubeStateMetrics) error { +func (metrics *ManagedClusterAzureMonitorProfileKubeStateMetrics) AssignProperties_From_ManagedClusterAzureMonitorProfileKubeStateMetrics(source *v20231102ps.ManagedClusterAzureMonitorProfileKubeStateMetrics) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -18556,7 +18847,7 @@ func (metrics *ManagedClusterAzureMonitorProfileKubeStateMetrics) AssignProperti } // AssignProperties_To_ManagedClusterAzureMonitorProfileKubeStateMetrics populates the provided destination ManagedClusterAzureMonitorProfileKubeStateMetrics from our ManagedClusterAzureMonitorProfileKubeStateMetrics -func (metrics *ManagedClusterAzureMonitorProfileKubeStateMetrics) AssignProperties_To_ManagedClusterAzureMonitorProfileKubeStateMetrics(destination *storage.ManagedClusterAzureMonitorProfileKubeStateMetrics) error { +func (metrics *ManagedClusterAzureMonitorProfileKubeStateMetrics) AssignProperties_To_ManagedClusterAzureMonitorProfileKubeStateMetrics(destination *v20231102ps.ManagedClusterAzureMonitorProfileKubeStateMetrics) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(metrics.PropertyBag) @@ -18595,7 +18886,7 @@ type ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS struct { } // AssignProperties_From_ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS populates our ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS from the provided source ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS -func (metrics *ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS) AssignProperties_From_ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS(source *storage.ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS) error { +func (metrics *ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS) AssignProperties_From_ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS(source *v20231102ps.ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -18626,7 +18917,7 @@ func (metrics *ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS) AssignP } // AssignProperties_To_ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS populates the provided destination ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS from our ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS -func (metrics *ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS) AssignProperties_To_ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS(destination *storage.ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS) error { +func (metrics *ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS) AssignProperties_To_ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS(destination *v20231102ps.ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(metrics.PropertyBag) @@ -18664,7 +18955,7 @@ type ManagedClusterLoadBalancerProfile_ManagedOutboundIPs struct { } // AssignProperties_From_ManagedClusterLoadBalancerProfile_ManagedOutboundIPs populates our ManagedClusterLoadBalancerProfile_ManagedOutboundIPs from the provided source ManagedClusterLoadBalancerProfile_ManagedOutboundIPs -func (iPs *ManagedClusterLoadBalancerProfile_ManagedOutboundIPs) AssignProperties_From_ManagedClusterLoadBalancerProfile_ManagedOutboundIPs(source *storage.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs) error { +func (iPs *ManagedClusterLoadBalancerProfile_ManagedOutboundIPs) AssignProperties_From_ManagedClusterLoadBalancerProfile_ManagedOutboundIPs(source *v20231102ps.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -18695,7 +18986,7 @@ func (iPs *ManagedClusterLoadBalancerProfile_ManagedOutboundIPs) AssignPropertie } // AssignProperties_To_ManagedClusterLoadBalancerProfile_ManagedOutboundIPs populates the provided destination ManagedClusterLoadBalancerProfile_ManagedOutboundIPs from our ManagedClusterLoadBalancerProfile_ManagedOutboundIPs -func (iPs *ManagedClusterLoadBalancerProfile_ManagedOutboundIPs) AssignProperties_To_ManagedClusterLoadBalancerProfile_ManagedOutboundIPs(destination *storage.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs) error { +func (iPs *ManagedClusterLoadBalancerProfile_ManagedOutboundIPs) AssignProperties_To_ManagedClusterLoadBalancerProfile_ManagedOutboundIPs(destination *v20231102ps.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(iPs.PropertyBag) @@ -18733,7 +19024,7 @@ type ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS struct { } // AssignProperties_From_ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS populates our ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS from the provided source ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS -func (iPs *ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS) AssignProperties_From_ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS(source *storage.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS) error { +func (iPs *ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS) AssignProperties_From_ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS(source *v20231102ps.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -18764,7 +19055,7 @@ func (iPs *ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS) AssignPr } // AssignProperties_To_ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS populates the provided destination ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS from our ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS -func (iPs *ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS) AssignProperties_To_ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS(destination *storage.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS) error { +func (iPs *ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS) AssignProperties_To_ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS(destination *v20231102ps.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(iPs.PropertyBag) @@ -18801,7 +19092,7 @@ type ManagedClusterLoadBalancerProfile_OutboundIPPrefixes struct { } // AssignProperties_From_ManagedClusterLoadBalancerProfile_OutboundIPPrefixes populates our ManagedClusterLoadBalancerProfile_OutboundIPPrefixes from the provided source ManagedClusterLoadBalancerProfile_OutboundIPPrefixes -func (prefixes *ManagedClusterLoadBalancerProfile_OutboundIPPrefixes) AssignProperties_From_ManagedClusterLoadBalancerProfile_OutboundIPPrefixes(source *storage.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes) error { +func (prefixes *ManagedClusterLoadBalancerProfile_OutboundIPPrefixes) AssignProperties_From_ManagedClusterLoadBalancerProfile_OutboundIPPrefixes(source *v20231102ps.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -18844,17 +19135,17 @@ func (prefixes *ManagedClusterLoadBalancerProfile_OutboundIPPrefixes) AssignProp } // AssignProperties_To_ManagedClusterLoadBalancerProfile_OutboundIPPrefixes populates the provided destination ManagedClusterLoadBalancerProfile_OutboundIPPrefixes from our ManagedClusterLoadBalancerProfile_OutboundIPPrefixes -func (prefixes *ManagedClusterLoadBalancerProfile_OutboundIPPrefixes) AssignProperties_To_ManagedClusterLoadBalancerProfile_OutboundIPPrefixes(destination *storage.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes) error { +func (prefixes *ManagedClusterLoadBalancerProfile_OutboundIPPrefixes) AssignProperties_To_ManagedClusterLoadBalancerProfile_OutboundIPPrefixes(destination *v20231102ps.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(prefixes.PropertyBag) // PublicIPPrefixes if prefixes.PublicIPPrefixes != nil { - publicIPPrefixList := make([]storage.ResourceReference, len(prefixes.PublicIPPrefixes)) + publicIPPrefixList := make([]v20231102ps.ResourceReference, len(prefixes.PublicIPPrefixes)) for publicIPPrefixIndex, publicIPPrefixItem := range prefixes.PublicIPPrefixes { // Shadow the loop variable to avoid aliasing publicIPPrefixItem := publicIPPrefixItem - var publicIPPrefix storage.ResourceReference + var publicIPPrefix v20231102ps.ResourceReference err := publicIPPrefixItem.AssignProperties_To_ResourceReference(&publicIPPrefix) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ResourceReference() to populate field PublicIPPrefixes") @@ -18893,7 +19184,7 @@ type ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS struct { } // AssignProperties_From_ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS populates our ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS from the provided source ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS -func (prefixes *ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS) AssignProperties_From_ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS(source *storage.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS) error { +func (prefixes *ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS) AssignProperties_From_ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS(source *v20231102ps.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -18936,17 +19227,17 @@ func (prefixes *ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS) Ass } // AssignProperties_To_ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS populates the provided destination ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS from our ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS -func (prefixes *ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS) AssignProperties_To_ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS(destination *storage.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS) error { +func (prefixes *ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS) AssignProperties_To_ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS(destination *v20231102ps.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(prefixes.PropertyBag) // PublicIPPrefixes if prefixes.PublicIPPrefixes != nil { - publicIPPrefixList := make([]storage.ResourceReference_STATUS, len(prefixes.PublicIPPrefixes)) + publicIPPrefixList := make([]v20231102ps.ResourceReference_STATUS, len(prefixes.PublicIPPrefixes)) for publicIPPrefixIndex, publicIPPrefixItem := range prefixes.PublicIPPrefixes { // Shadow the loop variable to avoid aliasing publicIPPrefixItem := publicIPPrefixItem - var publicIPPrefix storage.ResourceReference_STATUS + var publicIPPrefix v20231102ps.ResourceReference_STATUS err := publicIPPrefixItem.AssignProperties_To_ResourceReference_STATUS(&publicIPPrefix) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ResourceReference_STATUS() to populate field PublicIPPrefixes") @@ -18985,7 +19276,7 @@ type ManagedClusterLoadBalancerProfile_OutboundIPs struct { } // AssignProperties_From_ManagedClusterLoadBalancerProfile_OutboundIPs populates our ManagedClusterLoadBalancerProfile_OutboundIPs from the provided source ManagedClusterLoadBalancerProfile_OutboundIPs -func (iPs *ManagedClusterLoadBalancerProfile_OutboundIPs) AssignProperties_From_ManagedClusterLoadBalancerProfile_OutboundIPs(source *storage.ManagedClusterLoadBalancerProfile_OutboundIPs) error { +func (iPs *ManagedClusterLoadBalancerProfile_OutboundIPs) AssignProperties_From_ManagedClusterLoadBalancerProfile_OutboundIPs(source *v20231102ps.ManagedClusterLoadBalancerProfile_OutboundIPs) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -19028,17 +19319,17 @@ func (iPs *ManagedClusterLoadBalancerProfile_OutboundIPs) AssignProperties_From_ } // AssignProperties_To_ManagedClusterLoadBalancerProfile_OutboundIPs populates the provided destination ManagedClusterLoadBalancerProfile_OutboundIPs from our ManagedClusterLoadBalancerProfile_OutboundIPs -func (iPs *ManagedClusterLoadBalancerProfile_OutboundIPs) AssignProperties_To_ManagedClusterLoadBalancerProfile_OutboundIPs(destination *storage.ManagedClusterLoadBalancerProfile_OutboundIPs) error { +func (iPs *ManagedClusterLoadBalancerProfile_OutboundIPs) AssignProperties_To_ManagedClusterLoadBalancerProfile_OutboundIPs(destination *v20231102ps.ManagedClusterLoadBalancerProfile_OutboundIPs) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(iPs.PropertyBag) // PublicIPs if iPs.PublicIPs != nil { - publicIPList := make([]storage.ResourceReference, len(iPs.PublicIPs)) + publicIPList := make([]v20231102ps.ResourceReference, len(iPs.PublicIPs)) for publicIPIndex, publicIPItem := range iPs.PublicIPs { // Shadow the loop variable to avoid aliasing publicIPItem := publicIPItem - var publicIP storage.ResourceReference + var publicIP v20231102ps.ResourceReference err := publicIPItem.AssignProperties_To_ResourceReference(&publicIP) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ResourceReference() to populate field PublicIPs") @@ -19077,7 +19368,7 @@ type ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS struct { } // AssignProperties_From_ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS populates our ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS from the provided source ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS -func (iPs *ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS) AssignProperties_From_ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS(source *storage.ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS) error { +func (iPs *ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS) AssignProperties_From_ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS(source *v20231102ps.ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -19120,17 +19411,17 @@ func (iPs *ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS) AssignPropertie } // AssignProperties_To_ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS populates the provided destination ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS from our ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS -func (iPs *ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS) AssignProperties_To_ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS(destination *storage.ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS) error { +func (iPs *ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS) AssignProperties_To_ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS(destination *v20231102ps.ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(iPs.PropertyBag) // PublicIPs if iPs.PublicIPs != nil { - publicIPList := make([]storage.ResourceReference_STATUS, len(iPs.PublicIPs)) + publicIPList := make([]v20231102ps.ResourceReference_STATUS, len(iPs.PublicIPs)) for publicIPIndex, publicIPItem := range iPs.PublicIPs { // Shadow the loop variable to avoid aliasing publicIPItem := publicIPItem - var publicIP storage.ResourceReference_STATUS + var publicIP v20231102ps.ResourceReference_STATUS err := publicIPItem.AssignProperties_To_ResourceReference_STATUS(&publicIP) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ResourceReference_STATUS() to populate field PublicIPs") @@ -19170,7 +19461,7 @@ type ManagedClusterManagedOutboundIPProfile struct { } // AssignProperties_From_ManagedClusterManagedOutboundIPProfile populates our ManagedClusterManagedOutboundIPProfile from the provided source ManagedClusterManagedOutboundIPProfile -func (profile *ManagedClusterManagedOutboundIPProfile) AssignProperties_From_ManagedClusterManagedOutboundIPProfile(source *storage.ManagedClusterManagedOutboundIPProfile) error { +func (profile *ManagedClusterManagedOutboundIPProfile) AssignProperties_From_ManagedClusterManagedOutboundIPProfile(source *v20231102ps.ManagedClusterManagedOutboundIPProfile) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -19198,7 +19489,7 @@ func (profile *ManagedClusterManagedOutboundIPProfile) AssignProperties_From_Man } // AssignProperties_To_ManagedClusterManagedOutboundIPProfile populates the provided destination ManagedClusterManagedOutboundIPProfile from our ManagedClusterManagedOutboundIPProfile -func (profile *ManagedClusterManagedOutboundIPProfile) AssignProperties_To_ManagedClusterManagedOutboundIPProfile(destination *storage.ManagedClusterManagedOutboundIPProfile) error { +func (profile *ManagedClusterManagedOutboundIPProfile) AssignProperties_To_ManagedClusterManagedOutboundIPProfile(destination *v20231102ps.ManagedClusterManagedOutboundIPProfile) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) @@ -19233,7 +19524,7 @@ type ManagedClusterManagedOutboundIPProfile_STATUS struct { } // AssignProperties_From_ManagedClusterManagedOutboundIPProfile_STATUS populates our ManagedClusterManagedOutboundIPProfile_STATUS from the provided source ManagedClusterManagedOutboundIPProfile_STATUS -func (profile *ManagedClusterManagedOutboundIPProfile_STATUS) AssignProperties_From_ManagedClusterManagedOutboundIPProfile_STATUS(source *storage.ManagedClusterManagedOutboundIPProfile_STATUS) error { +func (profile *ManagedClusterManagedOutboundIPProfile_STATUS) AssignProperties_From_ManagedClusterManagedOutboundIPProfile_STATUS(source *v20231102ps.ManagedClusterManagedOutboundIPProfile_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -19261,7 +19552,7 @@ func (profile *ManagedClusterManagedOutboundIPProfile_STATUS) AssignProperties_F } // AssignProperties_To_ManagedClusterManagedOutboundIPProfile_STATUS populates the provided destination ManagedClusterManagedOutboundIPProfile_STATUS from our ManagedClusterManagedOutboundIPProfile_STATUS -func (profile *ManagedClusterManagedOutboundIPProfile_STATUS) AssignProperties_To_ManagedClusterManagedOutboundIPProfile_STATUS(destination *storage.ManagedClusterManagedOutboundIPProfile_STATUS) error { +func (profile *ManagedClusterManagedOutboundIPProfile_STATUS) AssignProperties_To_ManagedClusterManagedOutboundIPProfile_STATUS(destination *v20231102ps.ManagedClusterManagedOutboundIPProfile_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(profile.PropertyBag) @@ -19295,7 +19586,7 @@ type ManagedClusterPodIdentity_ProvisioningInfo_STATUS struct { } // AssignProperties_From_ManagedClusterPodIdentity_ProvisioningInfo_STATUS populates our ManagedClusterPodIdentity_ProvisioningInfo_STATUS from the provided source ManagedClusterPodIdentity_ProvisioningInfo_STATUS -func (info *ManagedClusterPodIdentity_ProvisioningInfo_STATUS) AssignProperties_From_ManagedClusterPodIdentity_ProvisioningInfo_STATUS(source *storage.ManagedClusterPodIdentity_ProvisioningInfo_STATUS) error { +func (info *ManagedClusterPodIdentity_ProvisioningInfo_STATUS) AssignProperties_From_ManagedClusterPodIdentity_ProvisioningInfo_STATUS(source *v20231102ps.ManagedClusterPodIdentity_ProvisioningInfo_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -19332,13 +19623,13 @@ func (info *ManagedClusterPodIdentity_ProvisioningInfo_STATUS) AssignProperties_ } // AssignProperties_To_ManagedClusterPodIdentity_ProvisioningInfo_STATUS populates the provided destination ManagedClusterPodIdentity_ProvisioningInfo_STATUS from our ManagedClusterPodIdentity_ProvisioningInfo_STATUS -func (info *ManagedClusterPodIdentity_ProvisioningInfo_STATUS) AssignProperties_To_ManagedClusterPodIdentity_ProvisioningInfo_STATUS(destination *storage.ManagedClusterPodIdentity_ProvisioningInfo_STATUS) error { +func (info *ManagedClusterPodIdentity_ProvisioningInfo_STATUS) AssignProperties_To_ManagedClusterPodIdentity_ProvisioningInfo_STATUS(destination *v20231102ps.ManagedClusterPodIdentity_ProvisioningInfo_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(info.PropertyBag) // Error if info.Error != nil { - var error storage.ManagedClusterPodIdentityProvisioningError_STATUS + var error v20231102ps.ManagedClusterPodIdentityProvisioningError_STATUS err := info.Error.AssignProperties_To_ManagedClusterPodIdentityProvisioningError_STATUS(&error) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterPodIdentityProvisioningError_STATUS() to populate field Error") @@ -19376,7 +19667,7 @@ type ManagedClusterSecurityProfileDefenderSecurityMonitoring struct { } // AssignProperties_From_ManagedClusterSecurityProfileDefenderSecurityMonitoring populates our ManagedClusterSecurityProfileDefenderSecurityMonitoring from the provided source ManagedClusterSecurityProfileDefenderSecurityMonitoring -func (monitoring *ManagedClusterSecurityProfileDefenderSecurityMonitoring) AssignProperties_From_ManagedClusterSecurityProfileDefenderSecurityMonitoring(source *storage.ManagedClusterSecurityProfileDefenderSecurityMonitoring) error { +func (monitoring *ManagedClusterSecurityProfileDefenderSecurityMonitoring) AssignProperties_From_ManagedClusterSecurityProfileDefenderSecurityMonitoring(source *v20231102ps.ManagedClusterSecurityProfileDefenderSecurityMonitoring) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -19409,7 +19700,7 @@ func (monitoring *ManagedClusterSecurityProfileDefenderSecurityMonitoring) Assig } // AssignProperties_To_ManagedClusterSecurityProfileDefenderSecurityMonitoring populates the provided destination ManagedClusterSecurityProfileDefenderSecurityMonitoring from our ManagedClusterSecurityProfileDefenderSecurityMonitoring -func (monitoring *ManagedClusterSecurityProfileDefenderSecurityMonitoring) AssignProperties_To_ManagedClusterSecurityProfileDefenderSecurityMonitoring(destination *storage.ManagedClusterSecurityProfileDefenderSecurityMonitoring) error { +func (monitoring *ManagedClusterSecurityProfileDefenderSecurityMonitoring) AssignProperties_To_ManagedClusterSecurityProfileDefenderSecurityMonitoring(destination *v20231102ps.ManagedClusterSecurityProfileDefenderSecurityMonitoring) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(monitoring.PropertyBag) @@ -19449,7 +19740,7 @@ type ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS struct { } // AssignProperties_From_ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS populates our ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS from the provided source ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS -func (monitoring *ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS) AssignProperties_From_ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS(source *storage.ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS) error { +func (monitoring *ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS) AssignProperties_From_ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS(source *v20231102ps.ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -19482,7 +19773,7 @@ func (monitoring *ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS } // AssignProperties_To_ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS populates the provided destination ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS from our ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS -func (monitoring *ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS) AssignProperties_To_ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS(destination *storage.ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS) error { +func (monitoring *ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS) AssignProperties_To_ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS(destination *v20231102ps.ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(monitoring.PropertyBag) @@ -19524,7 +19815,7 @@ type ResourceReference struct { } // AssignProperties_From_ResourceReference populates our ResourceReference from the provided source ResourceReference -func (reference *ResourceReference) AssignProperties_From_ResourceReference(source *storage.ResourceReference) error { +func (reference *ResourceReference) AssignProperties_From_ResourceReference(source *v20231102ps.ResourceReference) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -19557,7 +19848,7 @@ func (reference *ResourceReference) AssignProperties_From_ResourceReference(sour } // AssignProperties_To_ResourceReference populates the provided destination ResourceReference from our ResourceReference -func (reference *ResourceReference) AssignProperties_To_ResourceReference(destination *storage.ResourceReference) error { +func (reference *ResourceReference) AssignProperties_To_ResourceReference(destination *v20231102ps.ResourceReference) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(reference.PropertyBag) @@ -19597,7 +19888,7 @@ type ResourceReference_STATUS struct { } // AssignProperties_From_ResourceReference_STATUS populates our ResourceReference_STATUS from the provided source ResourceReference_STATUS -func (reference *ResourceReference_STATUS) AssignProperties_From_ResourceReference_STATUS(source *storage.ResourceReference_STATUS) error { +func (reference *ResourceReference_STATUS) AssignProperties_From_ResourceReference_STATUS(source *v20231102ps.ResourceReference_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -19625,7 +19916,7 @@ func (reference *ResourceReference_STATUS) AssignProperties_From_ResourceReferen } // AssignProperties_To_ResourceReference_STATUS populates the provided destination ResourceReference_STATUS from our ResourceReference_STATUS -func (reference *ResourceReference_STATUS) AssignProperties_To_ResourceReference_STATUS(destination *storage.ResourceReference_STATUS) error { +func (reference *ResourceReference_STATUS) AssignProperties_To_ResourceReference_STATUS(destination *v20231102ps.ResourceReference_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(reference.PropertyBag) @@ -19652,129 +19943,139 @@ func (reference *ResourceReference_STATUS) AssignProperties_To_ResourceReference return nil } +type augmentConversionForAdvancedNetworkingObservability interface { + AssignPropertiesFrom(src *v20231001sc.AdvancedNetworkingObservability) error + AssignPropertiesTo(dst *v20231001sc.AdvancedNetworkingObservability) error +} + +type augmentConversionForAdvancedNetworkingObservability_STATUS interface { + AssignPropertiesFrom(src *v20231001sc.AdvancedNetworkingObservability_STATUS) error + AssignPropertiesTo(dst *v20231001sc.AdvancedNetworkingObservability_STATUS) error +} + type augmentConversionForContainerServiceNetworkProfile_KubeProxyConfig_IpvsConfig interface { - AssignPropertiesFrom(src *storage.ContainerServiceNetworkProfile_KubeProxyConfig_IpvsConfig) error - AssignPropertiesTo(dst *storage.ContainerServiceNetworkProfile_KubeProxyConfig_IpvsConfig) error + AssignPropertiesFrom(src *v20231102ps.ContainerServiceNetworkProfile_KubeProxyConfig_IpvsConfig) error + AssignPropertiesTo(dst *v20231102ps.ContainerServiceNetworkProfile_KubeProxyConfig_IpvsConfig) error } type augmentConversionForContainerServiceNetworkProfile_KubeProxyConfig_IpvsConfig_STATUS interface { - AssignPropertiesFrom(src *storage.ContainerServiceNetworkProfile_KubeProxyConfig_IpvsConfig_STATUS) error - AssignPropertiesTo(dst *storage.ContainerServiceNetworkProfile_KubeProxyConfig_IpvsConfig_STATUS) error + AssignPropertiesFrom(src *v20231102ps.ContainerServiceNetworkProfile_KubeProxyConfig_IpvsConfig_STATUS) error + AssignPropertiesTo(dst *v20231102ps.ContainerServiceNetworkProfile_KubeProxyConfig_IpvsConfig_STATUS) error } type augmentConversionForContainerServiceSshPublicKey interface { - AssignPropertiesFrom(src *storage.ContainerServiceSshPublicKey) error - AssignPropertiesTo(dst *storage.ContainerServiceSshPublicKey) error + AssignPropertiesFrom(src *v20231102ps.ContainerServiceSshPublicKey) error + AssignPropertiesTo(dst *v20231102ps.ContainerServiceSshPublicKey) error } type augmentConversionForContainerServiceSshPublicKey_STATUS interface { - AssignPropertiesFrom(src *storage.ContainerServiceSshPublicKey_STATUS) error - AssignPropertiesTo(dst *storage.ContainerServiceSshPublicKey_STATUS) error + AssignPropertiesFrom(src *v20231102ps.ContainerServiceSshPublicKey_STATUS) error + AssignPropertiesTo(dst *v20231102ps.ContainerServiceSshPublicKey_STATUS) error } type augmentConversionForIstioCertificateAuthority interface { - AssignPropertiesFrom(src *storage.IstioCertificateAuthority) error - AssignPropertiesTo(dst *storage.IstioCertificateAuthority) error + AssignPropertiesFrom(src *v20231102ps.IstioCertificateAuthority) error + AssignPropertiesTo(dst *v20231102ps.IstioCertificateAuthority) error } type augmentConversionForIstioCertificateAuthority_STATUS interface { - AssignPropertiesFrom(src *storage.IstioCertificateAuthority_STATUS) error - AssignPropertiesTo(dst *storage.IstioCertificateAuthority_STATUS) error + AssignPropertiesFrom(src *v20231102ps.IstioCertificateAuthority_STATUS) error + AssignPropertiesTo(dst *v20231102ps.IstioCertificateAuthority_STATUS) error } type augmentConversionForIstioComponents interface { - AssignPropertiesFrom(src *storage.IstioComponents) error - AssignPropertiesTo(dst *storage.IstioComponents) error + AssignPropertiesFrom(src *v20231102ps.IstioComponents) error + AssignPropertiesTo(dst *v20231102ps.IstioComponents) error } type augmentConversionForIstioComponents_STATUS interface { - AssignPropertiesFrom(src *storage.IstioComponents_STATUS) error - AssignPropertiesTo(dst *storage.IstioComponents_STATUS) error + AssignPropertiesFrom(src *v20231102ps.IstioComponents_STATUS) error + AssignPropertiesTo(dst *v20231102ps.IstioComponents_STATUS) error } type augmentConversionForManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetrics interface { - AssignPropertiesFrom(src *storage.ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetrics) error - AssignPropertiesTo(dst *storage.ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetrics) error + AssignPropertiesFrom(src *v20231102ps.ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetrics) error + AssignPropertiesTo(dst *v20231102ps.ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetrics) error } type augmentConversionForManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetrics_STATUS interface { - AssignPropertiesFrom(src *storage.ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetrics_STATUS) error - AssignPropertiesTo(dst *storage.ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetrics_STATUS) error + AssignPropertiesFrom(src *v20231102ps.ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetrics_STATUS) error + AssignPropertiesTo(dst *v20231102ps.ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetrics_STATUS) error } type augmentConversionForManagedClusterAzureMonitorProfileKubeStateMetrics interface { - AssignPropertiesFrom(src *storage.ManagedClusterAzureMonitorProfileKubeStateMetrics) error - AssignPropertiesTo(dst *storage.ManagedClusterAzureMonitorProfileKubeStateMetrics) error + AssignPropertiesFrom(src *v20231102ps.ManagedClusterAzureMonitorProfileKubeStateMetrics) error + AssignPropertiesTo(dst *v20231102ps.ManagedClusterAzureMonitorProfileKubeStateMetrics) error } type augmentConversionForManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS interface { - AssignPropertiesFrom(src *storage.ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS) error - AssignPropertiesTo(dst *storage.ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS) error + AssignPropertiesFrom(src *v20231102ps.ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS) error + AssignPropertiesTo(dst *v20231102ps.ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS) error } type augmentConversionForManagedClusterLoadBalancerProfile_ManagedOutboundIPs interface { - AssignPropertiesFrom(src *storage.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs) error - AssignPropertiesTo(dst *storage.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs) error + AssignPropertiesFrom(src *v20231102ps.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs) error + AssignPropertiesTo(dst *v20231102ps.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs) error } type augmentConversionForManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS interface { - AssignPropertiesFrom(src *storage.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS) error - AssignPropertiesTo(dst *storage.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS) error + AssignPropertiesFrom(src *v20231102ps.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS) error + AssignPropertiesTo(dst *v20231102ps.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS) error } type augmentConversionForManagedClusterLoadBalancerProfile_OutboundIPPrefixes interface { - AssignPropertiesFrom(src *storage.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes) error - AssignPropertiesTo(dst *storage.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes) error + AssignPropertiesFrom(src *v20231102ps.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes) error + AssignPropertiesTo(dst *v20231102ps.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes) error } type augmentConversionForManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS interface { - AssignPropertiesFrom(src *storage.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS) error - AssignPropertiesTo(dst *storage.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS) error + AssignPropertiesFrom(src *v20231102ps.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS) error + AssignPropertiesTo(dst *v20231102ps.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS) error } type augmentConversionForManagedClusterLoadBalancerProfile_OutboundIPs interface { - AssignPropertiesFrom(src *storage.ManagedClusterLoadBalancerProfile_OutboundIPs) error - AssignPropertiesTo(dst *storage.ManagedClusterLoadBalancerProfile_OutboundIPs) error + AssignPropertiesFrom(src *v20231102ps.ManagedClusterLoadBalancerProfile_OutboundIPs) error + AssignPropertiesTo(dst *v20231102ps.ManagedClusterLoadBalancerProfile_OutboundIPs) error } type augmentConversionForManagedClusterLoadBalancerProfile_OutboundIPs_STATUS interface { - AssignPropertiesFrom(src *storage.ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS) error - AssignPropertiesTo(dst *storage.ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS) error + AssignPropertiesFrom(src *v20231102ps.ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS) error + AssignPropertiesTo(dst *v20231102ps.ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS) error } type augmentConversionForManagedClusterManagedOutboundIPProfile interface { - AssignPropertiesFrom(src *storage.ManagedClusterManagedOutboundIPProfile) error - AssignPropertiesTo(dst *storage.ManagedClusterManagedOutboundIPProfile) error + AssignPropertiesFrom(src *v20231102ps.ManagedClusterManagedOutboundIPProfile) error + AssignPropertiesTo(dst *v20231102ps.ManagedClusterManagedOutboundIPProfile) error } type augmentConversionForManagedClusterManagedOutboundIPProfile_STATUS interface { - AssignPropertiesFrom(src *storage.ManagedClusterManagedOutboundIPProfile_STATUS) error - AssignPropertiesTo(dst *storage.ManagedClusterManagedOutboundIPProfile_STATUS) error + AssignPropertiesFrom(src *v20231102ps.ManagedClusterManagedOutboundIPProfile_STATUS) error + AssignPropertiesTo(dst *v20231102ps.ManagedClusterManagedOutboundIPProfile_STATUS) error } type augmentConversionForManagedClusterPodIdentity_ProvisioningInfo_STATUS interface { - AssignPropertiesFrom(src *storage.ManagedClusterPodIdentity_ProvisioningInfo_STATUS) error - AssignPropertiesTo(dst *storage.ManagedClusterPodIdentity_ProvisioningInfo_STATUS) error + AssignPropertiesFrom(src *v20231102ps.ManagedClusterPodIdentity_ProvisioningInfo_STATUS) error + AssignPropertiesTo(dst *v20231102ps.ManagedClusterPodIdentity_ProvisioningInfo_STATUS) error } type augmentConversionForManagedClusterSecurityProfileDefenderSecurityMonitoring interface { - AssignPropertiesFrom(src *storage.ManagedClusterSecurityProfileDefenderSecurityMonitoring) error - AssignPropertiesTo(dst *storage.ManagedClusterSecurityProfileDefenderSecurityMonitoring) error + AssignPropertiesFrom(src *v20231102ps.ManagedClusterSecurityProfileDefenderSecurityMonitoring) error + AssignPropertiesTo(dst *v20231102ps.ManagedClusterSecurityProfileDefenderSecurityMonitoring) error } type augmentConversionForManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS interface { - AssignPropertiesFrom(src *storage.ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS) error - AssignPropertiesTo(dst *storage.ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS) error + AssignPropertiesFrom(src *v20231102ps.ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS) error + AssignPropertiesTo(dst *v20231102ps.ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS) error } type augmentConversionForResourceReference interface { - AssignPropertiesFrom(src *storage.ResourceReference) error - AssignPropertiesTo(dst *storage.ResourceReference) error + AssignPropertiesFrom(src *v20231102ps.ResourceReference) error + AssignPropertiesTo(dst *v20231102ps.ResourceReference) error } type augmentConversionForResourceReference_STATUS interface { - AssignPropertiesFrom(src *storage.ResourceReference_STATUS) error - AssignPropertiesTo(dst *storage.ResourceReference_STATUS) error + AssignPropertiesFrom(src *v20231102ps.ResourceReference_STATUS) error + AssignPropertiesTo(dst *v20231102ps.ResourceReference_STATUS) error } // Storage version of v1api20240402preview.IstioEgressGateway @@ -19785,7 +20086,7 @@ type IstioEgressGateway struct { } // AssignProperties_From_IstioEgressGateway populates our IstioEgressGateway from the provided source IstioEgressGateway -func (gateway *IstioEgressGateway) AssignProperties_From_IstioEgressGateway(source *storage.IstioEgressGateway) error { +func (gateway *IstioEgressGateway) AssignProperties_From_IstioEgressGateway(source *v20231102ps.IstioEgressGateway) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -19825,7 +20126,7 @@ func (gateway *IstioEgressGateway) AssignProperties_From_IstioEgressGateway(sour } // AssignProperties_To_IstioEgressGateway populates the provided destination IstioEgressGateway from our IstioEgressGateway -func (gateway *IstioEgressGateway) AssignProperties_To_IstioEgressGateway(destination *storage.IstioEgressGateway) error { +func (gateway *IstioEgressGateway) AssignProperties_To_IstioEgressGateway(destination *v20231102ps.IstioEgressGateway) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(gateway.PropertyBag) @@ -19878,7 +20179,7 @@ type IstioEgressGateway_STATUS struct { } // AssignProperties_From_IstioEgressGateway_STATUS populates our IstioEgressGateway_STATUS from the provided source IstioEgressGateway_STATUS -func (gateway *IstioEgressGateway_STATUS) AssignProperties_From_IstioEgressGateway_STATUS(source *storage.IstioEgressGateway_STATUS) error { +func (gateway *IstioEgressGateway_STATUS) AssignProperties_From_IstioEgressGateway_STATUS(source *v20231102ps.IstioEgressGateway_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -19918,7 +20219,7 @@ func (gateway *IstioEgressGateway_STATUS) AssignProperties_From_IstioEgressGatew } // AssignProperties_To_IstioEgressGateway_STATUS populates the provided destination IstioEgressGateway_STATUS from our IstioEgressGateway_STATUS -func (gateway *IstioEgressGateway_STATUS) AssignProperties_To_IstioEgressGateway_STATUS(destination *storage.IstioEgressGateway_STATUS) error { +func (gateway *IstioEgressGateway_STATUS) AssignProperties_To_IstioEgressGateway_STATUS(destination *v20231102ps.IstioEgressGateway_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(gateway.PropertyBag) @@ -19973,7 +20274,7 @@ type IstioIngressGateway struct { } // AssignProperties_From_IstioIngressGateway populates our IstioIngressGateway from the provided source IstioIngressGateway -func (gateway *IstioIngressGateway) AssignProperties_From_IstioIngressGateway(source *storage.IstioIngressGateway) error { +func (gateway *IstioIngressGateway) AssignProperties_From_IstioIngressGateway(source *v20231102ps.IstioIngressGateway) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -20009,7 +20310,7 @@ func (gateway *IstioIngressGateway) AssignProperties_From_IstioIngressGateway(so } // AssignProperties_To_IstioIngressGateway populates the provided destination IstioIngressGateway from our IstioIngressGateway -func (gateway *IstioIngressGateway) AssignProperties_To_IstioIngressGateway(destination *storage.IstioIngressGateway) error { +func (gateway *IstioIngressGateway) AssignProperties_To_IstioIngressGateway(destination *v20231102ps.IstioIngressGateway) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(gateway.PropertyBag) @@ -20054,7 +20355,7 @@ type IstioIngressGateway_STATUS struct { } // AssignProperties_From_IstioIngressGateway_STATUS populates our IstioIngressGateway_STATUS from the provided source IstioIngressGateway_STATUS -func (gateway *IstioIngressGateway_STATUS) AssignProperties_From_IstioIngressGateway_STATUS(source *storage.IstioIngressGateway_STATUS) error { +func (gateway *IstioIngressGateway_STATUS) AssignProperties_From_IstioIngressGateway_STATUS(source *v20231102ps.IstioIngressGateway_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -20090,7 +20391,7 @@ func (gateway *IstioIngressGateway_STATUS) AssignProperties_From_IstioIngressGat } // AssignProperties_To_IstioIngressGateway_STATUS populates the provided destination IstioIngressGateway_STATUS from our IstioIngressGateway_STATUS -func (gateway *IstioIngressGateway_STATUS) AssignProperties_To_IstioIngressGateway_STATUS(destination *storage.IstioIngressGateway_STATUS) error { +func (gateway *IstioIngressGateway_STATUS) AssignProperties_To_IstioIngressGateway_STATUS(destination *v20231102ps.IstioIngressGateway_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(gateway.PropertyBag) @@ -20139,7 +20440,7 @@ type IstioPluginCertificateAuthority struct { } // AssignProperties_From_IstioPluginCertificateAuthority populates our IstioPluginCertificateAuthority from the provided source IstioPluginCertificateAuthority -func (authority *IstioPluginCertificateAuthority) AssignProperties_From_IstioPluginCertificateAuthority(source *storage.IstioPluginCertificateAuthority) error { +func (authority *IstioPluginCertificateAuthority) AssignProperties_From_IstioPluginCertificateAuthority(source *v20231102ps.IstioPluginCertificateAuthority) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -20184,7 +20485,7 @@ func (authority *IstioPluginCertificateAuthority) AssignProperties_From_IstioPlu } // AssignProperties_To_IstioPluginCertificateAuthority populates the provided destination IstioPluginCertificateAuthority from our IstioPluginCertificateAuthority -func (authority *IstioPluginCertificateAuthority) AssignProperties_To_IstioPluginCertificateAuthority(destination *storage.IstioPluginCertificateAuthority) error { +func (authority *IstioPluginCertificateAuthority) AssignProperties_To_IstioPluginCertificateAuthority(destination *v20231102ps.IstioPluginCertificateAuthority) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(authority.PropertyBag) @@ -20240,7 +20541,7 @@ type IstioPluginCertificateAuthority_STATUS struct { } // AssignProperties_From_IstioPluginCertificateAuthority_STATUS populates our IstioPluginCertificateAuthority_STATUS from the provided source IstioPluginCertificateAuthority_STATUS -func (authority *IstioPluginCertificateAuthority_STATUS) AssignProperties_From_IstioPluginCertificateAuthority_STATUS(source *storage.IstioPluginCertificateAuthority_STATUS) error { +func (authority *IstioPluginCertificateAuthority_STATUS) AssignProperties_From_IstioPluginCertificateAuthority_STATUS(source *v20231102ps.IstioPluginCertificateAuthority_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -20280,7 +20581,7 @@ func (authority *IstioPluginCertificateAuthority_STATUS) AssignProperties_From_I } // AssignProperties_To_IstioPluginCertificateAuthority_STATUS populates the provided destination IstioPluginCertificateAuthority_STATUS from our IstioPluginCertificateAuthority_STATUS -func (authority *IstioPluginCertificateAuthority_STATUS) AssignProperties_To_IstioPluginCertificateAuthority_STATUS(destination *storage.IstioPluginCertificateAuthority_STATUS) error { +func (authority *IstioPluginCertificateAuthority_STATUS) AssignProperties_To_IstioPluginCertificateAuthority_STATUS(destination *v20231102ps.IstioPluginCertificateAuthority_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(authority.PropertyBag) @@ -20327,7 +20628,7 @@ type ManagedClusterPodIdentityProvisioningError_STATUS struct { } // AssignProperties_From_ManagedClusterPodIdentityProvisioningError_STATUS populates our ManagedClusterPodIdentityProvisioningError_STATUS from the provided source ManagedClusterPodIdentityProvisioningError_STATUS -func (error *ManagedClusterPodIdentityProvisioningError_STATUS) AssignProperties_From_ManagedClusterPodIdentityProvisioningError_STATUS(source *storage.ManagedClusterPodIdentityProvisioningError_STATUS) error { +func (error *ManagedClusterPodIdentityProvisioningError_STATUS) AssignProperties_From_ManagedClusterPodIdentityProvisioningError_STATUS(source *v20231102ps.ManagedClusterPodIdentityProvisioningError_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -20364,13 +20665,13 @@ func (error *ManagedClusterPodIdentityProvisioningError_STATUS) AssignProperties } // AssignProperties_To_ManagedClusterPodIdentityProvisioningError_STATUS populates the provided destination ManagedClusterPodIdentityProvisioningError_STATUS from our ManagedClusterPodIdentityProvisioningError_STATUS -func (error *ManagedClusterPodIdentityProvisioningError_STATUS) AssignProperties_To_ManagedClusterPodIdentityProvisioningError_STATUS(destination *storage.ManagedClusterPodIdentityProvisioningError_STATUS) error { +func (error *ManagedClusterPodIdentityProvisioningError_STATUS) AssignProperties_To_ManagedClusterPodIdentityProvisioningError_STATUS(destination *v20231102ps.ManagedClusterPodIdentityProvisioningError_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(error.PropertyBag) // Error if error.Error != nil { - var errorLocal storage.ManagedClusterPodIdentityProvisioningErrorBody_STATUS + var errorLocal v20231102ps.ManagedClusterPodIdentityProvisioningErrorBody_STATUS err := error.Error.AssignProperties_To_ManagedClusterPodIdentityProvisioningErrorBody_STATUS(&errorLocal) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterPodIdentityProvisioningErrorBody_STATUS() to populate field Error") @@ -20401,38 +20702,38 @@ func (error *ManagedClusterPodIdentityProvisioningError_STATUS) AssignProperties } type augmentConversionForIstioEgressGateway interface { - AssignPropertiesFrom(src *storage.IstioEgressGateway) error - AssignPropertiesTo(dst *storage.IstioEgressGateway) error + AssignPropertiesFrom(src *v20231102ps.IstioEgressGateway) error + AssignPropertiesTo(dst *v20231102ps.IstioEgressGateway) error } type augmentConversionForIstioEgressGateway_STATUS interface { - AssignPropertiesFrom(src *storage.IstioEgressGateway_STATUS) error - AssignPropertiesTo(dst *storage.IstioEgressGateway_STATUS) error + AssignPropertiesFrom(src *v20231102ps.IstioEgressGateway_STATUS) error + AssignPropertiesTo(dst *v20231102ps.IstioEgressGateway_STATUS) error } type augmentConversionForIstioIngressGateway interface { - AssignPropertiesFrom(src *storage.IstioIngressGateway) error - AssignPropertiesTo(dst *storage.IstioIngressGateway) error + AssignPropertiesFrom(src *v20231102ps.IstioIngressGateway) error + AssignPropertiesTo(dst *v20231102ps.IstioIngressGateway) error } type augmentConversionForIstioIngressGateway_STATUS interface { - AssignPropertiesFrom(src *storage.IstioIngressGateway_STATUS) error - AssignPropertiesTo(dst *storage.IstioIngressGateway_STATUS) error + AssignPropertiesFrom(src *v20231102ps.IstioIngressGateway_STATUS) error + AssignPropertiesTo(dst *v20231102ps.IstioIngressGateway_STATUS) error } type augmentConversionForIstioPluginCertificateAuthority interface { - AssignPropertiesFrom(src *storage.IstioPluginCertificateAuthority) error - AssignPropertiesTo(dst *storage.IstioPluginCertificateAuthority) error + AssignPropertiesFrom(src *v20231102ps.IstioPluginCertificateAuthority) error + AssignPropertiesTo(dst *v20231102ps.IstioPluginCertificateAuthority) error } type augmentConversionForIstioPluginCertificateAuthority_STATUS interface { - AssignPropertiesFrom(src *storage.IstioPluginCertificateAuthority_STATUS) error - AssignPropertiesTo(dst *storage.IstioPluginCertificateAuthority_STATUS) error + AssignPropertiesFrom(src *v20231102ps.IstioPluginCertificateAuthority_STATUS) error + AssignPropertiesTo(dst *v20231102ps.IstioPluginCertificateAuthority_STATUS) error } type augmentConversionForManagedClusterPodIdentityProvisioningError_STATUS interface { - AssignPropertiesFrom(src *storage.ManagedClusterPodIdentityProvisioningError_STATUS) error - AssignPropertiesTo(dst *storage.ManagedClusterPodIdentityProvisioningError_STATUS) error + AssignPropertiesFrom(src *v20231102ps.ManagedClusterPodIdentityProvisioningError_STATUS) error + AssignPropertiesTo(dst *v20231102ps.ManagedClusterPodIdentityProvisioningError_STATUS) error } // Storage version of v1api20240402preview.ManagedClusterPodIdentityProvisioningErrorBody_STATUS @@ -20446,7 +20747,7 @@ type ManagedClusterPodIdentityProvisioningErrorBody_STATUS struct { } // AssignProperties_From_ManagedClusterPodIdentityProvisioningErrorBody_STATUS populates our ManagedClusterPodIdentityProvisioningErrorBody_STATUS from the provided source ManagedClusterPodIdentityProvisioningErrorBody_STATUS -func (body *ManagedClusterPodIdentityProvisioningErrorBody_STATUS) AssignProperties_From_ManagedClusterPodIdentityProvisioningErrorBody_STATUS(source *storage.ManagedClusterPodIdentityProvisioningErrorBody_STATUS) error { +func (body *ManagedClusterPodIdentityProvisioningErrorBody_STATUS) AssignProperties_From_ManagedClusterPodIdentityProvisioningErrorBody_STATUS(source *v20231102ps.ManagedClusterPodIdentityProvisioningErrorBody_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -20498,7 +20799,7 @@ func (body *ManagedClusterPodIdentityProvisioningErrorBody_STATUS) AssignPropert } // AssignProperties_To_ManagedClusterPodIdentityProvisioningErrorBody_STATUS populates the provided destination ManagedClusterPodIdentityProvisioningErrorBody_STATUS from our ManagedClusterPodIdentityProvisioningErrorBody_STATUS -func (body *ManagedClusterPodIdentityProvisioningErrorBody_STATUS) AssignProperties_To_ManagedClusterPodIdentityProvisioningErrorBody_STATUS(destination *storage.ManagedClusterPodIdentityProvisioningErrorBody_STATUS) error { +func (body *ManagedClusterPodIdentityProvisioningErrorBody_STATUS) AssignProperties_To_ManagedClusterPodIdentityProvisioningErrorBody_STATUS(destination *v20231102ps.ManagedClusterPodIdentityProvisioningErrorBody_STATUS) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(body.PropertyBag) @@ -20507,11 +20808,11 @@ func (body *ManagedClusterPodIdentityProvisioningErrorBody_STATUS) AssignPropert // Details if body.Details != nil { - detailList := make([]storage.ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled, len(body.Details)) + detailList := make([]v20231102ps.ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled, len(body.Details)) for detailIndex, detailItem := range body.Details { // Shadow the loop variable to avoid aliasing detailItem := detailItem - var detail storage.ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled + var detail v20231102ps.ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled err := detailItem.AssignProperties_To_ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled(&detail) if err != nil { return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled() to populate field Details") @@ -20550,8 +20851,8 @@ func (body *ManagedClusterPodIdentityProvisioningErrorBody_STATUS) AssignPropert } type augmentConversionForManagedClusterPodIdentityProvisioningErrorBody_STATUS interface { - AssignPropertiesFrom(src *storage.ManagedClusterPodIdentityProvisioningErrorBody_STATUS) error - AssignPropertiesTo(dst *storage.ManagedClusterPodIdentityProvisioningErrorBody_STATUS) error + AssignPropertiesFrom(src *v20231102ps.ManagedClusterPodIdentityProvisioningErrorBody_STATUS) error + AssignPropertiesTo(dst *v20231102ps.ManagedClusterPodIdentityProvisioningErrorBody_STATUS) error } // Storage version of v1api20240402preview.ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled @@ -20563,7 +20864,7 @@ type ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled struct { } // AssignProperties_From_ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled populates our ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled from the provided source ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled -func (unrolled *ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled) AssignProperties_From_ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled(source *storage.ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled) error { +func (unrolled *ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled) AssignProperties_From_ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled(source *v20231102ps.ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(source.PropertyBag) @@ -20597,7 +20898,7 @@ func (unrolled *ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled) } // AssignProperties_To_ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled populates the provided destination ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled from our ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled -func (unrolled *ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled) AssignProperties_To_ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled(destination *storage.ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled) error { +func (unrolled *ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled) AssignProperties_To_ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled(destination *v20231102ps.ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled) error { // Clone the existing property bag propertyBag := genruntime.NewPropertyBag(unrolled.PropertyBag) @@ -20631,8 +20932,8 @@ func (unrolled *ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled) } type augmentConversionForManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled interface { - AssignPropertiesFrom(src *storage.ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled) error - AssignPropertiesTo(dst *storage.ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled) error + AssignPropertiesFrom(src *v20231102ps.ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled) error + AssignPropertiesTo(dst *v20231102ps.ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled) error } func init() { diff --git a/v2/api/containerservice/v1api20240402preview/storage/managed_cluster_types_gen_test.go b/v2/api/containerservice/v1api20240402preview/storage/managed_cluster_types_gen_test.go index 5551c816f70..e1f3e446ea5 100644 --- a/v2/api/containerservice/v1api20240402preview/storage/managed_cluster_types_gen_test.go +++ b/v2/api/containerservice/v1api20240402preview/storage/managed_cluster_types_gen_test.go @@ -5,8 +5,9 @@ package storage import ( "encoding/json" - v20231001s "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20231001/storage" + v20231001sc "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20231001/storage/compat" v20231102ps "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20231102preview/storage" + v20240901s "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20240901/storage" "github.com/google/go-cmp/cmp" "github.com/google/go-cmp/cmp/cmpopts" "github.com/kr/pretty" @@ -19,6 +20,48 @@ import ( "testing" ) +func Test_AdvancedNetworking_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from AdvancedNetworking to AdvancedNetworking via AssignProperties_To_AdvancedNetworking & AssignProperties_From_AdvancedNetworking returns original", + prop.ForAll(RunPropertyAssignmentTestForAdvancedNetworking, AdvancedNetworkingGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForAdvancedNetworking tests if a specific instance of AdvancedNetworking can be assigned to compat and back losslessly +func RunPropertyAssignmentTestForAdvancedNetworking(subject AdvancedNetworking) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other v20231001sc.AdvancedNetworking + err := copied.AssignProperties_To_AdvancedNetworking(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual AdvancedNetworking + err = actual.AssignProperties_From_AdvancedNetworking(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_AdvancedNetworking_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -79,6 +122,48 @@ func AddRelatedPropertyGeneratorsForAdvancedNetworking(gens map[string]gopter.Ge gens["Observability"] = gen.PtrOf(AdvancedNetworkingObservabilityGenerator()) } +func Test_AdvancedNetworkingObservability_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from AdvancedNetworkingObservability to AdvancedNetworkingObservability via AssignProperties_To_AdvancedNetworkingObservability & AssignProperties_From_AdvancedNetworkingObservability returns original", + prop.ForAll(RunPropertyAssignmentTestForAdvancedNetworkingObservability, AdvancedNetworkingObservabilityGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForAdvancedNetworkingObservability tests if a specific instance of AdvancedNetworkingObservability can be assigned to compat and back losslessly +func RunPropertyAssignmentTestForAdvancedNetworkingObservability(subject AdvancedNetworkingObservability) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other v20231001sc.AdvancedNetworkingObservability + err := copied.AssignProperties_To_AdvancedNetworkingObservability(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual AdvancedNetworkingObservability + err = actual.AssignProperties_From_AdvancedNetworkingObservability(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_AdvancedNetworkingObservability_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -140,6 +225,48 @@ func AddIndependentPropertyGeneratorsForAdvancedNetworkingObservability(gens map gens["Enabled"] = gen.PtrOf(gen.Bool()) } +func Test_AdvancedNetworkingObservability_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from AdvancedNetworkingObservability_STATUS to AdvancedNetworkingObservability_STATUS via AssignProperties_To_AdvancedNetworkingObservability_STATUS & AssignProperties_From_AdvancedNetworkingObservability_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForAdvancedNetworkingObservability_STATUS, AdvancedNetworkingObservability_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForAdvancedNetworkingObservability_STATUS tests if a specific instance of AdvancedNetworkingObservability_STATUS can be assigned to compat and back losslessly +func RunPropertyAssignmentTestForAdvancedNetworkingObservability_STATUS(subject AdvancedNetworkingObservability_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other v20231001sc.AdvancedNetworkingObservability_STATUS + err := copied.AssignProperties_To_AdvancedNetworkingObservability_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual AdvancedNetworkingObservability_STATUS + err = actual.AssignProperties_From_AdvancedNetworkingObservability_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_AdvancedNetworkingObservability_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -201,6 +328,48 @@ func AddIndependentPropertyGeneratorsForAdvancedNetworkingObservability_STATUS(g gens["Enabled"] = gen.PtrOf(gen.Bool()) } +func Test_AdvancedNetworking_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from AdvancedNetworking_STATUS to AdvancedNetworking_STATUS via AssignProperties_To_AdvancedNetworking_STATUS & AssignProperties_From_AdvancedNetworking_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForAdvancedNetworking_STATUS, AdvancedNetworking_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForAdvancedNetworking_STATUS tests if a specific instance of AdvancedNetworking_STATUS can be assigned to compat and back losslessly +func RunPropertyAssignmentTestForAdvancedNetworking_STATUS(subject AdvancedNetworking_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other v20231001sc.AdvancedNetworking_STATUS + err := copied.AssignProperties_To_AdvancedNetworking_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual AdvancedNetworking_STATUS + err = actual.AssignProperties_From_AdvancedNetworking_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_AdvancedNetworking_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -3948,7 +4117,7 @@ func RunResourceConversionTestForManagedCluster(subject ManagedCluster) string { copied := subject.DeepCopy() // Convert to our hub version - var hub v20231001s.ManagedCluster + var hub v20240901s.ManagedCluster err := copied.ConvertTo(&hub) if err != nil { return err.Error() diff --git a/v2/api/containerservice/v1api20240402preview/storage/managed_clusters_agent_pool_types_gen_test.go b/v2/api/containerservice/v1api20240402preview/storage/managed_clusters_agent_pool_types_gen_test.go index 4b40a108ebf..cec8b7d3ad5 100644 --- a/v2/api/containerservice/v1api20240402preview/storage/managed_clusters_agent_pool_types_gen_test.go +++ b/v2/api/containerservice/v1api20240402preview/storage/managed_clusters_agent_pool_types_gen_test.go @@ -5,8 +5,8 @@ package storage import ( "encoding/json" - v20231001s "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20231001/storage" v20231102ps "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20231102preview/storage" + v20240901s "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20240901/storage" "github.com/google/go-cmp/cmp" "github.com/google/go-cmp/cmp/cmpopts" "github.com/kr/pretty" @@ -2214,7 +2214,7 @@ func RunResourceConversionTestForManagedClustersAgentPool(subject ManagedCluster copied := subject.DeepCopy() // Convert to our hub version - var hub v20231001s.ManagedClustersAgentPool + var hub v20240901s.ManagedClustersAgentPool err := copied.ConvertTo(&hub) if err != nil { return err.Error() diff --git a/v2/api/containerservice/v1api20240402preview/storage/structure.txt b/v2/api/containerservice/v1api20240402preview/storage/structure.txt index d5666596e24..8b7f1b09000 100644 --- a/v2/api/containerservice/v1api20240402preview/storage/structure.txt +++ b/v2/api/containerservice/v1api20240402preview/storage/structure.txt @@ -1413,6 +1413,10 @@ TrustedAccessRoleBinding: Resource │ ├── LastModifiedByType: *string │ └── PropertyBag: genruntime.PropertyBag └── Type: *string +augmentConversionForAdvancedNetworking: Interface +augmentConversionForAdvancedNetworkingObservability: Interface +augmentConversionForAdvancedNetworkingObservability_STATUS: Interface +augmentConversionForAdvancedNetworking_STATUS: Interface augmentConversionForAgentPoolArtifactStreamingProfile: Interface augmentConversionForAgentPoolArtifactStreamingProfile_STATUS: Interface augmentConversionForAgentPoolGPUProfile: Interface diff --git a/v2/api/containerservice/v1api20240402preview/storage/trusted_access_role_binding_types_gen.go b/v2/api/containerservice/v1api20240402preview/storage/trusted_access_role_binding_types_gen.go index 454a6d78936..0afba0e5744 100644 --- a/v2/api/containerservice/v1api20240402preview/storage/trusted_access_role_binding_types_gen.go +++ b/v2/api/containerservice/v1api20240402preview/storage/trusted_access_role_binding_types_gen.go @@ -4,7 +4,6 @@ package storage import ( - "fmt" v20231001s "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20231001/storage" v20231102ps "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20231102preview/storage" "github.com/Azure/azure-service-operator/v2/pkg/genruntime" @@ -48,22 +47,36 @@ var _ conversion.Convertible = &TrustedAccessRoleBinding{} // ConvertFrom populates our TrustedAccessRoleBinding from the provided hub TrustedAccessRoleBinding func (binding *TrustedAccessRoleBinding) ConvertFrom(hub conversion.Hub) error { - source, ok := hub.(*v20231001s.TrustedAccessRoleBinding) - if !ok { - return fmt.Errorf("expected containerservice/v1api20231001/storage/TrustedAccessRoleBinding but received %T instead", hub) + // intermediate variable for conversion + var source v20231001s.TrustedAccessRoleBinding + + err := source.ConvertFrom(hub) + if err != nil { + return errors.Wrap(err, "converting from hub to source") + } + + err = binding.AssignProperties_From_TrustedAccessRoleBinding(&source) + if err != nil { + return errors.Wrap(err, "converting from source to binding") } - return binding.AssignProperties_From_TrustedAccessRoleBinding(source) + return nil } // ConvertTo populates the provided hub TrustedAccessRoleBinding from our TrustedAccessRoleBinding func (binding *TrustedAccessRoleBinding) ConvertTo(hub conversion.Hub) error { - destination, ok := hub.(*v20231001s.TrustedAccessRoleBinding) - if !ok { - return fmt.Errorf("expected containerservice/v1api20231001/storage/TrustedAccessRoleBinding but received %T instead", hub) + // intermediate variable for conversion + var destination v20231001s.TrustedAccessRoleBinding + err := binding.AssignProperties_To_TrustedAccessRoleBinding(&destination) + if err != nil { + return errors.Wrap(err, "converting to destination from binding") + } + err = destination.ConvertTo(hub) + if err != nil { + return errors.Wrap(err, "converting from destination to hub") } - return binding.AssignProperties_To_TrustedAccessRoleBinding(destination) + return nil } var _ genruntime.KubernetesResource = &TrustedAccessRoleBinding{} diff --git a/v2/api/containerservice/v1api20240402preview/storage/trusted_access_role_binding_types_gen_test.go b/v2/api/containerservice/v1api20240402preview/storage/trusted_access_role_binding_types_gen_test.go index ffaac071779..b3344aa9a9f 100644 --- a/v2/api/containerservice/v1api20240402preview/storage/trusted_access_role_binding_types_gen_test.go +++ b/v2/api/containerservice/v1api20240402preview/storage/trusted_access_role_binding_types_gen_test.go @@ -5,7 +5,8 @@ package storage import ( "encoding/json" - storage "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20231001/storage" + v20231001s "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20231001/storage" + v20240901s "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20240901/storage" "github.com/google/go-cmp/cmp" "github.com/google/go-cmp/cmp/cmpopts" "github.com/kr/pretty" @@ -36,7 +37,7 @@ func RunResourceConversionTestForTrustedAccessRoleBinding(subject TrustedAccessR copied := subject.DeepCopy() // Convert to our hub version - var hub storage.TrustedAccessRoleBinding + var hub v20240901s.TrustedAccessRoleBinding err := copied.ConvertTo(&hub) if err != nil { return err.Error() @@ -78,7 +79,7 @@ func RunPropertyAssignmentTestForTrustedAccessRoleBinding(subject TrustedAccessR copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.TrustedAccessRoleBinding + var other v20231001s.TrustedAccessRoleBinding err := copied.AssignProperties_To_TrustedAccessRoleBinding(&other) if err != nil { return err.Error() @@ -182,7 +183,7 @@ func RunPropertyAssignmentTestForTrustedAccessRoleBinding_STATUS(subject Trusted copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.TrustedAccessRoleBinding_STATUS + var other v20231001s.TrustedAccessRoleBinding_STATUS err := copied.AssignProperties_To_TrustedAccessRoleBinding_STATUS(&other) if err != nil { return err.Error() @@ -304,7 +305,7 @@ func RunPropertyAssignmentTestForTrustedAccessRoleBinding_Spec(subject TrustedAc copied := subject.DeepCopy() // Use AssignPropertiesTo() for the first stage of conversion - var other storage.TrustedAccessRoleBinding_Spec + var other v20231001s.TrustedAccessRoleBinding_Spec err := copied.AssignProperties_To_TrustedAccessRoleBinding_Spec(&other) if err != nil { return err.Error() diff --git a/v2/api/containerservice/v1api20240402preview/trusted_access_role_binding_types_gen_test.go b/v2/api/containerservice/v1api20240402preview/trusted_access_role_binding_types_gen_test.go index d4959042f6d..a4933ca6983 100644 --- a/v2/api/containerservice/v1api20240402preview/trusted_access_role_binding_types_gen_test.go +++ b/v2/api/containerservice/v1api20240402preview/trusted_access_role_binding_types_gen_test.go @@ -5,8 +5,8 @@ package v1api20240402preview import ( "encoding/json" - v20231001s "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20231001/storage" v20240402ps "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20240402preview/storage" + v20240901s "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20240901/storage" "github.com/google/go-cmp/cmp" "github.com/google/go-cmp/cmp/cmpopts" "github.com/kr/pretty" @@ -37,7 +37,7 @@ func RunResourceConversionTestForTrustedAccessRoleBinding(subject TrustedAccessR copied := subject.DeepCopy() // Convert to our hub version - var hub v20231001s.TrustedAccessRoleBinding + var hub v20240901s.TrustedAccessRoleBinding err := copied.ConvertTo(&hub) if err != nil { return err.Error() diff --git a/v2/api/containerservice/v1api20240901/arm/maintenance_configuration_spec_types_gen.go b/v2/api/containerservice/v1api20240901/arm/maintenance_configuration_spec_types_gen.go new file mode 100644 index 00000000000..dc10d794f81 --- /dev/null +++ b/v2/api/containerservice/v1api20240901/arm/maintenance_configuration_spec_types_gen.go @@ -0,0 +1,195 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package arm + +import "github.com/Azure/azure-service-operator/v2/pkg/genruntime" + +type MaintenanceConfiguration_Spec struct { + Name string `json:"name,omitempty"` + + // Properties: Properties of a default maintenance configuration. + Properties *MaintenanceConfigurationProperties `json:"properties,omitempty"` +} + +var _ genruntime.ARMResourceSpec = &MaintenanceConfiguration_Spec{} + +// GetAPIVersion returns the ARM API version of the resource. This is always "2024-09-01" +func (configuration MaintenanceConfiguration_Spec) GetAPIVersion() string { + return "2024-09-01" +} + +// GetName returns the Name of the resource +func (configuration *MaintenanceConfiguration_Spec) GetName() string { + return configuration.Name +} + +// GetType returns the ARM Type of the resource. This is always "Microsoft.ContainerService/managedClusters/maintenanceConfigurations" +func (configuration *MaintenanceConfiguration_Spec) GetType() string { + return "Microsoft.ContainerService/managedClusters/maintenanceConfigurations" +} + +// Properties used to configure planned maintenance for a Managed Cluster. +type MaintenanceConfigurationProperties struct { + // MaintenanceWindow: Maintenance window for the maintenance configuration. + MaintenanceWindow *MaintenanceWindow `json:"maintenanceWindow,omitempty"` + + // NotAllowedTime: Time slots on which upgrade is not allowed. + NotAllowedTime []TimeSpan `json:"notAllowedTime"` + + // TimeInWeek: If two array entries specify the same day of the week, the applied configuration is the union of times in + // both entries. + TimeInWeek []TimeInWeek `json:"timeInWeek"` +} + +// Maintenance window used to configure scheduled auto-upgrade for a Managed Cluster. +type MaintenanceWindow struct { + // DurationHours: Length of maintenance window range from 4 to 24 hours. + DurationHours *int `json:"durationHours,omitempty"` + + // NotAllowedDates: Date ranges on which upgrade is not allowed. 'utcOffset' applies to this field. For example, with + // 'utcOffset: +02:00' and 'dateSpan' being '2022-12-23' to '2023-01-03', maintenance will be blocked from '2022-12-22 + // 22:00' to '2023-01-03 22:00' in UTC time. + NotAllowedDates []DateSpan `json:"notAllowedDates"` + + // Schedule: Recurrence schedule for the maintenance window. + Schedule *Schedule `json:"schedule,omitempty"` + + // StartDate: The date the maintenance window activates. If the current date is before this date, the maintenance window is + // inactive and will not be used for upgrades. If not specified, the maintenance window will be active right away. + StartDate *string `json:"startDate,omitempty"` + + // StartTime: The start time of the maintenance window. Accepted values are from '00:00' to '23:59'. 'utcOffset' applies to + // this field. For example: '02:00' with 'utcOffset: +02:00' means UTC time '00:00'. + StartTime *string `json:"startTime,omitempty"` + + // UtcOffset: The UTC offset in format +/-HH:mm. For example, '+05:30' for IST and '-07:00' for PST. If not specified, the + // default is '+00:00'. + UtcOffset *string `json:"utcOffset,omitempty"` +} + +// Time in a week. +type TimeInWeek struct { + // Day: The day of the week. + Day *WeekDay `json:"day,omitempty"` + + // HourSlots: Each integer hour represents a time range beginning at 0m after the hour ending at the next hour + // (non-inclusive). 0 corresponds to 00:00 UTC, 23 corresponds to 23:00 UTC. Specifying [0, 1] means the 00:00 - 02:00 UTC + // time range. + HourSlots []int `json:"hourSlots"` +} + +// For example, between 2021-05-25T13:00:00Z and 2021-05-25T14:00:00Z. +type TimeSpan struct { + // End: The end of a time span + End *string `json:"end,omitempty"` + + // Start: The start of a time span + Start *string `json:"start,omitempty"` +} + +// For example, between '2022-12-23' and '2023-01-05'. +type DateSpan struct { + // End: The end date of the date span. + End *string `json:"end,omitempty"` + + // Start: The start date of the date span. + Start *string `json:"start,omitempty"` +} + +// One and only one of the schedule types should be specified. Choose either 'daily', 'weekly', 'absoluteMonthly' or +// 'relativeMonthly' for your maintenance schedule. +type Schedule struct { + // AbsoluteMonthly: For schedules like: 'recur every month on the 15th' or 'recur every 3 months on the 20th'. + AbsoluteMonthly *AbsoluteMonthlySchedule `json:"absoluteMonthly,omitempty"` + + // Daily: For schedules like: 'recur every day' or 'recur every 3 days'. + Daily *DailySchedule `json:"daily,omitempty"` + + // RelativeMonthly: For schedules like: 'recur every month on the first Monday' or 'recur every 3 months on last Friday'. + RelativeMonthly *RelativeMonthlySchedule `json:"relativeMonthly,omitempty"` + + // Weekly: For schedules like: 'recur every Monday' or 'recur every 3 weeks on Wednesday'. + Weekly *WeeklySchedule `json:"weekly,omitempty"` +} + +// The weekday enum. +// +kubebuilder:validation:Enum={"Friday","Monday","Saturday","Sunday","Thursday","Tuesday","Wednesday"} +type WeekDay string + +const ( + WeekDay_Friday = WeekDay("Friday") + WeekDay_Monday = WeekDay("Monday") + WeekDay_Saturday = WeekDay("Saturday") + WeekDay_Sunday = WeekDay("Sunday") + WeekDay_Thursday = WeekDay("Thursday") + WeekDay_Tuesday = WeekDay("Tuesday") + WeekDay_Wednesday = WeekDay("Wednesday") +) + +// Mapping from string to WeekDay +var weekDay_Values = map[string]WeekDay{ + "friday": WeekDay_Friday, + "monday": WeekDay_Monday, + "saturday": WeekDay_Saturday, + "sunday": WeekDay_Sunday, + "thursday": WeekDay_Thursday, + "tuesday": WeekDay_Tuesday, + "wednesday": WeekDay_Wednesday, +} + +// For schedules like: 'recur every month on the 15th' or 'recur every 3 months on the 20th'. +type AbsoluteMonthlySchedule struct { + // DayOfMonth: The date of the month. + DayOfMonth *int `json:"dayOfMonth,omitempty"` + + // IntervalMonths: Specifies the number of months between each set of occurrences. + IntervalMonths *int `json:"intervalMonths,omitempty"` +} + +// For schedules like: 'recur every day' or 'recur every 3 days'. +type DailySchedule struct { + // IntervalDays: Specifies the number of days between each set of occurrences. + IntervalDays *int `json:"intervalDays,omitempty"` +} + +// For schedules like: 'recur every month on the first Monday' or 'recur every 3 months on last Friday'. +type RelativeMonthlySchedule struct { + // DayOfWeek: Specifies on which day of the week the maintenance occurs. + DayOfWeek *WeekDay `json:"dayOfWeek,omitempty"` + + // IntervalMonths: Specifies the number of months between each set of occurrences. + IntervalMonths *int `json:"intervalMonths,omitempty"` + + // WeekIndex: Specifies on which week of the month the dayOfWeek applies. + WeekIndex *RelativeMonthlySchedule_WeekIndex `json:"weekIndex,omitempty"` +} + +// For schedules like: 'recur every Monday' or 'recur every 3 weeks on Wednesday'. +type WeeklySchedule struct { + // DayOfWeek: Specifies on which day of the week the maintenance occurs. + DayOfWeek *WeekDay `json:"dayOfWeek,omitempty"` + + // IntervalWeeks: Specifies the number of weeks between each set of occurrences. + IntervalWeeks *int `json:"intervalWeeks,omitempty"` +} + +// +kubebuilder:validation:Enum={"First","Fourth","Last","Second","Third"} +type RelativeMonthlySchedule_WeekIndex string + +const ( + RelativeMonthlySchedule_WeekIndex_First = RelativeMonthlySchedule_WeekIndex("First") + RelativeMonthlySchedule_WeekIndex_Fourth = RelativeMonthlySchedule_WeekIndex("Fourth") + RelativeMonthlySchedule_WeekIndex_Last = RelativeMonthlySchedule_WeekIndex("Last") + RelativeMonthlySchedule_WeekIndex_Second = RelativeMonthlySchedule_WeekIndex("Second") + RelativeMonthlySchedule_WeekIndex_Third = RelativeMonthlySchedule_WeekIndex("Third") +) + +// Mapping from string to RelativeMonthlySchedule_WeekIndex +var relativeMonthlySchedule_WeekIndex_Values = map[string]RelativeMonthlySchedule_WeekIndex{ + "first": RelativeMonthlySchedule_WeekIndex_First, + "fourth": RelativeMonthlySchedule_WeekIndex_Fourth, + "last": RelativeMonthlySchedule_WeekIndex_Last, + "second": RelativeMonthlySchedule_WeekIndex_Second, + "third": RelativeMonthlySchedule_WeekIndex_Third, +} diff --git a/v2/api/containerservice/v1api20240901/arm/maintenance_configuration_spec_types_gen_test.go b/v2/api/containerservice/v1api20240901/arm/maintenance_configuration_spec_types_gen_test.go new file mode 100644 index 00000000000..e5858e2b35a --- /dev/null +++ b/v2/api/containerservice/v1api20240901/arm/maintenance_configuration_spec_types_gen_test.go @@ -0,0 +1,752 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package arm + +import ( + "encoding/json" + "github.com/google/go-cmp/cmp" + "github.com/google/go-cmp/cmp/cmpopts" + "github.com/kr/pretty" + "github.com/kylelemons/godebug/diff" + "github.com/leanovate/gopter" + "github.com/leanovate/gopter/gen" + "github.com/leanovate/gopter/prop" + "os" + "reflect" + "testing" +) + +func Test_AbsoluteMonthlySchedule_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of AbsoluteMonthlySchedule via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAbsoluteMonthlySchedule, AbsoluteMonthlyScheduleGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAbsoluteMonthlySchedule runs a test to see if a specific instance of AbsoluteMonthlySchedule round trips to JSON and back losslessly +func RunJSONSerializationTestForAbsoluteMonthlySchedule(subject AbsoluteMonthlySchedule) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AbsoluteMonthlySchedule + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of AbsoluteMonthlySchedule instances for property testing - lazily instantiated by +// AbsoluteMonthlyScheduleGenerator() +var absoluteMonthlyScheduleGenerator gopter.Gen + +// AbsoluteMonthlyScheduleGenerator returns a generator of AbsoluteMonthlySchedule instances for property testing. +func AbsoluteMonthlyScheduleGenerator() gopter.Gen { + if absoluteMonthlyScheduleGenerator != nil { + return absoluteMonthlyScheduleGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAbsoluteMonthlySchedule(generators) + absoluteMonthlyScheduleGenerator = gen.Struct(reflect.TypeOf(AbsoluteMonthlySchedule{}), generators) + + return absoluteMonthlyScheduleGenerator +} + +// AddIndependentPropertyGeneratorsForAbsoluteMonthlySchedule is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAbsoluteMonthlySchedule(gens map[string]gopter.Gen) { + gens["DayOfMonth"] = gen.PtrOf(gen.Int()) + gens["IntervalMonths"] = gen.PtrOf(gen.Int()) +} + +func Test_DailySchedule_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of DailySchedule via JSON returns original", + prop.ForAll(RunJSONSerializationTestForDailySchedule, DailyScheduleGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForDailySchedule runs a test to see if a specific instance of DailySchedule round trips to JSON and back losslessly +func RunJSONSerializationTestForDailySchedule(subject DailySchedule) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual DailySchedule + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of DailySchedule instances for property testing - lazily instantiated by DailyScheduleGenerator() +var dailyScheduleGenerator gopter.Gen + +// DailyScheduleGenerator returns a generator of DailySchedule instances for property testing. +func DailyScheduleGenerator() gopter.Gen { + if dailyScheduleGenerator != nil { + return dailyScheduleGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForDailySchedule(generators) + dailyScheduleGenerator = gen.Struct(reflect.TypeOf(DailySchedule{}), generators) + + return dailyScheduleGenerator +} + +// AddIndependentPropertyGeneratorsForDailySchedule is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForDailySchedule(gens map[string]gopter.Gen) { + gens["IntervalDays"] = gen.PtrOf(gen.Int()) +} + +func Test_DateSpan_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of DateSpan via JSON returns original", + prop.ForAll(RunJSONSerializationTestForDateSpan, DateSpanGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForDateSpan runs a test to see if a specific instance of DateSpan round trips to JSON and back losslessly +func RunJSONSerializationTestForDateSpan(subject DateSpan) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual DateSpan + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of DateSpan instances for property testing - lazily instantiated by DateSpanGenerator() +var dateSpanGenerator gopter.Gen + +// DateSpanGenerator returns a generator of DateSpan instances for property testing. +func DateSpanGenerator() gopter.Gen { + if dateSpanGenerator != nil { + return dateSpanGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForDateSpan(generators) + dateSpanGenerator = gen.Struct(reflect.TypeOf(DateSpan{}), generators) + + return dateSpanGenerator +} + +// AddIndependentPropertyGeneratorsForDateSpan is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForDateSpan(gens map[string]gopter.Gen) { + gens["End"] = gen.PtrOf(gen.AlphaString()) + gens["Start"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_MaintenanceConfigurationProperties_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of MaintenanceConfigurationProperties via JSON returns original", + prop.ForAll(RunJSONSerializationTestForMaintenanceConfigurationProperties, MaintenanceConfigurationPropertiesGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForMaintenanceConfigurationProperties runs a test to see if a specific instance of MaintenanceConfigurationProperties round trips to JSON and back losslessly +func RunJSONSerializationTestForMaintenanceConfigurationProperties(subject MaintenanceConfigurationProperties) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual MaintenanceConfigurationProperties + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of MaintenanceConfigurationProperties instances for property testing - lazily instantiated by +// MaintenanceConfigurationPropertiesGenerator() +var maintenanceConfigurationPropertiesGenerator gopter.Gen + +// MaintenanceConfigurationPropertiesGenerator returns a generator of MaintenanceConfigurationProperties instances for property testing. +func MaintenanceConfigurationPropertiesGenerator() gopter.Gen { + if maintenanceConfigurationPropertiesGenerator != nil { + return maintenanceConfigurationPropertiesGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForMaintenanceConfigurationProperties(generators) + maintenanceConfigurationPropertiesGenerator = gen.Struct(reflect.TypeOf(MaintenanceConfigurationProperties{}), generators) + + return maintenanceConfigurationPropertiesGenerator +} + +// AddRelatedPropertyGeneratorsForMaintenanceConfigurationProperties is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForMaintenanceConfigurationProperties(gens map[string]gopter.Gen) { + gens["MaintenanceWindow"] = gen.PtrOf(MaintenanceWindowGenerator()) + gens["NotAllowedTime"] = gen.SliceOf(TimeSpanGenerator()) + gens["TimeInWeek"] = gen.SliceOf(TimeInWeekGenerator()) +} + +func Test_MaintenanceConfiguration_Spec_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of MaintenanceConfiguration_Spec via JSON returns original", + prop.ForAll(RunJSONSerializationTestForMaintenanceConfiguration_Spec, MaintenanceConfiguration_SpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForMaintenanceConfiguration_Spec runs a test to see if a specific instance of MaintenanceConfiguration_Spec round trips to JSON and back losslessly +func RunJSONSerializationTestForMaintenanceConfiguration_Spec(subject MaintenanceConfiguration_Spec) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual MaintenanceConfiguration_Spec + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of MaintenanceConfiguration_Spec instances for property testing - lazily instantiated by +// MaintenanceConfiguration_SpecGenerator() +var maintenanceConfiguration_SpecGenerator gopter.Gen + +// MaintenanceConfiguration_SpecGenerator returns a generator of MaintenanceConfiguration_Spec instances for property testing. +// We first initialize maintenanceConfiguration_SpecGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func MaintenanceConfiguration_SpecGenerator() gopter.Gen { + if maintenanceConfiguration_SpecGenerator != nil { + return maintenanceConfiguration_SpecGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForMaintenanceConfiguration_Spec(generators) + maintenanceConfiguration_SpecGenerator = gen.Struct(reflect.TypeOf(MaintenanceConfiguration_Spec{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForMaintenanceConfiguration_Spec(generators) + AddRelatedPropertyGeneratorsForMaintenanceConfiguration_Spec(generators) + maintenanceConfiguration_SpecGenerator = gen.Struct(reflect.TypeOf(MaintenanceConfiguration_Spec{}), generators) + + return maintenanceConfiguration_SpecGenerator +} + +// AddIndependentPropertyGeneratorsForMaintenanceConfiguration_Spec is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForMaintenanceConfiguration_Spec(gens map[string]gopter.Gen) { + gens["Name"] = gen.AlphaString() +} + +// AddRelatedPropertyGeneratorsForMaintenanceConfiguration_Spec is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForMaintenanceConfiguration_Spec(gens map[string]gopter.Gen) { + gens["Properties"] = gen.PtrOf(MaintenanceConfigurationPropertiesGenerator()) +} + +func Test_MaintenanceWindow_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of MaintenanceWindow via JSON returns original", + prop.ForAll(RunJSONSerializationTestForMaintenanceWindow, MaintenanceWindowGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForMaintenanceWindow runs a test to see if a specific instance of MaintenanceWindow round trips to JSON and back losslessly +func RunJSONSerializationTestForMaintenanceWindow(subject MaintenanceWindow) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual MaintenanceWindow + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of MaintenanceWindow instances for property testing - lazily instantiated by MaintenanceWindowGenerator() +var maintenanceWindowGenerator gopter.Gen + +// MaintenanceWindowGenerator returns a generator of MaintenanceWindow instances for property testing. +// We first initialize maintenanceWindowGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func MaintenanceWindowGenerator() gopter.Gen { + if maintenanceWindowGenerator != nil { + return maintenanceWindowGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForMaintenanceWindow(generators) + maintenanceWindowGenerator = gen.Struct(reflect.TypeOf(MaintenanceWindow{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForMaintenanceWindow(generators) + AddRelatedPropertyGeneratorsForMaintenanceWindow(generators) + maintenanceWindowGenerator = gen.Struct(reflect.TypeOf(MaintenanceWindow{}), generators) + + return maintenanceWindowGenerator +} + +// AddIndependentPropertyGeneratorsForMaintenanceWindow is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForMaintenanceWindow(gens map[string]gopter.Gen) { + gens["DurationHours"] = gen.PtrOf(gen.Int()) + gens["StartDate"] = gen.PtrOf(gen.AlphaString()) + gens["StartTime"] = gen.PtrOf(gen.AlphaString()) + gens["UtcOffset"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForMaintenanceWindow is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForMaintenanceWindow(gens map[string]gopter.Gen) { + gens["NotAllowedDates"] = gen.SliceOf(DateSpanGenerator()) + gens["Schedule"] = gen.PtrOf(ScheduleGenerator()) +} + +func Test_RelativeMonthlySchedule_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of RelativeMonthlySchedule via JSON returns original", + prop.ForAll(RunJSONSerializationTestForRelativeMonthlySchedule, RelativeMonthlyScheduleGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForRelativeMonthlySchedule runs a test to see if a specific instance of RelativeMonthlySchedule round trips to JSON and back losslessly +func RunJSONSerializationTestForRelativeMonthlySchedule(subject RelativeMonthlySchedule) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual RelativeMonthlySchedule + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of RelativeMonthlySchedule instances for property testing - lazily instantiated by +// RelativeMonthlyScheduleGenerator() +var relativeMonthlyScheduleGenerator gopter.Gen + +// RelativeMonthlyScheduleGenerator returns a generator of RelativeMonthlySchedule instances for property testing. +func RelativeMonthlyScheduleGenerator() gopter.Gen { + if relativeMonthlyScheduleGenerator != nil { + return relativeMonthlyScheduleGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForRelativeMonthlySchedule(generators) + relativeMonthlyScheduleGenerator = gen.Struct(reflect.TypeOf(RelativeMonthlySchedule{}), generators) + + return relativeMonthlyScheduleGenerator +} + +// AddIndependentPropertyGeneratorsForRelativeMonthlySchedule is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForRelativeMonthlySchedule(gens map[string]gopter.Gen) { + gens["DayOfWeek"] = gen.PtrOf(gen.OneConstOf( + WeekDay_Friday, + WeekDay_Monday, + WeekDay_Saturday, + WeekDay_Sunday, + WeekDay_Thursday, + WeekDay_Tuesday, + WeekDay_Wednesday)) + gens["IntervalMonths"] = gen.PtrOf(gen.Int()) + gens["WeekIndex"] = gen.PtrOf(gen.OneConstOf( + RelativeMonthlySchedule_WeekIndex_First, + RelativeMonthlySchedule_WeekIndex_Fourth, + RelativeMonthlySchedule_WeekIndex_Last, + RelativeMonthlySchedule_WeekIndex_Second, + RelativeMonthlySchedule_WeekIndex_Third)) +} + +func Test_Schedule_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of Schedule via JSON returns original", + prop.ForAll(RunJSONSerializationTestForSchedule, ScheduleGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForSchedule runs a test to see if a specific instance of Schedule round trips to JSON and back losslessly +func RunJSONSerializationTestForSchedule(subject Schedule) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Schedule + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of Schedule instances for property testing - lazily instantiated by ScheduleGenerator() +var scheduleGenerator gopter.Gen + +// ScheduleGenerator returns a generator of Schedule instances for property testing. +func ScheduleGenerator() gopter.Gen { + if scheduleGenerator != nil { + return scheduleGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForSchedule(generators) + scheduleGenerator = gen.Struct(reflect.TypeOf(Schedule{}), generators) + + return scheduleGenerator +} + +// AddRelatedPropertyGeneratorsForSchedule is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForSchedule(gens map[string]gopter.Gen) { + gens["AbsoluteMonthly"] = gen.PtrOf(AbsoluteMonthlyScheduleGenerator()) + gens["Daily"] = gen.PtrOf(DailyScheduleGenerator()) + gens["RelativeMonthly"] = gen.PtrOf(RelativeMonthlyScheduleGenerator()) + gens["Weekly"] = gen.PtrOf(WeeklyScheduleGenerator()) +} + +func Test_TimeInWeek_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of TimeInWeek via JSON returns original", + prop.ForAll(RunJSONSerializationTestForTimeInWeek, TimeInWeekGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForTimeInWeek runs a test to see if a specific instance of TimeInWeek round trips to JSON and back losslessly +func RunJSONSerializationTestForTimeInWeek(subject TimeInWeek) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual TimeInWeek + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of TimeInWeek instances for property testing - lazily instantiated by TimeInWeekGenerator() +var timeInWeekGenerator gopter.Gen + +// TimeInWeekGenerator returns a generator of TimeInWeek instances for property testing. +func TimeInWeekGenerator() gopter.Gen { + if timeInWeekGenerator != nil { + return timeInWeekGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForTimeInWeek(generators) + timeInWeekGenerator = gen.Struct(reflect.TypeOf(TimeInWeek{}), generators) + + return timeInWeekGenerator +} + +// AddIndependentPropertyGeneratorsForTimeInWeek is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForTimeInWeek(gens map[string]gopter.Gen) { + gens["Day"] = gen.PtrOf(gen.OneConstOf( + WeekDay_Friday, + WeekDay_Monday, + WeekDay_Saturday, + WeekDay_Sunday, + WeekDay_Thursday, + WeekDay_Tuesday, + WeekDay_Wednesday)) + gens["HourSlots"] = gen.SliceOf(gen.Int()) +} + +func Test_TimeSpan_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of TimeSpan via JSON returns original", + prop.ForAll(RunJSONSerializationTestForTimeSpan, TimeSpanGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForTimeSpan runs a test to see if a specific instance of TimeSpan round trips to JSON and back losslessly +func RunJSONSerializationTestForTimeSpan(subject TimeSpan) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual TimeSpan + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of TimeSpan instances for property testing - lazily instantiated by TimeSpanGenerator() +var timeSpanGenerator gopter.Gen + +// TimeSpanGenerator returns a generator of TimeSpan instances for property testing. +func TimeSpanGenerator() gopter.Gen { + if timeSpanGenerator != nil { + return timeSpanGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForTimeSpan(generators) + timeSpanGenerator = gen.Struct(reflect.TypeOf(TimeSpan{}), generators) + + return timeSpanGenerator +} + +// AddIndependentPropertyGeneratorsForTimeSpan is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForTimeSpan(gens map[string]gopter.Gen) { + gens["End"] = gen.PtrOf(gen.AlphaString()) + gens["Start"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_WeeklySchedule_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of WeeklySchedule via JSON returns original", + prop.ForAll(RunJSONSerializationTestForWeeklySchedule, WeeklyScheduleGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForWeeklySchedule runs a test to see if a specific instance of WeeklySchedule round trips to JSON and back losslessly +func RunJSONSerializationTestForWeeklySchedule(subject WeeklySchedule) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual WeeklySchedule + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of WeeklySchedule instances for property testing - lazily instantiated by WeeklyScheduleGenerator() +var weeklyScheduleGenerator gopter.Gen + +// WeeklyScheduleGenerator returns a generator of WeeklySchedule instances for property testing. +func WeeklyScheduleGenerator() gopter.Gen { + if weeklyScheduleGenerator != nil { + return weeklyScheduleGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForWeeklySchedule(generators) + weeklyScheduleGenerator = gen.Struct(reflect.TypeOf(WeeklySchedule{}), generators) + + return weeklyScheduleGenerator +} + +// AddIndependentPropertyGeneratorsForWeeklySchedule is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForWeeklySchedule(gens map[string]gopter.Gen) { + gens["DayOfWeek"] = gen.PtrOf(gen.OneConstOf( + WeekDay_Friday, + WeekDay_Monday, + WeekDay_Saturday, + WeekDay_Sunday, + WeekDay_Thursday, + WeekDay_Tuesday, + WeekDay_Wednesday)) + gens["IntervalWeeks"] = gen.PtrOf(gen.Int()) +} diff --git a/v2/api/containerservice/v1api20240901/arm/maintenance_configuration_status_types_gen.go b/v2/api/containerservice/v1api20240901/arm/maintenance_configuration_status_types_gen.go new file mode 100644 index 00000000000..f20741dfc54 --- /dev/null +++ b/v2/api/containerservice/v1api20240901/arm/maintenance_configuration_status_types_gen.go @@ -0,0 +1,239 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package arm + +type MaintenanceConfiguration_STATUS struct { + // Id: Resource ID. + Id *string `json:"id,omitempty"` + + // Name: The name of the resource that is unique within a resource group. This name can be used to access the resource. + Name *string `json:"name,omitempty"` + + // Properties: Properties of a default maintenance configuration. + Properties *MaintenanceConfigurationProperties_STATUS `json:"properties,omitempty"` + + // SystemData: The system metadata relating to this resource. + SystemData *SystemData_STATUS `json:"systemData,omitempty"` + + // Type: Resource type + Type *string `json:"type,omitempty"` +} + +// Properties used to configure planned maintenance for a Managed Cluster. +type MaintenanceConfigurationProperties_STATUS struct { + // MaintenanceWindow: Maintenance window for the maintenance configuration. + MaintenanceWindow *MaintenanceWindow_STATUS `json:"maintenanceWindow,omitempty"` + + // NotAllowedTime: Time slots on which upgrade is not allowed. + NotAllowedTime []TimeSpan_STATUS `json:"notAllowedTime"` + + // TimeInWeek: If two array entries specify the same day of the week, the applied configuration is the union of times in + // both entries. + TimeInWeek []TimeInWeek_STATUS `json:"timeInWeek"` +} + +// Metadata pertaining to creation and last modification of the resource. +type SystemData_STATUS struct { + // CreatedAt: The timestamp of resource creation (UTC). + CreatedAt *string `json:"createdAt,omitempty"` + + // CreatedBy: The identity that created the resource. + CreatedBy *string `json:"createdBy,omitempty"` + + // CreatedByType: The type of identity that created the resource. + CreatedByType *SystemData_CreatedByType_STATUS `json:"createdByType,omitempty"` + + // LastModifiedAt: The timestamp of resource last modification (UTC) + LastModifiedAt *string `json:"lastModifiedAt,omitempty"` + + // LastModifiedBy: The identity that last modified the resource. + LastModifiedBy *string `json:"lastModifiedBy,omitempty"` + + // LastModifiedByType: The type of identity that last modified the resource. + LastModifiedByType *SystemData_LastModifiedByType_STATUS `json:"lastModifiedByType,omitempty"` +} + +// Maintenance window used to configure scheduled auto-upgrade for a Managed Cluster. +type MaintenanceWindow_STATUS struct { + // DurationHours: Length of maintenance window range from 4 to 24 hours. + DurationHours *int `json:"durationHours,omitempty"` + + // NotAllowedDates: Date ranges on which upgrade is not allowed. 'utcOffset' applies to this field. For example, with + // 'utcOffset: +02:00' and 'dateSpan' being '2022-12-23' to '2023-01-03', maintenance will be blocked from '2022-12-22 + // 22:00' to '2023-01-03 22:00' in UTC time. + NotAllowedDates []DateSpan_STATUS `json:"notAllowedDates"` + + // Schedule: Recurrence schedule for the maintenance window. + Schedule *Schedule_STATUS `json:"schedule,omitempty"` + + // StartDate: The date the maintenance window activates. If the current date is before this date, the maintenance window is + // inactive and will not be used for upgrades. If not specified, the maintenance window will be active right away. + StartDate *string `json:"startDate,omitempty"` + + // StartTime: The start time of the maintenance window. Accepted values are from '00:00' to '23:59'. 'utcOffset' applies to + // this field. For example: '02:00' with 'utcOffset: +02:00' means UTC time '00:00'. + StartTime *string `json:"startTime,omitempty"` + + // UtcOffset: The UTC offset in format +/-HH:mm. For example, '+05:30' for IST and '-07:00' for PST. If not specified, the + // default is '+00:00'. + UtcOffset *string `json:"utcOffset,omitempty"` +} + +type SystemData_CreatedByType_STATUS string + +const ( + SystemData_CreatedByType_STATUS_Application = SystemData_CreatedByType_STATUS("Application") + SystemData_CreatedByType_STATUS_Key = SystemData_CreatedByType_STATUS("Key") + SystemData_CreatedByType_STATUS_ManagedIdentity = SystemData_CreatedByType_STATUS("ManagedIdentity") + SystemData_CreatedByType_STATUS_User = SystemData_CreatedByType_STATUS("User") +) + +// Mapping from string to SystemData_CreatedByType_STATUS +var systemData_CreatedByType_STATUS_Values = map[string]SystemData_CreatedByType_STATUS{ + "application": SystemData_CreatedByType_STATUS_Application, + "key": SystemData_CreatedByType_STATUS_Key, + "managedidentity": SystemData_CreatedByType_STATUS_ManagedIdentity, + "user": SystemData_CreatedByType_STATUS_User, +} + +type SystemData_LastModifiedByType_STATUS string + +const ( + SystemData_LastModifiedByType_STATUS_Application = SystemData_LastModifiedByType_STATUS("Application") + SystemData_LastModifiedByType_STATUS_Key = SystemData_LastModifiedByType_STATUS("Key") + SystemData_LastModifiedByType_STATUS_ManagedIdentity = SystemData_LastModifiedByType_STATUS("ManagedIdentity") + SystemData_LastModifiedByType_STATUS_User = SystemData_LastModifiedByType_STATUS("User") +) + +// Mapping from string to SystemData_LastModifiedByType_STATUS +var systemData_LastModifiedByType_STATUS_Values = map[string]SystemData_LastModifiedByType_STATUS{ + "application": SystemData_LastModifiedByType_STATUS_Application, + "key": SystemData_LastModifiedByType_STATUS_Key, + "managedidentity": SystemData_LastModifiedByType_STATUS_ManagedIdentity, + "user": SystemData_LastModifiedByType_STATUS_User, +} + +// Time in a week. +type TimeInWeek_STATUS struct { + // Day: The day of the week. + Day *WeekDay_STATUS `json:"day,omitempty"` + + // HourSlots: Each integer hour represents a time range beginning at 0m after the hour ending at the next hour + // (non-inclusive). 0 corresponds to 00:00 UTC, 23 corresponds to 23:00 UTC. Specifying [0, 1] means the 00:00 - 02:00 UTC + // time range. + HourSlots []int `json:"hourSlots"` +} + +// For example, between 2021-05-25T13:00:00Z and 2021-05-25T14:00:00Z. +type TimeSpan_STATUS struct { + // End: The end of a time span + End *string `json:"end,omitempty"` + + // Start: The start of a time span + Start *string `json:"start,omitempty"` +} + +// For example, between '2022-12-23' and '2023-01-05'. +type DateSpan_STATUS struct { + // End: The end date of the date span. + End *string `json:"end,omitempty"` + + // Start: The start date of the date span. + Start *string `json:"start,omitempty"` +} + +// One and only one of the schedule types should be specified. Choose either 'daily', 'weekly', 'absoluteMonthly' or +// 'relativeMonthly' for your maintenance schedule. +type Schedule_STATUS struct { + // AbsoluteMonthly: For schedules like: 'recur every month on the 15th' or 'recur every 3 months on the 20th'. + AbsoluteMonthly *AbsoluteMonthlySchedule_STATUS `json:"absoluteMonthly,omitempty"` + + // Daily: For schedules like: 'recur every day' or 'recur every 3 days'. + Daily *DailySchedule_STATUS `json:"daily,omitempty"` + + // RelativeMonthly: For schedules like: 'recur every month on the first Monday' or 'recur every 3 months on last Friday'. + RelativeMonthly *RelativeMonthlySchedule_STATUS `json:"relativeMonthly,omitempty"` + + // Weekly: For schedules like: 'recur every Monday' or 'recur every 3 weeks on Wednesday'. + Weekly *WeeklySchedule_STATUS `json:"weekly,omitempty"` +} + +// The weekday enum. +type WeekDay_STATUS string + +const ( + WeekDay_STATUS_Friday = WeekDay_STATUS("Friday") + WeekDay_STATUS_Monday = WeekDay_STATUS("Monday") + WeekDay_STATUS_Saturday = WeekDay_STATUS("Saturday") + WeekDay_STATUS_Sunday = WeekDay_STATUS("Sunday") + WeekDay_STATUS_Thursday = WeekDay_STATUS("Thursday") + WeekDay_STATUS_Tuesday = WeekDay_STATUS("Tuesday") + WeekDay_STATUS_Wednesday = WeekDay_STATUS("Wednesday") +) + +// Mapping from string to WeekDay_STATUS +var weekDay_STATUS_Values = map[string]WeekDay_STATUS{ + "friday": WeekDay_STATUS_Friday, + "monday": WeekDay_STATUS_Monday, + "saturday": WeekDay_STATUS_Saturday, + "sunday": WeekDay_STATUS_Sunday, + "thursday": WeekDay_STATUS_Thursday, + "tuesday": WeekDay_STATUS_Tuesday, + "wednesday": WeekDay_STATUS_Wednesday, +} + +// For schedules like: 'recur every month on the 15th' or 'recur every 3 months on the 20th'. +type AbsoluteMonthlySchedule_STATUS struct { + // DayOfMonth: The date of the month. + DayOfMonth *int `json:"dayOfMonth,omitempty"` + + // IntervalMonths: Specifies the number of months between each set of occurrences. + IntervalMonths *int `json:"intervalMonths,omitempty"` +} + +// For schedules like: 'recur every day' or 'recur every 3 days'. +type DailySchedule_STATUS struct { + // IntervalDays: Specifies the number of days between each set of occurrences. + IntervalDays *int `json:"intervalDays,omitempty"` +} + +// For schedules like: 'recur every month on the first Monday' or 'recur every 3 months on last Friday'. +type RelativeMonthlySchedule_STATUS struct { + // DayOfWeek: Specifies on which day of the week the maintenance occurs. + DayOfWeek *WeekDay_STATUS `json:"dayOfWeek,omitempty"` + + // IntervalMonths: Specifies the number of months between each set of occurrences. + IntervalMonths *int `json:"intervalMonths,omitempty"` + + // WeekIndex: Specifies on which week of the month the dayOfWeek applies. + WeekIndex *RelativeMonthlySchedule_WeekIndex_STATUS `json:"weekIndex,omitempty"` +} + +// For schedules like: 'recur every Monday' or 'recur every 3 weeks on Wednesday'. +type WeeklySchedule_STATUS struct { + // DayOfWeek: Specifies on which day of the week the maintenance occurs. + DayOfWeek *WeekDay_STATUS `json:"dayOfWeek,omitempty"` + + // IntervalWeeks: Specifies the number of weeks between each set of occurrences. + IntervalWeeks *int `json:"intervalWeeks,omitempty"` +} + +type RelativeMonthlySchedule_WeekIndex_STATUS string + +const ( + RelativeMonthlySchedule_WeekIndex_STATUS_First = RelativeMonthlySchedule_WeekIndex_STATUS("First") + RelativeMonthlySchedule_WeekIndex_STATUS_Fourth = RelativeMonthlySchedule_WeekIndex_STATUS("Fourth") + RelativeMonthlySchedule_WeekIndex_STATUS_Last = RelativeMonthlySchedule_WeekIndex_STATUS("Last") + RelativeMonthlySchedule_WeekIndex_STATUS_Second = RelativeMonthlySchedule_WeekIndex_STATUS("Second") + RelativeMonthlySchedule_WeekIndex_STATUS_Third = RelativeMonthlySchedule_WeekIndex_STATUS("Third") +) + +// Mapping from string to RelativeMonthlySchedule_WeekIndex_STATUS +var relativeMonthlySchedule_WeekIndex_STATUS_Values = map[string]RelativeMonthlySchedule_WeekIndex_STATUS{ + "first": RelativeMonthlySchedule_WeekIndex_STATUS_First, + "fourth": RelativeMonthlySchedule_WeekIndex_STATUS_Fourth, + "last": RelativeMonthlySchedule_WeekIndex_STATUS_Last, + "second": RelativeMonthlySchedule_WeekIndex_STATUS_Second, + "third": RelativeMonthlySchedule_WeekIndex_STATUS_Third, +} diff --git a/v2/api/containerservice/v1api20240901/arm/maintenance_configuration_status_types_gen_test.go b/v2/api/containerservice/v1api20240901/arm/maintenance_configuration_status_types_gen_test.go new file mode 100644 index 00000000000..165bb6ec28f --- /dev/null +++ b/v2/api/containerservice/v1api20240901/arm/maintenance_configuration_status_types_gen_test.go @@ -0,0 +1,831 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package arm + +import ( + "encoding/json" + "github.com/google/go-cmp/cmp" + "github.com/google/go-cmp/cmp/cmpopts" + "github.com/kr/pretty" + "github.com/kylelemons/godebug/diff" + "github.com/leanovate/gopter" + "github.com/leanovate/gopter/gen" + "github.com/leanovate/gopter/prop" + "os" + "reflect" + "testing" +) + +func Test_AbsoluteMonthlySchedule_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of AbsoluteMonthlySchedule_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAbsoluteMonthlySchedule_STATUS, AbsoluteMonthlySchedule_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAbsoluteMonthlySchedule_STATUS runs a test to see if a specific instance of AbsoluteMonthlySchedule_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForAbsoluteMonthlySchedule_STATUS(subject AbsoluteMonthlySchedule_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AbsoluteMonthlySchedule_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of AbsoluteMonthlySchedule_STATUS instances for property testing - lazily instantiated by +// AbsoluteMonthlySchedule_STATUSGenerator() +var absoluteMonthlySchedule_STATUSGenerator gopter.Gen + +// AbsoluteMonthlySchedule_STATUSGenerator returns a generator of AbsoluteMonthlySchedule_STATUS instances for property testing. +func AbsoluteMonthlySchedule_STATUSGenerator() gopter.Gen { + if absoluteMonthlySchedule_STATUSGenerator != nil { + return absoluteMonthlySchedule_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAbsoluteMonthlySchedule_STATUS(generators) + absoluteMonthlySchedule_STATUSGenerator = gen.Struct(reflect.TypeOf(AbsoluteMonthlySchedule_STATUS{}), generators) + + return absoluteMonthlySchedule_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForAbsoluteMonthlySchedule_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAbsoluteMonthlySchedule_STATUS(gens map[string]gopter.Gen) { + gens["DayOfMonth"] = gen.PtrOf(gen.Int()) + gens["IntervalMonths"] = gen.PtrOf(gen.Int()) +} + +func Test_DailySchedule_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of DailySchedule_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForDailySchedule_STATUS, DailySchedule_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForDailySchedule_STATUS runs a test to see if a specific instance of DailySchedule_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForDailySchedule_STATUS(subject DailySchedule_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual DailySchedule_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of DailySchedule_STATUS instances for property testing - lazily instantiated by +// DailySchedule_STATUSGenerator() +var dailySchedule_STATUSGenerator gopter.Gen + +// DailySchedule_STATUSGenerator returns a generator of DailySchedule_STATUS instances for property testing. +func DailySchedule_STATUSGenerator() gopter.Gen { + if dailySchedule_STATUSGenerator != nil { + return dailySchedule_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForDailySchedule_STATUS(generators) + dailySchedule_STATUSGenerator = gen.Struct(reflect.TypeOf(DailySchedule_STATUS{}), generators) + + return dailySchedule_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForDailySchedule_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForDailySchedule_STATUS(gens map[string]gopter.Gen) { + gens["IntervalDays"] = gen.PtrOf(gen.Int()) +} + +func Test_DateSpan_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of DateSpan_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForDateSpan_STATUS, DateSpan_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForDateSpan_STATUS runs a test to see if a specific instance of DateSpan_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForDateSpan_STATUS(subject DateSpan_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual DateSpan_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of DateSpan_STATUS instances for property testing - lazily instantiated by DateSpan_STATUSGenerator() +var dateSpan_STATUSGenerator gopter.Gen + +// DateSpan_STATUSGenerator returns a generator of DateSpan_STATUS instances for property testing. +func DateSpan_STATUSGenerator() gopter.Gen { + if dateSpan_STATUSGenerator != nil { + return dateSpan_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForDateSpan_STATUS(generators) + dateSpan_STATUSGenerator = gen.Struct(reflect.TypeOf(DateSpan_STATUS{}), generators) + + return dateSpan_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForDateSpan_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForDateSpan_STATUS(gens map[string]gopter.Gen) { + gens["End"] = gen.PtrOf(gen.AlphaString()) + gens["Start"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_MaintenanceConfigurationProperties_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of MaintenanceConfigurationProperties_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForMaintenanceConfigurationProperties_STATUS, MaintenanceConfigurationProperties_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForMaintenanceConfigurationProperties_STATUS runs a test to see if a specific instance of MaintenanceConfigurationProperties_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForMaintenanceConfigurationProperties_STATUS(subject MaintenanceConfigurationProperties_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual MaintenanceConfigurationProperties_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of MaintenanceConfigurationProperties_STATUS instances for property testing - lazily instantiated by +// MaintenanceConfigurationProperties_STATUSGenerator() +var maintenanceConfigurationProperties_STATUSGenerator gopter.Gen + +// MaintenanceConfigurationProperties_STATUSGenerator returns a generator of MaintenanceConfigurationProperties_STATUS instances for property testing. +func MaintenanceConfigurationProperties_STATUSGenerator() gopter.Gen { + if maintenanceConfigurationProperties_STATUSGenerator != nil { + return maintenanceConfigurationProperties_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForMaintenanceConfigurationProperties_STATUS(generators) + maintenanceConfigurationProperties_STATUSGenerator = gen.Struct(reflect.TypeOf(MaintenanceConfigurationProperties_STATUS{}), generators) + + return maintenanceConfigurationProperties_STATUSGenerator +} + +// AddRelatedPropertyGeneratorsForMaintenanceConfigurationProperties_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForMaintenanceConfigurationProperties_STATUS(gens map[string]gopter.Gen) { + gens["MaintenanceWindow"] = gen.PtrOf(MaintenanceWindow_STATUSGenerator()) + gens["NotAllowedTime"] = gen.SliceOf(TimeSpan_STATUSGenerator()) + gens["TimeInWeek"] = gen.SliceOf(TimeInWeek_STATUSGenerator()) +} + +func Test_MaintenanceConfiguration_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of MaintenanceConfiguration_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForMaintenanceConfiguration_STATUS, MaintenanceConfiguration_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForMaintenanceConfiguration_STATUS runs a test to see if a specific instance of MaintenanceConfiguration_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForMaintenanceConfiguration_STATUS(subject MaintenanceConfiguration_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual MaintenanceConfiguration_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of MaintenanceConfiguration_STATUS instances for property testing - lazily instantiated by +// MaintenanceConfiguration_STATUSGenerator() +var maintenanceConfiguration_STATUSGenerator gopter.Gen + +// MaintenanceConfiguration_STATUSGenerator returns a generator of MaintenanceConfiguration_STATUS instances for property testing. +// We first initialize maintenanceConfiguration_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func MaintenanceConfiguration_STATUSGenerator() gopter.Gen { + if maintenanceConfiguration_STATUSGenerator != nil { + return maintenanceConfiguration_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForMaintenanceConfiguration_STATUS(generators) + maintenanceConfiguration_STATUSGenerator = gen.Struct(reflect.TypeOf(MaintenanceConfiguration_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForMaintenanceConfiguration_STATUS(generators) + AddRelatedPropertyGeneratorsForMaintenanceConfiguration_STATUS(generators) + maintenanceConfiguration_STATUSGenerator = gen.Struct(reflect.TypeOf(MaintenanceConfiguration_STATUS{}), generators) + + return maintenanceConfiguration_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForMaintenanceConfiguration_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForMaintenanceConfiguration_STATUS(gens map[string]gopter.Gen) { + gens["Id"] = gen.PtrOf(gen.AlphaString()) + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["Type"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForMaintenanceConfiguration_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForMaintenanceConfiguration_STATUS(gens map[string]gopter.Gen) { + gens["Properties"] = gen.PtrOf(MaintenanceConfigurationProperties_STATUSGenerator()) + gens["SystemData"] = gen.PtrOf(SystemData_STATUSGenerator()) +} + +func Test_MaintenanceWindow_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of MaintenanceWindow_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForMaintenanceWindow_STATUS, MaintenanceWindow_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForMaintenanceWindow_STATUS runs a test to see if a specific instance of MaintenanceWindow_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForMaintenanceWindow_STATUS(subject MaintenanceWindow_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual MaintenanceWindow_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of MaintenanceWindow_STATUS instances for property testing - lazily instantiated by +// MaintenanceWindow_STATUSGenerator() +var maintenanceWindow_STATUSGenerator gopter.Gen + +// MaintenanceWindow_STATUSGenerator returns a generator of MaintenanceWindow_STATUS instances for property testing. +// We first initialize maintenanceWindow_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func MaintenanceWindow_STATUSGenerator() gopter.Gen { + if maintenanceWindow_STATUSGenerator != nil { + return maintenanceWindow_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForMaintenanceWindow_STATUS(generators) + maintenanceWindow_STATUSGenerator = gen.Struct(reflect.TypeOf(MaintenanceWindow_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForMaintenanceWindow_STATUS(generators) + AddRelatedPropertyGeneratorsForMaintenanceWindow_STATUS(generators) + maintenanceWindow_STATUSGenerator = gen.Struct(reflect.TypeOf(MaintenanceWindow_STATUS{}), generators) + + return maintenanceWindow_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForMaintenanceWindow_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForMaintenanceWindow_STATUS(gens map[string]gopter.Gen) { + gens["DurationHours"] = gen.PtrOf(gen.Int()) + gens["StartDate"] = gen.PtrOf(gen.AlphaString()) + gens["StartTime"] = gen.PtrOf(gen.AlphaString()) + gens["UtcOffset"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForMaintenanceWindow_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForMaintenanceWindow_STATUS(gens map[string]gopter.Gen) { + gens["NotAllowedDates"] = gen.SliceOf(DateSpan_STATUSGenerator()) + gens["Schedule"] = gen.PtrOf(Schedule_STATUSGenerator()) +} + +func Test_RelativeMonthlySchedule_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of RelativeMonthlySchedule_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForRelativeMonthlySchedule_STATUS, RelativeMonthlySchedule_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForRelativeMonthlySchedule_STATUS runs a test to see if a specific instance of RelativeMonthlySchedule_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForRelativeMonthlySchedule_STATUS(subject RelativeMonthlySchedule_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual RelativeMonthlySchedule_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of RelativeMonthlySchedule_STATUS instances for property testing - lazily instantiated by +// RelativeMonthlySchedule_STATUSGenerator() +var relativeMonthlySchedule_STATUSGenerator gopter.Gen + +// RelativeMonthlySchedule_STATUSGenerator returns a generator of RelativeMonthlySchedule_STATUS instances for property testing. +func RelativeMonthlySchedule_STATUSGenerator() gopter.Gen { + if relativeMonthlySchedule_STATUSGenerator != nil { + return relativeMonthlySchedule_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForRelativeMonthlySchedule_STATUS(generators) + relativeMonthlySchedule_STATUSGenerator = gen.Struct(reflect.TypeOf(RelativeMonthlySchedule_STATUS{}), generators) + + return relativeMonthlySchedule_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForRelativeMonthlySchedule_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForRelativeMonthlySchedule_STATUS(gens map[string]gopter.Gen) { + gens["DayOfWeek"] = gen.PtrOf(gen.OneConstOf( + WeekDay_STATUS_Friday, + WeekDay_STATUS_Monday, + WeekDay_STATUS_Saturday, + WeekDay_STATUS_Sunday, + WeekDay_STATUS_Thursday, + WeekDay_STATUS_Tuesday, + WeekDay_STATUS_Wednesday)) + gens["IntervalMonths"] = gen.PtrOf(gen.Int()) + gens["WeekIndex"] = gen.PtrOf(gen.OneConstOf( + RelativeMonthlySchedule_WeekIndex_STATUS_First, + RelativeMonthlySchedule_WeekIndex_STATUS_Fourth, + RelativeMonthlySchedule_WeekIndex_STATUS_Last, + RelativeMonthlySchedule_WeekIndex_STATUS_Second, + RelativeMonthlySchedule_WeekIndex_STATUS_Third)) +} + +func Test_Schedule_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of Schedule_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForSchedule_STATUS, Schedule_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForSchedule_STATUS runs a test to see if a specific instance of Schedule_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForSchedule_STATUS(subject Schedule_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Schedule_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of Schedule_STATUS instances for property testing - lazily instantiated by Schedule_STATUSGenerator() +var schedule_STATUSGenerator gopter.Gen + +// Schedule_STATUSGenerator returns a generator of Schedule_STATUS instances for property testing. +func Schedule_STATUSGenerator() gopter.Gen { + if schedule_STATUSGenerator != nil { + return schedule_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForSchedule_STATUS(generators) + schedule_STATUSGenerator = gen.Struct(reflect.TypeOf(Schedule_STATUS{}), generators) + + return schedule_STATUSGenerator +} + +// AddRelatedPropertyGeneratorsForSchedule_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForSchedule_STATUS(gens map[string]gopter.Gen) { + gens["AbsoluteMonthly"] = gen.PtrOf(AbsoluteMonthlySchedule_STATUSGenerator()) + gens["Daily"] = gen.PtrOf(DailySchedule_STATUSGenerator()) + gens["RelativeMonthly"] = gen.PtrOf(RelativeMonthlySchedule_STATUSGenerator()) + gens["Weekly"] = gen.PtrOf(WeeklySchedule_STATUSGenerator()) +} + +func Test_SystemData_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of SystemData_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForSystemData_STATUS, SystemData_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForSystemData_STATUS runs a test to see if a specific instance of SystemData_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForSystemData_STATUS(subject SystemData_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual SystemData_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of SystemData_STATUS instances for property testing - lazily instantiated by SystemData_STATUSGenerator() +var systemData_STATUSGenerator gopter.Gen + +// SystemData_STATUSGenerator returns a generator of SystemData_STATUS instances for property testing. +func SystemData_STATUSGenerator() gopter.Gen { + if systemData_STATUSGenerator != nil { + return systemData_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForSystemData_STATUS(generators) + systemData_STATUSGenerator = gen.Struct(reflect.TypeOf(SystemData_STATUS{}), generators) + + return systemData_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForSystemData_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForSystemData_STATUS(gens map[string]gopter.Gen) { + gens["CreatedAt"] = gen.PtrOf(gen.AlphaString()) + gens["CreatedBy"] = gen.PtrOf(gen.AlphaString()) + gens["CreatedByType"] = gen.PtrOf(gen.OneConstOf( + SystemData_CreatedByType_STATUS_Application, + SystemData_CreatedByType_STATUS_Key, + SystemData_CreatedByType_STATUS_ManagedIdentity, + SystemData_CreatedByType_STATUS_User)) + gens["LastModifiedAt"] = gen.PtrOf(gen.AlphaString()) + gens["LastModifiedBy"] = gen.PtrOf(gen.AlphaString()) + gens["LastModifiedByType"] = gen.PtrOf(gen.OneConstOf( + SystemData_LastModifiedByType_STATUS_Application, + SystemData_LastModifiedByType_STATUS_Key, + SystemData_LastModifiedByType_STATUS_ManagedIdentity, + SystemData_LastModifiedByType_STATUS_User)) +} + +func Test_TimeInWeek_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of TimeInWeek_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForTimeInWeek_STATUS, TimeInWeek_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForTimeInWeek_STATUS runs a test to see if a specific instance of TimeInWeek_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForTimeInWeek_STATUS(subject TimeInWeek_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual TimeInWeek_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of TimeInWeek_STATUS instances for property testing - lazily instantiated by TimeInWeek_STATUSGenerator() +var timeInWeek_STATUSGenerator gopter.Gen + +// TimeInWeek_STATUSGenerator returns a generator of TimeInWeek_STATUS instances for property testing. +func TimeInWeek_STATUSGenerator() gopter.Gen { + if timeInWeek_STATUSGenerator != nil { + return timeInWeek_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForTimeInWeek_STATUS(generators) + timeInWeek_STATUSGenerator = gen.Struct(reflect.TypeOf(TimeInWeek_STATUS{}), generators) + + return timeInWeek_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForTimeInWeek_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForTimeInWeek_STATUS(gens map[string]gopter.Gen) { + gens["Day"] = gen.PtrOf(gen.OneConstOf( + WeekDay_STATUS_Friday, + WeekDay_STATUS_Monday, + WeekDay_STATUS_Saturday, + WeekDay_STATUS_Sunday, + WeekDay_STATUS_Thursday, + WeekDay_STATUS_Tuesday, + WeekDay_STATUS_Wednesday)) + gens["HourSlots"] = gen.SliceOf(gen.Int()) +} + +func Test_TimeSpan_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of TimeSpan_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForTimeSpan_STATUS, TimeSpan_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForTimeSpan_STATUS runs a test to see if a specific instance of TimeSpan_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForTimeSpan_STATUS(subject TimeSpan_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual TimeSpan_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of TimeSpan_STATUS instances for property testing - lazily instantiated by TimeSpan_STATUSGenerator() +var timeSpan_STATUSGenerator gopter.Gen + +// TimeSpan_STATUSGenerator returns a generator of TimeSpan_STATUS instances for property testing. +func TimeSpan_STATUSGenerator() gopter.Gen { + if timeSpan_STATUSGenerator != nil { + return timeSpan_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForTimeSpan_STATUS(generators) + timeSpan_STATUSGenerator = gen.Struct(reflect.TypeOf(TimeSpan_STATUS{}), generators) + + return timeSpan_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForTimeSpan_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForTimeSpan_STATUS(gens map[string]gopter.Gen) { + gens["End"] = gen.PtrOf(gen.AlphaString()) + gens["Start"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_WeeklySchedule_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of WeeklySchedule_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForWeeklySchedule_STATUS, WeeklySchedule_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForWeeklySchedule_STATUS runs a test to see if a specific instance of WeeklySchedule_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForWeeklySchedule_STATUS(subject WeeklySchedule_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual WeeklySchedule_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of WeeklySchedule_STATUS instances for property testing - lazily instantiated by +// WeeklySchedule_STATUSGenerator() +var weeklySchedule_STATUSGenerator gopter.Gen + +// WeeklySchedule_STATUSGenerator returns a generator of WeeklySchedule_STATUS instances for property testing. +func WeeklySchedule_STATUSGenerator() gopter.Gen { + if weeklySchedule_STATUSGenerator != nil { + return weeklySchedule_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForWeeklySchedule_STATUS(generators) + weeklySchedule_STATUSGenerator = gen.Struct(reflect.TypeOf(WeeklySchedule_STATUS{}), generators) + + return weeklySchedule_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForWeeklySchedule_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForWeeklySchedule_STATUS(gens map[string]gopter.Gen) { + gens["DayOfWeek"] = gen.PtrOf(gen.OneConstOf( + WeekDay_STATUS_Friday, + WeekDay_STATUS_Monday, + WeekDay_STATUS_Saturday, + WeekDay_STATUS_Sunday, + WeekDay_STATUS_Thursday, + WeekDay_STATUS_Tuesday, + WeekDay_STATUS_Wednesday)) + gens["IntervalWeeks"] = gen.PtrOf(gen.Int()) +} diff --git a/v2/api/containerservice/v1api20240901/arm/managed_cluster_spec_types_gen.go b/v2/api/containerservice/v1api20240901/arm/managed_cluster_spec_types_gen.go new file mode 100644 index 00000000000..c33611a0469 --- /dev/null +++ b/v2/api/containerservice/v1api20240901/arm/managed_cluster_spec_types_gen.go @@ -0,0 +1,1464 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package arm + +import "github.com/Azure/azure-service-operator/v2/pkg/genruntime" + +type ManagedCluster_Spec struct { + // ExtendedLocation: The extended location of the Virtual Machine. + ExtendedLocation *ExtendedLocation `json:"extendedLocation,omitempty"` + + // Identity: The identity of the managed cluster, if configured. + Identity *ManagedClusterIdentity `json:"identity,omitempty"` + + // Location: The geo-location where the resource lives + Location *string `json:"location,omitempty"` + Name string `json:"name,omitempty"` + + // Properties: Properties of a managed cluster. + Properties *ManagedClusterProperties `json:"properties,omitempty"` + + // Sku: The managed cluster SKU. + Sku *ManagedClusterSKU `json:"sku,omitempty"` + + // Tags: Resource tags. + Tags map[string]string `json:"tags" serializationType:"explicitEmptyCollection"` +} + +var _ genruntime.ARMResourceSpec = &ManagedCluster_Spec{} + +// GetAPIVersion returns the ARM API version of the resource. This is always "2024-09-01" +func (cluster ManagedCluster_Spec) GetAPIVersion() string { + return "2024-09-01" +} + +// GetName returns the Name of the resource +func (cluster *ManagedCluster_Spec) GetName() string { + return cluster.Name +} + +// GetType returns the ARM Type of the resource. This is always "Microsoft.ContainerService/managedClusters" +func (cluster *ManagedCluster_Spec) GetType() string { + return "Microsoft.ContainerService/managedClusters" +} + +// The complex type of the extended location. +type ExtendedLocation struct { + // Name: The name of the extended location. + Name *string `json:"name,omitempty"` + + // Type: The type of the extended location. + Type *ExtendedLocationType `json:"type,omitempty"` +} + +// Identity for the managed cluster. +type ManagedClusterIdentity struct { + // DelegatedResources: The delegated identity resources assigned to this managed cluster. This can only be set by another + // Azure Resource Provider, and managed cluster only accept one delegated identity resource. Internal use only. + DelegatedResources map[string]DelegatedResource `json:"delegatedResources"` + + // Type: For more information see [use managed identities in + // AKS](https://docs.microsoft.com/azure/aks/use-managed-identity). + Type *ManagedClusterIdentity_Type `json:"type,omitempty"` + UserAssignedIdentities map[string]UserAssignedIdentityDetails `json:"userAssignedIdentities,omitempty"` +} + +// Properties of the managed cluster. +type ManagedClusterProperties struct { + // AadProfile: The Azure Active Directory configuration. + AadProfile *ManagedClusterAADProfile `json:"aadProfile,omitempty"` + + // AddonProfiles: The profile of managed cluster add-on. + AddonProfiles map[string]ManagedClusterAddonProfile `json:"addonProfiles"` + + // AgentPoolProfiles: The agent pool properties. + AgentPoolProfiles []ManagedClusterAgentPoolProfile `json:"agentPoolProfiles"` + + // ApiServerAccessProfile: The access profile for managed cluster API server. + ApiServerAccessProfile *ManagedClusterAPIServerAccessProfile `json:"apiServerAccessProfile,omitempty"` + + // AutoScalerProfile: Parameters to be applied to the cluster-autoscaler when enabled + AutoScalerProfile *ManagedClusterProperties_AutoScalerProfile `json:"autoScalerProfile,omitempty"` + + // AutoUpgradeProfile: The auto upgrade configuration. + AutoUpgradeProfile *ManagedClusterAutoUpgradeProfile `json:"autoUpgradeProfile,omitempty"` + + // AzureMonitorProfile: Azure Monitor addon profiles for monitoring the managed cluster. + AzureMonitorProfile *ManagedClusterAzureMonitorProfile `json:"azureMonitorProfile,omitempty"` + + // DisableLocalAccounts: If set to true, getting static credentials will be disabled for this cluster. This must only be + // used on Managed Clusters that are AAD enabled. For more details see [disable local + // accounts](https://docs.microsoft.com/azure/aks/managed-aad#disable-local-accounts-preview). + DisableLocalAccounts *bool `json:"disableLocalAccounts,omitempty"` + DiskEncryptionSetID *string `json:"diskEncryptionSetID,omitempty"` + + // DnsPrefix: This cannot be updated once the Managed Cluster has been created. + DnsPrefix *string `json:"dnsPrefix,omitempty"` + + // EnablePodSecurityPolicy: (DEPRECATED) Whether to enable Kubernetes pod security policy (preview). PodSecurityPolicy was + // deprecated in Kubernetes v1.21, and removed from Kubernetes in v1.25. Learn more at https://aka.ms/k8s/psp and + // https://aka.ms/aks/psp. + EnablePodSecurityPolicy *bool `json:"enablePodSecurityPolicy,omitempty"` + + // EnableRBAC: Whether to enable Kubernetes Role-Based Access Control. + EnableRBAC *bool `json:"enableRBAC,omitempty"` + + // FqdnSubdomain: This cannot be updated once the Managed Cluster has been created. + FqdnSubdomain *string `json:"fqdnSubdomain,omitempty"` + + // HttpProxyConfig: Configurations for provisioning the cluster with HTTP proxy servers. + HttpProxyConfig *ManagedClusterHTTPProxyConfig `json:"httpProxyConfig,omitempty"` + + // IdentityProfile: The user identity associated with the managed cluster. This identity will be used by the kubelet. Only + // one user assigned identity is allowed. The only accepted key is "kubeletidentity", with value of "resourceId": + // "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}". + IdentityProfile map[string]UserAssignedIdentity `json:"identityProfile"` + + // IngressProfile: Ingress profile for the managed cluster. + IngressProfile *ManagedClusterIngressProfile `json:"ingressProfile,omitempty"` + + // KubernetesVersion: Both patch version (e.g. 1.20.13) and (e.g. 1.20) are supported. + // When is specified, the latest supported GA patch version is chosen automatically. Updating the cluster + // with the same once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer + // patch version is available. When you upgrade a supported AKS cluster, Kubernetes minor versions cannot be skipped. All + // upgrades must be performed sequentially by major version number. For example, upgrades between 1.14.x -> 1.15.x or + // 1.15.x -> 1.16.x are allowed, however 1.14.x -> 1.16.x is not allowed. See [upgrading an AKS + // cluster](https://docs.microsoft.com/azure/aks/upgrade-cluster) for more details. + KubernetesVersion *string `json:"kubernetesVersion,omitempty"` + + // LinuxProfile: The profile for Linux VMs in the Managed Cluster. + LinuxProfile *ContainerServiceLinuxProfile `json:"linuxProfile,omitempty"` + + // MetricsProfile: Optional cluster metrics configuration. + MetricsProfile *ManagedClusterMetricsProfile `json:"metricsProfile,omitempty"` + + // NetworkProfile: The network configuration profile. + NetworkProfile *ContainerServiceNetworkProfile `json:"networkProfile,omitempty"` + + // NodeResourceGroup: The name of the resource group containing agent pool nodes. + NodeResourceGroup *string `json:"nodeResourceGroup,omitempty"` + + // NodeResourceGroupProfile: Profile of the node resource group configuration. + NodeResourceGroupProfile *ManagedClusterNodeResourceGroupProfile `json:"nodeResourceGroupProfile,omitempty"` + + // OidcIssuerProfile: The OIDC issuer profile of the Managed Cluster. + OidcIssuerProfile *ManagedClusterOIDCIssuerProfile `json:"oidcIssuerProfile,omitempty"` + + // PodIdentityProfile: See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more + // details on AAD pod identity integration. + PodIdentityProfile *ManagedClusterPodIdentityProfile `json:"podIdentityProfile,omitempty"` + + // PrivateLinkResources: Private link resources associated with the cluster. + PrivateLinkResources []PrivateLinkResource `json:"privateLinkResources"` + + // PublicNetworkAccess: Allow or deny public network access for AKS + PublicNetworkAccess *ManagedClusterProperties_PublicNetworkAccess `json:"publicNetworkAccess,omitempty"` + + // SecurityProfile: Security profile for the managed cluster. + SecurityProfile *ManagedClusterSecurityProfile `json:"securityProfile,omitempty"` + + // ServiceMeshProfile: Service mesh profile for a managed cluster. + ServiceMeshProfile *ServiceMeshProfile `json:"serviceMeshProfile,omitempty"` + + // ServicePrincipalProfile: Information about a service principal identity for the cluster to use for manipulating Azure + // APIs. + ServicePrincipalProfile *ManagedClusterServicePrincipalProfile `json:"servicePrincipalProfile,omitempty"` + + // StorageProfile: Storage profile for the managed cluster. + StorageProfile *ManagedClusterStorageProfile `json:"storageProfile,omitempty"` + + // SupportPlan: The support plan for the Managed Cluster. If unspecified, the default is 'KubernetesOfficial'. + SupportPlan *KubernetesSupportPlan `json:"supportPlan,omitempty"` + + // UpgradeSettings: Settings for upgrading a cluster. + UpgradeSettings *ClusterUpgradeSettings `json:"upgradeSettings,omitempty"` + + // WindowsProfile: The profile for Windows VMs in the Managed Cluster. + WindowsProfile *ManagedClusterWindowsProfile `json:"windowsProfile,omitempty"` + + // WorkloadAutoScalerProfile: Workload Auto-scaler profile for the managed cluster. + WorkloadAutoScalerProfile *ManagedClusterWorkloadAutoScalerProfile `json:"workloadAutoScalerProfile,omitempty"` +} + +// The SKU of a Managed Cluster. +type ManagedClusterSKU struct { + // Name: The name of a managed cluster SKU. + Name *ManagedClusterSKU_Name `json:"name,omitempty"` + + // Tier: If not specified, the default is 'Free'. See [AKS Pricing + // Tier](https://learn.microsoft.com/azure/aks/free-standard-pricing-tiers) for more details. + Tier *ManagedClusterSKU_Tier `json:"tier,omitempty"` +} + +// Settings for upgrading a cluster. +type ClusterUpgradeSettings struct { + // OverrideSettings: Settings for overrides. + OverrideSettings *UpgradeOverrideSettings `json:"overrideSettings,omitempty"` +} + +// Profile for Linux VMs in the container service cluster. +type ContainerServiceLinuxProfile struct { + // AdminUsername: The administrator username to use for Linux VMs. + AdminUsername *string `json:"adminUsername,omitempty"` + + // Ssh: The SSH configuration for Linux-based VMs running on Azure. + Ssh *ContainerServiceSshConfiguration `json:"ssh,omitempty"` +} + +// Profile of network configuration. +type ContainerServiceNetworkProfile struct { + // AdvancedNetworking: Advanced Networking profile for enabling observability and security feature suite on a cluster. For + // more information see aka.ms/aksadvancednetworking. + AdvancedNetworking *AdvancedNetworking `json:"advancedNetworking,omitempty"` + + // DnsServiceIP: An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address + // range specified in serviceCidr. + DnsServiceIP *string `json:"dnsServiceIP,omitempty"` + + // IpFamilies: IP families are used to determine single-stack or dual-stack clusters. For single-stack, the expected value + // is IPv4. For dual-stack, the expected values are IPv4 and IPv6. + IpFamilies []ContainerServiceNetworkProfile_IpFamilies `json:"ipFamilies"` + + // LoadBalancerProfile: Profile of the cluster load balancer. + LoadBalancerProfile *ManagedClusterLoadBalancerProfile `json:"loadBalancerProfile,omitempty"` + + // LoadBalancerSku: The default is 'standard'. See [Azure Load Balancer + // SKUs](https://docs.microsoft.com/azure/load-balancer/skus) for more information about the differences between load + // balancer SKUs. + LoadBalancerSku *ContainerServiceNetworkProfile_LoadBalancerSku `json:"loadBalancerSku,omitempty"` + + // NatGatewayProfile: Profile of the cluster NAT gateway. + NatGatewayProfile *ManagedClusterNATGatewayProfile `json:"natGatewayProfile,omitempty"` + + // NetworkDataplane: Network dataplane used in the Kubernetes cluster. + NetworkDataplane *ContainerServiceNetworkProfile_NetworkDataplane `json:"networkDataplane,omitempty"` + + // NetworkMode: This cannot be specified if networkPlugin is anything other than 'azure'. + NetworkMode *ContainerServiceNetworkProfile_NetworkMode `json:"networkMode,omitempty"` + + // NetworkPlugin: Network plugin used for building the Kubernetes network. + NetworkPlugin *ContainerServiceNetworkProfile_NetworkPlugin `json:"networkPlugin,omitempty"` + + // NetworkPluginMode: The mode the network plugin should use. + NetworkPluginMode *ContainerServiceNetworkProfile_NetworkPluginMode `json:"networkPluginMode,omitempty"` + + // NetworkPolicy: Network policy used for building the Kubernetes network. + NetworkPolicy *ContainerServiceNetworkProfile_NetworkPolicy `json:"networkPolicy,omitempty"` + + // OutboundType: This can only be set at cluster creation time and cannot be changed later. For more information see + // [egress outbound type](https://docs.microsoft.com/azure/aks/egress-outboundtype). + OutboundType *ContainerServiceNetworkProfile_OutboundType `json:"outboundType,omitempty"` + + // PodCidr: A CIDR notation IP range from which to assign pod IPs when kubenet is used. + PodCidr *string `json:"podCidr,omitempty"` + + // PodCidrs: One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is + // expected for dual-stack networking. + PodCidrs []string `json:"podCidrs"` + + // ServiceCidr: A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP + // ranges. + ServiceCidr *string `json:"serviceCidr,omitempty"` + + // ServiceCidrs: One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is + // expected for dual-stack networking. They must not overlap with any Subnet IP ranges. + ServiceCidrs []string `json:"serviceCidrs"` +} + +// Delegated resource properties - internal use only. +type DelegatedResource struct { + // Location: The source resource location - internal use only. + Location *string `json:"location,omitempty"` + + // ReferralResource: The delegation id of the referral delegation (optional) - internal use only. + ReferralResource *string `json:"referralResource,omitempty"` + ResourceId *string `json:"resourceId,omitempty"` + + // TenantId: The tenant id of the delegated resource - internal use only. + TenantId *string `json:"tenantId,omitempty"` +} + +// The type of extendedLocation. +// +kubebuilder:validation:Enum={"EdgeZone"} +type ExtendedLocationType string + +const ExtendedLocationType_EdgeZone = ExtendedLocationType("EdgeZone") + +// Mapping from string to ExtendedLocationType +var extendedLocationType_Values = map[string]ExtendedLocationType{ + "edgezone": ExtendedLocationType_EdgeZone, +} + +// Different support tiers for AKS managed clusters +// +kubebuilder:validation:Enum={"AKSLongTermSupport","KubernetesOfficial"} +type KubernetesSupportPlan string + +const ( + KubernetesSupportPlan_AKSLongTermSupport = KubernetesSupportPlan("AKSLongTermSupport") + KubernetesSupportPlan_KubernetesOfficial = KubernetesSupportPlan("KubernetesOfficial") +) + +// Mapping from string to KubernetesSupportPlan +var kubernetesSupportPlan_Values = map[string]KubernetesSupportPlan{ + "akslongtermsupport": KubernetesSupportPlan_AKSLongTermSupport, + "kubernetesofficial": KubernetesSupportPlan_KubernetesOfficial, +} + +// For more details see [managed AAD on AKS](https://docs.microsoft.com/azure/aks/managed-aad). +type ManagedClusterAADProfile struct { + // AdminGroupObjectIDs: The list of AAD group object IDs that will have admin role of the cluster. + AdminGroupObjectIDs []string `json:"adminGroupObjectIDs"` + + // ClientAppID: (DEPRECATED) The client AAD application ID. Learn more at https://aka.ms/aks/aad-legacy. + ClientAppID *string `json:"clientAppID,omitempty"` + + // EnableAzureRBAC: Whether to enable Azure RBAC for Kubernetes authorization. + EnableAzureRBAC *bool `json:"enableAzureRBAC,omitempty"` + + // Managed: Whether to enable managed AAD. + Managed *bool `json:"managed,omitempty"` + + // ServerAppID: (DEPRECATED) The server AAD application ID. Learn more at https://aka.ms/aks/aad-legacy. + ServerAppID *string `json:"serverAppID,omitempty"` + + // ServerAppSecret: (DEPRECATED) The server AAD application secret. Learn more at https://aka.ms/aks/aad-legacy. + ServerAppSecret *string `json:"serverAppSecret,omitempty"` + + // TenantID: The AAD tenant ID to use for authentication. If not specified, will use the tenant of the deployment + // subscription. + TenantID *string `json:"tenantID,omitempty"` +} + +// A Kubernetes add-on profile for a managed cluster. +type ManagedClusterAddonProfile struct { + // Config: Key-value pairs for configuring an add-on. + Config map[string]string `json:"config"` + + // Enabled: Whether the add-on is enabled or not. + Enabled *bool `json:"enabled,omitempty"` +} + +// Profile for the container service agent pool. +type ManagedClusterAgentPoolProfile struct { + // AvailabilityZones: The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType + // property is 'VirtualMachineScaleSets'. + AvailabilityZones []string `json:"availabilityZones"` + CapacityReservationGroupID *string `json:"capacityReservationGroupID,omitempty"` + + // Count: Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) + // for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1. + Count *int `json:"count,omitempty"` + + // CreationData: CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using + // a snapshot. + CreationData *CreationData `json:"creationData,omitempty"` + + // EnableAutoScaling: Whether to enable auto-scaler + EnableAutoScaling *bool `json:"enableAutoScaling,omitempty"` + + // EnableEncryptionAtHost: This is only supported on certain VM sizes and in certain Azure regions. For more information, + // see: https://docs.microsoft.com/azure/aks/enable-host-encryption + EnableEncryptionAtHost *bool `json:"enableEncryptionAtHost,omitempty"` + + // EnableFIPS: See [Add a FIPS-enabled node + // pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more + // details. + EnableFIPS *bool `json:"enableFIPS,omitempty"` + + // EnableNodePublicIP: Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. + // A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine + // to minimize hops. For more information see [assigning a public IP per + // node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The + // default is false. + EnableNodePublicIP *bool `json:"enableNodePublicIP,omitempty"` + + // EnableUltraSSD: Whether to enable UltraSSD + EnableUltraSSD *bool `json:"enableUltraSSD,omitempty"` + + // GpuInstanceProfile: GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU. + GpuInstanceProfile *GPUInstanceProfile `json:"gpuInstanceProfile,omitempty"` + HostGroupID *string `json:"hostGroupID,omitempty"` + + // KubeletConfig: The Kubelet configuration on the agent pool nodes. + KubeletConfig *KubeletConfig `json:"kubeletConfig,omitempty"` + + // KubeletDiskType: Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral + // storage. + KubeletDiskType *KubeletDiskType `json:"kubeletDiskType,omitempty"` + + // LinuxOSConfig: The OS configuration of Linux agent nodes. + LinuxOSConfig *LinuxOSConfig `json:"linuxOSConfig,omitempty"` + + // MaxCount: The maximum number of nodes for auto-scaling + MaxCount *int `json:"maxCount,omitempty"` + + // MaxPods: The maximum number of pods that can run on a node. + MaxPods *int `json:"maxPods,omitempty"` + + // MinCount: The minimum number of nodes for auto-scaling + MinCount *int `json:"minCount,omitempty"` + + // Mode: A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool + // restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools + Mode *AgentPoolMode `json:"mode,omitempty"` + + // Name: Windows agent pool names must be 6 characters or less. + Name *string `json:"name,omitempty"` + + // NetworkProfile: Network-related settings of an agent pool. + NetworkProfile *AgentPoolNetworkProfile `json:"networkProfile,omitempty"` + + // NodeLabels: The node labels to be persisted across all nodes in agent pool. + NodeLabels map[string]string `json:"nodeLabels" serializationType:"explicitEmptyCollection"` + NodePublicIPPrefixID *string `json:"nodePublicIPPrefixID,omitempty"` + + // NodeTaints: The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule. + NodeTaints []string `json:"nodeTaints" serializationType:"explicitEmptyCollection"` + + // OrchestratorVersion: Both patch version (e.g. 1.20.13) and (e.g. 1.20) are supported. + // When is specified, the latest supported GA patch version is chosen automatically. Updating the cluster + // with the same once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer + // patch version is available. As a best practice, you should upgrade all node pools in an AKS cluster to the same + // Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor + // version must be within two minor versions of the control plane version. The node pool version cannot be greater than the + // control plane version. For more information see [upgrading a node + // pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). + OrchestratorVersion *string `json:"orchestratorVersion,omitempty"` + OsDiskSizeGB *int `json:"osDiskSizeGB,omitempty"` + + // OsDiskType: The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested + // OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral + // OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). + OsDiskType *OSDiskType `json:"osDiskType,omitempty"` + + // OsSKU: Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 + // when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows. + OsSKU *OSSKU `json:"osSKU,omitempty"` + + // OsType: The operating system type. The default is Linux. + OsType *OSType `json:"osType,omitempty"` + PodSubnetID *string `json:"podSubnetID,omitempty"` + + // PowerState: When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this + // field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only + // be stopped if it is Running and provisioning state is Succeeded + PowerState *PowerState `json:"powerState,omitempty"` + ProximityPlacementGroupID *string `json:"proximityPlacementGroupID,omitempty"` + + // ScaleDownMode: This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete. + ScaleDownMode *ScaleDownMode `json:"scaleDownMode,omitempty"` + + // ScaleSetEvictionPolicy: This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is + // 'Delete'. + ScaleSetEvictionPolicy *ScaleSetEvictionPolicy `json:"scaleSetEvictionPolicy,omitempty"` + + // ScaleSetPriority: The Virtual Machine Scale Set priority. If not specified, the default is 'Regular'. + ScaleSetPriority *ScaleSetPriority `json:"scaleSetPriority,omitempty"` + + // SecurityProfile: The security settings of an agent pool. + SecurityProfile *AgentPoolSecurityProfile `json:"securityProfile,omitempty"` + + // SpotMaxPrice: Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any + // on-demand price. For more details on spot pricing, see [spot VMs + // pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing) + SpotMaxPrice *float64 `json:"spotMaxPrice,omitempty"` + + // Tags: The tags to be persisted on the agent pool virtual machine scale set. + Tags map[string]string `json:"tags" serializationType:"explicitEmptyCollection"` + + // Type: The type of Agent Pool. + Type *AgentPoolType `json:"type,omitempty"` + + // UpgradeSettings: Settings for upgrading the agentpool + UpgradeSettings *AgentPoolUpgradeSettings `json:"upgradeSettings,omitempty"` + + // VmSize: VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods + // might fail to run correctly. For more details on restricted VM sizes, see: + // https://docs.microsoft.com/azure/aks/quotas-skus-regions + VmSize *string `json:"vmSize,omitempty"` + VnetSubnetID *string `json:"vnetSubnetID,omitempty"` + + // WindowsProfile: The Windows agent pool's specific profile. + WindowsProfile *AgentPoolWindowsProfile `json:"windowsProfile,omitempty"` + + // WorkloadRuntime: Determines the type of workload a node can run. + WorkloadRuntime *WorkloadRuntime `json:"workloadRuntime,omitempty"` +} + +// Access profile for managed cluster API server. +type ManagedClusterAPIServerAccessProfile struct { + // AuthorizedIPRanges: IP ranges are specified in CIDR format, e.g. 137.117.106.88/29. This feature is not compatible with + // clusters that use Public IP Per Node, or clusters that are using a Basic Load Balancer. For more information see [API + // server authorized IP ranges](https://docs.microsoft.com/azure/aks/api-server-authorized-ip-ranges). + AuthorizedIPRanges []string `json:"authorizedIPRanges"` + + // DisableRunCommand: Whether to disable run command for the cluster or not. + DisableRunCommand *bool `json:"disableRunCommand,omitempty"` + + // EnablePrivateCluster: For more details, see [Creating a private AKS + // cluster](https://docs.microsoft.com/azure/aks/private-clusters). + EnablePrivateCluster *bool `json:"enablePrivateCluster,omitempty"` + + // EnablePrivateClusterPublicFQDN: Whether to create additional public FQDN for private cluster or not. + EnablePrivateClusterPublicFQDN *bool `json:"enablePrivateClusterPublicFQDN,omitempty"` + + // PrivateDNSZone: The default is System. For more details see [configure private DNS + // zone](https://docs.microsoft.com/azure/aks/private-clusters#configure-private-dns-zone). Allowed values are 'system' and + // 'none'. + PrivateDNSZone *string `json:"privateDNSZone,omitempty"` +} + +// Auto upgrade profile for a managed cluster. +type ManagedClusterAutoUpgradeProfile struct { + // NodeOSUpgradeChannel: Manner in which the OS on your nodes is updated. The default is NodeImage. + NodeOSUpgradeChannel *ManagedClusterAutoUpgradeProfile_NodeOSUpgradeChannel `json:"nodeOSUpgradeChannel,omitempty"` + + // UpgradeChannel: For more information see [setting the AKS cluster auto-upgrade + // channel](https://docs.microsoft.com/azure/aks/upgrade-cluster#set-auto-upgrade-channel). + UpgradeChannel *ManagedClusterAutoUpgradeProfile_UpgradeChannel `json:"upgradeChannel,omitempty"` +} + +// Azure Monitor addon profiles for monitoring the managed cluster. +type ManagedClusterAzureMonitorProfile struct { + // Metrics: Metrics profile for the Azure Monitor managed service for Prometheus addon. Collect out-of-the-box Kubernetes + // infrastructure metrics to send to an Azure Monitor Workspace and configure additional scraping for custom targets. See + // aka.ms/AzureManagedPrometheus for an overview. + Metrics *ManagedClusterAzureMonitorProfileMetrics `json:"metrics,omitempty"` +} + +// Cluster HTTP proxy configuration. +type ManagedClusterHTTPProxyConfig struct { + // HttpProxy: The HTTP proxy server endpoint to use. + HttpProxy *string `json:"httpProxy,omitempty"` + + // HttpsProxy: The HTTPS proxy server endpoint to use. + HttpsProxy *string `json:"httpsProxy,omitempty"` + + // NoProxy: The endpoints that should not go through proxy. + NoProxy []string `json:"noProxy"` + + // TrustedCa: Alternative CA cert to use for connecting to proxy servers. + TrustedCa *string `json:"trustedCa,omitempty"` +} + +// +kubebuilder:validation:Enum={"None","SystemAssigned","UserAssigned"} +type ManagedClusterIdentity_Type string + +const ( + ManagedClusterIdentity_Type_None = ManagedClusterIdentity_Type("None") + ManagedClusterIdentity_Type_SystemAssigned = ManagedClusterIdentity_Type("SystemAssigned") + ManagedClusterIdentity_Type_UserAssigned = ManagedClusterIdentity_Type("UserAssigned") +) + +// Mapping from string to ManagedClusterIdentity_Type +var managedClusterIdentity_Type_Values = map[string]ManagedClusterIdentity_Type{ + "none": ManagedClusterIdentity_Type_None, + "systemassigned": ManagedClusterIdentity_Type_SystemAssigned, + "userassigned": ManagedClusterIdentity_Type_UserAssigned, +} + +// Ingress profile for the container service cluster. +type ManagedClusterIngressProfile struct { + // WebAppRouting: App Routing settings for the ingress profile. You can find an overview and onboarding guide for this + // feature at https://learn.microsoft.com/en-us/azure/aks/app-routing?tabs=default%2Cdeploy-app-default. + WebAppRouting *ManagedClusterIngressProfileWebAppRouting `json:"webAppRouting,omitempty"` +} + +// The metrics profile for the ManagedCluster. +type ManagedClusterMetricsProfile struct { + // CostAnalysis: The cost analysis configuration for the cluster + CostAnalysis *ManagedClusterCostAnalysis `json:"costAnalysis,omitempty"` +} + +// Node resource group lockdown profile for a managed cluster. +type ManagedClusterNodeResourceGroupProfile struct { + // RestrictionLevel: The restriction level applied to the cluster's node resource group. If not specified, the default is + // 'Unrestricted' + RestrictionLevel *ManagedClusterNodeResourceGroupProfile_RestrictionLevel `json:"restrictionLevel,omitempty"` +} + +// The OIDC issuer profile of the Managed Cluster. +type ManagedClusterOIDCIssuerProfile struct { + // Enabled: Whether the OIDC issuer is enabled. + Enabled *bool `json:"enabled,omitempty"` +} + +// See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on pod +// identity integration. +type ManagedClusterPodIdentityProfile struct { + // AllowNetworkPluginKubenet: Running in Kubenet is disabled by default due to the security related nature of AAD Pod + // Identity and the risks of IP spoofing. See [using Kubenet network plugin with AAD Pod + // Identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity#using-kubenet-network-plugin-with-azure-active-directory-pod-managed-identities) + // for more information. + AllowNetworkPluginKubenet *bool `json:"allowNetworkPluginKubenet,omitempty"` + + // Enabled: Whether the pod identity addon is enabled. + Enabled *bool `json:"enabled,omitempty"` + + // UserAssignedIdentities: The pod identities to use in the cluster. + UserAssignedIdentities []ManagedClusterPodIdentity `json:"userAssignedIdentities"` + + // UserAssignedIdentityExceptions: The pod identity exceptions to allow. + UserAssignedIdentityExceptions []ManagedClusterPodIdentityException `json:"userAssignedIdentityExceptions"` +} + +type ManagedClusterProperties_AutoScalerProfile struct { + // BalanceSimilarNodeGroups: Valid values are 'true' and 'false' + BalanceSimilarNodeGroups *string `json:"balance-similar-node-groups,omitempty"` + + // DaemonsetEvictionForEmptyNodes: If set to true, all daemonset pods on empty nodes will be evicted before deletion of the + // node. If the daemonset pod cannot be evicted another node will be chosen for scaling. If set to false, the node will be + // deleted without ensuring that daemonset pods are deleted or evicted. + DaemonsetEvictionForEmptyNodes *bool `json:"daemonset-eviction-for-empty-nodes,omitempty"` + + // DaemonsetEvictionForOccupiedNodes: If set to true, all daemonset pods on occupied nodes will be evicted before deletion + // of the node. If the daemonset pod cannot be evicted another node will be chosen for scaling. If set to false, the node + // will be deleted without ensuring that daemonset pods are deleted or evicted. + DaemonsetEvictionForOccupiedNodes *bool `json:"daemonset-eviction-for-occupied-nodes,omitempty"` + + // Expander: If not specified, the default is 'random'. See + // [expanders](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md#what-are-expanders) for more + // information. + Expander *ManagedClusterProperties_AutoScalerProfile_Expander `json:"expander,omitempty"` + + // IgnoreDaemonsetsUtilization: If set to true, the resources used by daemonset will be taken into account when making + // scaling down decisions. + IgnoreDaemonsetsUtilization *bool `json:"ignore-daemonsets-utilization,omitempty"` + + // MaxEmptyBulkDelete: The default is 10. + MaxEmptyBulkDelete *string `json:"max-empty-bulk-delete,omitempty"` + + // MaxGracefulTerminationSec: The default is 600. + MaxGracefulTerminationSec *string `json:"max-graceful-termination-sec,omitempty"` + + // MaxNodeProvisionTime: The default is '15m'. Values must be an integer followed by an 'm'. No unit of time other than + // minutes (m) is supported. + MaxNodeProvisionTime *string `json:"max-node-provision-time,omitempty"` + + // MaxTotalUnreadyPercentage: The default is 45. The maximum is 100 and the minimum is 0. + MaxTotalUnreadyPercentage *string `json:"max-total-unready-percentage,omitempty"` + + // NewPodScaleUpDelay: For scenarios like burst/batch scale where you don't want CA to act before the kubernetes scheduler + // could schedule all the pods, you can tell CA to ignore unscheduled pods before they're a certain age. The default is + // '0s'. Values must be an integer followed by a unit ('s' for seconds, 'm' for minutes, 'h' for hours, etc). + NewPodScaleUpDelay *string `json:"new-pod-scale-up-delay,omitempty"` + + // OkTotalUnreadyCount: This must be an integer. The default is 3. + OkTotalUnreadyCount *string `json:"ok-total-unready-count,omitempty"` + + // ScaleDownDelayAfterAdd: The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than + // minutes (m) is supported. + ScaleDownDelayAfterAdd *string `json:"scale-down-delay-after-add,omitempty"` + + // ScaleDownDelayAfterDelete: The default is the scan-interval. Values must be an integer followed by an 'm'. No unit of + // time other than minutes (m) is supported. + ScaleDownDelayAfterDelete *string `json:"scale-down-delay-after-delete,omitempty"` + + // ScaleDownDelayAfterFailure: The default is '3m'. Values must be an integer followed by an 'm'. No unit of time other + // than minutes (m) is supported. + ScaleDownDelayAfterFailure *string `json:"scale-down-delay-after-failure,omitempty"` + + // ScaleDownUnneededTime: The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than + // minutes (m) is supported. + ScaleDownUnneededTime *string `json:"scale-down-unneeded-time,omitempty"` + + // ScaleDownUnreadyTime: The default is '20m'. Values must be an integer followed by an 'm'. No unit of time other than + // minutes (m) is supported. + ScaleDownUnreadyTime *string `json:"scale-down-unready-time,omitempty"` + + // ScaleDownUtilizationThreshold: The default is '0.5'. + ScaleDownUtilizationThreshold *string `json:"scale-down-utilization-threshold,omitempty"` + + // ScanInterval: The default is '10'. Values must be an integer number of seconds. + ScanInterval *string `json:"scan-interval,omitempty"` + + // SkipNodesWithLocalStorage: The default is true. + SkipNodesWithLocalStorage *string `json:"skip-nodes-with-local-storage,omitempty"` + + // SkipNodesWithSystemPods: The default is true. + SkipNodesWithSystemPods *string `json:"skip-nodes-with-system-pods,omitempty"` +} + +// +kubebuilder:validation:Enum={"Disabled","Enabled"} +type ManagedClusterProperties_PublicNetworkAccess string + +const ( + ManagedClusterProperties_PublicNetworkAccess_Disabled = ManagedClusterProperties_PublicNetworkAccess("Disabled") + ManagedClusterProperties_PublicNetworkAccess_Enabled = ManagedClusterProperties_PublicNetworkAccess("Enabled") +) + +// Mapping from string to ManagedClusterProperties_PublicNetworkAccess +var managedClusterProperties_PublicNetworkAccess_Values = map[string]ManagedClusterProperties_PublicNetworkAccess{ + "disabled": ManagedClusterProperties_PublicNetworkAccess_Disabled, + "enabled": ManagedClusterProperties_PublicNetworkAccess_Enabled, +} + +// Security profile for the container service cluster. +type ManagedClusterSecurityProfile struct { + // AzureKeyVaultKms: Azure Key Vault [key management + // service](https://kubernetes.io/docs/tasks/administer-cluster/kms-provider/) settings for the security profile. + AzureKeyVaultKms *AzureKeyVaultKms `json:"azureKeyVaultKms,omitempty"` + + // Defender: Microsoft Defender settings for the security profile. + Defender *ManagedClusterSecurityProfileDefender `json:"defender,omitempty"` + + // ImageCleaner: Image Cleaner settings for the security profile. + ImageCleaner *ManagedClusterSecurityProfileImageCleaner `json:"imageCleaner,omitempty"` + + // WorkloadIdentity: Workload identity settings for the security profile. Workload identity enables Kubernetes applications + // to access Azure cloud resources securely with Azure AD. See https://aka.ms/aks/wi for more details. + WorkloadIdentity *ManagedClusterSecurityProfileWorkloadIdentity `json:"workloadIdentity,omitempty"` +} + +// Information about a service principal identity for the cluster to use for manipulating Azure APIs. +type ManagedClusterServicePrincipalProfile struct { + // ClientId: The ID for the service principal. + ClientId *string `json:"clientId,omitempty"` + + // Secret: The secret password associated with the service principal in plain text. + Secret *string `json:"secret,omitempty"` +} + +// +kubebuilder:validation:Enum={"Base"} +type ManagedClusterSKU_Name string + +const ManagedClusterSKU_Name_Base = ManagedClusterSKU_Name("Base") + +// Mapping from string to ManagedClusterSKU_Name +var managedClusterSKU_Name_Values = map[string]ManagedClusterSKU_Name{ + "base": ManagedClusterSKU_Name_Base, +} + +// +kubebuilder:validation:Enum={"Free","Premium","Standard"} +type ManagedClusterSKU_Tier string + +const ( + ManagedClusterSKU_Tier_Free = ManagedClusterSKU_Tier("Free") + ManagedClusterSKU_Tier_Premium = ManagedClusterSKU_Tier("Premium") + ManagedClusterSKU_Tier_Standard = ManagedClusterSKU_Tier("Standard") +) + +// Mapping from string to ManagedClusterSKU_Tier +var managedClusterSKU_Tier_Values = map[string]ManagedClusterSKU_Tier{ + "free": ManagedClusterSKU_Tier_Free, + "premium": ManagedClusterSKU_Tier_Premium, + "standard": ManagedClusterSKU_Tier_Standard, +} + +// Storage profile for the container service cluster. +type ManagedClusterStorageProfile struct { + // BlobCSIDriver: AzureBlob CSI Driver settings for the storage profile. + BlobCSIDriver *ManagedClusterStorageProfileBlobCSIDriver `json:"blobCSIDriver,omitempty"` + + // DiskCSIDriver: AzureDisk CSI Driver settings for the storage profile. + DiskCSIDriver *ManagedClusterStorageProfileDiskCSIDriver `json:"diskCSIDriver,omitempty"` + + // FileCSIDriver: AzureFile CSI Driver settings for the storage profile. + FileCSIDriver *ManagedClusterStorageProfileFileCSIDriver `json:"fileCSIDriver,omitempty"` + + // SnapshotController: Snapshot Controller settings for the storage profile. + SnapshotController *ManagedClusterStorageProfileSnapshotController `json:"snapshotController,omitempty"` +} + +// Profile for Windows VMs in the managed cluster. +type ManagedClusterWindowsProfile struct { + // AdminPassword: Specifies the password of the administrator account. + // Minimum-length: 8 characters + // Max-length: 123 characters + // Complexity requirements: 3 out of 4 conditions below need to be fulfilled + // Has lower characters + // Has upper characters + // Has a digit + // Has a special character (Regex match [\W_]) + // Disallowed values: "abc@123", "P@$$w0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", + // "Password22", "iloveyou!" + AdminPassword *string `json:"adminPassword,omitempty"` + + // AdminUsername: Specifies the name of the administrator account. + // Restriction: Cannot end in "." + // Disallowed values: "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", + // "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", + // "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5". + // Minimum-length: 1 character + // Max-length: 20 characters + AdminUsername *string `json:"adminUsername,omitempty"` + + // EnableCSIProxy: For more details on CSI proxy, see the [CSI proxy GitHub + // repo](https://github.com/kubernetes-csi/csi-proxy). + EnableCSIProxy *bool `json:"enableCSIProxy,omitempty"` + + // GmsaProfile: The Windows gMSA Profile in the Managed Cluster. + GmsaProfile *WindowsGmsaProfile `json:"gmsaProfile,omitempty"` + + // LicenseType: The license type to use for Windows VMs. See [Azure Hybrid User + // Benefits](https://azure.microsoft.com/pricing/hybrid-benefit/faq/) for more details. + LicenseType *ManagedClusterWindowsProfile_LicenseType `json:"licenseType,omitempty"` +} + +// Workload Auto-scaler profile for the managed cluster. +type ManagedClusterWorkloadAutoScalerProfile struct { + // Keda: KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile. + Keda *ManagedClusterWorkloadAutoScalerProfileKeda `json:"keda,omitempty"` + + // VerticalPodAutoscaler: VPA (Vertical Pod Autoscaler) settings for the workload auto-scaler profile. + VerticalPodAutoscaler *ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler `json:"verticalPodAutoscaler,omitempty"` +} + +// A private link resource +type PrivateLinkResource struct { + // GroupId: The group ID of the resource. + GroupId *string `json:"groupId,omitempty"` + Id *string `json:"id,omitempty"` + + // Name: The name of the private link resource. + Name *string `json:"name,omitempty"` + + // RequiredMembers: The RequiredMembers of the resource + RequiredMembers []string `json:"requiredMembers"` + + // Type: The resource type. + Type *string `json:"type,omitempty"` +} + +// Service mesh profile for a managed cluster. +type ServiceMeshProfile struct { + // Istio: Istio service mesh configuration. + Istio *IstioServiceMesh `json:"istio,omitempty"` + + // Mode: Mode of the service mesh. + Mode *ServiceMeshProfile_Mode `json:"mode,omitempty"` +} + +// Details about a user assigned identity. +type UserAssignedIdentity struct { + // ClientId: The client ID of the user assigned identity. + ClientId *string `json:"clientId,omitempty"` + + // ObjectId: The object ID of the user assigned identity. + ObjectId *string `json:"objectId,omitempty"` + ResourceId *string `json:"resourceId,omitempty"` +} + +// Information about the user assigned identity for the resource +type UserAssignedIdentityDetails struct { +} + +// Advanced Networking profile for enabling observability and security feature suite on a cluster. For more information see +// aka.ms/aksadvancednetworking. +type AdvancedNetworking struct { + // Enabled: Indicates the enablement of Advanced Networking functionalities of observability and security on AKS clusters. + // When this is set to true, all observability and security features will be set to enabled unless explicitly disabled. If + // not specified, the default is false. + Enabled *bool `json:"enabled,omitempty"` + + // Observability: Observability profile to enable advanced network metrics and flow logs with historical contexts. + Observability *AdvancedNetworkingObservability `json:"observability,omitempty"` + + // Security: Security profile to enable security features on cilium based cluster. + Security *AdvancedNetworkingSecurity `json:"security,omitempty"` +} + +// Azure Key Vault key management service settings for the security profile. +type AzureKeyVaultKms struct { + // Enabled: Whether to enable Azure Key Vault key management service. The default is false. + Enabled *bool `json:"enabled,omitempty"` + + // KeyId: Identifier of Azure Key Vault key. See [key identifier + // format](https://docs.microsoft.com/en-us/azure/key-vault/general/about-keys-secrets-certificates#vault-name-and-object-name) + // for more details. When Azure Key Vault key management service is enabled, this field is required and must be a valid key + // identifier. When Azure Key Vault key management service is disabled, leave the field empty. + KeyId *string `json:"keyId,omitempty"` + + // KeyVaultNetworkAccess: Network access of key vault. The possible values are `Public` and `Private`. `Public` means the + // key vault allows public access from all networks. `Private` means the key vault disables public access and enables + // private link. The default value is `Public`. + KeyVaultNetworkAccess *AzureKeyVaultKms_KeyVaultNetworkAccess `json:"keyVaultNetworkAccess,omitempty"` + KeyVaultResourceId *string `json:"keyVaultResourceId,omitempty"` +} + +// +kubebuilder:validation:Enum={"IPv4","IPv6"} +type ContainerServiceNetworkProfile_IpFamilies string + +const ( + ContainerServiceNetworkProfile_IpFamilies_IPv4 = ContainerServiceNetworkProfile_IpFamilies("IPv4") + ContainerServiceNetworkProfile_IpFamilies_IPv6 = ContainerServiceNetworkProfile_IpFamilies("IPv6") +) + +// Mapping from string to ContainerServiceNetworkProfile_IpFamilies +var containerServiceNetworkProfile_IpFamilies_Values = map[string]ContainerServiceNetworkProfile_IpFamilies{ + "ipv4": ContainerServiceNetworkProfile_IpFamilies_IPv4, + "ipv6": ContainerServiceNetworkProfile_IpFamilies_IPv6, +} + +// +kubebuilder:validation:Enum={"basic","standard"} +type ContainerServiceNetworkProfile_LoadBalancerSku string + +const ( + ContainerServiceNetworkProfile_LoadBalancerSku_Basic = ContainerServiceNetworkProfile_LoadBalancerSku("basic") + ContainerServiceNetworkProfile_LoadBalancerSku_Standard = ContainerServiceNetworkProfile_LoadBalancerSku("standard") +) + +// Mapping from string to ContainerServiceNetworkProfile_LoadBalancerSku +var containerServiceNetworkProfile_LoadBalancerSku_Values = map[string]ContainerServiceNetworkProfile_LoadBalancerSku{ + "basic": ContainerServiceNetworkProfile_LoadBalancerSku_Basic, + "standard": ContainerServiceNetworkProfile_LoadBalancerSku_Standard, +} + +// +kubebuilder:validation:Enum={"azure","cilium"} +type ContainerServiceNetworkProfile_NetworkDataplane string + +const ( + ContainerServiceNetworkProfile_NetworkDataplane_Azure = ContainerServiceNetworkProfile_NetworkDataplane("azure") + ContainerServiceNetworkProfile_NetworkDataplane_Cilium = ContainerServiceNetworkProfile_NetworkDataplane("cilium") +) + +// Mapping from string to ContainerServiceNetworkProfile_NetworkDataplane +var containerServiceNetworkProfile_NetworkDataplane_Values = map[string]ContainerServiceNetworkProfile_NetworkDataplane{ + "azure": ContainerServiceNetworkProfile_NetworkDataplane_Azure, + "cilium": ContainerServiceNetworkProfile_NetworkDataplane_Cilium, +} + +// +kubebuilder:validation:Enum={"bridge","transparent"} +type ContainerServiceNetworkProfile_NetworkMode string + +const ( + ContainerServiceNetworkProfile_NetworkMode_Bridge = ContainerServiceNetworkProfile_NetworkMode("bridge") + ContainerServiceNetworkProfile_NetworkMode_Transparent = ContainerServiceNetworkProfile_NetworkMode("transparent") +) + +// Mapping from string to ContainerServiceNetworkProfile_NetworkMode +var containerServiceNetworkProfile_NetworkMode_Values = map[string]ContainerServiceNetworkProfile_NetworkMode{ + "bridge": ContainerServiceNetworkProfile_NetworkMode_Bridge, + "transparent": ContainerServiceNetworkProfile_NetworkMode_Transparent, +} + +// +kubebuilder:validation:Enum={"azure","kubenet","none"} +type ContainerServiceNetworkProfile_NetworkPlugin string + +const ( + ContainerServiceNetworkProfile_NetworkPlugin_Azure = ContainerServiceNetworkProfile_NetworkPlugin("azure") + ContainerServiceNetworkProfile_NetworkPlugin_Kubenet = ContainerServiceNetworkProfile_NetworkPlugin("kubenet") + ContainerServiceNetworkProfile_NetworkPlugin_None = ContainerServiceNetworkProfile_NetworkPlugin("none") +) + +// Mapping from string to ContainerServiceNetworkProfile_NetworkPlugin +var containerServiceNetworkProfile_NetworkPlugin_Values = map[string]ContainerServiceNetworkProfile_NetworkPlugin{ + "azure": ContainerServiceNetworkProfile_NetworkPlugin_Azure, + "kubenet": ContainerServiceNetworkProfile_NetworkPlugin_Kubenet, + "none": ContainerServiceNetworkProfile_NetworkPlugin_None, +} + +// +kubebuilder:validation:Enum={"overlay"} +type ContainerServiceNetworkProfile_NetworkPluginMode string + +const ContainerServiceNetworkProfile_NetworkPluginMode_Overlay = ContainerServiceNetworkProfile_NetworkPluginMode("overlay") + +// Mapping from string to ContainerServiceNetworkProfile_NetworkPluginMode +var containerServiceNetworkProfile_NetworkPluginMode_Values = map[string]ContainerServiceNetworkProfile_NetworkPluginMode{ + "overlay": ContainerServiceNetworkProfile_NetworkPluginMode_Overlay, +} + +// +kubebuilder:validation:Enum={"azure","calico","cilium","none"} +type ContainerServiceNetworkProfile_NetworkPolicy string + +const ( + ContainerServiceNetworkProfile_NetworkPolicy_Azure = ContainerServiceNetworkProfile_NetworkPolicy("azure") + ContainerServiceNetworkProfile_NetworkPolicy_Calico = ContainerServiceNetworkProfile_NetworkPolicy("calico") + ContainerServiceNetworkProfile_NetworkPolicy_Cilium = ContainerServiceNetworkProfile_NetworkPolicy("cilium") + ContainerServiceNetworkProfile_NetworkPolicy_None = ContainerServiceNetworkProfile_NetworkPolicy("none") +) + +// Mapping from string to ContainerServiceNetworkProfile_NetworkPolicy +var containerServiceNetworkProfile_NetworkPolicy_Values = map[string]ContainerServiceNetworkProfile_NetworkPolicy{ + "azure": ContainerServiceNetworkProfile_NetworkPolicy_Azure, + "calico": ContainerServiceNetworkProfile_NetworkPolicy_Calico, + "cilium": ContainerServiceNetworkProfile_NetworkPolicy_Cilium, + "none": ContainerServiceNetworkProfile_NetworkPolicy_None, +} + +// +kubebuilder:validation:Enum={"loadBalancer","managedNATGateway","userAssignedNATGateway","userDefinedRouting"} +type ContainerServiceNetworkProfile_OutboundType string + +const ( + ContainerServiceNetworkProfile_OutboundType_LoadBalancer = ContainerServiceNetworkProfile_OutboundType("loadBalancer") + ContainerServiceNetworkProfile_OutboundType_ManagedNATGateway = ContainerServiceNetworkProfile_OutboundType("managedNATGateway") + ContainerServiceNetworkProfile_OutboundType_UserAssignedNATGateway = ContainerServiceNetworkProfile_OutboundType("userAssignedNATGateway") + ContainerServiceNetworkProfile_OutboundType_UserDefinedRouting = ContainerServiceNetworkProfile_OutboundType("userDefinedRouting") +) + +// Mapping from string to ContainerServiceNetworkProfile_OutboundType +var containerServiceNetworkProfile_OutboundType_Values = map[string]ContainerServiceNetworkProfile_OutboundType{ + "loadbalancer": ContainerServiceNetworkProfile_OutboundType_LoadBalancer, + "managednatgateway": ContainerServiceNetworkProfile_OutboundType_ManagedNATGateway, + "userassignednatgateway": ContainerServiceNetworkProfile_OutboundType_UserAssignedNATGateway, + "userdefinedrouting": ContainerServiceNetworkProfile_OutboundType_UserDefinedRouting, +} + +// SSH configuration for Linux-based VMs running on Azure. +type ContainerServiceSshConfiguration struct { + // PublicKeys: The list of SSH public keys used to authenticate with Linux-based VMs. A maximum of 1 key may be specified. + PublicKeys []ContainerServiceSshPublicKey `json:"publicKeys"` +} + +// Istio service mesh configuration. +type IstioServiceMesh struct { + // CertificateAuthority: Istio Service Mesh Certificate Authority (CA) configuration. For now, we only support plugin + // certificates as described here https://aka.ms/asm-plugin-ca + CertificateAuthority *IstioCertificateAuthority `json:"certificateAuthority,omitempty"` + + // Components: Istio components configuration. + Components *IstioComponents `json:"components,omitempty"` + + // Revisions: The list of revisions of the Istio control plane. When an upgrade is not in progress, this holds one value. + // When canary upgrade is in progress, this can only hold two consecutive values. For more information, see: + // https://learn.microsoft.com/en-us/azure/aks/istio-upgrade + Revisions []string `json:"revisions"` +} + +// +kubebuilder:validation:Enum={"NodeImage","None","SecurityPatch","Unmanaged"} +type ManagedClusterAutoUpgradeProfile_NodeOSUpgradeChannel string + +const ( + ManagedClusterAutoUpgradeProfile_NodeOSUpgradeChannel_NodeImage = ManagedClusterAutoUpgradeProfile_NodeOSUpgradeChannel("NodeImage") + ManagedClusterAutoUpgradeProfile_NodeOSUpgradeChannel_None = ManagedClusterAutoUpgradeProfile_NodeOSUpgradeChannel("None") + ManagedClusterAutoUpgradeProfile_NodeOSUpgradeChannel_SecurityPatch = ManagedClusterAutoUpgradeProfile_NodeOSUpgradeChannel("SecurityPatch") + ManagedClusterAutoUpgradeProfile_NodeOSUpgradeChannel_Unmanaged = ManagedClusterAutoUpgradeProfile_NodeOSUpgradeChannel("Unmanaged") +) + +// Mapping from string to ManagedClusterAutoUpgradeProfile_NodeOSUpgradeChannel +var managedClusterAutoUpgradeProfile_NodeOSUpgradeChannel_Values = map[string]ManagedClusterAutoUpgradeProfile_NodeOSUpgradeChannel{ + "nodeimage": ManagedClusterAutoUpgradeProfile_NodeOSUpgradeChannel_NodeImage, + "none": ManagedClusterAutoUpgradeProfile_NodeOSUpgradeChannel_None, + "securitypatch": ManagedClusterAutoUpgradeProfile_NodeOSUpgradeChannel_SecurityPatch, + "unmanaged": ManagedClusterAutoUpgradeProfile_NodeOSUpgradeChannel_Unmanaged, +} + +// +kubebuilder:validation:Enum={"node-image","none","patch","rapid","stable"} +type ManagedClusterAutoUpgradeProfile_UpgradeChannel string + +const ( + ManagedClusterAutoUpgradeProfile_UpgradeChannel_NodeImage = ManagedClusterAutoUpgradeProfile_UpgradeChannel("node-image") + ManagedClusterAutoUpgradeProfile_UpgradeChannel_None = ManagedClusterAutoUpgradeProfile_UpgradeChannel("none") + ManagedClusterAutoUpgradeProfile_UpgradeChannel_Patch = ManagedClusterAutoUpgradeProfile_UpgradeChannel("patch") + ManagedClusterAutoUpgradeProfile_UpgradeChannel_Rapid = ManagedClusterAutoUpgradeProfile_UpgradeChannel("rapid") + ManagedClusterAutoUpgradeProfile_UpgradeChannel_Stable = ManagedClusterAutoUpgradeProfile_UpgradeChannel("stable") +) + +// Mapping from string to ManagedClusterAutoUpgradeProfile_UpgradeChannel +var managedClusterAutoUpgradeProfile_UpgradeChannel_Values = map[string]ManagedClusterAutoUpgradeProfile_UpgradeChannel{ + "node-image": ManagedClusterAutoUpgradeProfile_UpgradeChannel_NodeImage, + "none": ManagedClusterAutoUpgradeProfile_UpgradeChannel_None, + "patch": ManagedClusterAutoUpgradeProfile_UpgradeChannel_Patch, + "rapid": ManagedClusterAutoUpgradeProfile_UpgradeChannel_Rapid, + "stable": ManagedClusterAutoUpgradeProfile_UpgradeChannel_Stable, +} + +// Metrics profile for the Azure Monitor managed service for Prometheus addon. Collect out-of-the-box Kubernetes +// infrastructure metrics to send to an Azure Monitor Workspace and configure additional scraping for custom targets. See +// aka.ms/AzureManagedPrometheus for an overview. +type ManagedClusterAzureMonitorProfileMetrics struct { + // Enabled: Whether to enable or disable the Azure Managed Prometheus addon for Prometheus monitoring. See + // aka.ms/AzureManagedPrometheus-aks-enable for details on enabling and disabling. + Enabled *bool `json:"enabled,omitempty"` + + // KubeStateMetrics: Kube State Metrics profile for the Azure Managed Prometheus addon. These optional settings are for the + // kube-state-metrics pod that is deployed with the addon. See aka.ms/AzureManagedPrometheus-optional-parameters for + // details. + KubeStateMetrics *ManagedClusterAzureMonitorProfileKubeStateMetrics `json:"kubeStateMetrics,omitempty"` +} + +// The cost analysis configuration for the cluster +type ManagedClusterCostAnalysis struct { + // Enabled: The Managed Cluster sku.tier must be set to 'Standard' or 'Premium' to enable this feature. Enabling this will + // add Kubernetes Namespace and Deployment details to the Cost Analysis views in the Azure portal. If not specified, the + // default is false. For more information see aka.ms/aks/docs/cost-analysis. + Enabled *bool `json:"enabled,omitempty"` +} + +// Application Routing add-on settings for the ingress profile. +type ManagedClusterIngressProfileWebAppRouting struct { + DnsZoneResourceIds []string `json:"dnsZoneResourceIds,omitempty"` + + // Enabled: Whether to enable the Application Routing add-on. + Enabled *bool `json:"enabled,omitempty"` +} + +// Profile of the managed cluster load balancer. +type ManagedClusterLoadBalancerProfile struct { + // AllocatedOutboundPorts: The desired number of allocated SNAT ports per VM. Allowed values are in the range of 0 to 64000 + // (inclusive). The default value is 0 which results in Azure dynamically allocating ports. + AllocatedOutboundPorts *int `json:"allocatedOutboundPorts,omitempty"` + + // BackendPoolType: The type of the managed inbound Load Balancer BackendPool. + BackendPoolType *ManagedClusterLoadBalancerProfile_BackendPoolType `json:"backendPoolType,omitempty"` + + // EffectiveOutboundIPs: The effective outbound IP resources of the cluster load balancer. + EffectiveOutboundIPs []ResourceReference `json:"effectiveOutboundIPs"` + + // EnableMultipleStandardLoadBalancers: Enable multiple standard load balancers per AKS cluster or not. + EnableMultipleStandardLoadBalancers *bool `json:"enableMultipleStandardLoadBalancers,omitempty"` + + // IdleTimeoutInMinutes: Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 + // (inclusive). The default value is 30 minutes. + IdleTimeoutInMinutes *int `json:"idleTimeoutInMinutes,omitempty"` + + // ManagedOutboundIPs: Desired managed outbound IPs for the cluster load balancer. + ManagedOutboundIPs *ManagedClusterLoadBalancerProfile_ManagedOutboundIPs `json:"managedOutboundIPs,omitempty"` + + // OutboundIPPrefixes: Desired outbound IP Prefix resources for the cluster load balancer. + OutboundIPPrefixes *ManagedClusterLoadBalancerProfile_OutboundIPPrefixes `json:"outboundIPPrefixes,omitempty"` + + // OutboundIPs: Desired outbound IP resources for the cluster load balancer. + OutboundIPs *ManagedClusterLoadBalancerProfile_OutboundIPs `json:"outboundIPs,omitempty"` +} + +// Profile of the managed cluster NAT gateway. +type ManagedClusterNATGatewayProfile struct { + // EffectiveOutboundIPs: The effective outbound IP resources of the cluster NAT gateway. + EffectiveOutboundIPs []ResourceReference `json:"effectiveOutboundIPs"` + + // IdleTimeoutInMinutes: Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 + // (inclusive). The default value is 4 minutes. + IdleTimeoutInMinutes *int `json:"idleTimeoutInMinutes,omitempty"` + + // ManagedOutboundIPProfile: Profile of the managed outbound IP resources of the cluster NAT gateway. + ManagedOutboundIPProfile *ManagedClusterManagedOutboundIPProfile `json:"managedOutboundIPProfile,omitempty"` +} + +// +kubebuilder:validation:Enum={"ReadOnly","Unrestricted"} +type ManagedClusterNodeResourceGroupProfile_RestrictionLevel string + +const ( + ManagedClusterNodeResourceGroupProfile_RestrictionLevel_ReadOnly = ManagedClusterNodeResourceGroupProfile_RestrictionLevel("ReadOnly") + ManagedClusterNodeResourceGroupProfile_RestrictionLevel_Unrestricted = ManagedClusterNodeResourceGroupProfile_RestrictionLevel("Unrestricted") +) + +// Mapping from string to ManagedClusterNodeResourceGroupProfile_RestrictionLevel +var managedClusterNodeResourceGroupProfile_RestrictionLevel_Values = map[string]ManagedClusterNodeResourceGroupProfile_RestrictionLevel{ + "readonly": ManagedClusterNodeResourceGroupProfile_RestrictionLevel_ReadOnly, + "unrestricted": ManagedClusterNodeResourceGroupProfile_RestrictionLevel_Unrestricted, +} + +// Details about the pod identity assigned to the Managed Cluster. +type ManagedClusterPodIdentity struct { + // BindingSelector: The binding selector to use for the AzureIdentityBinding resource. + BindingSelector *string `json:"bindingSelector,omitempty"` + + // Identity: The user assigned identity details. + Identity *UserAssignedIdentity `json:"identity,omitempty"` + + // Name: The name of the pod identity. + Name *string `json:"name,omitempty"` + + // Namespace: The namespace of the pod identity. + Namespace *string `json:"namespace,omitempty"` +} + +// See [disable AAD Pod Identity for a specific +// Pod/Application](https://azure.github.io/aad-pod-identity/docs/configure/application_exception/) for more details. +type ManagedClusterPodIdentityException struct { + // Name: The name of the pod identity exception. + Name *string `json:"name,omitempty"` + + // Namespace: The namespace of the pod identity exception. + Namespace *string `json:"namespace,omitempty"` + + // PodLabels: The pod labels to match. + PodLabels map[string]string `json:"podLabels"` +} + +// +kubebuilder:validation:Enum={"least-waste","most-pods","priority","random"} +type ManagedClusterProperties_AutoScalerProfile_Expander string + +const ( + ManagedClusterProperties_AutoScalerProfile_Expander_LeastWaste = ManagedClusterProperties_AutoScalerProfile_Expander("least-waste") + ManagedClusterProperties_AutoScalerProfile_Expander_MostPods = ManagedClusterProperties_AutoScalerProfile_Expander("most-pods") + ManagedClusterProperties_AutoScalerProfile_Expander_Priority = ManagedClusterProperties_AutoScalerProfile_Expander("priority") + ManagedClusterProperties_AutoScalerProfile_Expander_Random = ManagedClusterProperties_AutoScalerProfile_Expander("random") +) + +// Mapping from string to ManagedClusterProperties_AutoScalerProfile_Expander +var managedClusterProperties_AutoScalerProfile_Expander_Values = map[string]ManagedClusterProperties_AutoScalerProfile_Expander{ + "least-waste": ManagedClusterProperties_AutoScalerProfile_Expander_LeastWaste, + "most-pods": ManagedClusterProperties_AutoScalerProfile_Expander_MostPods, + "priority": ManagedClusterProperties_AutoScalerProfile_Expander_Priority, + "random": ManagedClusterProperties_AutoScalerProfile_Expander_Random, +} + +// Microsoft Defender settings for the security profile. +type ManagedClusterSecurityProfileDefender struct { + LogAnalyticsWorkspaceResourceId *string `json:"logAnalyticsWorkspaceResourceId,omitempty"` + + // SecurityMonitoring: Microsoft Defender threat detection for Cloud settings for the security profile. + SecurityMonitoring *ManagedClusterSecurityProfileDefenderSecurityMonitoring `json:"securityMonitoring,omitempty"` +} + +// Image Cleaner removes unused images from nodes, freeing up disk space and helping to reduce attack surface area. Here +// are settings for the security profile. +type ManagedClusterSecurityProfileImageCleaner struct { + // Enabled: Whether to enable Image Cleaner on AKS cluster. + Enabled *bool `json:"enabled,omitempty"` + + // IntervalHours: Image Cleaner scanning interval in hours. + IntervalHours *int `json:"intervalHours,omitempty"` +} + +// Workload identity settings for the security profile. +type ManagedClusterSecurityProfileWorkloadIdentity struct { + // Enabled: Whether to enable workload identity. + Enabled *bool `json:"enabled,omitempty"` +} + +// AzureBlob CSI Driver settings for the storage profile. +type ManagedClusterStorageProfileBlobCSIDriver struct { + // Enabled: Whether to enable AzureBlob CSI Driver. The default value is false. + Enabled *bool `json:"enabled,omitempty"` +} + +// AzureDisk CSI Driver settings for the storage profile. +type ManagedClusterStorageProfileDiskCSIDriver struct { + // Enabled: Whether to enable AzureDisk CSI Driver. The default value is true. + Enabled *bool `json:"enabled,omitempty"` +} + +// AzureFile CSI Driver settings for the storage profile. +type ManagedClusterStorageProfileFileCSIDriver struct { + // Enabled: Whether to enable AzureFile CSI Driver. The default value is true. + Enabled *bool `json:"enabled,omitempty"` +} + +// Snapshot Controller settings for the storage profile. +type ManagedClusterStorageProfileSnapshotController struct { + // Enabled: Whether to enable Snapshot Controller. The default value is true. + Enabled *bool `json:"enabled,omitempty"` +} + +// +kubebuilder:validation:Enum={"None","Windows_Server"} +type ManagedClusterWindowsProfile_LicenseType string + +const ( + ManagedClusterWindowsProfile_LicenseType_None = ManagedClusterWindowsProfile_LicenseType("None") + ManagedClusterWindowsProfile_LicenseType_Windows_Server = ManagedClusterWindowsProfile_LicenseType("Windows_Server") +) + +// Mapping from string to ManagedClusterWindowsProfile_LicenseType +var managedClusterWindowsProfile_LicenseType_Values = map[string]ManagedClusterWindowsProfile_LicenseType{ + "none": ManagedClusterWindowsProfile_LicenseType_None, + "windows_server": ManagedClusterWindowsProfile_LicenseType_Windows_Server, +} + +// KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile. +type ManagedClusterWorkloadAutoScalerProfileKeda struct { + // Enabled: Whether to enable KEDA. + Enabled *bool `json:"enabled,omitempty"` +} + +// VPA (Vertical Pod Autoscaler) settings for the workload auto-scaler profile. +type ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler struct { + // Enabled: Whether to enable VPA. Default value is false. + Enabled *bool `json:"enabled,omitempty"` +} + +// +kubebuilder:validation:Enum={"Disabled","Istio"} +type ServiceMeshProfile_Mode string + +const ( + ServiceMeshProfile_Mode_Disabled = ServiceMeshProfile_Mode("Disabled") + ServiceMeshProfile_Mode_Istio = ServiceMeshProfile_Mode("Istio") +) + +// Mapping from string to ServiceMeshProfile_Mode +var serviceMeshProfile_Mode_Values = map[string]ServiceMeshProfile_Mode{ + "disabled": ServiceMeshProfile_Mode_Disabled, + "istio": ServiceMeshProfile_Mode_Istio, +} + +// Settings for overrides when upgrading a cluster. +type UpgradeOverrideSettings struct { + // ForceUpgrade: Whether to force upgrade the cluster. Note that this option instructs upgrade operation to bypass upgrade + // protections such as checking for deprecated API usage. Enable this option only with caution. + ForceUpgrade *bool `json:"forceUpgrade,omitempty"` + + // Until: Until when the overrides are effective. Note that this only matches the start time of an upgrade, and the + // effectiveness won't change once an upgrade starts even if the `until` expires as upgrade proceeds. This field is not set + // by default. It must be set for the overrides to take effect. + Until *string `json:"until,omitempty"` +} + +// Windows gMSA Profile in the managed cluster. +type WindowsGmsaProfile struct { + // DnsServer: Specifies the DNS server for Windows gMSA. + // Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster. + DnsServer *string `json:"dnsServer,omitempty"` + + // Enabled: Specifies whether to enable Windows gMSA in the managed cluster. + Enabled *bool `json:"enabled,omitempty"` + + // RootDomainName: Specifies the root domain name for Windows gMSA. + // Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster. + RootDomainName *string `json:"rootDomainName,omitempty"` +} + +// Observability profile to enable advanced network metrics and flow logs with historical contexts. +type AdvancedNetworkingObservability struct { + // Enabled: Indicates the enablement of Advanced Networking observability functionalities on clusters. + Enabled *bool `json:"enabled,omitempty"` +} + +// Security profile to enable security features on cilium based cluster. +type AdvancedNetworkingSecurity struct { + // Enabled: This feature allows user to configure network policy based on DNS (FQDN) names. It can be enabled only on + // cilium based clusters. If not specified, the default is false. + Enabled *bool `json:"enabled,omitempty"` +} + +// +kubebuilder:validation:Enum={"Private","Public"} +type AzureKeyVaultKms_KeyVaultNetworkAccess string + +const ( + AzureKeyVaultKms_KeyVaultNetworkAccess_Private = AzureKeyVaultKms_KeyVaultNetworkAccess("Private") + AzureKeyVaultKms_KeyVaultNetworkAccess_Public = AzureKeyVaultKms_KeyVaultNetworkAccess("Public") +) + +// Mapping from string to AzureKeyVaultKms_KeyVaultNetworkAccess +var azureKeyVaultKms_KeyVaultNetworkAccess_Values = map[string]AzureKeyVaultKms_KeyVaultNetworkAccess{ + "private": AzureKeyVaultKms_KeyVaultNetworkAccess_Private, + "public": AzureKeyVaultKms_KeyVaultNetworkAccess_Public, +} + +// Contains information about SSH certificate public key data. +type ContainerServiceSshPublicKey struct { + // KeyData: Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or + // without headers. + KeyData *string `json:"keyData,omitempty"` +} + +// Istio Service Mesh Certificate Authority (CA) configuration. For now, we only support plugin certificates as described +// here https://aka.ms/asm-plugin-ca +type IstioCertificateAuthority struct { + // Plugin: Plugin certificates information for Service Mesh. + Plugin *IstioPluginCertificateAuthority `json:"plugin,omitempty"` +} + +// Istio components configuration. +type IstioComponents struct { + // EgressGateways: Istio egress gateways. + EgressGateways []IstioEgressGateway `json:"egressGateways"` + + // IngressGateways: Istio ingress gateways. + IngressGateways []IstioIngressGateway `json:"ingressGateways"` +} + +// Kube State Metrics profile for the Azure Managed Prometheus addon. These optional settings are for the +// kube-state-metrics pod that is deployed with the addon. See aka.ms/AzureManagedPrometheus-optional-parameters for +// details. +type ManagedClusterAzureMonitorProfileKubeStateMetrics struct { + // MetricAnnotationsAllowList: Comma-separated list of Kubernetes annotation keys that will be used in the resource's + // labels metric (Example: 'namespaces=[kubernetes.io/team,...],pods=[kubernetes.io/team],...'). By default the metric + // contains only resource name and namespace labels. + MetricAnnotationsAllowList *string `json:"metricAnnotationsAllowList,omitempty"` + + // MetricLabelsAllowlist: Comma-separated list of additional Kubernetes label keys that will be used in the resource's + // labels metric (Example: 'namespaces=[k8s-label-1,k8s-label-n,...],pods=[app],...'). By default the metric contains only + // resource name and namespace labels. + MetricLabelsAllowlist *string `json:"metricLabelsAllowlist,omitempty"` +} + +// +kubebuilder:validation:Enum={"NodeIP","NodeIPConfiguration"} +type ManagedClusterLoadBalancerProfile_BackendPoolType string + +const ( + ManagedClusterLoadBalancerProfile_BackendPoolType_NodeIP = ManagedClusterLoadBalancerProfile_BackendPoolType("NodeIP") + ManagedClusterLoadBalancerProfile_BackendPoolType_NodeIPConfiguration = ManagedClusterLoadBalancerProfile_BackendPoolType("NodeIPConfiguration") +) + +// Mapping from string to ManagedClusterLoadBalancerProfile_BackendPoolType +var managedClusterLoadBalancerProfile_BackendPoolType_Values = map[string]ManagedClusterLoadBalancerProfile_BackendPoolType{ + "nodeip": ManagedClusterLoadBalancerProfile_BackendPoolType_NodeIP, + "nodeipconfiguration": ManagedClusterLoadBalancerProfile_BackendPoolType_NodeIPConfiguration, +} + +type ManagedClusterLoadBalancerProfile_ManagedOutboundIPs struct { + // Count: The desired number of IPv4 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values + // must be in the range of 1 to 100 (inclusive). The default value is 1. + Count *int `json:"count,omitempty"` + + // CountIPv6: The desired number of IPv6 outbound IPs created/managed by Azure for the cluster load balancer. Allowed + // values must be in the range of 1 to 100 (inclusive). The default value is 0 for single-stack and 1 for dual-stack. + CountIPv6 *int `json:"countIPv6,omitempty"` +} + +type ManagedClusterLoadBalancerProfile_OutboundIPPrefixes struct { + // PublicIPPrefixes: A list of public IP prefix resources. + PublicIPPrefixes []ResourceReference `json:"publicIPPrefixes"` +} + +type ManagedClusterLoadBalancerProfile_OutboundIPs struct { + // PublicIPs: A list of public IP resources. + PublicIPs []ResourceReference `json:"publicIPs"` +} + +// Profile of the managed outbound IP resources of the managed cluster. +type ManagedClusterManagedOutboundIPProfile struct { + // Count: The desired number of outbound IPs created/managed by Azure. Allowed values must be in the range of 1 to 16 + // (inclusive). The default value is 1. + Count *int `json:"count,omitempty"` +} + +// Microsoft Defender settings for the security profile threat detection. +type ManagedClusterSecurityProfileDefenderSecurityMonitoring struct { + // Enabled: Whether to enable Defender threat detection + Enabled *bool `json:"enabled,omitempty"` +} + +// A reference to an Azure resource. +type ResourceReference struct { + Id *string `json:"id,omitempty"` +} + +// Istio egress gateway configuration. +type IstioEgressGateway struct { + // Enabled: Whether to enable the egress gateway. + Enabled *bool `json:"enabled,omitempty"` +} + +// Istio ingress gateway configuration. For now, we support up to one external ingress gateway named +// `aks-istio-ingressgateway-external` and one internal ingress gateway named `aks-istio-ingressgateway-internal`. +type IstioIngressGateway struct { + // Enabled: Whether to enable the ingress gateway. + Enabled *bool `json:"enabled,omitempty"` + + // Mode: Mode of an ingress gateway. + Mode *IstioIngressGateway_Mode `json:"mode,omitempty"` +} + +// Plugin certificates information for Service Mesh. +type IstioPluginCertificateAuthority struct { + // CertChainObjectName: Certificate chain object name in Azure Key Vault. + CertChainObjectName *string `json:"certChainObjectName,omitempty"` + + // CertObjectName: Intermediate certificate object name in Azure Key Vault. + CertObjectName *string `json:"certObjectName,omitempty"` + + // KeyObjectName: Intermediate certificate private key object name in Azure Key Vault. + KeyObjectName *string `json:"keyObjectName,omitempty"` + KeyVaultId *string `json:"keyVaultId,omitempty"` + + // RootCertObjectName: Root certificate object name in Azure Key Vault. + RootCertObjectName *string `json:"rootCertObjectName,omitempty"` +} + +// +kubebuilder:validation:Enum={"External","Internal"} +type IstioIngressGateway_Mode string + +const ( + IstioIngressGateway_Mode_External = IstioIngressGateway_Mode("External") + IstioIngressGateway_Mode_Internal = IstioIngressGateway_Mode("Internal") +) + +// Mapping from string to IstioIngressGateway_Mode +var istioIngressGateway_Mode_Values = map[string]IstioIngressGateway_Mode{ + "external": IstioIngressGateway_Mode_External, + "internal": IstioIngressGateway_Mode_Internal, +} diff --git a/v2/api/containerservice/v1api20240901/arm/managed_cluster_spec_types_gen_test.go b/v2/api/containerservice/v1api20240901/arm/managed_cluster_spec_types_gen_test.go new file mode 100644 index 00000000000..edcb0a4c04f --- /dev/null +++ b/v2/api/containerservice/v1api20240901/arm/managed_cluster_spec_types_gen_test.go @@ -0,0 +1,4602 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package arm + +import ( + "encoding/json" + "github.com/google/go-cmp/cmp" + "github.com/google/go-cmp/cmp/cmpopts" + "github.com/kr/pretty" + "github.com/kylelemons/godebug/diff" + "github.com/leanovate/gopter" + "github.com/leanovate/gopter/gen" + "github.com/leanovate/gopter/prop" + "os" + "reflect" + "testing" +) + +func Test_AdvancedNetworking_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of AdvancedNetworking via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAdvancedNetworking, AdvancedNetworkingGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAdvancedNetworking runs a test to see if a specific instance of AdvancedNetworking round trips to JSON and back losslessly +func RunJSONSerializationTestForAdvancedNetworking(subject AdvancedNetworking) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AdvancedNetworking + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of AdvancedNetworking instances for property testing - lazily instantiated by AdvancedNetworkingGenerator() +var advancedNetworkingGenerator gopter.Gen + +// AdvancedNetworkingGenerator returns a generator of AdvancedNetworking instances for property testing. +// We first initialize advancedNetworkingGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func AdvancedNetworkingGenerator() gopter.Gen { + if advancedNetworkingGenerator != nil { + return advancedNetworkingGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAdvancedNetworking(generators) + advancedNetworkingGenerator = gen.Struct(reflect.TypeOf(AdvancedNetworking{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAdvancedNetworking(generators) + AddRelatedPropertyGeneratorsForAdvancedNetworking(generators) + advancedNetworkingGenerator = gen.Struct(reflect.TypeOf(AdvancedNetworking{}), generators) + + return advancedNetworkingGenerator +} + +// AddIndependentPropertyGeneratorsForAdvancedNetworking is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAdvancedNetworking(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +// AddRelatedPropertyGeneratorsForAdvancedNetworking is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForAdvancedNetworking(gens map[string]gopter.Gen) { + gens["Observability"] = gen.PtrOf(AdvancedNetworkingObservabilityGenerator()) + gens["Security"] = gen.PtrOf(AdvancedNetworkingSecurityGenerator()) +} + +func Test_AdvancedNetworkingObservability_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of AdvancedNetworkingObservability via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAdvancedNetworkingObservability, AdvancedNetworkingObservabilityGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAdvancedNetworkingObservability runs a test to see if a specific instance of AdvancedNetworkingObservability round trips to JSON and back losslessly +func RunJSONSerializationTestForAdvancedNetworkingObservability(subject AdvancedNetworkingObservability) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AdvancedNetworkingObservability + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of AdvancedNetworkingObservability instances for property testing - lazily instantiated by +// AdvancedNetworkingObservabilityGenerator() +var advancedNetworkingObservabilityGenerator gopter.Gen + +// AdvancedNetworkingObservabilityGenerator returns a generator of AdvancedNetworkingObservability instances for property testing. +func AdvancedNetworkingObservabilityGenerator() gopter.Gen { + if advancedNetworkingObservabilityGenerator != nil { + return advancedNetworkingObservabilityGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAdvancedNetworkingObservability(generators) + advancedNetworkingObservabilityGenerator = gen.Struct(reflect.TypeOf(AdvancedNetworkingObservability{}), generators) + + return advancedNetworkingObservabilityGenerator +} + +// AddIndependentPropertyGeneratorsForAdvancedNetworkingObservability is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAdvancedNetworkingObservability(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +func Test_AdvancedNetworkingSecurity_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of AdvancedNetworkingSecurity via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAdvancedNetworkingSecurity, AdvancedNetworkingSecurityGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAdvancedNetworkingSecurity runs a test to see if a specific instance of AdvancedNetworkingSecurity round trips to JSON and back losslessly +func RunJSONSerializationTestForAdvancedNetworkingSecurity(subject AdvancedNetworkingSecurity) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AdvancedNetworkingSecurity + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of AdvancedNetworkingSecurity instances for property testing - lazily instantiated by +// AdvancedNetworkingSecurityGenerator() +var advancedNetworkingSecurityGenerator gopter.Gen + +// AdvancedNetworkingSecurityGenerator returns a generator of AdvancedNetworkingSecurity instances for property testing. +func AdvancedNetworkingSecurityGenerator() gopter.Gen { + if advancedNetworkingSecurityGenerator != nil { + return advancedNetworkingSecurityGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAdvancedNetworkingSecurity(generators) + advancedNetworkingSecurityGenerator = gen.Struct(reflect.TypeOf(AdvancedNetworkingSecurity{}), generators) + + return advancedNetworkingSecurityGenerator +} + +// AddIndependentPropertyGeneratorsForAdvancedNetworkingSecurity is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAdvancedNetworkingSecurity(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +func Test_AzureKeyVaultKms_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of AzureKeyVaultKms via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAzureKeyVaultKms, AzureKeyVaultKmsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAzureKeyVaultKms runs a test to see if a specific instance of AzureKeyVaultKms round trips to JSON and back losslessly +func RunJSONSerializationTestForAzureKeyVaultKms(subject AzureKeyVaultKms) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AzureKeyVaultKms + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of AzureKeyVaultKms instances for property testing - lazily instantiated by AzureKeyVaultKmsGenerator() +var azureKeyVaultKmsGenerator gopter.Gen + +// AzureKeyVaultKmsGenerator returns a generator of AzureKeyVaultKms instances for property testing. +func AzureKeyVaultKmsGenerator() gopter.Gen { + if azureKeyVaultKmsGenerator != nil { + return azureKeyVaultKmsGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAzureKeyVaultKms(generators) + azureKeyVaultKmsGenerator = gen.Struct(reflect.TypeOf(AzureKeyVaultKms{}), generators) + + return azureKeyVaultKmsGenerator +} + +// AddIndependentPropertyGeneratorsForAzureKeyVaultKms is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAzureKeyVaultKms(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) + gens["KeyId"] = gen.PtrOf(gen.AlphaString()) + gens["KeyVaultNetworkAccess"] = gen.PtrOf(gen.OneConstOf(AzureKeyVaultKms_KeyVaultNetworkAccess_Private, AzureKeyVaultKms_KeyVaultNetworkAccess_Public)) + gens["KeyVaultResourceId"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ClusterUpgradeSettings_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ClusterUpgradeSettings via JSON returns original", + prop.ForAll(RunJSONSerializationTestForClusterUpgradeSettings, ClusterUpgradeSettingsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForClusterUpgradeSettings runs a test to see if a specific instance of ClusterUpgradeSettings round trips to JSON and back losslessly +func RunJSONSerializationTestForClusterUpgradeSettings(subject ClusterUpgradeSettings) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ClusterUpgradeSettings + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ClusterUpgradeSettings instances for property testing - lazily instantiated by +// ClusterUpgradeSettingsGenerator() +var clusterUpgradeSettingsGenerator gopter.Gen + +// ClusterUpgradeSettingsGenerator returns a generator of ClusterUpgradeSettings instances for property testing. +func ClusterUpgradeSettingsGenerator() gopter.Gen { + if clusterUpgradeSettingsGenerator != nil { + return clusterUpgradeSettingsGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForClusterUpgradeSettings(generators) + clusterUpgradeSettingsGenerator = gen.Struct(reflect.TypeOf(ClusterUpgradeSettings{}), generators) + + return clusterUpgradeSettingsGenerator +} + +// AddRelatedPropertyGeneratorsForClusterUpgradeSettings is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForClusterUpgradeSettings(gens map[string]gopter.Gen) { + gens["OverrideSettings"] = gen.PtrOf(UpgradeOverrideSettingsGenerator()) +} + +func Test_ContainerServiceLinuxProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ContainerServiceLinuxProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForContainerServiceLinuxProfile, ContainerServiceLinuxProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForContainerServiceLinuxProfile runs a test to see if a specific instance of ContainerServiceLinuxProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForContainerServiceLinuxProfile(subject ContainerServiceLinuxProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ContainerServiceLinuxProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ContainerServiceLinuxProfile instances for property testing - lazily instantiated by +// ContainerServiceLinuxProfileGenerator() +var containerServiceLinuxProfileGenerator gopter.Gen + +// ContainerServiceLinuxProfileGenerator returns a generator of ContainerServiceLinuxProfile instances for property testing. +// We first initialize containerServiceLinuxProfileGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func ContainerServiceLinuxProfileGenerator() gopter.Gen { + if containerServiceLinuxProfileGenerator != nil { + return containerServiceLinuxProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForContainerServiceLinuxProfile(generators) + containerServiceLinuxProfileGenerator = gen.Struct(reflect.TypeOf(ContainerServiceLinuxProfile{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForContainerServiceLinuxProfile(generators) + AddRelatedPropertyGeneratorsForContainerServiceLinuxProfile(generators) + containerServiceLinuxProfileGenerator = gen.Struct(reflect.TypeOf(ContainerServiceLinuxProfile{}), generators) + + return containerServiceLinuxProfileGenerator +} + +// AddIndependentPropertyGeneratorsForContainerServiceLinuxProfile is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForContainerServiceLinuxProfile(gens map[string]gopter.Gen) { + gens["AdminUsername"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForContainerServiceLinuxProfile is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForContainerServiceLinuxProfile(gens map[string]gopter.Gen) { + gens["Ssh"] = gen.PtrOf(ContainerServiceSshConfigurationGenerator()) +} + +func Test_ContainerServiceNetworkProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ContainerServiceNetworkProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForContainerServiceNetworkProfile, ContainerServiceNetworkProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForContainerServiceNetworkProfile runs a test to see if a specific instance of ContainerServiceNetworkProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForContainerServiceNetworkProfile(subject ContainerServiceNetworkProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ContainerServiceNetworkProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ContainerServiceNetworkProfile instances for property testing - lazily instantiated by +// ContainerServiceNetworkProfileGenerator() +var containerServiceNetworkProfileGenerator gopter.Gen + +// ContainerServiceNetworkProfileGenerator returns a generator of ContainerServiceNetworkProfile instances for property testing. +// We first initialize containerServiceNetworkProfileGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func ContainerServiceNetworkProfileGenerator() gopter.Gen { + if containerServiceNetworkProfileGenerator != nil { + return containerServiceNetworkProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForContainerServiceNetworkProfile(generators) + containerServiceNetworkProfileGenerator = gen.Struct(reflect.TypeOf(ContainerServiceNetworkProfile{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForContainerServiceNetworkProfile(generators) + AddRelatedPropertyGeneratorsForContainerServiceNetworkProfile(generators) + containerServiceNetworkProfileGenerator = gen.Struct(reflect.TypeOf(ContainerServiceNetworkProfile{}), generators) + + return containerServiceNetworkProfileGenerator +} + +// AddIndependentPropertyGeneratorsForContainerServiceNetworkProfile is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForContainerServiceNetworkProfile(gens map[string]gopter.Gen) { + gens["DnsServiceIP"] = gen.PtrOf(gen.AlphaString()) + gens["IpFamilies"] = gen.SliceOf(gen.OneConstOf(ContainerServiceNetworkProfile_IpFamilies_IPv4, ContainerServiceNetworkProfile_IpFamilies_IPv6)) + gens["LoadBalancerSku"] = gen.PtrOf(gen.OneConstOf(ContainerServiceNetworkProfile_LoadBalancerSku_Basic, ContainerServiceNetworkProfile_LoadBalancerSku_Standard)) + gens["NetworkDataplane"] = gen.PtrOf(gen.OneConstOf(ContainerServiceNetworkProfile_NetworkDataplane_Azure, ContainerServiceNetworkProfile_NetworkDataplane_Cilium)) + gens["NetworkMode"] = gen.PtrOf(gen.OneConstOf(ContainerServiceNetworkProfile_NetworkMode_Bridge, ContainerServiceNetworkProfile_NetworkMode_Transparent)) + gens["NetworkPlugin"] = gen.PtrOf(gen.OneConstOf(ContainerServiceNetworkProfile_NetworkPlugin_Azure, ContainerServiceNetworkProfile_NetworkPlugin_Kubenet, ContainerServiceNetworkProfile_NetworkPlugin_None)) + gens["NetworkPluginMode"] = gen.PtrOf(gen.OneConstOf(ContainerServiceNetworkProfile_NetworkPluginMode_Overlay)) + gens["NetworkPolicy"] = gen.PtrOf(gen.OneConstOf( + ContainerServiceNetworkProfile_NetworkPolicy_Azure, + ContainerServiceNetworkProfile_NetworkPolicy_Calico, + ContainerServiceNetworkProfile_NetworkPolicy_Cilium, + ContainerServiceNetworkProfile_NetworkPolicy_None)) + gens["OutboundType"] = gen.PtrOf(gen.OneConstOf( + ContainerServiceNetworkProfile_OutboundType_LoadBalancer, + ContainerServiceNetworkProfile_OutboundType_ManagedNATGateway, + ContainerServiceNetworkProfile_OutboundType_UserAssignedNATGateway, + ContainerServiceNetworkProfile_OutboundType_UserDefinedRouting)) + gens["PodCidr"] = gen.PtrOf(gen.AlphaString()) + gens["PodCidrs"] = gen.SliceOf(gen.AlphaString()) + gens["ServiceCidr"] = gen.PtrOf(gen.AlphaString()) + gens["ServiceCidrs"] = gen.SliceOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForContainerServiceNetworkProfile is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForContainerServiceNetworkProfile(gens map[string]gopter.Gen) { + gens["AdvancedNetworking"] = gen.PtrOf(AdvancedNetworkingGenerator()) + gens["LoadBalancerProfile"] = gen.PtrOf(ManagedClusterLoadBalancerProfileGenerator()) + gens["NatGatewayProfile"] = gen.PtrOf(ManagedClusterNATGatewayProfileGenerator()) +} + +func Test_ContainerServiceSshConfiguration_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ContainerServiceSshConfiguration via JSON returns original", + prop.ForAll(RunJSONSerializationTestForContainerServiceSshConfiguration, ContainerServiceSshConfigurationGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForContainerServiceSshConfiguration runs a test to see if a specific instance of ContainerServiceSshConfiguration round trips to JSON and back losslessly +func RunJSONSerializationTestForContainerServiceSshConfiguration(subject ContainerServiceSshConfiguration) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ContainerServiceSshConfiguration + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ContainerServiceSshConfiguration instances for property testing - lazily instantiated by +// ContainerServiceSshConfigurationGenerator() +var containerServiceSshConfigurationGenerator gopter.Gen + +// ContainerServiceSshConfigurationGenerator returns a generator of ContainerServiceSshConfiguration instances for property testing. +func ContainerServiceSshConfigurationGenerator() gopter.Gen { + if containerServiceSshConfigurationGenerator != nil { + return containerServiceSshConfigurationGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForContainerServiceSshConfiguration(generators) + containerServiceSshConfigurationGenerator = gen.Struct(reflect.TypeOf(ContainerServiceSshConfiguration{}), generators) + + return containerServiceSshConfigurationGenerator +} + +// AddRelatedPropertyGeneratorsForContainerServiceSshConfiguration is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForContainerServiceSshConfiguration(gens map[string]gopter.Gen) { + gens["PublicKeys"] = gen.SliceOf(ContainerServiceSshPublicKeyGenerator()) +} + +func Test_ContainerServiceSshPublicKey_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ContainerServiceSshPublicKey via JSON returns original", + prop.ForAll(RunJSONSerializationTestForContainerServiceSshPublicKey, ContainerServiceSshPublicKeyGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForContainerServiceSshPublicKey runs a test to see if a specific instance of ContainerServiceSshPublicKey round trips to JSON and back losslessly +func RunJSONSerializationTestForContainerServiceSshPublicKey(subject ContainerServiceSshPublicKey) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ContainerServiceSshPublicKey + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ContainerServiceSshPublicKey instances for property testing - lazily instantiated by +// ContainerServiceSshPublicKeyGenerator() +var containerServiceSshPublicKeyGenerator gopter.Gen + +// ContainerServiceSshPublicKeyGenerator returns a generator of ContainerServiceSshPublicKey instances for property testing. +func ContainerServiceSshPublicKeyGenerator() gopter.Gen { + if containerServiceSshPublicKeyGenerator != nil { + return containerServiceSshPublicKeyGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForContainerServiceSshPublicKey(generators) + containerServiceSshPublicKeyGenerator = gen.Struct(reflect.TypeOf(ContainerServiceSshPublicKey{}), generators) + + return containerServiceSshPublicKeyGenerator +} + +// AddIndependentPropertyGeneratorsForContainerServiceSshPublicKey is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForContainerServiceSshPublicKey(gens map[string]gopter.Gen) { + gens["KeyData"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_DelegatedResource_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of DelegatedResource via JSON returns original", + prop.ForAll(RunJSONSerializationTestForDelegatedResource, DelegatedResourceGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForDelegatedResource runs a test to see if a specific instance of DelegatedResource round trips to JSON and back losslessly +func RunJSONSerializationTestForDelegatedResource(subject DelegatedResource) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual DelegatedResource + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of DelegatedResource instances for property testing - lazily instantiated by DelegatedResourceGenerator() +var delegatedResourceGenerator gopter.Gen + +// DelegatedResourceGenerator returns a generator of DelegatedResource instances for property testing. +func DelegatedResourceGenerator() gopter.Gen { + if delegatedResourceGenerator != nil { + return delegatedResourceGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForDelegatedResource(generators) + delegatedResourceGenerator = gen.Struct(reflect.TypeOf(DelegatedResource{}), generators) + + return delegatedResourceGenerator +} + +// AddIndependentPropertyGeneratorsForDelegatedResource is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForDelegatedResource(gens map[string]gopter.Gen) { + gens["Location"] = gen.PtrOf(gen.AlphaString()) + gens["ReferralResource"] = gen.PtrOf(gen.AlphaString()) + gens["ResourceId"] = gen.PtrOf(gen.AlphaString()) + gens["TenantId"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ExtendedLocation_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ExtendedLocation via JSON returns original", + prop.ForAll(RunJSONSerializationTestForExtendedLocation, ExtendedLocationGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForExtendedLocation runs a test to see if a specific instance of ExtendedLocation round trips to JSON and back losslessly +func RunJSONSerializationTestForExtendedLocation(subject ExtendedLocation) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ExtendedLocation + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ExtendedLocation instances for property testing - lazily instantiated by ExtendedLocationGenerator() +var extendedLocationGenerator gopter.Gen + +// ExtendedLocationGenerator returns a generator of ExtendedLocation instances for property testing. +func ExtendedLocationGenerator() gopter.Gen { + if extendedLocationGenerator != nil { + return extendedLocationGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForExtendedLocation(generators) + extendedLocationGenerator = gen.Struct(reflect.TypeOf(ExtendedLocation{}), generators) + + return extendedLocationGenerator +} + +// AddIndependentPropertyGeneratorsForExtendedLocation is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForExtendedLocation(gens map[string]gopter.Gen) { + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["Type"] = gen.PtrOf(gen.OneConstOf(ExtendedLocationType_EdgeZone)) +} + +func Test_IstioCertificateAuthority_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of IstioCertificateAuthority via JSON returns original", + prop.ForAll(RunJSONSerializationTestForIstioCertificateAuthority, IstioCertificateAuthorityGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForIstioCertificateAuthority runs a test to see if a specific instance of IstioCertificateAuthority round trips to JSON and back losslessly +func RunJSONSerializationTestForIstioCertificateAuthority(subject IstioCertificateAuthority) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual IstioCertificateAuthority + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of IstioCertificateAuthority instances for property testing - lazily instantiated by +// IstioCertificateAuthorityGenerator() +var istioCertificateAuthorityGenerator gopter.Gen + +// IstioCertificateAuthorityGenerator returns a generator of IstioCertificateAuthority instances for property testing. +func IstioCertificateAuthorityGenerator() gopter.Gen { + if istioCertificateAuthorityGenerator != nil { + return istioCertificateAuthorityGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForIstioCertificateAuthority(generators) + istioCertificateAuthorityGenerator = gen.Struct(reflect.TypeOf(IstioCertificateAuthority{}), generators) + + return istioCertificateAuthorityGenerator +} + +// AddRelatedPropertyGeneratorsForIstioCertificateAuthority is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForIstioCertificateAuthority(gens map[string]gopter.Gen) { + gens["Plugin"] = gen.PtrOf(IstioPluginCertificateAuthorityGenerator()) +} + +func Test_IstioComponents_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of IstioComponents via JSON returns original", + prop.ForAll(RunJSONSerializationTestForIstioComponents, IstioComponentsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForIstioComponents runs a test to see if a specific instance of IstioComponents round trips to JSON and back losslessly +func RunJSONSerializationTestForIstioComponents(subject IstioComponents) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual IstioComponents + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of IstioComponents instances for property testing - lazily instantiated by IstioComponentsGenerator() +var istioComponentsGenerator gopter.Gen + +// IstioComponentsGenerator returns a generator of IstioComponents instances for property testing. +func IstioComponentsGenerator() gopter.Gen { + if istioComponentsGenerator != nil { + return istioComponentsGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForIstioComponents(generators) + istioComponentsGenerator = gen.Struct(reflect.TypeOf(IstioComponents{}), generators) + + return istioComponentsGenerator +} + +// AddRelatedPropertyGeneratorsForIstioComponents is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForIstioComponents(gens map[string]gopter.Gen) { + gens["EgressGateways"] = gen.SliceOf(IstioEgressGatewayGenerator()) + gens["IngressGateways"] = gen.SliceOf(IstioIngressGatewayGenerator()) +} + +func Test_IstioEgressGateway_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of IstioEgressGateway via JSON returns original", + prop.ForAll(RunJSONSerializationTestForIstioEgressGateway, IstioEgressGatewayGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForIstioEgressGateway runs a test to see if a specific instance of IstioEgressGateway round trips to JSON and back losslessly +func RunJSONSerializationTestForIstioEgressGateway(subject IstioEgressGateway) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual IstioEgressGateway + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of IstioEgressGateway instances for property testing - lazily instantiated by IstioEgressGatewayGenerator() +var istioEgressGatewayGenerator gopter.Gen + +// IstioEgressGatewayGenerator returns a generator of IstioEgressGateway instances for property testing. +func IstioEgressGatewayGenerator() gopter.Gen { + if istioEgressGatewayGenerator != nil { + return istioEgressGatewayGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForIstioEgressGateway(generators) + istioEgressGatewayGenerator = gen.Struct(reflect.TypeOf(IstioEgressGateway{}), generators) + + return istioEgressGatewayGenerator +} + +// AddIndependentPropertyGeneratorsForIstioEgressGateway is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForIstioEgressGateway(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +func Test_IstioIngressGateway_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of IstioIngressGateway via JSON returns original", + prop.ForAll(RunJSONSerializationTestForIstioIngressGateway, IstioIngressGatewayGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForIstioIngressGateway runs a test to see if a specific instance of IstioIngressGateway round trips to JSON and back losslessly +func RunJSONSerializationTestForIstioIngressGateway(subject IstioIngressGateway) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual IstioIngressGateway + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of IstioIngressGateway instances for property testing - lazily instantiated by +// IstioIngressGatewayGenerator() +var istioIngressGatewayGenerator gopter.Gen + +// IstioIngressGatewayGenerator returns a generator of IstioIngressGateway instances for property testing. +func IstioIngressGatewayGenerator() gopter.Gen { + if istioIngressGatewayGenerator != nil { + return istioIngressGatewayGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForIstioIngressGateway(generators) + istioIngressGatewayGenerator = gen.Struct(reflect.TypeOf(IstioIngressGateway{}), generators) + + return istioIngressGatewayGenerator +} + +// AddIndependentPropertyGeneratorsForIstioIngressGateway is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForIstioIngressGateway(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) + gens["Mode"] = gen.PtrOf(gen.OneConstOf(IstioIngressGateway_Mode_External, IstioIngressGateway_Mode_Internal)) +} + +func Test_IstioPluginCertificateAuthority_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of IstioPluginCertificateAuthority via JSON returns original", + prop.ForAll(RunJSONSerializationTestForIstioPluginCertificateAuthority, IstioPluginCertificateAuthorityGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForIstioPluginCertificateAuthority runs a test to see if a specific instance of IstioPluginCertificateAuthority round trips to JSON and back losslessly +func RunJSONSerializationTestForIstioPluginCertificateAuthority(subject IstioPluginCertificateAuthority) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual IstioPluginCertificateAuthority + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of IstioPluginCertificateAuthority instances for property testing - lazily instantiated by +// IstioPluginCertificateAuthorityGenerator() +var istioPluginCertificateAuthorityGenerator gopter.Gen + +// IstioPluginCertificateAuthorityGenerator returns a generator of IstioPluginCertificateAuthority instances for property testing. +func IstioPluginCertificateAuthorityGenerator() gopter.Gen { + if istioPluginCertificateAuthorityGenerator != nil { + return istioPluginCertificateAuthorityGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForIstioPluginCertificateAuthority(generators) + istioPluginCertificateAuthorityGenerator = gen.Struct(reflect.TypeOf(IstioPluginCertificateAuthority{}), generators) + + return istioPluginCertificateAuthorityGenerator +} + +// AddIndependentPropertyGeneratorsForIstioPluginCertificateAuthority is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForIstioPluginCertificateAuthority(gens map[string]gopter.Gen) { + gens["CertChainObjectName"] = gen.PtrOf(gen.AlphaString()) + gens["CertObjectName"] = gen.PtrOf(gen.AlphaString()) + gens["KeyObjectName"] = gen.PtrOf(gen.AlphaString()) + gens["KeyVaultId"] = gen.PtrOf(gen.AlphaString()) + gens["RootCertObjectName"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_IstioServiceMesh_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of IstioServiceMesh via JSON returns original", + prop.ForAll(RunJSONSerializationTestForIstioServiceMesh, IstioServiceMeshGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForIstioServiceMesh runs a test to see if a specific instance of IstioServiceMesh round trips to JSON and back losslessly +func RunJSONSerializationTestForIstioServiceMesh(subject IstioServiceMesh) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual IstioServiceMesh + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of IstioServiceMesh instances for property testing - lazily instantiated by IstioServiceMeshGenerator() +var istioServiceMeshGenerator gopter.Gen + +// IstioServiceMeshGenerator returns a generator of IstioServiceMesh instances for property testing. +// We first initialize istioServiceMeshGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func IstioServiceMeshGenerator() gopter.Gen { + if istioServiceMeshGenerator != nil { + return istioServiceMeshGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForIstioServiceMesh(generators) + istioServiceMeshGenerator = gen.Struct(reflect.TypeOf(IstioServiceMesh{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForIstioServiceMesh(generators) + AddRelatedPropertyGeneratorsForIstioServiceMesh(generators) + istioServiceMeshGenerator = gen.Struct(reflect.TypeOf(IstioServiceMesh{}), generators) + + return istioServiceMeshGenerator +} + +// AddIndependentPropertyGeneratorsForIstioServiceMesh is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForIstioServiceMesh(gens map[string]gopter.Gen) { + gens["Revisions"] = gen.SliceOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForIstioServiceMesh is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForIstioServiceMesh(gens map[string]gopter.Gen) { + gens["CertificateAuthority"] = gen.PtrOf(IstioCertificateAuthorityGenerator()) + gens["Components"] = gen.PtrOf(IstioComponentsGenerator()) +} + +func Test_ManagedClusterAADProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterAADProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterAADProfile, ManagedClusterAADProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterAADProfile runs a test to see if a specific instance of ManagedClusterAADProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterAADProfile(subject ManagedClusterAADProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterAADProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterAADProfile instances for property testing - lazily instantiated by +// ManagedClusterAADProfileGenerator() +var managedClusterAADProfileGenerator gopter.Gen + +// ManagedClusterAADProfileGenerator returns a generator of ManagedClusterAADProfile instances for property testing. +func ManagedClusterAADProfileGenerator() gopter.Gen { + if managedClusterAADProfileGenerator != nil { + return managedClusterAADProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterAADProfile(generators) + managedClusterAADProfileGenerator = gen.Struct(reflect.TypeOf(ManagedClusterAADProfile{}), generators) + + return managedClusterAADProfileGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterAADProfile is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterAADProfile(gens map[string]gopter.Gen) { + gens["AdminGroupObjectIDs"] = gen.SliceOf(gen.AlphaString()) + gens["ClientAppID"] = gen.PtrOf(gen.AlphaString()) + gens["EnableAzureRBAC"] = gen.PtrOf(gen.Bool()) + gens["Managed"] = gen.PtrOf(gen.Bool()) + gens["ServerAppID"] = gen.PtrOf(gen.AlphaString()) + gens["ServerAppSecret"] = gen.PtrOf(gen.AlphaString()) + gens["TenantID"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ManagedClusterAPIServerAccessProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterAPIServerAccessProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterAPIServerAccessProfile, ManagedClusterAPIServerAccessProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterAPIServerAccessProfile runs a test to see if a specific instance of ManagedClusterAPIServerAccessProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterAPIServerAccessProfile(subject ManagedClusterAPIServerAccessProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterAPIServerAccessProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterAPIServerAccessProfile instances for property testing - lazily instantiated by +// ManagedClusterAPIServerAccessProfileGenerator() +var managedClusterAPIServerAccessProfileGenerator gopter.Gen + +// ManagedClusterAPIServerAccessProfileGenerator returns a generator of ManagedClusterAPIServerAccessProfile instances for property testing. +func ManagedClusterAPIServerAccessProfileGenerator() gopter.Gen { + if managedClusterAPIServerAccessProfileGenerator != nil { + return managedClusterAPIServerAccessProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterAPIServerAccessProfile(generators) + managedClusterAPIServerAccessProfileGenerator = gen.Struct(reflect.TypeOf(ManagedClusterAPIServerAccessProfile{}), generators) + + return managedClusterAPIServerAccessProfileGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterAPIServerAccessProfile is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterAPIServerAccessProfile(gens map[string]gopter.Gen) { + gens["AuthorizedIPRanges"] = gen.SliceOf(gen.AlphaString()) + gens["DisableRunCommand"] = gen.PtrOf(gen.Bool()) + gens["EnablePrivateCluster"] = gen.PtrOf(gen.Bool()) + gens["EnablePrivateClusterPublicFQDN"] = gen.PtrOf(gen.Bool()) + gens["PrivateDNSZone"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ManagedClusterAddonProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterAddonProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterAddonProfile, ManagedClusterAddonProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterAddonProfile runs a test to see if a specific instance of ManagedClusterAddonProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterAddonProfile(subject ManagedClusterAddonProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterAddonProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterAddonProfile instances for property testing - lazily instantiated by +// ManagedClusterAddonProfileGenerator() +var managedClusterAddonProfileGenerator gopter.Gen + +// ManagedClusterAddonProfileGenerator returns a generator of ManagedClusterAddonProfile instances for property testing. +func ManagedClusterAddonProfileGenerator() gopter.Gen { + if managedClusterAddonProfileGenerator != nil { + return managedClusterAddonProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterAddonProfile(generators) + managedClusterAddonProfileGenerator = gen.Struct(reflect.TypeOf(ManagedClusterAddonProfile{}), generators) + + return managedClusterAddonProfileGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterAddonProfile is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterAddonProfile(gens map[string]gopter.Gen) { + gens["Config"] = gen.MapOf( + gen.AlphaString(), + gen.AlphaString()) + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +func Test_ManagedClusterAgentPoolProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterAgentPoolProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterAgentPoolProfile, ManagedClusterAgentPoolProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterAgentPoolProfile runs a test to see if a specific instance of ManagedClusterAgentPoolProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterAgentPoolProfile(subject ManagedClusterAgentPoolProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterAgentPoolProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterAgentPoolProfile instances for property testing - lazily instantiated by +// ManagedClusterAgentPoolProfileGenerator() +var managedClusterAgentPoolProfileGenerator gopter.Gen + +// ManagedClusterAgentPoolProfileGenerator returns a generator of ManagedClusterAgentPoolProfile instances for property testing. +// We first initialize managedClusterAgentPoolProfileGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func ManagedClusterAgentPoolProfileGenerator() gopter.Gen { + if managedClusterAgentPoolProfileGenerator != nil { + return managedClusterAgentPoolProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterAgentPoolProfile(generators) + managedClusterAgentPoolProfileGenerator = gen.Struct(reflect.TypeOf(ManagedClusterAgentPoolProfile{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterAgentPoolProfile(generators) + AddRelatedPropertyGeneratorsForManagedClusterAgentPoolProfile(generators) + managedClusterAgentPoolProfileGenerator = gen.Struct(reflect.TypeOf(ManagedClusterAgentPoolProfile{}), generators) + + return managedClusterAgentPoolProfileGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterAgentPoolProfile is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterAgentPoolProfile(gens map[string]gopter.Gen) { + gens["AvailabilityZones"] = gen.SliceOf(gen.AlphaString()) + gens["CapacityReservationGroupID"] = gen.PtrOf(gen.AlphaString()) + gens["Count"] = gen.PtrOf(gen.Int()) + gens["EnableAutoScaling"] = gen.PtrOf(gen.Bool()) + gens["EnableEncryptionAtHost"] = gen.PtrOf(gen.Bool()) + gens["EnableFIPS"] = gen.PtrOf(gen.Bool()) + gens["EnableNodePublicIP"] = gen.PtrOf(gen.Bool()) + gens["EnableUltraSSD"] = gen.PtrOf(gen.Bool()) + gens["GpuInstanceProfile"] = gen.PtrOf(gen.OneConstOf( + GPUInstanceProfile_MIG1G, + GPUInstanceProfile_MIG2G, + GPUInstanceProfile_MIG3G, + GPUInstanceProfile_MIG4G, + GPUInstanceProfile_MIG7G)) + gens["HostGroupID"] = gen.PtrOf(gen.AlphaString()) + gens["KubeletDiskType"] = gen.PtrOf(gen.OneConstOf(KubeletDiskType_OS, KubeletDiskType_Temporary)) + gens["MaxCount"] = gen.PtrOf(gen.Int()) + gens["MaxPods"] = gen.PtrOf(gen.Int()) + gens["MinCount"] = gen.PtrOf(gen.Int()) + gens["Mode"] = gen.PtrOf(gen.OneConstOf(AgentPoolMode_System, AgentPoolMode_User)) + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["NodeLabels"] = gen.MapOf( + gen.AlphaString(), + gen.AlphaString()) + gens["NodePublicIPPrefixID"] = gen.PtrOf(gen.AlphaString()) + gens["NodeTaints"] = gen.SliceOf(gen.AlphaString()) + gens["OrchestratorVersion"] = gen.PtrOf(gen.AlphaString()) + gens["OsDiskSizeGB"] = gen.PtrOf(gen.Int()) + gens["OsDiskType"] = gen.PtrOf(gen.OneConstOf(OSDiskType_Ephemeral, OSDiskType_Managed)) + gens["OsSKU"] = gen.PtrOf(gen.OneConstOf( + OSSKU_AzureLinux, + OSSKU_CBLMariner, + OSSKU_Ubuntu, + OSSKU_Windows2019, + OSSKU_Windows2022)) + gens["OsType"] = gen.PtrOf(gen.OneConstOf(OSType_Linux, OSType_Windows)) + gens["PodSubnetID"] = gen.PtrOf(gen.AlphaString()) + gens["ProximityPlacementGroupID"] = gen.PtrOf(gen.AlphaString()) + gens["ScaleDownMode"] = gen.PtrOf(gen.OneConstOf(ScaleDownMode_Deallocate, ScaleDownMode_Delete)) + gens["ScaleSetEvictionPolicy"] = gen.PtrOf(gen.OneConstOf(ScaleSetEvictionPolicy_Deallocate, ScaleSetEvictionPolicy_Delete)) + gens["ScaleSetPriority"] = gen.PtrOf(gen.OneConstOf(ScaleSetPriority_Regular, ScaleSetPriority_Spot)) + gens["SpotMaxPrice"] = gen.PtrOf(gen.Float64()) + gens["Tags"] = gen.MapOf( + gen.AlphaString(), + gen.AlphaString()) + gens["Type"] = gen.PtrOf(gen.OneConstOf(AgentPoolType_AvailabilitySet, AgentPoolType_VirtualMachineScaleSets)) + gens["VmSize"] = gen.PtrOf(gen.AlphaString()) + gens["VnetSubnetID"] = gen.PtrOf(gen.AlphaString()) + gens["WorkloadRuntime"] = gen.PtrOf(gen.OneConstOf(WorkloadRuntime_OCIContainer, WorkloadRuntime_WasmWasi)) +} + +// AddRelatedPropertyGeneratorsForManagedClusterAgentPoolProfile is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterAgentPoolProfile(gens map[string]gopter.Gen) { + gens["CreationData"] = gen.PtrOf(CreationDataGenerator()) + gens["KubeletConfig"] = gen.PtrOf(KubeletConfigGenerator()) + gens["LinuxOSConfig"] = gen.PtrOf(LinuxOSConfigGenerator()) + gens["NetworkProfile"] = gen.PtrOf(AgentPoolNetworkProfileGenerator()) + gens["PowerState"] = gen.PtrOf(PowerStateGenerator()) + gens["SecurityProfile"] = gen.PtrOf(AgentPoolSecurityProfileGenerator()) + gens["UpgradeSettings"] = gen.PtrOf(AgentPoolUpgradeSettingsGenerator()) + gens["WindowsProfile"] = gen.PtrOf(AgentPoolWindowsProfileGenerator()) +} + +func Test_ManagedClusterAutoUpgradeProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterAutoUpgradeProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterAutoUpgradeProfile, ManagedClusterAutoUpgradeProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterAutoUpgradeProfile runs a test to see if a specific instance of ManagedClusterAutoUpgradeProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterAutoUpgradeProfile(subject ManagedClusterAutoUpgradeProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterAutoUpgradeProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterAutoUpgradeProfile instances for property testing - lazily instantiated by +// ManagedClusterAutoUpgradeProfileGenerator() +var managedClusterAutoUpgradeProfileGenerator gopter.Gen + +// ManagedClusterAutoUpgradeProfileGenerator returns a generator of ManagedClusterAutoUpgradeProfile instances for property testing. +func ManagedClusterAutoUpgradeProfileGenerator() gopter.Gen { + if managedClusterAutoUpgradeProfileGenerator != nil { + return managedClusterAutoUpgradeProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterAutoUpgradeProfile(generators) + managedClusterAutoUpgradeProfileGenerator = gen.Struct(reflect.TypeOf(ManagedClusterAutoUpgradeProfile{}), generators) + + return managedClusterAutoUpgradeProfileGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterAutoUpgradeProfile is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterAutoUpgradeProfile(gens map[string]gopter.Gen) { + gens["NodeOSUpgradeChannel"] = gen.PtrOf(gen.OneConstOf( + ManagedClusterAutoUpgradeProfile_NodeOSUpgradeChannel_NodeImage, + ManagedClusterAutoUpgradeProfile_NodeOSUpgradeChannel_None, + ManagedClusterAutoUpgradeProfile_NodeOSUpgradeChannel_SecurityPatch, + ManagedClusterAutoUpgradeProfile_NodeOSUpgradeChannel_Unmanaged)) + gens["UpgradeChannel"] = gen.PtrOf(gen.OneConstOf( + ManagedClusterAutoUpgradeProfile_UpgradeChannel_NodeImage, + ManagedClusterAutoUpgradeProfile_UpgradeChannel_None, + ManagedClusterAutoUpgradeProfile_UpgradeChannel_Patch, + ManagedClusterAutoUpgradeProfile_UpgradeChannel_Rapid, + ManagedClusterAutoUpgradeProfile_UpgradeChannel_Stable)) +} + +func Test_ManagedClusterAzureMonitorProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterAzureMonitorProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterAzureMonitorProfile, ManagedClusterAzureMonitorProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterAzureMonitorProfile runs a test to see if a specific instance of ManagedClusterAzureMonitorProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterAzureMonitorProfile(subject ManagedClusterAzureMonitorProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterAzureMonitorProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterAzureMonitorProfile instances for property testing - lazily instantiated by +// ManagedClusterAzureMonitorProfileGenerator() +var managedClusterAzureMonitorProfileGenerator gopter.Gen + +// ManagedClusterAzureMonitorProfileGenerator returns a generator of ManagedClusterAzureMonitorProfile instances for property testing. +func ManagedClusterAzureMonitorProfileGenerator() gopter.Gen { + if managedClusterAzureMonitorProfileGenerator != nil { + return managedClusterAzureMonitorProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForManagedClusterAzureMonitorProfile(generators) + managedClusterAzureMonitorProfileGenerator = gen.Struct(reflect.TypeOf(ManagedClusterAzureMonitorProfile{}), generators) + + return managedClusterAzureMonitorProfileGenerator +} + +// AddRelatedPropertyGeneratorsForManagedClusterAzureMonitorProfile is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterAzureMonitorProfile(gens map[string]gopter.Gen) { + gens["Metrics"] = gen.PtrOf(ManagedClusterAzureMonitorProfileMetricsGenerator()) +} + +func Test_ManagedClusterAzureMonitorProfileKubeStateMetrics_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterAzureMonitorProfileKubeStateMetrics via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterAzureMonitorProfileKubeStateMetrics, ManagedClusterAzureMonitorProfileKubeStateMetricsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterAzureMonitorProfileKubeStateMetrics runs a test to see if a specific instance of ManagedClusterAzureMonitorProfileKubeStateMetrics round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterAzureMonitorProfileKubeStateMetrics(subject ManagedClusterAzureMonitorProfileKubeStateMetrics) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterAzureMonitorProfileKubeStateMetrics + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterAzureMonitorProfileKubeStateMetrics instances for property testing - lazily instantiated +// by ManagedClusterAzureMonitorProfileKubeStateMetricsGenerator() +var managedClusterAzureMonitorProfileKubeStateMetricsGenerator gopter.Gen + +// ManagedClusterAzureMonitorProfileKubeStateMetricsGenerator returns a generator of ManagedClusterAzureMonitorProfileKubeStateMetrics instances for property testing. +func ManagedClusterAzureMonitorProfileKubeStateMetricsGenerator() gopter.Gen { + if managedClusterAzureMonitorProfileKubeStateMetricsGenerator != nil { + return managedClusterAzureMonitorProfileKubeStateMetricsGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterAzureMonitorProfileKubeStateMetrics(generators) + managedClusterAzureMonitorProfileKubeStateMetricsGenerator = gen.Struct(reflect.TypeOf(ManagedClusterAzureMonitorProfileKubeStateMetrics{}), generators) + + return managedClusterAzureMonitorProfileKubeStateMetricsGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterAzureMonitorProfileKubeStateMetrics is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterAzureMonitorProfileKubeStateMetrics(gens map[string]gopter.Gen) { + gens["MetricAnnotationsAllowList"] = gen.PtrOf(gen.AlphaString()) + gens["MetricLabelsAllowlist"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ManagedClusterAzureMonitorProfileMetrics_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterAzureMonitorProfileMetrics via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterAzureMonitorProfileMetrics, ManagedClusterAzureMonitorProfileMetricsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterAzureMonitorProfileMetrics runs a test to see if a specific instance of ManagedClusterAzureMonitorProfileMetrics round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterAzureMonitorProfileMetrics(subject ManagedClusterAzureMonitorProfileMetrics) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterAzureMonitorProfileMetrics + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterAzureMonitorProfileMetrics instances for property testing - lazily instantiated by +// ManagedClusterAzureMonitorProfileMetricsGenerator() +var managedClusterAzureMonitorProfileMetricsGenerator gopter.Gen + +// ManagedClusterAzureMonitorProfileMetricsGenerator returns a generator of ManagedClusterAzureMonitorProfileMetrics instances for property testing. +// We first initialize managedClusterAzureMonitorProfileMetricsGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func ManagedClusterAzureMonitorProfileMetricsGenerator() gopter.Gen { + if managedClusterAzureMonitorProfileMetricsGenerator != nil { + return managedClusterAzureMonitorProfileMetricsGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterAzureMonitorProfileMetrics(generators) + managedClusterAzureMonitorProfileMetricsGenerator = gen.Struct(reflect.TypeOf(ManagedClusterAzureMonitorProfileMetrics{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterAzureMonitorProfileMetrics(generators) + AddRelatedPropertyGeneratorsForManagedClusterAzureMonitorProfileMetrics(generators) + managedClusterAzureMonitorProfileMetricsGenerator = gen.Struct(reflect.TypeOf(ManagedClusterAzureMonitorProfileMetrics{}), generators) + + return managedClusterAzureMonitorProfileMetricsGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterAzureMonitorProfileMetrics is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterAzureMonitorProfileMetrics(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +// AddRelatedPropertyGeneratorsForManagedClusterAzureMonitorProfileMetrics is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterAzureMonitorProfileMetrics(gens map[string]gopter.Gen) { + gens["KubeStateMetrics"] = gen.PtrOf(ManagedClusterAzureMonitorProfileKubeStateMetricsGenerator()) +} + +func Test_ManagedClusterCostAnalysis_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterCostAnalysis via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterCostAnalysis, ManagedClusterCostAnalysisGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterCostAnalysis runs a test to see if a specific instance of ManagedClusterCostAnalysis round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterCostAnalysis(subject ManagedClusterCostAnalysis) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterCostAnalysis + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterCostAnalysis instances for property testing - lazily instantiated by +// ManagedClusterCostAnalysisGenerator() +var managedClusterCostAnalysisGenerator gopter.Gen + +// ManagedClusterCostAnalysisGenerator returns a generator of ManagedClusterCostAnalysis instances for property testing. +func ManagedClusterCostAnalysisGenerator() gopter.Gen { + if managedClusterCostAnalysisGenerator != nil { + return managedClusterCostAnalysisGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterCostAnalysis(generators) + managedClusterCostAnalysisGenerator = gen.Struct(reflect.TypeOf(ManagedClusterCostAnalysis{}), generators) + + return managedClusterCostAnalysisGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterCostAnalysis is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterCostAnalysis(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +func Test_ManagedClusterHTTPProxyConfig_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterHTTPProxyConfig via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterHTTPProxyConfig, ManagedClusterHTTPProxyConfigGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterHTTPProxyConfig runs a test to see if a specific instance of ManagedClusterHTTPProxyConfig round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterHTTPProxyConfig(subject ManagedClusterHTTPProxyConfig) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterHTTPProxyConfig + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterHTTPProxyConfig instances for property testing - lazily instantiated by +// ManagedClusterHTTPProxyConfigGenerator() +var managedClusterHTTPProxyConfigGenerator gopter.Gen + +// ManagedClusterHTTPProxyConfigGenerator returns a generator of ManagedClusterHTTPProxyConfig instances for property testing. +func ManagedClusterHTTPProxyConfigGenerator() gopter.Gen { + if managedClusterHTTPProxyConfigGenerator != nil { + return managedClusterHTTPProxyConfigGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterHTTPProxyConfig(generators) + managedClusterHTTPProxyConfigGenerator = gen.Struct(reflect.TypeOf(ManagedClusterHTTPProxyConfig{}), generators) + + return managedClusterHTTPProxyConfigGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterHTTPProxyConfig is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterHTTPProxyConfig(gens map[string]gopter.Gen) { + gens["HttpProxy"] = gen.PtrOf(gen.AlphaString()) + gens["HttpsProxy"] = gen.PtrOf(gen.AlphaString()) + gens["NoProxy"] = gen.SliceOf(gen.AlphaString()) + gens["TrustedCa"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ManagedClusterIdentity_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterIdentity via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterIdentity, ManagedClusterIdentityGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterIdentity runs a test to see if a specific instance of ManagedClusterIdentity round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterIdentity(subject ManagedClusterIdentity) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterIdentity + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterIdentity instances for property testing - lazily instantiated by +// ManagedClusterIdentityGenerator() +var managedClusterIdentityGenerator gopter.Gen + +// ManagedClusterIdentityGenerator returns a generator of ManagedClusterIdentity instances for property testing. +// We first initialize managedClusterIdentityGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func ManagedClusterIdentityGenerator() gopter.Gen { + if managedClusterIdentityGenerator != nil { + return managedClusterIdentityGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterIdentity(generators) + managedClusterIdentityGenerator = gen.Struct(reflect.TypeOf(ManagedClusterIdentity{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterIdentity(generators) + AddRelatedPropertyGeneratorsForManagedClusterIdentity(generators) + managedClusterIdentityGenerator = gen.Struct(reflect.TypeOf(ManagedClusterIdentity{}), generators) + + return managedClusterIdentityGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterIdentity is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterIdentity(gens map[string]gopter.Gen) { + gens["Type"] = gen.PtrOf(gen.OneConstOf(ManagedClusterIdentity_Type_None, ManagedClusterIdentity_Type_SystemAssigned, ManagedClusterIdentity_Type_UserAssigned)) +} + +// AddRelatedPropertyGeneratorsForManagedClusterIdentity is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterIdentity(gens map[string]gopter.Gen) { + gens["DelegatedResources"] = gen.MapOf( + gen.AlphaString(), + DelegatedResourceGenerator()) + gens["UserAssignedIdentities"] = gen.MapOf( + gen.AlphaString(), + UserAssignedIdentityDetailsGenerator()) +} + +func Test_ManagedClusterIngressProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterIngressProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterIngressProfile, ManagedClusterIngressProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterIngressProfile runs a test to see if a specific instance of ManagedClusterIngressProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterIngressProfile(subject ManagedClusterIngressProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterIngressProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterIngressProfile instances for property testing - lazily instantiated by +// ManagedClusterIngressProfileGenerator() +var managedClusterIngressProfileGenerator gopter.Gen + +// ManagedClusterIngressProfileGenerator returns a generator of ManagedClusterIngressProfile instances for property testing. +func ManagedClusterIngressProfileGenerator() gopter.Gen { + if managedClusterIngressProfileGenerator != nil { + return managedClusterIngressProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForManagedClusterIngressProfile(generators) + managedClusterIngressProfileGenerator = gen.Struct(reflect.TypeOf(ManagedClusterIngressProfile{}), generators) + + return managedClusterIngressProfileGenerator +} + +// AddRelatedPropertyGeneratorsForManagedClusterIngressProfile is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterIngressProfile(gens map[string]gopter.Gen) { + gens["WebAppRouting"] = gen.PtrOf(ManagedClusterIngressProfileWebAppRoutingGenerator()) +} + +func Test_ManagedClusterIngressProfileWebAppRouting_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterIngressProfileWebAppRouting via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterIngressProfileWebAppRouting, ManagedClusterIngressProfileWebAppRoutingGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterIngressProfileWebAppRouting runs a test to see if a specific instance of ManagedClusterIngressProfileWebAppRouting round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterIngressProfileWebAppRouting(subject ManagedClusterIngressProfileWebAppRouting) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterIngressProfileWebAppRouting + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterIngressProfileWebAppRouting instances for property testing - lazily instantiated by +// ManagedClusterIngressProfileWebAppRoutingGenerator() +var managedClusterIngressProfileWebAppRoutingGenerator gopter.Gen + +// ManagedClusterIngressProfileWebAppRoutingGenerator returns a generator of ManagedClusterIngressProfileWebAppRouting instances for property testing. +func ManagedClusterIngressProfileWebAppRoutingGenerator() gopter.Gen { + if managedClusterIngressProfileWebAppRoutingGenerator != nil { + return managedClusterIngressProfileWebAppRoutingGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterIngressProfileWebAppRouting(generators) + managedClusterIngressProfileWebAppRoutingGenerator = gen.Struct(reflect.TypeOf(ManagedClusterIngressProfileWebAppRouting{}), generators) + + return managedClusterIngressProfileWebAppRoutingGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterIngressProfileWebAppRouting is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterIngressProfileWebAppRouting(gens map[string]gopter.Gen) { + gens["DnsZoneResourceIds"] = gen.SliceOf(gen.AlphaString()) + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +func Test_ManagedClusterLoadBalancerProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterLoadBalancerProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterLoadBalancerProfile, ManagedClusterLoadBalancerProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterLoadBalancerProfile runs a test to see if a specific instance of ManagedClusterLoadBalancerProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterLoadBalancerProfile(subject ManagedClusterLoadBalancerProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterLoadBalancerProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterLoadBalancerProfile instances for property testing - lazily instantiated by +// ManagedClusterLoadBalancerProfileGenerator() +var managedClusterLoadBalancerProfileGenerator gopter.Gen + +// ManagedClusterLoadBalancerProfileGenerator returns a generator of ManagedClusterLoadBalancerProfile instances for property testing. +// We first initialize managedClusterLoadBalancerProfileGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func ManagedClusterLoadBalancerProfileGenerator() gopter.Gen { + if managedClusterLoadBalancerProfileGenerator != nil { + return managedClusterLoadBalancerProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterLoadBalancerProfile(generators) + managedClusterLoadBalancerProfileGenerator = gen.Struct(reflect.TypeOf(ManagedClusterLoadBalancerProfile{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterLoadBalancerProfile(generators) + AddRelatedPropertyGeneratorsForManagedClusterLoadBalancerProfile(generators) + managedClusterLoadBalancerProfileGenerator = gen.Struct(reflect.TypeOf(ManagedClusterLoadBalancerProfile{}), generators) + + return managedClusterLoadBalancerProfileGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterLoadBalancerProfile is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterLoadBalancerProfile(gens map[string]gopter.Gen) { + gens["AllocatedOutboundPorts"] = gen.PtrOf(gen.Int()) + gens["BackendPoolType"] = gen.PtrOf(gen.OneConstOf(ManagedClusterLoadBalancerProfile_BackendPoolType_NodeIP, ManagedClusterLoadBalancerProfile_BackendPoolType_NodeIPConfiguration)) + gens["EnableMultipleStandardLoadBalancers"] = gen.PtrOf(gen.Bool()) + gens["IdleTimeoutInMinutes"] = gen.PtrOf(gen.Int()) +} + +// AddRelatedPropertyGeneratorsForManagedClusterLoadBalancerProfile is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterLoadBalancerProfile(gens map[string]gopter.Gen) { + gens["EffectiveOutboundIPs"] = gen.SliceOf(ResourceReferenceGenerator()) + gens["ManagedOutboundIPs"] = gen.PtrOf(ManagedClusterLoadBalancerProfile_ManagedOutboundIPsGenerator()) + gens["OutboundIPPrefixes"] = gen.PtrOf(ManagedClusterLoadBalancerProfile_OutboundIPPrefixesGenerator()) + gens["OutboundIPs"] = gen.PtrOf(ManagedClusterLoadBalancerProfile_OutboundIPsGenerator()) +} + +func Test_ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterLoadBalancerProfile_ManagedOutboundIPs via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterLoadBalancerProfile_ManagedOutboundIPs, ManagedClusterLoadBalancerProfile_ManagedOutboundIPsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterLoadBalancerProfile_ManagedOutboundIPs runs a test to see if a specific instance of ManagedClusterLoadBalancerProfile_ManagedOutboundIPs round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterLoadBalancerProfile_ManagedOutboundIPs(subject ManagedClusterLoadBalancerProfile_ManagedOutboundIPs) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterLoadBalancerProfile_ManagedOutboundIPs + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterLoadBalancerProfile_ManagedOutboundIPs instances for property testing - lazily +// instantiated by ManagedClusterLoadBalancerProfile_ManagedOutboundIPsGenerator() +var managedClusterLoadBalancerProfile_ManagedOutboundIPsGenerator gopter.Gen + +// ManagedClusterLoadBalancerProfile_ManagedOutboundIPsGenerator returns a generator of ManagedClusterLoadBalancerProfile_ManagedOutboundIPs instances for property testing. +func ManagedClusterLoadBalancerProfile_ManagedOutboundIPsGenerator() gopter.Gen { + if managedClusterLoadBalancerProfile_ManagedOutboundIPsGenerator != nil { + return managedClusterLoadBalancerProfile_ManagedOutboundIPsGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterLoadBalancerProfile_ManagedOutboundIPs(generators) + managedClusterLoadBalancerProfile_ManagedOutboundIPsGenerator = gen.Struct(reflect.TypeOf(ManagedClusterLoadBalancerProfile_ManagedOutboundIPs{}), generators) + + return managedClusterLoadBalancerProfile_ManagedOutboundIPsGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterLoadBalancerProfile_ManagedOutboundIPs is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterLoadBalancerProfile_ManagedOutboundIPs(gens map[string]gopter.Gen) { + gens["Count"] = gen.PtrOf(gen.Int()) + gens["CountIPv6"] = gen.PtrOf(gen.Int()) +} + +func Test_ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterLoadBalancerProfile_OutboundIPPrefixes via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterLoadBalancerProfile_OutboundIPPrefixes, ManagedClusterLoadBalancerProfile_OutboundIPPrefixesGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterLoadBalancerProfile_OutboundIPPrefixes runs a test to see if a specific instance of ManagedClusterLoadBalancerProfile_OutboundIPPrefixes round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterLoadBalancerProfile_OutboundIPPrefixes(subject ManagedClusterLoadBalancerProfile_OutboundIPPrefixes) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterLoadBalancerProfile_OutboundIPPrefixes + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterLoadBalancerProfile_OutboundIPPrefixes instances for property testing - lazily +// instantiated by ManagedClusterLoadBalancerProfile_OutboundIPPrefixesGenerator() +var managedClusterLoadBalancerProfile_OutboundIPPrefixesGenerator gopter.Gen + +// ManagedClusterLoadBalancerProfile_OutboundIPPrefixesGenerator returns a generator of ManagedClusterLoadBalancerProfile_OutboundIPPrefixes instances for property testing. +func ManagedClusterLoadBalancerProfile_OutboundIPPrefixesGenerator() gopter.Gen { + if managedClusterLoadBalancerProfile_OutboundIPPrefixesGenerator != nil { + return managedClusterLoadBalancerProfile_OutboundIPPrefixesGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForManagedClusterLoadBalancerProfile_OutboundIPPrefixes(generators) + managedClusterLoadBalancerProfile_OutboundIPPrefixesGenerator = gen.Struct(reflect.TypeOf(ManagedClusterLoadBalancerProfile_OutboundIPPrefixes{}), generators) + + return managedClusterLoadBalancerProfile_OutboundIPPrefixesGenerator +} + +// AddRelatedPropertyGeneratorsForManagedClusterLoadBalancerProfile_OutboundIPPrefixes is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterLoadBalancerProfile_OutboundIPPrefixes(gens map[string]gopter.Gen) { + gens["PublicIPPrefixes"] = gen.SliceOf(ResourceReferenceGenerator()) +} + +func Test_ManagedClusterLoadBalancerProfile_OutboundIPs_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterLoadBalancerProfile_OutboundIPs via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterLoadBalancerProfile_OutboundIPs, ManagedClusterLoadBalancerProfile_OutboundIPsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterLoadBalancerProfile_OutboundIPs runs a test to see if a specific instance of ManagedClusterLoadBalancerProfile_OutboundIPs round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterLoadBalancerProfile_OutboundIPs(subject ManagedClusterLoadBalancerProfile_OutboundIPs) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterLoadBalancerProfile_OutboundIPs + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterLoadBalancerProfile_OutboundIPs instances for property testing - lazily instantiated by +// ManagedClusterLoadBalancerProfile_OutboundIPsGenerator() +var managedClusterLoadBalancerProfile_OutboundIPsGenerator gopter.Gen + +// ManagedClusterLoadBalancerProfile_OutboundIPsGenerator returns a generator of ManagedClusterLoadBalancerProfile_OutboundIPs instances for property testing. +func ManagedClusterLoadBalancerProfile_OutboundIPsGenerator() gopter.Gen { + if managedClusterLoadBalancerProfile_OutboundIPsGenerator != nil { + return managedClusterLoadBalancerProfile_OutboundIPsGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForManagedClusterLoadBalancerProfile_OutboundIPs(generators) + managedClusterLoadBalancerProfile_OutboundIPsGenerator = gen.Struct(reflect.TypeOf(ManagedClusterLoadBalancerProfile_OutboundIPs{}), generators) + + return managedClusterLoadBalancerProfile_OutboundIPsGenerator +} + +// AddRelatedPropertyGeneratorsForManagedClusterLoadBalancerProfile_OutboundIPs is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterLoadBalancerProfile_OutboundIPs(gens map[string]gopter.Gen) { + gens["PublicIPs"] = gen.SliceOf(ResourceReferenceGenerator()) +} + +func Test_ManagedClusterManagedOutboundIPProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterManagedOutboundIPProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterManagedOutboundIPProfile, ManagedClusterManagedOutboundIPProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterManagedOutboundIPProfile runs a test to see if a specific instance of ManagedClusterManagedOutboundIPProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterManagedOutboundIPProfile(subject ManagedClusterManagedOutboundIPProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterManagedOutboundIPProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterManagedOutboundIPProfile instances for property testing - lazily instantiated by +// ManagedClusterManagedOutboundIPProfileGenerator() +var managedClusterManagedOutboundIPProfileGenerator gopter.Gen + +// ManagedClusterManagedOutboundIPProfileGenerator returns a generator of ManagedClusterManagedOutboundIPProfile instances for property testing. +func ManagedClusterManagedOutboundIPProfileGenerator() gopter.Gen { + if managedClusterManagedOutboundIPProfileGenerator != nil { + return managedClusterManagedOutboundIPProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterManagedOutboundIPProfile(generators) + managedClusterManagedOutboundIPProfileGenerator = gen.Struct(reflect.TypeOf(ManagedClusterManagedOutboundIPProfile{}), generators) + + return managedClusterManagedOutboundIPProfileGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterManagedOutboundIPProfile is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterManagedOutboundIPProfile(gens map[string]gopter.Gen) { + gens["Count"] = gen.PtrOf(gen.Int()) +} + +func Test_ManagedClusterMetricsProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterMetricsProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterMetricsProfile, ManagedClusterMetricsProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterMetricsProfile runs a test to see if a specific instance of ManagedClusterMetricsProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterMetricsProfile(subject ManagedClusterMetricsProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterMetricsProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterMetricsProfile instances for property testing - lazily instantiated by +// ManagedClusterMetricsProfileGenerator() +var managedClusterMetricsProfileGenerator gopter.Gen + +// ManagedClusterMetricsProfileGenerator returns a generator of ManagedClusterMetricsProfile instances for property testing. +func ManagedClusterMetricsProfileGenerator() gopter.Gen { + if managedClusterMetricsProfileGenerator != nil { + return managedClusterMetricsProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForManagedClusterMetricsProfile(generators) + managedClusterMetricsProfileGenerator = gen.Struct(reflect.TypeOf(ManagedClusterMetricsProfile{}), generators) + + return managedClusterMetricsProfileGenerator +} + +// AddRelatedPropertyGeneratorsForManagedClusterMetricsProfile is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterMetricsProfile(gens map[string]gopter.Gen) { + gens["CostAnalysis"] = gen.PtrOf(ManagedClusterCostAnalysisGenerator()) +} + +func Test_ManagedClusterNATGatewayProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterNATGatewayProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterNATGatewayProfile, ManagedClusterNATGatewayProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterNATGatewayProfile runs a test to see if a specific instance of ManagedClusterNATGatewayProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterNATGatewayProfile(subject ManagedClusterNATGatewayProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterNATGatewayProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterNATGatewayProfile instances for property testing - lazily instantiated by +// ManagedClusterNATGatewayProfileGenerator() +var managedClusterNATGatewayProfileGenerator gopter.Gen + +// ManagedClusterNATGatewayProfileGenerator returns a generator of ManagedClusterNATGatewayProfile instances for property testing. +// We first initialize managedClusterNATGatewayProfileGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func ManagedClusterNATGatewayProfileGenerator() gopter.Gen { + if managedClusterNATGatewayProfileGenerator != nil { + return managedClusterNATGatewayProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterNATGatewayProfile(generators) + managedClusterNATGatewayProfileGenerator = gen.Struct(reflect.TypeOf(ManagedClusterNATGatewayProfile{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterNATGatewayProfile(generators) + AddRelatedPropertyGeneratorsForManagedClusterNATGatewayProfile(generators) + managedClusterNATGatewayProfileGenerator = gen.Struct(reflect.TypeOf(ManagedClusterNATGatewayProfile{}), generators) + + return managedClusterNATGatewayProfileGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterNATGatewayProfile is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterNATGatewayProfile(gens map[string]gopter.Gen) { + gens["IdleTimeoutInMinutes"] = gen.PtrOf(gen.Int()) +} + +// AddRelatedPropertyGeneratorsForManagedClusterNATGatewayProfile is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterNATGatewayProfile(gens map[string]gopter.Gen) { + gens["EffectiveOutboundIPs"] = gen.SliceOf(ResourceReferenceGenerator()) + gens["ManagedOutboundIPProfile"] = gen.PtrOf(ManagedClusterManagedOutboundIPProfileGenerator()) +} + +func Test_ManagedClusterNodeResourceGroupProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterNodeResourceGroupProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterNodeResourceGroupProfile, ManagedClusterNodeResourceGroupProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterNodeResourceGroupProfile runs a test to see if a specific instance of ManagedClusterNodeResourceGroupProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterNodeResourceGroupProfile(subject ManagedClusterNodeResourceGroupProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterNodeResourceGroupProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterNodeResourceGroupProfile instances for property testing - lazily instantiated by +// ManagedClusterNodeResourceGroupProfileGenerator() +var managedClusterNodeResourceGroupProfileGenerator gopter.Gen + +// ManagedClusterNodeResourceGroupProfileGenerator returns a generator of ManagedClusterNodeResourceGroupProfile instances for property testing. +func ManagedClusterNodeResourceGroupProfileGenerator() gopter.Gen { + if managedClusterNodeResourceGroupProfileGenerator != nil { + return managedClusterNodeResourceGroupProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterNodeResourceGroupProfile(generators) + managedClusterNodeResourceGroupProfileGenerator = gen.Struct(reflect.TypeOf(ManagedClusterNodeResourceGroupProfile{}), generators) + + return managedClusterNodeResourceGroupProfileGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterNodeResourceGroupProfile is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterNodeResourceGroupProfile(gens map[string]gopter.Gen) { + gens["RestrictionLevel"] = gen.PtrOf(gen.OneConstOf(ManagedClusterNodeResourceGroupProfile_RestrictionLevel_ReadOnly, ManagedClusterNodeResourceGroupProfile_RestrictionLevel_Unrestricted)) +} + +func Test_ManagedClusterOIDCIssuerProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterOIDCIssuerProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterOIDCIssuerProfile, ManagedClusterOIDCIssuerProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterOIDCIssuerProfile runs a test to see if a specific instance of ManagedClusterOIDCIssuerProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterOIDCIssuerProfile(subject ManagedClusterOIDCIssuerProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterOIDCIssuerProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterOIDCIssuerProfile instances for property testing - lazily instantiated by +// ManagedClusterOIDCIssuerProfileGenerator() +var managedClusterOIDCIssuerProfileGenerator gopter.Gen + +// ManagedClusterOIDCIssuerProfileGenerator returns a generator of ManagedClusterOIDCIssuerProfile instances for property testing. +func ManagedClusterOIDCIssuerProfileGenerator() gopter.Gen { + if managedClusterOIDCIssuerProfileGenerator != nil { + return managedClusterOIDCIssuerProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterOIDCIssuerProfile(generators) + managedClusterOIDCIssuerProfileGenerator = gen.Struct(reflect.TypeOf(ManagedClusterOIDCIssuerProfile{}), generators) + + return managedClusterOIDCIssuerProfileGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterOIDCIssuerProfile is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterOIDCIssuerProfile(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +func Test_ManagedClusterPodIdentity_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterPodIdentity via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterPodIdentity, ManagedClusterPodIdentityGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterPodIdentity runs a test to see if a specific instance of ManagedClusterPodIdentity round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterPodIdentity(subject ManagedClusterPodIdentity) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterPodIdentity + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterPodIdentity instances for property testing - lazily instantiated by +// ManagedClusterPodIdentityGenerator() +var managedClusterPodIdentityGenerator gopter.Gen + +// ManagedClusterPodIdentityGenerator returns a generator of ManagedClusterPodIdentity instances for property testing. +// We first initialize managedClusterPodIdentityGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func ManagedClusterPodIdentityGenerator() gopter.Gen { + if managedClusterPodIdentityGenerator != nil { + return managedClusterPodIdentityGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterPodIdentity(generators) + managedClusterPodIdentityGenerator = gen.Struct(reflect.TypeOf(ManagedClusterPodIdentity{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterPodIdentity(generators) + AddRelatedPropertyGeneratorsForManagedClusterPodIdentity(generators) + managedClusterPodIdentityGenerator = gen.Struct(reflect.TypeOf(ManagedClusterPodIdentity{}), generators) + + return managedClusterPodIdentityGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterPodIdentity is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterPodIdentity(gens map[string]gopter.Gen) { + gens["BindingSelector"] = gen.PtrOf(gen.AlphaString()) + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["Namespace"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForManagedClusterPodIdentity is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterPodIdentity(gens map[string]gopter.Gen) { + gens["Identity"] = gen.PtrOf(UserAssignedIdentityGenerator()) +} + +func Test_ManagedClusterPodIdentityException_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterPodIdentityException via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterPodIdentityException, ManagedClusterPodIdentityExceptionGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterPodIdentityException runs a test to see if a specific instance of ManagedClusterPodIdentityException round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterPodIdentityException(subject ManagedClusterPodIdentityException) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterPodIdentityException + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterPodIdentityException instances for property testing - lazily instantiated by +// ManagedClusterPodIdentityExceptionGenerator() +var managedClusterPodIdentityExceptionGenerator gopter.Gen + +// ManagedClusterPodIdentityExceptionGenerator returns a generator of ManagedClusterPodIdentityException instances for property testing. +func ManagedClusterPodIdentityExceptionGenerator() gopter.Gen { + if managedClusterPodIdentityExceptionGenerator != nil { + return managedClusterPodIdentityExceptionGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterPodIdentityException(generators) + managedClusterPodIdentityExceptionGenerator = gen.Struct(reflect.TypeOf(ManagedClusterPodIdentityException{}), generators) + + return managedClusterPodIdentityExceptionGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterPodIdentityException is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterPodIdentityException(gens map[string]gopter.Gen) { + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["Namespace"] = gen.PtrOf(gen.AlphaString()) + gens["PodLabels"] = gen.MapOf( + gen.AlphaString(), + gen.AlphaString()) +} + +func Test_ManagedClusterPodIdentityProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterPodIdentityProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterPodIdentityProfile, ManagedClusterPodIdentityProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterPodIdentityProfile runs a test to see if a specific instance of ManagedClusterPodIdentityProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterPodIdentityProfile(subject ManagedClusterPodIdentityProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterPodIdentityProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterPodIdentityProfile instances for property testing - lazily instantiated by +// ManagedClusterPodIdentityProfileGenerator() +var managedClusterPodIdentityProfileGenerator gopter.Gen + +// ManagedClusterPodIdentityProfileGenerator returns a generator of ManagedClusterPodIdentityProfile instances for property testing. +// We first initialize managedClusterPodIdentityProfileGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func ManagedClusterPodIdentityProfileGenerator() gopter.Gen { + if managedClusterPodIdentityProfileGenerator != nil { + return managedClusterPodIdentityProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterPodIdentityProfile(generators) + managedClusterPodIdentityProfileGenerator = gen.Struct(reflect.TypeOf(ManagedClusterPodIdentityProfile{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterPodIdentityProfile(generators) + AddRelatedPropertyGeneratorsForManagedClusterPodIdentityProfile(generators) + managedClusterPodIdentityProfileGenerator = gen.Struct(reflect.TypeOf(ManagedClusterPodIdentityProfile{}), generators) + + return managedClusterPodIdentityProfileGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterPodIdentityProfile is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterPodIdentityProfile(gens map[string]gopter.Gen) { + gens["AllowNetworkPluginKubenet"] = gen.PtrOf(gen.Bool()) + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +// AddRelatedPropertyGeneratorsForManagedClusterPodIdentityProfile is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterPodIdentityProfile(gens map[string]gopter.Gen) { + gens["UserAssignedIdentities"] = gen.SliceOf(ManagedClusterPodIdentityGenerator()) + gens["UserAssignedIdentityExceptions"] = gen.SliceOf(ManagedClusterPodIdentityExceptionGenerator()) +} + +func Test_ManagedClusterProperties_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterProperties via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterProperties, ManagedClusterPropertiesGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterProperties runs a test to see if a specific instance of ManagedClusterProperties round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterProperties(subject ManagedClusterProperties) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterProperties + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterProperties instances for property testing - lazily instantiated by +// ManagedClusterPropertiesGenerator() +var managedClusterPropertiesGenerator gopter.Gen + +// ManagedClusterPropertiesGenerator returns a generator of ManagedClusterProperties instances for property testing. +// We first initialize managedClusterPropertiesGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func ManagedClusterPropertiesGenerator() gopter.Gen { + if managedClusterPropertiesGenerator != nil { + return managedClusterPropertiesGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterProperties(generators) + managedClusterPropertiesGenerator = gen.Struct(reflect.TypeOf(ManagedClusterProperties{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterProperties(generators) + AddRelatedPropertyGeneratorsForManagedClusterProperties(generators) + managedClusterPropertiesGenerator = gen.Struct(reflect.TypeOf(ManagedClusterProperties{}), generators) + + return managedClusterPropertiesGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterProperties is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterProperties(gens map[string]gopter.Gen) { + gens["DisableLocalAccounts"] = gen.PtrOf(gen.Bool()) + gens["DiskEncryptionSetID"] = gen.PtrOf(gen.AlphaString()) + gens["DnsPrefix"] = gen.PtrOf(gen.AlphaString()) + gens["EnablePodSecurityPolicy"] = gen.PtrOf(gen.Bool()) + gens["EnableRBAC"] = gen.PtrOf(gen.Bool()) + gens["FqdnSubdomain"] = gen.PtrOf(gen.AlphaString()) + gens["KubernetesVersion"] = gen.PtrOf(gen.AlphaString()) + gens["NodeResourceGroup"] = gen.PtrOf(gen.AlphaString()) + gens["PublicNetworkAccess"] = gen.PtrOf(gen.OneConstOf(ManagedClusterProperties_PublicNetworkAccess_Disabled, ManagedClusterProperties_PublicNetworkAccess_Enabled)) + gens["SupportPlan"] = gen.PtrOf(gen.OneConstOf(KubernetesSupportPlan_AKSLongTermSupport, KubernetesSupportPlan_KubernetesOfficial)) +} + +// AddRelatedPropertyGeneratorsForManagedClusterProperties is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterProperties(gens map[string]gopter.Gen) { + gens["AadProfile"] = gen.PtrOf(ManagedClusterAADProfileGenerator()) + gens["AddonProfiles"] = gen.MapOf( + gen.AlphaString(), + ManagedClusterAddonProfileGenerator()) + gens["AgentPoolProfiles"] = gen.SliceOf(ManagedClusterAgentPoolProfileGenerator()) + gens["ApiServerAccessProfile"] = gen.PtrOf(ManagedClusterAPIServerAccessProfileGenerator()) + gens["AutoScalerProfile"] = gen.PtrOf(ManagedClusterProperties_AutoScalerProfileGenerator()) + gens["AutoUpgradeProfile"] = gen.PtrOf(ManagedClusterAutoUpgradeProfileGenerator()) + gens["AzureMonitorProfile"] = gen.PtrOf(ManagedClusterAzureMonitorProfileGenerator()) + gens["HttpProxyConfig"] = gen.PtrOf(ManagedClusterHTTPProxyConfigGenerator()) + gens["IdentityProfile"] = gen.MapOf( + gen.AlphaString(), + UserAssignedIdentityGenerator()) + gens["IngressProfile"] = gen.PtrOf(ManagedClusterIngressProfileGenerator()) + gens["LinuxProfile"] = gen.PtrOf(ContainerServiceLinuxProfileGenerator()) + gens["MetricsProfile"] = gen.PtrOf(ManagedClusterMetricsProfileGenerator()) + gens["NetworkProfile"] = gen.PtrOf(ContainerServiceNetworkProfileGenerator()) + gens["NodeResourceGroupProfile"] = gen.PtrOf(ManagedClusterNodeResourceGroupProfileGenerator()) + gens["OidcIssuerProfile"] = gen.PtrOf(ManagedClusterOIDCIssuerProfileGenerator()) + gens["PodIdentityProfile"] = gen.PtrOf(ManagedClusterPodIdentityProfileGenerator()) + gens["PrivateLinkResources"] = gen.SliceOf(PrivateLinkResourceGenerator()) + gens["SecurityProfile"] = gen.PtrOf(ManagedClusterSecurityProfileGenerator()) + gens["ServiceMeshProfile"] = gen.PtrOf(ServiceMeshProfileGenerator()) + gens["ServicePrincipalProfile"] = gen.PtrOf(ManagedClusterServicePrincipalProfileGenerator()) + gens["StorageProfile"] = gen.PtrOf(ManagedClusterStorageProfileGenerator()) + gens["UpgradeSettings"] = gen.PtrOf(ClusterUpgradeSettingsGenerator()) + gens["WindowsProfile"] = gen.PtrOf(ManagedClusterWindowsProfileGenerator()) + gens["WorkloadAutoScalerProfile"] = gen.PtrOf(ManagedClusterWorkloadAutoScalerProfileGenerator()) +} + +func Test_ManagedClusterProperties_AutoScalerProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterProperties_AutoScalerProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterProperties_AutoScalerProfile, ManagedClusterProperties_AutoScalerProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterProperties_AutoScalerProfile runs a test to see if a specific instance of ManagedClusterProperties_AutoScalerProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterProperties_AutoScalerProfile(subject ManagedClusterProperties_AutoScalerProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterProperties_AutoScalerProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterProperties_AutoScalerProfile instances for property testing - lazily instantiated by +// ManagedClusterProperties_AutoScalerProfileGenerator() +var managedClusterProperties_AutoScalerProfileGenerator gopter.Gen + +// ManagedClusterProperties_AutoScalerProfileGenerator returns a generator of ManagedClusterProperties_AutoScalerProfile instances for property testing. +func ManagedClusterProperties_AutoScalerProfileGenerator() gopter.Gen { + if managedClusterProperties_AutoScalerProfileGenerator != nil { + return managedClusterProperties_AutoScalerProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterProperties_AutoScalerProfile(generators) + managedClusterProperties_AutoScalerProfileGenerator = gen.Struct(reflect.TypeOf(ManagedClusterProperties_AutoScalerProfile{}), generators) + + return managedClusterProperties_AutoScalerProfileGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterProperties_AutoScalerProfile is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterProperties_AutoScalerProfile(gens map[string]gopter.Gen) { + gens["BalanceSimilarNodeGroups"] = gen.PtrOf(gen.AlphaString()) + gens["DaemonsetEvictionForEmptyNodes"] = gen.PtrOf(gen.Bool()) + gens["DaemonsetEvictionForOccupiedNodes"] = gen.PtrOf(gen.Bool()) + gens["Expander"] = gen.PtrOf(gen.OneConstOf( + ManagedClusterProperties_AutoScalerProfile_Expander_LeastWaste, + ManagedClusterProperties_AutoScalerProfile_Expander_MostPods, + ManagedClusterProperties_AutoScalerProfile_Expander_Priority, + ManagedClusterProperties_AutoScalerProfile_Expander_Random)) + gens["IgnoreDaemonsetsUtilization"] = gen.PtrOf(gen.Bool()) + gens["MaxEmptyBulkDelete"] = gen.PtrOf(gen.AlphaString()) + gens["MaxGracefulTerminationSec"] = gen.PtrOf(gen.AlphaString()) + gens["MaxNodeProvisionTime"] = gen.PtrOf(gen.AlphaString()) + gens["MaxTotalUnreadyPercentage"] = gen.PtrOf(gen.AlphaString()) + gens["NewPodScaleUpDelay"] = gen.PtrOf(gen.AlphaString()) + gens["OkTotalUnreadyCount"] = gen.PtrOf(gen.AlphaString()) + gens["ScaleDownDelayAfterAdd"] = gen.PtrOf(gen.AlphaString()) + gens["ScaleDownDelayAfterDelete"] = gen.PtrOf(gen.AlphaString()) + gens["ScaleDownDelayAfterFailure"] = gen.PtrOf(gen.AlphaString()) + gens["ScaleDownUnneededTime"] = gen.PtrOf(gen.AlphaString()) + gens["ScaleDownUnreadyTime"] = gen.PtrOf(gen.AlphaString()) + gens["ScaleDownUtilizationThreshold"] = gen.PtrOf(gen.AlphaString()) + gens["ScanInterval"] = gen.PtrOf(gen.AlphaString()) + gens["SkipNodesWithLocalStorage"] = gen.PtrOf(gen.AlphaString()) + gens["SkipNodesWithSystemPods"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ManagedClusterSKU_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterSKU via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterSKU, ManagedClusterSKUGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterSKU runs a test to see if a specific instance of ManagedClusterSKU round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterSKU(subject ManagedClusterSKU) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterSKU + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterSKU instances for property testing - lazily instantiated by ManagedClusterSKUGenerator() +var managedClusterSKUGenerator gopter.Gen + +// ManagedClusterSKUGenerator returns a generator of ManagedClusterSKU instances for property testing. +func ManagedClusterSKUGenerator() gopter.Gen { + if managedClusterSKUGenerator != nil { + return managedClusterSKUGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterSKU(generators) + managedClusterSKUGenerator = gen.Struct(reflect.TypeOf(ManagedClusterSKU{}), generators) + + return managedClusterSKUGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterSKU is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterSKU(gens map[string]gopter.Gen) { + gens["Name"] = gen.PtrOf(gen.OneConstOf(ManagedClusterSKU_Name_Base)) + gens["Tier"] = gen.PtrOf(gen.OneConstOf(ManagedClusterSKU_Tier_Free, ManagedClusterSKU_Tier_Premium, ManagedClusterSKU_Tier_Standard)) +} + +func Test_ManagedClusterSecurityProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterSecurityProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterSecurityProfile, ManagedClusterSecurityProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterSecurityProfile runs a test to see if a specific instance of ManagedClusterSecurityProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterSecurityProfile(subject ManagedClusterSecurityProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterSecurityProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterSecurityProfile instances for property testing - lazily instantiated by +// ManagedClusterSecurityProfileGenerator() +var managedClusterSecurityProfileGenerator gopter.Gen + +// ManagedClusterSecurityProfileGenerator returns a generator of ManagedClusterSecurityProfile instances for property testing. +func ManagedClusterSecurityProfileGenerator() gopter.Gen { + if managedClusterSecurityProfileGenerator != nil { + return managedClusterSecurityProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForManagedClusterSecurityProfile(generators) + managedClusterSecurityProfileGenerator = gen.Struct(reflect.TypeOf(ManagedClusterSecurityProfile{}), generators) + + return managedClusterSecurityProfileGenerator +} + +// AddRelatedPropertyGeneratorsForManagedClusterSecurityProfile is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterSecurityProfile(gens map[string]gopter.Gen) { + gens["AzureKeyVaultKms"] = gen.PtrOf(AzureKeyVaultKmsGenerator()) + gens["Defender"] = gen.PtrOf(ManagedClusterSecurityProfileDefenderGenerator()) + gens["ImageCleaner"] = gen.PtrOf(ManagedClusterSecurityProfileImageCleanerGenerator()) + gens["WorkloadIdentity"] = gen.PtrOf(ManagedClusterSecurityProfileWorkloadIdentityGenerator()) +} + +func Test_ManagedClusterSecurityProfileDefender_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterSecurityProfileDefender via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterSecurityProfileDefender, ManagedClusterSecurityProfileDefenderGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterSecurityProfileDefender runs a test to see if a specific instance of ManagedClusterSecurityProfileDefender round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterSecurityProfileDefender(subject ManagedClusterSecurityProfileDefender) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterSecurityProfileDefender + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterSecurityProfileDefender instances for property testing - lazily instantiated by +// ManagedClusterSecurityProfileDefenderGenerator() +var managedClusterSecurityProfileDefenderGenerator gopter.Gen + +// ManagedClusterSecurityProfileDefenderGenerator returns a generator of ManagedClusterSecurityProfileDefender instances for property testing. +// We first initialize managedClusterSecurityProfileDefenderGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func ManagedClusterSecurityProfileDefenderGenerator() gopter.Gen { + if managedClusterSecurityProfileDefenderGenerator != nil { + return managedClusterSecurityProfileDefenderGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterSecurityProfileDefender(generators) + managedClusterSecurityProfileDefenderGenerator = gen.Struct(reflect.TypeOf(ManagedClusterSecurityProfileDefender{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterSecurityProfileDefender(generators) + AddRelatedPropertyGeneratorsForManagedClusterSecurityProfileDefender(generators) + managedClusterSecurityProfileDefenderGenerator = gen.Struct(reflect.TypeOf(ManagedClusterSecurityProfileDefender{}), generators) + + return managedClusterSecurityProfileDefenderGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterSecurityProfileDefender is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterSecurityProfileDefender(gens map[string]gopter.Gen) { + gens["LogAnalyticsWorkspaceResourceId"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForManagedClusterSecurityProfileDefender is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterSecurityProfileDefender(gens map[string]gopter.Gen) { + gens["SecurityMonitoring"] = gen.PtrOf(ManagedClusterSecurityProfileDefenderSecurityMonitoringGenerator()) +} + +func Test_ManagedClusterSecurityProfileDefenderSecurityMonitoring_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterSecurityProfileDefenderSecurityMonitoring via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterSecurityProfileDefenderSecurityMonitoring, ManagedClusterSecurityProfileDefenderSecurityMonitoringGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterSecurityProfileDefenderSecurityMonitoring runs a test to see if a specific instance of ManagedClusterSecurityProfileDefenderSecurityMonitoring round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterSecurityProfileDefenderSecurityMonitoring(subject ManagedClusterSecurityProfileDefenderSecurityMonitoring) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterSecurityProfileDefenderSecurityMonitoring + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterSecurityProfileDefenderSecurityMonitoring instances for property testing - lazily +// instantiated by ManagedClusterSecurityProfileDefenderSecurityMonitoringGenerator() +var managedClusterSecurityProfileDefenderSecurityMonitoringGenerator gopter.Gen + +// ManagedClusterSecurityProfileDefenderSecurityMonitoringGenerator returns a generator of ManagedClusterSecurityProfileDefenderSecurityMonitoring instances for property testing. +func ManagedClusterSecurityProfileDefenderSecurityMonitoringGenerator() gopter.Gen { + if managedClusterSecurityProfileDefenderSecurityMonitoringGenerator != nil { + return managedClusterSecurityProfileDefenderSecurityMonitoringGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterSecurityProfileDefenderSecurityMonitoring(generators) + managedClusterSecurityProfileDefenderSecurityMonitoringGenerator = gen.Struct(reflect.TypeOf(ManagedClusterSecurityProfileDefenderSecurityMonitoring{}), generators) + + return managedClusterSecurityProfileDefenderSecurityMonitoringGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterSecurityProfileDefenderSecurityMonitoring is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterSecurityProfileDefenderSecurityMonitoring(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +func Test_ManagedClusterSecurityProfileImageCleaner_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterSecurityProfileImageCleaner via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterSecurityProfileImageCleaner, ManagedClusterSecurityProfileImageCleanerGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterSecurityProfileImageCleaner runs a test to see if a specific instance of ManagedClusterSecurityProfileImageCleaner round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterSecurityProfileImageCleaner(subject ManagedClusterSecurityProfileImageCleaner) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterSecurityProfileImageCleaner + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterSecurityProfileImageCleaner instances for property testing - lazily instantiated by +// ManagedClusterSecurityProfileImageCleanerGenerator() +var managedClusterSecurityProfileImageCleanerGenerator gopter.Gen + +// ManagedClusterSecurityProfileImageCleanerGenerator returns a generator of ManagedClusterSecurityProfileImageCleaner instances for property testing. +func ManagedClusterSecurityProfileImageCleanerGenerator() gopter.Gen { + if managedClusterSecurityProfileImageCleanerGenerator != nil { + return managedClusterSecurityProfileImageCleanerGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterSecurityProfileImageCleaner(generators) + managedClusterSecurityProfileImageCleanerGenerator = gen.Struct(reflect.TypeOf(ManagedClusterSecurityProfileImageCleaner{}), generators) + + return managedClusterSecurityProfileImageCleanerGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterSecurityProfileImageCleaner is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterSecurityProfileImageCleaner(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) + gens["IntervalHours"] = gen.PtrOf(gen.Int()) +} + +func Test_ManagedClusterSecurityProfileWorkloadIdentity_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterSecurityProfileWorkloadIdentity via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterSecurityProfileWorkloadIdentity, ManagedClusterSecurityProfileWorkloadIdentityGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterSecurityProfileWorkloadIdentity runs a test to see if a specific instance of ManagedClusterSecurityProfileWorkloadIdentity round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterSecurityProfileWorkloadIdentity(subject ManagedClusterSecurityProfileWorkloadIdentity) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterSecurityProfileWorkloadIdentity + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterSecurityProfileWorkloadIdentity instances for property testing - lazily instantiated by +// ManagedClusterSecurityProfileWorkloadIdentityGenerator() +var managedClusterSecurityProfileWorkloadIdentityGenerator gopter.Gen + +// ManagedClusterSecurityProfileWorkloadIdentityGenerator returns a generator of ManagedClusterSecurityProfileWorkloadIdentity instances for property testing. +func ManagedClusterSecurityProfileWorkloadIdentityGenerator() gopter.Gen { + if managedClusterSecurityProfileWorkloadIdentityGenerator != nil { + return managedClusterSecurityProfileWorkloadIdentityGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterSecurityProfileWorkloadIdentity(generators) + managedClusterSecurityProfileWorkloadIdentityGenerator = gen.Struct(reflect.TypeOf(ManagedClusterSecurityProfileWorkloadIdentity{}), generators) + + return managedClusterSecurityProfileWorkloadIdentityGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterSecurityProfileWorkloadIdentity is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterSecurityProfileWorkloadIdentity(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +func Test_ManagedClusterServicePrincipalProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterServicePrincipalProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterServicePrincipalProfile, ManagedClusterServicePrincipalProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterServicePrincipalProfile runs a test to see if a specific instance of ManagedClusterServicePrincipalProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterServicePrincipalProfile(subject ManagedClusterServicePrincipalProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterServicePrincipalProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterServicePrincipalProfile instances for property testing - lazily instantiated by +// ManagedClusterServicePrincipalProfileGenerator() +var managedClusterServicePrincipalProfileGenerator gopter.Gen + +// ManagedClusterServicePrincipalProfileGenerator returns a generator of ManagedClusterServicePrincipalProfile instances for property testing. +func ManagedClusterServicePrincipalProfileGenerator() gopter.Gen { + if managedClusterServicePrincipalProfileGenerator != nil { + return managedClusterServicePrincipalProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterServicePrincipalProfile(generators) + managedClusterServicePrincipalProfileGenerator = gen.Struct(reflect.TypeOf(ManagedClusterServicePrincipalProfile{}), generators) + + return managedClusterServicePrincipalProfileGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterServicePrincipalProfile is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterServicePrincipalProfile(gens map[string]gopter.Gen) { + gens["ClientId"] = gen.PtrOf(gen.AlphaString()) + gens["Secret"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ManagedClusterStorageProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterStorageProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterStorageProfile, ManagedClusterStorageProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterStorageProfile runs a test to see if a specific instance of ManagedClusterStorageProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterStorageProfile(subject ManagedClusterStorageProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterStorageProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterStorageProfile instances for property testing - lazily instantiated by +// ManagedClusterStorageProfileGenerator() +var managedClusterStorageProfileGenerator gopter.Gen + +// ManagedClusterStorageProfileGenerator returns a generator of ManagedClusterStorageProfile instances for property testing. +func ManagedClusterStorageProfileGenerator() gopter.Gen { + if managedClusterStorageProfileGenerator != nil { + return managedClusterStorageProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForManagedClusterStorageProfile(generators) + managedClusterStorageProfileGenerator = gen.Struct(reflect.TypeOf(ManagedClusterStorageProfile{}), generators) + + return managedClusterStorageProfileGenerator +} + +// AddRelatedPropertyGeneratorsForManagedClusterStorageProfile is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterStorageProfile(gens map[string]gopter.Gen) { + gens["BlobCSIDriver"] = gen.PtrOf(ManagedClusterStorageProfileBlobCSIDriverGenerator()) + gens["DiskCSIDriver"] = gen.PtrOf(ManagedClusterStorageProfileDiskCSIDriverGenerator()) + gens["FileCSIDriver"] = gen.PtrOf(ManagedClusterStorageProfileFileCSIDriverGenerator()) + gens["SnapshotController"] = gen.PtrOf(ManagedClusterStorageProfileSnapshotControllerGenerator()) +} + +func Test_ManagedClusterStorageProfileBlobCSIDriver_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterStorageProfileBlobCSIDriver via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterStorageProfileBlobCSIDriver, ManagedClusterStorageProfileBlobCSIDriverGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterStorageProfileBlobCSIDriver runs a test to see if a specific instance of ManagedClusterStorageProfileBlobCSIDriver round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterStorageProfileBlobCSIDriver(subject ManagedClusterStorageProfileBlobCSIDriver) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterStorageProfileBlobCSIDriver + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterStorageProfileBlobCSIDriver instances for property testing - lazily instantiated by +// ManagedClusterStorageProfileBlobCSIDriverGenerator() +var managedClusterStorageProfileBlobCSIDriverGenerator gopter.Gen + +// ManagedClusterStorageProfileBlobCSIDriverGenerator returns a generator of ManagedClusterStorageProfileBlobCSIDriver instances for property testing. +func ManagedClusterStorageProfileBlobCSIDriverGenerator() gopter.Gen { + if managedClusterStorageProfileBlobCSIDriverGenerator != nil { + return managedClusterStorageProfileBlobCSIDriverGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterStorageProfileBlobCSIDriver(generators) + managedClusterStorageProfileBlobCSIDriverGenerator = gen.Struct(reflect.TypeOf(ManagedClusterStorageProfileBlobCSIDriver{}), generators) + + return managedClusterStorageProfileBlobCSIDriverGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterStorageProfileBlobCSIDriver is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterStorageProfileBlobCSIDriver(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +func Test_ManagedClusterStorageProfileDiskCSIDriver_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterStorageProfileDiskCSIDriver via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterStorageProfileDiskCSIDriver, ManagedClusterStorageProfileDiskCSIDriverGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterStorageProfileDiskCSIDriver runs a test to see if a specific instance of ManagedClusterStorageProfileDiskCSIDriver round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterStorageProfileDiskCSIDriver(subject ManagedClusterStorageProfileDiskCSIDriver) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterStorageProfileDiskCSIDriver + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterStorageProfileDiskCSIDriver instances for property testing - lazily instantiated by +// ManagedClusterStorageProfileDiskCSIDriverGenerator() +var managedClusterStorageProfileDiskCSIDriverGenerator gopter.Gen + +// ManagedClusterStorageProfileDiskCSIDriverGenerator returns a generator of ManagedClusterStorageProfileDiskCSIDriver instances for property testing. +func ManagedClusterStorageProfileDiskCSIDriverGenerator() gopter.Gen { + if managedClusterStorageProfileDiskCSIDriverGenerator != nil { + return managedClusterStorageProfileDiskCSIDriverGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterStorageProfileDiskCSIDriver(generators) + managedClusterStorageProfileDiskCSIDriverGenerator = gen.Struct(reflect.TypeOf(ManagedClusterStorageProfileDiskCSIDriver{}), generators) + + return managedClusterStorageProfileDiskCSIDriverGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterStorageProfileDiskCSIDriver is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterStorageProfileDiskCSIDriver(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +func Test_ManagedClusterStorageProfileFileCSIDriver_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterStorageProfileFileCSIDriver via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterStorageProfileFileCSIDriver, ManagedClusterStorageProfileFileCSIDriverGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterStorageProfileFileCSIDriver runs a test to see if a specific instance of ManagedClusterStorageProfileFileCSIDriver round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterStorageProfileFileCSIDriver(subject ManagedClusterStorageProfileFileCSIDriver) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterStorageProfileFileCSIDriver + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterStorageProfileFileCSIDriver instances for property testing - lazily instantiated by +// ManagedClusterStorageProfileFileCSIDriverGenerator() +var managedClusterStorageProfileFileCSIDriverGenerator gopter.Gen + +// ManagedClusterStorageProfileFileCSIDriverGenerator returns a generator of ManagedClusterStorageProfileFileCSIDriver instances for property testing. +func ManagedClusterStorageProfileFileCSIDriverGenerator() gopter.Gen { + if managedClusterStorageProfileFileCSIDriverGenerator != nil { + return managedClusterStorageProfileFileCSIDriverGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterStorageProfileFileCSIDriver(generators) + managedClusterStorageProfileFileCSIDriverGenerator = gen.Struct(reflect.TypeOf(ManagedClusterStorageProfileFileCSIDriver{}), generators) + + return managedClusterStorageProfileFileCSIDriverGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterStorageProfileFileCSIDriver is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterStorageProfileFileCSIDriver(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +func Test_ManagedClusterStorageProfileSnapshotController_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterStorageProfileSnapshotController via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterStorageProfileSnapshotController, ManagedClusterStorageProfileSnapshotControllerGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterStorageProfileSnapshotController runs a test to see if a specific instance of ManagedClusterStorageProfileSnapshotController round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterStorageProfileSnapshotController(subject ManagedClusterStorageProfileSnapshotController) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterStorageProfileSnapshotController + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterStorageProfileSnapshotController instances for property testing - lazily instantiated by +// ManagedClusterStorageProfileSnapshotControllerGenerator() +var managedClusterStorageProfileSnapshotControllerGenerator gopter.Gen + +// ManagedClusterStorageProfileSnapshotControllerGenerator returns a generator of ManagedClusterStorageProfileSnapshotController instances for property testing. +func ManagedClusterStorageProfileSnapshotControllerGenerator() gopter.Gen { + if managedClusterStorageProfileSnapshotControllerGenerator != nil { + return managedClusterStorageProfileSnapshotControllerGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterStorageProfileSnapshotController(generators) + managedClusterStorageProfileSnapshotControllerGenerator = gen.Struct(reflect.TypeOf(ManagedClusterStorageProfileSnapshotController{}), generators) + + return managedClusterStorageProfileSnapshotControllerGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterStorageProfileSnapshotController is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterStorageProfileSnapshotController(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +func Test_ManagedClusterWindowsProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterWindowsProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterWindowsProfile, ManagedClusterWindowsProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterWindowsProfile runs a test to see if a specific instance of ManagedClusterWindowsProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterWindowsProfile(subject ManagedClusterWindowsProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterWindowsProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterWindowsProfile instances for property testing - lazily instantiated by +// ManagedClusterWindowsProfileGenerator() +var managedClusterWindowsProfileGenerator gopter.Gen + +// ManagedClusterWindowsProfileGenerator returns a generator of ManagedClusterWindowsProfile instances for property testing. +// We first initialize managedClusterWindowsProfileGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func ManagedClusterWindowsProfileGenerator() gopter.Gen { + if managedClusterWindowsProfileGenerator != nil { + return managedClusterWindowsProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterWindowsProfile(generators) + managedClusterWindowsProfileGenerator = gen.Struct(reflect.TypeOf(ManagedClusterWindowsProfile{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterWindowsProfile(generators) + AddRelatedPropertyGeneratorsForManagedClusterWindowsProfile(generators) + managedClusterWindowsProfileGenerator = gen.Struct(reflect.TypeOf(ManagedClusterWindowsProfile{}), generators) + + return managedClusterWindowsProfileGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterWindowsProfile is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterWindowsProfile(gens map[string]gopter.Gen) { + gens["AdminPassword"] = gen.PtrOf(gen.AlphaString()) + gens["AdminUsername"] = gen.PtrOf(gen.AlphaString()) + gens["EnableCSIProxy"] = gen.PtrOf(gen.Bool()) + gens["LicenseType"] = gen.PtrOf(gen.OneConstOf(ManagedClusterWindowsProfile_LicenseType_None, ManagedClusterWindowsProfile_LicenseType_Windows_Server)) +} + +// AddRelatedPropertyGeneratorsForManagedClusterWindowsProfile is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterWindowsProfile(gens map[string]gopter.Gen) { + gens["GmsaProfile"] = gen.PtrOf(WindowsGmsaProfileGenerator()) +} + +func Test_ManagedClusterWorkloadAutoScalerProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterWorkloadAutoScalerProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterWorkloadAutoScalerProfile, ManagedClusterWorkloadAutoScalerProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterWorkloadAutoScalerProfile runs a test to see if a specific instance of ManagedClusterWorkloadAutoScalerProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterWorkloadAutoScalerProfile(subject ManagedClusterWorkloadAutoScalerProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterWorkloadAutoScalerProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterWorkloadAutoScalerProfile instances for property testing - lazily instantiated by +// ManagedClusterWorkloadAutoScalerProfileGenerator() +var managedClusterWorkloadAutoScalerProfileGenerator gopter.Gen + +// ManagedClusterWorkloadAutoScalerProfileGenerator returns a generator of ManagedClusterWorkloadAutoScalerProfile instances for property testing. +func ManagedClusterWorkloadAutoScalerProfileGenerator() gopter.Gen { + if managedClusterWorkloadAutoScalerProfileGenerator != nil { + return managedClusterWorkloadAutoScalerProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForManagedClusterWorkloadAutoScalerProfile(generators) + managedClusterWorkloadAutoScalerProfileGenerator = gen.Struct(reflect.TypeOf(ManagedClusterWorkloadAutoScalerProfile{}), generators) + + return managedClusterWorkloadAutoScalerProfileGenerator +} + +// AddRelatedPropertyGeneratorsForManagedClusterWorkloadAutoScalerProfile is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterWorkloadAutoScalerProfile(gens map[string]gopter.Gen) { + gens["Keda"] = gen.PtrOf(ManagedClusterWorkloadAutoScalerProfileKedaGenerator()) + gens["VerticalPodAutoscaler"] = gen.PtrOf(ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerGenerator()) +} + +func Test_ManagedClusterWorkloadAutoScalerProfileKeda_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterWorkloadAutoScalerProfileKeda via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterWorkloadAutoScalerProfileKeda, ManagedClusterWorkloadAutoScalerProfileKedaGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterWorkloadAutoScalerProfileKeda runs a test to see if a specific instance of ManagedClusterWorkloadAutoScalerProfileKeda round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterWorkloadAutoScalerProfileKeda(subject ManagedClusterWorkloadAutoScalerProfileKeda) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterWorkloadAutoScalerProfileKeda + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterWorkloadAutoScalerProfileKeda instances for property testing - lazily instantiated by +// ManagedClusterWorkloadAutoScalerProfileKedaGenerator() +var managedClusterWorkloadAutoScalerProfileKedaGenerator gopter.Gen + +// ManagedClusterWorkloadAutoScalerProfileKedaGenerator returns a generator of ManagedClusterWorkloadAutoScalerProfileKeda instances for property testing. +func ManagedClusterWorkloadAutoScalerProfileKedaGenerator() gopter.Gen { + if managedClusterWorkloadAutoScalerProfileKedaGenerator != nil { + return managedClusterWorkloadAutoScalerProfileKedaGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterWorkloadAutoScalerProfileKeda(generators) + managedClusterWorkloadAutoScalerProfileKedaGenerator = gen.Struct(reflect.TypeOf(ManagedClusterWorkloadAutoScalerProfileKeda{}), generators) + + return managedClusterWorkloadAutoScalerProfileKedaGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterWorkloadAutoScalerProfileKeda is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterWorkloadAutoScalerProfileKeda(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +func Test_ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler, ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler runs a test to see if a specific instance of ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler(subject ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler instances for property testing - lazily +// instantiated by ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerGenerator() +var managedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerGenerator gopter.Gen + +// ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerGenerator returns a generator of ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler instances for property testing. +func ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerGenerator() gopter.Gen { + if managedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerGenerator != nil { + return managedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler(generators) + managedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerGenerator = gen.Struct(reflect.TypeOf(ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler{}), generators) + + return managedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +func Test_ManagedCluster_Spec_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedCluster_Spec via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedCluster_Spec, ManagedCluster_SpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedCluster_Spec runs a test to see if a specific instance of ManagedCluster_Spec round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedCluster_Spec(subject ManagedCluster_Spec) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedCluster_Spec + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedCluster_Spec instances for property testing - lazily instantiated by +// ManagedCluster_SpecGenerator() +var managedCluster_SpecGenerator gopter.Gen + +// ManagedCluster_SpecGenerator returns a generator of ManagedCluster_Spec instances for property testing. +// We first initialize managedCluster_SpecGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func ManagedCluster_SpecGenerator() gopter.Gen { + if managedCluster_SpecGenerator != nil { + return managedCluster_SpecGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedCluster_Spec(generators) + managedCluster_SpecGenerator = gen.Struct(reflect.TypeOf(ManagedCluster_Spec{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedCluster_Spec(generators) + AddRelatedPropertyGeneratorsForManagedCluster_Spec(generators) + managedCluster_SpecGenerator = gen.Struct(reflect.TypeOf(ManagedCluster_Spec{}), generators) + + return managedCluster_SpecGenerator +} + +// AddIndependentPropertyGeneratorsForManagedCluster_Spec is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedCluster_Spec(gens map[string]gopter.Gen) { + gens["Location"] = gen.PtrOf(gen.AlphaString()) + gens["Name"] = gen.AlphaString() + gens["Tags"] = gen.MapOf( + gen.AlphaString(), + gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForManagedCluster_Spec is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedCluster_Spec(gens map[string]gopter.Gen) { + gens["ExtendedLocation"] = gen.PtrOf(ExtendedLocationGenerator()) + gens["Identity"] = gen.PtrOf(ManagedClusterIdentityGenerator()) + gens["Properties"] = gen.PtrOf(ManagedClusterPropertiesGenerator()) + gens["Sku"] = gen.PtrOf(ManagedClusterSKUGenerator()) +} + +func Test_PrivateLinkResource_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of PrivateLinkResource via JSON returns original", + prop.ForAll(RunJSONSerializationTestForPrivateLinkResource, PrivateLinkResourceGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForPrivateLinkResource runs a test to see if a specific instance of PrivateLinkResource round trips to JSON and back losslessly +func RunJSONSerializationTestForPrivateLinkResource(subject PrivateLinkResource) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual PrivateLinkResource + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of PrivateLinkResource instances for property testing - lazily instantiated by +// PrivateLinkResourceGenerator() +var privateLinkResourceGenerator gopter.Gen + +// PrivateLinkResourceGenerator returns a generator of PrivateLinkResource instances for property testing. +func PrivateLinkResourceGenerator() gopter.Gen { + if privateLinkResourceGenerator != nil { + return privateLinkResourceGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForPrivateLinkResource(generators) + privateLinkResourceGenerator = gen.Struct(reflect.TypeOf(PrivateLinkResource{}), generators) + + return privateLinkResourceGenerator +} + +// AddIndependentPropertyGeneratorsForPrivateLinkResource is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForPrivateLinkResource(gens map[string]gopter.Gen) { + gens["GroupId"] = gen.PtrOf(gen.AlphaString()) + gens["Id"] = gen.PtrOf(gen.AlphaString()) + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["RequiredMembers"] = gen.SliceOf(gen.AlphaString()) + gens["Type"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ResourceReference_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ResourceReference via JSON returns original", + prop.ForAll(RunJSONSerializationTestForResourceReference, ResourceReferenceGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForResourceReference runs a test to see if a specific instance of ResourceReference round trips to JSON and back losslessly +func RunJSONSerializationTestForResourceReference(subject ResourceReference) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ResourceReference + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ResourceReference instances for property testing - lazily instantiated by ResourceReferenceGenerator() +var resourceReferenceGenerator gopter.Gen + +// ResourceReferenceGenerator returns a generator of ResourceReference instances for property testing. +func ResourceReferenceGenerator() gopter.Gen { + if resourceReferenceGenerator != nil { + return resourceReferenceGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForResourceReference(generators) + resourceReferenceGenerator = gen.Struct(reflect.TypeOf(ResourceReference{}), generators) + + return resourceReferenceGenerator +} + +// AddIndependentPropertyGeneratorsForResourceReference is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForResourceReference(gens map[string]gopter.Gen) { + gens["Id"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ServiceMeshProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ServiceMeshProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForServiceMeshProfile, ServiceMeshProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForServiceMeshProfile runs a test to see if a specific instance of ServiceMeshProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForServiceMeshProfile(subject ServiceMeshProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ServiceMeshProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ServiceMeshProfile instances for property testing - lazily instantiated by ServiceMeshProfileGenerator() +var serviceMeshProfileGenerator gopter.Gen + +// ServiceMeshProfileGenerator returns a generator of ServiceMeshProfile instances for property testing. +// We first initialize serviceMeshProfileGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func ServiceMeshProfileGenerator() gopter.Gen { + if serviceMeshProfileGenerator != nil { + return serviceMeshProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForServiceMeshProfile(generators) + serviceMeshProfileGenerator = gen.Struct(reflect.TypeOf(ServiceMeshProfile{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForServiceMeshProfile(generators) + AddRelatedPropertyGeneratorsForServiceMeshProfile(generators) + serviceMeshProfileGenerator = gen.Struct(reflect.TypeOf(ServiceMeshProfile{}), generators) + + return serviceMeshProfileGenerator +} + +// AddIndependentPropertyGeneratorsForServiceMeshProfile is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForServiceMeshProfile(gens map[string]gopter.Gen) { + gens["Mode"] = gen.PtrOf(gen.OneConstOf(ServiceMeshProfile_Mode_Disabled, ServiceMeshProfile_Mode_Istio)) +} + +// AddRelatedPropertyGeneratorsForServiceMeshProfile is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForServiceMeshProfile(gens map[string]gopter.Gen) { + gens["Istio"] = gen.PtrOf(IstioServiceMeshGenerator()) +} + +func Test_UpgradeOverrideSettings_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of UpgradeOverrideSettings via JSON returns original", + prop.ForAll(RunJSONSerializationTestForUpgradeOverrideSettings, UpgradeOverrideSettingsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForUpgradeOverrideSettings runs a test to see if a specific instance of UpgradeOverrideSettings round trips to JSON and back losslessly +func RunJSONSerializationTestForUpgradeOverrideSettings(subject UpgradeOverrideSettings) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual UpgradeOverrideSettings + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of UpgradeOverrideSettings instances for property testing - lazily instantiated by +// UpgradeOverrideSettingsGenerator() +var upgradeOverrideSettingsGenerator gopter.Gen + +// UpgradeOverrideSettingsGenerator returns a generator of UpgradeOverrideSettings instances for property testing. +func UpgradeOverrideSettingsGenerator() gopter.Gen { + if upgradeOverrideSettingsGenerator != nil { + return upgradeOverrideSettingsGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForUpgradeOverrideSettings(generators) + upgradeOverrideSettingsGenerator = gen.Struct(reflect.TypeOf(UpgradeOverrideSettings{}), generators) + + return upgradeOverrideSettingsGenerator +} + +// AddIndependentPropertyGeneratorsForUpgradeOverrideSettings is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForUpgradeOverrideSettings(gens map[string]gopter.Gen) { + gens["ForceUpgrade"] = gen.PtrOf(gen.Bool()) + gens["Until"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_UserAssignedIdentity_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of UserAssignedIdentity via JSON returns original", + prop.ForAll(RunJSONSerializationTestForUserAssignedIdentity, UserAssignedIdentityGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForUserAssignedIdentity runs a test to see if a specific instance of UserAssignedIdentity round trips to JSON and back losslessly +func RunJSONSerializationTestForUserAssignedIdentity(subject UserAssignedIdentity) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual UserAssignedIdentity + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of UserAssignedIdentity instances for property testing - lazily instantiated by +// UserAssignedIdentityGenerator() +var userAssignedIdentityGenerator gopter.Gen + +// UserAssignedIdentityGenerator returns a generator of UserAssignedIdentity instances for property testing. +func UserAssignedIdentityGenerator() gopter.Gen { + if userAssignedIdentityGenerator != nil { + return userAssignedIdentityGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForUserAssignedIdentity(generators) + userAssignedIdentityGenerator = gen.Struct(reflect.TypeOf(UserAssignedIdentity{}), generators) + + return userAssignedIdentityGenerator +} + +// AddIndependentPropertyGeneratorsForUserAssignedIdentity is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForUserAssignedIdentity(gens map[string]gopter.Gen) { + gens["ClientId"] = gen.PtrOf(gen.AlphaString()) + gens["ObjectId"] = gen.PtrOf(gen.AlphaString()) + gens["ResourceId"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_UserAssignedIdentityDetails_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of UserAssignedIdentityDetails via JSON returns original", + prop.ForAll(RunJSONSerializationTestForUserAssignedIdentityDetails, UserAssignedIdentityDetailsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForUserAssignedIdentityDetails runs a test to see if a specific instance of UserAssignedIdentityDetails round trips to JSON and back losslessly +func RunJSONSerializationTestForUserAssignedIdentityDetails(subject UserAssignedIdentityDetails) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual UserAssignedIdentityDetails + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of UserAssignedIdentityDetails instances for property testing - lazily instantiated by +// UserAssignedIdentityDetailsGenerator() +var userAssignedIdentityDetailsGenerator gopter.Gen + +// UserAssignedIdentityDetailsGenerator returns a generator of UserAssignedIdentityDetails instances for property testing. +func UserAssignedIdentityDetailsGenerator() gopter.Gen { + if userAssignedIdentityDetailsGenerator != nil { + return userAssignedIdentityDetailsGenerator + } + + generators := make(map[string]gopter.Gen) + userAssignedIdentityDetailsGenerator = gen.Struct(reflect.TypeOf(UserAssignedIdentityDetails{}), generators) + + return userAssignedIdentityDetailsGenerator +} + +func Test_WindowsGmsaProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of WindowsGmsaProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForWindowsGmsaProfile, WindowsGmsaProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForWindowsGmsaProfile runs a test to see if a specific instance of WindowsGmsaProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForWindowsGmsaProfile(subject WindowsGmsaProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual WindowsGmsaProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of WindowsGmsaProfile instances for property testing - lazily instantiated by WindowsGmsaProfileGenerator() +var windowsGmsaProfileGenerator gopter.Gen + +// WindowsGmsaProfileGenerator returns a generator of WindowsGmsaProfile instances for property testing. +func WindowsGmsaProfileGenerator() gopter.Gen { + if windowsGmsaProfileGenerator != nil { + return windowsGmsaProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForWindowsGmsaProfile(generators) + windowsGmsaProfileGenerator = gen.Struct(reflect.TypeOf(WindowsGmsaProfile{}), generators) + + return windowsGmsaProfileGenerator +} + +// AddIndependentPropertyGeneratorsForWindowsGmsaProfile is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForWindowsGmsaProfile(gens map[string]gopter.Gen) { + gens["DnsServer"] = gen.PtrOf(gen.AlphaString()) + gens["Enabled"] = gen.PtrOf(gen.Bool()) + gens["RootDomainName"] = gen.PtrOf(gen.AlphaString()) +} diff --git a/v2/api/containerservice/v1api20240901/arm/managed_cluster_status_types_gen.go b/v2/api/containerservice/v1api20240901/arm/managed_cluster_status_types_gen.go new file mode 100644 index 00000000000..1ea93877e0d --- /dev/null +++ b/v2/api/containerservice/v1api20240901/arm/managed_cluster_status_types_gen.go @@ -0,0 +1,1618 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package arm + +// Managed cluster. +type ManagedCluster_STATUS struct { + // ETag: Unique read-only string used to implement optimistic concurrency. The eTag value will change when the resource is + // updated. Specify an if-match or if-none-match header with the eTag value for a subsequent request to enable optimistic + // concurrency per the normal etag convention. + ETag *string `json:"eTag,omitempty"` + + // ExtendedLocation: The extended location of the Virtual Machine. + ExtendedLocation *ExtendedLocation_STATUS `json:"extendedLocation,omitempty"` + + // Id: Fully qualified resource ID for the resource. E.g. + // "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + Id *string `json:"id,omitempty"` + + // Identity: The identity of the managed cluster, if configured. + Identity *ManagedClusterIdentity_STATUS `json:"identity,omitempty"` + + // Location: The geo-location where the resource lives + Location *string `json:"location,omitempty"` + + // Name: The name of the resource + Name *string `json:"name,omitempty"` + + // Properties: Properties of a managed cluster. + Properties *ManagedClusterProperties_STATUS `json:"properties,omitempty"` + + // Sku: The managed cluster SKU. + Sku *ManagedClusterSKU_STATUS `json:"sku,omitempty"` + + // SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information. + SystemData *SystemData_STATUS `json:"systemData,omitempty"` + + // Tags: Resource tags. + Tags map[string]string `json:"tags"` + + // Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + Type *string `json:"type,omitempty"` +} + +// The complex type of the extended location. +type ExtendedLocation_STATUS struct { + // Name: The name of the extended location. + Name *string `json:"name,omitempty"` + + // Type: The type of the extended location. + Type *ExtendedLocationType_STATUS `json:"type,omitempty"` +} + +// Identity for the managed cluster. +type ManagedClusterIdentity_STATUS struct { + // DelegatedResources: The delegated identity resources assigned to this managed cluster. This can only be set by another + // Azure Resource Provider, and managed cluster only accept one delegated identity resource. Internal use only. + DelegatedResources map[string]DelegatedResource_STATUS `json:"delegatedResources"` + + // PrincipalId: The principal id of the system assigned identity which is used by master components. + PrincipalId *string `json:"principalId,omitempty"` + + // TenantId: The tenant id of the system assigned identity which is used by master components. + TenantId *string `json:"tenantId,omitempty"` + + // Type: For more information see [use managed identities in + // AKS](https://docs.microsoft.com/azure/aks/use-managed-identity). + Type *ManagedClusterIdentity_Type_STATUS `json:"type,omitempty"` + + // UserAssignedIdentities: The keys must be ARM resource IDs in the form: + // '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + UserAssignedIdentities map[string]ManagedClusterIdentity_UserAssignedIdentities_STATUS `json:"userAssignedIdentities"` +} + +// Properties of the managed cluster. +type ManagedClusterProperties_STATUS struct { + // AadProfile: The Azure Active Directory configuration. + AadProfile *ManagedClusterAADProfile_STATUS `json:"aadProfile,omitempty"` + + // AddonProfiles: The profile of managed cluster add-on. + AddonProfiles map[string]ManagedClusterAddonProfile_STATUS `json:"addonProfiles"` + + // AgentPoolProfiles: The agent pool properties. + AgentPoolProfiles []ManagedClusterAgentPoolProfile_STATUS `json:"agentPoolProfiles"` + + // ApiServerAccessProfile: The access profile for managed cluster API server. + ApiServerAccessProfile *ManagedClusterAPIServerAccessProfile_STATUS `json:"apiServerAccessProfile,omitempty"` + + // AutoScalerProfile: Parameters to be applied to the cluster-autoscaler when enabled + AutoScalerProfile *ManagedClusterProperties_AutoScalerProfile_STATUS `json:"autoScalerProfile,omitempty"` + + // AutoUpgradeProfile: The auto upgrade configuration. + AutoUpgradeProfile *ManagedClusterAutoUpgradeProfile_STATUS `json:"autoUpgradeProfile,omitempty"` + + // AzureMonitorProfile: Azure Monitor addon profiles for monitoring the managed cluster. + AzureMonitorProfile *ManagedClusterAzureMonitorProfile_STATUS `json:"azureMonitorProfile,omitempty"` + + // AzurePortalFQDN: The Azure Portal requires certain Cross-Origin Resource Sharing (CORS) headers to be sent in some + // responses, which Kubernetes APIServer doesn't handle by default. This special FQDN supports CORS, allowing the Azure + // Portal to function properly. + AzurePortalFQDN *string `json:"azurePortalFQDN,omitempty"` + + // CurrentKubernetesVersion: If kubernetesVersion was a fully specified version , this field will be + // exactly equal to it. If kubernetesVersion was , this field will contain the full + // version being used. + CurrentKubernetesVersion *string `json:"currentKubernetesVersion,omitempty"` + + // DisableLocalAccounts: If set to true, getting static credentials will be disabled for this cluster. This must only be + // used on Managed Clusters that are AAD enabled. For more details see [disable local + // accounts](https://docs.microsoft.com/azure/aks/managed-aad#disable-local-accounts-preview). + DisableLocalAccounts *bool `json:"disableLocalAccounts,omitempty"` + + // DiskEncryptionSetID: This is of the form: + // '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}' + DiskEncryptionSetID *string `json:"diskEncryptionSetID,omitempty"` + + // DnsPrefix: This cannot be updated once the Managed Cluster has been created. + DnsPrefix *string `json:"dnsPrefix,omitempty"` + + // EnablePodSecurityPolicy: (DEPRECATED) Whether to enable Kubernetes pod security policy (preview). PodSecurityPolicy was + // deprecated in Kubernetes v1.21, and removed from Kubernetes in v1.25. Learn more at https://aka.ms/k8s/psp and + // https://aka.ms/aks/psp. + EnablePodSecurityPolicy *bool `json:"enablePodSecurityPolicy,omitempty"` + + // EnableRBAC: Whether to enable Kubernetes Role-Based Access Control. + EnableRBAC *bool `json:"enableRBAC,omitempty"` + + // Fqdn: The FQDN of the master pool. + Fqdn *string `json:"fqdn,omitempty"` + + // FqdnSubdomain: This cannot be updated once the Managed Cluster has been created. + FqdnSubdomain *string `json:"fqdnSubdomain,omitempty"` + + // HttpProxyConfig: Configurations for provisioning the cluster with HTTP proxy servers. + HttpProxyConfig *ManagedClusterHTTPProxyConfig_STATUS `json:"httpProxyConfig,omitempty"` + + // IdentityProfile: The user identity associated with the managed cluster. This identity will be used by the kubelet. Only + // one user assigned identity is allowed. The only accepted key is "kubeletidentity", with value of "resourceId": + // "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}". + IdentityProfile map[string]UserAssignedIdentity_STATUS `json:"identityProfile"` + + // IngressProfile: Ingress profile for the managed cluster. + IngressProfile *ManagedClusterIngressProfile_STATUS `json:"ingressProfile,omitempty"` + + // KubernetesVersion: Both patch version (e.g. 1.20.13) and (e.g. 1.20) are supported. + // When is specified, the latest supported GA patch version is chosen automatically. Updating the cluster + // with the same once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer + // patch version is available. When you upgrade a supported AKS cluster, Kubernetes minor versions cannot be skipped. All + // upgrades must be performed sequentially by major version number. For example, upgrades between 1.14.x -> 1.15.x or + // 1.15.x -> 1.16.x are allowed, however 1.14.x -> 1.16.x is not allowed. See [upgrading an AKS + // cluster](https://docs.microsoft.com/azure/aks/upgrade-cluster) for more details. + KubernetesVersion *string `json:"kubernetesVersion,omitempty"` + + // LinuxProfile: The profile for Linux VMs in the Managed Cluster. + LinuxProfile *ContainerServiceLinuxProfile_STATUS `json:"linuxProfile,omitempty"` + + // MaxAgentPools: The max number of agent pools for the managed cluster. + MaxAgentPools *int `json:"maxAgentPools,omitempty"` + + // MetricsProfile: Optional cluster metrics configuration. + MetricsProfile *ManagedClusterMetricsProfile_STATUS `json:"metricsProfile,omitempty"` + + // NetworkProfile: The network configuration profile. + NetworkProfile *ContainerServiceNetworkProfile_STATUS `json:"networkProfile,omitempty"` + + // NodeResourceGroup: The name of the resource group containing agent pool nodes. + NodeResourceGroup *string `json:"nodeResourceGroup,omitempty"` + + // NodeResourceGroupProfile: Profile of the node resource group configuration. + NodeResourceGroupProfile *ManagedClusterNodeResourceGroupProfile_STATUS `json:"nodeResourceGroupProfile,omitempty"` + + // OidcIssuerProfile: The OIDC issuer profile of the Managed Cluster. + OidcIssuerProfile *ManagedClusterOIDCIssuerProfile_STATUS `json:"oidcIssuerProfile,omitempty"` + + // PodIdentityProfile: See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more + // details on AAD pod identity integration. + PodIdentityProfile *ManagedClusterPodIdentityProfile_STATUS `json:"podIdentityProfile,omitempty"` + + // PowerState: The Power State of the cluster. + PowerState *PowerState_STATUS `json:"powerState,omitempty"` + + // PrivateFQDN: The FQDN of private cluster. + PrivateFQDN *string `json:"privateFQDN,omitempty"` + + // PrivateLinkResources: Private link resources associated with the cluster. + PrivateLinkResources []PrivateLinkResource_STATUS `json:"privateLinkResources"` + + // ProvisioningState: The current provisioning state. + ProvisioningState *string `json:"provisioningState,omitempty"` + + // PublicNetworkAccess: Allow or deny public network access for AKS + PublicNetworkAccess *ManagedClusterProperties_PublicNetworkAccess_STATUS `json:"publicNetworkAccess,omitempty"` + + // ResourceUID: The resourceUID uniquely identifies ManagedClusters that reuse ARM ResourceIds (i.e: create, delete, create + // sequence) + ResourceUID *string `json:"resourceUID,omitempty"` + + // SecurityProfile: Security profile for the managed cluster. + SecurityProfile *ManagedClusterSecurityProfile_STATUS `json:"securityProfile,omitempty"` + + // ServiceMeshProfile: Service mesh profile for a managed cluster. + ServiceMeshProfile *ServiceMeshProfile_STATUS `json:"serviceMeshProfile,omitempty"` + + // ServicePrincipalProfile: Information about a service principal identity for the cluster to use for manipulating Azure + // APIs. + ServicePrincipalProfile *ManagedClusterServicePrincipalProfile_STATUS `json:"servicePrincipalProfile,omitempty"` + + // StorageProfile: Storage profile for the managed cluster. + StorageProfile *ManagedClusterStorageProfile_STATUS `json:"storageProfile,omitempty"` + + // SupportPlan: The support plan for the Managed Cluster. If unspecified, the default is 'KubernetesOfficial'. + SupportPlan *KubernetesSupportPlan_STATUS `json:"supportPlan,omitempty"` + + // UpgradeSettings: Settings for upgrading a cluster. + UpgradeSettings *ClusterUpgradeSettings_STATUS `json:"upgradeSettings,omitempty"` + + // WindowsProfile: The profile for Windows VMs in the Managed Cluster. + WindowsProfile *ManagedClusterWindowsProfile_STATUS `json:"windowsProfile,omitempty"` + + // WorkloadAutoScalerProfile: Workload Auto-scaler profile for the managed cluster. + WorkloadAutoScalerProfile *ManagedClusterWorkloadAutoScalerProfile_STATUS `json:"workloadAutoScalerProfile,omitempty"` +} + +// The SKU of a Managed Cluster. +type ManagedClusterSKU_STATUS struct { + // Name: The name of a managed cluster SKU. + Name *ManagedClusterSKU_Name_STATUS `json:"name,omitempty"` + + // Tier: If not specified, the default is 'Free'. See [AKS Pricing + // Tier](https://learn.microsoft.com/azure/aks/free-standard-pricing-tiers) for more details. + Tier *ManagedClusterSKU_Tier_STATUS `json:"tier,omitempty"` +} + +// Settings for upgrading a cluster. +type ClusterUpgradeSettings_STATUS struct { + // OverrideSettings: Settings for overrides. + OverrideSettings *UpgradeOverrideSettings_STATUS `json:"overrideSettings,omitempty"` +} + +// Profile for Linux VMs in the container service cluster. +type ContainerServiceLinuxProfile_STATUS struct { + // AdminUsername: The administrator username to use for Linux VMs. + AdminUsername *string `json:"adminUsername,omitempty"` + + // Ssh: The SSH configuration for Linux-based VMs running on Azure. + Ssh *ContainerServiceSshConfiguration_STATUS `json:"ssh,omitempty"` +} + +// Profile of network configuration. +type ContainerServiceNetworkProfile_STATUS struct { + // AdvancedNetworking: Advanced Networking profile for enabling observability and security feature suite on a cluster. For + // more information see aka.ms/aksadvancednetworking. + AdvancedNetworking *AdvancedNetworking_STATUS `json:"advancedNetworking,omitempty"` + + // DnsServiceIP: An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address + // range specified in serviceCidr. + DnsServiceIP *string `json:"dnsServiceIP,omitempty"` + + // IpFamilies: IP families are used to determine single-stack or dual-stack clusters. For single-stack, the expected value + // is IPv4. For dual-stack, the expected values are IPv4 and IPv6. + IpFamilies []ContainerServiceNetworkProfile_IpFamilies_STATUS `json:"ipFamilies"` + + // LoadBalancerProfile: Profile of the cluster load balancer. + LoadBalancerProfile *ManagedClusterLoadBalancerProfile_STATUS `json:"loadBalancerProfile,omitempty"` + + // LoadBalancerSku: The default is 'standard'. See [Azure Load Balancer + // SKUs](https://docs.microsoft.com/azure/load-balancer/skus) for more information about the differences between load + // balancer SKUs. + LoadBalancerSku *ContainerServiceNetworkProfile_LoadBalancerSku_STATUS `json:"loadBalancerSku,omitempty"` + + // NatGatewayProfile: Profile of the cluster NAT gateway. + NatGatewayProfile *ManagedClusterNATGatewayProfile_STATUS `json:"natGatewayProfile,omitempty"` + + // NetworkDataplane: Network dataplane used in the Kubernetes cluster. + NetworkDataplane *ContainerServiceNetworkProfile_NetworkDataplane_STATUS `json:"networkDataplane,omitempty"` + + // NetworkMode: This cannot be specified if networkPlugin is anything other than 'azure'. + NetworkMode *ContainerServiceNetworkProfile_NetworkMode_STATUS `json:"networkMode,omitempty"` + + // NetworkPlugin: Network plugin used for building the Kubernetes network. + NetworkPlugin *ContainerServiceNetworkProfile_NetworkPlugin_STATUS `json:"networkPlugin,omitempty"` + + // NetworkPluginMode: The mode the network plugin should use. + NetworkPluginMode *ContainerServiceNetworkProfile_NetworkPluginMode_STATUS `json:"networkPluginMode,omitempty"` + + // NetworkPolicy: Network policy used for building the Kubernetes network. + NetworkPolicy *ContainerServiceNetworkProfile_NetworkPolicy_STATUS `json:"networkPolicy,omitempty"` + + // OutboundType: This can only be set at cluster creation time and cannot be changed later. For more information see + // [egress outbound type](https://docs.microsoft.com/azure/aks/egress-outboundtype). + OutboundType *ContainerServiceNetworkProfile_OutboundType_STATUS `json:"outboundType,omitempty"` + + // PodCidr: A CIDR notation IP range from which to assign pod IPs when kubenet is used. + PodCidr *string `json:"podCidr,omitempty"` + + // PodCidrs: One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is + // expected for dual-stack networking. + PodCidrs []string `json:"podCidrs"` + + // ServiceCidr: A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP + // ranges. + ServiceCidr *string `json:"serviceCidr,omitempty"` + + // ServiceCidrs: One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is + // expected for dual-stack networking. They must not overlap with any Subnet IP ranges. + ServiceCidrs []string `json:"serviceCidrs"` +} + +// Delegated resource properties - internal use only. +type DelegatedResource_STATUS struct { + // Location: The source resource location - internal use only. + Location *string `json:"location,omitempty"` + + // ReferralResource: The delegation id of the referral delegation (optional) - internal use only. + ReferralResource *string `json:"referralResource,omitempty"` + + // ResourceId: The ARM resource id of the delegated resource - internal use only. + ResourceId *string `json:"resourceId,omitempty"` + + // TenantId: The tenant id of the delegated resource - internal use only. + TenantId *string `json:"tenantId,omitempty"` +} + +// The type of extendedLocation. +type ExtendedLocationType_STATUS string + +const ExtendedLocationType_STATUS_EdgeZone = ExtendedLocationType_STATUS("EdgeZone") + +// Mapping from string to ExtendedLocationType_STATUS +var extendedLocationType_STATUS_Values = map[string]ExtendedLocationType_STATUS{ + "edgezone": ExtendedLocationType_STATUS_EdgeZone, +} + +// Different support tiers for AKS managed clusters +type KubernetesSupportPlan_STATUS string + +const ( + KubernetesSupportPlan_STATUS_AKSLongTermSupport = KubernetesSupportPlan_STATUS("AKSLongTermSupport") + KubernetesSupportPlan_STATUS_KubernetesOfficial = KubernetesSupportPlan_STATUS("KubernetesOfficial") +) + +// Mapping from string to KubernetesSupportPlan_STATUS +var kubernetesSupportPlan_STATUS_Values = map[string]KubernetesSupportPlan_STATUS{ + "akslongtermsupport": KubernetesSupportPlan_STATUS_AKSLongTermSupport, + "kubernetesofficial": KubernetesSupportPlan_STATUS_KubernetesOfficial, +} + +// For more details see [managed AAD on AKS](https://docs.microsoft.com/azure/aks/managed-aad). +type ManagedClusterAADProfile_STATUS struct { + // AdminGroupObjectIDs: The list of AAD group object IDs that will have admin role of the cluster. + AdminGroupObjectIDs []string `json:"adminGroupObjectIDs"` + + // ClientAppID: (DEPRECATED) The client AAD application ID. Learn more at https://aka.ms/aks/aad-legacy. + ClientAppID *string `json:"clientAppID,omitempty"` + + // EnableAzureRBAC: Whether to enable Azure RBAC for Kubernetes authorization. + EnableAzureRBAC *bool `json:"enableAzureRBAC,omitempty"` + + // Managed: Whether to enable managed AAD. + Managed *bool `json:"managed,omitempty"` + + // ServerAppID: (DEPRECATED) The server AAD application ID. Learn more at https://aka.ms/aks/aad-legacy. + ServerAppID *string `json:"serverAppID,omitempty"` + + // ServerAppSecret: (DEPRECATED) The server AAD application secret. Learn more at https://aka.ms/aks/aad-legacy. + ServerAppSecret *string `json:"serverAppSecret,omitempty"` + + // TenantID: The AAD tenant ID to use for authentication. If not specified, will use the tenant of the deployment + // subscription. + TenantID *string `json:"tenantID,omitempty"` +} + +// A Kubernetes add-on profile for a managed cluster. +type ManagedClusterAddonProfile_STATUS struct { + // Config: Key-value pairs for configuring an add-on. + Config map[string]string `json:"config"` + + // Enabled: Whether the add-on is enabled or not. + Enabled *bool `json:"enabled,omitempty"` + + // Identity: Information of user assigned identity used by this add-on. + Identity *UserAssignedIdentity_STATUS `json:"identity,omitempty"` +} + +// Profile for the container service agent pool. +type ManagedClusterAgentPoolProfile_STATUS struct { + // AvailabilityZones: The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType + // property is 'VirtualMachineScaleSets'. + AvailabilityZones []string `json:"availabilityZones"` + + // CapacityReservationGroupID: AKS will associate the specified agent pool with the Capacity Reservation Group. + CapacityReservationGroupID *string `json:"capacityReservationGroupID,omitempty"` + + // Count: Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) + // for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1. + Count *int `json:"count,omitempty"` + + // CreationData: CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using + // a snapshot. + CreationData *CreationData_STATUS `json:"creationData,omitempty"` + + // CurrentOrchestratorVersion: If orchestratorVersion is a fully specified version , this field will be + // exactly equal to it. If orchestratorVersion is , this field will contain the full + // version being used. + CurrentOrchestratorVersion *string `json:"currentOrchestratorVersion,omitempty"` + + // ETag: Unique read-only string used to implement optimistic concurrency. The eTag value will change when the resource is + // updated. Specify an if-match or if-none-match header with the eTag value for a subsequent request to enable optimistic + // concurrency per the normal etag convention. + ETag *string `json:"eTag,omitempty"` + + // EnableAutoScaling: Whether to enable auto-scaler + EnableAutoScaling *bool `json:"enableAutoScaling,omitempty"` + + // EnableEncryptionAtHost: This is only supported on certain VM sizes and in certain Azure regions. For more information, + // see: https://docs.microsoft.com/azure/aks/enable-host-encryption + EnableEncryptionAtHost *bool `json:"enableEncryptionAtHost,omitempty"` + + // EnableFIPS: See [Add a FIPS-enabled node + // pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more + // details. + EnableFIPS *bool `json:"enableFIPS,omitempty"` + + // EnableNodePublicIP: Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. + // A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine + // to minimize hops. For more information see [assigning a public IP per + // node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The + // default is false. + EnableNodePublicIP *bool `json:"enableNodePublicIP,omitempty"` + + // EnableUltraSSD: Whether to enable UltraSSD + EnableUltraSSD *bool `json:"enableUltraSSD,omitempty"` + + // GpuInstanceProfile: GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU. + GpuInstanceProfile *GPUInstanceProfile_STATUS `json:"gpuInstanceProfile,omitempty"` + + // HostGroupID: This is of the form: + // /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. + // For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). + HostGroupID *string `json:"hostGroupID,omitempty"` + + // KubeletConfig: The Kubelet configuration on the agent pool nodes. + KubeletConfig *KubeletConfig_STATUS `json:"kubeletConfig,omitempty"` + + // KubeletDiskType: Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral + // storage. + KubeletDiskType *KubeletDiskType_STATUS `json:"kubeletDiskType,omitempty"` + + // LinuxOSConfig: The OS configuration of Linux agent nodes. + LinuxOSConfig *LinuxOSConfig_STATUS `json:"linuxOSConfig,omitempty"` + + // MaxCount: The maximum number of nodes for auto-scaling + MaxCount *int `json:"maxCount,omitempty"` + + // MaxPods: The maximum number of pods that can run on a node. + MaxPods *int `json:"maxPods,omitempty"` + + // MinCount: The minimum number of nodes for auto-scaling + MinCount *int `json:"minCount,omitempty"` + + // Mode: A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool + // restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools + Mode *AgentPoolMode_STATUS `json:"mode,omitempty"` + + // Name: Windows agent pool names must be 6 characters or less. + Name *string `json:"name,omitempty"` + + // NetworkProfile: Network-related settings of an agent pool. + NetworkProfile *AgentPoolNetworkProfile_STATUS `json:"networkProfile,omitempty"` + + // NodeImageVersion: The version of node image + NodeImageVersion *string `json:"nodeImageVersion,omitempty"` + + // NodeLabels: The node labels to be persisted across all nodes in agent pool. + NodeLabels map[string]string `json:"nodeLabels"` + + // NodePublicIPPrefixID: This is of the form: + // /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} + NodePublicIPPrefixID *string `json:"nodePublicIPPrefixID,omitempty"` + + // NodeTaints: The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule. + NodeTaints []string `json:"nodeTaints"` + + // OrchestratorVersion: Both patch version (e.g. 1.20.13) and (e.g. 1.20) are supported. + // When is specified, the latest supported GA patch version is chosen automatically. Updating the cluster + // with the same once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer + // patch version is available. As a best practice, you should upgrade all node pools in an AKS cluster to the same + // Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor + // version must be within two minor versions of the control plane version. The node pool version cannot be greater than the + // control plane version. For more information see [upgrading a node + // pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). + OrchestratorVersion *string `json:"orchestratorVersion,omitempty"` + OsDiskSizeGB *int `json:"osDiskSizeGB,omitempty"` + + // OsDiskType: The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested + // OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral + // OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). + OsDiskType *OSDiskType_STATUS `json:"osDiskType,omitempty"` + + // OsSKU: Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 + // when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows. + OsSKU *OSSKU_STATUS `json:"osSKU,omitempty"` + + // OsType: The operating system type. The default is Linux. + OsType *OSType_STATUS `json:"osType,omitempty"` + + // PodSubnetID: If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). This is + // of the form: + // /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + PodSubnetID *string `json:"podSubnetID,omitempty"` + + // PowerState: When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this + // field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only + // be stopped if it is Running and provisioning state is Succeeded + PowerState *PowerState_STATUS `json:"powerState,omitempty"` + + // ProvisioningState: The current deployment or provisioning state. + ProvisioningState *string `json:"provisioningState,omitempty"` + + // ProximityPlacementGroupID: The ID for Proximity Placement Group. + ProximityPlacementGroupID *string `json:"proximityPlacementGroupID,omitempty"` + + // ScaleDownMode: This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete. + ScaleDownMode *ScaleDownMode_STATUS `json:"scaleDownMode,omitempty"` + + // ScaleSetEvictionPolicy: This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is + // 'Delete'. + ScaleSetEvictionPolicy *ScaleSetEvictionPolicy_STATUS `json:"scaleSetEvictionPolicy,omitempty"` + + // ScaleSetPriority: The Virtual Machine Scale Set priority. If not specified, the default is 'Regular'. + ScaleSetPriority *ScaleSetPriority_STATUS `json:"scaleSetPriority,omitempty"` + + // SecurityProfile: The security settings of an agent pool. + SecurityProfile *AgentPoolSecurityProfile_STATUS `json:"securityProfile,omitempty"` + + // SpotMaxPrice: Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any + // on-demand price. For more details on spot pricing, see [spot VMs + // pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing) + SpotMaxPrice *float64 `json:"spotMaxPrice,omitempty"` + + // Tags: The tags to be persisted on the agent pool virtual machine scale set. + Tags map[string]string `json:"tags"` + + // Type: The type of Agent Pool. + Type *AgentPoolType_STATUS `json:"type,omitempty"` + + // UpgradeSettings: Settings for upgrading the agentpool + UpgradeSettings *AgentPoolUpgradeSettings_STATUS `json:"upgradeSettings,omitempty"` + + // VmSize: VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods + // might fail to run correctly. For more details on restricted VM sizes, see: + // https://docs.microsoft.com/azure/aks/quotas-skus-regions + VmSize *string `json:"vmSize,omitempty"` + + // VnetSubnetID: If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is specified, + // this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: + // /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + VnetSubnetID *string `json:"vnetSubnetID,omitempty"` + + // WindowsProfile: The Windows agent pool's specific profile. + WindowsProfile *AgentPoolWindowsProfile_STATUS `json:"windowsProfile,omitempty"` + + // WorkloadRuntime: Determines the type of workload a node can run. + WorkloadRuntime *WorkloadRuntime_STATUS `json:"workloadRuntime,omitempty"` +} + +// Access profile for managed cluster API server. +type ManagedClusterAPIServerAccessProfile_STATUS struct { + // AuthorizedIPRanges: IP ranges are specified in CIDR format, e.g. 137.117.106.88/29. This feature is not compatible with + // clusters that use Public IP Per Node, or clusters that are using a Basic Load Balancer. For more information see [API + // server authorized IP ranges](https://docs.microsoft.com/azure/aks/api-server-authorized-ip-ranges). + AuthorizedIPRanges []string `json:"authorizedIPRanges"` + + // DisableRunCommand: Whether to disable run command for the cluster or not. + DisableRunCommand *bool `json:"disableRunCommand,omitempty"` + + // EnablePrivateCluster: For more details, see [Creating a private AKS + // cluster](https://docs.microsoft.com/azure/aks/private-clusters). + EnablePrivateCluster *bool `json:"enablePrivateCluster,omitempty"` + + // EnablePrivateClusterPublicFQDN: Whether to create additional public FQDN for private cluster or not. + EnablePrivateClusterPublicFQDN *bool `json:"enablePrivateClusterPublicFQDN,omitempty"` + + // PrivateDNSZone: The default is System. For more details see [configure private DNS + // zone](https://docs.microsoft.com/azure/aks/private-clusters#configure-private-dns-zone). Allowed values are 'system' and + // 'none'. + PrivateDNSZone *string `json:"privateDNSZone,omitempty"` +} + +// Auto upgrade profile for a managed cluster. +type ManagedClusterAutoUpgradeProfile_STATUS struct { + // NodeOSUpgradeChannel: Manner in which the OS on your nodes is updated. The default is NodeImage. + NodeOSUpgradeChannel *ManagedClusterAutoUpgradeProfile_NodeOSUpgradeChannel_STATUS `json:"nodeOSUpgradeChannel,omitempty"` + + // UpgradeChannel: For more information see [setting the AKS cluster auto-upgrade + // channel](https://docs.microsoft.com/azure/aks/upgrade-cluster#set-auto-upgrade-channel). + UpgradeChannel *ManagedClusterAutoUpgradeProfile_UpgradeChannel_STATUS `json:"upgradeChannel,omitempty"` +} + +// Azure Monitor addon profiles for monitoring the managed cluster. +type ManagedClusterAzureMonitorProfile_STATUS struct { + // Metrics: Metrics profile for the Azure Monitor managed service for Prometheus addon. Collect out-of-the-box Kubernetes + // infrastructure metrics to send to an Azure Monitor Workspace and configure additional scraping for custom targets. See + // aka.ms/AzureManagedPrometheus for an overview. + Metrics *ManagedClusterAzureMonitorProfileMetrics_STATUS `json:"metrics,omitempty"` +} + +// Cluster HTTP proxy configuration. +type ManagedClusterHTTPProxyConfig_STATUS struct { + // HttpProxy: The HTTP proxy server endpoint to use. + HttpProxy *string `json:"httpProxy,omitempty"` + + // HttpsProxy: The HTTPS proxy server endpoint to use. + HttpsProxy *string `json:"httpsProxy,omitempty"` + + // NoProxy: The endpoints that should not go through proxy. + NoProxy []string `json:"noProxy"` + + // TrustedCa: Alternative CA cert to use for connecting to proxy servers. + TrustedCa *string `json:"trustedCa,omitempty"` +} + +type ManagedClusterIdentity_Type_STATUS string + +const ( + ManagedClusterIdentity_Type_STATUS_None = ManagedClusterIdentity_Type_STATUS("None") + ManagedClusterIdentity_Type_STATUS_SystemAssigned = ManagedClusterIdentity_Type_STATUS("SystemAssigned") + ManagedClusterIdentity_Type_STATUS_UserAssigned = ManagedClusterIdentity_Type_STATUS("UserAssigned") +) + +// Mapping from string to ManagedClusterIdentity_Type_STATUS +var managedClusterIdentity_Type_STATUS_Values = map[string]ManagedClusterIdentity_Type_STATUS{ + "none": ManagedClusterIdentity_Type_STATUS_None, + "systemassigned": ManagedClusterIdentity_Type_STATUS_SystemAssigned, + "userassigned": ManagedClusterIdentity_Type_STATUS_UserAssigned, +} + +type ManagedClusterIdentity_UserAssignedIdentities_STATUS struct { + // ClientId: The client id of user assigned identity. + ClientId *string `json:"clientId,omitempty"` + + // PrincipalId: The principal id of user assigned identity. + PrincipalId *string `json:"principalId,omitempty"` +} + +// Ingress profile for the container service cluster. +type ManagedClusterIngressProfile_STATUS struct { + // WebAppRouting: App Routing settings for the ingress profile. You can find an overview and onboarding guide for this + // feature at https://learn.microsoft.com/en-us/azure/aks/app-routing?tabs=default%2Cdeploy-app-default. + WebAppRouting *ManagedClusterIngressProfileWebAppRouting_STATUS `json:"webAppRouting,omitempty"` +} + +// The metrics profile for the ManagedCluster. +type ManagedClusterMetricsProfile_STATUS struct { + // CostAnalysis: The cost analysis configuration for the cluster + CostAnalysis *ManagedClusterCostAnalysis_STATUS `json:"costAnalysis,omitempty"` +} + +// Node resource group lockdown profile for a managed cluster. +type ManagedClusterNodeResourceGroupProfile_STATUS struct { + // RestrictionLevel: The restriction level applied to the cluster's node resource group. If not specified, the default is + // 'Unrestricted' + RestrictionLevel *ManagedClusterNodeResourceGroupProfile_RestrictionLevel_STATUS `json:"restrictionLevel,omitempty"` +} + +// The OIDC issuer profile of the Managed Cluster. +type ManagedClusterOIDCIssuerProfile_STATUS struct { + // Enabled: Whether the OIDC issuer is enabled. + Enabled *bool `json:"enabled,omitempty"` + + // IssuerURL: The OIDC issuer url of the Managed Cluster. + IssuerURL *string `json:"issuerURL,omitempty"` +} + +// See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on pod +// identity integration. +type ManagedClusterPodIdentityProfile_STATUS struct { + // AllowNetworkPluginKubenet: Running in Kubenet is disabled by default due to the security related nature of AAD Pod + // Identity and the risks of IP spoofing. See [using Kubenet network plugin with AAD Pod + // Identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity#using-kubenet-network-plugin-with-azure-active-directory-pod-managed-identities) + // for more information. + AllowNetworkPluginKubenet *bool `json:"allowNetworkPluginKubenet,omitempty"` + + // Enabled: Whether the pod identity addon is enabled. + Enabled *bool `json:"enabled,omitempty"` + + // UserAssignedIdentities: The pod identities to use in the cluster. + UserAssignedIdentities []ManagedClusterPodIdentity_STATUS `json:"userAssignedIdentities"` + + // UserAssignedIdentityExceptions: The pod identity exceptions to allow. + UserAssignedIdentityExceptions []ManagedClusterPodIdentityException_STATUS `json:"userAssignedIdentityExceptions"` +} + +type ManagedClusterProperties_AutoScalerProfile_STATUS struct { + // BalanceSimilarNodeGroups: Valid values are 'true' and 'false' + BalanceSimilarNodeGroups *string `json:"balance-similar-node-groups,omitempty"` + + // DaemonsetEvictionForEmptyNodes: If set to true, all daemonset pods on empty nodes will be evicted before deletion of the + // node. If the daemonset pod cannot be evicted another node will be chosen for scaling. If set to false, the node will be + // deleted without ensuring that daemonset pods are deleted or evicted. + DaemonsetEvictionForEmptyNodes *bool `json:"daemonset-eviction-for-empty-nodes,omitempty"` + + // DaemonsetEvictionForOccupiedNodes: If set to true, all daemonset pods on occupied nodes will be evicted before deletion + // of the node. If the daemonset pod cannot be evicted another node will be chosen for scaling. If set to false, the node + // will be deleted without ensuring that daemonset pods are deleted or evicted. + DaemonsetEvictionForOccupiedNodes *bool `json:"daemonset-eviction-for-occupied-nodes,omitempty"` + + // Expander: If not specified, the default is 'random'. See + // [expanders](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md#what-are-expanders) for more + // information. + Expander *ManagedClusterProperties_AutoScalerProfile_Expander_STATUS `json:"expander,omitempty"` + + // IgnoreDaemonsetsUtilization: If set to true, the resources used by daemonset will be taken into account when making + // scaling down decisions. + IgnoreDaemonsetsUtilization *bool `json:"ignore-daemonsets-utilization,omitempty"` + + // MaxEmptyBulkDelete: The default is 10. + MaxEmptyBulkDelete *string `json:"max-empty-bulk-delete,omitempty"` + + // MaxGracefulTerminationSec: The default is 600. + MaxGracefulTerminationSec *string `json:"max-graceful-termination-sec,omitempty"` + + // MaxNodeProvisionTime: The default is '15m'. Values must be an integer followed by an 'm'. No unit of time other than + // minutes (m) is supported. + MaxNodeProvisionTime *string `json:"max-node-provision-time,omitempty"` + + // MaxTotalUnreadyPercentage: The default is 45. The maximum is 100 and the minimum is 0. + MaxTotalUnreadyPercentage *string `json:"max-total-unready-percentage,omitempty"` + + // NewPodScaleUpDelay: For scenarios like burst/batch scale where you don't want CA to act before the kubernetes scheduler + // could schedule all the pods, you can tell CA to ignore unscheduled pods before they're a certain age. The default is + // '0s'. Values must be an integer followed by a unit ('s' for seconds, 'm' for minutes, 'h' for hours, etc). + NewPodScaleUpDelay *string `json:"new-pod-scale-up-delay,omitempty"` + + // OkTotalUnreadyCount: This must be an integer. The default is 3. + OkTotalUnreadyCount *string `json:"ok-total-unready-count,omitempty"` + + // ScaleDownDelayAfterAdd: The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than + // minutes (m) is supported. + ScaleDownDelayAfterAdd *string `json:"scale-down-delay-after-add,omitempty"` + + // ScaleDownDelayAfterDelete: The default is the scan-interval. Values must be an integer followed by an 'm'. No unit of + // time other than minutes (m) is supported. + ScaleDownDelayAfterDelete *string `json:"scale-down-delay-after-delete,omitempty"` + + // ScaleDownDelayAfterFailure: The default is '3m'. Values must be an integer followed by an 'm'. No unit of time other + // than minutes (m) is supported. + ScaleDownDelayAfterFailure *string `json:"scale-down-delay-after-failure,omitempty"` + + // ScaleDownUnneededTime: The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than + // minutes (m) is supported. + ScaleDownUnneededTime *string `json:"scale-down-unneeded-time,omitempty"` + + // ScaleDownUnreadyTime: The default is '20m'. Values must be an integer followed by an 'm'. No unit of time other than + // minutes (m) is supported. + ScaleDownUnreadyTime *string `json:"scale-down-unready-time,omitempty"` + + // ScaleDownUtilizationThreshold: The default is '0.5'. + ScaleDownUtilizationThreshold *string `json:"scale-down-utilization-threshold,omitempty"` + + // ScanInterval: The default is '10'. Values must be an integer number of seconds. + ScanInterval *string `json:"scan-interval,omitempty"` + + // SkipNodesWithLocalStorage: The default is true. + SkipNodesWithLocalStorage *string `json:"skip-nodes-with-local-storage,omitempty"` + + // SkipNodesWithSystemPods: The default is true. + SkipNodesWithSystemPods *string `json:"skip-nodes-with-system-pods,omitempty"` +} + +type ManagedClusterProperties_PublicNetworkAccess_STATUS string + +const ( + ManagedClusterProperties_PublicNetworkAccess_STATUS_Disabled = ManagedClusterProperties_PublicNetworkAccess_STATUS("Disabled") + ManagedClusterProperties_PublicNetworkAccess_STATUS_Enabled = ManagedClusterProperties_PublicNetworkAccess_STATUS("Enabled") +) + +// Mapping from string to ManagedClusterProperties_PublicNetworkAccess_STATUS +var managedClusterProperties_PublicNetworkAccess_STATUS_Values = map[string]ManagedClusterProperties_PublicNetworkAccess_STATUS{ + "disabled": ManagedClusterProperties_PublicNetworkAccess_STATUS_Disabled, + "enabled": ManagedClusterProperties_PublicNetworkAccess_STATUS_Enabled, +} + +// Security profile for the container service cluster. +type ManagedClusterSecurityProfile_STATUS struct { + // AzureKeyVaultKms: Azure Key Vault [key management + // service](https://kubernetes.io/docs/tasks/administer-cluster/kms-provider/) settings for the security profile. + AzureKeyVaultKms *AzureKeyVaultKms_STATUS `json:"azureKeyVaultKms,omitempty"` + + // Defender: Microsoft Defender settings for the security profile. + Defender *ManagedClusterSecurityProfileDefender_STATUS `json:"defender,omitempty"` + + // ImageCleaner: Image Cleaner settings for the security profile. + ImageCleaner *ManagedClusterSecurityProfileImageCleaner_STATUS `json:"imageCleaner,omitempty"` + + // WorkloadIdentity: Workload identity settings for the security profile. Workload identity enables Kubernetes applications + // to access Azure cloud resources securely with Azure AD. See https://aka.ms/aks/wi for more details. + WorkloadIdentity *ManagedClusterSecurityProfileWorkloadIdentity_STATUS `json:"workloadIdentity,omitempty"` +} + +// Information about a service principal identity for the cluster to use for manipulating Azure APIs. +type ManagedClusterServicePrincipalProfile_STATUS struct { + // ClientId: The ID for the service principal. + ClientId *string `json:"clientId,omitempty"` +} + +type ManagedClusterSKU_Name_STATUS string + +const ManagedClusterSKU_Name_STATUS_Base = ManagedClusterSKU_Name_STATUS("Base") + +// Mapping from string to ManagedClusterSKU_Name_STATUS +var managedClusterSKU_Name_STATUS_Values = map[string]ManagedClusterSKU_Name_STATUS{ + "base": ManagedClusterSKU_Name_STATUS_Base, +} + +type ManagedClusterSKU_Tier_STATUS string + +const ( + ManagedClusterSKU_Tier_STATUS_Free = ManagedClusterSKU_Tier_STATUS("Free") + ManagedClusterSKU_Tier_STATUS_Premium = ManagedClusterSKU_Tier_STATUS("Premium") + ManagedClusterSKU_Tier_STATUS_Standard = ManagedClusterSKU_Tier_STATUS("Standard") +) + +// Mapping from string to ManagedClusterSKU_Tier_STATUS +var managedClusterSKU_Tier_STATUS_Values = map[string]ManagedClusterSKU_Tier_STATUS{ + "free": ManagedClusterSKU_Tier_STATUS_Free, + "premium": ManagedClusterSKU_Tier_STATUS_Premium, + "standard": ManagedClusterSKU_Tier_STATUS_Standard, +} + +// Storage profile for the container service cluster. +type ManagedClusterStorageProfile_STATUS struct { + // BlobCSIDriver: AzureBlob CSI Driver settings for the storage profile. + BlobCSIDriver *ManagedClusterStorageProfileBlobCSIDriver_STATUS `json:"blobCSIDriver,omitempty"` + + // DiskCSIDriver: AzureDisk CSI Driver settings for the storage profile. + DiskCSIDriver *ManagedClusterStorageProfileDiskCSIDriver_STATUS `json:"diskCSIDriver,omitempty"` + + // FileCSIDriver: AzureFile CSI Driver settings for the storage profile. + FileCSIDriver *ManagedClusterStorageProfileFileCSIDriver_STATUS `json:"fileCSIDriver,omitempty"` + + // SnapshotController: Snapshot Controller settings for the storage profile. + SnapshotController *ManagedClusterStorageProfileSnapshotController_STATUS `json:"snapshotController,omitempty"` +} + +// Profile for Windows VMs in the managed cluster. +type ManagedClusterWindowsProfile_STATUS struct { + // AdminUsername: Specifies the name of the administrator account. + // Restriction: Cannot end in "." + // Disallowed values: "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", + // "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", + // "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5". + // Minimum-length: 1 character + // Max-length: 20 characters + AdminUsername *string `json:"adminUsername,omitempty"` + + // EnableCSIProxy: For more details on CSI proxy, see the [CSI proxy GitHub + // repo](https://github.com/kubernetes-csi/csi-proxy). + EnableCSIProxy *bool `json:"enableCSIProxy,omitempty"` + + // GmsaProfile: The Windows gMSA Profile in the Managed Cluster. + GmsaProfile *WindowsGmsaProfile_STATUS `json:"gmsaProfile,omitempty"` + + // LicenseType: The license type to use for Windows VMs. See [Azure Hybrid User + // Benefits](https://azure.microsoft.com/pricing/hybrid-benefit/faq/) for more details. + LicenseType *ManagedClusterWindowsProfile_LicenseType_STATUS `json:"licenseType,omitempty"` +} + +// Workload Auto-scaler profile for the managed cluster. +type ManagedClusterWorkloadAutoScalerProfile_STATUS struct { + // Keda: KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile. + Keda *ManagedClusterWorkloadAutoScalerProfileKeda_STATUS `json:"keda,omitempty"` + + // VerticalPodAutoscaler: VPA (Vertical Pod Autoscaler) settings for the workload auto-scaler profile. + VerticalPodAutoscaler *ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS `json:"verticalPodAutoscaler,omitempty"` +} + +// Describes the Power State of the cluster +type PowerState_STATUS struct { + // Code: Tells whether the cluster is Running or Stopped + Code *PowerState_Code_STATUS `json:"code,omitempty"` +} + +// A private link resource +type PrivateLinkResource_STATUS struct { + // GroupId: The group ID of the resource. + GroupId *string `json:"groupId,omitempty"` + + // Id: The ID of the private link resource. + Id *string `json:"id,omitempty"` + + // Name: The name of the private link resource. + Name *string `json:"name,omitempty"` + + // PrivateLinkServiceID: The private link service ID of the resource, this field is exposed only to NRP internally. + PrivateLinkServiceID *string `json:"privateLinkServiceID,omitempty"` + + // RequiredMembers: The RequiredMembers of the resource + RequiredMembers []string `json:"requiredMembers"` + + // Type: The resource type. + Type *string `json:"type,omitempty"` +} + +// Service mesh profile for a managed cluster. +type ServiceMeshProfile_STATUS struct { + // Istio: Istio service mesh configuration. + Istio *IstioServiceMesh_STATUS `json:"istio,omitempty"` + + // Mode: Mode of the service mesh. + Mode *ServiceMeshProfile_Mode_STATUS `json:"mode,omitempty"` +} + +// Details about a user assigned identity. +type UserAssignedIdentity_STATUS struct { + // ClientId: The client ID of the user assigned identity. + ClientId *string `json:"clientId,omitempty"` + + // ObjectId: The object ID of the user assigned identity. + ObjectId *string `json:"objectId,omitempty"` + + // ResourceId: The resource ID of the user assigned identity. + ResourceId *string `json:"resourceId,omitempty"` +} + +// Advanced Networking profile for enabling observability and security feature suite on a cluster. For more information see +// aka.ms/aksadvancednetworking. +type AdvancedNetworking_STATUS struct { + // Enabled: Indicates the enablement of Advanced Networking functionalities of observability and security on AKS clusters. + // When this is set to true, all observability and security features will be set to enabled unless explicitly disabled. If + // not specified, the default is false. + Enabled *bool `json:"enabled,omitempty"` + + // Observability: Observability profile to enable advanced network metrics and flow logs with historical contexts. + Observability *AdvancedNetworkingObservability_STATUS `json:"observability,omitempty"` + + // Security: Security profile to enable security features on cilium based cluster. + Security *AdvancedNetworkingSecurity_STATUS `json:"security,omitempty"` +} + +// Azure Key Vault key management service settings for the security profile. +type AzureKeyVaultKms_STATUS struct { + // Enabled: Whether to enable Azure Key Vault key management service. The default is false. + Enabled *bool `json:"enabled,omitempty"` + + // KeyId: Identifier of Azure Key Vault key. See [key identifier + // format](https://docs.microsoft.com/en-us/azure/key-vault/general/about-keys-secrets-certificates#vault-name-and-object-name) + // for more details. When Azure Key Vault key management service is enabled, this field is required and must be a valid key + // identifier. When Azure Key Vault key management service is disabled, leave the field empty. + KeyId *string `json:"keyId,omitempty"` + + // KeyVaultNetworkAccess: Network access of key vault. The possible values are `Public` and `Private`. `Public` means the + // key vault allows public access from all networks. `Private` means the key vault disables public access and enables + // private link. The default value is `Public`. + KeyVaultNetworkAccess *AzureKeyVaultKms_KeyVaultNetworkAccess_STATUS `json:"keyVaultNetworkAccess,omitempty"` + + // KeyVaultResourceId: Resource ID of key vault. When keyVaultNetworkAccess is `Private`, this field is required and must + // be a valid resource ID. When keyVaultNetworkAccess is `Public`, leave the field empty. + KeyVaultResourceId *string `json:"keyVaultResourceId,omitempty"` +} + +type ContainerServiceNetworkProfile_IpFamilies_STATUS string + +const ( + ContainerServiceNetworkProfile_IpFamilies_STATUS_IPv4 = ContainerServiceNetworkProfile_IpFamilies_STATUS("IPv4") + ContainerServiceNetworkProfile_IpFamilies_STATUS_IPv6 = ContainerServiceNetworkProfile_IpFamilies_STATUS("IPv6") +) + +// Mapping from string to ContainerServiceNetworkProfile_IpFamilies_STATUS +var containerServiceNetworkProfile_IpFamilies_STATUS_Values = map[string]ContainerServiceNetworkProfile_IpFamilies_STATUS{ + "ipv4": ContainerServiceNetworkProfile_IpFamilies_STATUS_IPv4, + "ipv6": ContainerServiceNetworkProfile_IpFamilies_STATUS_IPv6, +} + +type ContainerServiceNetworkProfile_LoadBalancerSku_STATUS string + +const ( + ContainerServiceNetworkProfile_LoadBalancerSku_STATUS_Basic = ContainerServiceNetworkProfile_LoadBalancerSku_STATUS("basic") + ContainerServiceNetworkProfile_LoadBalancerSku_STATUS_Standard = ContainerServiceNetworkProfile_LoadBalancerSku_STATUS("standard") +) + +// Mapping from string to ContainerServiceNetworkProfile_LoadBalancerSku_STATUS +var containerServiceNetworkProfile_LoadBalancerSku_STATUS_Values = map[string]ContainerServiceNetworkProfile_LoadBalancerSku_STATUS{ + "basic": ContainerServiceNetworkProfile_LoadBalancerSku_STATUS_Basic, + "standard": ContainerServiceNetworkProfile_LoadBalancerSku_STATUS_Standard, +} + +type ContainerServiceNetworkProfile_NetworkDataplane_STATUS string + +const ( + ContainerServiceNetworkProfile_NetworkDataplane_STATUS_Azure = ContainerServiceNetworkProfile_NetworkDataplane_STATUS("azure") + ContainerServiceNetworkProfile_NetworkDataplane_STATUS_Cilium = ContainerServiceNetworkProfile_NetworkDataplane_STATUS("cilium") +) + +// Mapping from string to ContainerServiceNetworkProfile_NetworkDataplane_STATUS +var containerServiceNetworkProfile_NetworkDataplane_STATUS_Values = map[string]ContainerServiceNetworkProfile_NetworkDataplane_STATUS{ + "azure": ContainerServiceNetworkProfile_NetworkDataplane_STATUS_Azure, + "cilium": ContainerServiceNetworkProfile_NetworkDataplane_STATUS_Cilium, +} + +type ContainerServiceNetworkProfile_NetworkMode_STATUS string + +const ( + ContainerServiceNetworkProfile_NetworkMode_STATUS_Bridge = ContainerServiceNetworkProfile_NetworkMode_STATUS("bridge") + ContainerServiceNetworkProfile_NetworkMode_STATUS_Transparent = ContainerServiceNetworkProfile_NetworkMode_STATUS("transparent") +) + +// Mapping from string to ContainerServiceNetworkProfile_NetworkMode_STATUS +var containerServiceNetworkProfile_NetworkMode_STATUS_Values = map[string]ContainerServiceNetworkProfile_NetworkMode_STATUS{ + "bridge": ContainerServiceNetworkProfile_NetworkMode_STATUS_Bridge, + "transparent": ContainerServiceNetworkProfile_NetworkMode_STATUS_Transparent, +} + +type ContainerServiceNetworkProfile_NetworkPlugin_STATUS string + +const ( + ContainerServiceNetworkProfile_NetworkPlugin_STATUS_Azure = ContainerServiceNetworkProfile_NetworkPlugin_STATUS("azure") + ContainerServiceNetworkProfile_NetworkPlugin_STATUS_Kubenet = ContainerServiceNetworkProfile_NetworkPlugin_STATUS("kubenet") + ContainerServiceNetworkProfile_NetworkPlugin_STATUS_None = ContainerServiceNetworkProfile_NetworkPlugin_STATUS("none") +) + +// Mapping from string to ContainerServiceNetworkProfile_NetworkPlugin_STATUS +var containerServiceNetworkProfile_NetworkPlugin_STATUS_Values = map[string]ContainerServiceNetworkProfile_NetworkPlugin_STATUS{ + "azure": ContainerServiceNetworkProfile_NetworkPlugin_STATUS_Azure, + "kubenet": ContainerServiceNetworkProfile_NetworkPlugin_STATUS_Kubenet, + "none": ContainerServiceNetworkProfile_NetworkPlugin_STATUS_None, +} + +type ContainerServiceNetworkProfile_NetworkPluginMode_STATUS string + +const ContainerServiceNetworkProfile_NetworkPluginMode_STATUS_Overlay = ContainerServiceNetworkProfile_NetworkPluginMode_STATUS("overlay") + +// Mapping from string to ContainerServiceNetworkProfile_NetworkPluginMode_STATUS +var containerServiceNetworkProfile_NetworkPluginMode_STATUS_Values = map[string]ContainerServiceNetworkProfile_NetworkPluginMode_STATUS{ + "overlay": ContainerServiceNetworkProfile_NetworkPluginMode_STATUS_Overlay, +} + +type ContainerServiceNetworkProfile_NetworkPolicy_STATUS string + +const ( + ContainerServiceNetworkProfile_NetworkPolicy_STATUS_Azure = ContainerServiceNetworkProfile_NetworkPolicy_STATUS("azure") + ContainerServiceNetworkProfile_NetworkPolicy_STATUS_Calico = ContainerServiceNetworkProfile_NetworkPolicy_STATUS("calico") + ContainerServiceNetworkProfile_NetworkPolicy_STATUS_Cilium = ContainerServiceNetworkProfile_NetworkPolicy_STATUS("cilium") + ContainerServiceNetworkProfile_NetworkPolicy_STATUS_None = ContainerServiceNetworkProfile_NetworkPolicy_STATUS("none") +) + +// Mapping from string to ContainerServiceNetworkProfile_NetworkPolicy_STATUS +var containerServiceNetworkProfile_NetworkPolicy_STATUS_Values = map[string]ContainerServiceNetworkProfile_NetworkPolicy_STATUS{ + "azure": ContainerServiceNetworkProfile_NetworkPolicy_STATUS_Azure, + "calico": ContainerServiceNetworkProfile_NetworkPolicy_STATUS_Calico, + "cilium": ContainerServiceNetworkProfile_NetworkPolicy_STATUS_Cilium, + "none": ContainerServiceNetworkProfile_NetworkPolicy_STATUS_None, +} + +type ContainerServiceNetworkProfile_OutboundType_STATUS string + +const ( + ContainerServiceNetworkProfile_OutboundType_STATUS_LoadBalancer = ContainerServiceNetworkProfile_OutboundType_STATUS("loadBalancer") + ContainerServiceNetworkProfile_OutboundType_STATUS_ManagedNATGateway = ContainerServiceNetworkProfile_OutboundType_STATUS("managedNATGateway") + ContainerServiceNetworkProfile_OutboundType_STATUS_UserAssignedNATGateway = ContainerServiceNetworkProfile_OutboundType_STATUS("userAssignedNATGateway") + ContainerServiceNetworkProfile_OutboundType_STATUS_UserDefinedRouting = ContainerServiceNetworkProfile_OutboundType_STATUS("userDefinedRouting") +) + +// Mapping from string to ContainerServiceNetworkProfile_OutboundType_STATUS +var containerServiceNetworkProfile_OutboundType_STATUS_Values = map[string]ContainerServiceNetworkProfile_OutboundType_STATUS{ + "loadbalancer": ContainerServiceNetworkProfile_OutboundType_STATUS_LoadBalancer, + "managednatgateway": ContainerServiceNetworkProfile_OutboundType_STATUS_ManagedNATGateway, + "userassignednatgateway": ContainerServiceNetworkProfile_OutboundType_STATUS_UserAssignedNATGateway, + "userdefinedrouting": ContainerServiceNetworkProfile_OutboundType_STATUS_UserDefinedRouting, +} + +// SSH configuration for Linux-based VMs running on Azure. +type ContainerServiceSshConfiguration_STATUS struct { + // PublicKeys: The list of SSH public keys used to authenticate with Linux-based VMs. A maximum of 1 key may be specified. + PublicKeys []ContainerServiceSshPublicKey_STATUS `json:"publicKeys"` +} + +// Istio service mesh configuration. +type IstioServiceMesh_STATUS struct { + // CertificateAuthority: Istio Service Mesh Certificate Authority (CA) configuration. For now, we only support plugin + // certificates as described here https://aka.ms/asm-plugin-ca + CertificateAuthority *IstioCertificateAuthority_STATUS `json:"certificateAuthority,omitempty"` + + // Components: Istio components configuration. + Components *IstioComponents_STATUS `json:"components,omitempty"` + + // Revisions: The list of revisions of the Istio control plane. When an upgrade is not in progress, this holds one value. + // When canary upgrade is in progress, this can only hold two consecutive values. For more information, see: + // https://learn.microsoft.com/en-us/azure/aks/istio-upgrade + Revisions []string `json:"revisions"` +} + +type ManagedClusterAutoUpgradeProfile_NodeOSUpgradeChannel_STATUS string + +const ( + ManagedClusterAutoUpgradeProfile_NodeOSUpgradeChannel_STATUS_NodeImage = ManagedClusterAutoUpgradeProfile_NodeOSUpgradeChannel_STATUS("NodeImage") + ManagedClusterAutoUpgradeProfile_NodeOSUpgradeChannel_STATUS_None = ManagedClusterAutoUpgradeProfile_NodeOSUpgradeChannel_STATUS("None") + ManagedClusterAutoUpgradeProfile_NodeOSUpgradeChannel_STATUS_SecurityPatch = ManagedClusterAutoUpgradeProfile_NodeOSUpgradeChannel_STATUS("SecurityPatch") + ManagedClusterAutoUpgradeProfile_NodeOSUpgradeChannel_STATUS_Unmanaged = ManagedClusterAutoUpgradeProfile_NodeOSUpgradeChannel_STATUS("Unmanaged") +) + +// Mapping from string to ManagedClusterAutoUpgradeProfile_NodeOSUpgradeChannel_STATUS +var managedClusterAutoUpgradeProfile_NodeOSUpgradeChannel_STATUS_Values = map[string]ManagedClusterAutoUpgradeProfile_NodeOSUpgradeChannel_STATUS{ + "nodeimage": ManagedClusterAutoUpgradeProfile_NodeOSUpgradeChannel_STATUS_NodeImage, + "none": ManagedClusterAutoUpgradeProfile_NodeOSUpgradeChannel_STATUS_None, + "securitypatch": ManagedClusterAutoUpgradeProfile_NodeOSUpgradeChannel_STATUS_SecurityPatch, + "unmanaged": ManagedClusterAutoUpgradeProfile_NodeOSUpgradeChannel_STATUS_Unmanaged, +} + +type ManagedClusterAutoUpgradeProfile_UpgradeChannel_STATUS string + +const ( + ManagedClusterAutoUpgradeProfile_UpgradeChannel_STATUS_NodeImage = ManagedClusterAutoUpgradeProfile_UpgradeChannel_STATUS("node-image") + ManagedClusterAutoUpgradeProfile_UpgradeChannel_STATUS_None = ManagedClusterAutoUpgradeProfile_UpgradeChannel_STATUS("none") + ManagedClusterAutoUpgradeProfile_UpgradeChannel_STATUS_Patch = ManagedClusterAutoUpgradeProfile_UpgradeChannel_STATUS("patch") + ManagedClusterAutoUpgradeProfile_UpgradeChannel_STATUS_Rapid = ManagedClusterAutoUpgradeProfile_UpgradeChannel_STATUS("rapid") + ManagedClusterAutoUpgradeProfile_UpgradeChannel_STATUS_Stable = ManagedClusterAutoUpgradeProfile_UpgradeChannel_STATUS("stable") +) + +// Mapping from string to ManagedClusterAutoUpgradeProfile_UpgradeChannel_STATUS +var managedClusterAutoUpgradeProfile_UpgradeChannel_STATUS_Values = map[string]ManagedClusterAutoUpgradeProfile_UpgradeChannel_STATUS{ + "node-image": ManagedClusterAutoUpgradeProfile_UpgradeChannel_STATUS_NodeImage, + "none": ManagedClusterAutoUpgradeProfile_UpgradeChannel_STATUS_None, + "patch": ManagedClusterAutoUpgradeProfile_UpgradeChannel_STATUS_Patch, + "rapid": ManagedClusterAutoUpgradeProfile_UpgradeChannel_STATUS_Rapid, + "stable": ManagedClusterAutoUpgradeProfile_UpgradeChannel_STATUS_Stable, +} + +// Metrics profile for the Azure Monitor managed service for Prometheus addon. Collect out-of-the-box Kubernetes +// infrastructure metrics to send to an Azure Monitor Workspace and configure additional scraping for custom targets. See +// aka.ms/AzureManagedPrometheus for an overview. +type ManagedClusterAzureMonitorProfileMetrics_STATUS struct { + // Enabled: Whether to enable or disable the Azure Managed Prometheus addon for Prometheus monitoring. See + // aka.ms/AzureManagedPrometheus-aks-enable for details on enabling and disabling. + Enabled *bool `json:"enabled,omitempty"` + + // KubeStateMetrics: Kube State Metrics profile for the Azure Managed Prometheus addon. These optional settings are for the + // kube-state-metrics pod that is deployed with the addon. See aka.ms/AzureManagedPrometheus-optional-parameters for + // details. + KubeStateMetrics *ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS `json:"kubeStateMetrics,omitempty"` +} + +// The cost analysis configuration for the cluster +type ManagedClusterCostAnalysis_STATUS struct { + // Enabled: The Managed Cluster sku.tier must be set to 'Standard' or 'Premium' to enable this feature. Enabling this will + // add Kubernetes Namespace and Deployment details to the Cost Analysis views in the Azure portal. If not specified, the + // default is false. For more information see aka.ms/aks/docs/cost-analysis. + Enabled *bool `json:"enabled,omitempty"` +} + +// Application Routing add-on settings for the ingress profile. +type ManagedClusterIngressProfileWebAppRouting_STATUS struct { + // DnsZoneResourceIds: Resource IDs of the DNS zones to be associated with the Application Routing add-on. Used only when + // Application Routing add-on is enabled. Public and private DNS zones can be in different resource groups, but all public + // DNS zones must be in the same resource group and all private DNS zones must be in the same resource group. + DnsZoneResourceIds []string `json:"dnsZoneResourceIds"` + + // Enabled: Whether to enable the Application Routing add-on. + Enabled *bool `json:"enabled,omitempty"` + + // Identity: Managed identity of the Application Routing add-on. This is the identity that should be granted permissions, + // for example, to manage the associated Azure DNS resource and get certificates from Azure Key Vault. See [this overview + // of the add-on](https://learn.microsoft.com/en-us/azure/aks/web-app-routing?tabs=with-osm) for more instructions. + Identity *UserAssignedIdentity_STATUS `json:"identity,omitempty"` +} + +// Profile of the managed cluster load balancer. +type ManagedClusterLoadBalancerProfile_STATUS struct { + // AllocatedOutboundPorts: The desired number of allocated SNAT ports per VM. Allowed values are in the range of 0 to 64000 + // (inclusive). The default value is 0 which results in Azure dynamically allocating ports. + AllocatedOutboundPorts *int `json:"allocatedOutboundPorts,omitempty"` + + // BackendPoolType: The type of the managed inbound Load Balancer BackendPool. + BackendPoolType *ManagedClusterLoadBalancerProfile_BackendPoolType_STATUS `json:"backendPoolType,omitempty"` + + // EffectiveOutboundIPs: The effective outbound IP resources of the cluster load balancer. + EffectiveOutboundIPs []ResourceReference_STATUS `json:"effectiveOutboundIPs"` + + // EnableMultipleStandardLoadBalancers: Enable multiple standard load balancers per AKS cluster or not. + EnableMultipleStandardLoadBalancers *bool `json:"enableMultipleStandardLoadBalancers,omitempty"` + + // IdleTimeoutInMinutes: Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 + // (inclusive). The default value is 30 minutes. + IdleTimeoutInMinutes *int `json:"idleTimeoutInMinutes,omitempty"` + + // ManagedOutboundIPs: Desired managed outbound IPs for the cluster load balancer. + ManagedOutboundIPs *ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS `json:"managedOutboundIPs,omitempty"` + + // OutboundIPPrefixes: Desired outbound IP Prefix resources for the cluster load balancer. + OutboundIPPrefixes *ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS `json:"outboundIPPrefixes,omitempty"` + + // OutboundIPs: Desired outbound IP resources for the cluster load balancer. + OutboundIPs *ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS `json:"outboundIPs,omitempty"` +} + +// Profile of the managed cluster NAT gateway. +type ManagedClusterNATGatewayProfile_STATUS struct { + // EffectiveOutboundIPs: The effective outbound IP resources of the cluster NAT gateway. + EffectiveOutboundIPs []ResourceReference_STATUS `json:"effectiveOutboundIPs"` + + // IdleTimeoutInMinutes: Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 + // (inclusive). The default value is 4 minutes. + IdleTimeoutInMinutes *int `json:"idleTimeoutInMinutes,omitempty"` + + // ManagedOutboundIPProfile: Profile of the managed outbound IP resources of the cluster NAT gateway. + ManagedOutboundIPProfile *ManagedClusterManagedOutboundIPProfile_STATUS `json:"managedOutboundIPProfile,omitempty"` +} + +type ManagedClusterNodeResourceGroupProfile_RestrictionLevel_STATUS string + +const ( + ManagedClusterNodeResourceGroupProfile_RestrictionLevel_STATUS_ReadOnly = ManagedClusterNodeResourceGroupProfile_RestrictionLevel_STATUS("ReadOnly") + ManagedClusterNodeResourceGroupProfile_RestrictionLevel_STATUS_Unrestricted = ManagedClusterNodeResourceGroupProfile_RestrictionLevel_STATUS("Unrestricted") +) + +// Mapping from string to ManagedClusterNodeResourceGroupProfile_RestrictionLevel_STATUS +var managedClusterNodeResourceGroupProfile_RestrictionLevel_STATUS_Values = map[string]ManagedClusterNodeResourceGroupProfile_RestrictionLevel_STATUS{ + "readonly": ManagedClusterNodeResourceGroupProfile_RestrictionLevel_STATUS_ReadOnly, + "unrestricted": ManagedClusterNodeResourceGroupProfile_RestrictionLevel_STATUS_Unrestricted, +} + +// Details about the pod identity assigned to the Managed Cluster. +type ManagedClusterPodIdentity_STATUS struct { + // BindingSelector: The binding selector to use for the AzureIdentityBinding resource. + BindingSelector *string `json:"bindingSelector,omitempty"` + + // Identity: The user assigned identity details. + Identity *UserAssignedIdentity_STATUS `json:"identity,omitempty"` + + // Name: The name of the pod identity. + Name *string `json:"name,omitempty"` + + // Namespace: The namespace of the pod identity. + Namespace *string `json:"namespace,omitempty"` + ProvisioningInfo *ManagedClusterPodIdentity_ProvisioningInfo_STATUS `json:"provisioningInfo,omitempty"` + + // ProvisioningState: The current provisioning state of the pod identity. + ProvisioningState *ManagedClusterPodIdentity_ProvisioningState_STATUS `json:"provisioningState,omitempty"` +} + +// See [disable AAD Pod Identity for a specific +// Pod/Application](https://azure.github.io/aad-pod-identity/docs/configure/application_exception/) for more details. +type ManagedClusterPodIdentityException_STATUS struct { + // Name: The name of the pod identity exception. + Name *string `json:"name,omitempty"` + + // Namespace: The namespace of the pod identity exception. + Namespace *string `json:"namespace,omitempty"` + + // PodLabels: The pod labels to match. + PodLabels map[string]string `json:"podLabels"` +} + +type ManagedClusterProperties_AutoScalerProfile_Expander_STATUS string + +const ( + ManagedClusterProperties_AutoScalerProfile_Expander_STATUS_LeastWaste = ManagedClusterProperties_AutoScalerProfile_Expander_STATUS("least-waste") + ManagedClusterProperties_AutoScalerProfile_Expander_STATUS_MostPods = ManagedClusterProperties_AutoScalerProfile_Expander_STATUS("most-pods") + ManagedClusterProperties_AutoScalerProfile_Expander_STATUS_Priority = ManagedClusterProperties_AutoScalerProfile_Expander_STATUS("priority") + ManagedClusterProperties_AutoScalerProfile_Expander_STATUS_Random = ManagedClusterProperties_AutoScalerProfile_Expander_STATUS("random") +) + +// Mapping from string to ManagedClusterProperties_AutoScalerProfile_Expander_STATUS +var managedClusterProperties_AutoScalerProfile_Expander_STATUS_Values = map[string]ManagedClusterProperties_AutoScalerProfile_Expander_STATUS{ + "least-waste": ManagedClusterProperties_AutoScalerProfile_Expander_STATUS_LeastWaste, + "most-pods": ManagedClusterProperties_AutoScalerProfile_Expander_STATUS_MostPods, + "priority": ManagedClusterProperties_AutoScalerProfile_Expander_STATUS_Priority, + "random": ManagedClusterProperties_AutoScalerProfile_Expander_STATUS_Random, +} + +// Microsoft Defender settings for the security profile. +type ManagedClusterSecurityProfileDefender_STATUS struct { + // LogAnalyticsWorkspaceResourceId: Resource ID of the Log Analytics workspace to be associated with Microsoft Defender. + // When Microsoft Defender is enabled, this field is required and must be a valid workspace resource ID. When Microsoft + // Defender is disabled, leave the field empty. + LogAnalyticsWorkspaceResourceId *string `json:"logAnalyticsWorkspaceResourceId,omitempty"` + + // SecurityMonitoring: Microsoft Defender threat detection for Cloud settings for the security profile. + SecurityMonitoring *ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS `json:"securityMonitoring,omitempty"` +} + +// Image Cleaner removes unused images from nodes, freeing up disk space and helping to reduce attack surface area. Here +// are settings for the security profile. +type ManagedClusterSecurityProfileImageCleaner_STATUS struct { + // Enabled: Whether to enable Image Cleaner on AKS cluster. + Enabled *bool `json:"enabled,omitempty"` + + // IntervalHours: Image Cleaner scanning interval in hours. + IntervalHours *int `json:"intervalHours,omitempty"` +} + +// Workload identity settings for the security profile. +type ManagedClusterSecurityProfileWorkloadIdentity_STATUS struct { + // Enabled: Whether to enable workload identity. + Enabled *bool `json:"enabled,omitempty"` +} + +// AzureBlob CSI Driver settings for the storage profile. +type ManagedClusterStorageProfileBlobCSIDriver_STATUS struct { + // Enabled: Whether to enable AzureBlob CSI Driver. The default value is false. + Enabled *bool `json:"enabled,omitempty"` +} + +// AzureDisk CSI Driver settings for the storage profile. +type ManagedClusterStorageProfileDiskCSIDriver_STATUS struct { + // Enabled: Whether to enable AzureDisk CSI Driver. The default value is true. + Enabled *bool `json:"enabled,omitempty"` +} + +// AzureFile CSI Driver settings for the storage profile. +type ManagedClusterStorageProfileFileCSIDriver_STATUS struct { + // Enabled: Whether to enable AzureFile CSI Driver. The default value is true. + Enabled *bool `json:"enabled,omitempty"` +} + +// Snapshot Controller settings for the storage profile. +type ManagedClusterStorageProfileSnapshotController_STATUS struct { + // Enabled: Whether to enable Snapshot Controller. The default value is true. + Enabled *bool `json:"enabled,omitempty"` +} + +type ManagedClusterWindowsProfile_LicenseType_STATUS string + +const ( + ManagedClusterWindowsProfile_LicenseType_STATUS_None = ManagedClusterWindowsProfile_LicenseType_STATUS("None") + ManagedClusterWindowsProfile_LicenseType_STATUS_Windows_Server = ManagedClusterWindowsProfile_LicenseType_STATUS("Windows_Server") +) + +// Mapping from string to ManagedClusterWindowsProfile_LicenseType_STATUS +var managedClusterWindowsProfile_LicenseType_STATUS_Values = map[string]ManagedClusterWindowsProfile_LicenseType_STATUS{ + "none": ManagedClusterWindowsProfile_LicenseType_STATUS_None, + "windows_server": ManagedClusterWindowsProfile_LicenseType_STATUS_Windows_Server, +} + +// KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile. +type ManagedClusterWorkloadAutoScalerProfileKeda_STATUS struct { + // Enabled: Whether to enable KEDA. + Enabled *bool `json:"enabled,omitempty"` +} + +// VPA (Vertical Pod Autoscaler) settings for the workload auto-scaler profile. +type ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS struct { + // Enabled: Whether to enable VPA. Default value is false. + Enabled *bool `json:"enabled,omitempty"` +} + +type PowerState_Code_STATUS string + +const ( + PowerState_Code_STATUS_Running = PowerState_Code_STATUS("Running") + PowerState_Code_STATUS_Stopped = PowerState_Code_STATUS("Stopped") +) + +// Mapping from string to PowerState_Code_STATUS +var powerState_Code_STATUS_Values = map[string]PowerState_Code_STATUS{ + "running": PowerState_Code_STATUS_Running, + "stopped": PowerState_Code_STATUS_Stopped, +} + +type ServiceMeshProfile_Mode_STATUS string + +const ( + ServiceMeshProfile_Mode_STATUS_Disabled = ServiceMeshProfile_Mode_STATUS("Disabled") + ServiceMeshProfile_Mode_STATUS_Istio = ServiceMeshProfile_Mode_STATUS("Istio") +) + +// Mapping from string to ServiceMeshProfile_Mode_STATUS +var serviceMeshProfile_Mode_STATUS_Values = map[string]ServiceMeshProfile_Mode_STATUS{ + "disabled": ServiceMeshProfile_Mode_STATUS_Disabled, + "istio": ServiceMeshProfile_Mode_STATUS_Istio, +} + +// Settings for overrides when upgrading a cluster. +type UpgradeOverrideSettings_STATUS struct { + // ForceUpgrade: Whether to force upgrade the cluster. Note that this option instructs upgrade operation to bypass upgrade + // protections such as checking for deprecated API usage. Enable this option only with caution. + ForceUpgrade *bool `json:"forceUpgrade,omitempty"` + + // Until: Until when the overrides are effective. Note that this only matches the start time of an upgrade, and the + // effectiveness won't change once an upgrade starts even if the `until` expires as upgrade proceeds. This field is not set + // by default. It must be set for the overrides to take effect. + Until *string `json:"until,omitempty"` +} + +// Windows gMSA Profile in the managed cluster. +type WindowsGmsaProfile_STATUS struct { + // DnsServer: Specifies the DNS server for Windows gMSA. + // Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster. + DnsServer *string `json:"dnsServer,omitempty"` + + // Enabled: Specifies whether to enable Windows gMSA in the managed cluster. + Enabled *bool `json:"enabled,omitempty"` + + // RootDomainName: Specifies the root domain name for Windows gMSA. + // Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster. + RootDomainName *string `json:"rootDomainName,omitempty"` +} + +// Observability profile to enable advanced network metrics and flow logs with historical contexts. +type AdvancedNetworkingObservability_STATUS struct { + // Enabled: Indicates the enablement of Advanced Networking observability functionalities on clusters. + Enabled *bool `json:"enabled,omitempty"` +} + +// Security profile to enable security features on cilium based cluster. +type AdvancedNetworkingSecurity_STATUS struct { + // Enabled: This feature allows user to configure network policy based on DNS (FQDN) names. It can be enabled only on + // cilium based clusters. If not specified, the default is false. + Enabled *bool `json:"enabled,omitempty"` +} + +type AzureKeyVaultKms_KeyVaultNetworkAccess_STATUS string + +const ( + AzureKeyVaultKms_KeyVaultNetworkAccess_STATUS_Private = AzureKeyVaultKms_KeyVaultNetworkAccess_STATUS("Private") + AzureKeyVaultKms_KeyVaultNetworkAccess_STATUS_Public = AzureKeyVaultKms_KeyVaultNetworkAccess_STATUS("Public") +) + +// Mapping from string to AzureKeyVaultKms_KeyVaultNetworkAccess_STATUS +var azureKeyVaultKms_KeyVaultNetworkAccess_STATUS_Values = map[string]AzureKeyVaultKms_KeyVaultNetworkAccess_STATUS{ + "private": AzureKeyVaultKms_KeyVaultNetworkAccess_STATUS_Private, + "public": AzureKeyVaultKms_KeyVaultNetworkAccess_STATUS_Public, +} + +// Contains information about SSH certificate public key data. +type ContainerServiceSshPublicKey_STATUS struct { + // KeyData: Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or + // without headers. + KeyData *string `json:"keyData,omitempty"` +} + +// Istio Service Mesh Certificate Authority (CA) configuration. For now, we only support plugin certificates as described +// here https://aka.ms/asm-plugin-ca +type IstioCertificateAuthority_STATUS struct { + // Plugin: Plugin certificates information for Service Mesh. + Plugin *IstioPluginCertificateAuthority_STATUS `json:"plugin,omitempty"` +} + +// Istio components configuration. +type IstioComponents_STATUS struct { + // EgressGateways: Istio egress gateways. + EgressGateways []IstioEgressGateway_STATUS `json:"egressGateways"` + + // IngressGateways: Istio ingress gateways. + IngressGateways []IstioIngressGateway_STATUS `json:"ingressGateways"` +} + +// Kube State Metrics profile for the Azure Managed Prometheus addon. These optional settings are for the +// kube-state-metrics pod that is deployed with the addon. See aka.ms/AzureManagedPrometheus-optional-parameters for +// details. +type ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS struct { + // MetricAnnotationsAllowList: Comma-separated list of Kubernetes annotation keys that will be used in the resource's + // labels metric (Example: 'namespaces=[kubernetes.io/team,...],pods=[kubernetes.io/team],...'). By default the metric + // contains only resource name and namespace labels. + MetricAnnotationsAllowList *string `json:"metricAnnotationsAllowList,omitempty"` + + // MetricLabelsAllowlist: Comma-separated list of additional Kubernetes label keys that will be used in the resource's + // labels metric (Example: 'namespaces=[k8s-label-1,k8s-label-n,...],pods=[app],...'). By default the metric contains only + // resource name and namespace labels. + MetricLabelsAllowlist *string `json:"metricLabelsAllowlist,omitempty"` +} + +type ManagedClusterLoadBalancerProfile_BackendPoolType_STATUS string + +const ( + ManagedClusterLoadBalancerProfile_BackendPoolType_STATUS_NodeIP = ManagedClusterLoadBalancerProfile_BackendPoolType_STATUS("NodeIP") + ManagedClusterLoadBalancerProfile_BackendPoolType_STATUS_NodeIPConfiguration = ManagedClusterLoadBalancerProfile_BackendPoolType_STATUS("NodeIPConfiguration") +) + +// Mapping from string to ManagedClusterLoadBalancerProfile_BackendPoolType_STATUS +var managedClusterLoadBalancerProfile_BackendPoolType_STATUS_Values = map[string]ManagedClusterLoadBalancerProfile_BackendPoolType_STATUS{ + "nodeip": ManagedClusterLoadBalancerProfile_BackendPoolType_STATUS_NodeIP, + "nodeipconfiguration": ManagedClusterLoadBalancerProfile_BackendPoolType_STATUS_NodeIPConfiguration, +} + +type ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS struct { + // Count: The desired number of IPv4 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values + // must be in the range of 1 to 100 (inclusive). The default value is 1. + Count *int `json:"count,omitempty"` + + // CountIPv6: The desired number of IPv6 outbound IPs created/managed by Azure for the cluster load balancer. Allowed + // values must be in the range of 1 to 100 (inclusive). The default value is 0 for single-stack and 1 for dual-stack. + CountIPv6 *int `json:"countIPv6,omitempty"` +} + +type ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS struct { + // PublicIPPrefixes: A list of public IP prefix resources. + PublicIPPrefixes []ResourceReference_STATUS `json:"publicIPPrefixes"` +} + +type ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS struct { + // PublicIPs: A list of public IP resources. + PublicIPs []ResourceReference_STATUS `json:"publicIPs"` +} + +// Profile of the managed outbound IP resources of the managed cluster. +type ManagedClusterManagedOutboundIPProfile_STATUS struct { + // Count: The desired number of outbound IPs created/managed by Azure. Allowed values must be in the range of 1 to 16 + // (inclusive). The default value is 1. + Count *int `json:"count,omitempty"` +} + +type ManagedClusterPodIdentity_ProvisioningInfo_STATUS struct { + // Error: Pod identity assignment error (if any). + Error *ManagedClusterPodIdentityProvisioningError_STATUS `json:"error,omitempty"` +} + +type ManagedClusterPodIdentity_ProvisioningState_STATUS string + +const ( + ManagedClusterPodIdentity_ProvisioningState_STATUS_Assigned = ManagedClusterPodIdentity_ProvisioningState_STATUS("Assigned") + ManagedClusterPodIdentity_ProvisioningState_STATUS_Canceled = ManagedClusterPodIdentity_ProvisioningState_STATUS("Canceled") + ManagedClusterPodIdentity_ProvisioningState_STATUS_Deleting = ManagedClusterPodIdentity_ProvisioningState_STATUS("Deleting") + ManagedClusterPodIdentity_ProvisioningState_STATUS_Failed = ManagedClusterPodIdentity_ProvisioningState_STATUS("Failed") + ManagedClusterPodIdentity_ProvisioningState_STATUS_Succeeded = ManagedClusterPodIdentity_ProvisioningState_STATUS("Succeeded") + ManagedClusterPodIdentity_ProvisioningState_STATUS_Updating = ManagedClusterPodIdentity_ProvisioningState_STATUS("Updating") +) + +// Mapping from string to ManagedClusterPodIdentity_ProvisioningState_STATUS +var managedClusterPodIdentity_ProvisioningState_STATUS_Values = map[string]ManagedClusterPodIdentity_ProvisioningState_STATUS{ + "assigned": ManagedClusterPodIdentity_ProvisioningState_STATUS_Assigned, + "canceled": ManagedClusterPodIdentity_ProvisioningState_STATUS_Canceled, + "deleting": ManagedClusterPodIdentity_ProvisioningState_STATUS_Deleting, + "failed": ManagedClusterPodIdentity_ProvisioningState_STATUS_Failed, + "succeeded": ManagedClusterPodIdentity_ProvisioningState_STATUS_Succeeded, + "updating": ManagedClusterPodIdentity_ProvisioningState_STATUS_Updating, +} + +// Microsoft Defender settings for the security profile threat detection. +type ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS struct { + // Enabled: Whether to enable Defender threat detection + Enabled *bool `json:"enabled,omitempty"` +} + +// A reference to an Azure resource. +type ResourceReference_STATUS struct { + // Id: The fully qualified Azure resource id. + Id *string `json:"id,omitempty"` +} + +// Istio egress gateway configuration. +type IstioEgressGateway_STATUS struct { + // Enabled: Whether to enable the egress gateway. + Enabled *bool `json:"enabled,omitempty"` +} + +// Istio ingress gateway configuration. For now, we support up to one external ingress gateway named +// `aks-istio-ingressgateway-external` and one internal ingress gateway named `aks-istio-ingressgateway-internal`. +type IstioIngressGateway_STATUS struct { + // Enabled: Whether to enable the ingress gateway. + Enabled *bool `json:"enabled,omitempty"` + + // Mode: Mode of an ingress gateway. + Mode *IstioIngressGateway_Mode_STATUS `json:"mode,omitempty"` +} + +// Plugin certificates information for Service Mesh. +type IstioPluginCertificateAuthority_STATUS struct { + // CertChainObjectName: Certificate chain object name in Azure Key Vault. + CertChainObjectName *string `json:"certChainObjectName,omitempty"` + + // CertObjectName: Intermediate certificate object name in Azure Key Vault. + CertObjectName *string `json:"certObjectName,omitempty"` + + // KeyObjectName: Intermediate certificate private key object name in Azure Key Vault. + KeyObjectName *string `json:"keyObjectName,omitempty"` + + // KeyVaultId: The resource ID of the Key Vault. + KeyVaultId *string `json:"keyVaultId,omitempty"` + + // RootCertObjectName: Root certificate object name in Azure Key Vault. + RootCertObjectName *string `json:"rootCertObjectName,omitempty"` +} + +// An error response from the pod identity provisioning. +type ManagedClusterPodIdentityProvisioningError_STATUS struct { + // Error: Details about the error. + Error *ManagedClusterPodIdentityProvisioningErrorBody_STATUS `json:"error,omitempty"` +} + +type IstioIngressGateway_Mode_STATUS string + +const ( + IstioIngressGateway_Mode_STATUS_External = IstioIngressGateway_Mode_STATUS("External") + IstioIngressGateway_Mode_STATUS_Internal = IstioIngressGateway_Mode_STATUS("Internal") +) + +// Mapping from string to IstioIngressGateway_Mode_STATUS +var istioIngressGateway_Mode_STATUS_Values = map[string]IstioIngressGateway_Mode_STATUS{ + "external": IstioIngressGateway_Mode_STATUS_External, + "internal": IstioIngressGateway_Mode_STATUS_Internal, +} + +// An error response from the pod identity provisioning. +type ManagedClusterPodIdentityProvisioningErrorBody_STATUS struct { + // Code: An identifier for the error. Codes are invariant and are intended to be consumed programmatically. + Code *string `json:"code,omitempty"` + + // Details: A list of additional details about the error. + Details []ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled `json:"details"` + + // Message: A message describing the error, intended to be suitable for display in a user interface. + Message *string `json:"message,omitempty"` + + // Target: The target of the particular error. For example, the name of the property in error. + Target *string `json:"target,omitempty"` +} + +type ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled struct { + // Code: An identifier for the error. Codes are invariant and are intended to be consumed programmatically. + Code *string `json:"code,omitempty"` + + // Message: A message describing the error, intended to be suitable for display in a user interface. + Message *string `json:"message,omitempty"` + + // Target: The target of the particular error. For example, the name of the property in error. + Target *string `json:"target,omitempty"` +} diff --git a/v2/api/containerservice/v1api20240901/arm/managed_cluster_status_types_gen_test.go b/v2/api/containerservice/v1api20240901/arm/managed_cluster_status_types_gen_test.go new file mode 100644 index 00000000000..847d50e0cc0 --- /dev/null +++ b/v2/api/containerservice/v1api20240901/arm/managed_cluster_status_types_gen_test.go @@ -0,0 +1,4996 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package arm + +import ( + "encoding/json" + "github.com/google/go-cmp/cmp" + "github.com/google/go-cmp/cmp/cmpopts" + "github.com/kr/pretty" + "github.com/kylelemons/godebug/diff" + "github.com/leanovate/gopter" + "github.com/leanovate/gopter/gen" + "github.com/leanovate/gopter/prop" + "os" + "reflect" + "testing" +) + +func Test_AdvancedNetworkingObservability_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of AdvancedNetworkingObservability_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAdvancedNetworkingObservability_STATUS, AdvancedNetworkingObservability_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAdvancedNetworkingObservability_STATUS runs a test to see if a specific instance of AdvancedNetworkingObservability_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForAdvancedNetworkingObservability_STATUS(subject AdvancedNetworkingObservability_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AdvancedNetworkingObservability_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of AdvancedNetworkingObservability_STATUS instances for property testing - lazily instantiated by +// AdvancedNetworkingObservability_STATUSGenerator() +var advancedNetworkingObservability_STATUSGenerator gopter.Gen + +// AdvancedNetworkingObservability_STATUSGenerator returns a generator of AdvancedNetworkingObservability_STATUS instances for property testing. +func AdvancedNetworkingObservability_STATUSGenerator() gopter.Gen { + if advancedNetworkingObservability_STATUSGenerator != nil { + return advancedNetworkingObservability_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAdvancedNetworkingObservability_STATUS(generators) + advancedNetworkingObservability_STATUSGenerator = gen.Struct(reflect.TypeOf(AdvancedNetworkingObservability_STATUS{}), generators) + + return advancedNetworkingObservability_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForAdvancedNetworkingObservability_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAdvancedNetworkingObservability_STATUS(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +func Test_AdvancedNetworkingSecurity_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of AdvancedNetworkingSecurity_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAdvancedNetworkingSecurity_STATUS, AdvancedNetworkingSecurity_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAdvancedNetworkingSecurity_STATUS runs a test to see if a specific instance of AdvancedNetworkingSecurity_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForAdvancedNetworkingSecurity_STATUS(subject AdvancedNetworkingSecurity_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AdvancedNetworkingSecurity_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of AdvancedNetworkingSecurity_STATUS instances for property testing - lazily instantiated by +// AdvancedNetworkingSecurity_STATUSGenerator() +var advancedNetworkingSecurity_STATUSGenerator gopter.Gen + +// AdvancedNetworkingSecurity_STATUSGenerator returns a generator of AdvancedNetworkingSecurity_STATUS instances for property testing. +func AdvancedNetworkingSecurity_STATUSGenerator() gopter.Gen { + if advancedNetworkingSecurity_STATUSGenerator != nil { + return advancedNetworkingSecurity_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAdvancedNetworkingSecurity_STATUS(generators) + advancedNetworkingSecurity_STATUSGenerator = gen.Struct(reflect.TypeOf(AdvancedNetworkingSecurity_STATUS{}), generators) + + return advancedNetworkingSecurity_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForAdvancedNetworkingSecurity_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAdvancedNetworkingSecurity_STATUS(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +func Test_AdvancedNetworking_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of AdvancedNetworking_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAdvancedNetworking_STATUS, AdvancedNetworking_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAdvancedNetworking_STATUS runs a test to see if a specific instance of AdvancedNetworking_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForAdvancedNetworking_STATUS(subject AdvancedNetworking_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AdvancedNetworking_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of AdvancedNetworking_STATUS instances for property testing - lazily instantiated by +// AdvancedNetworking_STATUSGenerator() +var advancedNetworking_STATUSGenerator gopter.Gen + +// AdvancedNetworking_STATUSGenerator returns a generator of AdvancedNetworking_STATUS instances for property testing. +// We first initialize advancedNetworking_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func AdvancedNetworking_STATUSGenerator() gopter.Gen { + if advancedNetworking_STATUSGenerator != nil { + return advancedNetworking_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAdvancedNetworking_STATUS(generators) + advancedNetworking_STATUSGenerator = gen.Struct(reflect.TypeOf(AdvancedNetworking_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAdvancedNetworking_STATUS(generators) + AddRelatedPropertyGeneratorsForAdvancedNetworking_STATUS(generators) + advancedNetworking_STATUSGenerator = gen.Struct(reflect.TypeOf(AdvancedNetworking_STATUS{}), generators) + + return advancedNetworking_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForAdvancedNetworking_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAdvancedNetworking_STATUS(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +// AddRelatedPropertyGeneratorsForAdvancedNetworking_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForAdvancedNetworking_STATUS(gens map[string]gopter.Gen) { + gens["Observability"] = gen.PtrOf(AdvancedNetworkingObservability_STATUSGenerator()) + gens["Security"] = gen.PtrOf(AdvancedNetworkingSecurity_STATUSGenerator()) +} + +func Test_AzureKeyVaultKms_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of AzureKeyVaultKms_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAzureKeyVaultKms_STATUS, AzureKeyVaultKms_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAzureKeyVaultKms_STATUS runs a test to see if a specific instance of AzureKeyVaultKms_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForAzureKeyVaultKms_STATUS(subject AzureKeyVaultKms_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AzureKeyVaultKms_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of AzureKeyVaultKms_STATUS instances for property testing - lazily instantiated by +// AzureKeyVaultKms_STATUSGenerator() +var azureKeyVaultKms_STATUSGenerator gopter.Gen + +// AzureKeyVaultKms_STATUSGenerator returns a generator of AzureKeyVaultKms_STATUS instances for property testing. +func AzureKeyVaultKms_STATUSGenerator() gopter.Gen { + if azureKeyVaultKms_STATUSGenerator != nil { + return azureKeyVaultKms_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAzureKeyVaultKms_STATUS(generators) + azureKeyVaultKms_STATUSGenerator = gen.Struct(reflect.TypeOf(AzureKeyVaultKms_STATUS{}), generators) + + return azureKeyVaultKms_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForAzureKeyVaultKms_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAzureKeyVaultKms_STATUS(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) + gens["KeyId"] = gen.PtrOf(gen.AlphaString()) + gens["KeyVaultNetworkAccess"] = gen.PtrOf(gen.OneConstOf(AzureKeyVaultKms_KeyVaultNetworkAccess_STATUS_Private, AzureKeyVaultKms_KeyVaultNetworkAccess_STATUS_Public)) + gens["KeyVaultResourceId"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ClusterUpgradeSettings_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ClusterUpgradeSettings_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForClusterUpgradeSettings_STATUS, ClusterUpgradeSettings_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForClusterUpgradeSettings_STATUS runs a test to see if a specific instance of ClusterUpgradeSettings_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForClusterUpgradeSettings_STATUS(subject ClusterUpgradeSettings_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ClusterUpgradeSettings_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ClusterUpgradeSettings_STATUS instances for property testing - lazily instantiated by +// ClusterUpgradeSettings_STATUSGenerator() +var clusterUpgradeSettings_STATUSGenerator gopter.Gen + +// ClusterUpgradeSettings_STATUSGenerator returns a generator of ClusterUpgradeSettings_STATUS instances for property testing. +func ClusterUpgradeSettings_STATUSGenerator() gopter.Gen { + if clusterUpgradeSettings_STATUSGenerator != nil { + return clusterUpgradeSettings_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForClusterUpgradeSettings_STATUS(generators) + clusterUpgradeSettings_STATUSGenerator = gen.Struct(reflect.TypeOf(ClusterUpgradeSettings_STATUS{}), generators) + + return clusterUpgradeSettings_STATUSGenerator +} + +// AddRelatedPropertyGeneratorsForClusterUpgradeSettings_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForClusterUpgradeSettings_STATUS(gens map[string]gopter.Gen) { + gens["OverrideSettings"] = gen.PtrOf(UpgradeOverrideSettings_STATUSGenerator()) +} + +func Test_ContainerServiceLinuxProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ContainerServiceLinuxProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForContainerServiceLinuxProfile_STATUS, ContainerServiceLinuxProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForContainerServiceLinuxProfile_STATUS runs a test to see if a specific instance of ContainerServiceLinuxProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForContainerServiceLinuxProfile_STATUS(subject ContainerServiceLinuxProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ContainerServiceLinuxProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ContainerServiceLinuxProfile_STATUS instances for property testing - lazily instantiated by +// ContainerServiceLinuxProfile_STATUSGenerator() +var containerServiceLinuxProfile_STATUSGenerator gopter.Gen + +// ContainerServiceLinuxProfile_STATUSGenerator returns a generator of ContainerServiceLinuxProfile_STATUS instances for property testing. +// We first initialize containerServiceLinuxProfile_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func ContainerServiceLinuxProfile_STATUSGenerator() gopter.Gen { + if containerServiceLinuxProfile_STATUSGenerator != nil { + return containerServiceLinuxProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForContainerServiceLinuxProfile_STATUS(generators) + containerServiceLinuxProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ContainerServiceLinuxProfile_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForContainerServiceLinuxProfile_STATUS(generators) + AddRelatedPropertyGeneratorsForContainerServiceLinuxProfile_STATUS(generators) + containerServiceLinuxProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ContainerServiceLinuxProfile_STATUS{}), generators) + + return containerServiceLinuxProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForContainerServiceLinuxProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForContainerServiceLinuxProfile_STATUS(gens map[string]gopter.Gen) { + gens["AdminUsername"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForContainerServiceLinuxProfile_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForContainerServiceLinuxProfile_STATUS(gens map[string]gopter.Gen) { + gens["Ssh"] = gen.PtrOf(ContainerServiceSshConfiguration_STATUSGenerator()) +} + +func Test_ContainerServiceNetworkProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ContainerServiceNetworkProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForContainerServiceNetworkProfile_STATUS, ContainerServiceNetworkProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForContainerServiceNetworkProfile_STATUS runs a test to see if a specific instance of ContainerServiceNetworkProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForContainerServiceNetworkProfile_STATUS(subject ContainerServiceNetworkProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ContainerServiceNetworkProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ContainerServiceNetworkProfile_STATUS instances for property testing - lazily instantiated by +// ContainerServiceNetworkProfile_STATUSGenerator() +var containerServiceNetworkProfile_STATUSGenerator gopter.Gen + +// ContainerServiceNetworkProfile_STATUSGenerator returns a generator of ContainerServiceNetworkProfile_STATUS instances for property testing. +// We first initialize containerServiceNetworkProfile_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func ContainerServiceNetworkProfile_STATUSGenerator() gopter.Gen { + if containerServiceNetworkProfile_STATUSGenerator != nil { + return containerServiceNetworkProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForContainerServiceNetworkProfile_STATUS(generators) + containerServiceNetworkProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ContainerServiceNetworkProfile_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForContainerServiceNetworkProfile_STATUS(generators) + AddRelatedPropertyGeneratorsForContainerServiceNetworkProfile_STATUS(generators) + containerServiceNetworkProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ContainerServiceNetworkProfile_STATUS{}), generators) + + return containerServiceNetworkProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForContainerServiceNetworkProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForContainerServiceNetworkProfile_STATUS(gens map[string]gopter.Gen) { + gens["DnsServiceIP"] = gen.PtrOf(gen.AlphaString()) + gens["IpFamilies"] = gen.SliceOf(gen.OneConstOf(ContainerServiceNetworkProfile_IpFamilies_STATUS_IPv4, ContainerServiceNetworkProfile_IpFamilies_STATUS_IPv6)) + gens["LoadBalancerSku"] = gen.PtrOf(gen.OneConstOf(ContainerServiceNetworkProfile_LoadBalancerSku_STATUS_Basic, ContainerServiceNetworkProfile_LoadBalancerSku_STATUS_Standard)) + gens["NetworkDataplane"] = gen.PtrOf(gen.OneConstOf(ContainerServiceNetworkProfile_NetworkDataplane_STATUS_Azure, ContainerServiceNetworkProfile_NetworkDataplane_STATUS_Cilium)) + gens["NetworkMode"] = gen.PtrOf(gen.OneConstOf(ContainerServiceNetworkProfile_NetworkMode_STATUS_Bridge, ContainerServiceNetworkProfile_NetworkMode_STATUS_Transparent)) + gens["NetworkPlugin"] = gen.PtrOf(gen.OneConstOf(ContainerServiceNetworkProfile_NetworkPlugin_STATUS_Azure, ContainerServiceNetworkProfile_NetworkPlugin_STATUS_Kubenet, ContainerServiceNetworkProfile_NetworkPlugin_STATUS_None)) + gens["NetworkPluginMode"] = gen.PtrOf(gen.OneConstOf(ContainerServiceNetworkProfile_NetworkPluginMode_STATUS_Overlay)) + gens["NetworkPolicy"] = gen.PtrOf(gen.OneConstOf( + ContainerServiceNetworkProfile_NetworkPolicy_STATUS_Azure, + ContainerServiceNetworkProfile_NetworkPolicy_STATUS_Calico, + ContainerServiceNetworkProfile_NetworkPolicy_STATUS_Cilium, + ContainerServiceNetworkProfile_NetworkPolicy_STATUS_None)) + gens["OutboundType"] = gen.PtrOf(gen.OneConstOf( + ContainerServiceNetworkProfile_OutboundType_STATUS_LoadBalancer, + ContainerServiceNetworkProfile_OutboundType_STATUS_ManagedNATGateway, + ContainerServiceNetworkProfile_OutboundType_STATUS_UserAssignedNATGateway, + ContainerServiceNetworkProfile_OutboundType_STATUS_UserDefinedRouting)) + gens["PodCidr"] = gen.PtrOf(gen.AlphaString()) + gens["PodCidrs"] = gen.SliceOf(gen.AlphaString()) + gens["ServiceCidr"] = gen.PtrOf(gen.AlphaString()) + gens["ServiceCidrs"] = gen.SliceOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForContainerServiceNetworkProfile_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForContainerServiceNetworkProfile_STATUS(gens map[string]gopter.Gen) { + gens["AdvancedNetworking"] = gen.PtrOf(AdvancedNetworking_STATUSGenerator()) + gens["LoadBalancerProfile"] = gen.PtrOf(ManagedClusterLoadBalancerProfile_STATUSGenerator()) + gens["NatGatewayProfile"] = gen.PtrOf(ManagedClusterNATGatewayProfile_STATUSGenerator()) +} + +func Test_ContainerServiceSshConfiguration_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ContainerServiceSshConfiguration_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForContainerServiceSshConfiguration_STATUS, ContainerServiceSshConfiguration_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForContainerServiceSshConfiguration_STATUS runs a test to see if a specific instance of ContainerServiceSshConfiguration_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForContainerServiceSshConfiguration_STATUS(subject ContainerServiceSshConfiguration_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ContainerServiceSshConfiguration_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ContainerServiceSshConfiguration_STATUS instances for property testing - lazily instantiated by +// ContainerServiceSshConfiguration_STATUSGenerator() +var containerServiceSshConfiguration_STATUSGenerator gopter.Gen + +// ContainerServiceSshConfiguration_STATUSGenerator returns a generator of ContainerServiceSshConfiguration_STATUS instances for property testing. +func ContainerServiceSshConfiguration_STATUSGenerator() gopter.Gen { + if containerServiceSshConfiguration_STATUSGenerator != nil { + return containerServiceSshConfiguration_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForContainerServiceSshConfiguration_STATUS(generators) + containerServiceSshConfiguration_STATUSGenerator = gen.Struct(reflect.TypeOf(ContainerServiceSshConfiguration_STATUS{}), generators) + + return containerServiceSshConfiguration_STATUSGenerator +} + +// AddRelatedPropertyGeneratorsForContainerServiceSshConfiguration_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForContainerServiceSshConfiguration_STATUS(gens map[string]gopter.Gen) { + gens["PublicKeys"] = gen.SliceOf(ContainerServiceSshPublicKey_STATUSGenerator()) +} + +func Test_ContainerServiceSshPublicKey_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ContainerServiceSshPublicKey_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForContainerServiceSshPublicKey_STATUS, ContainerServiceSshPublicKey_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForContainerServiceSshPublicKey_STATUS runs a test to see if a specific instance of ContainerServiceSshPublicKey_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForContainerServiceSshPublicKey_STATUS(subject ContainerServiceSshPublicKey_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ContainerServiceSshPublicKey_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ContainerServiceSshPublicKey_STATUS instances for property testing - lazily instantiated by +// ContainerServiceSshPublicKey_STATUSGenerator() +var containerServiceSshPublicKey_STATUSGenerator gopter.Gen + +// ContainerServiceSshPublicKey_STATUSGenerator returns a generator of ContainerServiceSshPublicKey_STATUS instances for property testing. +func ContainerServiceSshPublicKey_STATUSGenerator() gopter.Gen { + if containerServiceSshPublicKey_STATUSGenerator != nil { + return containerServiceSshPublicKey_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForContainerServiceSshPublicKey_STATUS(generators) + containerServiceSshPublicKey_STATUSGenerator = gen.Struct(reflect.TypeOf(ContainerServiceSshPublicKey_STATUS{}), generators) + + return containerServiceSshPublicKey_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForContainerServiceSshPublicKey_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForContainerServiceSshPublicKey_STATUS(gens map[string]gopter.Gen) { + gens["KeyData"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_DelegatedResource_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of DelegatedResource_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForDelegatedResource_STATUS, DelegatedResource_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForDelegatedResource_STATUS runs a test to see if a specific instance of DelegatedResource_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForDelegatedResource_STATUS(subject DelegatedResource_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual DelegatedResource_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of DelegatedResource_STATUS instances for property testing - lazily instantiated by +// DelegatedResource_STATUSGenerator() +var delegatedResource_STATUSGenerator gopter.Gen + +// DelegatedResource_STATUSGenerator returns a generator of DelegatedResource_STATUS instances for property testing. +func DelegatedResource_STATUSGenerator() gopter.Gen { + if delegatedResource_STATUSGenerator != nil { + return delegatedResource_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForDelegatedResource_STATUS(generators) + delegatedResource_STATUSGenerator = gen.Struct(reflect.TypeOf(DelegatedResource_STATUS{}), generators) + + return delegatedResource_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForDelegatedResource_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForDelegatedResource_STATUS(gens map[string]gopter.Gen) { + gens["Location"] = gen.PtrOf(gen.AlphaString()) + gens["ReferralResource"] = gen.PtrOf(gen.AlphaString()) + gens["ResourceId"] = gen.PtrOf(gen.AlphaString()) + gens["TenantId"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ExtendedLocation_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ExtendedLocation_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForExtendedLocation_STATUS, ExtendedLocation_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForExtendedLocation_STATUS runs a test to see if a specific instance of ExtendedLocation_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForExtendedLocation_STATUS(subject ExtendedLocation_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ExtendedLocation_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ExtendedLocation_STATUS instances for property testing - lazily instantiated by +// ExtendedLocation_STATUSGenerator() +var extendedLocation_STATUSGenerator gopter.Gen + +// ExtendedLocation_STATUSGenerator returns a generator of ExtendedLocation_STATUS instances for property testing. +func ExtendedLocation_STATUSGenerator() gopter.Gen { + if extendedLocation_STATUSGenerator != nil { + return extendedLocation_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForExtendedLocation_STATUS(generators) + extendedLocation_STATUSGenerator = gen.Struct(reflect.TypeOf(ExtendedLocation_STATUS{}), generators) + + return extendedLocation_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForExtendedLocation_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForExtendedLocation_STATUS(gens map[string]gopter.Gen) { + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["Type"] = gen.PtrOf(gen.OneConstOf(ExtendedLocationType_STATUS_EdgeZone)) +} + +func Test_IstioCertificateAuthority_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of IstioCertificateAuthority_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForIstioCertificateAuthority_STATUS, IstioCertificateAuthority_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForIstioCertificateAuthority_STATUS runs a test to see if a specific instance of IstioCertificateAuthority_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForIstioCertificateAuthority_STATUS(subject IstioCertificateAuthority_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual IstioCertificateAuthority_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of IstioCertificateAuthority_STATUS instances for property testing - lazily instantiated by +// IstioCertificateAuthority_STATUSGenerator() +var istioCertificateAuthority_STATUSGenerator gopter.Gen + +// IstioCertificateAuthority_STATUSGenerator returns a generator of IstioCertificateAuthority_STATUS instances for property testing. +func IstioCertificateAuthority_STATUSGenerator() gopter.Gen { + if istioCertificateAuthority_STATUSGenerator != nil { + return istioCertificateAuthority_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForIstioCertificateAuthority_STATUS(generators) + istioCertificateAuthority_STATUSGenerator = gen.Struct(reflect.TypeOf(IstioCertificateAuthority_STATUS{}), generators) + + return istioCertificateAuthority_STATUSGenerator +} + +// AddRelatedPropertyGeneratorsForIstioCertificateAuthority_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForIstioCertificateAuthority_STATUS(gens map[string]gopter.Gen) { + gens["Plugin"] = gen.PtrOf(IstioPluginCertificateAuthority_STATUSGenerator()) +} + +func Test_IstioComponents_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of IstioComponents_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForIstioComponents_STATUS, IstioComponents_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForIstioComponents_STATUS runs a test to see if a specific instance of IstioComponents_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForIstioComponents_STATUS(subject IstioComponents_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual IstioComponents_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of IstioComponents_STATUS instances for property testing - lazily instantiated by +// IstioComponents_STATUSGenerator() +var istioComponents_STATUSGenerator gopter.Gen + +// IstioComponents_STATUSGenerator returns a generator of IstioComponents_STATUS instances for property testing. +func IstioComponents_STATUSGenerator() gopter.Gen { + if istioComponents_STATUSGenerator != nil { + return istioComponents_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForIstioComponents_STATUS(generators) + istioComponents_STATUSGenerator = gen.Struct(reflect.TypeOf(IstioComponents_STATUS{}), generators) + + return istioComponents_STATUSGenerator +} + +// AddRelatedPropertyGeneratorsForIstioComponents_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForIstioComponents_STATUS(gens map[string]gopter.Gen) { + gens["EgressGateways"] = gen.SliceOf(IstioEgressGateway_STATUSGenerator()) + gens["IngressGateways"] = gen.SliceOf(IstioIngressGateway_STATUSGenerator()) +} + +func Test_IstioEgressGateway_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of IstioEgressGateway_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForIstioEgressGateway_STATUS, IstioEgressGateway_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForIstioEgressGateway_STATUS runs a test to see if a specific instance of IstioEgressGateway_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForIstioEgressGateway_STATUS(subject IstioEgressGateway_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual IstioEgressGateway_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of IstioEgressGateway_STATUS instances for property testing - lazily instantiated by +// IstioEgressGateway_STATUSGenerator() +var istioEgressGateway_STATUSGenerator gopter.Gen + +// IstioEgressGateway_STATUSGenerator returns a generator of IstioEgressGateway_STATUS instances for property testing. +func IstioEgressGateway_STATUSGenerator() gopter.Gen { + if istioEgressGateway_STATUSGenerator != nil { + return istioEgressGateway_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForIstioEgressGateway_STATUS(generators) + istioEgressGateway_STATUSGenerator = gen.Struct(reflect.TypeOf(IstioEgressGateway_STATUS{}), generators) + + return istioEgressGateway_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForIstioEgressGateway_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForIstioEgressGateway_STATUS(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +func Test_IstioIngressGateway_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of IstioIngressGateway_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForIstioIngressGateway_STATUS, IstioIngressGateway_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForIstioIngressGateway_STATUS runs a test to see if a specific instance of IstioIngressGateway_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForIstioIngressGateway_STATUS(subject IstioIngressGateway_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual IstioIngressGateway_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of IstioIngressGateway_STATUS instances for property testing - lazily instantiated by +// IstioIngressGateway_STATUSGenerator() +var istioIngressGateway_STATUSGenerator gopter.Gen + +// IstioIngressGateway_STATUSGenerator returns a generator of IstioIngressGateway_STATUS instances for property testing. +func IstioIngressGateway_STATUSGenerator() gopter.Gen { + if istioIngressGateway_STATUSGenerator != nil { + return istioIngressGateway_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForIstioIngressGateway_STATUS(generators) + istioIngressGateway_STATUSGenerator = gen.Struct(reflect.TypeOf(IstioIngressGateway_STATUS{}), generators) + + return istioIngressGateway_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForIstioIngressGateway_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForIstioIngressGateway_STATUS(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) + gens["Mode"] = gen.PtrOf(gen.OneConstOf(IstioIngressGateway_Mode_STATUS_External, IstioIngressGateway_Mode_STATUS_Internal)) +} + +func Test_IstioPluginCertificateAuthority_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of IstioPluginCertificateAuthority_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForIstioPluginCertificateAuthority_STATUS, IstioPluginCertificateAuthority_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForIstioPluginCertificateAuthority_STATUS runs a test to see if a specific instance of IstioPluginCertificateAuthority_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForIstioPluginCertificateAuthority_STATUS(subject IstioPluginCertificateAuthority_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual IstioPluginCertificateAuthority_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of IstioPluginCertificateAuthority_STATUS instances for property testing - lazily instantiated by +// IstioPluginCertificateAuthority_STATUSGenerator() +var istioPluginCertificateAuthority_STATUSGenerator gopter.Gen + +// IstioPluginCertificateAuthority_STATUSGenerator returns a generator of IstioPluginCertificateAuthority_STATUS instances for property testing. +func IstioPluginCertificateAuthority_STATUSGenerator() gopter.Gen { + if istioPluginCertificateAuthority_STATUSGenerator != nil { + return istioPluginCertificateAuthority_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForIstioPluginCertificateAuthority_STATUS(generators) + istioPluginCertificateAuthority_STATUSGenerator = gen.Struct(reflect.TypeOf(IstioPluginCertificateAuthority_STATUS{}), generators) + + return istioPluginCertificateAuthority_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForIstioPluginCertificateAuthority_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForIstioPluginCertificateAuthority_STATUS(gens map[string]gopter.Gen) { + gens["CertChainObjectName"] = gen.PtrOf(gen.AlphaString()) + gens["CertObjectName"] = gen.PtrOf(gen.AlphaString()) + gens["KeyObjectName"] = gen.PtrOf(gen.AlphaString()) + gens["KeyVaultId"] = gen.PtrOf(gen.AlphaString()) + gens["RootCertObjectName"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_IstioServiceMesh_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of IstioServiceMesh_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForIstioServiceMesh_STATUS, IstioServiceMesh_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForIstioServiceMesh_STATUS runs a test to see if a specific instance of IstioServiceMesh_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForIstioServiceMesh_STATUS(subject IstioServiceMesh_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual IstioServiceMesh_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of IstioServiceMesh_STATUS instances for property testing - lazily instantiated by +// IstioServiceMesh_STATUSGenerator() +var istioServiceMesh_STATUSGenerator gopter.Gen + +// IstioServiceMesh_STATUSGenerator returns a generator of IstioServiceMesh_STATUS instances for property testing. +// We first initialize istioServiceMesh_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func IstioServiceMesh_STATUSGenerator() gopter.Gen { + if istioServiceMesh_STATUSGenerator != nil { + return istioServiceMesh_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForIstioServiceMesh_STATUS(generators) + istioServiceMesh_STATUSGenerator = gen.Struct(reflect.TypeOf(IstioServiceMesh_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForIstioServiceMesh_STATUS(generators) + AddRelatedPropertyGeneratorsForIstioServiceMesh_STATUS(generators) + istioServiceMesh_STATUSGenerator = gen.Struct(reflect.TypeOf(IstioServiceMesh_STATUS{}), generators) + + return istioServiceMesh_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForIstioServiceMesh_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForIstioServiceMesh_STATUS(gens map[string]gopter.Gen) { + gens["Revisions"] = gen.SliceOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForIstioServiceMesh_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForIstioServiceMesh_STATUS(gens map[string]gopter.Gen) { + gens["CertificateAuthority"] = gen.PtrOf(IstioCertificateAuthority_STATUSGenerator()) + gens["Components"] = gen.PtrOf(IstioComponents_STATUSGenerator()) +} + +func Test_ManagedClusterAADProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterAADProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterAADProfile_STATUS, ManagedClusterAADProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterAADProfile_STATUS runs a test to see if a specific instance of ManagedClusterAADProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterAADProfile_STATUS(subject ManagedClusterAADProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterAADProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterAADProfile_STATUS instances for property testing - lazily instantiated by +// ManagedClusterAADProfile_STATUSGenerator() +var managedClusterAADProfile_STATUSGenerator gopter.Gen + +// ManagedClusterAADProfile_STATUSGenerator returns a generator of ManagedClusterAADProfile_STATUS instances for property testing. +func ManagedClusterAADProfile_STATUSGenerator() gopter.Gen { + if managedClusterAADProfile_STATUSGenerator != nil { + return managedClusterAADProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterAADProfile_STATUS(generators) + managedClusterAADProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterAADProfile_STATUS{}), generators) + + return managedClusterAADProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterAADProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterAADProfile_STATUS(gens map[string]gopter.Gen) { + gens["AdminGroupObjectIDs"] = gen.SliceOf(gen.AlphaString()) + gens["ClientAppID"] = gen.PtrOf(gen.AlphaString()) + gens["EnableAzureRBAC"] = gen.PtrOf(gen.Bool()) + gens["Managed"] = gen.PtrOf(gen.Bool()) + gens["ServerAppID"] = gen.PtrOf(gen.AlphaString()) + gens["ServerAppSecret"] = gen.PtrOf(gen.AlphaString()) + gens["TenantID"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ManagedClusterAPIServerAccessProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterAPIServerAccessProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterAPIServerAccessProfile_STATUS, ManagedClusterAPIServerAccessProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterAPIServerAccessProfile_STATUS runs a test to see if a specific instance of ManagedClusterAPIServerAccessProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterAPIServerAccessProfile_STATUS(subject ManagedClusterAPIServerAccessProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterAPIServerAccessProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterAPIServerAccessProfile_STATUS instances for property testing - lazily instantiated by +// ManagedClusterAPIServerAccessProfile_STATUSGenerator() +var managedClusterAPIServerAccessProfile_STATUSGenerator gopter.Gen + +// ManagedClusterAPIServerAccessProfile_STATUSGenerator returns a generator of ManagedClusterAPIServerAccessProfile_STATUS instances for property testing. +func ManagedClusterAPIServerAccessProfile_STATUSGenerator() gopter.Gen { + if managedClusterAPIServerAccessProfile_STATUSGenerator != nil { + return managedClusterAPIServerAccessProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterAPIServerAccessProfile_STATUS(generators) + managedClusterAPIServerAccessProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterAPIServerAccessProfile_STATUS{}), generators) + + return managedClusterAPIServerAccessProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterAPIServerAccessProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterAPIServerAccessProfile_STATUS(gens map[string]gopter.Gen) { + gens["AuthorizedIPRanges"] = gen.SliceOf(gen.AlphaString()) + gens["DisableRunCommand"] = gen.PtrOf(gen.Bool()) + gens["EnablePrivateCluster"] = gen.PtrOf(gen.Bool()) + gens["EnablePrivateClusterPublicFQDN"] = gen.PtrOf(gen.Bool()) + gens["PrivateDNSZone"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ManagedClusterAddonProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterAddonProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterAddonProfile_STATUS, ManagedClusterAddonProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterAddonProfile_STATUS runs a test to see if a specific instance of ManagedClusterAddonProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterAddonProfile_STATUS(subject ManagedClusterAddonProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterAddonProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterAddonProfile_STATUS instances for property testing - lazily instantiated by +// ManagedClusterAddonProfile_STATUSGenerator() +var managedClusterAddonProfile_STATUSGenerator gopter.Gen + +// ManagedClusterAddonProfile_STATUSGenerator returns a generator of ManagedClusterAddonProfile_STATUS instances for property testing. +// We first initialize managedClusterAddonProfile_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func ManagedClusterAddonProfile_STATUSGenerator() gopter.Gen { + if managedClusterAddonProfile_STATUSGenerator != nil { + return managedClusterAddonProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterAddonProfile_STATUS(generators) + managedClusterAddonProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterAddonProfile_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterAddonProfile_STATUS(generators) + AddRelatedPropertyGeneratorsForManagedClusterAddonProfile_STATUS(generators) + managedClusterAddonProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterAddonProfile_STATUS{}), generators) + + return managedClusterAddonProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterAddonProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterAddonProfile_STATUS(gens map[string]gopter.Gen) { + gens["Config"] = gen.MapOf( + gen.AlphaString(), + gen.AlphaString()) + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +// AddRelatedPropertyGeneratorsForManagedClusterAddonProfile_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterAddonProfile_STATUS(gens map[string]gopter.Gen) { + gens["Identity"] = gen.PtrOf(UserAssignedIdentity_STATUSGenerator()) +} + +func Test_ManagedClusterAgentPoolProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterAgentPoolProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterAgentPoolProfile_STATUS, ManagedClusterAgentPoolProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterAgentPoolProfile_STATUS runs a test to see if a specific instance of ManagedClusterAgentPoolProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterAgentPoolProfile_STATUS(subject ManagedClusterAgentPoolProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterAgentPoolProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterAgentPoolProfile_STATUS instances for property testing - lazily instantiated by +// ManagedClusterAgentPoolProfile_STATUSGenerator() +var managedClusterAgentPoolProfile_STATUSGenerator gopter.Gen + +// ManagedClusterAgentPoolProfile_STATUSGenerator returns a generator of ManagedClusterAgentPoolProfile_STATUS instances for property testing. +// We first initialize managedClusterAgentPoolProfile_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func ManagedClusterAgentPoolProfile_STATUSGenerator() gopter.Gen { + if managedClusterAgentPoolProfile_STATUSGenerator != nil { + return managedClusterAgentPoolProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterAgentPoolProfile_STATUS(generators) + managedClusterAgentPoolProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterAgentPoolProfile_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterAgentPoolProfile_STATUS(generators) + AddRelatedPropertyGeneratorsForManagedClusterAgentPoolProfile_STATUS(generators) + managedClusterAgentPoolProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterAgentPoolProfile_STATUS{}), generators) + + return managedClusterAgentPoolProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterAgentPoolProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterAgentPoolProfile_STATUS(gens map[string]gopter.Gen) { + gens["AvailabilityZones"] = gen.SliceOf(gen.AlphaString()) + gens["CapacityReservationGroupID"] = gen.PtrOf(gen.AlphaString()) + gens["Count"] = gen.PtrOf(gen.Int()) + gens["CurrentOrchestratorVersion"] = gen.PtrOf(gen.AlphaString()) + gens["ETag"] = gen.PtrOf(gen.AlphaString()) + gens["EnableAutoScaling"] = gen.PtrOf(gen.Bool()) + gens["EnableEncryptionAtHost"] = gen.PtrOf(gen.Bool()) + gens["EnableFIPS"] = gen.PtrOf(gen.Bool()) + gens["EnableNodePublicIP"] = gen.PtrOf(gen.Bool()) + gens["EnableUltraSSD"] = gen.PtrOf(gen.Bool()) + gens["GpuInstanceProfile"] = gen.PtrOf(gen.OneConstOf( + GPUInstanceProfile_STATUS_MIG1G, + GPUInstanceProfile_STATUS_MIG2G, + GPUInstanceProfile_STATUS_MIG3G, + GPUInstanceProfile_STATUS_MIG4G, + GPUInstanceProfile_STATUS_MIG7G)) + gens["HostGroupID"] = gen.PtrOf(gen.AlphaString()) + gens["KubeletDiskType"] = gen.PtrOf(gen.OneConstOf(KubeletDiskType_STATUS_OS, KubeletDiskType_STATUS_Temporary)) + gens["MaxCount"] = gen.PtrOf(gen.Int()) + gens["MaxPods"] = gen.PtrOf(gen.Int()) + gens["MinCount"] = gen.PtrOf(gen.Int()) + gens["Mode"] = gen.PtrOf(gen.OneConstOf(AgentPoolMode_STATUS_System, AgentPoolMode_STATUS_User)) + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["NodeImageVersion"] = gen.PtrOf(gen.AlphaString()) + gens["NodeLabels"] = gen.MapOf( + gen.AlphaString(), + gen.AlphaString()) + gens["NodePublicIPPrefixID"] = gen.PtrOf(gen.AlphaString()) + gens["NodeTaints"] = gen.SliceOf(gen.AlphaString()) + gens["OrchestratorVersion"] = gen.PtrOf(gen.AlphaString()) + gens["OsDiskSizeGB"] = gen.PtrOf(gen.Int()) + gens["OsDiskType"] = gen.PtrOf(gen.OneConstOf(OSDiskType_STATUS_Ephemeral, OSDiskType_STATUS_Managed)) + gens["OsSKU"] = gen.PtrOf(gen.OneConstOf( + OSSKU_STATUS_AzureLinux, + OSSKU_STATUS_CBLMariner, + OSSKU_STATUS_Ubuntu, + OSSKU_STATUS_Windows2019, + OSSKU_STATUS_Windows2022)) + gens["OsType"] = gen.PtrOf(gen.OneConstOf(OSType_STATUS_Linux, OSType_STATUS_Windows)) + gens["PodSubnetID"] = gen.PtrOf(gen.AlphaString()) + gens["ProvisioningState"] = gen.PtrOf(gen.AlphaString()) + gens["ProximityPlacementGroupID"] = gen.PtrOf(gen.AlphaString()) + gens["ScaleDownMode"] = gen.PtrOf(gen.OneConstOf(ScaleDownMode_STATUS_Deallocate, ScaleDownMode_STATUS_Delete)) + gens["ScaleSetEvictionPolicy"] = gen.PtrOf(gen.OneConstOf(ScaleSetEvictionPolicy_STATUS_Deallocate, ScaleSetEvictionPolicy_STATUS_Delete)) + gens["ScaleSetPriority"] = gen.PtrOf(gen.OneConstOf(ScaleSetPriority_STATUS_Regular, ScaleSetPriority_STATUS_Spot)) + gens["SpotMaxPrice"] = gen.PtrOf(gen.Float64()) + gens["Tags"] = gen.MapOf( + gen.AlphaString(), + gen.AlphaString()) + gens["Type"] = gen.PtrOf(gen.OneConstOf(AgentPoolType_STATUS_AvailabilitySet, AgentPoolType_STATUS_VirtualMachineScaleSets)) + gens["VmSize"] = gen.PtrOf(gen.AlphaString()) + gens["VnetSubnetID"] = gen.PtrOf(gen.AlphaString()) + gens["WorkloadRuntime"] = gen.PtrOf(gen.OneConstOf(WorkloadRuntime_STATUS_OCIContainer, WorkloadRuntime_STATUS_WasmWasi)) +} + +// AddRelatedPropertyGeneratorsForManagedClusterAgentPoolProfile_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterAgentPoolProfile_STATUS(gens map[string]gopter.Gen) { + gens["CreationData"] = gen.PtrOf(CreationData_STATUSGenerator()) + gens["KubeletConfig"] = gen.PtrOf(KubeletConfig_STATUSGenerator()) + gens["LinuxOSConfig"] = gen.PtrOf(LinuxOSConfig_STATUSGenerator()) + gens["NetworkProfile"] = gen.PtrOf(AgentPoolNetworkProfile_STATUSGenerator()) + gens["PowerState"] = gen.PtrOf(PowerState_STATUSGenerator()) + gens["SecurityProfile"] = gen.PtrOf(AgentPoolSecurityProfile_STATUSGenerator()) + gens["UpgradeSettings"] = gen.PtrOf(AgentPoolUpgradeSettings_STATUSGenerator()) + gens["WindowsProfile"] = gen.PtrOf(AgentPoolWindowsProfile_STATUSGenerator()) +} + +func Test_ManagedClusterAutoUpgradeProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterAutoUpgradeProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterAutoUpgradeProfile_STATUS, ManagedClusterAutoUpgradeProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterAutoUpgradeProfile_STATUS runs a test to see if a specific instance of ManagedClusterAutoUpgradeProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterAutoUpgradeProfile_STATUS(subject ManagedClusterAutoUpgradeProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterAutoUpgradeProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterAutoUpgradeProfile_STATUS instances for property testing - lazily instantiated by +// ManagedClusterAutoUpgradeProfile_STATUSGenerator() +var managedClusterAutoUpgradeProfile_STATUSGenerator gopter.Gen + +// ManagedClusterAutoUpgradeProfile_STATUSGenerator returns a generator of ManagedClusterAutoUpgradeProfile_STATUS instances for property testing. +func ManagedClusterAutoUpgradeProfile_STATUSGenerator() gopter.Gen { + if managedClusterAutoUpgradeProfile_STATUSGenerator != nil { + return managedClusterAutoUpgradeProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterAutoUpgradeProfile_STATUS(generators) + managedClusterAutoUpgradeProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterAutoUpgradeProfile_STATUS{}), generators) + + return managedClusterAutoUpgradeProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterAutoUpgradeProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterAutoUpgradeProfile_STATUS(gens map[string]gopter.Gen) { + gens["NodeOSUpgradeChannel"] = gen.PtrOf(gen.OneConstOf( + ManagedClusterAutoUpgradeProfile_NodeOSUpgradeChannel_STATUS_NodeImage, + ManagedClusterAutoUpgradeProfile_NodeOSUpgradeChannel_STATUS_None, + ManagedClusterAutoUpgradeProfile_NodeOSUpgradeChannel_STATUS_SecurityPatch, + ManagedClusterAutoUpgradeProfile_NodeOSUpgradeChannel_STATUS_Unmanaged)) + gens["UpgradeChannel"] = gen.PtrOf(gen.OneConstOf( + ManagedClusterAutoUpgradeProfile_UpgradeChannel_STATUS_NodeImage, + ManagedClusterAutoUpgradeProfile_UpgradeChannel_STATUS_None, + ManagedClusterAutoUpgradeProfile_UpgradeChannel_STATUS_Patch, + ManagedClusterAutoUpgradeProfile_UpgradeChannel_STATUS_Rapid, + ManagedClusterAutoUpgradeProfile_UpgradeChannel_STATUS_Stable)) +} + +func Test_ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS, ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS runs a test to see if a specific instance of ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS(subject ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS instances for property testing - lazily +// instantiated by ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUSGenerator() +var managedClusterAzureMonitorProfileKubeStateMetrics_STATUSGenerator gopter.Gen + +// ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUSGenerator returns a generator of ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS instances for property testing. +func ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUSGenerator() gopter.Gen { + if managedClusterAzureMonitorProfileKubeStateMetrics_STATUSGenerator != nil { + return managedClusterAzureMonitorProfileKubeStateMetrics_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS(generators) + managedClusterAzureMonitorProfileKubeStateMetrics_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS{}), generators) + + return managedClusterAzureMonitorProfileKubeStateMetrics_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS(gens map[string]gopter.Gen) { + gens["MetricAnnotationsAllowList"] = gen.PtrOf(gen.AlphaString()) + gens["MetricLabelsAllowlist"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ManagedClusterAzureMonitorProfileMetrics_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterAzureMonitorProfileMetrics_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterAzureMonitorProfileMetrics_STATUS, ManagedClusterAzureMonitorProfileMetrics_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterAzureMonitorProfileMetrics_STATUS runs a test to see if a specific instance of ManagedClusterAzureMonitorProfileMetrics_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterAzureMonitorProfileMetrics_STATUS(subject ManagedClusterAzureMonitorProfileMetrics_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterAzureMonitorProfileMetrics_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterAzureMonitorProfileMetrics_STATUS instances for property testing - lazily instantiated by +// ManagedClusterAzureMonitorProfileMetrics_STATUSGenerator() +var managedClusterAzureMonitorProfileMetrics_STATUSGenerator gopter.Gen + +// ManagedClusterAzureMonitorProfileMetrics_STATUSGenerator returns a generator of ManagedClusterAzureMonitorProfileMetrics_STATUS instances for property testing. +// We first initialize managedClusterAzureMonitorProfileMetrics_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func ManagedClusterAzureMonitorProfileMetrics_STATUSGenerator() gopter.Gen { + if managedClusterAzureMonitorProfileMetrics_STATUSGenerator != nil { + return managedClusterAzureMonitorProfileMetrics_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterAzureMonitorProfileMetrics_STATUS(generators) + managedClusterAzureMonitorProfileMetrics_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterAzureMonitorProfileMetrics_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterAzureMonitorProfileMetrics_STATUS(generators) + AddRelatedPropertyGeneratorsForManagedClusterAzureMonitorProfileMetrics_STATUS(generators) + managedClusterAzureMonitorProfileMetrics_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterAzureMonitorProfileMetrics_STATUS{}), generators) + + return managedClusterAzureMonitorProfileMetrics_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterAzureMonitorProfileMetrics_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterAzureMonitorProfileMetrics_STATUS(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +// AddRelatedPropertyGeneratorsForManagedClusterAzureMonitorProfileMetrics_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterAzureMonitorProfileMetrics_STATUS(gens map[string]gopter.Gen) { + gens["KubeStateMetrics"] = gen.PtrOf(ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUSGenerator()) +} + +func Test_ManagedClusterAzureMonitorProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterAzureMonitorProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterAzureMonitorProfile_STATUS, ManagedClusterAzureMonitorProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterAzureMonitorProfile_STATUS runs a test to see if a specific instance of ManagedClusterAzureMonitorProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterAzureMonitorProfile_STATUS(subject ManagedClusterAzureMonitorProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterAzureMonitorProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterAzureMonitorProfile_STATUS instances for property testing - lazily instantiated by +// ManagedClusterAzureMonitorProfile_STATUSGenerator() +var managedClusterAzureMonitorProfile_STATUSGenerator gopter.Gen + +// ManagedClusterAzureMonitorProfile_STATUSGenerator returns a generator of ManagedClusterAzureMonitorProfile_STATUS instances for property testing. +func ManagedClusterAzureMonitorProfile_STATUSGenerator() gopter.Gen { + if managedClusterAzureMonitorProfile_STATUSGenerator != nil { + return managedClusterAzureMonitorProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForManagedClusterAzureMonitorProfile_STATUS(generators) + managedClusterAzureMonitorProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterAzureMonitorProfile_STATUS{}), generators) + + return managedClusterAzureMonitorProfile_STATUSGenerator +} + +// AddRelatedPropertyGeneratorsForManagedClusterAzureMonitorProfile_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterAzureMonitorProfile_STATUS(gens map[string]gopter.Gen) { + gens["Metrics"] = gen.PtrOf(ManagedClusterAzureMonitorProfileMetrics_STATUSGenerator()) +} + +func Test_ManagedClusterCostAnalysis_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterCostAnalysis_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterCostAnalysis_STATUS, ManagedClusterCostAnalysis_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterCostAnalysis_STATUS runs a test to see if a specific instance of ManagedClusterCostAnalysis_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterCostAnalysis_STATUS(subject ManagedClusterCostAnalysis_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterCostAnalysis_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterCostAnalysis_STATUS instances for property testing - lazily instantiated by +// ManagedClusterCostAnalysis_STATUSGenerator() +var managedClusterCostAnalysis_STATUSGenerator gopter.Gen + +// ManagedClusterCostAnalysis_STATUSGenerator returns a generator of ManagedClusterCostAnalysis_STATUS instances for property testing. +func ManagedClusterCostAnalysis_STATUSGenerator() gopter.Gen { + if managedClusterCostAnalysis_STATUSGenerator != nil { + return managedClusterCostAnalysis_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterCostAnalysis_STATUS(generators) + managedClusterCostAnalysis_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterCostAnalysis_STATUS{}), generators) + + return managedClusterCostAnalysis_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterCostAnalysis_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterCostAnalysis_STATUS(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +func Test_ManagedClusterHTTPProxyConfig_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterHTTPProxyConfig_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterHTTPProxyConfig_STATUS, ManagedClusterHTTPProxyConfig_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterHTTPProxyConfig_STATUS runs a test to see if a specific instance of ManagedClusterHTTPProxyConfig_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterHTTPProxyConfig_STATUS(subject ManagedClusterHTTPProxyConfig_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterHTTPProxyConfig_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterHTTPProxyConfig_STATUS instances for property testing - lazily instantiated by +// ManagedClusterHTTPProxyConfig_STATUSGenerator() +var managedClusterHTTPProxyConfig_STATUSGenerator gopter.Gen + +// ManagedClusterHTTPProxyConfig_STATUSGenerator returns a generator of ManagedClusterHTTPProxyConfig_STATUS instances for property testing. +func ManagedClusterHTTPProxyConfig_STATUSGenerator() gopter.Gen { + if managedClusterHTTPProxyConfig_STATUSGenerator != nil { + return managedClusterHTTPProxyConfig_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterHTTPProxyConfig_STATUS(generators) + managedClusterHTTPProxyConfig_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterHTTPProxyConfig_STATUS{}), generators) + + return managedClusterHTTPProxyConfig_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterHTTPProxyConfig_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterHTTPProxyConfig_STATUS(gens map[string]gopter.Gen) { + gens["HttpProxy"] = gen.PtrOf(gen.AlphaString()) + gens["HttpsProxy"] = gen.PtrOf(gen.AlphaString()) + gens["NoProxy"] = gen.SliceOf(gen.AlphaString()) + gens["TrustedCa"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ManagedClusterIdentity_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterIdentity_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterIdentity_STATUS, ManagedClusterIdentity_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterIdentity_STATUS runs a test to see if a specific instance of ManagedClusterIdentity_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterIdentity_STATUS(subject ManagedClusterIdentity_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterIdentity_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterIdentity_STATUS instances for property testing - lazily instantiated by +// ManagedClusterIdentity_STATUSGenerator() +var managedClusterIdentity_STATUSGenerator gopter.Gen + +// ManagedClusterIdentity_STATUSGenerator returns a generator of ManagedClusterIdentity_STATUS instances for property testing. +// We first initialize managedClusterIdentity_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func ManagedClusterIdentity_STATUSGenerator() gopter.Gen { + if managedClusterIdentity_STATUSGenerator != nil { + return managedClusterIdentity_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterIdentity_STATUS(generators) + managedClusterIdentity_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterIdentity_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterIdentity_STATUS(generators) + AddRelatedPropertyGeneratorsForManagedClusterIdentity_STATUS(generators) + managedClusterIdentity_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterIdentity_STATUS{}), generators) + + return managedClusterIdentity_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterIdentity_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterIdentity_STATUS(gens map[string]gopter.Gen) { + gens["PrincipalId"] = gen.PtrOf(gen.AlphaString()) + gens["TenantId"] = gen.PtrOf(gen.AlphaString()) + gens["Type"] = gen.PtrOf(gen.OneConstOf(ManagedClusterIdentity_Type_STATUS_None, ManagedClusterIdentity_Type_STATUS_SystemAssigned, ManagedClusterIdentity_Type_STATUS_UserAssigned)) +} + +// AddRelatedPropertyGeneratorsForManagedClusterIdentity_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterIdentity_STATUS(gens map[string]gopter.Gen) { + gens["DelegatedResources"] = gen.MapOf( + gen.AlphaString(), + DelegatedResource_STATUSGenerator()) + gens["UserAssignedIdentities"] = gen.MapOf( + gen.AlphaString(), + ManagedClusterIdentity_UserAssignedIdentities_STATUSGenerator()) +} + +func Test_ManagedClusterIdentity_UserAssignedIdentities_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterIdentity_UserAssignedIdentities_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterIdentity_UserAssignedIdentities_STATUS, ManagedClusterIdentity_UserAssignedIdentities_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterIdentity_UserAssignedIdentities_STATUS runs a test to see if a specific instance of ManagedClusterIdentity_UserAssignedIdentities_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterIdentity_UserAssignedIdentities_STATUS(subject ManagedClusterIdentity_UserAssignedIdentities_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterIdentity_UserAssignedIdentities_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterIdentity_UserAssignedIdentities_STATUS instances for property testing - lazily +// instantiated by ManagedClusterIdentity_UserAssignedIdentities_STATUSGenerator() +var managedClusterIdentity_UserAssignedIdentities_STATUSGenerator gopter.Gen + +// ManagedClusterIdentity_UserAssignedIdentities_STATUSGenerator returns a generator of ManagedClusterIdentity_UserAssignedIdentities_STATUS instances for property testing. +func ManagedClusterIdentity_UserAssignedIdentities_STATUSGenerator() gopter.Gen { + if managedClusterIdentity_UserAssignedIdentities_STATUSGenerator != nil { + return managedClusterIdentity_UserAssignedIdentities_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterIdentity_UserAssignedIdentities_STATUS(generators) + managedClusterIdentity_UserAssignedIdentities_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterIdentity_UserAssignedIdentities_STATUS{}), generators) + + return managedClusterIdentity_UserAssignedIdentities_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterIdentity_UserAssignedIdentities_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterIdentity_UserAssignedIdentities_STATUS(gens map[string]gopter.Gen) { + gens["ClientId"] = gen.PtrOf(gen.AlphaString()) + gens["PrincipalId"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ManagedClusterIngressProfileWebAppRouting_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterIngressProfileWebAppRouting_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterIngressProfileWebAppRouting_STATUS, ManagedClusterIngressProfileWebAppRouting_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterIngressProfileWebAppRouting_STATUS runs a test to see if a specific instance of ManagedClusterIngressProfileWebAppRouting_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterIngressProfileWebAppRouting_STATUS(subject ManagedClusterIngressProfileWebAppRouting_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterIngressProfileWebAppRouting_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterIngressProfileWebAppRouting_STATUS instances for property testing - lazily instantiated by +// ManagedClusterIngressProfileWebAppRouting_STATUSGenerator() +var managedClusterIngressProfileWebAppRouting_STATUSGenerator gopter.Gen + +// ManagedClusterIngressProfileWebAppRouting_STATUSGenerator returns a generator of ManagedClusterIngressProfileWebAppRouting_STATUS instances for property testing. +// We first initialize managedClusterIngressProfileWebAppRouting_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func ManagedClusterIngressProfileWebAppRouting_STATUSGenerator() gopter.Gen { + if managedClusterIngressProfileWebAppRouting_STATUSGenerator != nil { + return managedClusterIngressProfileWebAppRouting_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterIngressProfileWebAppRouting_STATUS(generators) + managedClusterIngressProfileWebAppRouting_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterIngressProfileWebAppRouting_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterIngressProfileWebAppRouting_STATUS(generators) + AddRelatedPropertyGeneratorsForManagedClusterIngressProfileWebAppRouting_STATUS(generators) + managedClusterIngressProfileWebAppRouting_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterIngressProfileWebAppRouting_STATUS{}), generators) + + return managedClusterIngressProfileWebAppRouting_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterIngressProfileWebAppRouting_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterIngressProfileWebAppRouting_STATUS(gens map[string]gopter.Gen) { + gens["DnsZoneResourceIds"] = gen.SliceOf(gen.AlphaString()) + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +// AddRelatedPropertyGeneratorsForManagedClusterIngressProfileWebAppRouting_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterIngressProfileWebAppRouting_STATUS(gens map[string]gopter.Gen) { + gens["Identity"] = gen.PtrOf(UserAssignedIdentity_STATUSGenerator()) +} + +func Test_ManagedClusterIngressProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterIngressProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterIngressProfile_STATUS, ManagedClusterIngressProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterIngressProfile_STATUS runs a test to see if a specific instance of ManagedClusterIngressProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterIngressProfile_STATUS(subject ManagedClusterIngressProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterIngressProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterIngressProfile_STATUS instances for property testing - lazily instantiated by +// ManagedClusterIngressProfile_STATUSGenerator() +var managedClusterIngressProfile_STATUSGenerator gopter.Gen + +// ManagedClusterIngressProfile_STATUSGenerator returns a generator of ManagedClusterIngressProfile_STATUS instances for property testing. +func ManagedClusterIngressProfile_STATUSGenerator() gopter.Gen { + if managedClusterIngressProfile_STATUSGenerator != nil { + return managedClusterIngressProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForManagedClusterIngressProfile_STATUS(generators) + managedClusterIngressProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterIngressProfile_STATUS{}), generators) + + return managedClusterIngressProfile_STATUSGenerator +} + +// AddRelatedPropertyGeneratorsForManagedClusterIngressProfile_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterIngressProfile_STATUS(gens map[string]gopter.Gen) { + gens["WebAppRouting"] = gen.PtrOf(ManagedClusterIngressProfileWebAppRouting_STATUSGenerator()) +} + +func Test_ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS, ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS runs a test to see if a specific instance of ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS(subject ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS instances for property testing - lazily +// instantiated by ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUSGenerator() +var managedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUSGenerator gopter.Gen + +// ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUSGenerator returns a generator of ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS instances for property testing. +func ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUSGenerator() gopter.Gen { + if managedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUSGenerator != nil { + return managedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS(generators) + managedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS{}), generators) + + return managedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS(gens map[string]gopter.Gen) { + gens["Count"] = gen.PtrOf(gen.Int()) + gens["CountIPv6"] = gen.PtrOf(gen.Int()) +} + +func Test_ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS, ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS runs a test to see if a specific instance of ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS(subject ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS instances for property testing - lazily +// instantiated by ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUSGenerator() +var managedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUSGenerator gopter.Gen + +// ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUSGenerator returns a generator of ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS instances for property testing. +func ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUSGenerator() gopter.Gen { + if managedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUSGenerator != nil { + return managedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS(generators) + managedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS{}), generators) + + return managedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUSGenerator +} + +// AddRelatedPropertyGeneratorsForManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS(gens map[string]gopter.Gen) { + gens["PublicIPPrefixes"] = gen.SliceOf(ResourceReference_STATUSGenerator()) +} + +func Test_ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterLoadBalancerProfile_OutboundIPs_STATUS, ManagedClusterLoadBalancerProfile_OutboundIPs_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterLoadBalancerProfile_OutboundIPs_STATUS runs a test to see if a specific instance of ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterLoadBalancerProfile_OutboundIPs_STATUS(subject ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS instances for property testing - lazily +// instantiated by ManagedClusterLoadBalancerProfile_OutboundIPs_STATUSGenerator() +var managedClusterLoadBalancerProfile_OutboundIPs_STATUSGenerator gopter.Gen + +// ManagedClusterLoadBalancerProfile_OutboundIPs_STATUSGenerator returns a generator of ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS instances for property testing. +func ManagedClusterLoadBalancerProfile_OutboundIPs_STATUSGenerator() gopter.Gen { + if managedClusterLoadBalancerProfile_OutboundIPs_STATUSGenerator != nil { + return managedClusterLoadBalancerProfile_OutboundIPs_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForManagedClusterLoadBalancerProfile_OutboundIPs_STATUS(generators) + managedClusterLoadBalancerProfile_OutboundIPs_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS{}), generators) + + return managedClusterLoadBalancerProfile_OutboundIPs_STATUSGenerator +} + +// AddRelatedPropertyGeneratorsForManagedClusterLoadBalancerProfile_OutboundIPs_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterLoadBalancerProfile_OutboundIPs_STATUS(gens map[string]gopter.Gen) { + gens["PublicIPs"] = gen.SliceOf(ResourceReference_STATUSGenerator()) +} + +func Test_ManagedClusterLoadBalancerProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterLoadBalancerProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterLoadBalancerProfile_STATUS, ManagedClusterLoadBalancerProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterLoadBalancerProfile_STATUS runs a test to see if a specific instance of ManagedClusterLoadBalancerProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterLoadBalancerProfile_STATUS(subject ManagedClusterLoadBalancerProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterLoadBalancerProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterLoadBalancerProfile_STATUS instances for property testing - lazily instantiated by +// ManagedClusterLoadBalancerProfile_STATUSGenerator() +var managedClusterLoadBalancerProfile_STATUSGenerator gopter.Gen + +// ManagedClusterLoadBalancerProfile_STATUSGenerator returns a generator of ManagedClusterLoadBalancerProfile_STATUS instances for property testing. +// We first initialize managedClusterLoadBalancerProfile_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func ManagedClusterLoadBalancerProfile_STATUSGenerator() gopter.Gen { + if managedClusterLoadBalancerProfile_STATUSGenerator != nil { + return managedClusterLoadBalancerProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterLoadBalancerProfile_STATUS(generators) + managedClusterLoadBalancerProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterLoadBalancerProfile_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterLoadBalancerProfile_STATUS(generators) + AddRelatedPropertyGeneratorsForManagedClusterLoadBalancerProfile_STATUS(generators) + managedClusterLoadBalancerProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterLoadBalancerProfile_STATUS{}), generators) + + return managedClusterLoadBalancerProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterLoadBalancerProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterLoadBalancerProfile_STATUS(gens map[string]gopter.Gen) { + gens["AllocatedOutboundPorts"] = gen.PtrOf(gen.Int()) + gens["BackendPoolType"] = gen.PtrOf(gen.OneConstOf(ManagedClusterLoadBalancerProfile_BackendPoolType_STATUS_NodeIP, ManagedClusterLoadBalancerProfile_BackendPoolType_STATUS_NodeIPConfiguration)) + gens["EnableMultipleStandardLoadBalancers"] = gen.PtrOf(gen.Bool()) + gens["IdleTimeoutInMinutes"] = gen.PtrOf(gen.Int()) +} + +// AddRelatedPropertyGeneratorsForManagedClusterLoadBalancerProfile_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterLoadBalancerProfile_STATUS(gens map[string]gopter.Gen) { + gens["EffectiveOutboundIPs"] = gen.SliceOf(ResourceReference_STATUSGenerator()) + gens["ManagedOutboundIPs"] = gen.PtrOf(ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUSGenerator()) + gens["OutboundIPPrefixes"] = gen.PtrOf(ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUSGenerator()) + gens["OutboundIPs"] = gen.PtrOf(ManagedClusterLoadBalancerProfile_OutboundIPs_STATUSGenerator()) +} + +func Test_ManagedClusterManagedOutboundIPProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterManagedOutboundIPProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterManagedOutboundIPProfile_STATUS, ManagedClusterManagedOutboundIPProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterManagedOutboundIPProfile_STATUS runs a test to see if a specific instance of ManagedClusterManagedOutboundIPProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterManagedOutboundIPProfile_STATUS(subject ManagedClusterManagedOutboundIPProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterManagedOutboundIPProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterManagedOutboundIPProfile_STATUS instances for property testing - lazily instantiated by +// ManagedClusterManagedOutboundIPProfile_STATUSGenerator() +var managedClusterManagedOutboundIPProfile_STATUSGenerator gopter.Gen + +// ManagedClusterManagedOutboundIPProfile_STATUSGenerator returns a generator of ManagedClusterManagedOutboundIPProfile_STATUS instances for property testing. +func ManagedClusterManagedOutboundIPProfile_STATUSGenerator() gopter.Gen { + if managedClusterManagedOutboundIPProfile_STATUSGenerator != nil { + return managedClusterManagedOutboundIPProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterManagedOutboundIPProfile_STATUS(generators) + managedClusterManagedOutboundIPProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterManagedOutboundIPProfile_STATUS{}), generators) + + return managedClusterManagedOutboundIPProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterManagedOutboundIPProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterManagedOutboundIPProfile_STATUS(gens map[string]gopter.Gen) { + gens["Count"] = gen.PtrOf(gen.Int()) +} + +func Test_ManagedClusterMetricsProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterMetricsProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterMetricsProfile_STATUS, ManagedClusterMetricsProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterMetricsProfile_STATUS runs a test to see if a specific instance of ManagedClusterMetricsProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterMetricsProfile_STATUS(subject ManagedClusterMetricsProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterMetricsProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterMetricsProfile_STATUS instances for property testing - lazily instantiated by +// ManagedClusterMetricsProfile_STATUSGenerator() +var managedClusterMetricsProfile_STATUSGenerator gopter.Gen + +// ManagedClusterMetricsProfile_STATUSGenerator returns a generator of ManagedClusterMetricsProfile_STATUS instances for property testing. +func ManagedClusterMetricsProfile_STATUSGenerator() gopter.Gen { + if managedClusterMetricsProfile_STATUSGenerator != nil { + return managedClusterMetricsProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForManagedClusterMetricsProfile_STATUS(generators) + managedClusterMetricsProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterMetricsProfile_STATUS{}), generators) + + return managedClusterMetricsProfile_STATUSGenerator +} + +// AddRelatedPropertyGeneratorsForManagedClusterMetricsProfile_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterMetricsProfile_STATUS(gens map[string]gopter.Gen) { + gens["CostAnalysis"] = gen.PtrOf(ManagedClusterCostAnalysis_STATUSGenerator()) +} + +func Test_ManagedClusterNATGatewayProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterNATGatewayProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterNATGatewayProfile_STATUS, ManagedClusterNATGatewayProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterNATGatewayProfile_STATUS runs a test to see if a specific instance of ManagedClusterNATGatewayProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterNATGatewayProfile_STATUS(subject ManagedClusterNATGatewayProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterNATGatewayProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterNATGatewayProfile_STATUS instances for property testing - lazily instantiated by +// ManagedClusterNATGatewayProfile_STATUSGenerator() +var managedClusterNATGatewayProfile_STATUSGenerator gopter.Gen + +// ManagedClusterNATGatewayProfile_STATUSGenerator returns a generator of ManagedClusterNATGatewayProfile_STATUS instances for property testing. +// We first initialize managedClusterNATGatewayProfile_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func ManagedClusterNATGatewayProfile_STATUSGenerator() gopter.Gen { + if managedClusterNATGatewayProfile_STATUSGenerator != nil { + return managedClusterNATGatewayProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterNATGatewayProfile_STATUS(generators) + managedClusterNATGatewayProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterNATGatewayProfile_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterNATGatewayProfile_STATUS(generators) + AddRelatedPropertyGeneratorsForManagedClusterNATGatewayProfile_STATUS(generators) + managedClusterNATGatewayProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterNATGatewayProfile_STATUS{}), generators) + + return managedClusterNATGatewayProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterNATGatewayProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterNATGatewayProfile_STATUS(gens map[string]gopter.Gen) { + gens["IdleTimeoutInMinutes"] = gen.PtrOf(gen.Int()) +} + +// AddRelatedPropertyGeneratorsForManagedClusterNATGatewayProfile_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterNATGatewayProfile_STATUS(gens map[string]gopter.Gen) { + gens["EffectiveOutboundIPs"] = gen.SliceOf(ResourceReference_STATUSGenerator()) + gens["ManagedOutboundIPProfile"] = gen.PtrOf(ManagedClusterManagedOutboundIPProfile_STATUSGenerator()) +} + +func Test_ManagedClusterNodeResourceGroupProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterNodeResourceGroupProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterNodeResourceGroupProfile_STATUS, ManagedClusterNodeResourceGroupProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterNodeResourceGroupProfile_STATUS runs a test to see if a specific instance of ManagedClusterNodeResourceGroupProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterNodeResourceGroupProfile_STATUS(subject ManagedClusterNodeResourceGroupProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterNodeResourceGroupProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterNodeResourceGroupProfile_STATUS instances for property testing - lazily instantiated by +// ManagedClusterNodeResourceGroupProfile_STATUSGenerator() +var managedClusterNodeResourceGroupProfile_STATUSGenerator gopter.Gen + +// ManagedClusterNodeResourceGroupProfile_STATUSGenerator returns a generator of ManagedClusterNodeResourceGroupProfile_STATUS instances for property testing. +func ManagedClusterNodeResourceGroupProfile_STATUSGenerator() gopter.Gen { + if managedClusterNodeResourceGroupProfile_STATUSGenerator != nil { + return managedClusterNodeResourceGroupProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterNodeResourceGroupProfile_STATUS(generators) + managedClusterNodeResourceGroupProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterNodeResourceGroupProfile_STATUS{}), generators) + + return managedClusterNodeResourceGroupProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterNodeResourceGroupProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterNodeResourceGroupProfile_STATUS(gens map[string]gopter.Gen) { + gens["RestrictionLevel"] = gen.PtrOf(gen.OneConstOf(ManagedClusterNodeResourceGroupProfile_RestrictionLevel_STATUS_ReadOnly, ManagedClusterNodeResourceGroupProfile_RestrictionLevel_STATUS_Unrestricted)) +} + +func Test_ManagedClusterOIDCIssuerProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterOIDCIssuerProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterOIDCIssuerProfile_STATUS, ManagedClusterOIDCIssuerProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterOIDCIssuerProfile_STATUS runs a test to see if a specific instance of ManagedClusterOIDCIssuerProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterOIDCIssuerProfile_STATUS(subject ManagedClusterOIDCIssuerProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterOIDCIssuerProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterOIDCIssuerProfile_STATUS instances for property testing - lazily instantiated by +// ManagedClusterOIDCIssuerProfile_STATUSGenerator() +var managedClusterOIDCIssuerProfile_STATUSGenerator gopter.Gen + +// ManagedClusterOIDCIssuerProfile_STATUSGenerator returns a generator of ManagedClusterOIDCIssuerProfile_STATUS instances for property testing. +func ManagedClusterOIDCIssuerProfile_STATUSGenerator() gopter.Gen { + if managedClusterOIDCIssuerProfile_STATUSGenerator != nil { + return managedClusterOIDCIssuerProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterOIDCIssuerProfile_STATUS(generators) + managedClusterOIDCIssuerProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterOIDCIssuerProfile_STATUS{}), generators) + + return managedClusterOIDCIssuerProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterOIDCIssuerProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterOIDCIssuerProfile_STATUS(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) + gens["IssuerURL"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ManagedClusterPodIdentityException_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterPodIdentityException_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterPodIdentityException_STATUS, ManagedClusterPodIdentityException_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterPodIdentityException_STATUS runs a test to see if a specific instance of ManagedClusterPodIdentityException_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterPodIdentityException_STATUS(subject ManagedClusterPodIdentityException_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterPodIdentityException_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterPodIdentityException_STATUS instances for property testing - lazily instantiated by +// ManagedClusterPodIdentityException_STATUSGenerator() +var managedClusterPodIdentityException_STATUSGenerator gopter.Gen + +// ManagedClusterPodIdentityException_STATUSGenerator returns a generator of ManagedClusterPodIdentityException_STATUS instances for property testing. +func ManagedClusterPodIdentityException_STATUSGenerator() gopter.Gen { + if managedClusterPodIdentityException_STATUSGenerator != nil { + return managedClusterPodIdentityException_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterPodIdentityException_STATUS(generators) + managedClusterPodIdentityException_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterPodIdentityException_STATUS{}), generators) + + return managedClusterPodIdentityException_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterPodIdentityException_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterPodIdentityException_STATUS(gens map[string]gopter.Gen) { + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["Namespace"] = gen.PtrOf(gen.AlphaString()) + gens["PodLabels"] = gen.MapOf( + gen.AlphaString(), + gen.AlphaString()) +} + +func Test_ManagedClusterPodIdentityProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterPodIdentityProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterPodIdentityProfile_STATUS, ManagedClusterPodIdentityProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterPodIdentityProfile_STATUS runs a test to see if a specific instance of ManagedClusterPodIdentityProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterPodIdentityProfile_STATUS(subject ManagedClusterPodIdentityProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterPodIdentityProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterPodIdentityProfile_STATUS instances for property testing - lazily instantiated by +// ManagedClusterPodIdentityProfile_STATUSGenerator() +var managedClusterPodIdentityProfile_STATUSGenerator gopter.Gen + +// ManagedClusterPodIdentityProfile_STATUSGenerator returns a generator of ManagedClusterPodIdentityProfile_STATUS instances for property testing. +// We first initialize managedClusterPodIdentityProfile_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func ManagedClusterPodIdentityProfile_STATUSGenerator() gopter.Gen { + if managedClusterPodIdentityProfile_STATUSGenerator != nil { + return managedClusterPodIdentityProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterPodIdentityProfile_STATUS(generators) + managedClusterPodIdentityProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterPodIdentityProfile_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterPodIdentityProfile_STATUS(generators) + AddRelatedPropertyGeneratorsForManagedClusterPodIdentityProfile_STATUS(generators) + managedClusterPodIdentityProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterPodIdentityProfile_STATUS{}), generators) + + return managedClusterPodIdentityProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterPodIdentityProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterPodIdentityProfile_STATUS(gens map[string]gopter.Gen) { + gens["AllowNetworkPluginKubenet"] = gen.PtrOf(gen.Bool()) + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +// AddRelatedPropertyGeneratorsForManagedClusterPodIdentityProfile_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterPodIdentityProfile_STATUS(gens map[string]gopter.Gen) { + gens["UserAssignedIdentities"] = gen.SliceOf(ManagedClusterPodIdentity_STATUSGenerator()) + gens["UserAssignedIdentityExceptions"] = gen.SliceOf(ManagedClusterPodIdentityException_STATUSGenerator()) +} + +func Test_ManagedClusterPodIdentityProvisioningErrorBody_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterPodIdentityProvisioningErrorBody_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterPodIdentityProvisioningErrorBody_STATUS, ManagedClusterPodIdentityProvisioningErrorBody_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterPodIdentityProvisioningErrorBody_STATUS runs a test to see if a specific instance of ManagedClusterPodIdentityProvisioningErrorBody_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterPodIdentityProvisioningErrorBody_STATUS(subject ManagedClusterPodIdentityProvisioningErrorBody_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterPodIdentityProvisioningErrorBody_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterPodIdentityProvisioningErrorBody_STATUS instances for property testing - lazily +// instantiated by ManagedClusterPodIdentityProvisioningErrorBody_STATUSGenerator() +var managedClusterPodIdentityProvisioningErrorBody_STATUSGenerator gopter.Gen + +// ManagedClusterPodIdentityProvisioningErrorBody_STATUSGenerator returns a generator of ManagedClusterPodIdentityProvisioningErrorBody_STATUS instances for property testing. +// We first initialize managedClusterPodIdentityProvisioningErrorBody_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func ManagedClusterPodIdentityProvisioningErrorBody_STATUSGenerator() gopter.Gen { + if managedClusterPodIdentityProvisioningErrorBody_STATUSGenerator != nil { + return managedClusterPodIdentityProvisioningErrorBody_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterPodIdentityProvisioningErrorBody_STATUS(generators) + managedClusterPodIdentityProvisioningErrorBody_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterPodIdentityProvisioningErrorBody_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterPodIdentityProvisioningErrorBody_STATUS(generators) + AddRelatedPropertyGeneratorsForManagedClusterPodIdentityProvisioningErrorBody_STATUS(generators) + managedClusterPodIdentityProvisioningErrorBody_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterPodIdentityProvisioningErrorBody_STATUS{}), generators) + + return managedClusterPodIdentityProvisioningErrorBody_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterPodIdentityProvisioningErrorBody_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterPodIdentityProvisioningErrorBody_STATUS(gens map[string]gopter.Gen) { + gens["Code"] = gen.PtrOf(gen.AlphaString()) + gens["Message"] = gen.PtrOf(gen.AlphaString()) + gens["Target"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForManagedClusterPodIdentityProvisioningErrorBody_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterPodIdentityProvisioningErrorBody_STATUS(gens map[string]gopter.Gen) { + gens["Details"] = gen.SliceOf(ManagedClusterPodIdentityProvisioningErrorBody_STATUS_UnrolledGenerator()) +} + +func Test_ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled, ManagedClusterPodIdentityProvisioningErrorBody_STATUS_UnrolledGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled runs a test to see if a specific instance of ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled(subject ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled instances for property testing - lazily +// instantiated by ManagedClusterPodIdentityProvisioningErrorBody_STATUS_UnrolledGenerator() +var managedClusterPodIdentityProvisioningErrorBody_STATUS_UnrolledGenerator gopter.Gen + +// ManagedClusterPodIdentityProvisioningErrorBody_STATUS_UnrolledGenerator returns a generator of ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled instances for property testing. +func ManagedClusterPodIdentityProvisioningErrorBody_STATUS_UnrolledGenerator() gopter.Gen { + if managedClusterPodIdentityProvisioningErrorBody_STATUS_UnrolledGenerator != nil { + return managedClusterPodIdentityProvisioningErrorBody_STATUS_UnrolledGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled(generators) + managedClusterPodIdentityProvisioningErrorBody_STATUS_UnrolledGenerator = gen.Struct(reflect.TypeOf(ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled{}), generators) + + return managedClusterPodIdentityProvisioningErrorBody_STATUS_UnrolledGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled(gens map[string]gopter.Gen) { + gens["Code"] = gen.PtrOf(gen.AlphaString()) + gens["Message"] = gen.PtrOf(gen.AlphaString()) + gens["Target"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ManagedClusterPodIdentityProvisioningError_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterPodIdentityProvisioningError_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterPodIdentityProvisioningError_STATUS, ManagedClusterPodIdentityProvisioningError_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterPodIdentityProvisioningError_STATUS runs a test to see if a specific instance of ManagedClusterPodIdentityProvisioningError_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterPodIdentityProvisioningError_STATUS(subject ManagedClusterPodIdentityProvisioningError_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterPodIdentityProvisioningError_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterPodIdentityProvisioningError_STATUS instances for property testing - lazily instantiated +// by ManagedClusterPodIdentityProvisioningError_STATUSGenerator() +var managedClusterPodIdentityProvisioningError_STATUSGenerator gopter.Gen + +// ManagedClusterPodIdentityProvisioningError_STATUSGenerator returns a generator of ManagedClusterPodIdentityProvisioningError_STATUS instances for property testing. +func ManagedClusterPodIdentityProvisioningError_STATUSGenerator() gopter.Gen { + if managedClusterPodIdentityProvisioningError_STATUSGenerator != nil { + return managedClusterPodIdentityProvisioningError_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForManagedClusterPodIdentityProvisioningError_STATUS(generators) + managedClusterPodIdentityProvisioningError_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterPodIdentityProvisioningError_STATUS{}), generators) + + return managedClusterPodIdentityProvisioningError_STATUSGenerator +} + +// AddRelatedPropertyGeneratorsForManagedClusterPodIdentityProvisioningError_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterPodIdentityProvisioningError_STATUS(gens map[string]gopter.Gen) { + gens["Error"] = gen.PtrOf(ManagedClusterPodIdentityProvisioningErrorBody_STATUSGenerator()) +} + +func Test_ManagedClusterPodIdentity_ProvisioningInfo_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterPodIdentity_ProvisioningInfo_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterPodIdentity_ProvisioningInfo_STATUS, ManagedClusterPodIdentity_ProvisioningInfo_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterPodIdentity_ProvisioningInfo_STATUS runs a test to see if a specific instance of ManagedClusterPodIdentity_ProvisioningInfo_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterPodIdentity_ProvisioningInfo_STATUS(subject ManagedClusterPodIdentity_ProvisioningInfo_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterPodIdentity_ProvisioningInfo_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterPodIdentity_ProvisioningInfo_STATUS instances for property testing - lazily instantiated +// by ManagedClusterPodIdentity_ProvisioningInfo_STATUSGenerator() +var managedClusterPodIdentity_ProvisioningInfo_STATUSGenerator gopter.Gen + +// ManagedClusterPodIdentity_ProvisioningInfo_STATUSGenerator returns a generator of ManagedClusterPodIdentity_ProvisioningInfo_STATUS instances for property testing. +func ManagedClusterPodIdentity_ProvisioningInfo_STATUSGenerator() gopter.Gen { + if managedClusterPodIdentity_ProvisioningInfo_STATUSGenerator != nil { + return managedClusterPodIdentity_ProvisioningInfo_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForManagedClusterPodIdentity_ProvisioningInfo_STATUS(generators) + managedClusterPodIdentity_ProvisioningInfo_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterPodIdentity_ProvisioningInfo_STATUS{}), generators) + + return managedClusterPodIdentity_ProvisioningInfo_STATUSGenerator +} + +// AddRelatedPropertyGeneratorsForManagedClusterPodIdentity_ProvisioningInfo_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterPodIdentity_ProvisioningInfo_STATUS(gens map[string]gopter.Gen) { + gens["Error"] = gen.PtrOf(ManagedClusterPodIdentityProvisioningError_STATUSGenerator()) +} + +func Test_ManagedClusterPodIdentity_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterPodIdentity_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterPodIdentity_STATUS, ManagedClusterPodIdentity_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterPodIdentity_STATUS runs a test to see if a specific instance of ManagedClusterPodIdentity_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterPodIdentity_STATUS(subject ManagedClusterPodIdentity_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterPodIdentity_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterPodIdentity_STATUS instances for property testing - lazily instantiated by +// ManagedClusterPodIdentity_STATUSGenerator() +var managedClusterPodIdentity_STATUSGenerator gopter.Gen + +// ManagedClusterPodIdentity_STATUSGenerator returns a generator of ManagedClusterPodIdentity_STATUS instances for property testing. +// We first initialize managedClusterPodIdentity_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func ManagedClusterPodIdentity_STATUSGenerator() gopter.Gen { + if managedClusterPodIdentity_STATUSGenerator != nil { + return managedClusterPodIdentity_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterPodIdentity_STATUS(generators) + managedClusterPodIdentity_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterPodIdentity_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterPodIdentity_STATUS(generators) + AddRelatedPropertyGeneratorsForManagedClusterPodIdentity_STATUS(generators) + managedClusterPodIdentity_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterPodIdentity_STATUS{}), generators) + + return managedClusterPodIdentity_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterPodIdentity_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterPodIdentity_STATUS(gens map[string]gopter.Gen) { + gens["BindingSelector"] = gen.PtrOf(gen.AlphaString()) + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["Namespace"] = gen.PtrOf(gen.AlphaString()) + gens["ProvisioningState"] = gen.PtrOf(gen.OneConstOf( + ManagedClusterPodIdentity_ProvisioningState_STATUS_Assigned, + ManagedClusterPodIdentity_ProvisioningState_STATUS_Canceled, + ManagedClusterPodIdentity_ProvisioningState_STATUS_Deleting, + ManagedClusterPodIdentity_ProvisioningState_STATUS_Failed, + ManagedClusterPodIdentity_ProvisioningState_STATUS_Succeeded, + ManagedClusterPodIdentity_ProvisioningState_STATUS_Updating)) +} + +// AddRelatedPropertyGeneratorsForManagedClusterPodIdentity_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterPodIdentity_STATUS(gens map[string]gopter.Gen) { + gens["Identity"] = gen.PtrOf(UserAssignedIdentity_STATUSGenerator()) + gens["ProvisioningInfo"] = gen.PtrOf(ManagedClusterPodIdentity_ProvisioningInfo_STATUSGenerator()) +} + +func Test_ManagedClusterProperties_AutoScalerProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterProperties_AutoScalerProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterProperties_AutoScalerProfile_STATUS, ManagedClusterProperties_AutoScalerProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterProperties_AutoScalerProfile_STATUS runs a test to see if a specific instance of ManagedClusterProperties_AutoScalerProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterProperties_AutoScalerProfile_STATUS(subject ManagedClusterProperties_AutoScalerProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterProperties_AutoScalerProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterProperties_AutoScalerProfile_STATUS instances for property testing - lazily instantiated +// by ManagedClusterProperties_AutoScalerProfile_STATUSGenerator() +var managedClusterProperties_AutoScalerProfile_STATUSGenerator gopter.Gen + +// ManagedClusterProperties_AutoScalerProfile_STATUSGenerator returns a generator of ManagedClusterProperties_AutoScalerProfile_STATUS instances for property testing. +func ManagedClusterProperties_AutoScalerProfile_STATUSGenerator() gopter.Gen { + if managedClusterProperties_AutoScalerProfile_STATUSGenerator != nil { + return managedClusterProperties_AutoScalerProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterProperties_AutoScalerProfile_STATUS(generators) + managedClusterProperties_AutoScalerProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterProperties_AutoScalerProfile_STATUS{}), generators) + + return managedClusterProperties_AutoScalerProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterProperties_AutoScalerProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterProperties_AutoScalerProfile_STATUS(gens map[string]gopter.Gen) { + gens["BalanceSimilarNodeGroups"] = gen.PtrOf(gen.AlphaString()) + gens["DaemonsetEvictionForEmptyNodes"] = gen.PtrOf(gen.Bool()) + gens["DaemonsetEvictionForOccupiedNodes"] = gen.PtrOf(gen.Bool()) + gens["Expander"] = gen.PtrOf(gen.OneConstOf( + ManagedClusterProperties_AutoScalerProfile_Expander_STATUS_LeastWaste, + ManagedClusterProperties_AutoScalerProfile_Expander_STATUS_MostPods, + ManagedClusterProperties_AutoScalerProfile_Expander_STATUS_Priority, + ManagedClusterProperties_AutoScalerProfile_Expander_STATUS_Random)) + gens["IgnoreDaemonsetsUtilization"] = gen.PtrOf(gen.Bool()) + gens["MaxEmptyBulkDelete"] = gen.PtrOf(gen.AlphaString()) + gens["MaxGracefulTerminationSec"] = gen.PtrOf(gen.AlphaString()) + gens["MaxNodeProvisionTime"] = gen.PtrOf(gen.AlphaString()) + gens["MaxTotalUnreadyPercentage"] = gen.PtrOf(gen.AlphaString()) + gens["NewPodScaleUpDelay"] = gen.PtrOf(gen.AlphaString()) + gens["OkTotalUnreadyCount"] = gen.PtrOf(gen.AlphaString()) + gens["ScaleDownDelayAfterAdd"] = gen.PtrOf(gen.AlphaString()) + gens["ScaleDownDelayAfterDelete"] = gen.PtrOf(gen.AlphaString()) + gens["ScaleDownDelayAfterFailure"] = gen.PtrOf(gen.AlphaString()) + gens["ScaleDownUnneededTime"] = gen.PtrOf(gen.AlphaString()) + gens["ScaleDownUnreadyTime"] = gen.PtrOf(gen.AlphaString()) + gens["ScaleDownUtilizationThreshold"] = gen.PtrOf(gen.AlphaString()) + gens["ScanInterval"] = gen.PtrOf(gen.AlphaString()) + gens["SkipNodesWithLocalStorage"] = gen.PtrOf(gen.AlphaString()) + gens["SkipNodesWithSystemPods"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ManagedClusterProperties_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterProperties_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterProperties_STATUS, ManagedClusterProperties_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterProperties_STATUS runs a test to see if a specific instance of ManagedClusterProperties_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterProperties_STATUS(subject ManagedClusterProperties_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterProperties_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterProperties_STATUS instances for property testing - lazily instantiated by +// ManagedClusterProperties_STATUSGenerator() +var managedClusterProperties_STATUSGenerator gopter.Gen + +// ManagedClusterProperties_STATUSGenerator returns a generator of ManagedClusterProperties_STATUS instances for property testing. +// We first initialize managedClusterProperties_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func ManagedClusterProperties_STATUSGenerator() gopter.Gen { + if managedClusterProperties_STATUSGenerator != nil { + return managedClusterProperties_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterProperties_STATUS(generators) + managedClusterProperties_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterProperties_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterProperties_STATUS(generators) + AddRelatedPropertyGeneratorsForManagedClusterProperties_STATUS(generators) + managedClusterProperties_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterProperties_STATUS{}), generators) + + return managedClusterProperties_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterProperties_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterProperties_STATUS(gens map[string]gopter.Gen) { + gens["AzurePortalFQDN"] = gen.PtrOf(gen.AlphaString()) + gens["CurrentKubernetesVersion"] = gen.PtrOf(gen.AlphaString()) + gens["DisableLocalAccounts"] = gen.PtrOf(gen.Bool()) + gens["DiskEncryptionSetID"] = gen.PtrOf(gen.AlphaString()) + gens["DnsPrefix"] = gen.PtrOf(gen.AlphaString()) + gens["EnablePodSecurityPolicy"] = gen.PtrOf(gen.Bool()) + gens["EnableRBAC"] = gen.PtrOf(gen.Bool()) + gens["Fqdn"] = gen.PtrOf(gen.AlphaString()) + gens["FqdnSubdomain"] = gen.PtrOf(gen.AlphaString()) + gens["KubernetesVersion"] = gen.PtrOf(gen.AlphaString()) + gens["MaxAgentPools"] = gen.PtrOf(gen.Int()) + gens["NodeResourceGroup"] = gen.PtrOf(gen.AlphaString()) + gens["PrivateFQDN"] = gen.PtrOf(gen.AlphaString()) + gens["ProvisioningState"] = gen.PtrOf(gen.AlphaString()) + gens["PublicNetworkAccess"] = gen.PtrOf(gen.OneConstOf(ManagedClusterProperties_PublicNetworkAccess_STATUS_Disabled, ManagedClusterProperties_PublicNetworkAccess_STATUS_Enabled)) + gens["ResourceUID"] = gen.PtrOf(gen.AlphaString()) + gens["SupportPlan"] = gen.PtrOf(gen.OneConstOf(KubernetesSupportPlan_STATUS_AKSLongTermSupport, KubernetesSupportPlan_STATUS_KubernetesOfficial)) +} + +// AddRelatedPropertyGeneratorsForManagedClusterProperties_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterProperties_STATUS(gens map[string]gopter.Gen) { + gens["AadProfile"] = gen.PtrOf(ManagedClusterAADProfile_STATUSGenerator()) + gens["AddonProfiles"] = gen.MapOf( + gen.AlphaString(), + ManagedClusterAddonProfile_STATUSGenerator()) + gens["AgentPoolProfiles"] = gen.SliceOf(ManagedClusterAgentPoolProfile_STATUSGenerator()) + gens["ApiServerAccessProfile"] = gen.PtrOf(ManagedClusterAPIServerAccessProfile_STATUSGenerator()) + gens["AutoScalerProfile"] = gen.PtrOf(ManagedClusterProperties_AutoScalerProfile_STATUSGenerator()) + gens["AutoUpgradeProfile"] = gen.PtrOf(ManagedClusterAutoUpgradeProfile_STATUSGenerator()) + gens["AzureMonitorProfile"] = gen.PtrOf(ManagedClusterAzureMonitorProfile_STATUSGenerator()) + gens["HttpProxyConfig"] = gen.PtrOf(ManagedClusterHTTPProxyConfig_STATUSGenerator()) + gens["IdentityProfile"] = gen.MapOf( + gen.AlphaString(), + UserAssignedIdentity_STATUSGenerator()) + gens["IngressProfile"] = gen.PtrOf(ManagedClusterIngressProfile_STATUSGenerator()) + gens["LinuxProfile"] = gen.PtrOf(ContainerServiceLinuxProfile_STATUSGenerator()) + gens["MetricsProfile"] = gen.PtrOf(ManagedClusterMetricsProfile_STATUSGenerator()) + gens["NetworkProfile"] = gen.PtrOf(ContainerServiceNetworkProfile_STATUSGenerator()) + gens["NodeResourceGroupProfile"] = gen.PtrOf(ManagedClusterNodeResourceGroupProfile_STATUSGenerator()) + gens["OidcIssuerProfile"] = gen.PtrOf(ManagedClusterOIDCIssuerProfile_STATUSGenerator()) + gens["PodIdentityProfile"] = gen.PtrOf(ManagedClusterPodIdentityProfile_STATUSGenerator()) + gens["PowerState"] = gen.PtrOf(PowerState_STATUSGenerator()) + gens["PrivateLinkResources"] = gen.SliceOf(PrivateLinkResource_STATUSGenerator()) + gens["SecurityProfile"] = gen.PtrOf(ManagedClusterSecurityProfile_STATUSGenerator()) + gens["ServiceMeshProfile"] = gen.PtrOf(ServiceMeshProfile_STATUSGenerator()) + gens["ServicePrincipalProfile"] = gen.PtrOf(ManagedClusterServicePrincipalProfile_STATUSGenerator()) + gens["StorageProfile"] = gen.PtrOf(ManagedClusterStorageProfile_STATUSGenerator()) + gens["UpgradeSettings"] = gen.PtrOf(ClusterUpgradeSettings_STATUSGenerator()) + gens["WindowsProfile"] = gen.PtrOf(ManagedClusterWindowsProfile_STATUSGenerator()) + gens["WorkloadAutoScalerProfile"] = gen.PtrOf(ManagedClusterWorkloadAutoScalerProfile_STATUSGenerator()) +} + +func Test_ManagedClusterSKU_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterSKU_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterSKU_STATUS, ManagedClusterSKU_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterSKU_STATUS runs a test to see if a specific instance of ManagedClusterSKU_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterSKU_STATUS(subject ManagedClusterSKU_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterSKU_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterSKU_STATUS instances for property testing - lazily instantiated by +// ManagedClusterSKU_STATUSGenerator() +var managedClusterSKU_STATUSGenerator gopter.Gen + +// ManagedClusterSKU_STATUSGenerator returns a generator of ManagedClusterSKU_STATUS instances for property testing. +func ManagedClusterSKU_STATUSGenerator() gopter.Gen { + if managedClusterSKU_STATUSGenerator != nil { + return managedClusterSKU_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterSKU_STATUS(generators) + managedClusterSKU_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterSKU_STATUS{}), generators) + + return managedClusterSKU_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterSKU_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterSKU_STATUS(gens map[string]gopter.Gen) { + gens["Name"] = gen.PtrOf(gen.OneConstOf(ManagedClusterSKU_Name_STATUS_Base)) + gens["Tier"] = gen.PtrOf(gen.OneConstOf(ManagedClusterSKU_Tier_STATUS_Free, ManagedClusterSKU_Tier_STATUS_Premium, ManagedClusterSKU_Tier_STATUS_Standard)) +} + +func Test_ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS, ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS runs a test to see if a specific instance of ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS(subject ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS instances for property testing - lazily +// instantiated by ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUSGenerator() +var managedClusterSecurityProfileDefenderSecurityMonitoring_STATUSGenerator gopter.Gen + +// ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUSGenerator returns a generator of ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS instances for property testing. +func ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUSGenerator() gopter.Gen { + if managedClusterSecurityProfileDefenderSecurityMonitoring_STATUSGenerator != nil { + return managedClusterSecurityProfileDefenderSecurityMonitoring_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS(generators) + managedClusterSecurityProfileDefenderSecurityMonitoring_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS{}), generators) + + return managedClusterSecurityProfileDefenderSecurityMonitoring_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +func Test_ManagedClusterSecurityProfileDefender_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterSecurityProfileDefender_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterSecurityProfileDefender_STATUS, ManagedClusterSecurityProfileDefender_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterSecurityProfileDefender_STATUS runs a test to see if a specific instance of ManagedClusterSecurityProfileDefender_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterSecurityProfileDefender_STATUS(subject ManagedClusterSecurityProfileDefender_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterSecurityProfileDefender_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterSecurityProfileDefender_STATUS instances for property testing - lazily instantiated by +// ManagedClusterSecurityProfileDefender_STATUSGenerator() +var managedClusterSecurityProfileDefender_STATUSGenerator gopter.Gen + +// ManagedClusterSecurityProfileDefender_STATUSGenerator returns a generator of ManagedClusterSecurityProfileDefender_STATUS instances for property testing. +// We first initialize managedClusterSecurityProfileDefender_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func ManagedClusterSecurityProfileDefender_STATUSGenerator() gopter.Gen { + if managedClusterSecurityProfileDefender_STATUSGenerator != nil { + return managedClusterSecurityProfileDefender_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterSecurityProfileDefender_STATUS(generators) + managedClusterSecurityProfileDefender_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterSecurityProfileDefender_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterSecurityProfileDefender_STATUS(generators) + AddRelatedPropertyGeneratorsForManagedClusterSecurityProfileDefender_STATUS(generators) + managedClusterSecurityProfileDefender_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterSecurityProfileDefender_STATUS{}), generators) + + return managedClusterSecurityProfileDefender_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterSecurityProfileDefender_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterSecurityProfileDefender_STATUS(gens map[string]gopter.Gen) { + gens["LogAnalyticsWorkspaceResourceId"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForManagedClusterSecurityProfileDefender_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterSecurityProfileDefender_STATUS(gens map[string]gopter.Gen) { + gens["SecurityMonitoring"] = gen.PtrOf(ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUSGenerator()) +} + +func Test_ManagedClusterSecurityProfileImageCleaner_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterSecurityProfileImageCleaner_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterSecurityProfileImageCleaner_STATUS, ManagedClusterSecurityProfileImageCleaner_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterSecurityProfileImageCleaner_STATUS runs a test to see if a specific instance of ManagedClusterSecurityProfileImageCleaner_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterSecurityProfileImageCleaner_STATUS(subject ManagedClusterSecurityProfileImageCleaner_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterSecurityProfileImageCleaner_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterSecurityProfileImageCleaner_STATUS instances for property testing - lazily instantiated by +// ManagedClusterSecurityProfileImageCleaner_STATUSGenerator() +var managedClusterSecurityProfileImageCleaner_STATUSGenerator gopter.Gen + +// ManagedClusterSecurityProfileImageCleaner_STATUSGenerator returns a generator of ManagedClusterSecurityProfileImageCleaner_STATUS instances for property testing. +func ManagedClusterSecurityProfileImageCleaner_STATUSGenerator() gopter.Gen { + if managedClusterSecurityProfileImageCleaner_STATUSGenerator != nil { + return managedClusterSecurityProfileImageCleaner_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterSecurityProfileImageCleaner_STATUS(generators) + managedClusterSecurityProfileImageCleaner_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterSecurityProfileImageCleaner_STATUS{}), generators) + + return managedClusterSecurityProfileImageCleaner_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterSecurityProfileImageCleaner_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterSecurityProfileImageCleaner_STATUS(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) + gens["IntervalHours"] = gen.PtrOf(gen.Int()) +} + +func Test_ManagedClusterSecurityProfileWorkloadIdentity_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterSecurityProfileWorkloadIdentity_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterSecurityProfileWorkloadIdentity_STATUS, ManagedClusterSecurityProfileWorkloadIdentity_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterSecurityProfileWorkloadIdentity_STATUS runs a test to see if a specific instance of ManagedClusterSecurityProfileWorkloadIdentity_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterSecurityProfileWorkloadIdentity_STATUS(subject ManagedClusterSecurityProfileWorkloadIdentity_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterSecurityProfileWorkloadIdentity_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterSecurityProfileWorkloadIdentity_STATUS instances for property testing - lazily +// instantiated by ManagedClusterSecurityProfileWorkloadIdentity_STATUSGenerator() +var managedClusterSecurityProfileWorkloadIdentity_STATUSGenerator gopter.Gen + +// ManagedClusterSecurityProfileWorkloadIdentity_STATUSGenerator returns a generator of ManagedClusterSecurityProfileWorkloadIdentity_STATUS instances for property testing. +func ManagedClusterSecurityProfileWorkloadIdentity_STATUSGenerator() gopter.Gen { + if managedClusterSecurityProfileWorkloadIdentity_STATUSGenerator != nil { + return managedClusterSecurityProfileWorkloadIdentity_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterSecurityProfileWorkloadIdentity_STATUS(generators) + managedClusterSecurityProfileWorkloadIdentity_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterSecurityProfileWorkloadIdentity_STATUS{}), generators) + + return managedClusterSecurityProfileWorkloadIdentity_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterSecurityProfileWorkloadIdentity_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterSecurityProfileWorkloadIdentity_STATUS(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +func Test_ManagedClusterSecurityProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterSecurityProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterSecurityProfile_STATUS, ManagedClusterSecurityProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterSecurityProfile_STATUS runs a test to see if a specific instance of ManagedClusterSecurityProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterSecurityProfile_STATUS(subject ManagedClusterSecurityProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterSecurityProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterSecurityProfile_STATUS instances for property testing - lazily instantiated by +// ManagedClusterSecurityProfile_STATUSGenerator() +var managedClusterSecurityProfile_STATUSGenerator gopter.Gen + +// ManagedClusterSecurityProfile_STATUSGenerator returns a generator of ManagedClusterSecurityProfile_STATUS instances for property testing. +func ManagedClusterSecurityProfile_STATUSGenerator() gopter.Gen { + if managedClusterSecurityProfile_STATUSGenerator != nil { + return managedClusterSecurityProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForManagedClusterSecurityProfile_STATUS(generators) + managedClusterSecurityProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterSecurityProfile_STATUS{}), generators) + + return managedClusterSecurityProfile_STATUSGenerator +} + +// AddRelatedPropertyGeneratorsForManagedClusterSecurityProfile_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterSecurityProfile_STATUS(gens map[string]gopter.Gen) { + gens["AzureKeyVaultKms"] = gen.PtrOf(AzureKeyVaultKms_STATUSGenerator()) + gens["Defender"] = gen.PtrOf(ManagedClusterSecurityProfileDefender_STATUSGenerator()) + gens["ImageCleaner"] = gen.PtrOf(ManagedClusterSecurityProfileImageCleaner_STATUSGenerator()) + gens["WorkloadIdentity"] = gen.PtrOf(ManagedClusterSecurityProfileWorkloadIdentity_STATUSGenerator()) +} + +func Test_ManagedClusterServicePrincipalProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterServicePrincipalProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterServicePrincipalProfile_STATUS, ManagedClusterServicePrincipalProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterServicePrincipalProfile_STATUS runs a test to see if a specific instance of ManagedClusterServicePrincipalProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterServicePrincipalProfile_STATUS(subject ManagedClusterServicePrincipalProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterServicePrincipalProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterServicePrincipalProfile_STATUS instances for property testing - lazily instantiated by +// ManagedClusterServicePrincipalProfile_STATUSGenerator() +var managedClusterServicePrincipalProfile_STATUSGenerator gopter.Gen + +// ManagedClusterServicePrincipalProfile_STATUSGenerator returns a generator of ManagedClusterServicePrincipalProfile_STATUS instances for property testing. +func ManagedClusterServicePrincipalProfile_STATUSGenerator() gopter.Gen { + if managedClusterServicePrincipalProfile_STATUSGenerator != nil { + return managedClusterServicePrincipalProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterServicePrincipalProfile_STATUS(generators) + managedClusterServicePrincipalProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterServicePrincipalProfile_STATUS{}), generators) + + return managedClusterServicePrincipalProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterServicePrincipalProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterServicePrincipalProfile_STATUS(gens map[string]gopter.Gen) { + gens["ClientId"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ManagedClusterStorageProfileBlobCSIDriver_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterStorageProfileBlobCSIDriver_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterStorageProfileBlobCSIDriver_STATUS, ManagedClusterStorageProfileBlobCSIDriver_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterStorageProfileBlobCSIDriver_STATUS runs a test to see if a specific instance of ManagedClusterStorageProfileBlobCSIDriver_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterStorageProfileBlobCSIDriver_STATUS(subject ManagedClusterStorageProfileBlobCSIDriver_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterStorageProfileBlobCSIDriver_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterStorageProfileBlobCSIDriver_STATUS instances for property testing - lazily instantiated by +// ManagedClusterStorageProfileBlobCSIDriver_STATUSGenerator() +var managedClusterStorageProfileBlobCSIDriver_STATUSGenerator gopter.Gen + +// ManagedClusterStorageProfileBlobCSIDriver_STATUSGenerator returns a generator of ManagedClusterStorageProfileBlobCSIDriver_STATUS instances for property testing. +func ManagedClusterStorageProfileBlobCSIDriver_STATUSGenerator() gopter.Gen { + if managedClusterStorageProfileBlobCSIDriver_STATUSGenerator != nil { + return managedClusterStorageProfileBlobCSIDriver_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterStorageProfileBlobCSIDriver_STATUS(generators) + managedClusterStorageProfileBlobCSIDriver_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterStorageProfileBlobCSIDriver_STATUS{}), generators) + + return managedClusterStorageProfileBlobCSIDriver_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterStorageProfileBlobCSIDriver_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterStorageProfileBlobCSIDriver_STATUS(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +func Test_ManagedClusterStorageProfileDiskCSIDriver_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterStorageProfileDiskCSIDriver_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterStorageProfileDiskCSIDriver_STATUS, ManagedClusterStorageProfileDiskCSIDriver_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterStorageProfileDiskCSIDriver_STATUS runs a test to see if a specific instance of ManagedClusterStorageProfileDiskCSIDriver_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterStorageProfileDiskCSIDriver_STATUS(subject ManagedClusterStorageProfileDiskCSIDriver_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterStorageProfileDiskCSIDriver_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterStorageProfileDiskCSIDriver_STATUS instances for property testing - lazily instantiated by +// ManagedClusterStorageProfileDiskCSIDriver_STATUSGenerator() +var managedClusterStorageProfileDiskCSIDriver_STATUSGenerator gopter.Gen + +// ManagedClusterStorageProfileDiskCSIDriver_STATUSGenerator returns a generator of ManagedClusterStorageProfileDiskCSIDriver_STATUS instances for property testing. +func ManagedClusterStorageProfileDiskCSIDriver_STATUSGenerator() gopter.Gen { + if managedClusterStorageProfileDiskCSIDriver_STATUSGenerator != nil { + return managedClusterStorageProfileDiskCSIDriver_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterStorageProfileDiskCSIDriver_STATUS(generators) + managedClusterStorageProfileDiskCSIDriver_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterStorageProfileDiskCSIDriver_STATUS{}), generators) + + return managedClusterStorageProfileDiskCSIDriver_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterStorageProfileDiskCSIDriver_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterStorageProfileDiskCSIDriver_STATUS(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +func Test_ManagedClusterStorageProfileFileCSIDriver_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterStorageProfileFileCSIDriver_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterStorageProfileFileCSIDriver_STATUS, ManagedClusterStorageProfileFileCSIDriver_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterStorageProfileFileCSIDriver_STATUS runs a test to see if a specific instance of ManagedClusterStorageProfileFileCSIDriver_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterStorageProfileFileCSIDriver_STATUS(subject ManagedClusterStorageProfileFileCSIDriver_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterStorageProfileFileCSIDriver_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterStorageProfileFileCSIDriver_STATUS instances for property testing - lazily instantiated by +// ManagedClusterStorageProfileFileCSIDriver_STATUSGenerator() +var managedClusterStorageProfileFileCSIDriver_STATUSGenerator gopter.Gen + +// ManagedClusterStorageProfileFileCSIDriver_STATUSGenerator returns a generator of ManagedClusterStorageProfileFileCSIDriver_STATUS instances for property testing. +func ManagedClusterStorageProfileFileCSIDriver_STATUSGenerator() gopter.Gen { + if managedClusterStorageProfileFileCSIDriver_STATUSGenerator != nil { + return managedClusterStorageProfileFileCSIDriver_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterStorageProfileFileCSIDriver_STATUS(generators) + managedClusterStorageProfileFileCSIDriver_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterStorageProfileFileCSIDriver_STATUS{}), generators) + + return managedClusterStorageProfileFileCSIDriver_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterStorageProfileFileCSIDriver_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterStorageProfileFileCSIDriver_STATUS(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +func Test_ManagedClusterStorageProfileSnapshotController_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterStorageProfileSnapshotController_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterStorageProfileSnapshotController_STATUS, ManagedClusterStorageProfileSnapshotController_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterStorageProfileSnapshotController_STATUS runs a test to see if a specific instance of ManagedClusterStorageProfileSnapshotController_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterStorageProfileSnapshotController_STATUS(subject ManagedClusterStorageProfileSnapshotController_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterStorageProfileSnapshotController_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterStorageProfileSnapshotController_STATUS instances for property testing - lazily +// instantiated by ManagedClusterStorageProfileSnapshotController_STATUSGenerator() +var managedClusterStorageProfileSnapshotController_STATUSGenerator gopter.Gen + +// ManagedClusterStorageProfileSnapshotController_STATUSGenerator returns a generator of ManagedClusterStorageProfileSnapshotController_STATUS instances for property testing. +func ManagedClusterStorageProfileSnapshotController_STATUSGenerator() gopter.Gen { + if managedClusterStorageProfileSnapshotController_STATUSGenerator != nil { + return managedClusterStorageProfileSnapshotController_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterStorageProfileSnapshotController_STATUS(generators) + managedClusterStorageProfileSnapshotController_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterStorageProfileSnapshotController_STATUS{}), generators) + + return managedClusterStorageProfileSnapshotController_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterStorageProfileSnapshotController_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterStorageProfileSnapshotController_STATUS(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +func Test_ManagedClusterStorageProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterStorageProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterStorageProfile_STATUS, ManagedClusterStorageProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterStorageProfile_STATUS runs a test to see if a specific instance of ManagedClusterStorageProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterStorageProfile_STATUS(subject ManagedClusterStorageProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterStorageProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterStorageProfile_STATUS instances for property testing - lazily instantiated by +// ManagedClusterStorageProfile_STATUSGenerator() +var managedClusterStorageProfile_STATUSGenerator gopter.Gen + +// ManagedClusterStorageProfile_STATUSGenerator returns a generator of ManagedClusterStorageProfile_STATUS instances for property testing. +func ManagedClusterStorageProfile_STATUSGenerator() gopter.Gen { + if managedClusterStorageProfile_STATUSGenerator != nil { + return managedClusterStorageProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForManagedClusterStorageProfile_STATUS(generators) + managedClusterStorageProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterStorageProfile_STATUS{}), generators) + + return managedClusterStorageProfile_STATUSGenerator +} + +// AddRelatedPropertyGeneratorsForManagedClusterStorageProfile_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterStorageProfile_STATUS(gens map[string]gopter.Gen) { + gens["BlobCSIDriver"] = gen.PtrOf(ManagedClusterStorageProfileBlobCSIDriver_STATUSGenerator()) + gens["DiskCSIDriver"] = gen.PtrOf(ManagedClusterStorageProfileDiskCSIDriver_STATUSGenerator()) + gens["FileCSIDriver"] = gen.PtrOf(ManagedClusterStorageProfileFileCSIDriver_STATUSGenerator()) + gens["SnapshotController"] = gen.PtrOf(ManagedClusterStorageProfileSnapshotController_STATUSGenerator()) +} + +func Test_ManagedClusterWindowsProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterWindowsProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterWindowsProfile_STATUS, ManagedClusterWindowsProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterWindowsProfile_STATUS runs a test to see if a specific instance of ManagedClusterWindowsProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterWindowsProfile_STATUS(subject ManagedClusterWindowsProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterWindowsProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterWindowsProfile_STATUS instances for property testing - lazily instantiated by +// ManagedClusterWindowsProfile_STATUSGenerator() +var managedClusterWindowsProfile_STATUSGenerator gopter.Gen + +// ManagedClusterWindowsProfile_STATUSGenerator returns a generator of ManagedClusterWindowsProfile_STATUS instances for property testing. +// We first initialize managedClusterWindowsProfile_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func ManagedClusterWindowsProfile_STATUSGenerator() gopter.Gen { + if managedClusterWindowsProfile_STATUSGenerator != nil { + return managedClusterWindowsProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterWindowsProfile_STATUS(generators) + managedClusterWindowsProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterWindowsProfile_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterWindowsProfile_STATUS(generators) + AddRelatedPropertyGeneratorsForManagedClusterWindowsProfile_STATUS(generators) + managedClusterWindowsProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterWindowsProfile_STATUS{}), generators) + + return managedClusterWindowsProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterWindowsProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterWindowsProfile_STATUS(gens map[string]gopter.Gen) { + gens["AdminUsername"] = gen.PtrOf(gen.AlphaString()) + gens["EnableCSIProxy"] = gen.PtrOf(gen.Bool()) + gens["LicenseType"] = gen.PtrOf(gen.OneConstOf(ManagedClusterWindowsProfile_LicenseType_STATUS_None, ManagedClusterWindowsProfile_LicenseType_STATUS_Windows_Server)) +} + +// AddRelatedPropertyGeneratorsForManagedClusterWindowsProfile_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterWindowsProfile_STATUS(gens map[string]gopter.Gen) { + gens["GmsaProfile"] = gen.PtrOf(WindowsGmsaProfile_STATUSGenerator()) +} + +func Test_ManagedClusterWorkloadAutoScalerProfileKeda_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterWorkloadAutoScalerProfileKeda_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterWorkloadAutoScalerProfileKeda_STATUS, ManagedClusterWorkloadAutoScalerProfileKeda_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterWorkloadAutoScalerProfileKeda_STATUS runs a test to see if a specific instance of ManagedClusterWorkloadAutoScalerProfileKeda_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterWorkloadAutoScalerProfileKeda_STATUS(subject ManagedClusterWorkloadAutoScalerProfileKeda_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterWorkloadAutoScalerProfileKeda_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterWorkloadAutoScalerProfileKeda_STATUS instances for property testing - lazily instantiated +// by ManagedClusterWorkloadAutoScalerProfileKeda_STATUSGenerator() +var managedClusterWorkloadAutoScalerProfileKeda_STATUSGenerator gopter.Gen + +// ManagedClusterWorkloadAutoScalerProfileKeda_STATUSGenerator returns a generator of ManagedClusterWorkloadAutoScalerProfileKeda_STATUS instances for property testing. +func ManagedClusterWorkloadAutoScalerProfileKeda_STATUSGenerator() gopter.Gen { + if managedClusterWorkloadAutoScalerProfileKeda_STATUSGenerator != nil { + return managedClusterWorkloadAutoScalerProfileKeda_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterWorkloadAutoScalerProfileKeda_STATUS(generators) + managedClusterWorkloadAutoScalerProfileKeda_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterWorkloadAutoScalerProfileKeda_STATUS{}), generators) + + return managedClusterWorkloadAutoScalerProfileKeda_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterWorkloadAutoScalerProfileKeda_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterWorkloadAutoScalerProfileKeda_STATUS(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +func Test_ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS, ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS runs a test to see if a specific instance of ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS(subject ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS instances for property testing - +// lazily instantiated by ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUSGenerator() +var managedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUSGenerator gopter.Gen + +// ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUSGenerator returns a generator of ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS instances for property testing. +func ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUSGenerator() gopter.Gen { + if managedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUSGenerator != nil { + return managedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS(generators) + managedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS{}), generators) + + return managedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +func Test_ManagedClusterWorkloadAutoScalerProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterWorkloadAutoScalerProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterWorkloadAutoScalerProfile_STATUS, ManagedClusterWorkloadAutoScalerProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterWorkloadAutoScalerProfile_STATUS runs a test to see if a specific instance of ManagedClusterWorkloadAutoScalerProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterWorkloadAutoScalerProfile_STATUS(subject ManagedClusterWorkloadAutoScalerProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterWorkloadAutoScalerProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterWorkloadAutoScalerProfile_STATUS instances for property testing - lazily instantiated by +// ManagedClusterWorkloadAutoScalerProfile_STATUSGenerator() +var managedClusterWorkloadAutoScalerProfile_STATUSGenerator gopter.Gen + +// ManagedClusterWorkloadAutoScalerProfile_STATUSGenerator returns a generator of ManagedClusterWorkloadAutoScalerProfile_STATUS instances for property testing. +func ManagedClusterWorkloadAutoScalerProfile_STATUSGenerator() gopter.Gen { + if managedClusterWorkloadAutoScalerProfile_STATUSGenerator != nil { + return managedClusterWorkloadAutoScalerProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForManagedClusterWorkloadAutoScalerProfile_STATUS(generators) + managedClusterWorkloadAutoScalerProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterWorkloadAutoScalerProfile_STATUS{}), generators) + + return managedClusterWorkloadAutoScalerProfile_STATUSGenerator +} + +// AddRelatedPropertyGeneratorsForManagedClusterWorkloadAutoScalerProfile_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterWorkloadAutoScalerProfile_STATUS(gens map[string]gopter.Gen) { + gens["Keda"] = gen.PtrOf(ManagedClusterWorkloadAutoScalerProfileKeda_STATUSGenerator()) + gens["VerticalPodAutoscaler"] = gen.PtrOf(ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUSGenerator()) +} + +func Test_ManagedCluster_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedCluster_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedCluster_STATUS, ManagedCluster_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedCluster_STATUS runs a test to see if a specific instance of ManagedCluster_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedCluster_STATUS(subject ManagedCluster_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedCluster_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedCluster_STATUS instances for property testing - lazily instantiated by +// ManagedCluster_STATUSGenerator() +var managedCluster_STATUSGenerator gopter.Gen + +// ManagedCluster_STATUSGenerator returns a generator of ManagedCluster_STATUS instances for property testing. +// We first initialize managedCluster_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func ManagedCluster_STATUSGenerator() gopter.Gen { + if managedCluster_STATUSGenerator != nil { + return managedCluster_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedCluster_STATUS(generators) + managedCluster_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedCluster_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedCluster_STATUS(generators) + AddRelatedPropertyGeneratorsForManagedCluster_STATUS(generators) + managedCluster_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedCluster_STATUS{}), generators) + + return managedCluster_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedCluster_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedCluster_STATUS(gens map[string]gopter.Gen) { + gens["ETag"] = gen.PtrOf(gen.AlphaString()) + gens["Id"] = gen.PtrOf(gen.AlphaString()) + gens["Location"] = gen.PtrOf(gen.AlphaString()) + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["Tags"] = gen.MapOf( + gen.AlphaString(), + gen.AlphaString()) + gens["Type"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForManagedCluster_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedCluster_STATUS(gens map[string]gopter.Gen) { + gens["ExtendedLocation"] = gen.PtrOf(ExtendedLocation_STATUSGenerator()) + gens["Identity"] = gen.PtrOf(ManagedClusterIdentity_STATUSGenerator()) + gens["Properties"] = gen.PtrOf(ManagedClusterProperties_STATUSGenerator()) + gens["Sku"] = gen.PtrOf(ManagedClusterSKU_STATUSGenerator()) + gens["SystemData"] = gen.PtrOf(SystemData_STATUSGenerator()) +} + +func Test_PowerState_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of PowerState_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForPowerState_STATUS, PowerState_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForPowerState_STATUS runs a test to see if a specific instance of PowerState_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForPowerState_STATUS(subject PowerState_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual PowerState_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of PowerState_STATUS instances for property testing - lazily instantiated by PowerState_STATUSGenerator() +var powerState_STATUSGenerator gopter.Gen + +// PowerState_STATUSGenerator returns a generator of PowerState_STATUS instances for property testing. +func PowerState_STATUSGenerator() gopter.Gen { + if powerState_STATUSGenerator != nil { + return powerState_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForPowerState_STATUS(generators) + powerState_STATUSGenerator = gen.Struct(reflect.TypeOf(PowerState_STATUS{}), generators) + + return powerState_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForPowerState_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForPowerState_STATUS(gens map[string]gopter.Gen) { + gens["Code"] = gen.PtrOf(gen.OneConstOf(PowerState_Code_STATUS_Running, PowerState_Code_STATUS_Stopped)) +} + +func Test_PrivateLinkResource_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of PrivateLinkResource_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForPrivateLinkResource_STATUS, PrivateLinkResource_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForPrivateLinkResource_STATUS runs a test to see if a specific instance of PrivateLinkResource_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForPrivateLinkResource_STATUS(subject PrivateLinkResource_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual PrivateLinkResource_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of PrivateLinkResource_STATUS instances for property testing - lazily instantiated by +// PrivateLinkResource_STATUSGenerator() +var privateLinkResource_STATUSGenerator gopter.Gen + +// PrivateLinkResource_STATUSGenerator returns a generator of PrivateLinkResource_STATUS instances for property testing. +func PrivateLinkResource_STATUSGenerator() gopter.Gen { + if privateLinkResource_STATUSGenerator != nil { + return privateLinkResource_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForPrivateLinkResource_STATUS(generators) + privateLinkResource_STATUSGenerator = gen.Struct(reflect.TypeOf(PrivateLinkResource_STATUS{}), generators) + + return privateLinkResource_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForPrivateLinkResource_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForPrivateLinkResource_STATUS(gens map[string]gopter.Gen) { + gens["GroupId"] = gen.PtrOf(gen.AlphaString()) + gens["Id"] = gen.PtrOf(gen.AlphaString()) + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["PrivateLinkServiceID"] = gen.PtrOf(gen.AlphaString()) + gens["RequiredMembers"] = gen.SliceOf(gen.AlphaString()) + gens["Type"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ResourceReference_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ResourceReference_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForResourceReference_STATUS, ResourceReference_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForResourceReference_STATUS runs a test to see if a specific instance of ResourceReference_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForResourceReference_STATUS(subject ResourceReference_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ResourceReference_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ResourceReference_STATUS instances for property testing - lazily instantiated by +// ResourceReference_STATUSGenerator() +var resourceReference_STATUSGenerator gopter.Gen + +// ResourceReference_STATUSGenerator returns a generator of ResourceReference_STATUS instances for property testing. +func ResourceReference_STATUSGenerator() gopter.Gen { + if resourceReference_STATUSGenerator != nil { + return resourceReference_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForResourceReference_STATUS(generators) + resourceReference_STATUSGenerator = gen.Struct(reflect.TypeOf(ResourceReference_STATUS{}), generators) + + return resourceReference_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForResourceReference_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForResourceReference_STATUS(gens map[string]gopter.Gen) { + gens["Id"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ServiceMeshProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ServiceMeshProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForServiceMeshProfile_STATUS, ServiceMeshProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForServiceMeshProfile_STATUS runs a test to see if a specific instance of ServiceMeshProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForServiceMeshProfile_STATUS(subject ServiceMeshProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ServiceMeshProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ServiceMeshProfile_STATUS instances for property testing - lazily instantiated by +// ServiceMeshProfile_STATUSGenerator() +var serviceMeshProfile_STATUSGenerator gopter.Gen + +// ServiceMeshProfile_STATUSGenerator returns a generator of ServiceMeshProfile_STATUS instances for property testing. +// We first initialize serviceMeshProfile_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func ServiceMeshProfile_STATUSGenerator() gopter.Gen { + if serviceMeshProfile_STATUSGenerator != nil { + return serviceMeshProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForServiceMeshProfile_STATUS(generators) + serviceMeshProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ServiceMeshProfile_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForServiceMeshProfile_STATUS(generators) + AddRelatedPropertyGeneratorsForServiceMeshProfile_STATUS(generators) + serviceMeshProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ServiceMeshProfile_STATUS{}), generators) + + return serviceMeshProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForServiceMeshProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForServiceMeshProfile_STATUS(gens map[string]gopter.Gen) { + gens["Mode"] = gen.PtrOf(gen.OneConstOf(ServiceMeshProfile_Mode_STATUS_Disabled, ServiceMeshProfile_Mode_STATUS_Istio)) +} + +// AddRelatedPropertyGeneratorsForServiceMeshProfile_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForServiceMeshProfile_STATUS(gens map[string]gopter.Gen) { + gens["Istio"] = gen.PtrOf(IstioServiceMesh_STATUSGenerator()) +} + +func Test_UpgradeOverrideSettings_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of UpgradeOverrideSettings_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForUpgradeOverrideSettings_STATUS, UpgradeOverrideSettings_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForUpgradeOverrideSettings_STATUS runs a test to see if a specific instance of UpgradeOverrideSettings_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForUpgradeOverrideSettings_STATUS(subject UpgradeOverrideSettings_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual UpgradeOverrideSettings_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of UpgradeOverrideSettings_STATUS instances for property testing - lazily instantiated by +// UpgradeOverrideSettings_STATUSGenerator() +var upgradeOverrideSettings_STATUSGenerator gopter.Gen + +// UpgradeOverrideSettings_STATUSGenerator returns a generator of UpgradeOverrideSettings_STATUS instances for property testing. +func UpgradeOverrideSettings_STATUSGenerator() gopter.Gen { + if upgradeOverrideSettings_STATUSGenerator != nil { + return upgradeOverrideSettings_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForUpgradeOverrideSettings_STATUS(generators) + upgradeOverrideSettings_STATUSGenerator = gen.Struct(reflect.TypeOf(UpgradeOverrideSettings_STATUS{}), generators) + + return upgradeOverrideSettings_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForUpgradeOverrideSettings_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForUpgradeOverrideSettings_STATUS(gens map[string]gopter.Gen) { + gens["ForceUpgrade"] = gen.PtrOf(gen.Bool()) + gens["Until"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_UserAssignedIdentity_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of UserAssignedIdentity_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForUserAssignedIdentity_STATUS, UserAssignedIdentity_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForUserAssignedIdentity_STATUS runs a test to see if a specific instance of UserAssignedIdentity_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForUserAssignedIdentity_STATUS(subject UserAssignedIdentity_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual UserAssignedIdentity_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of UserAssignedIdentity_STATUS instances for property testing - lazily instantiated by +// UserAssignedIdentity_STATUSGenerator() +var userAssignedIdentity_STATUSGenerator gopter.Gen + +// UserAssignedIdentity_STATUSGenerator returns a generator of UserAssignedIdentity_STATUS instances for property testing. +func UserAssignedIdentity_STATUSGenerator() gopter.Gen { + if userAssignedIdentity_STATUSGenerator != nil { + return userAssignedIdentity_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForUserAssignedIdentity_STATUS(generators) + userAssignedIdentity_STATUSGenerator = gen.Struct(reflect.TypeOf(UserAssignedIdentity_STATUS{}), generators) + + return userAssignedIdentity_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForUserAssignedIdentity_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForUserAssignedIdentity_STATUS(gens map[string]gopter.Gen) { + gens["ClientId"] = gen.PtrOf(gen.AlphaString()) + gens["ObjectId"] = gen.PtrOf(gen.AlphaString()) + gens["ResourceId"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_WindowsGmsaProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of WindowsGmsaProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForWindowsGmsaProfile_STATUS, WindowsGmsaProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForWindowsGmsaProfile_STATUS runs a test to see if a specific instance of WindowsGmsaProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForWindowsGmsaProfile_STATUS(subject WindowsGmsaProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual WindowsGmsaProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of WindowsGmsaProfile_STATUS instances for property testing - lazily instantiated by +// WindowsGmsaProfile_STATUSGenerator() +var windowsGmsaProfile_STATUSGenerator gopter.Gen + +// WindowsGmsaProfile_STATUSGenerator returns a generator of WindowsGmsaProfile_STATUS instances for property testing. +func WindowsGmsaProfile_STATUSGenerator() gopter.Gen { + if windowsGmsaProfile_STATUSGenerator != nil { + return windowsGmsaProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForWindowsGmsaProfile_STATUS(generators) + windowsGmsaProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(WindowsGmsaProfile_STATUS{}), generators) + + return windowsGmsaProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForWindowsGmsaProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForWindowsGmsaProfile_STATUS(gens map[string]gopter.Gen) { + gens["DnsServer"] = gen.PtrOf(gen.AlphaString()) + gens["Enabled"] = gen.PtrOf(gen.Bool()) + gens["RootDomainName"] = gen.PtrOf(gen.AlphaString()) +} diff --git a/v2/api/containerservice/v1api20240901/arm/managed_clusters_agent_pool_spec_types_gen.go b/v2/api/containerservice/v1api20240901/arm/managed_clusters_agent_pool_spec_types_gen.go new file mode 100644 index 00000000000..5a722dabefe --- /dev/null +++ b/v2/api/containerservice/v1api20240901/arm/managed_clusters_agent_pool_spec_types_gen.go @@ -0,0 +1,613 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package arm + +import "github.com/Azure/azure-service-operator/v2/pkg/genruntime" + +type ManagedClustersAgentPool_Spec struct { + Name string `json:"name,omitempty"` + + // Properties: Properties of an agent pool. + Properties *ManagedClusterAgentPoolProfileProperties `json:"properties,omitempty"` +} + +var _ genruntime.ARMResourceSpec = &ManagedClustersAgentPool_Spec{} + +// GetAPIVersion returns the ARM API version of the resource. This is always "2024-09-01" +func (pool ManagedClustersAgentPool_Spec) GetAPIVersion() string { + return "2024-09-01" +} + +// GetName returns the Name of the resource +func (pool *ManagedClustersAgentPool_Spec) GetName() string { + return pool.Name +} + +// GetType returns the ARM Type of the resource. This is always "Microsoft.ContainerService/managedClusters/agentPools" +func (pool *ManagedClustersAgentPool_Spec) GetType() string { + return "Microsoft.ContainerService/managedClusters/agentPools" +} + +// Properties for the container service agent pool profile. +type ManagedClusterAgentPoolProfileProperties struct { + // AvailabilityZones: The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType + // property is 'VirtualMachineScaleSets'. + AvailabilityZones []string `json:"availabilityZones"` + CapacityReservationGroupID *string `json:"capacityReservationGroupID,omitempty"` + + // Count: Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) + // for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1. + Count *int `json:"count,omitempty"` + + // CreationData: CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using + // a snapshot. + CreationData *CreationData `json:"creationData,omitempty"` + + // EnableAutoScaling: Whether to enable auto-scaler + EnableAutoScaling *bool `json:"enableAutoScaling,omitempty"` + + // EnableEncryptionAtHost: This is only supported on certain VM sizes and in certain Azure regions. For more information, + // see: https://docs.microsoft.com/azure/aks/enable-host-encryption + EnableEncryptionAtHost *bool `json:"enableEncryptionAtHost,omitempty"` + + // EnableFIPS: See [Add a FIPS-enabled node + // pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more + // details. + EnableFIPS *bool `json:"enableFIPS,omitempty"` + + // EnableNodePublicIP: Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. + // A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine + // to minimize hops. For more information see [assigning a public IP per + // node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The + // default is false. + EnableNodePublicIP *bool `json:"enableNodePublicIP,omitempty"` + + // EnableUltraSSD: Whether to enable UltraSSD + EnableUltraSSD *bool `json:"enableUltraSSD,omitempty"` + + // GpuInstanceProfile: GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU. + GpuInstanceProfile *GPUInstanceProfile `json:"gpuInstanceProfile,omitempty"` + HostGroupID *string `json:"hostGroupID,omitempty"` + + // KubeletConfig: The Kubelet configuration on the agent pool nodes. + KubeletConfig *KubeletConfig `json:"kubeletConfig,omitempty"` + + // KubeletDiskType: Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral + // storage. + KubeletDiskType *KubeletDiskType `json:"kubeletDiskType,omitempty"` + + // LinuxOSConfig: The OS configuration of Linux agent nodes. + LinuxOSConfig *LinuxOSConfig `json:"linuxOSConfig,omitempty"` + + // MaxCount: The maximum number of nodes for auto-scaling + MaxCount *int `json:"maxCount,omitempty"` + + // MaxPods: The maximum number of pods that can run on a node. + MaxPods *int `json:"maxPods,omitempty"` + + // MinCount: The minimum number of nodes for auto-scaling + MinCount *int `json:"minCount,omitempty"` + + // Mode: A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool + // restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools + Mode *AgentPoolMode `json:"mode,omitempty"` + + // NetworkProfile: Network-related settings of an agent pool. + NetworkProfile *AgentPoolNetworkProfile `json:"networkProfile,omitempty"` + + // NodeLabels: The node labels to be persisted across all nodes in agent pool. + NodeLabels map[string]string `json:"nodeLabels" serializationType:"explicitEmptyCollection"` + NodePublicIPPrefixID *string `json:"nodePublicIPPrefixID,omitempty"` + + // NodeTaints: The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule. + NodeTaints []string `json:"nodeTaints" serializationType:"explicitEmptyCollection"` + + // OrchestratorVersion: Both patch version (e.g. 1.20.13) and (e.g. 1.20) are supported. + // When is specified, the latest supported GA patch version is chosen automatically. Updating the cluster + // with the same once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer + // patch version is available. As a best practice, you should upgrade all node pools in an AKS cluster to the same + // Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor + // version must be within two minor versions of the control plane version. The node pool version cannot be greater than the + // control plane version. For more information see [upgrading a node + // pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). + OrchestratorVersion *string `json:"orchestratorVersion,omitempty"` + OsDiskSizeGB *int `json:"osDiskSizeGB,omitempty"` + + // OsDiskType: The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested + // OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral + // OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). + OsDiskType *OSDiskType `json:"osDiskType,omitempty"` + + // OsSKU: Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 + // when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows. + OsSKU *OSSKU `json:"osSKU,omitempty"` + + // OsType: The operating system type. The default is Linux. + OsType *OSType `json:"osType,omitempty"` + PodSubnetID *string `json:"podSubnetID,omitempty"` + + // PowerState: When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this + // field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only + // be stopped if it is Running and provisioning state is Succeeded + PowerState *PowerState `json:"powerState,omitempty"` + ProximityPlacementGroupID *string `json:"proximityPlacementGroupID,omitempty"` + + // ScaleDownMode: This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete. + ScaleDownMode *ScaleDownMode `json:"scaleDownMode,omitempty"` + + // ScaleSetEvictionPolicy: This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is + // 'Delete'. + ScaleSetEvictionPolicy *ScaleSetEvictionPolicy `json:"scaleSetEvictionPolicy,omitempty"` + + // ScaleSetPriority: The Virtual Machine Scale Set priority. If not specified, the default is 'Regular'. + ScaleSetPriority *ScaleSetPriority `json:"scaleSetPriority,omitempty"` + + // SecurityProfile: The security settings of an agent pool. + SecurityProfile *AgentPoolSecurityProfile `json:"securityProfile,omitempty"` + + // SpotMaxPrice: Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any + // on-demand price. For more details on spot pricing, see [spot VMs + // pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing) + SpotMaxPrice *float64 `json:"spotMaxPrice,omitempty"` + + // Tags: The tags to be persisted on the agent pool virtual machine scale set. + Tags map[string]string `json:"tags" serializationType:"explicitEmptyCollection"` + + // Type: The type of Agent Pool. + Type *AgentPoolType `json:"type,omitempty"` + + // UpgradeSettings: Settings for upgrading the agentpool + UpgradeSettings *AgentPoolUpgradeSettings `json:"upgradeSettings,omitempty"` + + // VmSize: VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods + // might fail to run correctly. For more details on restricted VM sizes, see: + // https://docs.microsoft.com/azure/aks/quotas-skus-regions + VmSize *string `json:"vmSize,omitempty"` + VnetSubnetID *string `json:"vnetSubnetID,omitempty"` + + // WindowsProfile: The Windows agent pool's specific profile. + WindowsProfile *AgentPoolWindowsProfile `json:"windowsProfile,omitempty"` + + // WorkloadRuntime: Determines the type of workload a node can run. + WorkloadRuntime *WorkloadRuntime `json:"workloadRuntime,omitempty"` +} + +// A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool restrictions +// and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools +// +kubebuilder:validation:Enum={"System","User"} +type AgentPoolMode string + +const ( + AgentPoolMode_System = AgentPoolMode("System") + AgentPoolMode_User = AgentPoolMode("User") +) + +// Mapping from string to AgentPoolMode +var agentPoolMode_Values = map[string]AgentPoolMode{ + "system": AgentPoolMode_System, + "user": AgentPoolMode_User, +} + +// Network settings of an agent pool. +type AgentPoolNetworkProfile struct { + // AllowedHostPorts: The port ranges that are allowed to access. The specified ranges are allowed to overlap. + AllowedHostPorts []PortRange `json:"allowedHostPorts"` + ApplicationSecurityGroups []string `json:"applicationSecurityGroups,omitempty"` + + // NodePublicIPTags: IPTags of instance-level public IPs. + NodePublicIPTags []IPTag `json:"nodePublicIPTags"` +} + +// The security settings of an agent pool. +type AgentPoolSecurityProfile struct { + // EnableSecureBoot: Secure Boot is a feature of Trusted Launch which ensures that only signed operating systems and + // drivers can boot. For more details, see aka.ms/aks/trustedlaunch. If not specified, the default is false. + EnableSecureBoot *bool `json:"enableSecureBoot,omitempty"` + + // EnableVTPM: vTPM is a Trusted Launch feature for configuring a dedicated secure vault for keys and measurements held + // locally on the node. For more details, see aka.ms/aks/trustedlaunch. If not specified, the default is false. + EnableVTPM *bool `json:"enableVTPM,omitempty"` +} + +// The type of Agent Pool. +// +kubebuilder:validation:Enum={"AvailabilitySet","VirtualMachineScaleSets"} +type AgentPoolType string + +const ( + AgentPoolType_AvailabilitySet = AgentPoolType("AvailabilitySet") + AgentPoolType_VirtualMachineScaleSets = AgentPoolType("VirtualMachineScaleSets") +) + +// Mapping from string to AgentPoolType +var agentPoolType_Values = map[string]AgentPoolType{ + "availabilityset": AgentPoolType_AvailabilitySet, + "virtualmachinescalesets": AgentPoolType_VirtualMachineScaleSets, +} + +// Settings for upgrading an agentpool +type AgentPoolUpgradeSettings struct { + // DrainTimeoutInMinutes: The amount of time (in minutes) to wait on eviction of pods and graceful termination per node. + // This eviction wait time honors waiting on pod disruption budgets. If this time is exceeded, the upgrade fails. If not + // specified, the default is 30 minutes. + DrainTimeoutInMinutes *int `json:"drainTimeoutInMinutes,omitempty"` + + // MaxSurge: This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it + // is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded + // up. If not specified, the default is 1. For more information, including best practices, see: + // https://docs.microsoft.com/azure/aks/upgrade-cluster#customize-node-surge-upgrade + MaxSurge *string `json:"maxSurge,omitempty"` + + // NodeSoakDurationInMinutes: The amount of time (in minutes) to wait after draining a node and before reimaging it and + // moving on to next node. If not specified, the default is 0 minutes. + NodeSoakDurationInMinutes *int `json:"nodeSoakDurationInMinutes,omitempty"` +} + +// The Windows agent pool's specific profile. +type AgentPoolWindowsProfile struct { + // DisableOutboundNat: The default value is false. Outbound NAT can only be disabled if the cluster outboundType is NAT + // Gateway and the Windows agent pool does not have node public IP enabled. + DisableOutboundNat *bool `json:"disableOutboundNat,omitempty"` +} + +// Data used when creating a target resource from a source resource. +type CreationData struct { + SourceResourceId *string `json:"sourceResourceId,omitempty"` +} + +// GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU. +// +kubebuilder:validation:Enum={"MIG1g","MIG2g","MIG3g","MIG4g","MIG7g"} +type GPUInstanceProfile string + +const ( + GPUInstanceProfile_MIG1G = GPUInstanceProfile("MIG1g") + GPUInstanceProfile_MIG2G = GPUInstanceProfile("MIG2g") + GPUInstanceProfile_MIG3G = GPUInstanceProfile("MIG3g") + GPUInstanceProfile_MIG4G = GPUInstanceProfile("MIG4g") + GPUInstanceProfile_MIG7G = GPUInstanceProfile("MIG7g") +) + +// Mapping from string to GPUInstanceProfile +var gPUInstanceProfile_Values = map[string]GPUInstanceProfile{ + "mig1g": GPUInstanceProfile_MIG1G, + "mig2g": GPUInstanceProfile_MIG2G, + "mig3g": GPUInstanceProfile_MIG3G, + "mig4g": GPUInstanceProfile_MIG4G, + "mig7g": GPUInstanceProfile_MIG7G, +} + +// See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. +type KubeletConfig struct { + // AllowedUnsafeSysctls: Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in `*`). + AllowedUnsafeSysctls []string `json:"allowedUnsafeSysctls"` + + // ContainerLogMaxFiles: The maximum number of container log files that can be present for a container. The number must be + // ≥ 2. + ContainerLogMaxFiles *int `json:"containerLogMaxFiles,omitempty"` + + // ContainerLogMaxSizeMB: The maximum size (e.g. 10Mi) of container log file before it is rotated. + ContainerLogMaxSizeMB *int `json:"containerLogMaxSizeMB,omitempty"` + + // CpuCfsQuota: The default is true. + CpuCfsQuota *bool `json:"cpuCfsQuota,omitempty"` + + // CpuCfsQuotaPeriod: The default is '100ms.' Valid values are a sequence of decimal numbers with an optional fraction and + // a unit suffix. For example: '300ms', '2h45m'. Supported units are 'ns', 'us', 'ms', 's', 'm', and 'h'. + CpuCfsQuotaPeriod *string `json:"cpuCfsQuotaPeriod,omitempty"` + + // CpuManagerPolicy: The default is 'none'. See [Kubernetes CPU management + // policies](https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/#cpu-management-policies) for more + // information. Allowed values are 'none' and 'static'. + CpuManagerPolicy *string `json:"cpuManagerPolicy,omitempty"` + + // FailSwapOn: If set to true it will make the Kubelet fail to start if swap is enabled on the node. + FailSwapOn *bool `json:"failSwapOn,omitempty"` + + // ImageGcHighThreshold: To disable image garbage collection, set to 100. The default is 85% + ImageGcHighThreshold *int `json:"imageGcHighThreshold,omitempty"` + + // ImageGcLowThreshold: This cannot be set higher than imageGcHighThreshold. The default is 80% + ImageGcLowThreshold *int `json:"imageGcLowThreshold,omitempty"` + + // PodMaxPids: The maximum number of processes per pod. + PodMaxPids *int `json:"podMaxPids,omitempty"` + + // TopologyManagerPolicy: For more information see [Kubernetes Topology + // Manager](https://kubernetes.io/docs/tasks/administer-cluster/topology-manager). The default is 'none'. Allowed values + // are 'none', 'best-effort', 'restricted', and 'single-numa-node'. + TopologyManagerPolicy *string `json:"topologyManagerPolicy,omitempty"` +} + +// Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage. +// +kubebuilder:validation:Enum={"OS","Temporary"} +type KubeletDiskType string + +const ( + KubeletDiskType_OS = KubeletDiskType("OS") + KubeletDiskType_Temporary = KubeletDiskType("Temporary") +) + +// Mapping from string to KubeletDiskType +var kubeletDiskType_Values = map[string]KubeletDiskType{ + "os": KubeletDiskType_OS, + "temporary": KubeletDiskType_Temporary, +} + +// See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. +type LinuxOSConfig struct { + // SwapFileSizeMB: The size in MB of a swap file that will be created on each node. + SwapFileSizeMB *int `json:"swapFileSizeMB,omitempty"` + + // Sysctls: Sysctl settings for Linux agent nodes. + Sysctls *SysctlConfig `json:"sysctls,omitempty"` + + // TransparentHugePageDefrag: Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is + // 'madvise'. For more information see [Transparent + // Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). + TransparentHugePageDefrag *string `json:"transparentHugePageDefrag,omitempty"` + + // TransparentHugePageEnabled: Valid values are 'always', 'madvise', and 'never'. The default is 'always'. For more + // information see [Transparent + // Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). + TransparentHugePageEnabled *string `json:"transparentHugePageEnabled,omitempty"` +} + +// The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, +// defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral +// OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). +// +kubebuilder:validation:Enum={"Ephemeral","Managed"} +type OSDiskType string + +const ( + OSDiskType_Ephemeral = OSDiskType("Ephemeral") + OSDiskType_Managed = OSDiskType("Managed") +) + +// Mapping from string to OSDiskType +var oSDiskType_Values = map[string]OSDiskType{ + "ephemeral": OSDiskType_Ephemeral, + "managed": OSDiskType_Managed, +} + +// Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 when +// Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows. +// +kubebuilder:validation:Enum={"AzureLinux","CBLMariner","Ubuntu","Windows2019","Windows2022"} +type OSSKU string + +const ( + OSSKU_AzureLinux = OSSKU("AzureLinux") + OSSKU_CBLMariner = OSSKU("CBLMariner") + OSSKU_Ubuntu = OSSKU("Ubuntu") + OSSKU_Windows2019 = OSSKU("Windows2019") + OSSKU_Windows2022 = OSSKU("Windows2022") +) + +// Mapping from string to OSSKU +var oSSKU_Values = map[string]OSSKU{ + "azurelinux": OSSKU_AzureLinux, + "cblmariner": OSSKU_CBLMariner, + "ubuntu": OSSKU_Ubuntu, + "windows2019": OSSKU_Windows2019, + "windows2022": OSSKU_Windows2022, +} + +// The operating system type. The default is Linux. +// +kubebuilder:validation:Enum={"Linux","Windows"} +type OSType string + +const ( + OSType_Linux = OSType("Linux") + OSType_Windows = OSType("Windows") +) + +// Mapping from string to OSType +var oSType_Values = map[string]OSType{ + "linux": OSType_Linux, + "windows": OSType_Windows, +} + +// Describes the Power State of the cluster +type PowerState struct { + // Code: Tells whether the cluster is Running or Stopped + Code *PowerState_Code `json:"code,omitempty"` +} + +// Describes how VMs are added to or removed from Agent Pools. See [billing +// states](https://docs.microsoft.com/azure/virtual-machines/states-billing). +// +kubebuilder:validation:Enum={"Deallocate","Delete"} +type ScaleDownMode string + +const ( + ScaleDownMode_Deallocate = ScaleDownMode("Deallocate") + ScaleDownMode_Delete = ScaleDownMode("Delete") +) + +// Mapping from string to ScaleDownMode +var scaleDownMode_Values = map[string]ScaleDownMode{ + "deallocate": ScaleDownMode_Deallocate, + "delete": ScaleDownMode_Delete, +} + +// The eviction policy specifies what to do with the VM when it is evicted. The default is Delete. For more information +// about eviction see [spot VMs](https://docs.microsoft.com/azure/virtual-machines/spot-vms) +// +kubebuilder:validation:Enum={"Deallocate","Delete"} +type ScaleSetEvictionPolicy string + +const ( + ScaleSetEvictionPolicy_Deallocate = ScaleSetEvictionPolicy("Deallocate") + ScaleSetEvictionPolicy_Delete = ScaleSetEvictionPolicy("Delete") +) + +// Mapping from string to ScaleSetEvictionPolicy +var scaleSetEvictionPolicy_Values = map[string]ScaleSetEvictionPolicy{ + "deallocate": ScaleSetEvictionPolicy_Deallocate, + "delete": ScaleSetEvictionPolicy_Delete, +} + +// The Virtual Machine Scale Set priority. +// +kubebuilder:validation:Enum={"Regular","Spot"} +type ScaleSetPriority string + +const ( + ScaleSetPriority_Regular = ScaleSetPriority("Regular") + ScaleSetPriority_Spot = ScaleSetPriority("Spot") +) + +// Mapping from string to ScaleSetPriority +var scaleSetPriority_Values = map[string]ScaleSetPriority{ + "regular": ScaleSetPriority_Regular, + "spot": ScaleSetPriority_Spot, +} + +// Determines the type of workload a node can run. +// +kubebuilder:validation:Enum={"OCIContainer","WasmWasi"} +type WorkloadRuntime string + +const ( + WorkloadRuntime_OCIContainer = WorkloadRuntime("OCIContainer") + WorkloadRuntime_WasmWasi = WorkloadRuntime("WasmWasi") +) + +// Mapping from string to WorkloadRuntime +var workloadRuntime_Values = map[string]WorkloadRuntime{ + "ocicontainer": WorkloadRuntime_OCIContainer, + "wasmwasi": WorkloadRuntime_WasmWasi, +} + +// Contains the IPTag associated with the object. +type IPTag struct { + // IpTagType: The IP tag type. Example: RoutingPreference. + IpTagType *string `json:"ipTagType,omitempty"` + + // Tag: The value of the IP tag associated with the public IP. Example: Internet. + Tag *string `json:"tag,omitempty"` +} + +// The port range. +type PortRange struct { + // PortEnd: The maximum port that is included in the range. It should be ranged from 1 to 65535, and be greater than or + // equal to portStart. + PortEnd *int `json:"portEnd,omitempty"` + + // PortStart: The minimum port that is included in the range. It should be ranged from 1 to 65535, and be less than or + // equal to portEnd. + PortStart *int `json:"portStart,omitempty"` + + // Protocol: The network protocol of the port. + Protocol *PortRange_Protocol `json:"protocol,omitempty"` +} + +// +kubebuilder:validation:Enum={"Running","Stopped"} +type PowerState_Code string + +const ( + PowerState_Code_Running = PowerState_Code("Running") + PowerState_Code_Stopped = PowerState_Code("Stopped") +) + +// Mapping from string to PowerState_Code +var powerState_Code_Values = map[string]PowerState_Code{ + "running": PowerState_Code_Running, + "stopped": PowerState_Code_Stopped, +} + +// Sysctl settings for Linux agent nodes. +type SysctlConfig struct { + // FsAioMaxNr: Sysctl setting fs.aio-max-nr. + FsAioMaxNr *int `json:"fsAioMaxNr,omitempty"` + + // FsFileMax: Sysctl setting fs.file-max. + FsFileMax *int `json:"fsFileMax,omitempty"` + + // FsInotifyMaxUserWatches: Sysctl setting fs.inotify.max_user_watches. + FsInotifyMaxUserWatches *int `json:"fsInotifyMaxUserWatches,omitempty"` + + // FsNrOpen: Sysctl setting fs.nr_open. + FsNrOpen *int `json:"fsNrOpen,omitempty"` + + // KernelThreadsMax: Sysctl setting kernel.threads-max. + KernelThreadsMax *int `json:"kernelThreadsMax,omitempty"` + + // NetCoreNetdevMaxBacklog: Sysctl setting net.core.netdev_max_backlog. + NetCoreNetdevMaxBacklog *int `json:"netCoreNetdevMaxBacklog,omitempty"` + + // NetCoreOptmemMax: Sysctl setting net.core.optmem_max. + NetCoreOptmemMax *int `json:"netCoreOptmemMax,omitempty"` + + // NetCoreRmemDefault: Sysctl setting net.core.rmem_default. + NetCoreRmemDefault *int `json:"netCoreRmemDefault,omitempty"` + + // NetCoreRmemMax: Sysctl setting net.core.rmem_max. + NetCoreRmemMax *int `json:"netCoreRmemMax,omitempty"` + + // NetCoreSomaxconn: Sysctl setting net.core.somaxconn. + NetCoreSomaxconn *int `json:"netCoreSomaxconn,omitempty"` + + // NetCoreWmemDefault: Sysctl setting net.core.wmem_default. + NetCoreWmemDefault *int `json:"netCoreWmemDefault,omitempty"` + + // NetCoreWmemMax: Sysctl setting net.core.wmem_max. + NetCoreWmemMax *int `json:"netCoreWmemMax,omitempty"` + + // NetIpv4IpLocalPortRange: Sysctl setting net.ipv4.ip_local_port_range. + NetIpv4IpLocalPortRange *string `json:"netIpv4IpLocalPortRange,omitempty"` + + // NetIpv4NeighDefaultGcThresh1: Sysctl setting net.ipv4.neigh.default.gc_thresh1. + NetIpv4NeighDefaultGcThresh1 *int `json:"netIpv4NeighDefaultGcThresh1,omitempty"` + + // NetIpv4NeighDefaultGcThresh2: Sysctl setting net.ipv4.neigh.default.gc_thresh2. + NetIpv4NeighDefaultGcThresh2 *int `json:"netIpv4NeighDefaultGcThresh2,omitempty"` + + // NetIpv4NeighDefaultGcThresh3: Sysctl setting net.ipv4.neigh.default.gc_thresh3. + NetIpv4NeighDefaultGcThresh3 *int `json:"netIpv4NeighDefaultGcThresh3,omitempty"` + + // NetIpv4TcpFinTimeout: Sysctl setting net.ipv4.tcp_fin_timeout. + NetIpv4TcpFinTimeout *int `json:"netIpv4TcpFinTimeout,omitempty"` + + // NetIpv4TcpKeepaliveProbes: Sysctl setting net.ipv4.tcp_keepalive_probes. + NetIpv4TcpKeepaliveProbes *int `json:"netIpv4TcpKeepaliveProbes,omitempty"` + + // NetIpv4TcpKeepaliveTime: Sysctl setting net.ipv4.tcp_keepalive_time. + NetIpv4TcpKeepaliveTime *int `json:"netIpv4TcpKeepaliveTime,omitempty"` + + // NetIpv4TcpMaxSynBacklog: Sysctl setting net.ipv4.tcp_max_syn_backlog. + NetIpv4TcpMaxSynBacklog *int `json:"netIpv4TcpMaxSynBacklog,omitempty"` + + // NetIpv4TcpMaxTwBuckets: Sysctl setting net.ipv4.tcp_max_tw_buckets. + NetIpv4TcpMaxTwBuckets *int `json:"netIpv4TcpMaxTwBuckets,omitempty"` + + // NetIpv4TcpTwReuse: Sysctl setting net.ipv4.tcp_tw_reuse. + NetIpv4TcpTwReuse *bool `json:"netIpv4TcpTwReuse,omitempty"` + + // NetIpv4TcpkeepaliveIntvl: Sysctl setting net.ipv4.tcp_keepalive_intvl. + NetIpv4TcpkeepaliveIntvl *int `json:"netIpv4TcpkeepaliveIntvl,omitempty"` + + // NetNetfilterNfConntrackBuckets: Sysctl setting net.netfilter.nf_conntrack_buckets. + NetNetfilterNfConntrackBuckets *int `json:"netNetfilterNfConntrackBuckets,omitempty"` + + // NetNetfilterNfConntrackMax: Sysctl setting net.netfilter.nf_conntrack_max. + NetNetfilterNfConntrackMax *int `json:"netNetfilterNfConntrackMax,omitempty"` + + // VmMaxMapCount: Sysctl setting vm.max_map_count. + VmMaxMapCount *int `json:"vmMaxMapCount,omitempty"` + + // VmSwappiness: Sysctl setting vm.swappiness. + VmSwappiness *int `json:"vmSwappiness,omitempty"` + + // VmVfsCachePressure: Sysctl setting vm.vfs_cache_pressure. + VmVfsCachePressure *int `json:"vmVfsCachePressure,omitempty"` +} + +// +kubebuilder:validation:Enum={"TCP","UDP"} +type PortRange_Protocol string + +const ( + PortRange_Protocol_TCP = PortRange_Protocol("TCP") + PortRange_Protocol_UDP = PortRange_Protocol("UDP") +) + +// Mapping from string to PortRange_Protocol +var portRange_Protocol_Values = map[string]PortRange_Protocol{ + "tcp": PortRange_Protocol_TCP, + "udp": PortRange_Protocol_UDP, +} diff --git a/v2/api/containerservice/v1api20240901/arm/managed_clusters_agent_pool_spec_types_gen_test.go b/v2/api/containerservice/v1api20240901/arm/managed_clusters_agent_pool_spec_types_gen_test.go new file mode 100644 index 00000000000..736e7da5eef --- /dev/null +++ b/v2/api/containerservice/v1api20240901/arm/managed_clusters_agent_pool_spec_types_gen_test.go @@ -0,0 +1,960 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package arm + +import ( + "encoding/json" + "github.com/google/go-cmp/cmp" + "github.com/google/go-cmp/cmp/cmpopts" + "github.com/kr/pretty" + "github.com/kylelemons/godebug/diff" + "github.com/leanovate/gopter" + "github.com/leanovate/gopter/gen" + "github.com/leanovate/gopter/prop" + "os" + "reflect" + "testing" +) + +func Test_AgentPoolNetworkProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of AgentPoolNetworkProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAgentPoolNetworkProfile, AgentPoolNetworkProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAgentPoolNetworkProfile runs a test to see if a specific instance of AgentPoolNetworkProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForAgentPoolNetworkProfile(subject AgentPoolNetworkProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AgentPoolNetworkProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of AgentPoolNetworkProfile instances for property testing - lazily instantiated by +// AgentPoolNetworkProfileGenerator() +var agentPoolNetworkProfileGenerator gopter.Gen + +// AgentPoolNetworkProfileGenerator returns a generator of AgentPoolNetworkProfile instances for property testing. +// We first initialize agentPoolNetworkProfileGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func AgentPoolNetworkProfileGenerator() gopter.Gen { + if agentPoolNetworkProfileGenerator != nil { + return agentPoolNetworkProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAgentPoolNetworkProfile(generators) + agentPoolNetworkProfileGenerator = gen.Struct(reflect.TypeOf(AgentPoolNetworkProfile{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAgentPoolNetworkProfile(generators) + AddRelatedPropertyGeneratorsForAgentPoolNetworkProfile(generators) + agentPoolNetworkProfileGenerator = gen.Struct(reflect.TypeOf(AgentPoolNetworkProfile{}), generators) + + return agentPoolNetworkProfileGenerator +} + +// AddIndependentPropertyGeneratorsForAgentPoolNetworkProfile is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAgentPoolNetworkProfile(gens map[string]gopter.Gen) { + gens["ApplicationSecurityGroups"] = gen.SliceOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForAgentPoolNetworkProfile is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForAgentPoolNetworkProfile(gens map[string]gopter.Gen) { + gens["AllowedHostPorts"] = gen.SliceOf(PortRangeGenerator()) + gens["NodePublicIPTags"] = gen.SliceOf(IPTagGenerator()) +} + +func Test_AgentPoolSecurityProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of AgentPoolSecurityProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAgentPoolSecurityProfile, AgentPoolSecurityProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAgentPoolSecurityProfile runs a test to see if a specific instance of AgentPoolSecurityProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForAgentPoolSecurityProfile(subject AgentPoolSecurityProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AgentPoolSecurityProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of AgentPoolSecurityProfile instances for property testing - lazily instantiated by +// AgentPoolSecurityProfileGenerator() +var agentPoolSecurityProfileGenerator gopter.Gen + +// AgentPoolSecurityProfileGenerator returns a generator of AgentPoolSecurityProfile instances for property testing. +func AgentPoolSecurityProfileGenerator() gopter.Gen { + if agentPoolSecurityProfileGenerator != nil { + return agentPoolSecurityProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAgentPoolSecurityProfile(generators) + agentPoolSecurityProfileGenerator = gen.Struct(reflect.TypeOf(AgentPoolSecurityProfile{}), generators) + + return agentPoolSecurityProfileGenerator +} + +// AddIndependentPropertyGeneratorsForAgentPoolSecurityProfile is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAgentPoolSecurityProfile(gens map[string]gopter.Gen) { + gens["EnableSecureBoot"] = gen.PtrOf(gen.Bool()) + gens["EnableVTPM"] = gen.PtrOf(gen.Bool()) +} + +func Test_AgentPoolUpgradeSettings_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of AgentPoolUpgradeSettings via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAgentPoolUpgradeSettings, AgentPoolUpgradeSettingsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAgentPoolUpgradeSettings runs a test to see if a specific instance of AgentPoolUpgradeSettings round trips to JSON and back losslessly +func RunJSONSerializationTestForAgentPoolUpgradeSettings(subject AgentPoolUpgradeSettings) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AgentPoolUpgradeSettings + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of AgentPoolUpgradeSettings instances for property testing - lazily instantiated by +// AgentPoolUpgradeSettingsGenerator() +var agentPoolUpgradeSettingsGenerator gopter.Gen + +// AgentPoolUpgradeSettingsGenerator returns a generator of AgentPoolUpgradeSettings instances for property testing. +func AgentPoolUpgradeSettingsGenerator() gopter.Gen { + if agentPoolUpgradeSettingsGenerator != nil { + return agentPoolUpgradeSettingsGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAgentPoolUpgradeSettings(generators) + agentPoolUpgradeSettingsGenerator = gen.Struct(reflect.TypeOf(AgentPoolUpgradeSettings{}), generators) + + return agentPoolUpgradeSettingsGenerator +} + +// AddIndependentPropertyGeneratorsForAgentPoolUpgradeSettings is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAgentPoolUpgradeSettings(gens map[string]gopter.Gen) { + gens["DrainTimeoutInMinutes"] = gen.PtrOf(gen.Int()) + gens["MaxSurge"] = gen.PtrOf(gen.AlphaString()) + gens["NodeSoakDurationInMinutes"] = gen.PtrOf(gen.Int()) +} + +func Test_AgentPoolWindowsProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of AgentPoolWindowsProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAgentPoolWindowsProfile, AgentPoolWindowsProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAgentPoolWindowsProfile runs a test to see if a specific instance of AgentPoolWindowsProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForAgentPoolWindowsProfile(subject AgentPoolWindowsProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AgentPoolWindowsProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of AgentPoolWindowsProfile instances for property testing - lazily instantiated by +// AgentPoolWindowsProfileGenerator() +var agentPoolWindowsProfileGenerator gopter.Gen + +// AgentPoolWindowsProfileGenerator returns a generator of AgentPoolWindowsProfile instances for property testing. +func AgentPoolWindowsProfileGenerator() gopter.Gen { + if agentPoolWindowsProfileGenerator != nil { + return agentPoolWindowsProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAgentPoolWindowsProfile(generators) + agentPoolWindowsProfileGenerator = gen.Struct(reflect.TypeOf(AgentPoolWindowsProfile{}), generators) + + return agentPoolWindowsProfileGenerator +} + +// AddIndependentPropertyGeneratorsForAgentPoolWindowsProfile is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAgentPoolWindowsProfile(gens map[string]gopter.Gen) { + gens["DisableOutboundNat"] = gen.PtrOf(gen.Bool()) +} + +func Test_CreationData_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of CreationData via JSON returns original", + prop.ForAll(RunJSONSerializationTestForCreationData, CreationDataGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForCreationData runs a test to see if a specific instance of CreationData round trips to JSON and back losslessly +func RunJSONSerializationTestForCreationData(subject CreationData) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual CreationData + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of CreationData instances for property testing - lazily instantiated by CreationDataGenerator() +var creationDataGenerator gopter.Gen + +// CreationDataGenerator returns a generator of CreationData instances for property testing. +func CreationDataGenerator() gopter.Gen { + if creationDataGenerator != nil { + return creationDataGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForCreationData(generators) + creationDataGenerator = gen.Struct(reflect.TypeOf(CreationData{}), generators) + + return creationDataGenerator +} + +// AddIndependentPropertyGeneratorsForCreationData is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForCreationData(gens map[string]gopter.Gen) { + gens["SourceResourceId"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_IPTag_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of IPTag via JSON returns original", + prop.ForAll(RunJSONSerializationTestForIPTag, IPTagGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForIPTag runs a test to see if a specific instance of IPTag round trips to JSON and back losslessly +func RunJSONSerializationTestForIPTag(subject IPTag) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual IPTag + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of IPTag instances for property testing - lazily instantiated by IPTagGenerator() +var ipTagGenerator gopter.Gen + +// IPTagGenerator returns a generator of IPTag instances for property testing. +func IPTagGenerator() gopter.Gen { + if ipTagGenerator != nil { + return ipTagGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForIPTag(generators) + ipTagGenerator = gen.Struct(reflect.TypeOf(IPTag{}), generators) + + return ipTagGenerator +} + +// AddIndependentPropertyGeneratorsForIPTag is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForIPTag(gens map[string]gopter.Gen) { + gens["IpTagType"] = gen.PtrOf(gen.AlphaString()) + gens["Tag"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_KubeletConfig_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of KubeletConfig via JSON returns original", + prop.ForAll(RunJSONSerializationTestForKubeletConfig, KubeletConfigGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForKubeletConfig runs a test to see if a specific instance of KubeletConfig round trips to JSON and back losslessly +func RunJSONSerializationTestForKubeletConfig(subject KubeletConfig) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual KubeletConfig + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of KubeletConfig instances for property testing - lazily instantiated by KubeletConfigGenerator() +var kubeletConfigGenerator gopter.Gen + +// KubeletConfigGenerator returns a generator of KubeletConfig instances for property testing. +func KubeletConfigGenerator() gopter.Gen { + if kubeletConfigGenerator != nil { + return kubeletConfigGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForKubeletConfig(generators) + kubeletConfigGenerator = gen.Struct(reflect.TypeOf(KubeletConfig{}), generators) + + return kubeletConfigGenerator +} + +// AddIndependentPropertyGeneratorsForKubeletConfig is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForKubeletConfig(gens map[string]gopter.Gen) { + gens["AllowedUnsafeSysctls"] = gen.SliceOf(gen.AlphaString()) + gens["ContainerLogMaxFiles"] = gen.PtrOf(gen.Int()) + gens["ContainerLogMaxSizeMB"] = gen.PtrOf(gen.Int()) + gens["CpuCfsQuota"] = gen.PtrOf(gen.Bool()) + gens["CpuCfsQuotaPeriod"] = gen.PtrOf(gen.AlphaString()) + gens["CpuManagerPolicy"] = gen.PtrOf(gen.AlphaString()) + gens["FailSwapOn"] = gen.PtrOf(gen.Bool()) + gens["ImageGcHighThreshold"] = gen.PtrOf(gen.Int()) + gens["ImageGcLowThreshold"] = gen.PtrOf(gen.Int()) + gens["PodMaxPids"] = gen.PtrOf(gen.Int()) + gens["TopologyManagerPolicy"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_LinuxOSConfig_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of LinuxOSConfig via JSON returns original", + prop.ForAll(RunJSONSerializationTestForLinuxOSConfig, LinuxOSConfigGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForLinuxOSConfig runs a test to see if a specific instance of LinuxOSConfig round trips to JSON and back losslessly +func RunJSONSerializationTestForLinuxOSConfig(subject LinuxOSConfig) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual LinuxOSConfig + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of LinuxOSConfig instances for property testing - lazily instantiated by LinuxOSConfigGenerator() +var linuxOSConfigGenerator gopter.Gen + +// LinuxOSConfigGenerator returns a generator of LinuxOSConfig instances for property testing. +// We first initialize linuxOSConfigGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func LinuxOSConfigGenerator() gopter.Gen { + if linuxOSConfigGenerator != nil { + return linuxOSConfigGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForLinuxOSConfig(generators) + linuxOSConfigGenerator = gen.Struct(reflect.TypeOf(LinuxOSConfig{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForLinuxOSConfig(generators) + AddRelatedPropertyGeneratorsForLinuxOSConfig(generators) + linuxOSConfigGenerator = gen.Struct(reflect.TypeOf(LinuxOSConfig{}), generators) + + return linuxOSConfigGenerator +} + +// AddIndependentPropertyGeneratorsForLinuxOSConfig is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForLinuxOSConfig(gens map[string]gopter.Gen) { + gens["SwapFileSizeMB"] = gen.PtrOf(gen.Int()) + gens["TransparentHugePageDefrag"] = gen.PtrOf(gen.AlphaString()) + gens["TransparentHugePageEnabled"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForLinuxOSConfig is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForLinuxOSConfig(gens map[string]gopter.Gen) { + gens["Sysctls"] = gen.PtrOf(SysctlConfigGenerator()) +} + +func Test_ManagedClusterAgentPoolProfileProperties_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterAgentPoolProfileProperties via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterAgentPoolProfileProperties, ManagedClusterAgentPoolProfilePropertiesGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterAgentPoolProfileProperties runs a test to see if a specific instance of ManagedClusterAgentPoolProfileProperties round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterAgentPoolProfileProperties(subject ManagedClusterAgentPoolProfileProperties) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterAgentPoolProfileProperties + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterAgentPoolProfileProperties instances for property testing - lazily instantiated by +// ManagedClusterAgentPoolProfilePropertiesGenerator() +var managedClusterAgentPoolProfilePropertiesGenerator gopter.Gen + +// ManagedClusterAgentPoolProfilePropertiesGenerator returns a generator of ManagedClusterAgentPoolProfileProperties instances for property testing. +// We first initialize managedClusterAgentPoolProfilePropertiesGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func ManagedClusterAgentPoolProfilePropertiesGenerator() gopter.Gen { + if managedClusterAgentPoolProfilePropertiesGenerator != nil { + return managedClusterAgentPoolProfilePropertiesGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterAgentPoolProfileProperties(generators) + managedClusterAgentPoolProfilePropertiesGenerator = gen.Struct(reflect.TypeOf(ManagedClusterAgentPoolProfileProperties{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterAgentPoolProfileProperties(generators) + AddRelatedPropertyGeneratorsForManagedClusterAgentPoolProfileProperties(generators) + managedClusterAgentPoolProfilePropertiesGenerator = gen.Struct(reflect.TypeOf(ManagedClusterAgentPoolProfileProperties{}), generators) + + return managedClusterAgentPoolProfilePropertiesGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterAgentPoolProfileProperties is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterAgentPoolProfileProperties(gens map[string]gopter.Gen) { + gens["AvailabilityZones"] = gen.SliceOf(gen.AlphaString()) + gens["CapacityReservationGroupID"] = gen.PtrOf(gen.AlphaString()) + gens["Count"] = gen.PtrOf(gen.Int()) + gens["EnableAutoScaling"] = gen.PtrOf(gen.Bool()) + gens["EnableEncryptionAtHost"] = gen.PtrOf(gen.Bool()) + gens["EnableFIPS"] = gen.PtrOf(gen.Bool()) + gens["EnableNodePublicIP"] = gen.PtrOf(gen.Bool()) + gens["EnableUltraSSD"] = gen.PtrOf(gen.Bool()) + gens["GpuInstanceProfile"] = gen.PtrOf(gen.OneConstOf( + GPUInstanceProfile_MIG1G, + GPUInstanceProfile_MIG2G, + GPUInstanceProfile_MIG3G, + GPUInstanceProfile_MIG4G, + GPUInstanceProfile_MIG7G)) + gens["HostGroupID"] = gen.PtrOf(gen.AlphaString()) + gens["KubeletDiskType"] = gen.PtrOf(gen.OneConstOf(KubeletDiskType_OS, KubeletDiskType_Temporary)) + gens["MaxCount"] = gen.PtrOf(gen.Int()) + gens["MaxPods"] = gen.PtrOf(gen.Int()) + gens["MinCount"] = gen.PtrOf(gen.Int()) + gens["Mode"] = gen.PtrOf(gen.OneConstOf(AgentPoolMode_System, AgentPoolMode_User)) + gens["NodeLabels"] = gen.MapOf( + gen.AlphaString(), + gen.AlphaString()) + gens["NodePublicIPPrefixID"] = gen.PtrOf(gen.AlphaString()) + gens["NodeTaints"] = gen.SliceOf(gen.AlphaString()) + gens["OrchestratorVersion"] = gen.PtrOf(gen.AlphaString()) + gens["OsDiskSizeGB"] = gen.PtrOf(gen.Int()) + gens["OsDiskType"] = gen.PtrOf(gen.OneConstOf(OSDiskType_Ephemeral, OSDiskType_Managed)) + gens["OsSKU"] = gen.PtrOf(gen.OneConstOf( + OSSKU_AzureLinux, + OSSKU_CBLMariner, + OSSKU_Ubuntu, + OSSKU_Windows2019, + OSSKU_Windows2022)) + gens["OsType"] = gen.PtrOf(gen.OneConstOf(OSType_Linux, OSType_Windows)) + gens["PodSubnetID"] = gen.PtrOf(gen.AlphaString()) + gens["ProximityPlacementGroupID"] = gen.PtrOf(gen.AlphaString()) + gens["ScaleDownMode"] = gen.PtrOf(gen.OneConstOf(ScaleDownMode_Deallocate, ScaleDownMode_Delete)) + gens["ScaleSetEvictionPolicy"] = gen.PtrOf(gen.OneConstOf(ScaleSetEvictionPolicy_Deallocate, ScaleSetEvictionPolicy_Delete)) + gens["ScaleSetPriority"] = gen.PtrOf(gen.OneConstOf(ScaleSetPriority_Regular, ScaleSetPriority_Spot)) + gens["SpotMaxPrice"] = gen.PtrOf(gen.Float64()) + gens["Tags"] = gen.MapOf( + gen.AlphaString(), + gen.AlphaString()) + gens["Type"] = gen.PtrOf(gen.OneConstOf(AgentPoolType_AvailabilitySet, AgentPoolType_VirtualMachineScaleSets)) + gens["VmSize"] = gen.PtrOf(gen.AlphaString()) + gens["VnetSubnetID"] = gen.PtrOf(gen.AlphaString()) + gens["WorkloadRuntime"] = gen.PtrOf(gen.OneConstOf(WorkloadRuntime_OCIContainer, WorkloadRuntime_WasmWasi)) +} + +// AddRelatedPropertyGeneratorsForManagedClusterAgentPoolProfileProperties is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterAgentPoolProfileProperties(gens map[string]gopter.Gen) { + gens["CreationData"] = gen.PtrOf(CreationDataGenerator()) + gens["KubeletConfig"] = gen.PtrOf(KubeletConfigGenerator()) + gens["LinuxOSConfig"] = gen.PtrOf(LinuxOSConfigGenerator()) + gens["NetworkProfile"] = gen.PtrOf(AgentPoolNetworkProfileGenerator()) + gens["PowerState"] = gen.PtrOf(PowerStateGenerator()) + gens["SecurityProfile"] = gen.PtrOf(AgentPoolSecurityProfileGenerator()) + gens["UpgradeSettings"] = gen.PtrOf(AgentPoolUpgradeSettingsGenerator()) + gens["WindowsProfile"] = gen.PtrOf(AgentPoolWindowsProfileGenerator()) +} + +func Test_ManagedClustersAgentPool_Spec_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClustersAgentPool_Spec via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClustersAgentPool_Spec, ManagedClustersAgentPool_SpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClustersAgentPool_Spec runs a test to see if a specific instance of ManagedClustersAgentPool_Spec round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClustersAgentPool_Spec(subject ManagedClustersAgentPool_Spec) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClustersAgentPool_Spec + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClustersAgentPool_Spec instances for property testing - lazily instantiated by +// ManagedClustersAgentPool_SpecGenerator() +var managedClustersAgentPool_SpecGenerator gopter.Gen + +// ManagedClustersAgentPool_SpecGenerator returns a generator of ManagedClustersAgentPool_Spec instances for property testing. +// We first initialize managedClustersAgentPool_SpecGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func ManagedClustersAgentPool_SpecGenerator() gopter.Gen { + if managedClustersAgentPool_SpecGenerator != nil { + return managedClustersAgentPool_SpecGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClustersAgentPool_Spec(generators) + managedClustersAgentPool_SpecGenerator = gen.Struct(reflect.TypeOf(ManagedClustersAgentPool_Spec{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClustersAgentPool_Spec(generators) + AddRelatedPropertyGeneratorsForManagedClustersAgentPool_Spec(generators) + managedClustersAgentPool_SpecGenerator = gen.Struct(reflect.TypeOf(ManagedClustersAgentPool_Spec{}), generators) + + return managedClustersAgentPool_SpecGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClustersAgentPool_Spec is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClustersAgentPool_Spec(gens map[string]gopter.Gen) { + gens["Name"] = gen.AlphaString() +} + +// AddRelatedPropertyGeneratorsForManagedClustersAgentPool_Spec is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClustersAgentPool_Spec(gens map[string]gopter.Gen) { + gens["Properties"] = gen.PtrOf(ManagedClusterAgentPoolProfilePropertiesGenerator()) +} + +func Test_PortRange_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of PortRange via JSON returns original", + prop.ForAll(RunJSONSerializationTestForPortRange, PortRangeGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForPortRange runs a test to see if a specific instance of PortRange round trips to JSON and back losslessly +func RunJSONSerializationTestForPortRange(subject PortRange) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual PortRange + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of PortRange instances for property testing - lazily instantiated by PortRangeGenerator() +var portRangeGenerator gopter.Gen + +// PortRangeGenerator returns a generator of PortRange instances for property testing. +func PortRangeGenerator() gopter.Gen { + if portRangeGenerator != nil { + return portRangeGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForPortRange(generators) + portRangeGenerator = gen.Struct(reflect.TypeOf(PortRange{}), generators) + + return portRangeGenerator +} + +// AddIndependentPropertyGeneratorsForPortRange is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForPortRange(gens map[string]gopter.Gen) { + gens["PortEnd"] = gen.PtrOf(gen.Int()) + gens["PortStart"] = gen.PtrOf(gen.Int()) + gens["Protocol"] = gen.PtrOf(gen.OneConstOf(PortRange_Protocol_TCP, PortRange_Protocol_UDP)) +} + +func Test_PowerState_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of PowerState via JSON returns original", + prop.ForAll(RunJSONSerializationTestForPowerState, PowerStateGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForPowerState runs a test to see if a specific instance of PowerState round trips to JSON and back losslessly +func RunJSONSerializationTestForPowerState(subject PowerState) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual PowerState + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of PowerState instances for property testing - lazily instantiated by PowerStateGenerator() +var powerStateGenerator gopter.Gen + +// PowerStateGenerator returns a generator of PowerState instances for property testing. +func PowerStateGenerator() gopter.Gen { + if powerStateGenerator != nil { + return powerStateGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForPowerState(generators) + powerStateGenerator = gen.Struct(reflect.TypeOf(PowerState{}), generators) + + return powerStateGenerator +} + +// AddIndependentPropertyGeneratorsForPowerState is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForPowerState(gens map[string]gopter.Gen) { + gens["Code"] = gen.PtrOf(gen.OneConstOf(PowerState_Code_Running, PowerState_Code_Stopped)) +} + +func Test_SysctlConfig_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of SysctlConfig via JSON returns original", + prop.ForAll(RunJSONSerializationTestForSysctlConfig, SysctlConfigGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForSysctlConfig runs a test to see if a specific instance of SysctlConfig round trips to JSON and back losslessly +func RunJSONSerializationTestForSysctlConfig(subject SysctlConfig) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual SysctlConfig + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of SysctlConfig instances for property testing - lazily instantiated by SysctlConfigGenerator() +var sysctlConfigGenerator gopter.Gen + +// SysctlConfigGenerator returns a generator of SysctlConfig instances for property testing. +func SysctlConfigGenerator() gopter.Gen { + if sysctlConfigGenerator != nil { + return sysctlConfigGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForSysctlConfig(generators) + sysctlConfigGenerator = gen.Struct(reflect.TypeOf(SysctlConfig{}), generators) + + return sysctlConfigGenerator +} + +// AddIndependentPropertyGeneratorsForSysctlConfig is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForSysctlConfig(gens map[string]gopter.Gen) { + gens["FsAioMaxNr"] = gen.PtrOf(gen.Int()) + gens["FsFileMax"] = gen.PtrOf(gen.Int()) + gens["FsInotifyMaxUserWatches"] = gen.PtrOf(gen.Int()) + gens["FsNrOpen"] = gen.PtrOf(gen.Int()) + gens["KernelThreadsMax"] = gen.PtrOf(gen.Int()) + gens["NetCoreNetdevMaxBacklog"] = gen.PtrOf(gen.Int()) + gens["NetCoreOptmemMax"] = gen.PtrOf(gen.Int()) + gens["NetCoreRmemDefault"] = gen.PtrOf(gen.Int()) + gens["NetCoreRmemMax"] = gen.PtrOf(gen.Int()) + gens["NetCoreSomaxconn"] = gen.PtrOf(gen.Int()) + gens["NetCoreWmemDefault"] = gen.PtrOf(gen.Int()) + gens["NetCoreWmemMax"] = gen.PtrOf(gen.Int()) + gens["NetIpv4IpLocalPortRange"] = gen.PtrOf(gen.AlphaString()) + gens["NetIpv4NeighDefaultGcThresh1"] = gen.PtrOf(gen.Int()) + gens["NetIpv4NeighDefaultGcThresh2"] = gen.PtrOf(gen.Int()) + gens["NetIpv4NeighDefaultGcThresh3"] = gen.PtrOf(gen.Int()) + gens["NetIpv4TcpFinTimeout"] = gen.PtrOf(gen.Int()) + gens["NetIpv4TcpKeepaliveProbes"] = gen.PtrOf(gen.Int()) + gens["NetIpv4TcpKeepaliveTime"] = gen.PtrOf(gen.Int()) + gens["NetIpv4TcpMaxSynBacklog"] = gen.PtrOf(gen.Int()) + gens["NetIpv4TcpMaxTwBuckets"] = gen.PtrOf(gen.Int()) + gens["NetIpv4TcpTwReuse"] = gen.PtrOf(gen.Bool()) + gens["NetIpv4TcpkeepaliveIntvl"] = gen.PtrOf(gen.Int()) + gens["NetNetfilterNfConntrackBuckets"] = gen.PtrOf(gen.Int()) + gens["NetNetfilterNfConntrackMax"] = gen.PtrOf(gen.Int()) + gens["VmMaxMapCount"] = gen.PtrOf(gen.Int()) + gens["VmSwappiness"] = gen.PtrOf(gen.Int()) + gens["VmVfsCachePressure"] = gen.PtrOf(gen.Int()) +} diff --git a/v2/api/containerservice/v1api20240901/arm/managed_clusters_agent_pool_status_types_gen.go b/v2/api/containerservice/v1api20240901/arm/managed_clusters_agent_pool_status_types_gen.go new file mode 100644 index 00000000000..ce6933ab517 --- /dev/null +++ b/v2/api/containerservice/v1api20240901/arm/managed_clusters_agent_pool_status_types_gen.go @@ -0,0 +1,607 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package arm + +type ManagedClustersAgentPool_STATUS struct { + // Id: Resource ID. + Id *string `json:"id,omitempty"` + + // Name: The name of the resource that is unique within a resource group. This name can be used to access the resource. + Name *string `json:"name,omitempty"` + + // Properties: Properties of an agent pool. + Properties *ManagedClusterAgentPoolProfileProperties_STATUS `json:"properties,omitempty"` + + // Type: Resource type + Type *string `json:"type,omitempty"` +} + +// Properties for the container service agent pool profile. +type ManagedClusterAgentPoolProfileProperties_STATUS struct { + // AvailabilityZones: The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType + // property is 'VirtualMachineScaleSets'. + AvailabilityZones []string `json:"availabilityZones"` + + // CapacityReservationGroupID: AKS will associate the specified agent pool with the Capacity Reservation Group. + CapacityReservationGroupID *string `json:"capacityReservationGroupID,omitempty"` + + // Count: Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) + // for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1. + Count *int `json:"count,omitempty"` + + // CreationData: CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using + // a snapshot. + CreationData *CreationData_STATUS `json:"creationData,omitempty"` + + // CurrentOrchestratorVersion: If orchestratorVersion is a fully specified version , this field will be + // exactly equal to it. If orchestratorVersion is , this field will contain the full + // version being used. + CurrentOrchestratorVersion *string `json:"currentOrchestratorVersion,omitempty"` + + // ETag: Unique read-only string used to implement optimistic concurrency. The eTag value will change when the resource is + // updated. Specify an if-match or if-none-match header with the eTag value for a subsequent request to enable optimistic + // concurrency per the normal etag convention. + ETag *string `json:"eTag,omitempty"` + + // EnableAutoScaling: Whether to enable auto-scaler + EnableAutoScaling *bool `json:"enableAutoScaling,omitempty"` + + // EnableEncryptionAtHost: This is only supported on certain VM sizes and in certain Azure regions. For more information, + // see: https://docs.microsoft.com/azure/aks/enable-host-encryption + EnableEncryptionAtHost *bool `json:"enableEncryptionAtHost,omitempty"` + + // EnableFIPS: See [Add a FIPS-enabled node + // pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more + // details. + EnableFIPS *bool `json:"enableFIPS,omitempty"` + + // EnableNodePublicIP: Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. + // A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine + // to minimize hops. For more information see [assigning a public IP per + // node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The + // default is false. + EnableNodePublicIP *bool `json:"enableNodePublicIP,omitempty"` + + // EnableUltraSSD: Whether to enable UltraSSD + EnableUltraSSD *bool `json:"enableUltraSSD,omitempty"` + + // GpuInstanceProfile: GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU. + GpuInstanceProfile *GPUInstanceProfile_STATUS `json:"gpuInstanceProfile,omitempty"` + + // HostGroupID: This is of the form: + // /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. + // For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). + HostGroupID *string `json:"hostGroupID,omitempty"` + + // KubeletConfig: The Kubelet configuration on the agent pool nodes. + KubeletConfig *KubeletConfig_STATUS `json:"kubeletConfig,omitempty"` + + // KubeletDiskType: Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral + // storage. + KubeletDiskType *KubeletDiskType_STATUS `json:"kubeletDiskType,omitempty"` + + // LinuxOSConfig: The OS configuration of Linux agent nodes. + LinuxOSConfig *LinuxOSConfig_STATUS `json:"linuxOSConfig,omitempty"` + + // MaxCount: The maximum number of nodes for auto-scaling + MaxCount *int `json:"maxCount,omitempty"` + + // MaxPods: The maximum number of pods that can run on a node. + MaxPods *int `json:"maxPods,omitempty"` + + // MinCount: The minimum number of nodes for auto-scaling + MinCount *int `json:"minCount,omitempty"` + + // Mode: A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool + // restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools + Mode *AgentPoolMode_STATUS `json:"mode,omitempty"` + + // NetworkProfile: Network-related settings of an agent pool. + NetworkProfile *AgentPoolNetworkProfile_STATUS `json:"networkProfile,omitempty"` + + // NodeImageVersion: The version of node image + NodeImageVersion *string `json:"nodeImageVersion,omitempty"` + + // NodeLabels: The node labels to be persisted across all nodes in agent pool. + NodeLabels map[string]string `json:"nodeLabels"` + + // NodePublicIPPrefixID: This is of the form: + // /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} + NodePublicIPPrefixID *string `json:"nodePublicIPPrefixID,omitempty"` + + // NodeTaints: The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule. + NodeTaints []string `json:"nodeTaints"` + + // OrchestratorVersion: Both patch version (e.g. 1.20.13) and (e.g. 1.20) are supported. + // When is specified, the latest supported GA patch version is chosen automatically. Updating the cluster + // with the same once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer + // patch version is available. As a best practice, you should upgrade all node pools in an AKS cluster to the same + // Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor + // version must be within two minor versions of the control plane version. The node pool version cannot be greater than the + // control plane version. For more information see [upgrading a node + // pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). + OrchestratorVersion *string `json:"orchestratorVersion,omitempty"` + OsDiskSizeGB *int `json:"osDiskSizeGB,omitempty"` + + // OsDiskType: The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested + // OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral + // OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). + OsDiskType *OSDiskType_STATUS `json:"osDiskType,omitempty"` + + // OsSKU: Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 + // when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows. + OsSKU *OSSKU_STATUS `json:"osSKU,omitempty"` + + // OsType: The operating system type. The default is Linux. + OsType *OSType_STATUS `json:"osType,omitempty"` + + // PodSubnetID: If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). This is + // of the form: + // /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + PodSubnetID *string `json:"podSubnetID,omitempty"` + + // PowerState: When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this + // field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only + // be stopped if it is Running and provisioning state is Succeeded + PowerState *PowerState_STATUS `json:"powerState,omitempty"` + + // ProvisioningState: The current deployment or provisioning state. + ProvisioningState *string `json:"provisioningState,omitempty"` + + // ProximityPlacementGroupID: The ID for Proximity Placement Group. + ProximityPlacementGroupID *string `json:"proximityPlacementGroupID,omitempty"` + + // ScaleDownMode: This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete. + ScaleDownMode *ScaleDownMode_STATUS `json:"scaleDownMode,omitempty"` + + // ScaleSetEvictionPolicy: This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is + // 'Delete'. + ScaleSetEvictionPolicy *ScaleSetEvictionPolicy_STATUS `json:"scaleSetEvictionPolicy,omitempty"` + + // ScaleSetPriority: The Virtual Machine Scale Set priority. If not specified, the default is 'Regular'. + ScaleSetPriority *ScaleSetPriority_STATUS `json:"scaleSetPriority,omitempty"` + + // SecurityProfile: The security settings of an agent pool. + SecurityProfile *AgentPoolSecurityProfile_STATUS `json:"securityProfile,omitempty"` + + // SpotMaxPrice: Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any + // on-demand price. For more details on spot pricing, see [spot VMs + // pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing) + SpotMaxPrice *float64 `json:"spotMaxPrice,omitempty"` + + // Tags: The tags to be persisted on the agent pool virtual machine scale set. + Tags map[string]string `json:"tags"` + + // Type: The type of Agent Pool. + Type *AgentPoolType_STATUS `json:"type,omitempty"` + + // UpgradeSettings: Settings for upgrading the agentpool + UpgradeSettings *AgentPoolUpgradeSettings_STATUS `json:"upgradeSettings,omitempty"` + + // VmSize: VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods + // might fail to run correctly. For more details on restricted VM sizes, see: + // https://docs.microsoft.com/azure/aks/quotas-skus-regions + VmSize *string `json:"vmSize,omitempty"` + + // VnetSubnetID: If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is specified, + // this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: + // /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + VnetSubnetID *string `json:"vnetSubnetID,omitempty"` + + // WindowsProfile: The Windows agent pool's specific profile. + WindowsProfile *AgentPoolWindowsProfile_STATUS `json:"windowsProfile,omitempty"` + + // WorkloadRuntime: Determines the type of workload a node can run. + WorkloadRuntime *WorkloadRuntime_STATUS `json:"workloadRuntime,omitempty"` +} + +// A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool restrictions +// and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools +type AgentPoolMode_STATUS string + +const ( + AgentPoolMode_STATUS_System = AgentPoolMode_STATUS("System") + AgentPoolMode_STATUS_User = AgentPoolMode_STATUS("User") +) + +// Mapping from string to AgentPoolMode_STATUS +var agentPoolMode_STATUS_Values = map[string]AgentPoolMode_STATUS{ + "system": AgentPoolMode_STATUS_System, + "user": AgentPoolMode_STATUS_User, +} + +// Network settings of an agent pool. +type AgentPoolNetworkProfile_STATUS struct { + // AllowedHostPorts: The port ranges that are allowed to access. The specified ranges are allowed to overlap. + AllowedHostPorts []PortRange_STATUS `json:"allowedHostPorts"` + + // ApplicationSecurityGroups: The IDs of the application security groups which agent pool will associate when created. + ApplicationSecurityGroups []string `json:"applicationSecurityGroups"` + + // NodePublicIPTags: IPTags of instance-level public IPs. + NodePublicIPTags []IPTag_STATUS `json:"nodePublicIPTags"` +} + +// The security settings of an agent pool. +type AgentPoolSecurityProfile_STATUS struct { + // EnableSecureBoot: Secure Boot is a feature of Trusted Launch which ensures that only signed operating systems and + // drivers can boot. For more details, see aka.ms/aks/trustedlaunch. If not specified, the default is false. + EnableSecureBoot *bool `json:"enableSecureBoot,omitempty"` + + // EnableVTPM: vTPM is a Trusted Launch feature for configuring a dedicated secure vault for keys and measurements held + // locally on the node. For more details, see aka.ms/aks/trustedlaunch. If not specified, the default is false. + EnableVTPM *bool `json:"enableVTPM,omitempty"` +} + +// The type of Agent Pool. +type AgentPoolType_STATUS string + +const ( + AgentPoolType_STATUS_AvailabilitySet = AgentPoolType_STATUS("AvailabilitySet") + AgentPoolType_STATUS_VirtualMachineScaleSets = AgentPoolType_STATUS("VirtualMachineScaleSets") +) + +// Mapping from string to AgentPoolType_STATUS +var agentPoolType_STATUS_Values = map[string]AgentPoolType_STATUS{ + "availabilityset": AgentPoolType_STATUS_AvailabilitySet, + "virtualmachinescalesets": AgentPoolType_STATUS_VirtualMachineScaleSets, +} + +// Settings for upgrading an agentpool +type AgentPoolUpgradeSettings_STATUS struct { + // DrainTimeoutInMinutes: The amount of time (in minutes) to wait on eviction of pods and graceful termination per node. + // This eviction wait time honors waiting on pod disruption budgets. If this time is exceeded, the upgrade fails. If not + // specified, the default is 30 minutes. + DrainTimeoutInMinutes *int `json:"drainTimeoutInMinutes,omitempty"` + + // MaxSurge: This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it + // is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded + // up. If not specified, the default is 1. For more information, including best practices, see: + // https://docs.microsoft.com/azure/aks/upgrade-cluster#customize-node-surge-upgrade + MaxSurge *string `json:"maxSurge,omitempty"` + + // NodeSoakDurationInMinutes: The amount of time (in minutes) to wait after draining a node and before reimaging it and + // moving on to next node. If not specified, the default is 0 minutes. + NodeSoakDurationInMinutes *int `json:"nodeSoakDurationInMinutes,omitempty"` +} + +// The Windows agent pool's specific profile. +type AgentPoolWindowsProfile_STATUS struct { + // DisableOutboundNat: The default value is false. Outbound NAT can only be disabled if the cluster outboundType is NAT + // Gateway and the Windows agent pool does not have node public IP enabled. + DisableOutboundNat *bool `json:"disableOutboundNat,omitempty"` +} + +// Data used when creating a target resource from a source resource. +type CreationData_STATUS struct { + // SourceResourceId: This is the ARM ID of the source object to be used to create the target object. + SourceResourceId *string `json:"sourceResourceId,omitempty"` +} + +// GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU. +type GPUInstanceProfile_STATUS string + +const ( + GPUInstanceProfile_STATUS_MIG1G = GPUInstanceProfile_STATUS("MIG1g") + GPUInstanceProfile_STATUS_MIG2G = GPUInstanceProfile_STATUS("MIG2g") + GPUInstanceProfile_STATUS_MIG3G = GPUInstanceProfile_STATUS("MIG3g") + GPUInstanceProfile_STATUS_MIG4G = GPUInstanceProfile_STATUS("MIG4g") + GPUInstanceProfile_STATUS_MIG7G = GPUInstanceProfile_STATUS("MIG7g") +) + +// Mapping from string to GPUInstanceProfile_STATUS +var gPUInstanceProfile_STATUS_Values = map[string]GPUInstanceProfile_STATUS{ + "mig1g": GPUInstanceProfile_STATUS_MIG1G, + "mig2g": GPUInstanceProfile_STATUS_MIG2G, + "mig3g": GPUInstanceProfile_STATUS_MIG3G, + "mig4g": GPUInstanceProfile_STATUS_MIG4G, + "mig7g": GPUInstanceProfile_STATUS_MIG7G, +} + +// See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. +type KubeletConfig_STATUS struct { + // AllowedUnsafeSysctls: Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in `*`). + AllowedUnsafeSysctls []string `json:"allowedUnsafeSysctls"` + + // ContainerLogMaxFiles: The maximum number of container log files that can be present for a container. The number must be + // ≥ 2. + ContainerLogMaxFiles *int `json:"containerLogMaxFiles,omitempty"` + + // ContainerLogMaxSizeMB: The maximum size (e.g. 10Mi) of container log file before it is rotated. + ContainerLogMaxSizeMB *int `json:"containerLogMaxSizeMB,omitempty"` + + // CpuCfsQuota: The default is true. + CpuCfsQuota *bool `json:"cpuCfsQuota,omitempty"` + + // CpuCfsQuotaPeriod: The default is '100ms.' Valid values are a sequence of decimal numbers with an optional fraction and + // a unit suffix. For example: '300ms', '2h45m'. Supported units are 'ns', 'us', 'ms', 's', 'm', and 'h'. + CpuCfsQuotaPeriod *string `json:"cpuCfsQuotaPeriod,omitempty"` + + // CpuManagerPolicy: The default is 'none'. See [Kubernetes CPU management + // policies](https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/#cpu-management-policies) for more + // information. Allowed values are 'none' and 'static'. + CpuManagerPolicy *string `json:"cpuManagerPolicy,omitempty"` + + // FailSwapOn: If set to true it will make the Kubelet fail to start if swap is enabled on the node. + FailSwapOn *bool `json:"failSwapOn,omitempty"` + + // ImageGcHighThreshold: To disable image garbage collection, set to 100. The default is 85% + ImageGcHighThreshold *int `json:"imageGcHighThreshold,omitempty"` + + // ImageGcLowThreshold: This cannot be set higher than imageGcHighThreshold. The default is 80% + ImageGcLowThreshold *int `json:"imageGcLowThreshold,omitempty"` + + // PodMaxPids: The maximum number of processes per pod. + PodMaxPids *int `json:"podMaxPids,omitempty"` + + // TopologyManagerPolicy: For more information see [Kubernetes Topology + // Manager](https://kubernetes.io/docs/tasks/administer-cluster/topology-manager). The default is 'none'. Allowed values + // are 'none', 'best-effort', 'restricted', and 'single-numa-node'. + TopologyManagerPolicy *string `json:"topologyManagerPolicy,omitempty"` +} + +// Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage. +type KubeletDiskType_STATUS string + +const ( + KubeletDiskType_STATUS_OS = KubeletDiskType_STATUS("OS") + KubeletDiskType_STATUS_Temporary = KubeletDiskType_STATUS("Temporary") +) + +// Mapping from string to KubeletDiskType_STATUS +var kubeletDiskType_STATUS_Values = map[string]KubeletDiskType_STATUS{ + "os": KubeletDiskType_STATUS_OS, + "temporary": KubeletDiskType_STATUS_Temporary, +} + +// See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. +type LinuxOSConfig_STATUS struct { + // SwapFileSizeMB: The size in MB of a swap file that will be created on each node. + SwapFileSizeMB *int `json:"swapFileSizeMB,omitempty"` + + // Sysctls: Sysctl settings for Linux agent nodes. + Sysctls *SysctlConfig_STATUS `json:"sysctls,omitempty"` + + // TransparentHugePageDefrag: Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is + // 'madvise'. For more information see [Transparent + // Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). + TransparentHugePageDefrag *string `json:"transparentHugePageDefrag,omitempty"` + + // TransparentHugePageEnabled: Valid values are 'always', 'madvise', and 'never'. The default is 'always'. For more + // information see [Transparent + // Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). + TransparentHugePageEnabled *string `json:"transparentHugePageEnabled,omitempty"` +} + +// The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, +// defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral +// OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). +type OSDiskType_STATUS string + +const ( + OSDiskType_STATUS_Ephemeral = OSDiskType_STATUS("Ephemeral") + OSDiskType_STATUS_Managed = OSDiskType_STATUS("Managed") +) + +// Mapping from string to OSDiskType_STATUS +var oSDiskType_STATUS_Values = map[string]OSDiskType_STATUS{ + "ephemeral": OSDiskType_STATUS_Ephemeral, + "managed": OSDiskType_STATUS_Managed, +} + +// Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 when +// Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows. +type OSSKU_STATUS string + +const ( + OSSKU_STATUS_AzureLinux = OSSKU_STATUS("AzureLinux") + OSSKU_STATUS_CBLMariner = OSSKU_STATUS("CBLMariner") + OSSKU_STATUS_Ubuntu = OSSKU_STATUS("Ubuntu") + OSSKU_STATUS_Windows2019 = OSSKU_STATUS("Windows2019") + OSSKU_STATUS_Windows2022 = OSSKU_STATUS("Windows2022") +) + +// Mapping from string to OSSKU_STATUS +var oSSKU_STATUS_Values = map[string]OSSKU_STATUS{ + "azurelinux": OSSKU_STATUS_AzureLinux, + "cblmariner": OSSKU_STATUS_CBLMariner, + "ubuntu": OSSKU_STATUS_Ubuntu, + "windows2019": OSSKU_STATUS_Windows2019, + "windows2022": OSSKU_STATUS_Windows2022, +} + +// The operating system type. The default is Linux. +type OSType_STATUS string + +const ( + OSType_STATUS_Linux = OSType_STATUS("Linux") + OSType_STATUS_Windows = OSType_STATUS("Windows") +) + +// Mapping from string to OSType_STATUS +var oSType_STATUS_Values = map[string]OSType_STATUS{ + "linux": OSType_STATUS_Linux, + "windows": OSType_STATUS_Windows, +} + +// Describes how VMs are added to or removed from Agent Pools. See [billing +// states](https://docs.microsoft.com/azure/virtual-machines/states-billing). +type ScaleDownMode_STATUS string + +const ( + ScaleDownMode_STATUS_Deallocate = ScaleDownMode_STATUS("Deallocate") + ScaleDownMode_STATUS_Delete = ScaleDownMode_STATUS("Delete") +) + +// Mapping from string to ScaleDownMode_STATUS +var scaleDownMode_STATUS_Values = map[string]ScaleDownMode_STATUS{ + "deallocate": ScaleDownMode_STATUS_Deallocate, + "delete": ScaleDownMode_STATUS_Delete, +} + +// The eviction policy specifies what to do with the VM when it is evicted. The default is Delete. For more information +// about eviction see [spot VMs](https://docs.microsoft.com/azure/virtual-machines/spot-vms) +type ScaleSetEvictionPolicy_STATUS string + +const ( + ScaleSetEvictionPolicy_STATUS_Deallocate = ScaleSetEvictionPolicy_STATUS("Deallocate") + ScaleSetEvictionPolicy_STATUS_Delete = ScaleSetEvictionPolicy_STATUS("Delete") +) + +// Mapping from string to ScaleSetEvictionPolicy_STATUS +var scaleSetEvictionPolicy_STATUS_Values = map[string]ScaleSetEvictionPolicy_STATUS{ + "deallocate": ScaleSetEvictionPolicy_STATUS_Deallocate, + "delete": ScaleSetEvictionPolicy_STATUS_Delete, +} + +// The Virtual Machine Scale Set priority. +type ScaleSetPriority_STATUS string + +const ( + ScaleSetPriority_STATUS_Regular = ScaleSetPriority_STATUS("Regular") + ScaleSetPriority_STATUS_Spot = ScaleSetPriority_STATUS("Spot") +) + +// Mapping from string to ScaleSetPriority_STATUS +var scaleSetPriority_STATUS_Values = map[string]ScaleSetPriority_STATUS{ + "regular": ScaleSetPriority_STATUS_Regular, + "spot": ScaleSetPriority_STATUS_Spot, +} + +// Determines the type of workload a node can run. +type WorkloadRuntime_STATUS string + +const ( + WorkloadRuntime_STATUS_OCIContainer = WorkloadRuntime_STATUS("OCIContainer") + WorkloadRuntime_STATUS_WasmWasi = WorkloadRuntime_STATUS("WasmWasi") +) + +// Mapping from string to WorkloadRuntime_STATUS +var workloadRuntime_STATUS_Values = map[string]WorkloadRuntime_STATUS{ + "ocicontainer": WorkloadRuntime_STATUS_OCIContainer, + "wasmwasi": WorkloadRuntime_STATUS_WasmWasi, +} + +// Contains the IPTag associated with the object. +type IPTag_STATUS struct { + // IpTagType: The IP tag type. Example: RoutingPreference. + IpTagType *string `json:"ipTagType,omitempty"` + + // Tag: The value of the IP tag associated with the public IP. Example: Internet. + Tag *string `json:"tag,omitempty"` +} + +// The port range. +type PortRange_STATUS struct { + // PortEnd: The maximum port that is included in the range. It should be ranged from 1 to 65535, and be greater than or + // equal to portStart. + PortEnd *int `json:"portEnd,omitempty"` + + // PortStart: The minimum port that is included in the range. It should be ranged from 1 to 65535, and be less than or + // equal to portEnd. + PortStart *int `json:"portStart,omitempty"` + + // Protocol: The network protocol of the port. + Protocol *PortRange_Protocol_STATUS `json:"protocol,omitempty"` +} + +// Sysctl settings for Linux agent nodes. +type SysctlConfig_STATUS struct { + // FsAioMaxNr: Sysctl setting fs.aio-max-nr. + FsAioMaxNr *int `json:"fsAioMaxNr,omitempty"` + + // FsFileMax: Sysctl setting fs.file-max. + FsFileMax *int `json:"fsFileMax,omitempty"` + + // FsInotifyMaxUserWatches: Sysctl setting fs.inotify.max_user_watches. + FsInotifyMaxUserWatches *int `json:"fsInotifyMaxUserWatches,omitempty"` + + // FsNrOpen: Sysctl setting fs.nr_open. + FsNrOpen *int `json:"fsNrOpen,omitempty"` + + // KernelThreadsMax: Sysctl setting kernel.threads-max. + KernelThreadsMax *int `json:"kernelThreadsMax,omitempty"` + + // NetCoreNetdevMaxBacklog: Sysctl setting net.core.netdev_max_backlog. + NetCoreNetdevMaxBacklog *int `json:"netCoreNetdevMaxBacklog,omitempty"` + + // NetCoreOptmemMax: Sysctl setting net.core.optmem_max. + NetCoreOptmemMax *int `json:"netCoreOptmemMax,omitempty"` + + // NetCoreRmemDefault: Sysctl setting net.core.rmem_default. + NetCoreRmemDefault *int `json:"netCoreRmemDefault,omitempty"` + + // NetCoreRmemMax: Sysctl setting net.core.rmem_max. + NetCoreRmemMax *int `json:"netCoreRmemMax,omitempty"` + + // NetCoreSomaxconn: Sysctl setting net.core.somaxconn. + NetCoreSomaxconn *int `json:"netCoreSomaxconn,omitempty"` + + // NetCoreWmemDefault: Sysctl setting net.core.wmem_default. + NetCoreWmemDefault *int `json:"netCoreWmemDefault,omitempty"` + + // NetCoreWmemMax: Sysctl setting net.core.wmem_max. + NetCoreWmemMax *int `json:"netCoreWmemMax,omitempty"` + + // NetIpv4IpLocalPortRange: Sysctl setting net.ipv4.ip_local_port_range. + NetIpv4IpLocalPortRange *string `json:"netIpv4IpLocalPortRange,omitempty"` + + // NetIpv4NeighDefaultGcThresh1: Sysctl setting net.ipv4.neigh.default.gc_thresh1. + NetIpv4NeighDefaultGcThresh1 *int `json:"netIpv4NeighDefaultGcThresh1,omitempty"` + + // NetIpv4NeighDefaultGcThresh2: Sysctl setting net.ipv4.neigh.default.gc_thresh2. + NetIpv4NeighDefaultGcThresh2 *int `json:"netIpv4NeighDefaultGcThresh2,omitempty"` + + // NetIpv4NeighDefaultGcThresh3: Sysctl setting net.ipv4.neigh.default.gc_thresh3. + NetIpv4NeighDefaultGcThresh3 *int `json:"netIpv4NeighDefaultGcThresh3,omitempty"` + + // NetIpv4TcpFinTimeout: Sysctl setting net.ipv4.tcp_fin_timeout. + NetIpv4TcpFinTimeout *int `json:"netIpv4TcpFinTimeout,omitempty"` + + // NetIpv4TcpKeepaliveProbes: Sysctl setting net.ipv4.tcp_keepalive_probes. + NetIpv4TcpKeepaliveProbes *int `json:"netIpv4TcpKeepaliveProbes,omitempty"` + + // NetIpv4TcpKeepaliveTime: Sysctl setting net.ipv4.tcp_keepalive_time. + NetIpv4TcpKeepaliveTime *int `json:"netIpv4TcpKeepaliveTime,omitempty"` + + // NetIpv4TcpMaxSynBacklog: Sysctl setting net.ipv4.tcp_max_syn_backlog. + NetIpv4TcpMaxSynBacklog *int `json:"netIpv4TcpMaxSynBacklog,omitempty"` + + // NetIpv4TcpMaxTwBuckets: Sysctl setting net.ipv4.tcp_max_tw_buckets. + NetIpv4TcpMaxTwBuckets *int `json:"netIpv4TcpMaxTwBuckets,omitempty"` + + // NetIpv4TcpTwReuse: Sysctl setting net.ipv4.tcp_tw_reuse. + NetIpv4TcpTwReuse *bool `json:"netIpv4TcpTwReuse,omitempty"` + + // NetIpv4TcpkeepaliveIntvl: Sysctl setting net.ipv4.tcp_keepalive_intvl. + NetIpv4TcpkeepaliveIntvl *int `json:"netIpv4TcpkeepaliveIntvl,omitempty"` + + // NetNetfilterNfConntrackBuckets: Sysctl setting net.netfilter.nf_conntrack_buckets. + NetNetfilterNfConntrackBuckets *int `json:"netNetfilterNfConntrackBuckets,omitempty"` + + // NetNetfilterNfConntrackMax: Sysctl setting net.netfilter.nf_conntrack_max. + NetNetfilterNfConntrackMax *int `json:"netNetfilterNfConntrackMax,omitempty"` + + // VmMaxMapCount: Sysctl setting vm.max_map_count. + VmMaxMapCount *int `json:"vmMaxMapCount,omitempty"` + + // VmSwappiness: Sysctl setting vm.swappiness. + VmSwappiness *int `json:"vmSwappiness,omitempty"` + + // VmVfsCachePressure: Sysctl setting vm.vfs_cache_pressure. + VmVfsCachePressure *int `json:"vmVfsCachePressure,omitempty"` +} + +type PortRange_Protocol_STATUS string + +const ( + PortRange_Protocol_STATUS_TCP = PortRange_Protocol_STATUS("TCP") + PortRange_Protocol_STATUS_UDP = PortRange_Protocol_STATUS("UDP") +) + +// Mapping from string to PortRange_Protocol_STATUS +var portRange_Protocol_STATUS_Values = map[string]PortRange_Protocol_STATUS{ + "tcp": PortRange_Protocol_STATUS_TCP, + "udp": PortRange_Protocol_STATUS_UDP, +} diff --git a/v2/api/containerservice/v1api20240901/arm/managed_clusters_agent_pool_status_types_gen_test.go b/v2/api/containerservice/v1api20240901/arm/managed_clusters_agent_pool_status_types_gen_test.go new file mode 100644 index 00000000000..05e65fd29e0 --- /dev/null +++ b/v2/api/containerservice/v1api20240901/arm/managed_clusters_agent_pool_status_types_gen_test.go @@ -0,0 +1,910 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package arm + +import ( + "encoding/json" + "github.com/google/go-cmp/cmp" + "github.com/google/go-cmp/cmp/cmpopts" + "github.com/kr/pretty" + "github.com/kylelemons/godebug/diff" + "github.com/leanovate/gopter" + "github.com/leanovate/gopter/gen" + "github.com/leanovate/gopter/prop" + "os" + "reflect" + "testing" +) + +func Test_AgentPoolNetworkProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of AgentPoolNetworkProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAgentPoolNetworkProfile_STATUS, AgentPoolNetworkProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAgentPoolNetworkProfile_STATUS runs a test to see if a specific instance of AgentPoolNetworkProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForAgentPoolNetworkProfile_STATUS(subject AgentPoolNetworkProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AgentPoolNetworkProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of AgentPoolNetworkProfile_STATUS instances for property testing - lazily instantiated by +// AgentPoolNetworkProfile_STATUSGenerator() +var agentPoolNetworkProfile_STATUSGenerator gopter.Gen + +// AgentPoolNetworkProfile_STATUSGenerator returns a generator of AgentPoolNetworkProfile_STATUS instances for property testing. +// We first initialize agentPoolNetworkProfile_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func AgentPoolNetworkProfile_STATUSGenerator() gopter.Gen { + if agentPoolNetworkProfile_STATUSGenerator != nil { + return agentPoolNetworkProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAgentPoolNetworkProfile_STATUS(generators) + agentPoolNetworkProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(AgentPoolNetworkProfile_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAgentPoolNetworkProfile_STATUS(generators) + AddRelatedPropertyGeneratorsForAgentPoolNetworkProfile_STATUS(generators) + agentPoolNetworkProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(AgentPoolNetworkProfile_STATUS{}), generators) + + return agentPoolNetworkProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForAgentPoolNetworkProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAgentPoolNetworkProfile_STATUS(gens map[string]gopter.Gen) { + gens["ApplicationSecurityGroups"] = gen.SliceOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForAgentPoolNetworkProfile_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForAgentPoolNetworkProfile_STATUS(gens map[string]gopter.Gen) { + gens["AllowedHostPorts"] = gen.SliceOf(PortRange_STATUSGenerator()) + gens["NodePublicIPTags"] = gen.SliceOf(IPTag_STATUSGenerator()) +} + +func Test_AgentPoolSecurityProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of AgentPoolSecurityProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAgentPoolSecurityProfile_STATUS, AgentPoolSecurityProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAgentPoolSecurityProfile_STATUS runs a test to see if a specific instance of AgentPoolSecurityProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForAgentPoolSecurityProfile_STATUS(subject AgentPoolSecurityProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AgentPoolSecurityProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of AgentPoolSecurityProfile_STATUS instances for property testing - lazily instantiated by +// AgentPoolSecurityProfile_STATUSGenerator() +var agentPoolSecurityProfile_STATUSGenerator gopter.Gen + +// AgentPoolSecurityProfile_STATUSGenerator returns a generator of AgentPoolSecurityProfile_STATUS instances for property testing. +func AgentPoolSecurityProfile_STATUSGenerator() gopter.Gen { + if agentPoolSecurityProfile_STATUSGenerator != nil { + return agentPoolSecurityProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAgentPoolSecurityProfile_STATUS(generators) + agentPoolSecurityProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(AgentPoolSecurityProfile_STATUS{}), generators) + + return agentPoolSecurityProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForAgentPoolSecurityProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAgentPoolSecurityProfile_STATUS(gens map[string]gopter.Gen) { + gens["EnableSecureBoot"] = gen.PtrOf(gen.Bool()) + gens["EnableVTPM"] = gen.PtrOf(gen.Bool()) +} + +func Test_AgentPoolUpgradeSettings_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of AgentPoolUpgradeSettings_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAgentPoolUpgradeSettings_STATUS, AgentPoolUpgradeSettings_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAgentPoolUpgradeSettings_STATUS runs a test to see if a specific instance of AgentPoolUpgradeSettings_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForAgentPoolUpgradeSettings_STATUS(subject AgentPoolUpgradeSettings_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AgentPoolUpgradeSettings_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of AgentPoolUpgradeSettings_STATUS instances for property testing - lazily instantiated by +// AgentPoolUpgradeSettings_STATUSGenerator() +var agentPoolUpgradeSettings_STATUSGenerator gopter.Gen + +// AgentPoolUpgradeSettings_STATUSGenerator returns a generator of AgentPoolUpgradeSettings_STATUS instances for property testing. +func AgentPoolUpgradeSettings_STATUSGenerator() gopter.Gen { + if agentPoolUpgradeSettings_STATUSGenerator != nil { + return agentPoolUpgradeSettings_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAgentPoolUpgradeSettings_STATUS(generators) + agentPoolUpgradeSettings_STATUSGenerator = gen.Struct(reflect.TypeOf(AgentPoolUpgradeSettings_STATUS{}), generators) + + return agentPoolUpgradeSettings_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForAgentPoolUpgradeSettings_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAgentPoolUpgradeSettings_STATUS(gens map[string]gopter.Gen) { + gens["DrainTimeoutInMinutes"] = gen.PtrOf(gen.Int()) + gens["MaxSurge"] = gen.PtrOf(gen.AlphaString()) + gens["NodeSoakDurationInMinutes"] = gen.PtrOf(gen.Int()) +} + +func Test_AgentPoolWindowsProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of AgentPoolWindowsProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAgentPoolWindowsProfile_STATUS, AgentPoolWindowsProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAgentPoolWindowsProfile_STATUS runs a test to see if a specific instance of AgentPoolWindowsProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForAgentPoolWindowsProfile_STATUS(subject AgentPoolWindowsProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AgentPoolWindowsProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of AgentPoolWindowsProfile_STATUS instances for property testing - lazily instantiated by +// AgentPoolWindowsProfile_STATUSGenerator() +var agentPoolWindowsProfile_STATUSGenerator gopter.Gen + +// AgentPoolWindowsProfile_STATUSGenerator returns a generator of AgentPoolWindowsProfile_STATUS instances for property testing. +func AgentPoolWindowsProfile_STATUSGenerator() gopter.Gen { + if agentPoolWindowsProfile_STATUSGenerator != nil { + return agentPoolWindowsProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAgentPoolWindowsProfile_STATUS(generators) + agentPoolWindowsProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(AgentPoolWindowsProfile_STATUS{}), generators) + + return agentPoolWindowsProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForAgentPoolWindowsProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAgentPoolWindowsProfile_STATUS(gens map[string]gopter.Gen) { + gens["DisableOutboundNat"] = gen.PtrOf(gen.Bool()) +} + +func Test_CreationData_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of CreationData_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForCreationData_STATUS, CreationData_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForCreationData_STATUS runs a test to see if a specific instance of CreationData_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForCreationData_STATUS(subject CreationData_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual CreationData_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of CreationData_STATUS instances for property testing - lazily instantiated by +// CreationData_STATUSGenerator() +var creationData_STATUSGenerator gopter.Gen + +// CreationData_STATUSGenerator returns a generator of CreationData_STATUS instances for property testing. +func CreationData_STATUSGenerator() gopter.Gen { + if creationData_STATUSGenerator != nil { + return creationData_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForCreationData_STATUS(generators) + creationData_STATUSGenerator = gen.Struct(reflect.TypeOf(CreationData_STATUS{}), generators) + + return creationData_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForCreationData_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForCreationData_STATUS(gens map[string]gopter.Gen) { + gens["SourceResourceId"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_IPTag_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of IPTag_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForIPTag_STATUS, IPTag_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForIPTag_STATUS runs a test to see if a specific instance of IPTag_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForIPTag_STATUS(subject IPTag_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual IPTag_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of IPTag_STATUS instances for property testing - lazily instantiated by IPTag_STATUSGenerator() +var ipTag_STATUSGenerator gopter.Gen + +// IPTag_STATUSGenerator returns a generator of IPTag_STATUS instances for property testing. +func IPTag_STATUSGenerator() gopter.Gen { + if ipTag_STATUSGenerator != nil { + return ipTag_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForIPTag_STATUS(generators) + ipTag_STATUSGenerator = gen.Struct(reflect.TypeOf(IPTag_STATUS{}), generators) + + return ipTag_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForIPTag_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForIPTag_STATUS(gens map[string]gopter.Gen) { + gens["IpTagType"] = gen.PtrOf(gen.AlphaString()) + gens["Tag"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_KubeletConfig_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of KubeletConfig_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForKubeletConfig_STATUS, KubeletConfig_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForKubeletConfig_STATUS runs a test to see if a specific instance of KubeletConfig_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForKubeletConfig_STATUS(subject KubeletConfig_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual KubeletConfig_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of KubeletConfig_STATUS instances for property testing - lazily instantiated by +// KubeletConfig_STATUSGenerator() +var kubeletConfig_STATUSGenerator gopter.Gen + +// KubeletConfig_STATUSGenerator returns a generator of KubeletConfig_STATUS instances for property testing. +func KubeletConfig_STATUSGenerator() gopter.Gen { + if kubeletConfig_STATUSGenerator != nil { + return kubeletConfig_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForKubeletConfig_STATUS(generators) + kubeletConfig_STATUSGenerator = gen.Struct(reflect.TypeOf(KubeletConfig_STATUS{}), generators) + + return kubeletConfig_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForKubeletConfig_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForKubeletConfig_STATUS(gens map[string]gopter.Gen) { + gens["AllowedUnsafeSysctls"] = gen.SliceOf(gen.AlphaString()) + gens["ContainerLogMaxFiles"] = gen.PtrOf(gen.Int()) + gens["ContainerLogMaxSizeMB"] = gen.PtrOf(gen.Int()) + gens["CpuCfsQuota"] = gen.PtrOf(gen.Bool()) + gens["CpuCfsQuotaPeriod"] = gen.PtrOf(gen.AlphaString()) + gens["CpuManagerPolicy"] = gen.PtrOf(gen.AlphaString()) + gens["FailSwapOn"] = gen.PtrOf(gen.Bool()) + gens["ImageGcHighThreshold"] = gen.PtrOf(gen.Int()) + gens["ImageGcLowThreshold"] = gen.PtrOf(gen.Int()) + gens["PodMaxPids"] = gen.PtrOf(gen.Int()) + gens["TopologyManagerPolicy"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_LinuxOSConfig_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of LinuxOSConfig_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForLinuxOSConfig_STATUS, LinuxOSConfig_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForLinuxOSConfig_STATUS runs a test to see if a specific instance of LinuxOSConfig_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForLinuxOSConfig_STATUS(subject LinuxOSConfig_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual LinuxOSConfig_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of LinuxOSConfig_STATUS instances for property testing - lazily instantiated by +// LinuxOSConfig_STATUSGenerator() +var linuxOSConfig_STATUSGenerator gopter.Gen + +// LinuxOSConfig_STATUSGenerator returns a generator of LinuxOSConfig_STATUS instances for property testing. +// We first initialize linuxOSConfig_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func LinuxOSConfig_STATUSGenerator() gopter.Gen { + if linuxOSConfig_STATUSGenerator != nil { + return linuxOSConfig_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForLinuxOSConfig_STATUS(generators) + linuxOSConfig_STATUSGenerator = gen.Struct(reflect.TypeOf(LinuxOSConfig_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForLinuxOSConfig_STATUS(generators) + AddRelatedPropertyGeneratorsForLinuxOSConfig_STATUS(generators) + linuxOSConfig_STATUSGenerator = gen.Struct(reflect.TypeOf(LinuxOSConfig_STATUS{}), generators) + + return linuxOSConfig_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForLinuxOSConfig_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForLinuxOSConfig_STATUS(gens map[string]gopter.Gen) { + gens["SwapFileSizeMB"] = gen.PtrOf(gen.Int()) + gens["TransparentHugePageDefrag"] = gen.PtrOf(gen.AlphaString()) + gens["TransparentHugePageEnabled"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForLinuxOSConfig_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForLinuxOSConfig_STATUS(gens map[string]gopter.Gen) { + gens["Sysctls"] = gen.PtrOf(SysctlConfig_STATUSGenerator()) +} + +func Test_ManagedClusterAgentPoolProfileProperties_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterAgentPoolProfileProperties_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterAgentPoolProfileProperties_STATUS, ManagedClusterAgentPoolProfileProperties_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterAgentPoolProfileProperties_STATUS runs a test to see if a specific instance of ManagedClusterAgentPoolProfileProperties_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterAgentPoolProfileProperties_STATUS(subject ManagedClusterAgentPoolProfileProperties_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterAgentPoolProfileProperties_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterAgentPoolProfileProperties_STATUS instances for property testing - lazily instantiated by +// ManagedClusterAgentPoolProfileProperties_STATUSGenerator() +var managedClusterAgentPoolProfileProperties_STATUSGenerator gopter.Gen + +// ManagedClusterAgentPoolProfileProperties_STATUSGenerator returns a generator of ManagedClusterAgentPoolProfileProperties_STATUS instances for property testing. +// We first initialize managedClusterAgentPoolProfileProperties_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func ManagedClusterAgentPoolProfileProperties_STATUSGenerator() gopter.Gen { + if managedClusterAgentPoolProfileProperties_STATUSGenerator != nil { + return managedClusterAgentPoolProfileProperties_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterAgentPoolProfileProperties_STATUS(generators) + managedClusterAgentPoolProfileProperties_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterAgentPoolProfileProperties_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterAgentPoolProfileProperties_STATUS(generators) + AddRelatedPropertyGeneratorsForManagedClusterAgentPoolProfileProperties_STATUS(generators) + managedClusterAgentPoolProfileProperties_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterAgentPoolProfileProperties_STATUS{}), generators) + + return managedClusterAgentPoolProfileProperties_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterAgentPoolProfileProperties_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterAgentPoolProfileProperties_STATUS(gens map[string]gopter.Gen) { + gens["AvailabilityZones"] = gen.SliceOf(gen.AlphaString()) + gens["CapacityReservationGroupID"] = gen.PtrOf(gen.AlphaString()) + gens["Count"] = gen.PtrOf(gen.Int()) + gens["CurrentOrchestratorVersion"] = gen.PtrOf(gen.AlphaString()) + gens["ETag"] = gen.PtrOf(gen.AlphaString()) + gens["EnableAutoScaling"] = gen.PtrOf(gen.Bool()) + gens["EnableEncryptionAtHost"] = gen.PtrOf(gen.Bool()) + gens["EnableFIPS"] = gen.PtrOf(gen.Bool()) + gens["EnableNodePublicIP"] = gen.PtrOf(gen.Bool()) + gens["EnableUltraSSD"] = gen.PtrOf(gen.Bool()) + gens["GpuInstanceProfile"] = gen.PtrOf(gen.OneConstOf( + GPUInstanceProfile_STATUS_MIG1G, + GPUInstanceProfile_STATUS_MIG2G, + GPUInstanceProfile_STATUS_MIG3G, + GPUInstanceProfile_STATUS_MIG4G, + GPUInstanceProfile_STATUS_MIG7G)) + gens["HostGroupID"] = gen.PtrOf(gen.AlphaString()) + gens["KubeletDiskType"] = gen.PtrOf(gen.OneConstOf(KubeletDiskType_STATUS_OS, KubeletDiskType_STATUS_Temporary)) + gens["MaxCount"] = gen.PtrOf(gen.Int()) + gens["MaxPods"] = gen.PtrOf(gen.Int()) + gens["MinCount"] = gen.PtrOf(gen.Int()) + gens["Mode"] = gen.PtrOf(gen.OneConstOf(AgentPoolMode_STATUS_System, AgentPoolMode_STATUS_User)) + gens["NodeImageVersion"] = gen.PtrOf(gen.AlphaString()) + gens["NodeLabels"] = gen.MapOf( + gen.AlphaString(), + gen.AlphaString()) + gens["NodePublicIPPrefixID"] = gen.PtrOf(gen.AlphaString()) + gens["NodeTaints"] = gen.SliceOf(gen.AlphaString()) + gens["OrchestratorVersion"] = gen.PtrOf(gen.AlphaString()) + gens["OsDiskSizeGB"] = gen.PtrOf(gen.Int()) + gens["OsDiskType"] = gen.PtrOf(gen.OneConstOf(OSDiskType_STATUS_Ephemeral, OSDiskType_STATUS_Managed)) + gens["OsSKU"] = gen.PtrOf(gen.OneConstOf( + OSSKU_STATUS_AzureLinux, + OSSKU_STATUS_CBLMariner, + OSSKU_STATUS_Ubuntu, + OSSKU_STATUS_Windows2019, + OSSKU_STATUS_Windows2022)) + gens["OsType"] = gen.PtrOf(gen.OneConstOf(OSType_STATUS_Linux, OSType_STATUS_Windows)) + gens["PodSubnetID"] = gen.PtrOf(gen.AlphaString()) + gens["ProvisioningState"] = gen.PtrOf(gen.AlphaString()) + gens["ProximityPlacementGroupID"] = gen.PtrOf(gen.AlphaString()) + gens["ScaleDownMode"] = gen.PtrOf(gen.OneConstOf(ScaleDownMode_STATUS_Deallocate, ScaleDownMode_STATUS_Delete)) + gens["ScaleSetEvictionPolicy"] = gen.PtrOf(gen.OneConstOf(ScaleSetEvictionPolicy_STATUS_Deallocate, ScaleSetEvictionPolicy_STATUS_Delete)) + gens["ScaleSetPriority"] = gen.PtrOf(gen.OneConstOf(ScaleSetPriority_STATUS_Regular, ScaleSetPriority_STATUS_Spot)) + gens["SpotMaxPrice"] = gen.PtrOf(gen.Float64()) + gens["Tags"] = gen.MapOf( + gen.AlphaString(), + gen.AlphaString()) + gens["Type"] = gen.PtrOf(gen.OneConstOf(AgentPoolType_STATUS_AvailabilitySet, AgentPoolType_STATUS_VirtualMachineScaleSets)) + gens["VmSize"] = gen.PtrOf(gen.AlphaString()) + gens["VnetSubnetID"] = gen.PtrOf(gen.AlphaString()) + gens["WorkloadRuntime"] = gen.PtrOf(gen.OneConstOf(WorkloadRuntime_STATUS_OCIContainer, WorkloadRuntime_STATUS_WasmWasi)) +} + +// AddRelatedPropertyGeneratorsForManagedClusterAgentPoolProfileProperties_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterAgentPoolProfileProperties_STATUS(gens map[string]gopter.Gen) { + gens["CreationData"] = gen.PtrOf(CreationData_STATUSGenerator()) + gens["KubeletConfig"] = gen.PtrOf(KubeletConfig_STATUSGenerator()) + gens["LinuxOSConfig"] = gen.PtrOf(LinuxOSConfig_STATUSGenerator()) + gens["NetworkProfile"] = gen.PtrOf(AgentPoolNetworkProfile_STATUSGenerator()) + gens["PowerState"] = gen.PtrOf(PowerState_STATUSGenerator()) + gens["SecurityProfile"] = gen.PtrOf(AgentPoolSecurityProfile_STATUSGenerator()) + gens["UpgradeSettings"] = gen.PtrOf(AgentPoolUpgradeSettings_STATUSGenerator()) + gens["WindowsProfile"] = gen.PtrOf(AgentPoolWindowsProfile_STATUSGenerator()) +} + +func Test_ManagedClustersAgentPool_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClustersAgentPool_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClustersAgentPool_STATUS, ManagedClustersAgentPool_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClustersAgentPool_STATUS runs a test to see if a specific instance of ManagedClustersAgentPool_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClustersAgentPool_STATUS(subject ManagedClustersAgentPool_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClustersAgentPool_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClustersAgentPool_STATUS instances for property testing - lazily instantiated by +// ManagedClustersAgentPool_STATUSGenerator() +var managedClustersAgentPool_STATUSGenerator gopter.Gen + +// ManagedClustersAgentPool_STATUSGenerator returns a generator of ManagedClustersAgentPool_STATUS instances for property testing. +// We first initialize managedClustersAgentPool_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func ManagedClustersAgentPool_STATUSGenerator() gopter.Gen { + if managedClustersAgentPool_STATUSGenerator != nil { + return managedClustersAgentPool_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClustersAgentPool_STATUS(generators) + managedClustersAgentPool_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClustersAgentPool_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClustersAgentPool_STATUS(generators) + AddRelatedPropertyGeneratorsForManagedClustersAgentPool_STATUS(generators) + managedClustersAgentPool_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClustersAgentPool_STATUS{}), generators) + + return managedClustersAgentPool_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClustersAgentPool_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClustersAgentPool_STATUS(gens map[string]gopter.Gen) { + gens["Id"] = gen.PtrOf(gen.AlphaString()) + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["Type"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForManagedClustersAgentPool_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClustersAgentPool_STATUS(gens map[string]gopter.Gen) { + gens["Properties"] = gen.PtrOf(ManagedClusterAgentPoolProfileProperties_STATUSGenerator()) +} + +func Test_PortRange_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of PortRange_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForPortRange_STATUS, PortRange_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForPortRange_STATUS runs a test to see if a specific instance of PortRange_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForPortRange_STATUS(subject PortRange_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual PortRange_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of PortRange_STATUS instances for property testing - lazily instantiated by PortRange_STATUSGenerator() +var portRange_STATUSGenerator gopter.Gen + +// PortRange_STATUSGenerator returns a generator of PortRange_STATUS instances for property testing. +func PortRange_STATUSGenerator() gopter.Gen { + if portRange_STATUSGenerator != nil { + return portRange_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForPortRange_STATUS(generators) + portRange_STATUSGenerator = gen.Struct(reflect.TypeOf(PortRange_STATUS{}), generators) + + return portRange_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForPortRange_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForPortRange_STATUS(gens map[string]gopter.Gen) { + gens["PortEnd"] = gen.PtrOf(gen.Int()) + gens["PortStart"] = gen.PtrOf(gen.Int()) + gens["Protocol"] = gen.PtrOf(gen.OneConstOf(PortRange_Protocol_STATUS_TCP, PortRange_Protocol_STATUS_UDP)) +} + +func Test_SysctlConfig_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of SysctlConfig_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForSysctlConfig_STATUS, SysctlConfig_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForSysctlConfig_STATUS runs a test to see if a specific instance of SysctlConfig_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForSysctlConfig_STATUS(subject SysctlConfig_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual SysctlConfig_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of SysctlConfig_STATUS instances for property testing - lazily instantiated by +// SysctlConfig_STATUSGenerator() +var sysctlConfig_STATUSGenerator gopter.Gen + +// SysctlConfig_STATUSGenerator returns a generator of SysctlConfig_STATUS instances for property testing. +func SysctlConfig_STATUSGenerator() gopter.Gen { + if sysctlConfig_STATUSGenerator != nil { + return sysctlConfig_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForSysctlConfig_STATUS(generators) + sysctlConfig_STATUSGenerator = gen.Struct(reflect.TypeOf(SysctlConfig_STATUS{}), generators) + + return sysctlConfig_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForSysctlConfig_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForSysctlConfig_STATUS(gens map[string]gopter.Gen) { + gens["FsAioMaxNr"] = gen.PtrOf(gen.Int()) + gens["FsFileMax"] = gen.PtrOf(gen.Int()) + gens["FsInotifyMaxUserWatches"] = gen.PtrOf(gen.Int()) + gens["FsNrOpen"] = gen.PtrOf(gen.Int()) + gens["KernelThreadsMax"] = gen.PtrOf(gen.Int()) + gens["NetCoreNetdevMaxBacklog"] = gen.PtrOf(gen.Int()) + gens["NetCoreOptmemMax"] = gen.PtrOf(gen.Int()) + gens["NetCoreRmemDefault"] = gen.PtrOf(gen.Int()) + gens["NetCoreRmemMax"] = gen.PtrOf(gen.Int()) + gens["NetCoreSomaxconn"] = gen.PtrOf(gen.Int()) + gens["NetCoreWmemDefault"] = gen.PtrOf(gen.Int()) + gens["NetCoreWmemMax"] = gen.PtrOf(gen.Int()) + gens["NetIpv4IpLocalPortRange"] = gen.PtrOf(gen.AlphaString()) + gens["NetIpv4NeighDefaultGcThresh1"] = gen.PtrOf(gen.Int()) + gens["NetIpv4NeighDefaultGcThresh2"] = gen.PtrOf(gen.Int()) + gens["NetIpv4NeighDefaultGcThresh3"] = gen.PtrOf(gen.Int()) + gens["NetIpv4TcpFinTimeout"] = gen.PtrOf(gen.Int()) + gens["NetIpv4TcpKeepaliveProbes"] = gen.PtrOf(gen.Int()) + gens["NetIpv4TcpKeepaliveTime"] = gen.PtrOf(gen.Int()) + gens["NetIpv4TcpMaxSynBacklog"] = gen.PtrOf(gen.Int()) + gens["NetIpv4TcpMaxTwBuckets"] = gen.PtrOf(gen.Int()) + gens["NetIpv4TcpTwReuse"] = gen.PtrOf(gen.Bool()) + gens["NetIpv4TcpkeepaliveIntvl"] = gen.PtrOf(gen.Int()) + gens["NetNetfilterNfConntrackBuckets"] = gen.PtrOf(gen.Int()) + gens["NetNetfilterNfConntrackMax"] = gen.PtrOf(gen.Int()) + gens["VmMaxMapCount"] = gen.PtrOf(gen.Int()) + gens["VmSwappiness"] = gen.PtrOf(gen.Int()) + gens["VmVfsCachePressure"] = gen.PtrOf(gen.Int()) +} diff --git a/v2/api/containerservice/v1api20240901/arm/structure.txt b/v2/api/containerservice/v1api20240901/arm/structure.txt new file mode 100644 index 00000000000..49d56090295 --- /dev/null +++ b/v2/api/containerservice/v1api20240901/arm/structure.txt @@ -0,0 +1,1341 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20240901/arm +--------------------------------------------------------------------------------- +MaintenanceConfiguration_STATUS: Object (5 properties) +├── Id: *string +├── Name: *string +├── Properties: *Object (3 properties) +│ ├── MaintenanceWindow: *Object (6 properties) +│ │ ├── DurationHours: *int +│ │ ├── NotAllowedDates: Object (2 properties)[] +│ │ │ ├── End: *string +│ │ │ └── Start: *string +│ │ ├── Schedule: *Object (4 properties) +│ │ │ ├── AbsoluteMonthly: *Object (2 properties) +│ │ │ │ ├── DayOfMonth: *int +│ │ │ │ └── IntervalMonths: *int +│ │ │ ├── Daily: *Object (1 property) +│ │ │ │ └── IntervalDays: *int +│ │ │ ├── RelativeMonthly: *Object (3 properties) +│ │ │ │ ├── DayOfWeek: *Enum (7 values) +│ │ │ │ │ ├── "Friday" +│ │ │ │ │ ├── "Monday" +│ │ │ │ │ ├── "Saturday" +│ │ │ │ │ ├── "Sunday" +│ │ │ │ │ ├── "Thursday" +│ │ │ │ │ ├── "Tuesday" +│ │ │ │ │ └── "Wednesday" +│ │ │ │ ├── IntervalMonths: *int +│ │ │ │ └── WeekIndex: *Enum (5 values) +│ │ │ │ ├── "First" +│ │ │ │ ├── "Fourth" +│ │ │ │ ├── "Last" +│ │ │ │ ├── "Second" +│ │ │ │ └── "Third" +│ │ │ └── Weekly: *Object (2 properties) +│ │ │ ├── DayOfWeek: *Enum (7 values) +│ │ │ │ ├── "Friday" +│ │ │ │ ├── "Monday" +│ │ │ │ ├── "Saturday" +│ │ │ │ ├── "Sunday" +│ │ │ │ ├── "Thursday" +│ │ │ │ ├── "Tuesday" +│ │ │ │ └── "Wednesday" +│ │ │ └── IntervalWeeks: *int +│ │ ├── StartDate: *string +│ │ ├── StartTime: *string +│ │ └── UtcOffset: *string +│ ├── NotAllowedTime: Object (2 properties)[] +│ │ ├── End: *string +│ │ └── Start: *string +│ └── TimeInWeek: Object (2 properties)[] +│ ├── Day: *Enum (7 values) +│ │ ├── "Friday" +│ │ ├── "Monday" +│ │ ├── "Saturday" +│ │ ├── "Sunday" +│ │ ├── "Thursday" +│ │ ├── "Tuesday" +│ │ └── "Wednesday" +│ └── HourSlots: int[] +├── SystemData: *Object (6 properties) +│ ├── CreatedAt: *string +│ ├── CreatedBy: *string +│ ├── CreatedByType: *Enum (4 values) +│ │ ├── "Application" +│ │ ├── "Key" +│ │ ├── "ManagedIdentity" +│ │ └── "User" +│ ├── LastModifiedAt: *string +│ ├── LastModifiedBy: *string +│ └── LastModifiedByType: *Enum (4 values) +│ ├── "Application" +│ ├── "Key" +│ ├── "ManagedIdentity" +│ └── "User" +└── Type: *string +MaintenanceConfiguration_Spec: Object (2 properties) +├── Name: string +└── Properties: *Object (3 properties) + ├── MaintenanceWindow: *Object (6 properties) + │ ├── DurationHours: *int + │ ├── NotAllowedDates: Object (2 properties)[] + │ │ ├── End: *string + │ │ └── Start: *string + │ ├── Schedule: *Object (4 properties) + │ │ ├── AbsoluteMonthly: *Object (2 properties) + │ │ │ ├── DayOfMonth: *int + │ │ │ └── IntervalMonths: *int + │ │ ├── Daily: *Object (1 property) + │ │ │ └── IntervalDays: *int + │ │ ├── RelativeMonthly: *Object (3 properties) + │ │ │ ├── DayOfWeek: *Enum (7 values) + │ │ │ │ ├── "Friday" + │ │ │ │ ├── "Monday" + │ │ │ │ ├── "Saturday" + │ │ │ │ ├── "Sunday" + │ │ │ │ ├── "Thursday" + │ │ │ │ ├── "Tuesday" + │ │ │ │ └── "Wednesday" + │ │ │ ├── IntervalMonths: *int + │ │ │ └── WeekIndex: *Enum (5 values) + │ │ │ ├── "First" + │ │ │ ├── "Fourth" + │ │ │ ├── "Last" + │ │ │ ├── "Second" + │ │ │ └── "Third" + │ │ └── Weekly: *Object (2 properties) + │ │ ├── DayOfWeek: *Enum (7 values) + │ │ │ ├── "Friday" + │ │ │ ├── "Monday" + │ │ │ ├── "Saturday" + │ │ │ ├── "Sunday" + │ │ │ ├── "Thursday" + │ │ │ ├── "Tuesday" + │ │ │ └── "Wednesday" + │ │ └── IntervalWeeks: *int + │ ├── StartDate: *string + │ ├── StartTime: *string + │ └── UtcOffset: *string + ├── NotAllowedTime: Object (2 properties)[] + │ ├── End: *string + │ └── Start: *string + └── TimeInWeek: Object (2 properties)[] + ├── Day: *Enum (7 values) + │ ├── "Friday" + │ ├── "Monday" + │ ├── "Saturday" + │ ├── "Sunday" + │ ├── "Thursday" + │ ├── "Tuesday" + │ └── "Wednesday" + └── HourSlots: int[] +ManagedCluster_STATUS: Object (11 properties) +├── ETag: *string +├── ExtendedLocation: *Object (2 properties) +│ ├── Name: *string +│ └── Type: *Enum (1 value) +│ └── "EdgeZone" +├── Id: *string +├── Identity: *Object (5 properties) +│ ├── DelegatedResources: map[string]Object (4 properties) +│ │ ├── Location: *string +│ │ ├── ReferralResource: *string +│ │ ├── ResourceId: *string +│ │ └── TenantId: *string +│ ├── PrincipalId: *string +│ ├── TenantId: *string +│ ├── Type: *Enum (3 values) +│ │ ├── "None" +│ │ ├── "SystemAssigned" +│ │ └── "UserAssigned" +│ └── UserAssignedIdentities: map[string]Object (2 properties) +│ ├── ClientId: *string +│ └── PrincipalId: *string +├── Location: *string +├── Name: *string +├── Properties: *Object (42 properties) +│ ├── AadProfile: *Object (7 properties) +│ │ ├── AdminGroupObjectIDs: string[] +│ │ ├── ClientAppID: *string +│ │ ├── EnableAzureRBAC: *bool +│ │ ├── Managed: *bool +│ │ ├── ServerAppID: *string +│ │ ├── ServerAppSecret: *string +│ │ └── TenantID: *string +│ ├── AddonProfiles: map[string]Object (3 properties) +│ │ ├── Config: map[string]string +│ │ ├── Enabled: *bool +│ │ └── Identity: *Object (3 properties) +│ │ ├── ClientId: *string +│ │ ├── ObjectId: *string +│ │ └── ResourceId: *string +│ ├── AgentPoolProfiles: Object (47 properties)[] +│ │ ├── AvailabilityZones: string[] +│ │ ├── CapacityReservationGroupID: *string +│ │ ├── Count: *int +│ │ ├── CreationData: *Object (1 property) +│ │ │ └── SourceResourceId: *string +│ │ ├── CurrentOrchestratorVersion: *string +│ │ ├── ETag: *string +│ │ ├── EnableAutoScaling: *bool +│ │ ├── EnableEncryptionAtHost: *bool +│ │ ├── EnableFIPS: *bool +│ │ ├── EnableNodePublicIP: *bool +│ │ ├── EnableUltraSSD: *bool +│ │ ├── GpuInstanceProfile: *Enum (5 values) +│ │ │ ├── "MIG1g" +│ │ │ ├── "MIG2g" +│ │ │ ├── "MIG3g" +│ │ │ ├── "MIG4g" +│ │ │ └── "MIG7g" +│ │ ├── HostGroupID: *string +│ │ ├── KubeletConfig: *Object (11 properties) +│ │ │ ├── AllowedUnsafeSysctls: string[] +│ │ │ ├── ContainerLogMaxFiles: *int +│ │ │ ├── ContainerLogMaxSizeMB: *int +│ │ │ ├── CpuCfsQuota: *bool +│ │ │ ├── CpuCfsQuotaPeriod: *string +│ │ │ ├── CpuManagerPolicy: *string +│ │ │ ├── FailSwapOn: *bool +│ │ │ ├── ImageGcHighThreshold: *int +│ │ │ ├── ImageGcLowThreshold: *int +│ │ │ ├── PodMaxPids: *int +│ │ │ └── TopologyManagerPolicy: *string +│ │ ├── KubeletDiskType: *Enum (2 values) +│ │ │ ├── "OS" +│ │ │ └── "Temporary" +│ │ ├── LinuxOSConfig: *Object (4 properties) +│ │ │ ├── SwapFileSizeMB: *int +│ │ │ ├── Sysctls: *Object (28 properties) +│ │ │ │ ├── FsAioMaxNr: *int +│ │ │ │ ├── FsFileMax: *int +│ │ │ │ ├── FsInotifyMaxUserWatches: *int +│ │ │ │ ├── FsNrOpen: *int +│ │ │ │ ├── KernelThreadsMax: *int +│ │ │ │ ├── NetCoreNetdevMaxBacklog: *int +│ │ │ │ ├── NetCoreOptmemMax: *int +│ │ │ │ ├── NetCoreRmemDefault: *int +│ │ │ │ ├── NetCoreRmemMax: *int +│ │ │ │ ├── NetCoreSomaxconn: *int +│ │ │ │ ├── NetCoreWmemDefault: *int +│ │ │ │ ├── NetCoreWmemMax: *int +│ │ │ │ ├── NetIpv4IpLocalPortRange: *string +│ │ │ │ ├── NetIpv4NeighDefaultGcThresh1: *int +│ │ │ │ ├── NetIpv4NeighDefaultGcThresh2: *int +│ │ │ │ ├── NetIpv4NeighDefaultGcThresh3: *int +│ │ │ │ ├── NetIpv4TcpFinTimeout: *int +│ │ │ │ ├── NetIpv4TcpKeepaliveProbes: *int +│ │ │ │ ├── NetIpv4TcpKeepaliveTime: *int +│ │ │ │ ├── NetIpv4TcpMaxSynBacklog: *int +│ │ │ │ ├── NetIpv4TcpMaxTwBuckets: *int +│ │ │ │ ├── NetIpv4TcpTwReuse: *bool +│ │ │ │ ├── NetIpv4TcpkeepaliveIntvl: *int +│ │ │ │ ├── NetNetfilterNfConntrackBuckets: *int +│ │ │ │ ├── NetNetfilterNfConntrackMax: *int +│ │ │ │ ├── VmMaxMapCount: *int +│ │ │ │ ├── VmSwappiness: *int +│ │ │ │ └── VmVfsCachePressure: *int +│ │ │ ├── TransparentHugePageDefrag: *string +│ │ │ └── TransparentHugePageEnabled: *string +│ │ ├── MaxCount: *int +│ │ ├── MaxPods: *int +│ │ ├── MinCount: *int +│ │ ├── Mode: *Enum (2 values) +│ │ │ ├── "System" +│ │ │ └── "User" +│ │ ├── Name: *string +│ │ ├── NetworkProfile: *Object (3 properties) +│ │ │ ├── AllowedHostPorts: Object (3 properties)[] +│ │ │ │ ├── PortEnd: *int +│ │ │ │ ├── PortStart: *int +│ │ │ │ └── Protocol: *Enum (2 values) +│ │ │ │ ├── "TCP" +│ │ │ │ └── "UDP" +│ │ │ ├── ApplicationSecurityGroups: string[] +│ │ │ └── NodePublicIPTags: Object (2 properties)[] +│ │ │ ├── IpTagType: *string +│ │ │ └── Tag: *string +│ │ ├── NodeImageVersion: *string +│ │ ├── NodeLabels: map[string]string +│ │ ├── NodePublicIPPrefixID: *string +│ │ ├── NodeTaints: string[] +│ │ ├── OrchestratorVersion: *string +│ │ ├── OsDiskSizeGB: *int +│ │ ├── OsDiskType: *Enum (2 values) +│ │ │ ├── "Ephemeral" +│ │ │ └── "Managed" +│ │ ├── OsSKU: *Enum (5 values) +│ │ │ ├── "AzureLinux" +│ │ │ ├── "CBLMariner" +│ │ │ ├── "Ubuntu" +│ │ │ ├── "Windows2019" +│ │ │ └── "Windows2022" +│ │ ├── OsType: *Enum (2 values) +│ │ │ ├── "Linux" +│ │ │ └── "Windows" +│ │ ├── PodSubnetID: *string +│ │ ├── PowerState: *Object (1 property) +│ │ │ └── Code: *Enum (2 values) +│ │ │ ├── "Running" +│ │ │ └── "Stopped" +│ │ ├── ProvisioningState: *string +│ │ ├── ProximityPlacementGroupID: *string +│ │ ├── ScaleDownMode: *Enum (2 values) +│ │ │ ├── "Deallocate" +│ │ │ └── "Delete" +│ │ ├── ScaleSetEvictionPolicy: *Enum (2 values) +│ │ │ ├── "Deallocate" +│ │ │ └── "Delete" +│ │ ├── ScaleSetPriority: *Enum (2 values) +│ │ │ ├── "Regular" +│ │ │ └── "Spot" +│ │ ├── SecurityProfile: *Object (2 properties) +│ │ │ ├── EnableSecureBoot: *bool +│ │ │ └── EnableVTPM: *bool +│ │ ├── SpotMaxPrice: *float64 +│ │ ├── Tags: map[string]string +│ │ ├── Type: *Enum (2 values) +│ │ │ ├── "AvailabilitySet" +│ │ │ └── "VirtualMachineScaleSets" +│ │ ├── UpgradeSettings: *Object (3 properties) +│ │ │ ├── DrainTimeoutInMinutes: *int +│ │ │ ├── MaxSurge: *string +│ │ │ └── NodeSoakDurationInMinutes: *int +│ │ ├── VmSize: *string +│ │ ├── VnetSubnetID: *string +│ │ ├── WindowsProfile: *Object (1 property) +│ │ │ └── DisableOutboundNat: *bool +│ │ └── WorkloadRuntime: *Enum (2 values) +│ │ ├── "OCIContainer" +│ │ └── "WasmWasi" +│ ├── ApiServerAccessProfile: *Object (5 properties) +│ │ ├── AuthorizedIPRanges: string[] +│ │ ├── DisableRunCommand: *bool +│ │ ├── EnablePrivateCluster: *bool +│ │ ├── EnablePrivateClusterPublicFQDN: *bool +│ │ └── PrivateDNSZone: *string +│ ├── AutoScalerProfile: *Object (20 properties) +│ │ ├── BalanceSimilarNodeGroups: *string +│ │ ├── DaemonsetEvictionForEmptyNodes: *bool +│ │ ├── DaemonsetEvictionForOccupiedNodes: *bool +│ │ ├── Expander: *Enum (4 values) +│ │ │ ├── "least-waste" +│ │ │ ├── "most-pods" +│ │ │ ├── "priority" +│ │ │ └── "random" +│ │ ├── IgnoreDaemonsetsUtilization: *bool +│ │ ├── MaxEmptyBulkDelete: *string +│ │ ├── MaxGracefulTerminationSec: *string +│ │ ├── MaxNodeProvisionTime: *string +│ │ ├── MaxTotalUnreadyPercentage: *string +│ │ ├── NewPodScaleUpDelay: *string +│ │ ├── OkTotalUnreadyCount: *string +│ │ ├── ScaleDownDelayAfterAdd: *string +│ │ ├── ScaleDownDelayAfterDelete: *string +│ │ ├── ScaleDownDelayAfterFailure: *string +│ │ ├── ScaleDownUnneededTime: *string +│ │ ├── ScaleDownUnreadyTime: *string +│ │ ├── ScaleDownUtilizationThreshold: *string +│ │ ├── ScanInterval: *string +│ │ ├── SkipNodesWithLocalStorage: *string +│ │ └── SkipNodesWithSystemPods: *string +│ ├── AutoUpgradeProfile: *Object (2 properties) +│ │ ├── NodeOSUpgradeChannel: *Enum (4 values) +│ │ │ ├── "NodeImage" +│ │ │ ├── "None" +│ │ │ ├── "SecurityPatch" +│ │ │ └── "Unmanaged" +│ │ └── UpgradeChannel: *Enum (5 values) +│ │ ├── "node-image" +│ │ ├── "none" +│ │ ├── "patch" +│ │ ├── "rapid" +│ │ └── "stable" +│ ├── AzureMonitorProfile: *Object (1 property) +│ │ └── Metrics: *Object (2 properties) +│ │ ├── Enabled: *bool +│ │ └── KubeStateMetrics: *Object (2 properties) +│ │ ├── MetricAnnotationsAllowList: *string +│ │ └── MetricLabelsAllowlist: *string +│ ├── AzurePortalFQDN: *string +│ ├── CurrentKubernetesVersion: *string +│ ├── DisableLocalAccounts: *bool +│ ├── DiskEncryptionSetID: *string +│ ├── DnsPrefix: *string +│ ├── EnablePodSecurityPolicy: *bool +│ ├── EnableRBAC: *bool +│ ├── Fqdn: *string +│ ├── FqdnSubdomain: *string +│ ├── HttpProxyConfig: *Object (4 properties) +│ │ ├── HttpProxy: *string +│ │ ├── HttpsProxy: *string +│ │ ├── NoProxy: string[] +│ │ └── TrustedCa: *string +│ ├── IdentityProfile: map[string]Object (3 properties) +│ │ ├── ClientId: *string +│ │ ├── ObjectId: *string +│ │ └── ResourceId: *string +│ ├── IngressProfile: *Object (1 property) +│ │ └── WebAppRouting: *Object (3 properties) +│ │ ├── DnsZoneResourceIds: string[] +│ │ ├── Enabled: *bool +│ │ └── Identity: *Object (3 properties) +│ │ ├── ClientId: *string +│ │ ├── ObjectId: *string +│ │ └── ResourceId: *string +│ ├── KubernetesVersion: *string +│ ├── LinuxProfile: *Object (2 properties) +│ │ ├── AdminUsername: *string +│ │ └── Ssh: *Object (1 property) +│ │ └── PublicKeys: Object (1 property)[] +│ │ └── KeyData: *string +│ ├── MaxAgentPools: *int +│ ├── MetricsProfile: *Object (1 property) +│ │ └── CostAnalysis: *Object (1 property) +│ │ └── Enabled: *bool +│ ├── NetworkProfile: *Object (16 properties) +│ │ ├── AdvancedNetworking: *Object (3 properties) +│ │ │ ├── Enabled: *bool +│ │ │ ├── Observability: *Object (1 property) +│ │ │ │ └── Enabled: *bool +│ │ │ └── Security: *Object (1 property) +│ │ │ └── Enabled: *bool +│ │ ├── DnsServiceIP: *string +│ │ ├── IpFamilies: Enum (2 values)[] +│ │ │ ├── "IPv4" +│ │ │ └── "IPv6" +│ │ ├── LoadBalancerProfile: *Object (8 properties) +│ │ │ ├── AllocatedOutboundPorts: *int +│ │ │ ├── BackendPoolType: *Enum (2 values) +│ │ │ │ ├── "NodeIP" +│ │ │ │ └── "NodeIPConfiguration" +│ │ │ ├── EffectiveOutboundIPs: Object (1 property)[] +│ │ │ │ └── Id: *string +│ │ │ ├── EnableMultipleStandardLoadBalancers: *bool +│ │ │ ├── IdleTimeoutInMinutes: *int +│ │ │ ├── ManagedOutboundIPs: *Object (2 properties) +│ │ │ │ ├── Count: *int +│ │ │ │ └── CountIPv6: *int +│ │ │ ├── OutboundIPPrefixes: *Object (1 property) +│ │ │ │ └── PublicIPPrefixes: Object (1 property)[] +│ │ │ │ └── Id: *string +│ │ │ └── OutboundIPs: *Object (1 property) +│ │ │ └── PublicIPs: Object (1 property)[] +│ │ │ └── Id: *string +│ │ ├── LoadBalancerSku: *Enum (2 values) +│ │ │ ├── "basic" +│ │ │ └── "standard" +│ │ ├── NatGatewayProfile: *Object (3 properties) +│ │ │ ├── EffectiveOutboundIPs: Object (1 property)[] +│ │ │ │ └── Id: *string +│ │ │ ├── IdleTimeoutInMinutes: *int +│ │ │ └── ManagedOutboundIPProfile: *Object (1 property) +│ │ │ └── Count: *int +│ │ ├── NetworkDataplane: *Enum (2 values) +│ │ │ ├── "azure" +│ │ │ └── "cilium" +│ │ ├── NetworkMode: *Enum (2 values) +│ │ │ ├── "bridge" +│ │ │ └── "transparent" +│ │ ├── NetworkPlugin: *Enum (3 values) +│ │ │ ├── "azure" +│ │ │ ├── "kubenet" +│ │ │ └── "none" +│ │ ├── NetworkPluginMode: *Enum (1 value) +│ │ │ └── "overlay" +│ │ ├── NetworkPolicy: *Enum (4 values) +│ │ │ ├── "azure" +│ │ │ ├── "calico" +│ │ │ ├── "cilium" +│ │ │ └── "none" +│ │ ├── OutboundType: *Enum (4 values) +│ │ │ ├── "loadBalancer" +│ │ │ ├── "managedNATGateway" +│ │ │ ├── "userAssignedNATGateway" +│ │ │ └── "userDefinedRouting" +│ │ ├── PodCidr: *string +│ │ ├── PodCidrs: string[] +│ │ ├── ServiceCidr: *string +│ │ └── ServiceCidrs: string[] +│ ├── NodeResourceGroup: *string +│ ├── NodeResourceGroupProfile: *Object (1 property) +│ │ └── RestrictionLevel: *Enum (2 values) +│ │ ├── "ReadOnly" +│ │ └── "Unrestricted" +│ ├── OidcIssuerProfile: *Object (2 properties) +│ │ ├── Enabled: *bool +│ │ └── IssuerURL: *string +│ ├── PodIdentityProfile: *Object (4 properties) +│ │ ├── AllowNetworkPluginKubenet: *bool +│ │ ├── Enabled: *bool +│ │ ├── UserAssignedIdentities: Object (6 properties)[] +│ │ │ ├── BindingSelector: *string +│ │ │ ├── Identity: *Object (3 properties) +│ │ │ │ ├── ClientId: *string +│ │ │ │ ├── ObjectId: *string +│ │ │ │ └── ResourceId: *string +│ │ │ ├── Name: *string +│ │ │ ├── Namespace: *string +│ │ │ ├── ProvisioningInfo: *Object (1 property) +│ │ │ │ └── Error: *Object (1 property) +│ │ │ │ └── Error: *Object (4 properties) +│ │ │ │ ├── Code: *string +│ │ │ │ ├── Details: Object (3 properties)[] +│ │ │ │ │ ├── Code: *string +│ │ │ │ │ ├── Message: *string +│ │ │ │ │ └── Target: *string +│ │ │ │ ├── Message: *string +│ │ │ │ └── Target: *string +│ │ │ └── ProvisioningState: *Enum (6 values) +│ │ │ ├── "Assigned" +│ │ │ ├── "Canceled" +│ │ │ ├── "Deleting" +│ │ │ ├── "Failed" +│ │ │ ├── "Succeeded" +│ │ │ └── "Updating" +│ │ └── UserAssignedIdentityExceptions: Object (3 properties)[] +│ │ ├── Name: *string +│ │ ├── Namespace: *string +│ │ └── PodLabels: map[string]string +│ ├── PowerState: *Object (1 property) +│ │ └── Code: *Enum (2 values) +│ │ ├── "Running" +│ │ └── "Stopped" +│ ├── PrivateFQDN: *string +│ ├── PrivateLinkResources: Object (6 properties)[] +│ │ ├── GroupId: *string +│ │ ├── Id: *string +│ │ ├── Name: *string +│ │ ├── PrivateLinkServiceID: *string +│ │ ├── RequiredMembers: string[] +│ │ └── Type: *string +│ ├── ProvisioningState: *string +│ ├── PublicNetworkAccess: *Enum (2 values) +│ │ ├── "Disabled" +│ │ └── "Enabled" +│ ├── ResourceUID: *string +│ ├── SecurityProfile: *Object (4 properties) +│ │ ├── AzureKeyVaultKms: *Object (4 properties) +│ │ │ ├── Enabled: *bool +│ │ │ ├── KeyId: *string +│ │ │ ├── KeyVaultNetworkAccess: *Enum (2 values) +│ │ │ │ ├── "Private" +│ │ │ │ └── "Public" +│ │ │ └── KeyVaultResourceId: *string +│ │ ├── Defender: *Object (2 properties) +│ │ │ ├── LogAnalyticsWorkspaceResourceId: *string +│ │ │ └── SecurityMonitoring: *Object (1 property) +│ │ │ └── Enabled: *bool +│ │ ├── ImageCleaner: *Object (2 properties) +│ │ │ ├── Enabled: *bool +│ │ │ └── IntervalHours: *int +│ │ └── WorkloadIdentity: *Object (1 property) +│ │ └── Enabled: *bool +│ ├── ServiceMeshProfile: *Object (2 properties) +│ │ ├── Istio: *Object (3 properties) +│ │ │ ├── CertificateAuthority: *Object (1 property) +│ │ │ │ └── Plugin: *Object (5 properties) +│ │ │ │ ├── CertChainObjectName: *string +│ │ │ │ ├── CertObjectName: *string +│ │ │ │ ├── KeyObjectName: *string +│ │ │ │ ├── KeyVaultId: *string +│ │ │ │ └── RootCertObjectName: *string +│ │ │ ├── Components: *Object (2 properties) +│ │ │ │ ├── EgressGateways: Object (1 property)[] +│ │ │ │ │ └── Enabled: *bool +│ │ │ │ └── IngressGateways: Object (2 properties)[] +│ │ │ │ ├── Enabled: *bool +│ │ │ │ └── Mode: *Enum (2 values) +│ │ │ │ ├── "External" +│ │ │ │ └── "Internal" +│ │ │ └── Revisions: string[] +│ │ └── Mode: *Enum (2 values) +│ │ ├── "Disabled" +│ │ └── "Istio" +│ ├── ServicePrincipalProfile: *Object (1 property) +│ │ └── ClientId: *string +│ ├── StorageProfile: *Object (4 properties) +│ │ ├── BlobCSIDriver: *Object (1 property) +│ │ │ └── Enabled: *bool +│ │ ├── DiskCSIDriver: *Object (1 property) +│ │ │ └── Enabled: *bool +│ │ ├── FileCSIDriver: *Object (1 property) +│ │ │ └── Enabled: *bool +│ │ └── SnapshotController: *Object (1 property) +│ │ └── Enabled: *bool +│ ├── SupportPlan: *Enum (2 values) +│ │ ├── "AKSLongTermSupport" +│ │ └── "KubernetesOfficial" +│ ├── UpgradeSettings: *Object (1 property) +│ │ └── OverrideSettings: *Object (2 properties) +│ │ ├── ForceUpgrade: *bool +│ │ └── Until: *string +│ ├── WindowsProfile: *Object (4 properties) +│ │ ├── AdminUsername: *string +│ │ ├── EnableCSIProxy: *bool +│ │ ├── GmsaProfile: *Object (3 properties) +│ │ │ ├── DnsServer: *string +│ │ │ ├── Enabled: *bool +│ │ │ └── RootDomainName: *string +│ │ └── LicenseType: *Enum (2 values) +│ │ ├── "None" +│ │ └── "Windows_Server" +│ └── WorkloadAutoScalerProfile: *Object (2 properties) +│ ├── Keda: *Object (1 property) +│ │ └── Enabled: *bool +│ └── VerticalPodAutoscaler: *Object (1 property) +│ └── Enabled: *bool +├── Sku: *Object (2 properties) +│ ├── Name: *Enum (1 value) +│ │ └── "Base" +│ └── Tier: *Enum (3 values) +│ ├── "Free" +│ ├── "Premium" +│ └── "Standard" +├── SystemData: *Object (6 properties) +│ ├── CreatedAt: *string +│ ├── CreatedBy: *string +│ ├── CreatedByType: *Enum (4 values) +│ │ ├── "Application" +│ │ ├── "Key" +│ │ ├── "ManagedIdentity" +│ │ └── "User" +│ ├── LastModifiedAt: *string +│ ├── LastModifiedBy: *string +│ └── LastModifiedByType: *Enum (4 values) +│ ├── "Application" +│ ├── "Key" +│ ├── "ManagedIdentity" +│ └── "User" +├── Tags: map[string]string +└── Type: *string +ManagedCluster_Spec: Object (7 properties) +├── ExtendedLocation: *Object (2 properties) +│ ├── Name: *string +│ └── Type: *Enum (1 value) +│ └── "EdgeZone" +├── Identity: *Object (3 properties) +│ ├── DelegatedResources: map[string]Object (4 properties) +│ │ ├── Location: *string +│ │ ├── ReferralResource: *string +│ │ ├── ResourceId: *string +│ │ └── TenantId: *string +│ ├── Type: *Enum (3 values) +│ │ ├── "None" +│ │ ├── "SystemAssigned" +│ │ └── "UserAssigned" +│ └── UserAssignedIdentities: map[string]Object (0 properties) +├── Location: *string +├── Name: string +├── Properties: *Object (34 properties) +│ ├── AadProfile: *Object (7 properties) +│ │ ├── AdminGroupObjectIDs: string[] +│ │ ├── ClientAppID: *string +│ │ ├── EnableAzureRBAC: *bool +│ │ ├── Managed: *bool +│ │ ├── ServerAppID: *string +│ │ ├── ServerAppSecret: *string +│ │ └── TenantID: *string +│ ├── AddonProfiles: map[string]Object (2 properties) +│ │ ├── Config: map[string]string +│ │ └── Enabled: *bool +│ ├── AgentPoolProfiles: Object (43 properties)[] +│ │ ├── AvailabilityZones: string[] +│ │ ├── CapacityReservationGroupID: *string +│ │ ├── Count: *int +│ │ ├── CreationData: *Object (1 property) +│ │ │ └── SourceResourceId: *string +│ │ ├── EnableAutoScaling: *bool +│ │ ├── EnableEncryptionAtHost: *bool +│ │ ├── EnableFIPS: *bool +│ │ ├── EnableNodePublicIP: *bool +│ │ ├── EnableUltraSSD: *bool +│ │ ├── GpuInstanceProfile: *Enum (5 values) +│ │ │ ├── "MIG1g" +│ │ │ ├── "MIG2g" +│ │ │ ├── "MIG3g" +│ │ │ ├── "MIG4g" +│ │ │ └── "MIG7g" +│ │ ├── HostGroupID: *string +│ │ ├── KubeletConfig: *Object (11 properties) +│ │ │ ├── AllowedUnsafeSysctls: string[] +│ │ │ ├── ContainerLogMaxFiles: *int +│ │ │ ├── ContainerLogMaxSizeMB: *int +│ │ │ ├── CpuCfsQuota: *bool +│ │ │ ├── CpuCfsQuotaPeriod: *string +│ │ │ ├── CpuManagerPolicy: *string +│ │ │ ├── FailSwapOn: *bool +│ │ │ ├── ImageGcHighThreshold: *int +│ │ │ ├── ImageGcLowThreshold: *int +│ │ │ ├── PodMaxPids: *int +│ │ │ └── TopologyManagerPolicy: *string +│ │ ├── KubeletDiskType: *Enum (2 values) +│ │ │ ├── "OS" +│ │ │ └── "Temporary" +│ │ ├── LinuxOSConfig: *Object (4 properties) +│ │ │ ├── SwapFileSizeMB: *int +│ │ │ ├── Sysctls: *Object (28 properties) +│ │ │ │ ├── FsAioMaxNr: *int +│ │ │ │ ├── FsFileMax: *int +│ │ │ │ ├── FsInotifyMaxUserWatches: *int +│ │ │ │ ├── FsNrOpen: *int +│ │ │ │ ├── KernelThreadsMax: *int +│ │ │ │ ├── NetCoreNetdevMaxBacklog: *int +│ │ │ │ ├── NetCoreOptmemMax: *int +│ │ │ │ ├── NetCoreRmemDefault: *int +│ │ │ │ ├── NetCoreRmemMax: *int +│ │ │ │ ├── NetCoreSomaxconn: *int +│ │ │ │ ├── NetCoreWmemDefault: *int +│ │ │ │ ├── NetCoreWmemMax: *int +│ │ │ │ ├── NetIpv4IpLocalPortRange: *string +│ │ │ │ ├── NetIpv4NeighDefaultGcThresh1: *int +│ │ │ │ ├── NetIpv4NeighDefaultGcThresh2: *int +│ │ │ │ ├── NetIpv4NeighDefaultGcThresh3: *int +│ │ │ │ ├── NetIpv4TcpFinTimeout: *int +│ │ │ │ ├── NetIpv4TcpKeepaliveProbes: *int +│ │ │ │ ├── NetIpv4TcpKeepaliveTime: *int +│ │ │ │ ├── NetIpv4TcpMaxSynBacklog: *int +│ │ │ │ ├── NetIpv4TcpMaxTwBuckets: *int +│ │ │ │ ├── NetIpv4TcpTwReuse: *bool +│ │ │ │ ├── NetIpv4TcpkeepaliveIntvl: *int +│ │ │ │ ├── NetNetfilterNfConntrackBuckets: *int +│ │ │ │ ├── NetNetfilterNfConntrackMax: *int +│ │ │ │ ├── VmMaxMapCount: *int +│ │ │ │ ├── VmSwappiness: *int +│ │ │ │ └── VmVfsCachePressure: *int +│ │ │ ├── TransparentHugePageDefrag: *string +│ │ │ └── TransparentHugePageEnabled: *string +│ │ ├── MaxCount: *int +│ │ ├── MaxPods: *int +│ │ ├── MinCount: *int +│ │ ├── Mode: *Enum (2 values) +│ │ │ ├── "System" +│ │ │ └── "User" +│ │ ├── Name: *string +│ │ ├── NetworkProfile: *Object (3 properties) +│ │ │ ├── AllowedHostPorts: Object (3 properties)[] +│ │ │ │ ├── PortEnd: *int +│ │ │ │ ├── PortStart: *int +│ │ │ │ └── Protocol: *Enum (2 values) +│ │ │ │ ├── "TCP" +│ │ │ │ └── "UDP" +│ │ │ ├── ApplicationSecurityGroups: string[] +│ │ │ └── NodePublicIPTags: Object (2 properties)[] +│ │ │ ├── IpTagType: *string +│ │ │ └── Tag: *string +│ │ ├── NodeLabels: map[string]string +│ │ ├── NodePublicIPPrefixID: *string +│ │ ├── NodeTaints: string[] +│ │ ├── OrchestratorVersion: *string +│ │ ├── OsDiskSizeGB: *int +│ │ ├── OsDiskType: *Enum (2 values) +│ │ │ ├── "Ephemeral" +│ │ │ └── "Managed" +│ │ ├── OsSKU: *Enum (5 values) +│ │ │ ├── "AzureLinux" +│ │ │ ├── "CBLMariner" +│ │ │ ├── "Ubuntu" +│ │ │ ├── "Windows2019" +│ │ │ └── "Windows2022" +│ │ ├── OsType: *Enum (2 values) +│ │ │ ├── "Linux" +│ │ │ └── "Windows" +│ │ ├── PodSubnetID: *string +│ │ ├── PowerState: *Object (1 property) +│ │ │ └── Code: *Enum (2 values) +│ │ │ ├── "Running" +│ │ │ └── "Stopped" +│ │ ├── ProximityPlacementGroupID: *string +│ │ ├── ScaleDownMode: *Enum (2 values) +│ │ │ ├── "Deallocate" +│ │ │ └── "Delete" +│ │ ├── ScaleSetEvictionPolicy: *Enum (2 values) +│ │ │ ├── "Deallocate" +│ │ │ └── "Delete" +│ │ ├── ScaleSetPriority: *Enum (2 values) +│ │ │ ├── "Regular" +│ │ │ └── "Spot" +│ │ ├── SecurityProfile: *Object (2 properties) +│ │ │ ├── EnableSecureBoot: *bool +│ │ │ └── EnableVTPM: *bool +│ │ ├── SpotMaxPrice: *float64 +│ │ ├── Tags: map[string]string +│ │ ├── Type: *Enum (2 values) +│ │ │ ├── "AvailabilitySet" +│ │ │ └── "VirtualMachineScaleSets" +│ │ ├── UpgradeSettings: *Object (3 properties) +│ │ │ ├── DrainTimeoutInMinutes: *int +│ │ │ ├── MaxSurge: *string +│ │ │ └── NodeSoakDurationInMinutes: *int +│ │ ├── VmSize: *string +│ │ ├── VnetSubnetID: *string +│ │ ├── WindowsProfile: *Object (1 property) +│ │ │ └── DisableOutboundNat: *bool +│ │ └── WorkloadRuntime: *Enum (2 values) +│ │ ├── "OCIContainer" +│ │ └── "WasmWasi" +│ ├── ApiServerAccessProfile: *Object (5 properties) +│ │ ├── AuthorizedIPRanges: string[] +│ │ ├── DisableRunCommand: *bool +│ │ ├── EnablePrivateCluster: *bool +│ │ ├── EnablePrivateClusterPublicFQDN: *bool +│ │ └── PrivateDNSZone: *string +│ ├── AutoScalerProfile: *Object (20 properties) +│ │ ├── BalanceSimilarNodeGroups: *string +│ │ ├── DaemonsetEvictionForEmptyNodes: *bool +│ │ ├── DaemonsetEvictionForOccupiedNodes: *bool +│ │ ├── Expander: *Enum (4 values) +│ │ │ ├── "least-waste" +│ │ │ ├── "most-pods" +│ │ │ ├── "priority" +│ │ │ └── "random" +│ │ ├── IgnoreDaemonsetsUtilization: *bool +│ │ ├── MaxEmptyBulkDelete: *string +│ │ ├── MaxGracefulTerminationSec: *string +│ │ ├── MaxNodeProvisionTime: *string +│ │ ├── MaxTotalUnreadyPercentage: *string +│ │ ├── NewPodScaleUpDelay: *string +│ │ ├── OkTotalUnreadyCount: *string +│ │ ├── ScaleDownDelayAfterAdd: *string +│ │ ├── ScaleDownDelayAfterDelete: *string +│ │ ├── ScaleDownDelayAfterFailure: *string +│ │ ├── ScaleDownUnneededTime: *string +│ │ ├── ScaleDownUnreadyTime: *string +│ │ ├── ScaleDownUtilizationThreshold: *string +│ │ ├── ScanInterval: *string +│ │ ├── SkipNodesWithLocalStorage: *string +│ │ └── SkipNodesWithSystemPods: *string +│ ├── AutoUpgradeProfile: *Object (2 properties) +│ │ ├── NodeOSUpgradeChannel: *Enum (4 values) +│ │ │ ├── "NodeImage" +│ │ │ ├── "None" +│ │ │ ├── "SecurityPatch" +│ │ │ └── "Unmanaged" +│ │ └── UpgradeChannel: *Enum (5 values) +│ │ ├── "node-image" +│ │ ├── "none" +│ │ ├── "patch" +│ │ ├── "rapid" +│ │ └── "stable" +│ ├── AzureMonitorProfile: *Object (1 property) +│ │ └── Metrics: *Object (2 properties) +│ │ ├── Enabled: *bool +│ │ └── KubeStateMetrics: *Object (2 properties) +│ │ ├── MetricAnnotationsAllowList: *string +│ │ └── MetricLabelsAllowlist: *string +│ ├── DisableLocalAccounts: *bool +│ ├── DiskEncryptionSetID: *string +│ ├── DnsPrefix: *string +│ ├── EnablePodSecurityPolicy: *bool +│ ├── EnableRBAC: *bool +│ ├── FqdnSubdomain: *string +│ ├── HttpProxyConfig: *Object (4 properties) +│ │ ├── HttpProxy: *string +│ │ ├── HttpsProxy: *string +│ │ ├── NoProxy: string[] +│ │ └── TrustedCa: *string +│ ├── IdentityProfile: map[string]Object (3 properties) +│ │ ├── ClientId: *string +│ │ ├── ObjectId: *string +│ │ └── ResourceId: *string +│ ├── IngressProfile: *Object (1 property) +│ │ └── WebAppRouting: *Object (2 properties) +│ │ ├── DnsZoneResourceIds: string[] +│ │ └── Enabled: *bool +│ ├── KubernetesVersion: *string +│ ├── LinuxProfile: *Object (2 properties) +│ │ ├── AdminUsername: *string +│ │ └── Ssh: *Object (1 property) +│ │ └── PublicKeys: Object (1 property)[] +│ │ └── KeyData: *string +│ ├── MetricsProfile: *Object (1 property) +│ │ └── CostAnalysis: *Object (1 property) +│ │ └── Enabled: *bool +│ ├── NetworkProfile: *Object (16 properties) +│ │ ├── AdvancedNetworking: *Object (3 properties) +│ │ │ ├── Enabled: *bool +│ │ │ ├── Observability: *Object (1 property) +│ │ │ │ └── Enabled: *bool +│ │ │ └── Security: *Object (1 property) +│ │ │ └── Enabled: *bool +│ │ ├── DnsServiceIP: *string +│ │ ├── IpFamilies: Enum (2 values)[] +│ │ │ ├── "IPv4" +│ │ │ └── "IPv6" +│ │ ├── LoadBalancerProfile: *Object (8 properties) +│ │ │ ├── AllocatedOutboundPorts: *int +│ │ │ ├── BackendPoolType: *Enum (2 values) +│ │ │ │ ├── "NodeIP" +│ │ │ │ └── "NodeIPConfiguration" +│ │ │ ├── EffectiveOutboundIPs: Object (1 property)[] +│ │ │ │ └── Id: *string +│ │ │ ├── EnableMultipleStandardLoadBalancers: *bool +│ │ │ ├── IdleTimeoutInMinutes: *int +│ │ │ ├── ManagedOutboundIPs: *Object (2 properties) +│ │ │ │ ├── Count: *int +│ │ │ │ └── CountIPv6: *int +│ │ │ ├── OutboundIPPrefixes: *Object (1 property) +│ │ │ │ └── PublicIPPrefixes: Object (1 property)[] +│ │ │ │ └── Id: *string +│ │ │ └── OutboundIPs: *Object (1 property) +│ │ │ └── PublicIPs: Object (1 property)[] +│ │ │ └── Id: *string +│ │ ├── LoadBalancerSku: *Enum (2 values) +│ │ │ ├── "basic" +│ │ │ └── "standard" +│ │ ├── NatGatewayProfile: *Object (3 properties) +│ │ │ ├── EffectiveOutboundIPs: Object (1 property)[] +│ │ │ │ └── Id: *string +│ │ │ ├── IdleTimeoutInMinutes: *int +│ │ │ └── ManagedOutboundIPProfile: *Object (1 property) +│ │ │ └── Count: *int +│ │ ├── NetworkDataplane: *Enum (2 values) +│ │ │ ├── "azure" +│ │ │ └── "cilium" +│ │ ├── NetworkMode: *Enum (2 values) +│ │ │ ├── "bridge" +│ │ │ └── "transparent" +│ │ ├── NetworkPlugin: *Enum (3 values) +│ │ │ ├── "azure" +│ │ │ ├── "kubenet" +│ │ │ └── "none" +│ │ ├── NetworkPluginMode: *Enum (1 value) +│ │ │ └── "overlay" +│ │ ├── NetworkPolicy: *Enum (4 values) +│ │ │ ├── "azure" +│ │ │ ├── "calico" +│ │ │ ├── "cilium" +│ │ │ └── "none" +│ │ ├── OutboundType: *Enum (4 values) +│ │ │ ├── "loadBalancer" +│ │ │ ├── "managedNATGateway" +│ │ │ ├── "userAssignedNATGateway" +│ │ │ └── "userDefinedRouting" +│ │ ├── PodCidr: *string +│ │ ├── PodCidrs: string[] +│ │ ├── ServiceCidr: *string +│ │ └── ServiceCidrs: string[] +│ ├── NodeResourceGroup: *string +│ ├── NodeResourceGroupProfile: *Object (1 property) +│ │ └── RestrictionLevel: *Enum (2 values) +│ │ ├── "ReadOnly" +│ │ └── "Unrestricted" +│ ├── OidcIssuerProfile: *Object (1 property) +│ │ └── Enabled: *bool +│ ├── PodIdentityProfile: *Object (4 properties) +│ │ ├── AllowNetworkPluginKubenet: *bool +│ │ ├── Enabled: *bool +│ │ ├── UserAssignedIdentities: Object (4 properties)[] +│ │ │ ├── BindingSelector: *string +│ │ │ ├── Identity: *Object (3 properties) +│ │ │ │ ├── ClientId: *string +│ │ │ │ ├── ObjectId: *string +│ │ │ │ └── ResourceId: *string +│ │ │ ├── Name: *string +│ │ │ └── Namespace: *string +│ │ └── UserAssignedIdentityExceptions: Object (3 properties)[] +│ │ ├── Name: *string +│ │ ├── Namespace: *string +│ │ └── PodLabels: map[string]string +│ ├── PrivateLinkResources: Object (5 properties)[] +│ │ ├── GroupId: *string +│ │ ├── Id: *string +│ │ ├── Name: *string +│ │ ├── RequiredMembers: string[] +│ │ └── Type: *string +│ ├── PublicNetworkAccess: *Enum (2 values) +│ │ ├── "Disabled" +│ │ └── "Enabled" +│ ├── SecurityProfile: *Object (4 properties) +│ │ ├── AzureKeyVaultKms: *Object (4 properties) +│ │ │ ├── Enabled: *bool +│ │ │ ├── KeyId: *string +│ │ │ ├── KeyVaultNetworkAccess: *Enum (2 values) +│ │ │ │ ├── "Private" +│ │ │ │ └── "Public" +│ │ │ └── KeyVaultResourceId: *string +│ │ ├── Defender: *Object (2 properties) +│ │ │ ├── LogAnalyticsWorkspaceResourceId: *string +│ │ │ └── SecurityMonitoring: *Object (1 property) +│ │ │ └── Enabled: *bool +│ │ ├── ImageCleaner: *Object (2 properties) +│ │ │ ├── Enabled: *bool +│ │ │ └── IntervalHours: *int +│ │ └── WorkloadIdentity: *Object (1 property) +│ │ └── Enabled: *bool +│ ├── ServiceMeshProfile: *Object (2 properties) +│ │ ├── Istio: *Object (3 properties) +│ │ │ ├── CertificateAuthority: *Object (1 property) +│ │ │ │ └── Plugin: *Object (5 properties) +│ │ │ │ ├── CertChainObjectName: *string +│ │ │ │ ├── CertObjectName: *string +│ │ │ │ ├── KeyObjectName: *string +│ │ │ │ ├── KeyVaultId: *string +│ │ │ │ └── RootCertObjectName: *string +│ │ │ ├── Components: *Object (2 properties) +│ │ │ │ ├── EgressGateways: Object (1 property)[] +│ │ │ │ │ └── Enabled: *bool +│ │ │ │ └── IngressGateways: Object (2 properties)[] +│ │ │ │ ├── Enabled: *bool +│ │ │ │ └── Mode: *Enum (2 values) +│ │ │ │ ├── "External" +│ │ │ │ └── "Internal" +│ │ │ └── Revisions: string[] +│ │ └── Mode: *Enum (2 values) +│ │ ├── "Disabled" +│ │ └── "Istio" +│ ├── ServicePrincipalProfile: *Object (2 properties) +│ │ ├── ClientId: *string +│ │ └── Secret: *string +│ ├── StorageProfile: *Object (4 properties) +│ │ ├── BlobCSIDriver: *Object (1 property) +│ │ │ └── Enabled: *bool +│ │ ├── DiskCSIDriver: *Object (1 property) +│ │ │ └── Enabled: *bool +│ │ ├── FileCSIDriver: *Object (1 property) +│ │ │ └── Enabled: *bool +│ │ └── SnapshotController: *Object (1 property) +│ │ └── Enabled: *bool +│ ├── SupportPlan: *Enum (2 values) +│ │ ├── "AKSLongTermSupport" +│ │ └── "KubernetesOfficial" +│ ├── UpgradeSettings: *Object (1 property) +│ │ └── OverrideSettings: *Object (2 properties) +│ │ ├── ForceUpgrade: *bool +│ │ └── Until: *string +│ ├── WindowsProfile: *Object (5 properties) +│ │ ├── AdminPassword: *string +│ │ ├── AdminUsername: *string +│ │ ├── EnableCSIProxy: *bool +│ │ ├── GmsaProfile: *Object (3 properties) +│ │ │ ├── DnsServer: *string +│ │ │ ├── Enabled: *bool +│ │ │ └── RootDomainName: *string +│ │ └── LicenseType: *Enum (2 values) +│ │ ├── "None" +│ │ └── "Windows_Server" +│ └── WorkloadAutoScalerProfile: *Object (2 properties) +│ ├── Keda: *Object (1 property) +│ │ └── Enabled: *bool +│ └── VerticalPodAutoscaler: *Object (1 property) +│ └── Enabled: *bool +├── Sku: *Object (2 properties) +│ ├── Name: *Enum (1 value) +│ │ └── "Base" +│ └── Tier: *Enum (3 values) +│ ├── "Free" +│ ├── "Premium" +│ └── "Standard" +└── Tags: map[string]string +ManagedClustersAgentPool_STATUS: Object (4 properties) +├── Id: *string +├── Name: *string +├── Properties: *Object (46 properties) +│ ├── AvailabilityZones: string[] +│ ├── CapacityReservationGroupID: *string +│ ├── Count: *int +│ ├── CreationData: *Object (1 property) +│ │ └── SourceResourceId: *string +│ ├── CurrentOrchestratorVersion: *string +│ ├── ETag: *string +│ ├── EnableAutoScaling: *bool +│ ├── EnableEncryptionAtHost: *bool +│ ├── EnableFIPS: *bool +│ ├── EnableNodePublicIP: *bool +│ ├── EnableUltraSSD: *bool +│ ├── GpuInstanceProfile: *Enum (5 values) +│ │ ├── "MIG1g" +│ │ ├── "MIG2g" +│ │ ├── "MIG3g" +│ │ ├── "MIG4g" +│ │ └── "MIG7g" +│ ├── HostGroupID: *string +│ ├── KubeletConfig: *Object (11 properties) +│ │ ├── AllowedUnsafeSysctls: string[] +│ │ ├── ContainerLogMaxFiles: *int +│ │ ├── ContainerLogMaxSizeMB: *int +│ │ ├── CpuCfsQuota: *bool +│ │ ├── CpuCfsQuotaPeriod: *string +│ │ ├── CpuManagerPolicy: *string +│ │ ├── FailSwapOn: *bool +│ │ ├── ImageGcHighThreshold: *int +│ │ ├── ImageGcLowThreshold: *int +│ │ ├── PodMaxPids: *int +│ │ └── TopologyManagerPolicy: *string +│ ├── KubeletDiskType: *Enum (2 values) +│ │ ├── "OS" +│ │ └── "Temporary" +│ ├── LinuxOSConfig: *Object (4 properties) +│ │ ├── SwapFileSizeMB: *int +│ │ ├── Sysctls: *Object (28 properties) +│ │ │ ├── FsAioMaxNr: *int +│ │ │ ├── FsFileMax: *int +│ │ │ ├── FsInotifyMaxUserWatches: *int +│ │ │ ├── FsNrOpen: *int +│ │ │ ├── KernelThreadsMax: *int +│ │ │ ├── NetCoreNetdevMaxBacklog: *int +│ │ │ ├── NetCoreOptmemMax: *int +│ │ │ ├── NetCoreRmemDefault: *int +│ │ │ ├── NetCoreRmemMax: *int +│ │ │ ├── NetCoreSomaxconn: *int +│ │ │ ├── NetCoreWmemDefault: *int +│ │ │ ├── NetCoreWmemMax: *int +│ │ │ ├── NetIpv4IpLocalPortRange: *string +│ │ │ ├── NetIpv4NeighDefaultGcThresh1: *int +│ │ │ ├── NetIpv4NeighDefaultGcThresh2: *int +│ │ │ ├── NetIpv4NeighDefaultGcThresh3: *int +│ │ │ ├── NetIpv4TcpFinTimeout: *int +│ │ │ ├── NetIpv4TcpKeepaliveProbes: *int +│ │ │ ├── NetIpv4TcpKeepaliveTime: *int +│ │ │ ├── NetIpv4TcpMaxSynBacklog: *int +│ │ │ ├── NetIpv4TcpMaxTwBuckets: *int +│ │ │ ├── NetIpv4TcpTwReuse: *bool +│ │ │ ├── NetIpv4TcpkeepaliveIntvl: *int +│ │ │ ├── NetNetfilterNfConntrackBuckets: *int +│ │ │ ├── NetNetfilterNfConntrackMax: *int +│ │ │ ├── VmMaxMapCount: *int +│ │ │ ├── VmSwappiness: *int +│ │ │ └── VmVfsCachePressure: *int +│ │ ├── TransparentHugePageDefrag: *string +│ │ └── TransparentHugePageEnabled: *string +│ ├── MaxCount: *int +│ ├── MaxPods: *int +│ ├── MinCount: *int +│ ├── Mode: *Enum (2 values) +│ │ ├── "System" +│ │ └── "User" +│ ├── NetworkProfile: *Object (3 properties) +│ │ ├── AllowedHostPorts: Object (3 properties)[] +│ │ │ ├── PortEnd: *int +│ │ │ ├── PortStart: *int +│ │ │ └── Protocol: *Enum (2 values) +│ │ │ ├── "TCP" +│ │ │ └── "UDP" +│ │ ├── ApplicationSecurityGroups: string[] +│ │ └── NodePublicIPTags: Object (2 properties)[] +│ │ ├── IpTagType: *string +│ │ └── Tag: *string +│ ├── NodeImageVersion: *string +│ ├── NodeLabels: map[string]string +│ ├── NodePublicIPPrefixID: *string +│ ├── NodeTaints: string[] +│ ├── OrchestratorVersion: *string +│ ├── OsDiskSizeGB: *int +│ ├── OsDiskType: *Enum (2 values) +│ │ ├── "Ephemeral" +│ │ └── "Managed" +│ ├── OsSKU: *Enum (5 values) +│ │ ├── "AzureLinux" +│ │ ├── "CBLMariner" +│ │ ├── "Ubuntu" +│ │ ├── "Windows2019" +│ │ └── "Windows2022" +│ ├── OsType: *Enum (2 values) +│ │ ├── "Linux" +│ │ └── "Windows" +│ ├── PodSubnetID: *string +│ ├── PowerState: *Object (1 property) +│ │ └── Code: *Enum (2 values) +│ │ ├── "Running" +│ │ └── "Stopped" +│ ├── ProvisioningState: *string +│ ├── ProximityPlacementGroupID: *string +│ ├── ScaleDownMode: *Enum (2 values) +│ │ ├── "Deallocate" +│ │ └── "Delete" +│ ├── ScaleSetEvictionPolicy: *Enum (2 values) +│ │ ├── "Deallocate" +│ │ └── "Delete" +│ ├── ScaleSetPriority: *Enum (2 values) +│ │ ├── "Regular" +│ │ └── "Spot" +│ ├── SecurityProfile: *Object (2 properties) +│ │ ├── EnableSecureBoot: *bool +│ │ └── EnableVTPM: *bool +│ ├── SpotMaxPrice: *float64 +│ ├── Tags: map[string]string +│ ├── Type: *Enum (2 values) +│ │ ├── "AvailabilitySet" +│ │ └── "VirtualMachineScaleSets" +│ ├── UpgradeSettings: *Object (3 properties) +│ │ ├── DrainTimeoutInMinutes: *int +│ │ ├── MaxSurge: *string +│ │ └── NodeSoakDurationInMinutes: *int +│ ├── VmSize: *string +│ ├── VnetSubnetID: *string +│ ├── WindowsProfile: *Object (1 property) +│ │ └── DisableOutboundNat: *bool +│ └── WorkloadRuntime: *Enum (2 values) +│ ├── "OCIContainer" +│ └── "WasmWasi" +└── Type: *string +ManagedClustersAgentPool_Spec: Object (2 properties) +├── Name: string +└── Properties: *Object (42 properties) + ├── AvailabilityZones: string[] + ├── CapacityReservationGroupID: *string + ├── Count: *int + ├── CreationData: *Object (1 property) + │ └── SourceResourceId: *string + ├── EnableAutoScaling: *bool + ├── EnableEncryptionAtHost: *bool + ├── EnableFIPS: *bool + ├── EnableNodePublicIP: *bool + ├── EnableUltraSSD: *bool + ├── GpuInstanceProfile: *Enum (5 values) + │ ├── "MIG1g" + │ ├── "MIG2g" + │ ├── "MIG3g" + │ ├── "MIG4g" + │ └── "MIG7g" + ├── HostGroupID: *string + ├── KubeletConfig: *Object (11 properties) + │ ├── AllowedUnsafeSysctls: string[] + │ ├── ContainerLogMaxFiles: *int + │ ├── ContainerLogMaxSizeMB: *int + │ ├── CpuCfsQuota: *bool + │ ├── CpuCfsQuotaPeriod: *string + │ ├── CpuManagerPolicy: *string + │ ├── FailSwapOn: *bool + │ ├── ImageGcHighThreshold: *int + │ ├── ImageGcLowThreshold: *int + │ ├── PodMaxPids: *int + │ └── TopologyManagerPolicy: *string + ├── KubeletDiskType: *Enum (2 values) + │ ├── "OS" + │ └── "Temporary" + ├── LinuxOSConfig: *Object (4 properties) + │ ├── SwapFileSizeMB: *int + │ ├── Sysctls: *Object (28 properties) + │ │ ├── FsAioMaxNr: *int + │ │ ├── FsFileMax: *int + │ │ ├── FsInotifyMaxUserWatches: *int + │ │ ├── FsNrOpen: *int + │ │ ├── KernelThreadsMax: *int + │ │ ├── NetCoreNetdevMaxBacklog: *int + │ │ ├── NetCoreOptmemMax: *int + │ │ ├── NetCoreRmemDefault: *int + │ │ ├── NetCoreRmemMax: *int + │ │ ├── NetCoreSomaxconn: *int + │ │ ├── NetCoreWmemDefault: *int + │ │ ├── NetCoreWmemMax: *int + │ │ ├── NetIpv4IpLocalPortRange: *string + │ │ ├── NetIpv4NeighDefaultGcThresh1: *int + │ │ ├── NetIpv4NeighDefaultGcThresh2: *int + │ │ ├── NetIpv4NeighDefaultGcThresh3: *int + │ │ ├── NetIpv4TcpFinTimeout: *int + │ │ ├── NetIpv4TcpKeepaliveProbes: *int + │ │ ├── NetIpv4TcpKeepaliveTime: *int + │ │ ├── NetIpv4TcpMaxSynBacklog: *int + │ │ ├── NetIpv4TcpMaxTwBuckets: *int + │ │ ├── NetIpv4TcpTwReuse: *bool + │ │ ├── NetIpv4TcpkeepaliveIntvl: *int + │ │ ├── NetNetfilterNfConntrackBuckets: *int + │ │ ├── NetNetfilterNfConntrackMax: *int + │ │ ├── VmMaxMapCount: *int + │ │ ├── VmSwappiness: *int + │ │ └── VmVfsCachePressure: *int + │ ├── TransparentHugePageDefrag: *string + │ └── TransparentHugePageEnabled: *string + ├── MaxCount: *int + ├── MaxPods: *int + ├── MinCount: *int + ├── Mode: *Enum (2 values) + │ ├── "System" + │ └── "User" + ├── NetworkProfile: *Object (3 properties) + │ ├── AllowedHostPorts: Object (3 properties)[] + │ │ ├── PortEnd: *int + │ │ ├── PortStart: *int + │ │ └── Protocol: *Enum (2 values) + │ │ ├── "TCP" + │ │ └── "UDP" + │ ├── ApplicationSecurityGroups: string[] + │ └── NodePublicIPTags: Object (2 properties)[] + │ ├── IpTagType: *string + │ └── Tag: *string + ├── NodeLabels: map[string]string + ├── NodePublicIPPrefixID: *string + ├── NodeTaints: string[] + ├── OrchestratorVersion: *string + ├── OsDiskSizeGB: *int + ├── OsDiskType: *Enum (2 values) + │ ├── "Ephemeral" + │ └── "Managed" + ├── OsSKU: *Enum (5 values) + │ ├── "AzureLinux" + │ ├── "CBLMariner" + │ ├── "Ubuntu" + │ ├── "Windows2019" + │ └── "Windows2022" + ├── OsType: *Enum (2 values) + │ ├── "Linux" + │ └── "Windows" + ├── PodSubnetID: *string + ├── PowerState: *Object (1 property) + │ └── Code: *Enum (2 values) + │ ├── "Running" + │ └── "Stopped" + ├── ProximityPlacementGroupID: *string + ├── ScaleDownMode: *Enum (2 values) + │ ├── "Deallocate" + │ └── "Delete" + ├── ScaleSetEvictionPolicy: *Enum (2 values) + │ ├── "Deallocate" + │ └── "Delete" + ├── ScaleSetPriority: *Enum (2 values) + │ ├── "Regular" + │ └── "Spot" + ├── SecurityProfile: *Object (2 properties) + │ ├── EnableSecureBoot: *bool + │ └── EnableVTPM: *bool + ├── SpotMaxPrice: *float64 + ├── Tags: map[string]string + ├── Type: *Enum (2 values) + │ ├── "AvailabilitySet" + │ └── "VirtualMachineScaleSets" + ├── UpgradeSettings: *Object (3 properties) + │ ├── DrainTimeoutInMinutes: *int + │ ├── MaxSurge: *string + │ └── NodeSoakDurationInMinutes: *int + ├── VmSize: *string + ├── VnetSubnetID: *string + ├── WindowsProfile: *Object (1 property) + │ └── DisableOutboundNat: *bool + └── WorkloadRuntime: *Enum (2 values) + ├── "OCIContainer" + └── "WasmWasi" +TrustedAccessRoleBinding_STATUS: Object (5 properties) +├── Id: *string +├── Name: *string +├── Properties: *Object (3 properties) +│ ├── ProvisioningState: *Enum (5 values) +│ │ ├── "Canceled" +│ │ ├── "Deleting" +│ │ ├── "Failed" +│ │ ├── "Succeeded" +│ │ └── "Updating" +│ ├── Roles: string[] +│ └── SourceResourceId: *string +├── SystemData: *Object (6 properties) +│ ├── CreatedAt: *string +│ ├── CreatedBy: *string +│ ├── CreatedByType: *Enum (4 values) +│ │ ├── "Application" +│ │ ├── "Key" +│ │ ├── "ManagedIdentity" +│ │ └── "User" +│ ├── LastModifiedAt: *string +│ ├── LastModifiedBy: *string +│ └── LastModifiedByType: *Enum (4 values) +│ ├── "Application" +│ ├── "Key" +│ ├── "ManagedIdentity" +│ └── "User" +└── Type: *string +TrustedAccessRoleBinding_Spec: Object (2 properties) +├── Name: string +└── Properties: *Object (2 properties) + ├── Roles: string[] + └── SourceResourceId: *string diff --git a/v2/api/containerservice/v1api20240901/arm/trusted_access_role_binding_spec_types_gen.go b/v2/api/containerservice/v1api20240901/arm/trusted_access_role_binding_spec_types_gen.go new file mode 100644 index 00000000000..01986725ec4 --- /dev/null +++ b/v2/api/containerservice/v1api20240901/arm/trusted_access_role_binding_spec_types_gen.go @@ -0,0 +1,38 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package arm + +import "github.com/Azure/azure-service-operator/v2/pkg/genruntime" + +type TrustedAccessRoleBinding_Spec struct { + Name string `json:"name,omitempty"` + + // Properties: Properties for trusted access role binding + Properties *TrustedAccessRoleBindingProperties `json:"properties,omitempty"` +} + +var _ genruntime.ARMResourceSpec = &TrustedAccessRoleBinding_Spec{} + +// GetAPIVersion returns the ARM API version of the resource. This is always "2024-09-01" +func (binding TrustedAccessRoleBinding_Spec) GetAPIVersion() string { + return "2024-09-01" +} + +// GetName returns the Name of the resource +func (binding *TrustedAccessRoleBinding_Spec) GetName() string { + return binding.Name +} + +// GetType returns the ARM Type of the resource. This is always "Microsoft.ContainerService/managedClusters/trustedAccessRoleBindings" +func (binding *TrustedAccessRoleBinding_Spec) GetType() string { + return "Microsoft.ContainerService/managedClusters/trustedAccessRoleBindings" +} + +// Properties for trusted access role binding +type TrustedAccessRoleBindingProperties struct { + // Roles: A list of roles to bind, each item is a resource type qualified role name. For example: + // 'Microsoft.MachineLearningServices/workspaces/reader'. + Roles []string `json:"roles"` + SourceResourceId *string `json:"sourceResourceId,omitempty"` +} diff --git a/v2/api/containerservice/v1api20240901/arm/trusted_access_role_binding_spec_types_gen_test.go b/v2/api/containerservice/v1api20240901/arm/trusted_access_role_binding_spec_types_gen_test.go new file mode 100644 index 00000000000..5b5a533b7fd --- /dev/null +++ b/v2/api/containerservice/v1api20240901/arm/trusted_access_role_binding_spec_types_gen_test.go @@ -0,0 +1,155 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package arm + +import ( + "encoding/json" + "github.com/google/go-cmp/cmp" + "github.com/google/go-cmp/cmp/cmpopts" + "github.com/kr/pretty" + "github.com/kylelemons/godebug/diff" + "github.com/leanovate/gopter" + "github.com/leanovate/gopter/gen" + "github.com/leanovate/gopter/prop" + "os" + "reflect" + "testing" +) + +func Test_TrustedAccessRoleBindingProperties_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of TrustedAccessRoleBindingProperties via JSON returns original", + prop.ForAll(RunJSONSerializationTestForTrustedAccessRoleBindingProperties, TrustedAccessRoleBindingPropertiesGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForTrustedAccessRoleBindingProperties runs a test to see if a specific instance of TrustedAccessRoleBindingProperties round trips to JSON and back losslessly +func RunJSONSerializationTestForTrustedAccessRoleBindingProperties(subject TrustedAccessRoleBindingProperties) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual TrustedAccessRoleBindingProperties + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of TrustedAccessRoleBindingProperties instances for property testing - lazily instantiated by +// TrustedAccessRoleBindingPropertiesGenerator() +var trustedAccessRoleBindingPropertiesGenerator gopter.Gen + +// TrustedAccessRoleBindingPropertiesGenerator returns a generator of TrustedAccessRoleBindingProperties instances for property testing. +func TrustedAccessRoleBindingPropertiesGenerator() gopter.Gen { + if trustedAccessRoleBindingPropertiesGenerator != nil { + return trustedAccessRoleBindingPropertiesGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForTrustedAccessRoleBindingProperties(generators) + trustedAccessRoleBindingPropertiesGenerator = gen.Struct(reflect.TypeOf(TrustedAccessRoleBindingProperties{}), generators) + + return trustedAccessRoleBindingPropertiesGenerator +} + +// AddIndependentPropertyGeneratorsForTrustedAccessRoleBindingProperties is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForTrustedAccessRoleBindingProperties(gens map[string]gopter.Gen) { + gens["Roles"] = gen.SliceOf(gen.AlphaString()) + gens["SourceResourceId"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_TrustedAccessRoleBinding_Spec_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of TrustedAccessRoleBinding_Spec via JSON returns original", + prop.ForAll(RunJSONSerializationTestForTrustedAccessRoleBinding_Spec, TrustedAccessRoleBinding_SpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForTrustedAccessRoleBinding_Spec runs a test to see if a specific instance of TrustedAccessRoleBinding_Spec round trips to JSON and back losslessly +func RunJSONSerializationTestForTrustedAccessRoleBinding_Spec(subject TrustedAccessRoleBinding_Spec) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual TrustedAccessRoleBinding_Spec + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of TrustedAccessRoleBinding_Spec instances for property testing - lazily instantiated by +// TrustedAccessRoleBinding_SpecGenerator() +var trustedAccessRoleBinding_SpecGenerator gopter.Gen + +// TrustedAccessRoleBinding_SpecGenerator returns a generator of TrustedAccessRoleBinding_Spec instances for property testing. +// We first initialize trustedAccessRoleBinding_SpecGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func TrustedAccessRoleBinding_SpecGenerator() gopter.Gen { + if trustedAccessRoleBinding_SpecGenerator != nil { + return trustedAccessRoleBinding_SpecGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForTrustedAccessRoleBinding_Spec(generators) + trustedAccessRoleBinding_SpecGenerator = gen.Struct(reflect.TypeOf(TrustedAccessRoleBinding_Spec{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForTrustedAccessRoleBinding_Spec(generators) + AddRelatedPropertyGeneratorsForTrustedAccessRoleBinding_Spec(generators) + trustedAccessRoleBinding_SpecGenerator = gen.Struct(reflect.TypeOf(TrustedAccessRoleBinding_Spec{}), generators) + + return trustedAccessRoleBinding_SpecGenerator +} + +// AddIndependentPropertyGeneratorsForTrustedAccessRoleBinding_Spec is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForTrustedAccessRoleBinding_Spec(gens map[string]gopter.Gen) { + gens["Name"] = gen.AlphaString() +} + +// AddRelatedPropertyGeneratorsForTrustedAccessRoleBinding_Spec is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForTrustedAccessRoleBinding_Spec(gens map[string]gopter.Gen) { + gens["Properties"] = gen.PtrOf(TrustedAccessRoleBindingPropertiesGenerator()) +} diff --git a/v2/api/containerservice/v1api20240901/arm/trusted_access_role_binding_status_types_gen.go b/v2/api/containerservice/v1api20240901/arm/trusted_access_role_binding_status_types_gen.go new file mode 100644 index 00000000000..47003b4ea52 --- /dev/null +++ b/v2/api/containerservice/v1api20240901/arm/trusted_access_role_binding_status_types_gen.go @@ -0,0 +1,54 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package arm + +type TrustedAccessRoleBinding_STATUS struct { + // Id: Fully qualified resource ID for the resource. E.g. + // "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + Id *string `json:"id,omitempty"` + + // Name: The name of the resource + Name *string `json:"name,omitempty"` + + // Properties: Properties for trusted access role binding + Properties *TrustedAccessRoleBindingProperties_STATUS `json:"properties,omitempty"` + + // SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information. + SystemData *SystemData_STATUS `json:"systemData,omitempty"` + + // Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + Type *string `json:"type,omitempty"` +} + +// Properties for trusted access role binding +type TrustedAccessRoleBindingProperties_STATUS struct { + // ProvisioningState: The current provisioning state of trusted access role binding. + ProvisioningState *TrustedAccessRoleBindingProperties_ProvisioningState_STATUS `json:"provisioningState,omitempty"` + + // Roles: A list of roles to bind, each item is a resource type qualified role name. For example: + // 'Microsoft.MachineLearningServices/workspaces/reader'. + Roles []string `json:"roles"` + + // SourceResourceId: The ARM resource ID of source resource that trusted access is configured for. + SourceResourceId *string `json:"sourceResourceId,omitempty"` +} + +type TrustedAccessRoleBindingProperties_ProvisioningState_STATUS string + +const ( + TrustedAccessRoleBindingProperties_ProvisioningState_STATUS_Canceled = TrustedAccessRoleBindingProperties_ProvisioningState_STATUS("Canceled") + TrustedAccessRoleBindingProperties_ProvisioningState_STATUS_Deleting = TrustedAccessRoleBindingProperties_ProvisioningState_STATUS("Deleting") + TrustedAccessRoleBindingProperties_ProvisioningState_STATUS_Failed = TrustedAccessRoleBindingProperties_ProvisioningState_STATUS("Failed") + TrustedAccessRoleBindingProperties_ProvisioningState_STATUS_Succeeded = TrustedAccessRoleBindingProperties_ProvisioningState_STATUS("Succeeded") + TrustedAccessRoleBindingProperties_ProvisioningState_STATUS_Updating = TrustedAccessRoleBindingProperties_ProvisioningState_STATUS("Updating") +) + +// Mapping from string to TrustedAccessRoleBindingProperties_ProvisioningState_STATUS +var trustedAccessRoleBindingProperties_ProvisioningState_STATUS_Values = map[string]TrustedAccessRoleBindingProperties_ProvisioningState_STATUS{ + "canceled": TrustedAccessRoleBindingProperties_ProvisioningState_STATUS_Canceled, + "deleting": TrustedAccessRoleBindingProperties_ProvisioningState_STATUS_Deleting, + "failed": TrustedAccessRoleBindingProperties_ProvisioningState_STATUS_Failed, + "succeeded": TrustedAccessRoleBindingProperties_ProvisioningState_STATUS_Succeeded, + "updating": TrustedAccessRoleBindingProperties_ProvisioningState_STATUS_Updating, +} diff --git a/v2/api/containerservice/v1api20240901/arm/trusted_access_role_binding_status_types_gen_test.go b/v2/api/containerservice/v1api20240901/arm/trusted_access_role_binding_status_types_gen_test.go new file mode 100644 index 00000000000..d868e2d5b3f --- /dev/null +++ b/v2/api/containerservice/v1api20240901/arm/trusted_access_role_binding_status_types_gen_test.go @@ -0,0 +1,164 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package arm + +import ( + "encoding/json" + "github.com/google/go-cmp/cmp" + "github.com/google/go-cmp/cmp/cmpopts" + "github.com/kr/pretty" + "github.com/kylelemons/godebug/diff" + "github.com/leanovate/gopter" + "github.com/leanovate/gopter/gen" + "github.com/leanovate/gopter/prop" + "os" + "reflect" + "testing" +) + +func Test_TrustedAccessRoleBindingProperties_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of TrustedAccessRoleBindingProperties_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForTrustedAccessRoleBindingProperties_STATUS, TrustedAccessRoleBindingProperties_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForTrustedAccessRoleBindingProperties_STATUS runs a test to see if a specific instance of TrustedAccessRoleBindingProperties_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForTrustedAccessRoleBindingProperties_STATUS(subject TrustedAccessRoleBindingProperties_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual TrustedAccessRoleBindingProperties_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of TrustedAccessRoleBindingProperties_STATUS instances for property testing - lazily instantiated by +// TrustedAccessRoleBindingProperties_STATUSGenerator() +var trustedAccessRoleBindingProperties_STATUSGenerator gopter.Gen + +// TrustedAccessRoleBindingProperties_STATUSGenerator returns a generator of TrustedAccessRoleBindingProperties_STATUS instances for property testing. +func TrustedAccessRoleBindingProperties_STATUSGenerator() gopter.Gen { + if trustedAccessRoleBindingProperties_STATUSGenerator != nil { + return trustedAccessRoleBindingProperties_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForTrustedAccessRoleBindingProperties_STATUS(generators) + trustedAccessRoleBindingProperties_STATUSGenerator = gen.Struct(reflect.TypeOf(TrustedAccessRoleBindingProperties_STATUS{}), generators) + + return trustedAccessRoleBindingProperties_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForTrustedAccessRoleBindingProperties_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForTrustedAccessRoleBindingProperties_STATUS(gens map[string]gopter.Gen) { + gens["ProvisioningState"] = gen.PtrOf(gen.OneConstOf( + TrustedAccessRoleBindingProperties_ProvisioningState_STATUS_Canceled, + TrustedAccessRoleBindingProperties_ProvisioningState_STATUS_Deleting, + TrustedAccessRoleBindingProperties_ProvisioningState_STATUS_Failed, + TrustedAccessRoleBindingProperties_ProvisioningState_STATUS_Succeeded, + TrustedAccessRoleBindingProperties_ProvisioningState_STATUS_Updating)) + gens["Roles"] = gen.SliceOf(gen.AlphaString()) + gens["SourceResourceId"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_TrustedAccessRoleBinding_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of TrustedAccessRoleBinding_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForTrustedAccessRoleBinding_STATUS, TrustedAccessRoleBinding_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForTrustedAccessRoleBinding_STATUS runs a test to see if a specific instance of TrustedAccessRoleBinding_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForTrustedAccessRoleBinding_STATUS(subject TrustedAccessRoleBinding_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual TrustedAccessRoleBinding_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of TrustedAccessRoleBinding_STATUS instances for property testing - lazily instantiated by +// TrustedAccessRoleBinding_STATUSGenerator() +var trustedAccessRoleBinding_STATUSGenerator gopter.Gen + +// TrustedAccessRoleBinding_STATUSGenerator returns a generator of TrustedAccessRoleBinding_STATUS instances for property testing. +// We first initialize trustedAccessRoleBinding_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func TrustedAccessRoleBinding_STATUSGenerator() gopter.Gen { + if trustedAccessRoleBinding_STATUSGenerator != nil { + return trustedAccessRoleBinding_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForTrustedAccessRoleBinding_STATUS(generators) + trustedAccessRoleBinding_STATUSGenerator = gen.Struct(reflect.TypeOf(TrustedAccessRoleBinding_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForTrustedAccessRoleBinding_STATUS(generators) + AddRelatedPropertyGeneratorsForTrustedAccessRoleBinding_STATUS(generators) + trustedAccessRoleBinding_STATUSGenerator = gen.Struct(reflect.TypeOf(TrustedAccessRoleBinding_STATUS{}), generators) + + return trustedAccessRoleBinding_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForTrustedAccessRoleBinding_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForTrustedAccessRoleBinding_STATUS(gens map[string]gopter.Gen) { + gens["Id"] = gen.PtrOf(gen.AlphaString()) + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["Type"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForTrustedAccessRoleBinding_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForTrustedAccessRoleBinding_STATUS(gens map[string]gopter.Gen) { + gens["Properties"] = gen.PtrOf(TrustedAccessRoleBindingProperties_STATUSGenerator()) + gens["SystemData"] = gen.PtrOf(SystemData_STATUSGenerator()) +} diff --git a/v2/api/containerservice/v1api20240901/doc.go b/v2/api/containerservice/v1api20240901/doc.go new file mode 100644 index 00000000000..6dbac6e4c1a --- /dev/null +++ b/v2/api/containerservice/v1api20240901/doc.go @@ -0,0 +1,10 @@ +/* +Copyright (c) Microsoft Corporation. +Licensed under the MIT license. +*/ + +// Code generated by azure-service-operator-codegen. DO NOT EDIT. + +// Package v1api20240901 contains API Schema definitions for the containerservice v1api20240901 API group +// +groupName=containerservice.azure.com +package v1api20240901 diff --git a/v2/api/containerservice/v1api20240901/groupversion_info_gen.go b/v2/api/containerservice/v1api20240901/groupversion_info_gen.go new file mode 100644 index 00000000000..e1f42009238 --- /dev/null +++ b/v2/api/containerservice/v1api20240901/groupversion_info_gen.go @@ -0,0 +1,32 @@ +/* +Copyright (c) Microsoft Corporation. +Licensed under the MIT license. +*/ + +// Code generated by azure-service-operator-codegen. DO NOT EDIT. + +// Package v1api20240901 contains API Schema definitions for the containerservice v1api20240901 API group +// +kubebuilder:object:generate=true +// All object properties are optional by default, this will be overridden when needed: +// +kubebuilder:validation:Optional +// +groupName=containerservice.azure.com +// +versionName=v1api20240901 +package v1api20240901 + +import ( + "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/scheme" +) + +var ( + // GroupVersion is group version used to register these objects + GroupVersion = schema.GroupVersion{Group: "containerservice.azure.com", Version: "v1api20240901"} + + // SchemeBuilder is used to add go types to the GroupVersionKind scheme + SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} + + // AddToScheme adds the types in this group-version to the given scheme. + AddToScheme = SchemeBuilder.AddToScheme + + localSchemeBuilder = SchemeBuilder.SchemeBuilder +) diff --git a/v2/api/containerservice/v1api20240901/maintenance_configuration_types_gen.go b/v2/api/containerservice/v1api20240901/maintenance_configuration_types_gen.go new file mode 100644 index 00000000000..4ecd44f3e7a --- /dev/null +++ b/v2/api/containerservice/v1api20240901/maintenance_configuration_types_gen.go @@ -0,0 +1,3938 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package v1api20240901 + +import ( + "fmt" + arm "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20240901/arm" + storage "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20240901/storage" + "github.com/Azure/azure-service-operator/v2/internal/reflecthelpers" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime/conditions" + "github.com/pkg/errors" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/conversion" + "sigs.k8s.io/controller-runtime/pkg/webhook/admission" +) + +// +kubebuilder:object:root=true +// +kubebuilder:subresource:status +// +kubebuilder:printcolumn:name="Ready",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +// +kubebuilder:printcolumn:name="Severity",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].severity" +// +kubebuilder:printcolumn:name="Reason",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].reason" +// +kubebuilder:printcolumn:name="Message",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].message" +// Generator information: +// - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2024-09-01/managedClusters.json +// - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/maintenanceConfigurations/{configName} +type MaintenanceConfiguration struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec MaintenanceConfiguration_Spec `json:"spec,omitempty"` + Status MaintenanceConfiguration_STATUS `json:"status,omitempty"` +} + +var _ conditions.Conditioner = &MaintenanceConfiguration{} + +// GetConditions returns the conditions of the resource +func (configuration *MaintenanceConfiguration) GetConditions() conditions.Conditions { + return configuration.Status.Conditions +} + +// SetConditions sets the conditions on the resource status +func (configuration *MaintenanceConfiguration) SetConditions(conditions conditions.Conditions) { + configuration.Status.Conditions = conditions +} + +var _ conversion.Convertible = &MaintenanceConfiguration{} + +// ConvertFrom populates our MaintenanceConfiguration from the provided hub MaintenanceConfiguration +func (configuration *MaintenanceConfiguration) ConvertFrom(hub conversion.Hub) error { + source, ok := hub.(*storage.MaintenanceConfiguration) + if !ok { + return fmt.Errorf("expected containerservice/v1api20240901/storage/MaintenanceConfiguration but received %T instead", hub) + } + + return configuration.AssignProperties_From_MaintenanceConfiguration(source) +} + +// ConvertTo populates the provided hub MaintenanceConfiguration from our MaintenanceConfiguration +func (configuration *MaintenanceConfiguration) ConvertTo(hub conversion.Hub) error { + destination, ok := hub.(*storage.MaintenanceConfiguration) + if !ok { + return fmt.Errorf("expected containerservice/v1api20240901/storage/MaintenanceConfiguration but received %T instead", hub) + } + + return configuration.AssignProperties_To_MaintenanceConfiguration(destination) +} + +// +kubebuilder:webhook:path=/mutate-containerservice-azure-com-v1api20240901-maintenanceconfiguration,mutating=true,sideEffects=None,matchPolicy=Exact,failurePolicy=fail,groups=containerservice.azure.com,resources=maintenanceconfigurations,verbs=create;update,versions=v1api20240901,name=default.v1api20240901.maintenanceconfigurations.containerservice.azure.com,admissionReviewVersions=v1 + +var _ admission.Defaulter = &MaintenanceConfiguration{} + +// Default applies defaults to the MaintenanceConfiguration resource +func (configuration *MaintenanceConfiguration) Default() { + configuration.defaultImpl() + var temp any = configuration + if runtimeDefaulter, ok := temp.(genruntime.Defaulter); ok { + runtimeDefaulter.CustomDefault() + } +} + +// defaultAzureName defaults the Azure name of the resource to the Kubernetes name +func (configuration *MaintenanceConfiguration) defaultAzureName() { + if configuration.Spec.AzureName == "" { + configuration.Spec.AzureName = configuration.Name + } +} + +// defaultImpl applies the code generated defaults to the MaintenanceConfiguration resource +func (configuration *MaintenanceConfiguration) defaultImpl() { configuration.defaultAzureName() } + +var _ genruntime.ImportableResource = &MaintenanceConfiguration{} + +// InitializeSpec initializes the spec for this resource from the given status +func (configuration *MaintenanceConfiguration) InitializeSpec(status genruntime.ConvertibleStatus) error { + if s, ok := status.(*MaintenanceConfiguration_STATUS); ok { + return configuration.Spec.Initialize_From_MaintenanceConfiguration_STATUS(s) + } + + return fmt.Errorf("expected Status of type MaintenanceConfiguration_STATUS but received %T instead", status) +} + +var _ genruntime.KubernetesResource = &MaintenanceConfiguration{} + +// AzureName returns the Azure name of the resource +func (configuration *MaintenanceConfiguration) AzureName() string { + return configuration.Spec.AzureName +} + +// GetAPIVersion returns the ARM API version of the resource. This is always "2024-09-01" +func (configuration MaintenanceConfiguration) GetAPIVersion() string { + return "2024-09-01" +} + +// GetResourceScope returns the scope of the resource +func (configuration *MaintenanceConfiguration) GetResourceScope() genruntime.ResourceScope { + return genruntime.ResourceScopeResourceGroup +} + +// GetSpec returns the specification of this resource +func (configuration *MaintenanceConfiguration) GetSpec() genruntime.ConvertibleSpec { + return &configuration.Spec +} + +// GetStatus returns the status of this resource +func (configuration *MaintenanceConfiguration) GetStatus() genruntime.ConvertibleStatus { + return &configuration.Status +} + +// GetSupportedOperations returns the operations supported by the resource +func (configuration *MaintenanceConfiguration) GetSupportedOperations() []genruntime.ResourceOperation { + return []genruntime.ResourceOperation{ + genruntime.ResourceOperationDelete, + genruntime.ResourceOperationGet, + genruntime.ResourceOperationPut, + } +} + +// GetType returns the ARM Type of the resource. This is always "Microsoft.ContainerService/managedClusters/maintenanceConfigurations" +func (configuration *MaintenanceConfiguration) GetType() string { + return "Microsoft.ContainerService/managedClusters/maintenanceConfigurations" +} + +// NewEmptyStatus returns a new empty (blank) status +func (configuration *MaintenanceConfiguration) NewEmptyStatus() genruntime.ConvertibleStatus { + return &MaintenanceConfiguration_STATUS{} +} + +// Owner returns the ResourceReference of the owner +func (configuration *MaintenanceConfiguration) Owner() *genruntime.ResourceReference { + group, kind := genruntime.LookupOwnerGroupKind(configuration.Spec) + return configuration.Spec.Owner.AsResourceReference(group, kind) +} + +// SetStatus sets the status of this resource +func (configuration *MaintenanceConfiguration) SetStatus(status genruntime.ConvertibleStatus) error { + // If we have exactly the right type of status, assign it + if st, ok := status.(*MaintenanceConfiguration_STATUS); ok { + configuration.Status = *st + return nil + } + + // Convert status to required version + var st MaintenanceConfiguration_STATUS + err := status.ConvertStatusTo(&st) + if err != nil { + return errors.Wrap(err, "failed to convert status") + } + + configuration.Status = st + return nil +} + +// +kubebuilder:webhook:path=/validate-containerservice-azure-com-v1api20240901-maintenanceconfiguration,mutating=false,sideEffects=None,matchPolicy=Exact,failurePolicy=fail,groups=containerservice.azure.com,resources=maintenanceconfigurations,verbs=create;update,versions=v1api20240901,name=validate.v1api20240901.maintenanceconfigurations.containerservice.azure.com,admissionReviewVersions=v1 + +var _ admission.Validator = &MaintenanceConfiguration{} + +// ValidateCreate validates the creation of the resource +func (configuration *MaintenanceConfiguration) ValidateCreate() (admission.Warnings, error) { + validations := configuration.createValidations() + var temp any = configuration + if runtimeValidator, ok := temp.(genruntime.Validator); ok { + validations = append(validations, runtimeValidator.CreateValidations()...) + } + return genruntime.ValidateCreate(validations) +} + +// ValidateDelete validates the deletion of the resource +func (configuration *MaintenanceConfiguration) ValidateDelete() (admission.Warnings, error) { + validations := configuration.deleteValidations() + var temp any = configuration + if runtimeValidator, ok := temp.(genruntime.Validator); ok { + validations = append(validations, runtimeValidator.DeleteValidations()...) + } + return genruntime.ValidateDelete(validations) +} + +// ValidateUpdate validates an update of the resource +func (configuration *MaintenanceConfiguration) ValidateUpdate(old runtime.Object) (admission.Warnings, error) { + validations := configuration.updateValidations() + var temp any = configuration + if runtimeValidator, ok := temp.(genruntime.Validator); ok { + validations = append(validations, runtimeValidator.UpdateValidations()...) + } + return genruntime.ValidateUpdate(old, validations) +} + +// createValidations validates the creation of the resource +func (configuration *MaintenanceConfiguration) createValidations() []func() (admission.Warnings, error) { + return []func() (admission.Warnings, error){configuration.validateResourceReferences, configuration.validateOwnerReference} +} + +// deleteValidations validates the deletion of the resource +func (configuration *MaintenanceConfiguration) deleteValidations() []func() (admission.Warnings, error) { + return nil +} + +// updateValidations validates the update of the resource +func (configuration *MaintenanceConfiguration) updateValidations() []func(old runtime.Object) (admission.Warnings, error) { + return []func(old runtime.Object) (admission.Warnings, error){ + func(old runtime.Object) (admission.Warnings, error) { + return configuration.validateResourceReferences() + }, + configuration.validateWriteOnceProperties, + func(old runtime.Object) (admission.Warnings, error) { + return configuration.validateOwnerReference() + }, + } +} + +// validateOwnerReference validates the owner field +func (configuration *MaintenanceConfiguration) validateOwnerReference() (admission.Warnings, error) { + return genruntime.ValidateOwner(configuration) +} + +// validateResourceReferences validates all resource references +func (configuration *MaintenanceConfiguration) validateResourceReferences() (admission.Warnings, error) { + refs, err := reflecthelpers.FindResourceReferences(&configuration.Spec) + if err != nil { + return nil, err + } + return genruntime.ValidateResourceReferences(refs) +} + +// validateWriteOnceProperties validates all WriteOnce properties +func (configuration *MaintenanceConfiguration) validateWriteOnceProperties(old runtime.Object) (admission.Warnings, error) { + oldObj, ok := old.(*MaintenanceConfiguration) + if !ok { + return nil, nil + } + + return genruntime.ValidateWriteOnceProperties(oldObj, configuration) +} + +// AssignProperties_From_MaintenanceConfiguration populates our MaintenanceConfiguration from the provided source MaintenanceConfiguration +func (configuration *MaintenanceConfiguration) AssignProperties_From_MaintenanceConfiguration(source *storage.MaintenanceConfiguration) error { + + // ObjectMeta + configuration.ObjectMeta = *source.ObjectMeta.DeepCopy() + + // Spec + var spec MaintenanceConfiguration_Spec + err := spec.AssignProperties_From_MaintenanceConfiguration_Spec(&source.Spec) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_MaintenanceConfiguration_Spec() to populate field Spec") + } + configuration.Spec = spec + + // Status + var status MaintenanceConfiguration_STATUS + err = status.AssignProperties_From_MaintenanceConfiguration_STATUS(&source.Status) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_MaintenanceConfiguration_STATUS() to populate field Status") + } + configuration.Status = status + + // No error + return nil +} + +// AssignProperties_To_MaintenanceConfiguration populates the provided destination MaintenanceConfiguration from our MaintenanceConfiguration +func (configuration *MaintenanceConfiguration) AssignProperties_To_MaintenanceConfiguration(destination *storage.MaintenanceConfiguration) error { + + // ObjectMeta + destination.ObjectMeta = *configuration.ObjectMeta.DeepCopy() + + // Spec + var spec storage.MaintenanceConfiguration_Spec + err := configuration.Spec.AssignProperties_To_MaintenanceConfiguration_Spec(&spec) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_MaintenanceConfiguration_Spec() to populate field Spec") + } + destination.Spec = spec + + // Status + var status storage.MaintenanceConfiguration_STATUS + err = configuration.Status.AssignProperties_To_MaintenanceConfiguration_STATUS(&status) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_MaintenanceConfiguration_STATUS() to populate field Status") + } + destination.Status = status + + // No error + return nil +} + +// OriginalGVK returns a GroupValueKind for the original API version used to create the resource +func (configuration *MaintenanceConfiguration) OriginalGVK() *schema.GroupVersionKind { + return &schema.GroupVersionKind{ + Group: GroupVersion.Group, + Version: configuration.Spec.OriginalVersion(), + Kind: "MaintenanceConfiguration", + } +} + +// +kubebuilder:object:root=true +// Generator information: +// - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2024-09-01/managedClusters.json +// - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/maintenanceConfigurations/{configName} +type MaintenanceConfigurationList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []MaintenanceConfiguration `json:"items"` +} + +// +kubebuilder:validation:Enum={"2024-09-01"} +type APIVersion string + +const APIVersion_Value = APIVersion("2024-09-01") + +type MaintenanceConfiguration_Spec struct { + // AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + // doesn't have to be. + AzureName string `json:"azureName,omitempty"` + + // MaintenanceWindow: Maintenance window for the maintenance configuration. + MaintenanceWindow *MaintenanceWindow `json:"maintenanceWindow,omitempty"` + + // NotAllowedTime: Time slots on which upgrade is not allowed. + NotAllowedTime []TimeSpan `json:"notAllowedTime,omitempty"` + + // +kubebuilder:validation:Required + // Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + // controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + // reference to a containerservice.azure.com/ManagedCluster resource + Owner *genruntime.KnownResourceReference `group:"containerservice.azure.com" json:"owner,omitempty" kind:"ManagedCluster"` + + // TimeInWeek: If two array entries specify the same day of the week, the applied configuration is the union of times in + // both entries. + TimeInWeek []TimeInWeek `json:"timeInWeek,omitempty"` +} + +var _ genruntime.ARMTransformer = &MaintenanceConfiguration_Spec{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (configuration *MaintenanceConfiguration_Spec) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if configuration == nil { + return nil, nil + } + result := &arm.MaintenanceConfiguration_Spec{} + + // Set property "Name": + result.Name = resolved.Name + + // Set property "Properties": + if configuration.MaintenanceWindow != nil || + configuration.NotAllowedTime != nil || + configuration.TimeInWeek != nil { + result.Properties = &arm.MaintenanceConfigurationProperties{} + } + if configuration.MaintenanceWindow != nil { + maintenanceWindow_ARM, err := (*configuration.MaintenanceWindow).ConvertToARM(resolved) + if err != nil { + return nil, err + } + maintenanceWindow := *maintenanceWindow_ARM.(*arm.MaintenanceWindow) + result.Properties.MaintenanceWindow = &maintenanceWindow + } + for _, item := range configuration.NotAllowedTime { + item_ARM, err := item.ConvertToARM(resolved) + if err != nil { + return nil, err + } + result.Properties.NotAllowedTime = append(result.Properties.NotAllowedTime, *item_ARM.(*arm.TimeSpan)) + } + for _, item := range configuration.TimeInWeek { + item_ARM, err := item.ConvertToARM(resolved) + if err != nil { + return nil, err + } + result.Properties.TimeInWeek = append(result.Properties.TimeInWeek, *item_ARM.(*arm.TimeInWeek)) + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (configuration *MaintenanceConfiguration_Spec) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.MaintenanceConfiguration_Spec{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (configuration *MaintenanceConfiguration_Spec) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.MaintenanceConfiguration_Spec) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.MaintenanceConfiguration_Spec, got %T", armInput) + } + + // Set property "AzureName": + configuration.SetAzureName(genruntime.ExtractKubernetesResourceNameFromARMName(typedInput.Name)) + + // Set property "MaintenanceWindow": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.MaintenanceWindow != nil { + var maintenanceWindow1 MaintenanceWindow + err := maintenanceWindow1.PopulateFromARM(owner, *typedInput.Properties.MaintenanceWindow) + if err != nil { + return err + } + maintenanceWindow := maintenanceWindow1 + configuration.MaintenanceWindow = &maintenanceWindow + } + } + + // Set property "NotAllowedTime": + // copying flattened property: + if typedInput.Properties != nil { + for _, item := range typedInput.Properties.NotAllowedTime { + var item1 TimeSpan + err := item1.PopulateFromARM(owner, item) + if err != nil { + return err + } + configuration.NotAllowedTime = append(configuration.NotAllowedTime, item1) + } + } + + // Set property "Owner": + configuration.Owner = &genruntime.KnownResourceReference{ + Name: owner.Name, + ARMID: owner.ARMID, + } + + // Set property "TimeInWeek": + // copying flattened property: + if typedInput.Properties != nil { + for _, item := range typedInput.Properties.TimeInWeek { + var item1 TimeInWeek + err := item1.PopulateFromARM(owner, item) + if err != nil { + return err + } + configuration.TimeInWeek = append(configuration.TimeInWeek, item1) + } + } + + // No error + return nil +} + +var _ genruntime.ConvertibleSpec = &MaintenanceConfiguration_Spec{} + +// ConvertSpecFrom populates our MaintenanceConfiguration_Spec from the provided source +func (configuration *MaintenanceConfiguration_Spec) ConvertSpecFrom(source genruntime.ConvertibleSpec) error { + src, ok := source.(*storage.MaintenanceConfiguration_Spec) + if ok { + // Populate our instance from source + return configuration.AssignProperties_From_MaintenanceConfiguration_Spec(src) + } + + // Convert to an intermediate form + src = &storage.MaintenanceConfiguration_Spec{} + err := src.ConvertSpecFrom(source) + if err != nil { + return errors.Wrap(err, "initial step of conversion in ConvertSpecFrom()") + } + + // Update our instance from src + err = configuration.AssignProperties_From_MaintenanceConfiguration_Spec(src) + if err != nil { + return errors.Wrap(err, "final step of conversion in ConvertSpecFrom()") + } + + return nil +} + +// ConvertSpecTo populates the provided destination from our MaintenanceConfiguration_Spec +func (configuration *MaintenanceConfiguration_Spec) ConvertSpecTo(destination genruntime.ConvertibleSpec) error { + dst, ok := destination.(*storage.MaintenanceConfiguration_Spec) + if ok { + // Populate destination from our instance + return configuration.AssignProperties_To_MaintenanceConfiguration_Spec(dst) + } + + // Convert to an intermediate form + dst = &storage.MaintenanceConfiguration_Spec{} + err := configuration.AssignProperties_To_MaintenanceConfiguration_Spec(dst) + if err != nil { + return errors.Wrap(err, "initial step of conversion in ConvertSpecTo()") + } + + // Update dst from our instance + err = dst.ConvertSpecTo(destination) + if err != nil { + return errors.Wrap(err, "final step of conversion in ConvertSpecTo()") + } + + return nil +} + +// AssignProperties_From_MaintenanceConfiguration_Spec populates our MaintenanceConfiguration_Spec from the provided source MaintenanceConfiguration_Spec +func (configuration *MaintenanceConfiguration_Spec) AssignProperties_From_MaintenanceConfiguration_Spec(source *storage.MaintenanceConfiguration_Spec) error { + + // AzureName + configuration.AzureName = source.AzureName + + // MaintenanceWindow + if source.MaintenanceWindow != nil { + var maintenanceWindow MaintenanceWindow + err := maintenanceWindow.AssignProperties_From_MaintenanceWindow(source.MaintenanceWindow) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_MaintenanceWindow() to populate field MaintenanceWindow") + } + configuration.MaintenanceWindow = &maintenanceWindow + } else { + configuration.MaintenanceWindow = nil + } + + // NotAllowedTime + if source.NotAllowedTime != nil { + notAllowedTimeList := make([]TimeSpan, len(source.NotAllowedTime)) + for notAllowedTimeIndex, notAllowedTimeItem := range source.NotAllowedTime { + // Shadow the loop variable to avoid aliasing + notAllowedTimeItem := notAllowedTimeItem + var notAllowedTime TimeSpan + err := notAllowedTime.AssignProperties_From_TimeSpan(¬AllowedTimeItem) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_TimeSpan() to populate field NotAllowedTime") + } + notAllowedTimeList[notAllowedTimeIndex] = notAllowedTime + } + configuration.NotAllowedTime = notAllowedTimeList + } else { + configuration.NotAllowedTime = nil + } + + // Owner + if source.Owner != nil { + owner := source.Owner.Copy() + configuration.Owner = &owner + } else { + configuration.Owner = nil + } + + // TimeInWeek + if source.TimeInWeek != nil { + timeInWeekList := make([]TimeInWeek, len(source.TimeInWeek)) + for timeInWeekIndex, timeInWeekItem := range source.TimeInWeek { + // Shadow the loop variable to avoid aliasing + timeInWeekItem := timeInWeekItem + var timeInWeek TimeInWeek + err := timeInWeek.AssignProperties_From_TimeInWeek(&timeInWeekItem) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_TimeInWeek() to populate field TimeInWeek") + } + timeInWeekList[timeInWeekIndex] = timeInWeek + } + configuration.TimeInWeek = timeInWeekList + } else { + configuration.TimeInWeek = nil + } + + // No error + return nil +} + +// AssignProperties_To_MaintenanceConfiguration_Spec populates the provided destination MaintenanceConfiguration_Spec from our MaintenanceConfiguration_Spec +func (configuration *MaintenanceConfiguration_Spec) AssignProperties_To_MaintenanceConfiguration_Spec(destination *storage.MaintenanceConfiguration_Spec) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // AzureName + destination.AzureName = configuration.AzureName + + // MaintenanceWindow + if configuration.MaintenanceWindow != nil { + var maintenanceWindow storage.MaintenanceWindow + err := configuration.MaintenanceWindow.AssignProperties_To_MaintenanceWindow(&maintenanceWindow) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_MaintenanceWindow() to populate field MaintenanceWindow") + } + destination.MaintenanceWindow = &maintenanceWindow + } else { + destination.MaintenanceWindow = nil + } + + // NotAllowedTime + if configuration.NotAllowedTime != nil { + notAllowedTimeList := make([]storage.TimeSpan, len(configuration.NotAllowedTime)) + for notAllowedTimeIndex, notAllowedTimeItem := range configuration.NotAllowedTime { + // Shadow the loop variable to avoid aliasing + notAllowedTimeItem := notAllowedTimeItem + var notAllowedTime storage.TimeSpan + err := notAllowedTimeItem.AssignProperties_To_TimeSpan(¬AllowedTime) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_TimeSpan() to populate field NotAllowedTime") + } + notAllowedTimeList[notAllowedTimeIndex] = notAllowedTime + } + destination.NotAllowedTime = notAllowedTimeList + } else { + destination.NotAllowedTime = nil + } + + // OriginalVersion + destination.OriginalVersion = configuration.OriginalVersion() + + // Owner + if configuration.Owner != nil { + owner := configuration.Owner.Copy() + destination.Owner = &owner + } else { + destination.Owner = nil + } + + // TimeInWeek + if configuration.TimeInWeek != nil { + timeInWeekList := make([]storage.TimeInWeek, len(configuration.TimeInWeek)) + for timeInWeekIndex, timeInWeekItem := range configuration.TimeInWeek { + // Shadow the loop variable to avoid aliasing + timeInWeekItem := timeInWeekItem + var timeInWeek storage.TimeInWeek + err := timeInWeekItem.AssignProperties_To_TimeInWeek(&timeInWeek) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_TimeInWeek() to populate field TimeInWeek") + } + timeInWeekList[timeInWeekIndex] = timeInWeek + } + destination.TimeInWeek = timeInWeekList + } else { + destination.TimeInWeek = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_MaintenanceConfiguration_STATUS populates our MaintenanceConfiguration_Spec from the provided source MaintenanceConfiguration_STATUS +func (configuration *MaintenanceConfiguration_Spec) Initialize_From_MaintenanceConfiguration_STATUS(source *MaintenanceConfiguration_STATUS) error { + + // MaintenanceWindow + if source.MaintenanceWindow != nil { + var maintenanceWindow MaintenanceWindow + err := maintenanceWindow.Initialize_From_MaintenanceWindow_STATUS(source.MaintenanceWindow) + if err != nil { + return errors.Wrap(err, "calling Initialize_From_MaintenanceWindow_STATUS() to populate field MaintenanceWindow") + } + configuration.MaintenanceWindow = &maintenanceWindow + } else { + configuration.MaintenanceWindow = nil + } + + // NotAllowedTime + if source.NotAllowedTime != nil { + notAllowedTimeList := make([]TimeSpan, len(source.NotAllowedTime)) + for notAllowedTimeIndex, notAllowedTimeItem := range source.NotAllowedTime { + // Shadow the loop variable to avoid aliasing + notAllowedTimeItem := notAllowedTimeItem + var notAllowedTime TimeSpan + err := notAllowedTime.Initialize_From_TimeSpan_STATUS(¬AllowedTimeItem) + if err != nil { + return errors.Wrap(err, "calling Initialize_From_TimeSpan_STATUS() to populate field NotAllowedTime") + } + notAllowedTimeList[notAllowedTimeIndex] = notAllowedTime + } + configuration.NotAllowedTime = notAllowedTimeList + } else { + configuration.NotAllowedTime = nil + } + + // TimeInWeek + if source.TimeInWeek != nil { + timeInWeekList := make([]TimeInWeek, len(source.TimeInWeek)) + for timeInWeekIndex, timeInWeekItem := range source.TimeInWeek { + // Shadow the loop variable to avoid aliasing + timeInWeekItem := timeInWeekItem + var timeInWeek TimeInWeek + err := timeInWeek.Initialize_From_TimeInWeek_STATUS(&timeInWeekItem) + if err != nil { + return errors.Wrap(err, "calling Initialize_From_TimeInWeek_STATUS() to populate field TimeInWeek") + } + timeInWeekList[timeInWeekIndex] = timeInWeek + } + configuration.TimeInWeek = timeInWeekList + } else { + configuration.TimeInWeek = nil + } + + // No error + return nil +} + +// OriginalVersion returns the original API version used to create the resource. +func (configuration *MaintenanceConfiguration_Spec) OriginalVersion() string { + return GroupVersion.Version +} + +// SetAzureName sets the Azure name of the resource +func (configuration *MaintenanceConfiguration_Spec) SetAzureName(azureName string) { + configuration.AzureName = azureName +} + +type MaintenanceConfiguration_STATUS struct { + // Conditions: The observed state of the resource + Conditions []conditions.Condition `json:"conditions,omitempty"` + + // Id: Resource ID. + Id *string `json:"id,omitempty"` + + // MaintenanceWindow: Maintenance window for the maintenance configuration. + MaintenanceWindow *MaintenanceWindow_STATUS `json:"maintenanceWindow,omitempty"` + + // Name: The name of the resource that is unique within a resource group. This name can be used to access the resource. + Name *string `json:"name,omitempty"` + + // NotAllowedTime: Time slots on which upgrade is not allowed. + NotAllowedTime []TimeSpan_STATUS `json:"notAllowedTime,omitempty"` + + // SystemData: The system metadata relating to this resource. + SystemData *SystemData_STATUS `json:"systemData,omitempty"` + + // TimeInWeek: If two array entries specify the same day of the week, the applied configuration is the union of times in + // both entries. + TimeInWeek []TimeInWeek_STATUS `json:"timeInWeek,omitempty"` + + // Type: Resource type + Type *string `json:"type,omitempty"` +} + +var _ genruntime.ConvertibleStatus = &MaintenanceConfiguration_STATUS{} + +// ConvertStatusFrom populates our MaintenanceConfiguration_STATUS from the provided source +func (configuration *MaintenanceConfiguration_STATUS) ConvertStatusFrom(source genruntime.ConvertibleStatus) error { + src, ok := source.(*storage.MaintenanceConfiguration_STATUS) + if ok { + // Populate our instance from source + return configuration.AssignProperties_From_MaintenanceConfiguration_STATUS(src) + } + + // Convert to an intermediate form + src = &storage.MaintenanceConfiguration_STATUS{} + err := src.ConvertStatusFrom(source) + if err != nil { + return errors.Wrap(err, "initial step of conversion in ConvertStatusFrom()") + } + + // Update our instance from src + err = configuration.AssignProperties_From_MaintenanceConfiguration_STATUS(src) + if err != nil { + return errors.Wrap(err, "final step of conversion in ConvertStatusFrom()") + } + + return nil +} + +// ConvertStatusTo populates the provided destination from our MaintenanceConfiguration_STATUS +func (configuration *MaintenanceConfiguration_STATUS) ConvertStatusTo(destination genruntime.ConvertibleStatus) error { + dst, ok := destination.(*storage.MaintenanceConfiguration_STATUS) + if ok { + // Populate destination from our instance + return configuration.AssignProperties_To_MaintenanceConfiguration_STATUS(dst) + } + + // Convert to an intermediate form + dst = &storage.MaintenanceConfiguration_STATUS{} + err := configuration.AssignProperties_To_MaintenanceConfiguration_STATUS(dst) + if err != nil { + return errors.Wrap(err, "initial step of conversion in ConvertStatusTo()") + } + + // Update dst from our instance + err = dst.ConvertStatusTo(destination) + if err != nil { + return errors.Wrap(err, "final step of conversion in ConvertStatusTo()") + } + + return nil +} + +var _ genruntime.FromARMConverter = &MaintenanceConfiguration_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (configuration *MaintenanceConfiguration_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.MaintenanceConfiguration_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (configuration *MaintenanceConfiguration_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.MaintenanceConfiguration_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.MaintenanceConfiguration_STATUS, got %T", armInput) + } + + // no assignment for property "Conditions" + + // Set property "Id": + if typedInput.Id != nil { + id := *typedInput.Id + configuration.Id = &id + } + + // Set property "MaintenanceWindow": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.MaintenanceWindow != nil { + var maintenanceWindow1 MaintenanceWindow_STATUS + err := maintenanceWindow1.PopulateFromARM(owner, *typedInput.Properties.MaintenanceWindow) + if err != nil { + return err + } + maintenanceWindow := maintenanceWindow1 + configuration.MaintenanceWindow = &maintenanceWindow + } + } + + // Set property "Name": + if typedInput.Name != nil { + name := *typedInput.Name + configuration.Name = &name + } + + // Set property "NotAllowedTime": + // copying flattened property: + if typedInput.Properties != nil { + for _, item := range typedInput.Properties.NotAllowedTime { + var item1 TimeSpan_STATUS + err := item1.PopulateFromARM(owner, item) + if err != nil { + return err + } + configuration.NotAllowedTime = append(configuration.NotAllowedTime, item1) + } + } + + // Set property "SystemData": + if typedInput.SystemData != nil { + var systemData1 SystemData_STATUS + err := systemData1.PopulateFromARM(owner, *typedInput.SystemData) + if err != nil { + return err + } + systemData := systemData1 + configuration.SystemData = &systemData + } + + // Set property "TimeInWeek": + // copying flattened property: + if typedInput.Properties != nil { + for _, item := range typedInput.Properties.TimeInWeek { + var item1 TimeInWeek_STATUS + err := item1.PopulateFromARM(owner, item) + if err != nil { + return err + } + configuration.TimeInWeek = append(configuration.TimeInWeek, item1) + } + } + + // Set property "Type": + if typedInput.Type != nil { + typeVar := *typedInput.Type + configuration.Type = &typeVar + } + + // No error + return nil +} + +// AssignProperties_From_MaintenanceConfiguration_STATUS populates our MaintenanceConfiguration_STATUS from the provided source MaintenanceConfiguration_STATUS +func (configuration *MaintenanceConfiguration_STATUS) AssignProperties_From_MaintenanceConfiguration_STATUS(source *storage.MaintenanceConfiguration_STATUS) error { + + // Conditions + configuration.Conditions = genruntime.CloneSliceOfCondition(source.Conditions) + + // Id + configuration.Id = genruntime.ClonePointerToString(source.Id) + + // MaintenanceWindow + if source.MaintenanceWindow != nil { + var maintenanceWindow MaintenanceWindow_STATUS + err := maintenanceWindow.AssignProperties_From_MaintenanceWindow_STATUS(source.MaintenanceWindow) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_MaintenanceWindow_STATUS() to populate field MaintenanceWindow") + } + configuration.MaintenanceWindow = &maintenanceWindow + } else { + configuration.MaintenanceWindow = nil + } + + // Name + configuration.Name = genruntime.ClonePointerToString(source.Name) + + // NotAllowedTime + if source.NotAllowedTime != nil { + notAllowedTimeList := make([]TimeSpan_STATUS, len(source.NotAllowedTime)) + for notAllowedTimeIndex, notAllowedTimeItem := range source.NotAllowedTime { + // Shadow the loop variable to avoid aliasing + notAllowedTimeItem := notAllowedTimeItem + var notAllowedTime TimeSpan_STATUS + err := notAllowedTime.AssignProperties_From_TimeSpan_STATUS(¬AllowedTimeItem) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_TimeSpan_STATUS() to populate field NotAllowedTime") + } + notAllowedTimeList[notAllowedTimeIndex] = notAllowedTime + } + configuration.NotAllowedTime = notAllowedTimeList + } else { + configuration.NotAllowedTime = nil + } + + // SystemData + if source.SystemData != nil { + var systemDatum SystemData_STATUS + err := systemDatum.AssignProperties_From_SystemData_STATUS(source.SystemData) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_SystemData_STATUS() to populate field SystemData") + } + configuration.SystemData = &systemDatum + } else { + configuration.SystemData = nil + } + + // TimeInWeek + if source.TimeInWeek != nil { + timeInWeekList := make([]TimeInWeek_STATUS, len(source.TimeInWeek)) + for timeInWeekIndex, timeInWeekItem := range source.TimeInWeek { + // Shadow the loop variable to avoid aliasing + timeInWeekItem := timeInWeekItem + var timeInWeek TimeInWeek_STATUS + err := timeInWeek.AssignProperties_From_TimeInWeek_STATUS(&timeInWeekItem) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_TimeInWeek_STATUS() to populate field TimeInWeek") + } + timeInWeekList[timeInWeekIndex] = timeInWeek + } + configuration.TimeInWeek = timeInWeekList + } else { + configuration.TimeInWeek = nil + } + + // Type + configuration.Type = genruntime.ClonePointerToString(source.Type) + + // No error + return nil +} + +// AssignProperties_To_MaintenanceConfiguration_STATUS populates the provided destination MaintenanceConfiguration_STATUS from our MaintenanceConfiguration_STATUS +func (configuration *MaintenanceConfiguration_STATUS) AssignProperties_To_MaintenanceConfiguration_STATUS(destination *storage.MaintenanceConfiguration_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Conditions + destination.Conditions = genruntime.CloneSliceOfCondition(configuration.Conditions) + + // Id + destination.Id = genruntime.ClonePointerToString(configuration.Id) + + // MaintenanceWindow + if configuration.MaintenanceWindow != nil { + var maintenanceWindow storage.MaintenanceWindow_STATUS + err := configuration.MaintenanceWindow.AssignProperties_To_MaintenanceWindow_STATUS(&maintenanceWindow) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_MaintenanceWindow_STATUS() to populate field MaintenanceWindow") + } + destination.MaintenanceWindow = &maintenanceWindow + } else { + destination.MaintenanceWindow = nil + } + + // Name + destination.Name = genruntime.ClonePointerToString(configuration.Name) + + // NotAllowedTime + if configuration.NotAllowedTime != nil { + notAllowedTimeList := make([]storage.TimeSpan_STATUS, len(configuration.NotAllowedTime)) + for notAllowedTimeIndex, notAllowedTimeItem := range configuration.NotAllowedTime { + // Shadow the loop variable to avoid aliasing + notAllowedTimeItem := notAllowedTimeItem + var notAllowedTime storage.TimeSpan_STATUS + err := notAllowedTimeItem.AssignProperties_To_TimeSpan_STATUS(¬AllowedTime) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_TimeSpan_STATUS() to populate field NotAllowedTime") + } + notAllowedTimeList[notAllowedTimeIndex] = notAllowedTime + } + destination.NotAllowedTime = notAllowedTimeList + } else { + destination.NotAllowedTime = nil + } + + // SystemData + if configuration.SystemData != nil { + var systemDatum storage.SystemData_STATUS + err := configuration.SystemData.AssignProperties_To_SystemData_STATUS(&systemDatum) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_SystemData_STATUS() to populate field SystemData") + } + destination.SystemData = &systemDatum + } else { + destination.SystemData = nil + } + + // TimeInWeek + if configuration.TimeInWeek != nil { + timeInWeekList := make([]storage.TimeInWeek_STATUS, len(configuration.TimeInWeek)) + for timeInWeekIndex, timeInWeekItem := range configuration.TimeInWeek { + // Shadow the loop variable to avoid aliasing + timeInWeekItem := timeInWeekItem + var timeInWeek storage.TimeInWeek_STATUS + err := timeInWeekItem.AssignProperties_To_TimeInWeek_STATUS(&timeInWeek) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_TimeInWeek_STATUS() to populate field TimeInWeek") + } + timeInWeekList[timeInWeekIndex] = timeInWeek + } + destination.TimeInWeek = timeInWeekList + } else { + destination.TimeInWeek = nil + } + + // Type + destination.Type = genruntime.ClonePointerToString(configuration.Type) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Maintenance window used to configure scheduled auto-upgrade for a Managed Cluster. +type MaintenanceWindow struct { + // +kubebuilder:validation:Required + // +kubebuilder:validation:Maximum=24 + // +kubebuilder:validation:Minimum=4 + // DurationHours: Length of maintenance window range from 4 to 24 hours. + DurationHours *int `json:"durationHours,omitempty"` + + // NotAllowedDates: Date ranges on which upgrade is not allowed. 'utcOffset' applies to this field. For example, with + // 'utcOffset: +02:00' and 'dateSpan' being '2022-12-23' to '2023-01-03', maintenance will be blocked from '2022-12-22 + // 22:00' to '2023-01-03 22:00' in UTC time. + NotAllowedDates []DateSpan `json:"notAllowedDates,omitempty"` + + // +kubebuilder:validation:Required + // Schedule: Recurrence schedule for the maintenance window. + Schedule *Schedule `json:"schedule,omitempty"` + + // StartDate: The date the maintenance window activates. If the current date is before this date, the maintenance window is + // inactive and will not be used for upgrades. If not specified, the maintenance window will be active right away. + StartDate *string `json:"startDate,omitempty"` + + // +kubebuilder:validation:Required + // +kubebuilder:validation:Pattern="^\\d{2}:\\d{2}$" + // StartTime: The start time of the maintenance window. Accepted values are from '00:00' to '23:59'. 'utcOffset' applies to + // this field. For example: '02:00' with 'utcOffset: +02:00' means UTC time '00:00'. + StartTime *string `json:"startTime,omitempty"` + + // +kubebuilder:validation:Pattern="^(-|\\+)[0-9]{2}:[0-9]{2}$" + // UtcOffset: The UTC offset in format +/-HH:mm. For example, '+05:30' for IST and '-07:00' for PST. If not specified, the + // default is '+00:00'. + UtcOffset *string `json:"utcOffset,omitempty"` +} + +var _ genruntime.ARMTransformer = &MaintenanceWindow{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (window *MaintenanceWindow) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if window == nil { + return nil, nil + } + result := &arm.MaintenanceWindow{} + + // Set property "DurationHours": + if window.DurationHours != nil { + durationHours := *window.DurationHours + result.DurationHours = &durationHours + } + + // Set property "NotAllowedDates": + for _, item := range window.NotAllowedDates { + item_ARM, err := item.ConvertToARM(resolved) + if err != nil { + return nil, err + } + result.NotAllowedDates = append(result.NotAllowedDates, *item_ARM.(*arm.DateSpan)) + } + + // Set property "Schedule": + if window.Schedule != nil { + schedule_ARM, err := (*window.Schedule).ConvertToARM(resolved) + if err != nil { + return nil, err + } + schedule := *schedule_ARM.(*arm.Schedule) + result.Schedule = &schedule + } + + // Set property "StartDate": + if window.StartDate != nil { + startDate := *window.StartDate + result.StartDate = &startDate + } + + // Set property "StartTime": + if window.StartTime != nil { + startTime := *window.StartTime + result.StartTime = &startTime + } + + // Set property "UtcOffset": + if window.UtcOffset != nil { + utcOffset := *window.UtcOffset + result.UtcOffset = &utcOffset + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (window *MaintenanceWindow) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.MaintenanceWindow{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (window *MaintenanceWindow) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.MaintenanceWindow) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.MaintenanceWindow, got %T", armInput) + } + + // Set property "DurationHours": + if typedInput.DurationHours != nil { + durationHours := *typedInput.DurationHours + window.DurationHours = &durationHours + } + + // Set property "NotAllowedDates": + for _, item := range typedInput.NotAllowedDates { + var item1 DateSpan + err := item1.PopulateFromARM(owner, item) + if err != nil { + return err + } + window.NotAllowedDates = append(window.NotAllowedDates, item1) + } + + // Set property "Schedule": + if typedInput.Schedule != nil { + var schedule1 Schedule + err := schedule1.PopulateFromARM(owner, *typedInput.Schedule) + if err != nil { + return err + } + schedule := schedule1 + window.Schedule = &schedule + } + + // Set property "StartDate": + if typedInput.StartDate != nil { + startDate := *typedInput.StartDate + window.StartDate = &startDate + } + + // Set property "StartTime": + if typedInput.StartTime != nil { + startTime := *typedInput.StartTime + window.StartTime = &startTime + } + + // Set property "UtcOffset": + if typedInput.UtcOffset != nil { + utcOffset := *typedInput.UtcOffset + window.UtcOffset = &utcOffset + } + + // No error + return nil +} + +// AssignProperties_From_MaintenanceWindow populates our MaintenanceWindow from the provided source MaintenanceWindow +func (window *MaintenanceWindow) AssignProperties_From_MaintenanceWindow(source *storage.MaintenanceWindow) error { + + // DurationHours + if source.DurationHours != nil { + durationHour := *source.DurationHours + window.DurationHours = &durationHour + } else { + window.DurationHours = nil + } + + // NotAllowedDates + if source.NotAllowedDates != nil { + notAllowedDateList := make([]DateSpan, len(source.NotAllowedDates)) + for notAllowedDateIndex, notAllowedDateItem := range source.NotAllowedDates { + // Shadow the loop variable to avoid aliasing + notAllowedDateItem := notAllowedDateItem + var notAllowedDate DateSpan + err := notAllowedDate.AssignProperties_From_DateSpan(¬AllowedDateItem) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_DateSpan() to populate field NotAllowedDates") + } + notAllowedDateList[notAllowedDateIndex] = notAllowedDate + } + window.NotAllowedDates = notAllowedDateList + } else { + window.NotAllowedDates = nil + } + + // Schedule + if source.Schedule != nil { + var schedule Schedule + err := schedule.AssignProperties_From_Schedule(source.Schedule) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_Schedule() to populate field Schedule") + } + window.Schedule = &schedule + } else { + window.Schedule = nil + } + + // StartDate + window.StartDate = genruntime.ClonePointerToString(source.StartDate) + + // StartTime + if source.StartTime != nil { + startTime := *source.StartTime + window.StartTime = &startTime + } else { + window.StartTime = nil + } + + // UtcOffset + if source.UtcOffset != nil { + utcOffset := *source.UtcOffset + window.UtcOffset = &utcOffset + } else { + window.UtcOffset = nil + } + + // No error + return nil +} + +// AssignProperties_To_MaintenanceWindow populates the provided destination MaintenanceWindow from our MaintenanceWindow +func (window *MaintenanceWindow) AssignProperties_To_MaintenanceWindow(destination *storage.MaintenanceWindow) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // DurationHours + if window.DurationHours != nil { + durationHour := *window.DurationHours + destination.DurationHours = &durationHour + } else { + destination.DurationHours = nil + } + + // NotAllowedDates + if window.NotAllowedDates != nil { + notAllowedDateList := make([]storage.DateSpan, len(window.NotAllowedDates)) + for notAllowedDateIndex, notAllowedDateItem := range window.NotAllowedDates { + // Shadow the loop variable to avoid aliasing + notAllowedDateItem := notAllowedDateItem + var notAllowedDate storage.DateSpan + err := notAllowedDateItem.AssignProperties_To_DateSpan(¬AllowedDate) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_DateSpan() to populate field NotAllowedDates") + } + notAllowedDateList[notAllowedDateIndex] = notAllowedDate + } + destination.NotAllowedDates = notAllowedDateList + } else { + destination.NotAllowedDates = nil + } + + // Schedule + if window.Schedule != nil { + var schedule storage.Schedule + err := window.Schedule.AssignProperties_To_Schedule(&schedule) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_Schedule() to populate field Schedule") + } + destination.Schedule = &schedule + } else { + destination.Schedule = nil + } + + // StartDate + destination.StartDate = genruntime.ClonePointerToString(window.StartDate) + + // StartTime + if window.StartTime != nil { + startTime := *window.StartTime + destination.StartTime = &startTime + } else { + destination.StartTime = nil + } + + // UtcOffset + if window.UtcOffset != nil { + utcOffset := *window.UtcOffset + destination.UtcOffset = &utcOffset + } else { + destination.UtcOffset = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_MaintenanceWindow_STATUS populates our MaintenanceWindow from the provided source MaintenanceWindow_STATUS +func (window *MaintenanceWindow) Initialize_From_MaintenanceWindow_STATUS(source *MaintenanceWindow_STATUS) error { + + // DurationHours + if source.DurationHours != nil { + durationHour := *source.DurationHours + window.DurationHours = &durationHour + } else { + window.DurationHours = nil + } + + // NotAllowedDates + if source.NotAllowedDates != nil { + notAllowedDateList := make([]DateSpan, len(source.NotAllowedDates)) + for notAllowedDateIndex, notAllowedDateItem := range source.NotAllowedDates { + // Shadow the loop variable to avoid aliasing + notAllowedDateItem := notAllowedDateItem + var notAllowedDate DateSpan + err := notAllowedDate.Initialize_From_DateSpan_STATUS(¬AllowedDateItem) + if err != nil { + return errors.Wrap(err, "calling Initialize_From_DateSpan_STATUS() to populate field NotAllowedDates") + } + notAllowedDateList[notAllowedDateIndex] = notAllowedDate + } + window.NotAllowedDates = notAllowedDateList + } else { + window.NotAllowedDates = nil + } + + // Schedule + if source.Schedule != nil { + var schedule Schedule + err := schedule.Initialize_From_Schedule_STATUS(source.Schedule) + if err != nil { + return errors.Wrap(err, "calling Initialize_From_Schedule_STATUS() to populate field Schedule") + } + window.Schedule = &schedule + } else { + window.Schedule = nil + } + + // StartDate + window.StartDate = genruntime.ClonePointerToString(source.StartDate) + + // StartTime + if source.StartTime != nil { + startTime := *source.StartTime + window.StartTime = &startTime + } else { + window.StartTime = nil + } + + // UtcOffset + if source.UtcOffset != nil { + utcOffset := *source.UtcOffset + window.UtcOffset = &utcOffset + } else { + window.UtcOffset = nil + } + + // No error + return nil +} + +// Maintenance window used to configure scheduled auto-upgrade for a Managed Cluster. +type MaintenanceWindow_STATUS struct { + // DurationHours: Length of maintenance window range from 4 to 24 hours. + DurationHours *int `json:"durationHours,omitempty"` + + // NotAllowedDates: Date ranges on which upgrade is not allowed. 'utcOffset' applies to this field. For example, with + // 'utcOffset: +02:00' and 'dateSpan' being '2022-12-23' to '2023-01-03', maintenance will be blocked from '2022-12-22 + // 22:00' to '2023-01-03 22:00' in UTC time. + NotAllowedDates []DateSpan_STATUS `json:"notAllowedDates,omitempty"` + + // Schedule: Recurrence schedule for the maintenance window. + Schedule *Schedule_STATUS `json:"schedule,omitempty"` + + // StartDate: The date the maintenance window activates. If the current date is before this date, the maintenance window is + // inactive and will not be used for upgrades. If not specified, the maintenance window will be active right away. + StartDate *string `json:"startDate,omitempty"` + + // StartTime: The start time of the maintenance window. Accepted values are from '00:00' to '23:59'. 'utcOffset' applies to + // this field. For example: '02:00' with 'utcOffset: +02:00' means UTC time '00:00'. + StartTime *string `json:"startTime,omitempty"` + + // UtcOffset: The UTC offset in format +/-HH:mm. For example, '+05:30' for IST and '-07:00' for PST. If not specified, the + // default is '+00:00'. + UtcOffset *string `json:"utcOffset,omitempty"` +} + +var _ genruntime.FromARMConverter = &MaintenanceWindow_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (window *MaintenanceWindow_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.MaintenanceWindow_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (window *MaintenanceWindow_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.MaintenanceWindow_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.MaintenanceWindow_STATUS, got %T", armInput) + } + + // Set property "DurationHours": + if typedInput.DurationHours != nil { + durationHours := *typedInput.DurationHours + window.DurationHours = &durationHours + } + + // Set property "NotAllowedDates": + for _, item := range typedInput.NotAllowedDates { + var item1 DateSpan_STATUS + err := item1.PopulateFromARM(owner, item) + if err != nil { + return err + } + window.NotAllowedDates = append(window.NotAllowedDates, item1) + } + + // Set property "Schedule": + if typedInput.Schedule != nil { + var schedule1 Schedule_STATUS + err := schedule1.PopulateFromARM(owner, *typedInput.Schedule) + if err != nil { + return err + } + schedule := schedule1 + window.Schedule = &schedule + } + + // Set property "StartDate": + if typedInput.StartDate != nil { + startDate := *typedInput.StartDate + window.StartDate = &startDate + } + + // Set property "StartTime": + if typedInput.StartTime != nil { + startTime := *typedInput.StartTime + window.StartTime = &startTime + } + + // Set property "UtcOffset": + if typedInput.UtcOffset != nil { + utcOffset := *typedInput.UtcOffset + window.UtcOffset = &utcOffset + } + + // No error + return nil +} + +// AssignProperties_From_MaintenanceWindow_STATUS populates our MaintenanceWindow_STATUS from the provided source MaintenanceWindow_STATUS +func (window *MaintenanceWindow_STATUS) AssignProperties_From_MaintenanceWindow_STATUS(source *storage.MaintenanceWindow_STATUS) error { + + // DurationHours + window.DurationHours = genruntime.ClonePointerToInt(source.DurationHours) + + // NotAllowedDates + if source.NotAllowedDates != nil { + notAllowedDateList := make([]DateSpan_STATUS, len(source.NotAllowedDates)) + for notAllowedDateIndex, notAllowedDateItem := range source.NotAllowedDates { + // Shadow the loop variable to avoid aliasing + notAllowedDateItem := notAllowedDateItem + var notAllowedDate DateSpan_STATUS + err := notAllowedDate.AssignProperties_From_DateSpan_STATUS(¬AllowedDateItem) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_DateSpan_STATUS() to populate field NotAllowedDates") + } + notAllowedDateList[notAllowedDateIndex] = notAllowedDate + } + window.NotAllowedDates = notAllowedDateList + } else { + window.NotAllowedDates = nil + } + + // Schedule + if source.Schedule != nil { + var schedule Schedule_STATUS + err := schedule.AssignProperties_From_Schedule_STATUS(source.Schedule) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_Schedule_STATUS() to populate field Schedule") + } + window.Schedule = &schedule + } else { + window.Schedule = nil + } + + // StartDate + window.StartDate = genruntime.ClonePointerToString(source.StartDate) + + // StartTime + window.StartTime = genruntime.ClonePointerToString(source.StartTime) + + // UtcOffset + window.UtcOffset = genruntime.ClonePointerToString(source.UtcOffset) + + // No error + return nil +} + +// AssignProperties_To_MaintenanceWindow_STATUS populates the provided destination MaintenanceWindow_STATUS from our MaintenanceWindow_STATUS +func (window *MaintenanceWindow_STATUS) AssignProperties_To_MaintenanceWindow_STATUS(destination *storage.MaintenanceWindow_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // DurationHours + destination.DurationHours = genruntime.ClonePointerToInt(window.DurationHours) + + // NotAllowedDates + if window.NotAllowedDates != nil { + notAllowedDateList := make([]storage.DateSpan_STATUS, len(window.NotAllowedDates)) + for notAllowedDateIndex, notAllowedDateItem := range window.NotAllowedDates { + // Shadow the loop variable to avoid aliasing + notAllowedDateItem := notAllowedDateItem + var notAllowedDate storage.DateSpan_STATUS + err := notAllowedDateItem.AssignProperties_To_DateSpan_STATUS(¬AllowedDate) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_DateSpan_STATUS() to populate field NotAllowedDates") + } + notAllowedDateList[notAllowedDateIndex] = notAllowedDate + } + destination.NotAllowedDates = notAllowedDateList + } else { + destination.NotAllowedDates = nil + } + + // Schedule + if window.Schedule != nil { + var schedule storage.Schedule_STATUS + err := window.Schedule.AssignProperties_To_Schedule_STATUS(&schedule) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_Schedule_STATUS() to populate field Schedule") + } + destination.Schedule = &schedule + } else { + destination.Schedule = nil + } + + // StartDate + destination.StartDate = genruntime.ClonePointerToString(window.StartDate) + + // StartTime + destination.StartTime = genruntime.ClonePointerToString(window.StartTime) + + // UtcOffset + destination.UtcOffset = genruntime.ClonePointerToString(window.UtcOffset) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Metadata pertaining to creation and last modification of the resource. +type SystemData_STATUS struct { + // CreatedAt: The timestamp of resource creation (UTC). + CreatedAt *string `json:"createdAt,omitempty"` + + // CreatedBy: The identity that created the resource. + CreatedBy *string `json:"createdBy,omitempty"` + + // CreatedByType: The type of identity that created the resource. + CreatedByType *SystemData_CreatedByType_STATUS `json:"createdByType,omitempty"` + + // LastModifiedAt: The timestamp of resource last modification (UTC) + LastModifiedAt *string `json:"lastModifiedAt,omitempty"` + + // LastModifiedBy: The identity that last modified the resource. + LastModifiedBy *string `json:"lastModifiedBy,omitempty"` + + // LastModifiedByType: The type of identity that last modified the resource. + LastModifiedByType *SystemData_LastModifiedByType_STATUS `json:"lastModifiedByType,omitempty"` +} + +var _ genruntime.FromARMConverter = &SystemData_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (data *SystemData_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.SystemData_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (data *SystemData_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.SystemData_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.SystemData_STATUS, got %T", armInput) + } + + // Set property "CreatedAt": + if typedInput.CreatedAt != nil { + createdAt := *typedInput.CreatedAt + data.CreatedAt = &createdAt + } + + // Set property "CreatedBy": + if typedInput.CreatedBy != nil { + createdBy := *typedInput.CreatedBy + data.CreatedBy = &createdBy + } + + // Set property "CreatedByType": + if typedInput.CreatedByType != nil { + var temp string + temp = string(*typedInput.CreatedByType) + createdByType := SystemData_CreatedByType_STATUS(temp) + data.CreatedByType = &createdByType + } + + // Set property "LastModifiedAt": + if typedInput.LastModifiedAt != nil { + lastModifiedAt := *typedInput.LastModifiedAt + data.LastModifiedAt = &lastModifiedAt + } + + // Set property "LastModifiedBy": + if typedInput.LastModifiedBy != nil { + lastModifiedBy := *typedInput.LastModifiedBy + data.LastModifiedBy = &lastModifiedBy + } + + // Set property "LastModifiedByType": + if typedInput.LastModifiedByType != nil { + var temp string + temp = string(*typedInput.LastModifiedByType) + lastModifiedByType := SystemData_LastModifiedByType_STATUS(temp) + data.LastModifiedByType = &lastModifiedByType + } + + // No error + return nil +} + +// AssignProperties_From_SystemData_STATUS populates our SystemData_STATUS from the provided source SystemData_STATUS +func (data *SystemData_STATUS) AssignProperties_From_SystemData_STATUS(source *storage.SystemData_STATUS) error { + + // CreatedAt + data.CreatedAt = genruntime.ClonePointerToString(source.CreatedAt) + + // CreatedBy + data.CreatedBy = genruntime.ClonePointerToString(source.CreatedBy) + + // CreatedByType + if source.CreatedByType != nil { + createdByType := *source.CreatedByType + createdByTypeTemp := genruntime.ToEnum(createdByType, systemData_CreatedByType_STATUS_Values) + data.CreatedByType = &createdByTypeTemp + } else { + data.CreatedByType = nil + } + + // LastModifiedAt + data.LastModifiedAt = genruntime.ClonePointerToString(source.LastModifiedAt) + + // LastModifiedBy + data.LastModifiedBy = genruntime.ClonePointerToString(source.LastModifiedBy) + + // LastModifiedByType + if source.LastModifiedByType != nil { + lastModifiedByType := *source.LastModifiedByType + lastModifiedByTypeTemp := genruntime.ToEnum(lastModifiedByType, systemData_LastModifiedByType_STATUS_Values) + data.LastModifiedByType = &lastModifiedByTypeTemp + } else { + data.LastModifiedByType = nil + } + + // No error + return nil +} + +// AssignProperties_To_SystemData_STATUS populates the provided destination SystemData_STATUS from our SystemData_STATUS +func (data *SystemData_STATUS) AssignProperties_To_SystemData_STATUS(destination *storage.SystemData_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // CreatedAt + destination.CreatedAt = genruntime.ClonePointerToString(data.CreatedAt) + + // CreatedBy + destination.CreatedBy = genruntime.ClonePointerToString(data.CreatedBy) + + // CreatedByType + if data.CreatedByType != nil { + createdByType := string(*data.CreatedByType) + destination.CreatedByType = &createdByType + } else { + destination.CreatedByType = nil + } + + // LastModifiedAt + destination.LastModifiedAt = genruntime.ClonePointerToString(data.LastModifiedAt) + + // LastModifiedBy + destination.LastModifiedBy = genruntime.ClonePointerToString(data.LastModifiedBy) + + // LastModifiedByType + if data.LastModifiedByType != nil { + lastModifiedByType := string(*data.LastModifiedByType) + destination.LastModifiedByType = &lastModifiedByType + } else { + destination.LastModifiedByType = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Time in a week. +type TimeInWeek struct { + // Day: The day of the week. + Day *WeekDay `json:"day,omitempty"` + + // HourSlots: Each integer hour represents a time range beginning at 0m after the hour ending at the next hour + // (non-inclusive). 0 corresponds to 00:00 UTC, 23 corresponds to 23:00 UTC. Specifying [0, 1] means the 00:00 - 02:00 UTC + // time range. + HourSlots []HourInDay `json:"hourSlots,omitempty"` +} + +var _ genruntime.ARMTransformer = &TimeInWeek{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (week *TimeInWeek) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if week == nil { + return nil, nil + } + result := &arm.TimeInWeek{} + + // Set property "Day": + if week.Day != nil { + var temp string + temp = string(*week.Day) + day := arm.WeekDay(temp) + result.Day = &day + } + + // Set property "HourSlots": + for _, item := range week.HourSlots { + result.HourSlots = append(result.HourSlots, int(item)) + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (week *TimeInWeek) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.TimeInWeek{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (week *TimeInWeek) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.TimeInWeek) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.TimeInWeek, got %T", armInput) + } + + // Set property "Day": + if typedInput.Day != nil { + var temp string + temp = string(*typedInput.Day) + day := WeekDay(temp) + week.Day = &day + } + + // Set property "HourSlots": + for _, item := range typedInput.HourSlots { + week.HourSlots = append(week.HourSlots, HourInDay(item)) + } + + // No error + return nil +} + +// AssignProperties_From_TimeInWeek populates our TimeInWeek from the provided source TimeInWeek +func (week *TimeInWeek) AssignProperties_From_TimeInWeek(source *storage.TimeInWeek) error { + + // Day + if source.Day != nil { + day := *source.Day + dayTemp := genruntime.ToEnum(day, weekDay_Values) + week.Day = &dayTemp + } else { + week.Day = nil + } + + // HourSlots + if source.HourSlots != nil { + hourSlotList := make([]HourInDay, len(source.HourSlots)) + for hourSlotIndex, hourSlotItem := range source.HourSlots { + // Shadow the loop variable to avoid aliasing + hourSlotItem := hourSlotItem + hourSlotList[hourSlotIndex] = HourInDay(hourSlotItem) + } + week.HourSlots = hourSlotList + } else { + week.HourSlots = nil + } + + // No error + return nil +} + +// AssignProperties_To_TimeInWeek populates the provided destination TimeInWeek from our TimeInWeek +func (week *TimeInWeek) AssignProperties_To_TimeInWeek(destination *storage.TimeInWeek) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Day + if week.Day != nil { + day := string(*week.Day) + destination.Day = &day + } else { + destination.Day = nil + } + + // HourSlots + if week.HourSlots != nil { + hourSlotList := make([]int, len(week.HourSlots)) + for hourSlotIndex, hourSlotItem := range week.HourSlots { + // Shadow the loop variable to avoid aliasing + hourSlotItem := hourSlotItem + hourSlotList[hourSlotIndex] = int(hourSlotItem) + } + destination.HourSlots = hourSlotList + } else { + destination.HourSlots = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_TimeInWeek_STATUS populates our TimeInWeek from the provided source TimeInWeek_STATUS +func (week *TimeInWeek) Initialize_From_TimeInWeek_STATUS(source *TimeInWeek_STATUS) error { + + // Day + if source.Day != nil { + day := genruntime.ToEnum(string(*source.Day), weekDay_Values) + week.Day = &day + } else { + week.Day = nil + } + + // HourSlots + if source.HourSlots != nil { + hourSlotList := make([]HourInDay, len(source.HourSlots)) + for hourSlotIndex, hourSlotItem := range source.HourSlots { + // Shadow the loop variable to avoid aliasing + hourSlotItem := hourSlotItem + hourSlotList[hourSlotIndex] = HourInDay(hourSlotItem) + } + week.HourSlots = hourSlotList + } else { + week.HourSlots = nil + } + + // No error + return nil +} + +// Time in a week. +type TimeInWeek_STATUS struct { + // Day: The day of the week. + Day *WeekDay_STATUS `json:"day,omitempty"` + + // HourSlots: Each integer hour represents a time range beginning at 0m after the hour ending at the next hour + // (non-inclusive). 0 corresponds to 00:00 UTC, 23 corresponds to 23:00 UTC. Specifying [0, 1] means the 00:00 - 02:00 UTC + // time range. + HourSlots []int `json:"hourSlots,omitempty"` +} + +var _ genruntime.FromARMConverter = &TimeInWeek_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (week *TimeInWeek_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.TimeInWeek_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (week *TimeInWeek_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.TimeInWeek_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.TimeInWeek_STATUS, got %T", armInput) + } + + // Set property "Day": + if typedInput.Day != nil { + var temp string + temp = string(*typedInput.Day) + day := WeekDay_STATUS(temp) + week.Day = &day + } + + // Set property "HourSlots": + for _, item := range typedInput.HourSlots { + week.HourSlots = append(week.HourSlots, item) + } + + // No error + return nil +} + +// AssignProperties_From_TimeInWeek_STATUS populates our TimeInWeek_STATUS from the provided source TimeInWeek_STATUS +func (week *TimeInWeek_STATUS) AssignProperties_From_TimeInWeek_STATUS(source *storage.TimeInWeek_STATUS) error { + + // Day + if source.Day != nil { + day := *source.Day + dayTemp := genruntime.ToEnum(day, weekDay_STATUS_Values) + week.Day = &dayTemp + } else { + week.Day = nil + } + + // HourSlots + if source.HourSlots != nil { + hourSlotList := make([]int, len(source.HourSlots)) + for hourSlotIndex, hourSlotItem := range source.HourSlots { + // Shadow the loop variable to avoid aliasing + hourSlotItem := hourSlotItem + hourSlotList[hourSlotIndex] = hourSlotItem + } + week.HourSlots = hourSlotList + } else { + week.HourSlots = nil + } + + // No error + return nil +} + +// AssignProperties_To_TimeInWeek_STATUS populates the provided destination TimeInWeek_STATUS from our TimeInWeek_STATUS +func (week *TimeInWeek_STATUS) AssignProperties_To_TimeInWeek_STATUS(destination *storage.TimeInWeek_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Day + if week.Day != nil { + day := string(*week.Day) + destination.Day = &day + } else { + destination.Day = nil + } + + // HourSlots + if week.HourSlots != nil { + hourSlotList := make([]int, len(week.HourSlots)) + for hourSlotIndex, hourSlotItem := range week.HourSlots { + // Shadow the loop variable to avoid aliasing + hourSlotItem := hourSlotItem + hourSlotList[hourSlotIndex] = hourSlotItem + } + destination.HourSlots = hourSlotList + } else { + destination.HourSlots = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// For example, between 2021-05-25T13:00:00Z and 2021-05-25T14:00:00Z. +type TimeSpan struct { + // End: The end of a time span + End *string `json:"end,omitempty"` + + // Start: The start of a time span + Start *string `json:"start,omitempty"` +} + +var _ genruntime.ARMTransformer = &TimeSpan{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (span *TimeSpan) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if span == nil { + return nil, nil + } + result := &arm.TimeSpan{} + + // Set property "End": + if span.End != nil { + end := *span.End + result.End = &end + } + + // Set property "Start": + if span.Start != nil { + start := *span.Start + result.Start = &start + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (span *TimeSpan) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.TimeSpan{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (span *TimeSpan) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.TimeSpan) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.TimeSpan, got %T", armInput) + } + + // Set property "End": + if typedInput.End != nil { + end := *typedInput.End + span.End = &end + } + + // Set property "Start": + if typedInput.Start != nil { + start := *typedInput.Start + span.Start = &start + } + + // No error + return nil +} + +// AssignProperties_From_TimeSpan populates our TimeSpan from the provided source TimeSpan +func (span *TimeSpan) AssignProperties_From_TimeSpan(source *storage.TimeSpan) error { + + // End + span.End = genruntime.ClonePointerToString(source.End) + + // Start + span.Start = genruntime.ClonePointerToString(source.Start) + + // No error + return nil +} + +// AssignProperties_To_TimeSpan populates the provided destination TimeSpan from our TimeSpan +func (span *TimeSpan) AssignProperties_To_TimeSpan(destination *storage.TimeSpan) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // End + destination.End = genruntime.ClonePointerToString(span.End) + + // Start + destination.Start = genruntime.ClonePointerToString(span.Start) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_TimeSpan_STATUS populates our TimeSpan from the provided source TimeSpan_STATUS +func (span *TimeSpan) Initialize_From_TimeSpan_STATUS(source *TimeSpan_STATUS) error { + + // End + span.End = genruntime.ClonePointerToString(source.End) + + // Start + span.Start = genruntime.ClonePointerToString(source.Start) + + // No error + return nil +} + +// For example, between 2021-05-25T13:00:00Z and 2021-05-25T14:00:00Z. +type TimeSpan_STATUS struct { + // End: The end of a time span + End *string `json:"end,omitempty"` + + // Start: The start of a time span + Start *string `json:"start,omitempty"` +} + +var _ genruntime.FromARMConverter = &TimeSpan_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (span *TimeSpan_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.TimeSpan_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (span *TimeSpan_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.TimeSpan_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.TimeSpan_STATUS, got %T", armInput) + } + + // Set property "End": + if typedInput.End != nil { + end := *typedInput.End + span.End = &end + } + + // Set property "Start": + if typedInput.Start != nil { + start := *typedInput.Start + span.Start = &start + } + + // No error + return nil +} + +// AssignProperties_From_TimeSpan_STATUS populates our TimeSpan_STATUS from the provided source TimeSpan_STATUS +func (span *TimeSpan_STATUS) AssignProperties_From_TimeSpan_STATUS(source *storage.TimeSpan_STATUS) error { + + // End + span.End = genruntime.ClonePointerToString(source.End) + + // Start + span.Start = genruntime.ClonePointerToString(source.Start) + + // No error + return nil +} + +// AssignProperties_To_TimeSpan_STATUS populates the provided destination TimeSpan_STATUS from our TimeSpan_STATUS +func (span *TimeSpan_STATUS) AssignProperties_To_TimeSpan_STATUS(destination *storage.TimeSpan_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // End + destination.End = genruntime.ClonePointerToString(span.End) + + // Start + destination.Start = genruntime.ClonePointerToString(span.Start) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// For example, between '2022-12-23' and '2023-01-05'. +type DateSpan struct { + // +kubebuilder:validation:Required + // End: The end date of the date span. + End *string `json:"end,omitempty"` + + // +kubebuilder:validation:Required + // Start: The start date of the date span. + Start *string `json:"start,omitempty"` +} + +var _ genruntime.ARMTransformer = &DateSpan{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (span *DateSpan) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if span == nil { + return nil, nil + } + result := &arm.DateSpan{} + + // Set property "End": + if span.End != nil { + end := *span.End + result.End = &end + } + + // Set property "Start": + if span.Start != nil { + start := *span.Start + result.Start = &start + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (span *DateSpan) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.DateSpan{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (span *DateSpan) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.DateSpan) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.DateSpan, got %T", armInput) + } + + // Set property "End": + if typedInput.End != nil { + end := *typedInput.End + span.End = &end + } + + // Set property "Start": + if typedInput.Start != nil { + start := *typedInput.Start + span.Start = &start + } + + // No error + return nil +} + +// AssignProperties_From_DateSpan populates our DateSpan from the provided source DateSpan +func (span *DateSpan) AssignProperties_From_DateSpan(source *storage.DateSpan) error { + + // End + span.End = genruntime.ClonePointerToString(source.End) + + // Start + span.Start = genruntime.ClonePointerToString(source.Start) + + // No error + return nil +} + +// AssignProperties_To_DateSpan populates the provided destination DateSpan from our DateSpan +func (span *DateSpan) AssignProperties_To_DateSpan(destination *storage.DateSpan) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // End + destination.End = genruntime.ClonePointerToString(span.End) + + // Start + destination.Start = genruntime.ClonePointerToString(span.Start) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_DateSpan_STATUS populates our DateSpan from the provided source DateSpan_STATUS +func (span *DateSpan) Initialize_From_DateSpan_STATUS(source *DateSpan_STATUS) error { + + // End + span.End = genruntime.ClonePointerToString(source.End) + + // Start + span.Start = genruntime.ClonePointerToString(source.Start) + + // No error + return nil +} + +// For example, between '2022-12-23' and '2023-01-05'. +type DateSpan_STATUS struct { + // End: The end date of the date span. + End *string `json:"end,omitempty"` + + // Start: The start date of the date span. + Start *string `json:"start,omitempty"` +} + +var _ genruntime.FromARMConverter = &DateSpan_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (span *DateSpan_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.DateSpan_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (span *DateSpan_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.DateSpan_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.DateSpan_STATUS, got %T", armInput) + } + + // Set property "End": + if typedInput.End != nil { + end := *typedInput.End + span.End = &end + } + + // Set property "Start": + if typedInput.Start != nil { + start := *typedInput.Start + span.Start = &start + } + + // No error + return nil +} + +// AssignProperties_From_DateSpan_STATUS populates our DateSpan_STATUS from the provided source DateSpan_STATUS +func (span *DateSpan_STATUS) AssignProperties_From_DateSpan_STATUS(source *storage.DateSpan_STATUS) error { + + // End + span.End = genruntime.ClonePointerToString(source.End) + + // Start + span.Start = genruntime.ClonePointerToString(source.Start) + + // No error + return nil +} + +// AssignProperties_To_DateSpan_STATUS populates the provided destination DateSpan_STATUS from our DateSpan_STATUS +func (span *DateSpan_STATUS) AssignProperties_To_DateSpan_STATUS(destination *storage.DateSpan_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // End + destination.End = genruntime.ClonePointerToString(span.End) + + // Start + destination.Start = genruntime.ClonePointerToString(span.Start) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// +kubebuilder:validation:Maximum=23 +// +kubebuilder:validation:Minimum=0 +type HourInDay int + +// One and only one of the schedule types should be specified. Choose either 'daily', 'weekly', 'absoluteMonthly' or +// 'relativeMonthly' for your maintenance schedule. +type Schedule struct { + // AbsoluteMonthly: For schedules like: 'recur every month on the 15th' or 'recur every 3 months on the 20th'. + AbsoluteMonthly *AbsoluteMonthlySchedule `json:"absoluteMonthly,omitempty"` + + // Daily: For schedules like: 'recur every day' or 'recur every 3 days'. + Daily *DailySchedule `json:"daily,omitempty"` + + // RelativeMonthly: For schedules like: 'recur every month on the first Monday' or 'recur every 3 months on last Friday'. + RelativeMonthly *RelativeMonthlySchedule `json:"relativeMonthly,omitempty"` + + // Weekly: For schedules like: 'recur every Monday' or 'recur every 3 weeks on Wednesday'. + Weekly *WeeklySchedule `json:"weekly,omitempty"` +} + +var _ genruntime.ARMTransformer = &Schedule{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (schedule *Schedule) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if schedule == nil { + return nil, nil + } + result := &arm.Schedule{} + + // Set property "AbsoluteMonthly": + if schedule.AbsoluteMonthly != nil { + absoluteMonthly_ARM, err := (*schedule.AbsoluteMonthly).ConvertToARM(resolved) + if err != nil { + return nil, err + } + absoluteMonthly := *absoluteMonthly_ARM.(*arm.AbsoluteMonthlySchedule) + result.AbsoluteMonthly = &absoluteMonthly + } + + // Set property "Daily": + if schedule.Daily != nil { + daily_ARM, err := (*schedule.Daily).ConvertToARM(resolved) + if err != nil { + return nil, err + } + daily := *daily_ARM.(*arm.DailySchedule) + result.Daily = &daily + } + + // Set property "RelativeMonthly": + if schedule.RelativeMonthly != nil { + relativeMonthly_ARM, err := (*schedule.RelativeMonthly).ConvertToARM(resolved) + if err != nil { + return nil, err + } + relativeMonthly := *relativeMonthly_ARM.(*arm.RelativeMonthlySchedule) + result.RelativeMonthly = &relativeMonthly + } + + // Set property "Weekly": + if schedule.Weekly != nil { + weekly_ARM, err := (*schedule.Weekly).ConvertToARM(resolved) + if err != nil { + return nil, err + } + weekly := *weekly_ARM.(*arm.WeeklySchedule) + result.Weekly = &weekly + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (schedule *Schedule) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.Schedule{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (schedule *Schedule) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.Schedule) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.Schedule, got %T", armInput) + } + + // Set property "AbsoluteMonthly": + if typedInput.AbsoluteMonthly != nil { + var absoluteMonthly1 AbsoluteMonthlySchedule + err := absoluteMonthly1.PopulateFromARM(owner, *typedInput.AbsoluteMonthly) + if err != nil { + return err + } + absoluteMonthly := absoluteMonthly1 + schedule.AbsoluteMonthly = &absoluteMonthly + } + + // Set property "Daily": + if typedInput.Daily != nil { + var daily1 DailySchedule + err := daily1.PopulateFromARM(owner, *typedInput.Daily) + if err != nil { + return err + } + daily := daily1 + schedule.Daily = &daily + } + + // Set property "RelativeMonthly": + if typedInput.RelativeMonthly != nil { + var relativeMonthly1 RelativeMonthlySchedule + err := relativeMonthly1.PopulateFromARM(owner, *typedInput.RelativeMonthly) + if err != nil { + return err + } + relativeMonthly := relativeMonthly1 + schedule.RelativeMonthly = &relativeMonthly + } + + // Set property "Weekly": + if typedInput.Weekly != nil { + var weekly1 WeeklySchedule + err := weekly1.PopulateFromARM(owner, *typedInput.Weekly) + if err != nil { + return err + } + weekly := weekly1 + schedule.Weekly = &weekly + } + + // No error + return nil +} + +// AssignProperties_From_Schedule populates our Schedule from the provided source Schedule +func (schedule *Schedule) AssignProperties_From_Schedule(source *storage.Schedule) error { + + // AbsoluteMonthly + if source.AbsoluteMonthly != nil { + var absoluteMonthly AbsoluteMonthlySchedule + err := absoluteMonthly.AssignProperties_From_AbsoluteMonthlySchedule(source.AbsoluteMonthly) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_AbsoluteMonthlySchedule() to populate field AbsoluteMonthly") + } + schedule.AbsoluteMonthly = &absoluteMonthly + } else { + schedule.AbsoluteMonthly = nil + } + + // Daily + if source.Daily != nil { + var daily DailySchedule + err := daily.AssignProperties_From_DailySchedule(source.Daily) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_DailySchedule() to populate field Daily") + } + schedule.Daily = &daily + } else { + schedule.Daily = nil + } + + // RelativeMonthly + if source.RelativeMonthly != nil { + var relativeMonthly RelativeMonthlySchedule + err := relativeMonthly.AssignProperties_From_RelativeMonthlySchedule(source.RelativeMonthly) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_RelativeMonthlySchedule() to populate field RelativeMonthly") + } + schedule.RelativeMonthly = &relativeMonthly + } else { + schedule.RelativeMonthly = nil + } + + // Weekly + if source.Weekly != nil { + var weekly WeeklySchedule + err := weekly.AssignProperties_From_WeeklySchedule(source.Weekly) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_WeeklySchedule() to populate field Weekly") + } + schedule.Weekly = &weekly + } else { + schedule.Weekly = nil + } + + // No error + return nil +} + +// AssignProperties_To_Schedule populates the provided destination Schedule from our Schedule +func (schedule *Schedule) AssignProperties_To_Schedule(destination *storage.Schedule) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // AbsoluteMonthly + if schedule.AbsoluteMonthly != nil { + var absoluteMonthly storage.AbsoluteMonthlySchedule + err := schedule.AbsoluteMonthly.AssignProperties_To_AbsoluteMonthlySchedule(&absoluteMonthly) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_AbsoluteMonthlySchedule() to populate field AbsoluteMonthly") + } + destination.AbsoluteMonthly = &absoluteMonthly + } else { + destination.AbsoluteMonthly = nil + } + + // Daily + if schedule.Daily != nil { + var daily storage.DailySchedule + err := schedule.Daily.AssignProperties_To_DailySchedule(&daily) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_DailySchedule() to populate field Daily") + } + destination.Daily = &daily + } else { + destination.Daily = nil + } + + // RelativeMonthly + if schedule.RelativeMonthly != nil { + var relativeMonthly storage.RelativeMonthlySchedule + err := schedule.RelativeMonthly.AssignProperties_To_RelativeMonthlySchedule(&relativeMonthly) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_RelativeMonthlySchedule() to populate field RelativeMonthly") + } + destination.RelativeMonthly = &relativeMonthly + } else { + destination.RelativeMonthly = nil + } + + // Weekly + if schedule.Weekly != nil { + var weekly storage.WeeklySchedule + err := schedule.Weekly.AssignProperties_To_WeeklySchedule(&weekly) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_WeeklySchedule() to populate field Weekly") + } + destination.Weekly = &weekly + } else { + destination.Weekly = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_Schedule_STATUS populates our Schedule from the provided source Schedule_STATUS +func (schedule *Schedule) Initialize_From_Schedule_STATUS(source *Schedule_STATUS) error { + + // AbsoluteMonthly + if source.AbsoluteMonthly != nil { + var absoluteMonthly AbsoluteMonthlySchedule + err := absoluteMonthly.Initialize_From_AbsoluteMonthlySchedule_STATUS(source.AbsoluteMonthly) + if err != nil { + return errors.Wrap(err, "calling Initialize_From_AbsoluteMonthlySchedule_STATUS() to populate field AbsoluteMonthly") + } + schedule.AbsoluteMonthly = &absoluteMonthly + } else { + schedule.AbsoluteMonthly = nil + } + + // Daily + if source.Daily != nil { + var daily DailySchedule + err := daily.Initialize_From_DailySchedule_STATUS(source.Daily) + if err != nil { + return errors.Wrap(err, "calling Initialize_From_DailySchedule_STATUS() to populate field Daily") + } + schedule.Daily = &daily + } else { + schedule.Daily = nil + } + + // RelativeMonthly + if source.RelativeMonthly != nil { + var relativeMonthly RelativeMonthlySchedule + err := relativeMonthly.Initialize_From_RelativeMonthlySchedule_STATUS(source.RelativeMonthly) + if err != nil { + return errors.Wrap(err, "calling Initialize_From_RelativeMonthlySchedule_STATUS() to populate field RelativeMonthly") + } + schedule.RelativeMonthly = &relativeMonthly + } else { + schedule.RelativeMonthly = nil + } + + // Weekly + if source.Weekly != nil { + var weekly WeeklySchedule + err := weekly.Initialize_From_WeeklySchedule_STATUS(source.Weekly) + if err != nil { + return errors.Wrap(err, "calling Initialize_From_WeeklySchedule_STATUS() to populate field Weekly") + } + schedule.Weekly = &weekly + } else { + schedule.Weekly = nil + } + + // No error + return nil +} + +// One and only one of the schedule types should be specified. Choose either 'daily', 'weekly', 'absoluteMonthly' or +// 'relativeMonthly' for your maintenance schedule. +type Schedule_STATUS struct { + // AbsoluteMonthly: For schedules like: 'recur every month on the 15th' or 'recur every 3 months on the 20th'. + AbsoluteMonthly *AbsoluteMonthlySchedule_STATUS `json:"absoluteMonthly,omitempty"` + + // Daily: For schedules like: 'recur every day' or 'recur every 3 days'. + Daily *DailySchedule_STATUS `json:"daily,omitempty"` + + // RelativeMonthly: For schedules like: 'recur every month on the first Monday' or 'recur every 3 months on last Friday'. + RelativeMonthly *RelativeMonthlySchedule_STATUS `json:"relativeMonthly,omitempty"` + + // Weekly: For schedules like: 'recur every Monday' or 'recur every 3 weeks on Wednesday'. + Weekly *WeeklySchedule_STATUS `json:"weekly,omitempty"` +} + +var _ genruntime.FromARMConverter = &Schedule_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (schedule *Schedule_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.Schedule_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (schedule *Schedule_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.Schedule_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.Schedule_STATUS, got %T", armInput) + } + + // Set property "AbsoluteMonthly": + if typedInput.AbsoluteMonthly != nil { + var absoluteMonthly1 AbsoluteMonthlySchedule_STATUS + err := absoluteMonthly1.PopulateFromARM(owner, *typedInput.AbsoluteMonthly) + if err != nil { + return err + } + absoluteMonthly := absoluteMonthly1 + schedule.AbsoluteMonthly = &absoluteMonthly + } + + // Set property "Daily": + if typedInput.Daily != nil { + var daily1 DailySchedule_STATUS + err := daily1.PopulateFromARM(owner, *typedInput.Daily) + if err != nil { + return err + } + daily := daily1 + schedule.Daily = &daily + } + + // Set property "RelativeMonthly": + if typedInput.RelativeMonthly != nil { + var relativeMonthly1 RelativeMonthlySchedule_STATUS + err := relativeMonthly1.PopulateFromARM(owner, *typedInput.RelativeMonthly) + if err != nil { + return err + } + relativeMonthly := relativeMonthly1 + schedule.RelativeMonthly = &relativeMonthly + } + + // Set property "Weekly": + if typedInput.Weekly != nil { + var weekly1 WeeklySchedule_STATUS + err := weekly1.PopulateFromARM(owner, *typedInput.Weekly) + if err != nil { + return err + } + weekly := weekly1 + schedule.Weekly = &weekly + } + + // No error + return nil +} + +// AssignProperties_From_Schedule_STATUS populates our Schedule_STATUS from the provided source Schedule_STATUS +func (schedule *Schedule_STATUS) AssignProperties_From_Schedule_STATUS(source *storage.Schedule_STATUS) error { + + // AbsoluteMonthly + if source.AbsoluteMonthly != nil { + var absoluteMonthly AbsoluteMonthlySchedule_STATUS + err := absoluteMonthly.AssignProperties_From_AbsoluteMonthlySchedule_STATUS(source.AbsoluteMonthly) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_AbsoluteMonthlySchedule_STATUS() to populate field AbsoluteMonthly") + } + schedule.AbsoluteMonthly = &absoluteMonthly + } else { + schedule.AbsoluteMonthly = nil + } + + // Daily + if source.Daily != nil { + var daily DailySchedule_STATUS + err := daily.AssignProperties_From_DailySchedule_STATUS(source.Daily) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_DailySchedule_STATUS() to populate field Daily") + } + schedule.Daily = &daily + } else { + schedule.Daily = nil + } + + // RelativeMonthly + if source.RelativeMonthly != nil { + var relativeMonthly RelativeMonthlySchedule_STATUS + err := relativeMonthly.AssignProperties_From_RelativeMonthlySchedule_STATUS(source.RelativeMonthly) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_RelativeMonthlySchedule_STATUS() to populate field RelativeMonthly") + } + schedule.RelativeMonthly = &relativeMonthly + } else { + schedule.RelativeMonthly = nil + } + + // Weekly + if source.Weekly != nil { + var weekly WeeklySchedule_STATUS + err := weekly.AssignProperties_From_WeeklySchedule_STATUS(source.Weekly) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_WeeklySchedule_STATUS() to populate field Weekly") + } + schedule.Weekly = &weekly + } else { + schedule.Weekly = nil + } + + // No error + return nil +} + +// AssignProperties_To_Schedule_STATUS populates the provided destination Schedule_STATUS from our Schedule_STATUS +func (schedule *Schedule_STATUS) AssignProperties_To_Schedule_STATUS(destination *storage.Schedule_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // AbsoluteMonthly + if schedule.AbsoluteMonthly != nil { + var absoluteMonthly storage.AbsoluteMonthlySchedule_STATUS + err := schedule.AbsoluteMonthly.AssignProperties_To_AbsoluteMonthlySchedule_STATUS(&absoluteMonthly) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_AbsoluteMonthlySchedule_STATUS() to populate field AbsoluteMonthly") + } + destination.AbsoluteMonthly = &absoluteMonthly + } else { + destination.AbsoluteMonthly = nil + } + + // Daily + if schedule.Daily != nil { + var daily storage.DailySchedule_STATUS + err := schedule.Daily.AssignProperties_To_DailySchedule_STATUS(&daily) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_DailySchedule_STATUS() to populate field Daily") + } + destination.Daily = &daily + } else { + destination.Daily = nil + } + + // RelativeMonthly + if schedule.RelativeMonthly != nil { + var relativeMonthly storage.RelativeMonthlySchedule_STATUS + err := schedule.RelativeMonthly.AssignProperties_To_RelativeMonthlySchedule_STATUS(&relativeMonthly) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_RelativeMonthlySchedule_STATUS() to populate field RelativeMonthly") + } + destination.RelativeMonthly = &relativeMonthly + } else { + destination.RelativeMonthly = nil + } + + // Weekly + if schedule.Weekly != nil { + var weekly storage.WeeklySchedule_STATUS + err := schedule.Weekly.AssignProperties_To_WeeklySchedule_STATUS(&weekly) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_WeeklySchedule_STATUS() to populate field Weekly") + } + destination.Weekly = &weekly + } else { + destination.Weekly = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +type SystemData_CreatedByType_STATUS string + +const ( + SystemData_CreatedByType_STATUS_Application = SystemData_CreatedByType_STATUS("Application") + SystemData_CreatedByType_STATUS_Key = SystemData_CreatedByType_STATUS("Key") + SystemData_CreatedByType_STATUS_ManagedIdentity = SystemData_CreatedByType_STATUS("ManagedIdentity") + SystemData_CreatedByType_STATUS_User = SystemData_CreatedByType_STATUS("User") +) + +// Mapping from string to SystemData_CreatedByType_STATUS +var systemData_CreatedByType_STATUS_Values = map[string]SystemData_CreatedByType_STATUS{ + "application": SystemData_CreatedByType_STATUS_Application, + "key": SystemData_CreatedByType_STATUS_Key, + "managedidentity": SystemData_CreatedByType_STATUS_ManagedIdentity, + "user": SystemData_CreatedByType_STATUS_User, +} + +type SystemData_LastModifiedByType_STATUS string + +const ( + SystemData_LastModifiedByType_STATUS_Application = SystemData_LastModifiedByType_STATUS("Application") + SystemData_LastModifiedByType_STATUS_Key = SystemData_LastModifiedByType_STATUS("Key") + SystemData_LastModifiedByType_STATUS_ManagedIdentity = SystemData_LastModifiedByType_STATUS("ManagedIdentity") + SystemData_LastModifiedByType_STATUS_User = SystemData_LastModifiedByType_STATUS("User") +) + +// Mapping from string to SystemData_LastModifiedByType_STATUS +var systemData_LastModifiedByType_STATUS_Values = map[string]SystemData_LastModifiedByType_STATUS{ + "application": SystemData_LastModifiedByType_STATUS_Application, + "key": SystemData_LastModifiedByType_STATUS_Key, + "managedidentity": SystemData_LastModifiedByType_STATUS_ManagedIdentity, + "user": SystemData_LastModifiedByType_STATUS_User, +} + +// The weekday enum. +// +kubebuilder:validation:Enum={"Friday","Monday","Saturday","Sunday","Thursday","Tuesday","Wednesday"} +type WeekDay string + +const ( + WeekDay_Friday = WeekDay("Friday") + WeekDay_Monday = WeekDay("Monday") + WeekDay_Saturday = WeekDay("Saturday") + WeekDay_Sunday = WeekDay("Sunday") + WeekDay_Thursday = WeekDay("Thursday") + WeekDay_Tuesday = WeekDay("Tuesday") + WeekDay_Wednesday = WeekDay("Wednesday") +) + +// Mapping from string to WeekDay +var weekDay_Values = map[string]WeekDay{ + "friday": WeekDay_Friday, + "monday": WeekDay_Monday, + "saturday": WeekDay_Saturday, + "sunday": WeekDay_Sunday, + "thursday": WeekDay_Thursday, + "tuesday": WeekDay_Tuesday, + "wednesday": WeekDay_Wednesday, +} + +// The weekday enum. +type WeekDay_STATUS string + +const ( + WeekDay_STATUS_Friday = WeekDay_STATUS("Friday") + WeekDay_STATUS_Monday = WeekDay_STATUS("Monday") + WeekDay_STATUS_Saturday = WeekDay_STATUS("Saturday") + WeekDay_STATUS_Sunday = WeekDay_STATUS("Sunday") + WeekDay_STATUS_Thursday = WeekDay_STATUS("Thursday") + WeekDay_STATUS_Tuesday = WeekDay_STATUS("Tuesday") + WeekDay_STATUS_Wednesday = WeekDay_STATUS("Wednesday") +) + +// Mapping from string to WeekDay_STATUS +var weekDay_STATUS_Values = map[string]WeekDay_STATUS{ + "friday": WeekDay_STATUS_Friday, + "monday": WeekDay_STATUS_Monday, + "saturday": WeekDay_STATUS_Saturday, + "sunday": WeekDay_STATUS_Sunday, + "thursday": WeekDay_STATUS_Thursday, + "tuesday": WeekDay_STATUS_Tuesday, + "wednesday": WeekDay_STATUS_Wednesday, +} + +// For schedules like: 'recur every month on the 15th' or 'recur every 3 months on the 20th'. +type AbsoluteMonthlySchedule struct { + // +kubebuilder:validation:Required + // +kubebuilder:validation:Maximum=31 + // +kubebuilder:validation:Minimum=1 + // DayOfMonth: The date of the month. + DayOfMonth *int `json:"dayOfMonth,omitempty"` + + // +kubebuilder:validation:Required + // +kubebuilder:validation:Maximum=6 + // +kubebuilder:validation:Minimum=1 + // IntervalMonths: Specifies the number of months between each set of occurrences. + IntervalMonths *int `json:"intervalMonths,omitempty"` +} + +var _ genruntime.ARMTransformer = &AbsoluteMonthlySchedule{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (schedule *AbsoluteMonthlySchedule) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if schedule == nil { + return nil, nil + } + result := &arm.AbsoluteMonthlySchedule{} + + // Set property "DayOfMonth": + if schedule.DayOfMonth != nil { + dayOfMonth := *schedule.DayOfMonth + result.DayOfMonth = &dayOfMonth + } + + // Set property "IntervalMonths": + if schedule.IntervalMonths != nil { + intervalMonths := *schedule.IntervalMonths + result.IntervalMonths = &intervalMonths + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (schedule *AbsoluteMonthlySchedule) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.AbsoluteMonthlySchedule{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (schedule *AbsoluteMonthlySchedule) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.AbsoluteMonthlySchedule) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.AbsoluteMonthlySchedule, got %T", armInput) + } + + // Set property "DayOfMonth": + if typedInput.DayOfMonth != nil { + dayOfMonth := *typedInput.DayOfMonth + schedule.DayOfMonth = &dayOfMonth + } + + // Set property "IntervalMonths": + if typedInput.IntervalMonths != nil { + intervalMonths := *typedInput.IntervalMonths + schedule.IntervalMonths = &intervalMonths + } + + // No error + return nil +} + +// AssignProperties_From_AbsoluteMonthlySchedule populates our AbsoluteMonthlySchedule from the provided source AbsoluteMonthlySchedule +func (schedule *AbsoluteMonthlySchedule) AssignProperties_From_AbsoluteMonthlySchedule(source *storage.AbsoluteMonthlySchedule) error { + + // DayOfMonth + if source.DayOfMonth != nil { + dayOfMonth := *source.DayOfMonth + schedule.DayOfMonth = &dayOfMonth + } else { + schedule.DayOfMonth = nil + } + + // IntervalMonths + if source.IntervalMonths != nil { + intervalMonth := *source.IntervalMonths + schedule.IntervalMonths = &intervalMonth + } else { + schedule.IntervalMonths = nil + } + + // No error + return nil +} + +// AssignProperties_To_AbsoluteMonthlySchedule populates the provided destination AbsoluteMonthlySchedule from our AbsoluteMonthlySchedule +func (schedule *AbsoluteMonthlySchedule) AssignProperties_To_AbsoluteMonthlySchedule(destination *storage.AbsoluteMonthlySchedule) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // DayOfMonth + if schedule.DayOfMonth != nil { + dayOfMonth := *schedule.DayOfMonth + destination.DayOfMonth = &dayOfMonth + } else { + destination.DayOfMonth = nil + } + + // IntervalMonths + if schedule.IntervalMonths != nil { + intervalMonth := *schedule.IntervalMonths + destination.IntervalMonths = &intervalMonth + } else { + destination.IntervalMonths = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_AbsoluteMonthlySchedule_STATUS populates our AbsoluteMonthlySchedule from the provided source AbsoluteMonthlySchedule_STATUS +func (schedule *AbsoluteMonthlySchedule) Initialize_From_AbsoluteMonthlySchedule_STATUS(source *AbsoluteMonthlySchedule_STATUS) error { + + // DayOfMonth + if source.DayOfMonth != nil { + dayOfMonth := *source.DayOfMonth + schedule.DayOfMonth = &dayOfMonth + } else { + schedule.DayOfMonth = nil + } + + // IntervalMonths + if source.IntervalMonths != nil { + intervalMonth := *source.IntervalMonths + schedule.IntervalMonths = &intervalMonth + } else { + schedule.IntervalMonths = nil + } + + // No error + return nil +} + +// For schedules like: 'recur every month on the 15th' or 'recur every 3 months on the 20th'. +type AbsoluteMonthlySchedule_STATUS struct { + // DayOfMonth: The date of the month. + DayOfMonth *int `json:"dayOfMonth,omitempty"` + + // IntervalMonths: Specifies the number of months between each set of occurrences. + IntervalMonths *int `json:"intervalMonths,omitempty"` +} + +var _ genruntime.FromARMConverter = &AbsoluteMonthlySchedule_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (schedule *AbsoluteMonthlySchedule_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.AbsoluteMonthlySchedule_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (schedule *AbsoluteMonthlySchedule_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.AbsoluteMonthlySchedule_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.AbsoluteMonthlySchedule_STATUS, got %T", armInput) + } + + // Set property "DayOfMonth": + if typedInput.DayOfMonth != nil { + dayOfMonth := *typedInput.DayOfMonth + schedule.DayOfMonth = &dayOfMonth + } + + // Set property "IntervalMonths": + if typedInput.IntervalMonths != nil { + intervalMonths := *typedInput.IntervalMonths + schedule.IntervalMonths = &intervalMonths + } + + // No error + return nil +} + +// AssignProperties_From_AbsoluteMonthlySchedule_STATUS populates our AbsoluteMonthlySchedule_STATUS from the provided source AbsoluteMonthlySchedule_STATUS +func (schedule *AbsoluteMonthlySchedule_STATUS) AssignProperties_From_AbsoluteMonthlySchedule_STATUS(source *storage.AbsoluteMonthlySchedule_STATUS) error { + + // DayOfMonth + schedule.DayOfMonth = genruntime.ClonePointerToInt(source.DayOfMonth) + + // IntervalMonths + schedule.IntervalMonths = genruntime.ClonePointerToInt(source.IntervalMonths) + + // No error + return nil +} + +// AssignProperties_To_AbsoluteMonthlySchedule_STATUS populates the provided destination AbsoluteMonthlySchedule_STATUS from our AbsoluteMonthlySchedule_STATUS +func (schedule *AbsoluteMonthlySchedule_STATUS) AssignProperties_To_AbsoluteMonthlySchedule_STATUS(destination *storage.AbsoluteMonthlySchedule_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // DayOfMonth + destination.DayOfMonth = genruntime.ClonePointerToInt(schedule.DayOfMonth) + + // IntervalMonths + destination.IntervalMonths = genruntime.ClonePointerToInt(schedule.IntervalMonths) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// For schedules like: 'recur every day' or 'recur every 3 days'. +type DailySchedule struct { + // +kubebuilder:validation:Required + // +kubebuilder:validation:Maximum=7 + // +kubebuilder:validation:Minimum=1 + // IntervalDays: Specifies the number of days between each set of occurrences. + IntervalDays *int `json:"intervalDays,omitempty"` +} + +var _ genruntime.ARMTransformer = &DailySchedule{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (schedule *DailySchedule) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if schedule == nil { + return nil, nil + } + result := &arm.DailySchedule{} + + // Set property "IntervalDays": + if schedule.IntervalDays != nil { + intervalDays := *schedule.IntervalDays + result.IntervalDays = &intervalDays + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (schedule *DailySchedule) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.DailySchedule{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (schedule *DailySchedule) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.DailySchedule) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.DailySchedule, got %T", armInput) + } + + // Set property "IntervalDays": + if typedInput.IntervalDays != nil { + intervalDays := *typedInput.IntervalDays + schedule.IntervalDays = &intervalDays + } + + // No error + return nil +} + +// AssignProperties_From_DailySchedule populates our DailySchedule from the provided source DailySchedule +func (schedule *DailySchedule) AssignProperties_From_DailySchedule(source *storage.DailySchedule) error { + + // IntervalDays + if source.IntervalDays != nil { + intervalDay := *source.IntervalDays + schedule.IntervalDays = &intervalDay + } else { + schedule.IntervalDays = nil + } + + // No error + return nil +} + +// AssignProperties_To_DailySchedule populates the provided destination DailySchedule from our DailySchedule +func (schedule *DailySchedule) AssignProperties_To_DailySchedule(destination *storage.DailySchedule) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // IntervalDays + if schedule.IntervalDays != nil { + intervalDay := *schedule.IntervalDays + destination.IntervalDays = &intervalDay + } else { + destination.IntervalDays = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_DailySchedule_STATUS populates our DailySchedule from the provided source DailySchedule_STATUS +func (schedule *DailySchedule) Initialize_From_DailySchedule_STATUS(source *DailySchedule_STATUS) error { + + // IntervalDays + if source.IntervalDays != nil { + intervalDay := *source.IntervalDays + schedule.IntervalDays = &intervalDay + } else { + schedule.IntervalDays = nil + } + + // No error + return nil +} + +// For schedules like: 'recur every day' or 'recur every 3 days'. +type DailySchedule_STATUS struct { + // IntervalDays: Specifies the number of days between each set of occurrences. + IntervalDays *int `json:"intervalDays,omitempty"` +} + +var _ genruntime.FromARMConverter = &DailySchedule_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (schedule *DailySchedule_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.DailySchedule_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (schedule *DailySchedule_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.DailySchedule_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.DailySchedule_STATUS, got %T", armInput) + } + + // Set property "IntervalDays": + if typedInput.IntervalDays != nil { + intervalDays := *typedInput.IntervalDays + schedule.IntervalDays = &intervalDays + } + + // No error + return nil +} + +// AssignProperties_From_DailySchedule_STATUS populates our DailySchedule_STATUS from the provided source DailySchedule_STATUS +func (schedule *DailySchedule_STATUS) AssignProperties_From_DailySchedule_STATUS(source *storage.DailySchedule_STATUS) error { + + // IntervalDays + schedule.IntervalDays = genruntime.ClonePointerToInt(source.IntervalDays) + + // No error + return nil +} + +// AssignProperties_To_DailySchedule_STATUS populates the provided destination DailySchedule_STATUS from our DailySchedule_STATUS +func (schedule *DailySchedule_STATUS) AssignProperties_To_DailySchedule_STATUS(destination *storage.DailySchedule_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // IntervalDays + destination.IntervalDays = genruntime.ClonePointerToInt(schedule.IntervalDays) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// For schedules like: 'recur every month on the first Monday' or 'recur every 3 months on last Friday'. +type RelativeMonthlySchedule struct { + // +kubebuilder:validation:Required + // DayOfWeek: Specifies on which day of the week the maintenance occurs. + DayOfWeek *WeekDay `json:"dayOfWeek,omitempty"` + + // +kubebuilder:validation:Required + // +kubebuilder:validation:Maximum=6 + // +kubebuilder:validation:Minimum=1 + // IntervalMonths: Specifies the number of months between each set of occurrences. + IntervalMonths *int `json:"intervalMonths,omitempty"` + + // +kubebuilder:validation:Required + // WeekIndex: Specifies on which week of the month the dayOfWeek applies. + WeekIndex *RelativeMonthlySchedule_WeekIndex `json:"weekIndex,omitempty"` +} + +var _ genruntime.ARMTransformer = &RelativeMonthlySchedule{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (schedule *RelativeMonthlySchedule) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if schedule == nil { + return nil, nil + } + result := &arm.RelativeMonthlySchedule{} + + // Set property "DayOfWeek": + if schedule.DayOfWeek != nil { + var temp string + temp = string(*schedule.DayOfWeek) + dayOfWeek := arm.WeekDay(temp) + result.DayOfWeek = &dayOfWeek + } + + // Set property "IntervalMonths": + if schedule.IntervalMonths != nil { + intervalMonths := *schedule.IntervalMonths + result.IntervalMonths = &intervalMonths + } + + // Set property "WeekIndex": + if schedule.WeekIndex != nil { + var temp string + temp = string(*schedule.WeekIndex) + weekIndex := arm.RelativeMonthlySchedule_WeekIndex(temp) + result.WeekIndex = &weekIndex + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (schedule *RelativeMonthlySchedule) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.RelativeMonthlySchedule{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (schedule *RelativeMonthlySchedule) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.RelativeMonthlySchedule) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.RelativeMonthlySchedule, got %T", armInput) + } + + // Set property "DayOfWeek": + if typedInput.DayOfWeek != nil { + var temp string + temp = string(*typedInput.DayOfWeek) + dayOfWeek := WeekDay(temp) + schedule.DayOfWeek = &dayOfWeek + } + + // Set property "IntervalMonths": + if typedInput.IntervalMonths != nil { + intervalMonths := *typedInput.IntervalMonths + schedule.IntervalMonths = &intervalMonths + } + + // Set property "WeekIndex": + if typedInput.WeekIndex != nil { + var temp string + temp = string(*typedInput.WeekIndex) + weekIndex := RelativeMonthlySchedule_WeekIndex(temp) + schedule.WeekIndex = &weekIndex + } + + // No error + return nil +} + +// AssignProperties_From_RelativeMonthlySchedule populates our RelativeMonthlySchedule from the provided source RelativeMonthlySchedule +func (schedule *RelativeMonthlySchedule) AssignProperties_From_RelativeMonthlySchedule(source *storage.RelativeMonthlySchedule) error { + + // DayOfWeek + if source.DayOfWeek != nil { + dayOfWeek := *source.DayOfWeek + dayOfWeekTemp := genruntime.ToEnum(dayOfWeek, weekDay_Values) + schedule.DayOfWeek = &dayOfWeekTemp + } else { + schedule.DayOfWeek = nil + } + + // IntervalMonths + if source.IntervalMonths != nil { + intervalMonth := *source.IntervalMonths + schedule.IntervalMonths = &intervalMonth + } else { + schedule.IntervalMonths = nil + } + + // WeekIndex + if source.WeekIndex != nil { + weekIndex := *source.WeekIndex + weekIndexTemp := genruntime.ToEnum(weekIndex, relativeMonthlySchedule_WeekIndex_Values) + schedule.WeekIndex = &weekIndexTemp + } else { + schedule.WeekIndex = nil + } + + // No error + return nil +} + +// AssignProperties_To_RelativeMonthlySchedule populates the provided destination RelativeMonthlySchedule from our RelativeMonthlySchedule +func (schedule *RelativeMonthlySchedule) AssignProperties_To_RelativeMonthlySchedule(destination *storage.RelativeMonthlySchedule) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // DayOfWeek + if schedule.DayOfWeek != nil { + dayOfWeek := string(*schedule.DayOfWeek) + destination.DayOfWeek = &dayOfWeek + } else { + destination.DayOfWeek = nil + } + + // IntervalMonths + if schedule.IntervalMonths != nil { + intervalMonth := *schedule.IntervalMonths + destination.IntervalMonths = &intervalMonth + } else { + destination.IntervalMonths = nil + } + + // WeekIndex + if schedule.WeekIndex != nil { + weekIndex := string(*schedule.WeekIndex) + destination.WeekIndex = &weekIndex + } else { + destination.WeekIndex = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_RelativeMonthlySchedule_STATUS populates our RelativeMonthlySchedule from the provided source RelativeMonthlySchedule_STATUS +func (schedule *RelativeMonthlySchedule) Initialize_From_RelativeMonthlySchedule_STATUS(source *RelativeMonthlySchedule_STATUS) error { + + // DayOfWeek + if source.DayOfWeek != nil { + dayOfWeek := genruntime.ToEnum(string(*source.DayOfWeek), weekDay_Values) + schedule.DayOfWeek = &dayOfWeek + } else { + schedule.DayOfWeek = nil + } + + // IntervalMonths + if source.IntervalMonths != nil { + intervalMonth := *source.IntervalMonths + schedule.IntervalMonths = &intervalMonth + } else { + schedule.IntervalMonths = nil + } + + // WeekIndex + if source.WeekIndex != nil { + weekIndex := genruntime.ToEnum(string(*source.WeekIndex), relativeMonthlySchedule_WeekIndex_Values) + schedule.WeekIndex = &weekIndex + } else { + schedule.WeekIndex = nil + } + + // No error + return nil +} + +// For schedules like: 'recur every month on the first Monday' or 'recur every 3 months on last Friday'. +type RelativeMonthlySchedule_STATUS struct { + // DayOfWeek: Specifies on which day of the week the maintenance occurs. + DayOfWeek *WeekDay_STATUS `json:"dayOfWeek,omitempty"` + + // IntervalMonths: Specifies the number of months between each set of occurrences. + IntervalMonths *int `json:"intervalMonths,omitempty"` + + // WeekIndex: Specifies on which week of the month the dayOfWeek applies. + WeekIndex *RelativeMonthlySchedule_WeekIndex_STATUS `json:"weekIndex,omitempty"` +} + +var _ genruntime.FromARMConverter = &RelativeMonthlySchedule_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (schedule *RelativeMonthlySchedule_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.RelativeMonthlySchedule_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (schedule *RelativeMonthlySchedule_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.RelativeMonthlySchedule_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.RelativeMonthlySchedule_STATUS, got %T", armInput) + } + + // Set property "DayOfWeek": + if typedInput.DayOfWeek != nil { + var temp string + temp = string(*typedInput.DayOfWeek) + dayOfWeek := WeekDay_STATUS(temp) + schedule.DayOfWeek = &dayOfWeek + } + + // Set property "IntervalMonths": + if typedInput.IntervalMonths != nil { + intervalMonths := *typedInput.IntervalMonths + schedule.IntervalMonths = &intervalMonths + } + + // Set property "WeekIndex": + if typedInput.WeekIndex != nil { + var temp string + temp = string(*typedInput.WeekIndex) + weekIndex := RelativeMonthlySchedule_WeekIndex_STATUS(temp) + schedule.WeekIndex = &weekIndex + } + + // No error + return nil +} + +// AssignProperties_From_RelativeMonthlySchedule_STATUS populates our RelativeMonthlySchedule_STATUS from the provided source RelativeMonthlySchedule_STATUS +func (schedule *RelativeMonthlySchedule_STATUS) AssignProperties_From_RelativeMonthlySchedule_STATUS(source *storage.RelativeMonthlySchedule_STATUS) error { + + // DayOfWeek + if source.DayOfWeek != nil { + dayOfWeek := *source.DayOfWeek + dayOfWeekTemp := genruntime.ToEnum(dayOfWeek, weekDay_STATUS_Values) + schedule.DayOfWeek = &dayOfWeekTemp + } else { + schedule.DayOfWeek = nil + } + + // IntervalMonths + schedule.IntervalMonths = genruntime.ClonePointerToInt(source.IntervalMonths) + + // WeekIndex + if source.WeekIndex != nil { + weekIndex := *source.WeekIndex + weekIndexTemp := genruntime.ToEnum(weekIndex, relativeMonthlySchedule_WeekIndex_STATUS_Values) + schedule.WeekIndex = &weekIndexTemp + } else { + schedule.WeekIndex = nil + } + + // No error + return nil +} + +// AssignProperties_To_RelativeMonthlySchedule_STATUS populates the provided destination RelativeMonthlySchedule_STATUS from our RelativeMonthlySchedule_STATUS +func (schedule *RelativeMonthlySchedule_STATUS) AssignProperties_To_RelativeMonthlySchedule_STATUS(destination *storage.RelativeMonthlySchedule_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // DayOfWeek + if schedule.DayOfWeek != nil { + dayOfWeek := string(*schedule.DayOfWeek) + destination.DayOfWeek = &dayOfWeek + } else { + destination.DayOfWeek = nil + } + + // IntervalMonths + destination.IntervalMonths = genruntime.ClonePointerToInt(schedule.IntervalMonths) + + // WeekIndex + if schedule.WeekIndex != nil { + weekIndex := string(*schedule.WeekIndex) + destination.WeekIndex = &weekIndex + } else { + destination.WeekIndex = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// For schedules like: 'recur every Monday' or 'recur every 3 weeks on Wednesday'. +type WeeklySchedule struct { + // +kubebuilder:validation:Required + // DayOfWeek: Specifies on which day of the week the maintenance occurs. + DayOfWeek *WeekDay `json:"dayOfWeek,omitempty"` + + // +kubebuilder:validation:Required + // +kubebuilder:validation:Maximum=4 + // +kubebuilder:validation:Minimum=1 + // IntervalWeeks: Specifies the number of weeks between each set of occurrences. + IntervalWeeks *int `json:"intervalWeeks,omitempty"` +} + +var _ genruntime.ARMTransformer = &WeeklySchedule{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (schedule *WeeklySchedule) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if schedule == nil { + return nil, nil + } + result := &arm.WeeklySchedule{} + + // Set property "DayOfWeek": + if schedule.DayOfWeek != nil { + var temp string + temp = string(*schedule.DayOfWeek) + dayOfWeek := arm.WeekDay(temp) + result.DayOfWeek = &dayOfWeek + } + + // Set property "IntervalWeeks": + if schedule.IntervalWeeks != nil { + intervalWeeks := *schedule.IntervalWeeks + result.IntervalWeeks = &intervalWeeks + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (schedule *WeeklySchedule) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.WeeklySchedule{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (schedule *WeeklySchedule) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.WeeklySchedule) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.WeeklySchedule, got %T", armInput) + } + + // Set property "DayOfWeek": + if typedInput.DayOfWeek != nil { + var temp string + temp = string(*typedInput.DayOfWeek) + dayOfWeek := WeekDay(temp) + schedule.DayOfWeek = &dayOfWeek + } + + // Set property "IntervalWeeks": + if typedInput.IntervalWeeks != nil { + intervalWeeks := *typedInput.IntervalWeeks + schedule.IntervalWeeks = &intervalWeeks + } + + // No error + return nil +} + +// AssignProperties_From_WeeklySchedule populates our WeeklySchedule from the provided source WeeklySchedule +func (schedule *WeeklySchedule) AssignProperties_From_WeeklySchedule(source *storage.WeeklySchedule) error { + + // DayOfWeek + if source.DayOfWeek != nil { + dayOfWeek := *source.DayOfWeek + dayOfWeekTemp := genruntime.ToEnum(dayOfWeek, weekDay_Values) + schedule.DayOfWeek = &dayOfWeekTemp + } else { + schedule.DayOfWeek = nil + } + + // IntervalWeeks + if source.IntervalWeeks != nil { + intervalWeek := *source.IntervalWeeks + schedule.IntervalWeeks = &intervalWeek + } else { + schedule.IntervalWeeks = nil + } + + // No error + return nil +} + +// AssignProperties_To_WeeklySchedule populates the provided destination WeeklySchedule from our WeeklySchedule +func (schedule *WeeklySchedule) AssignProperties_To_WeeklySchedule(destination *storage.WeeklySchedule) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // DayOfWeek + if schedule.DayOfWeek != nil { + dayOfWeek := string(*schedule.DayOfWeek) + destination.DayOfWeek = &dayOfWeek + } else { + destination.DayOfWeek = nil + } + + // IntervalWeeks + if schedule.IntervalWeeks != nil { + intervalWeek := *schedule.IntervalWeeks + destination.IntervalWeeks = &intervalWeek + } else { + destination.IntervalWeeks = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_WeeklySchedule_STATUS populates our WeeklySchedule from the provided source WeeklySchedule_STATUS +func (schedule *WeeklySchedule) Initialize_From_WeeklySchedule_STATUS(source *WeeklySchedule_STATUS) error { + + // DayOfWeek + if source.DayOfWeek != nil { + dayOfWeek := genruntime.ToEnum(string(*source.DayOfWeek), weekDay_Values) + schedule.DayOfWeek = &dayOfWeek + } else { + schedule.DayOfWeek = nil + } + + // IntervalWeeks + if source.IntervalWeeks != nil { + intervalWeek := *source.IntervalWeeks + schedule.IntervalWeeks = &intervalWeek + } else { + schedule.IntervalWeeks = nil + } + + // No error + return nil +} + +// For schedules like: 'recur every Monday' or 'recur every 3 weeks on Wednesday'. +type WeeklySchedule_STATUS struct { + // DayOfWeek: Specifies on which day of the week the maintenance occurs. + DayOfWeek *WeekDay_STATUS `json:"dayOfWeek,omitempty"` + + // IntervalWeeks: Specifies the number of weeks between each set of occurrences. + IntervalWeeks *int `json:"intervalWeeks,omitempty"` +} + +var _ genruntime.FromARMConverter = &WeeklySchedule_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (schedule *WeeklySchedule_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.WeeklySchedule_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (schedule *WeeklySchedule_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.WeeklySchedule_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.WeeklySchedule_STATUS, got %T", armInput) + } + + // Set property "DayOfWeek": + if typedInput.DayOfWeek != nil { + var temp string + temp = string(*typedInput.DayOfWeek) + dayOfWeek := WeekDay_STATUS(temp) + schedule.DayOfWeek = &dayOfWeek + } + + // Set property "IntervalWeeks": + if typedInput.IntervalWeeks != nil { + intervalWeeks := *typedInput.IntervalWeeks + schedule.IntervalWeeks = &intervalWeeks + } + + // No error + return nil +} + +// AssignProperties_From_WeeklySchedule_STATUS populates our WeeklySchedule_STATUS from the provided source WeeklySchedule_STATUS +func (schedule *WeeklySchedule_STATUS) AssignProperties_From_WeeklySchedule_STATUS(source *storage.WeeklySchedule_STATUS) error { + + // DayOfWeek + if source.DayOfWeek != nil { + dayOfWeek := *source.DayOfWeek + dayOfWeekTemp := genruntime.ToEnum(dayOfWeek, weekDay_STATUS_Values) + schedule.DayOfWeek = &dayOfWeekTemp + } else { + schedule.DayOfWeek = nil + } + + // IntervalWeeks + schedule.IntervalWeeks = genruntime.ClonePointerToInt(source.IntervalWeeks) + + // No error + return nil +} + +// AssignProperties_To_WeeklySchedule_STATUS populates the provided destination WeeklySchedule_STATUS from our WeeklySchedule_STATUS +func (schedule *WeeklySchedule_STATUS) AssignProperties_To_WeeklySchedule_STATUS(destination *storage.WeeklySchedule_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // DayOfWeek + if schedule.DayOfWeek != nil { + dayOfWeek := string(*schedule.DayOfWeek) + destination.DayOfWeek = &dayOfWeek + } else { + destination.DayOfWeek = nil + } + + // IntervalWeeks + destination.IntervalWeeks = genruntime.ClonePointerToInt(schedule.IntervalWeeks) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// +kubebuilder:validation:Enum={"First","Fourth","Last","Second","Third"} +type RelativeMonthlySchedule_WeekIndex string + +const ( + RelativeMonthlySchedule_WeekIndex_First = RelativeMonthlySchedule_WeekIndex("First") + RelativeMonthlySchedule_WeekIndex_Fourth = RelativeMonthlySchedule_WeekIndex("Fourth") + RelativeMonthlySchedule_WeekIndex_Last = RelativeMonthlySchedule_WeekIndex("Last") + RelativeMonthlySchedule_WeekIndex_Second = RelativeMonthlySchedule_WeekIndex("Second") + RelativeMonthlySchedule_WeekIndex_Third = RelativeMonthlySchedule_WeekIndex("Third") +) + +// Mapping from string to RelativeMonthlySchedule_WeekIndex +var relativeMonthlySchedule_WeekIndex_Values = map[string]RelativeMonthlySchedule_WeekIndex{ + "first": RelativeMonthlySchedule_WeekIndex_First, + "fourth": RelativeMonthlySchedule_WeekIndex_Fourth, + "last": RelativeMonthlySchedule_WeekIndex_Last, + "second": RelativeMonthlySchedule_WeekIndex_Second, + "third": RelativeMonthlySchedule_WeekIndex_Third, +} + +type RelativeMonthlySchedule_WeekIndex_STATUS string + +const ( + RelativeMonthlySchedule_WeekIndex_STATUS_First = RelativeMonthlySchedule_WeekIndex_STATUS("First") + RelativeMonthlySchedule_WeekIndex_STATUS_Fourth = RelativeMonthlySchedule_WeekIndex_STATUS("Fourth") + RelativeMonthlySchedule_WeekIndex_STATUS_Last = RelativeMonthlySchedule_WeekIndex_STATUS("Last") + RelativeMonthlySchedule_WeekIndex_STATUS_Second = RelativeMonthlySchedule_WeekIndex_STATUS("Second") + RelativeMonthlySchedule_WeekIndex_STATUS_Third = RelativeMonthlySchedule_WeekIndex_STATUS("Third") +) + +// Mapping from string to RelativeMonthlySchedule_WeekIndex_STATUS +var relativeMonthlySchedule_WeekIndex_STATUS_Values = map[string]RelativeMonthlySchedule_WeekIndex_STATUS{ + "first": RelativeMonthlySchedule_WeekIndex_STATUS_First, + "fourth": RelativeMonthlySchedule_WeekIndex_STATUS_Fourth, + "last": RelativeMonthlySchedule_WeekIndex_STATUS_Last, + "second": RelativeMonthlySchedule_WeekIndex_STATUS_Second, + "third": RelativeMonthlySchedule_WeekIndex_STATUS_Third, +} + +func init() { + SchemeBuilder.Register(&MaintenanceConfiguration{}, &MaintenanceConfigurationList{}) +} diff --git a/v2/api/containerservice/v1api20240901/maintenance_configuration_types_gen_test.go b/v2/api/containerservice/v1api20240901/maintenance_configuration_types_gen_test.go new file mode 100644 index 00000000000..34e810cf206 --- /dev/null +++ b/v2/api/containerservice/v1api20240901/maintenance_configuration_types_gen_test.go @@ -0,0 +1,2475 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package v1api20240901 + +import ( + "encoding/json" + storage "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20240901/storage" + "github.com/google/go-cmp/cmp" + "github.com/google/go-cmp/cmp/cmpopts" + "github.com/kr/pretty" + "github.com/kylelemons/godebug/diff" + "github.com/leanovate/gopter" + "github.com/leanovate/gopter/gen" + "github.com/leanovate/gopter/prop" + "os" + "reflect" + "testing" +) + +func Test_AbsoluteMonthlySchedule_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from AbsoluteMonthlySchedule to AbsoluteMonthlySchedule via AssignProperties_To_AbsoluteMonthlySchedule & AssignProperties_From_AbsoluteMonthlySchedule returns original", + prop.ForAll(RunPropertyAssignmentTestForAbsoluteMonthlySchedule, AbsoluteMonthlyScheduleGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForAbsoluteMonthlySchedule tests if a specific instance of AbsoluteMonthlySchedule can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForAbsoluteMonthlySchedule(subject AbsoluteMonthlySchedule) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.AbsoluteMonthlySchedule + err := copied.AssignProperties_To_AbsoluteMonthlySchedule(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual AbsoluteMonthlySchedule + err = actual.AssignProperties_From_AbsoluteMonthlySchedule(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_AbsoluteMonthlySchedule_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of AbsoluteMonthlySchedule via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAbsoluteMonthlySchedule, AbsoluteMonthlyScheduleGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAbsoluteMonthlySchedule runs a test to see if a specific instance of AbsoluteMonthlySchedule round trips to JSON and back losslessly +func RunJSONSerializationTestForAbsoluteMonthlySchedule(subject AbsoluteMonthlySchedule) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AbsoluteMonthlySchedule + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of AbsoluteMonthlySchedule instances for property testing - lazily instantiated by +// AbsoluteMonthlyScheduleGenerator() +var absoluteMonthlyScheduleGenerator gopter.Gen + +// AbsoluteMonthlyScheduleGenerator returns a generator of AbsoluteMonthlySchedule instances for property testing. +func AbsoluteMonthlyScheduleGenerator() gopter.Gen { + if absoluteMonthlyScheduleGenerator != nil { + return absoluteMonthlyScheduleGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAbsoluteMonthlySchedule(generators) + absoluteMonthlyScheduleGenerator = gen.Struct(reflect.TypeOf(AbsoluteMonthlySchedule{}), generators) + + return absoluteMonthlyScheduleGenerator +} + +// AddIndependentPropertyGeneratorsForAbsoluteMonthlySchedule is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAbsoluteMonthlySchedule(gens map[string]gopter.Gen) { + gens["DayOfMonth"] = gen.PtrOf(gen.Int()) + gens["IntervalMonths"] = gen.PtrOf(gen.Int()) +} + +func Test_AbsoluteMonthlySchedule_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from AbsoluteMonthlySchedule_STATUS to AbsoluteMonthlySchedule_STATUS via AssignProperties_To_AbsoluteMonthlySchedule_STATUS & AssignProperties_From_AbsoluteMonthlySchedule_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForAbsoluteMonthlySchedule_STATUS, AbsoluteMonthlySchedule_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForAbsoluteMonthlySchedule_STATUS tests if a specific instance of AbsoluteMonthlySchedule_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForAbsoluteMonthlySchedule_STATUS(subject AbsoluteMonthlySchedule_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.AbsoluteMonthlySchedule_STATUS + err := copied.AssignProperties_To_AbsoluteMonthlySchedule_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual AbsoluteMonthlySchedule_STATUS + err = actual.AssignProperties_From_AbsoluteMonthlySchedule_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_AbsoluteMonthlySchedule_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of AbsoluteMonthlySchedule_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAbsoluteMonthlySchedule_STATUS, AbsoluteMonthlySchedule_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAbsoluteMonthlySchedule_STATUS runs a test to see if a specific instance of AbsoluteMonthlySchedule_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForAbsoluteMonthlySchedule_STATUS(subject AbsoluteMonthlySchedule_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AbsoluteMonthlySchedule_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of AbsoluteMonthlySchedule_STATUS instances for property testing - lazily instantiated by +// AbsoluteMonthlySchedule_STATUSGenerator() +var absoluteMonthlySchedule_STATUSGenerator gopter.Gen + +// AbsoluteMonthlySchedule_STATUSGenerator returns a generator of AbsoluteMonthlySchedule_STATUS instances for property testing. +func AbsoluteMonthlySchedule_STATUSGenerator() gopter.Gen { + if absoluteMonthlySchedule_STATUSGenerator != nil { + return absoluteMonthlySchedule_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAbsoluteMonthlySchedule_STATUS(generators) + absoluteMonthlySchedule_STATUSGenerator = gen.Struct(reflect.TypeOf(AbsoluteMonthlySchedule_STATUS{}), generators) + + return absoluteMonthlySchedule_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForAbsoluteMonthlySchedule_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAbsoluteMonthlySchedule_STATUS(gens map[string]gopter.Gen) { + gens["DayOfMonth"] = gen.PtrOf(gen.Int()) + gens["IntervalMonths"] = gen.PtrOf(gen.Int()) +} + +func Test_DailySchedule_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from DailySchedule to DailySchedule via AssignProperties_To_DailySchedule & AssignProperties_From_DailySchedule returns original", + prop.ForAll(RunPropertyAssignmentTestForDailySchedule, DailyScheduleGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForDailySchedule tests if a specific instance of DailySchedule can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForDailySchedule(subject DailySchedule) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.DailySchedule + err := copied.AssignProperties_To_DailySchedule(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual DailySchedule + err = actual.AssignProperties_From_DailySchedule(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_DailySchedule_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of DailySchedule via JSON returns original", + prop.ForAll(RunJSONSerializationTestForDailySchedule, DailyScheduleGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForDailySchedule runs a test to see if a specific instance of DailySchedule round trips to JSON and back losslessly +func RunJSONSerializationTestForDailySchedule(subject DailySchedule) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual DailySchedule + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of DailySchedule instances for property testing - lazily instantiated by DailyScheduleGenerator() +var dailyScheduleGenerator gopter.Gen + +// DailyScheduleGenerator returns a generator of DailySchedule instances for property testing. +func DailyScheduleGenerator() gopter.Gen { + if dailyScheduleGenerator != nil { + return dailyScheduleGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForDailySchedule(generators) + dailyScheduleGenerator = gen.Struct(reflect.TypeOf(DailySchedule{}), generators) + + return dailyScheduleGenerator +} + +// AddIndependentPropertyGeneratorsForDailySchedule is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForDailySchedule(gens map[string]gopter.Gen) { + gens["IntervalDays"] = gen.PtrOf(gen.Int()) +} + +func Test_DailySchedule_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from DailySchedule_STATUS to DailySchedule_STATUS via AssignProperties_To_DailySchedule_STATUS & AssignProperties_From_DailySchedule_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForDailySchedule_STATUS, DailySchedule_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForDailySchedule_STATUS tests if a specific instance of DailySchedule_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForDailySchedule_STATUS(subject DailySchedule_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.DailySchedule_STATUS + err := copied.AssignProperties_To_DailySchedule_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual DailySchedule_STATUS + err = actual.AssignProperties_From_DailySchedule_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_DailySchedule_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of DailySchedule_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForDailySchedule_STATUS, DailySchedule_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForDailySchedule_STATUS runs a test to see if a specific instance of DailySchedule_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForDailySchedule_STATUS(subject DailySchedule_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual DailySchedule_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of DailySchedule_STATUS instances for property testing - lazily instantiated by +// DailySchedule_STATUSGenerator() +var dailySchedule_STATUSGenerator gopter.Gen + +// DailySchedule_STATUSGenerator returns a generator of DailySchedule_STATUS instances for property testing. +func DailySchedule_STATUSGenerator() gopter.Gen { + if dailySchedule_STATUSGenerator != nil { + return dailySchedule_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForDailySchedule_STATUS(generators) + dailySchedule_STATUSGenerator = gen.Struct(reflect.TypeOf(DailySchedule_STATUS{}), generators) + + return dailySchedule_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForDailySchedule_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForDailySchedule_STATUS(gens map[string]gopter.Gen) { + gens["IntervalDays"] = gen.PtrOf(gen.Int()) +} + +func Test_DateSpan_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from DateSpan to DateSpan via AssignProperties_To_DateSpan & AssignProperties_From_DateSpan returns original", + prop.ForAll(RunPropertyAssignmentTestForDateSpan, DateSpanGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForDateSpan tests if a specific instance of DateSpan can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForDateSpan(subject DateSpan) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.DateSpan + err := copied.AssignProperties_To_DateSpan(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual DateSpan + err = actual.AssignProperties_From_DateSpan(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_DateSpan_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of DateSpan via JSON returns original", + prop.ForAll(RunJSONSerializationTestForDateSpan, DateSpanGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForDateSpan runs a test to see if a specific instance of DateSpan round trips to JSON and back losslessly +func RunJSONSerializationTestForDateSpan(subject DateSpan) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual DateSpan + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of DateSpan instances for property testing - lazily instantiated by DateSpanGenerator() +var dateSpanGenerator gopter.Gen + +// DateSpanGenerator returns a generator of DateSpan instances for property testing. +func DateSpanGenerator() gopter.Gen { + if dateSpanGenerator != nil { + return dateSpanGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForDateSpan(generators) + dateSpanGenerator = gen.Struct(reflect.TypeOf(DateSpan{}), generators) + + return dateSpanGenerator +} + +// AddIndependentPropertyGeneratorsForDateSpan is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForDateSpan(gens map[string]gopter.Gen) { + gens["End"] = gen.PtrOf(gen.AlphaString()) + gens["Start"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_DateSpan_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from DateSpan_STATUS to DateSpan_STATUS via AssignProperties_To_DateSpan_STATUS & AssignProperties_From_DateSpan_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForDateSpan_STATUS, DateSpan_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForDateSpan_STATUS tests if a specific instance of DateSpan_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForDateSpan_STATUS(subject DateSpan_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.DateSpan_STATUS + err := copied.AssignProperties_To_DateSpan_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual DateSpan_STATUS + err = actual.AssignProperties_From_DateSpan_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_DateSpan_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of DateSpan_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForDateSpan_STATUS, DateSpan_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForDateSpan_STATUS runs a test to see if a specific instance of DateSpan_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForDateSpan_STATUS(subject DateSpan_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual DateSpan_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of DateSpan_STATUS instances for property testing - lazily instantiated by DateSpan_STATUSGenerator() +var dateSpan_STATUSGenerator gopter.Gen + +// DateSpan_STATUSGenerator returns a generator of DateSpan_STATUS instances for property testing. +func DateSpan_STATUSGenerator() gopter.Gen { + if dateSpan_STATUSGenerator != nil { + return dateSpan_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForDateSpan_STATUS(generators) + dateSpan_STATUSGenerator = gen.Struct(reflect.TypeOf(DateSpan_STATUS{}), generators) + + return dateSpan_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForDateSpan_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForDateSpan_STATUS(gens map[string]gopter.Gen) { + gens["End"] = gen.PtrOf(gen.AlphaString()) + gens["Start"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_MaintenanceConfiguration_WhenConvertedToHub_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + parameters.MinSuccessfulTests = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from MaintenanceConfiguration to hub returns original", + prop.ForAll(RunResourceConversionTestForMaintenanceConfiguration, MaintenanceConfigurationGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunResourceConversionTestForMaintenanceConfiguration tests if a specific instance of MaintenanceConfiguration round trips to the hub storage version and back losslessly +func RunResourceConversionTestForMaintenanceConfiguration(subject MaintenanceConfiguration) string { + // Copy subject to make sure conversion doesn't modify it + copied := subject.DeepCopy() + + // Convert to our hub version + var hub storage.MaintenanceConfiguration + err := copied.ConvertTo(&hub) + if err != nil { + return err.Error() + } + + // Convert from our hub version + var actual MaintenanceConfiguration + err = actual.ConvertFrom(&hub) + if err != nil { + return err.Error() + } + + // Compare actual with what we started with + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_MaintenanceConfiguration_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from MaintenanceConfiguration to MaintenanceConfiguration via AssignProperties_To_MaintenanceConfiguration & AssignProperties_From_MaintenanceConfiguration returns original", + prop.ForAll(RunPropertyAssignmentTestForMaintenanceConfiguration, MaintenanceConfigurationGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForMaintenanceConfiguration tests if a specific instance of MaintenanceConfiguration can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForMaintenanceConfiguration(subject MaintenanceConfiguration) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.MaintenanceConfiguration + err := copied.AssignProperties_To_MaintenanceConfiguration(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual MaintenanceConfiguration + err = actual.AssignProperties_From_MaintenanceConfiguration(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_MaintenanceConfiguration_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 20 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of MaintenanceConfiguration via JSON returns original", + prop.ForAll(RunJSONSerializationTestForMaintenanceConfiguration, MaintenanceConfigurationGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForMaintenanceConfiguration runs a test to see if a specific instance of MaintenanceConfiguration round trips to JSON and back losslessly +func RunJSONSerializationTestForMaintenanceConfiguration(subject MaintenanceConfiguration) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual MaintenanceConfiguration + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of MaintenanceConfiguration instances for property testing - lazily instantiated by +// MaintenanceConfigurationGenerator() +var maintenanceConfigurationGenerator gopter.Gen + +// MaintenanceConfigurationGenerator returns a generator of MaintenanceConfiguration instances for property testing. +func MaintenanceConfigurationGenerator() gopter.Gen { + if maintenanceConfigurationGenerator != nil { + return maintenanceConfigurationGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForMaintenanceConfiguration(generators) + maintenanceConfigurationGenerator = gen.Struct(reflect.TypeOf(MaintenanceConfiguration{}), generators) + + return maintenanceConfigurationGenerator +} + +// AddRelatedPropertyGeneratorsForMaintenanceConfiguration is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForMaintenanceConfiguration(gens map[string]gopter.Gen) { + gens["Spec"] = MaintenanceConfiguration_SpecGenerator() + gens["Status"] = MaintenanceConfiguration_STATUSGenerator() +} + +func Test_MaintenanceConfiguration_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from MaintenanceConfiguration_STATUS to MaintenanceConfiguration_STATUS via AssignProperties_To_MaintenanceConfiguration_STATUS & AssignProperties_From_MaintenanceConfiguration_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForMaintenanceConfiguration_STATUS, MaintenanceConfiguration_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForMaintenanceConfiguration_STATUS tests if a specific instance of MaintenanceConfiguration_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForMaintenanceConfiguration_STATUS(subject MaintenanceConfiguration_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.MaintenanceConfiguration_STATUS + err := copied.AssignProperties_To_MaintenanceConfiguration_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual MaintenanceConfiguration_STATUS + err = actual.AssignProperties_From_MaintenanceConfiguration_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_MaintenanceConfiguration_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of MaintenanceConfiguration_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForMaintenanceConfiguration_STATUS, MaintenanceConfiguration_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForMaintenanceConfiguration_STATUS runs a test to see if a specific instance of MaintenanceConfiguration_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForMaintenanceConfiguration_STATUS(subject MaintenanceConfiguration_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual MaintenanceConfiguration_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of MaintenanceConfiguration_STATUS instances for property testing - lazily instantiated by +// MaintenanceConfiguration_STATUSGenerator() +var maintenanceConfiguration_STATUSGenerator gopter.Gen + +// MaintenanceConfiguration_STATUSGenerator returns a generator of MaintenanceConfiguration_STATUS instances for property testing. +// We first initialize maintenanceConfiguration_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func MaintenanceConfiguration_STATUSGenerator() gopter.Gen { + if maintenanceConfiguration_STATUSGenerator != nil { + return maintenanceConfiguration_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForMaintenanceConfiguration_STATUS(generators) + maintenanceConfiguration_STATUSGenerator = gen.Struct(reflect.TypeOf(MaintenanceConfiguration_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForMaintenanceConfiguration_STATUS(generators) + AddRelatedPropertyGeneratorsForMaintenanceConfiguration_STATUS(generators) + maintenanceConfiguration_STATUSGenerator = gen.Struct(reflect.TypeOf(MaintenanceConfiguration_STATUS{}), generators) + + return maintenanceConfiguration_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForMaintenanceConfiguration_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForMaintenanceConfiguration_STATUS(gens map[string]gopter.Gen) { + gens["Id"] = gen.PtrOf(gen.AlphaString()) + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["Type"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForMaintenanceConfiguration_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForMaintenanceConfiguration_STATUS(gens map[string]gopter.Gen) { + gens["MaintenanceWindow"] = gen.PtrOf(MaintenanceWindow_STATUSGenerator()) + gens["NotAllowedTime"] = gen.SliceOf(TimeSpan_STATUSGenerator()) + gens["SystemData"] = gen.PtrOf(SystemData_STATUSGenerator()) + gens["TimeInWeek"] = gen.SliceOf(TimeInWeek_STATUSGenerator()) +} + +func Test_MaintenanceConfiguration_Spec_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from MaintenanceConfiguration_Spec to MaintenanceConfiguration_Spec via AssignProperties_To_MaintenanceConfiguration_Spec & AssignProperties_From_MaintenanceConfiguration_Spec returns original", + prop.ForAll(RunPropertyAssignmentTestForMaintenanceConfiguration_Spec, MaintenanceConfiguration_SpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForMaintenanceConfiguration_Spec tests if a specific instance of MaintenanceConfiguration_Spec can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForMaintenanceConfiguration_Spec(subject MaintenanceConfiguration_Spec) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.MaintenanceConfiguration_Spec + err := copied.AssignProperties_To_MaintenanceConfiguration_Spec(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual MaintenanceConfiguration_Spec + err = actual.AssignProperties_From_MaintenanceConfiguration_Spec(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_MaintenanceConfiguration_Spec_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of MaintenanceConfiguration_Spec via JSON returns original", + prop.ForAll(RunJSONSerializationTestForMaintenanceConfiguration_Spec, MaintenanceConfiguration_SpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForMaintenanceConfiguration_Spec runs a test to see if a specific instance of MaintenanceConfiguration_Spec round trips to JSON and back losslessly +func RunJSONSerializationTestForMaintenanceConfiguration_Spec(subject MaintenanceConfiguration_Spec) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual MaintenanceConfiguration_Spec + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of MaintenanceConfiguration_Spec instances for property testing - lazily instantiated by +// MaintenanceConfiguration_SpecGenerator() +var maintenanceConfiguration_SpecGenerator gopter.Gen + +// MaintenanceConfiguration_SpecGenerator returns a generator of MaintenanceConfiguration_Spec instances for property testing. +// We first initialize maintenanceConfiguration_SpecGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func MaintenanceConfiguration_SpecGenerator() gopter.Gen { + if maintenanceConfiguration_SpecGenerator != nil { + return maintenanceConfiguration_SpecGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForMaintenanceConfiguration_Spec(generators) + maintenanceConfiguration_SpecGenerator = gen.Struct(reflect.TypeOf(MaintenanceConfiguration_Spec{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForMaintenanceConfiguration_Spec(generators) + AddRelatedPropertyGeneratorsForMaintenanceConfiguration_Spec(generators) + maintenanceConfiguration_SpecGenerator = gen.Struct(reflect.TypeOf(MaintenanceConfiguration_Spec{}), generators) + + return maintenanceConfiguration_SpecGenerator +} + +// AddIndependentPropertyGeneratorsForMaintenanceConfiguration_Spec is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForMaintenanceConfiguration_Spec(gens map[string]gopter.Gen) { + gens["AzureName"] = gen.AlphaString() +} + +// AddRelatedPropertyGeneratorsForMaintenanceConfiguration_Spec is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForMaintenanceConfiguration_Spec(gens map[string]gopter.Gen) { + gens["MaintenanceWindow"] = gen.PtrOf(MaintenanceWindowGenerator()) + gens["NotAllowedTime"] = gen.SliceOf(TimeSpanGenerator()) + gens["TimeInWeek"] = gen.SliceOf(TimeInWeekGenerator()) +} + +func Test_MaintenanceWindow_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from MaintenanceWindow to MaintenanceWindow via AssignProperties_To_MaintenanceWindow & AssignProperties_From_MaintenanceWindow returns original", + prop.ForAll(RunPropertyAssignmentTestForMaintenanceWindow, MaintenanceWindowGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForMaintenanceWindow tests if a specific instance of MaintenanceWindow can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForMaintenanceWindow(subject MaintenanceWindow) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.MaintenanceWindow + err := copied.AssignProperties_To_MaintenanceWindow(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual MaintenanceWindow + err = actual.AssignProperties_From_MaintenanceWindow(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_MaintenanceWindow_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of MaintenanceWindow via JSON returns original", + prop.ForAll(RunJSONSerializationTestForMaintenanceWindow, MaintenanceWindowGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForMaintenanceWindow runs a test to see if a specific instance of MaintenanceWindow round trips to JSON and back losslessly +func RunJSONSerializationTestForMaintenanceWindow(subject MaintenanceWindow) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual MaintenanceWindow + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of MaintenanceWindow instances for property testing - lazily instantiated by MaintenanceWindowGenerator() +var maintenanceWindowGenerator gopter.Gen + +// MaintenanceWindowGenerator returns a generator of MaintenanceWindow instances for property testing. +// We first initialize maintenanceWindowGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func MaintenanceWindowGenerator() gopter.Gen { + if maintenanceWindowGenerator != nil { + return maintenanceWindowGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForMaintenanceWindow(generators) + maintenanceWindowGenerator = gen.Struct(reflect.TypeOf(MaintenanceWindow{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForMaintenanceWindow(generators) + AddRelatedPropertyGeneratorsForMaintenanceWindow(generators) + maintenanceWindowGenerator = gen.Struct(reflect.TypeOf(MaintenanceWindow{}), generators) + + return maintenanceWindowGenerator +} + +// AddIndependentPropertyGeneratorsForMaintenanceWindow is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForMaintenanceWindow(gens map[string]gopter.Gen) { + gens["DurationHours"] = gen.PtrOf(gen.Int()) + gens["StartDate"] = gen.PtrOf(gen.AlphaString()) + gens["StartTime"] = gen.PtrOf(gen.AlphaString()) + gens["UtcOffset"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForMaintenanceWindow is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForMaintenanceWindow(gens map[string]gopter.Gen) { + gens["NotAllowedDates"] = gen.SliceOf(DateSpanGenerator()) + gens["Schedule"] = gen.PtrOf(ScheduleGenerator()) +} + +func Test_MaintenanceWindow_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from MaintenanceWindow_STATUS to MaintenanceWindow_STATUS via AssignProperties_To_MaintenanceWindow_STATUS & AssignProperties_From_MaintenanceWindow_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForMaintenanceWindow_STATUS, MaintenanceWindow_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForMaintenanceWindow_STATUS tests if a specific instance of MaintenanceWindow_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForMaintenanceWindow_STATUS(subject MaintenanceWindow_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.MaintenanceWindow_STATUS + err := copied.AssignProperties_To_MaintenanceWindow_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual MaintenanceWindow_STATUS + err = actual.AssignProperties_From_MaintenanceWindow_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_MaintenanceWindow_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of MaintenanceWindow_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForMaintenanceWindow_STATUS, MaintenanceWindow_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForMaintenanceWindow_STATUS runs a test to see if a specific instance of MaintenanceWindow_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForMaintenanceWindow_STATUS(subject MaintenanceWindow_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual MaintenanceWindow_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of MaintenanceWindow_STATUS instances for property testing - lazily instantiated by +// MaintenanceWindow_STATUSGenerator() +var maintenanceWindow_STATUSGenerator gopter.Gen + +// MaintenanceWindow_STATUSGenerator returns a generator of MaintenanceWindow_STATUS instances for property testing. +// We first initialize maintenanceWindow_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func MaintenanceWindow_STATUSGenerator() gopter.Gen { + if maintenanceWindow_STATUSGenerator != nil { + return maintenanceWindow_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForMaintenanceWindow_STATUS(generators) + maintenanceWindow_STATUSGenerator = gen.Struct(reflect.TypeOf(MaintenanceWindow_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForMaintenanceWindow_STATUS(generators) + AddRelatedPropertyGeneratorsForMaintenanceWindow_STATUS(generators) + maintenanceWindow_STATUSGenerator = gen.Struct(reflect.TypeOf(MaintenanceWindow_STATUS{}), generators) + + return maintenanceWindow_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForMaintenanceWindow_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForMaintenanceWindow_STATUS(gens map[string]gopter.Gen) { + gens["DurationHours"] = gen.PtrOf(gen.Int()) + gens["StartDate"] = gen.PtrOf(gen.AlphaString()) + gens["StartTime"] = gen.PtrOf(gen.AlphaString()) + gens["UtcOffset"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForMaintenanceWindow_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForMaintenanceWindow_STATUS(gens map[string]gopter.Gen) { + gens["NotAllowedDates"] = gen.SliceOf(DateSpan_STATUSGenerator()) + gens["Schedule"] = gen.PtrOf(Schedule_STATUSGenerator()) +} + +func Test_RelativeMonthlySchedule_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from RelativeMonthlySchedule to RelativeMonthlySchedule via AssignProperties_To_RelativeMonthlySchedule & AssignProperties_From_RelativeMonthlySchedule returns original", + prop.ForAll(RunPropertyAssignmentTestForRelativeMonthlySchedule, RelativeMonthlyScheduleGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForRelativeMonthlySchedule tests if a specific instance of RelativeMonthlySchedule can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForRelativeMonthlySchedule(subject RelativeMonthlySchedule) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.RelativeMonthlySchedule + err := copied.AssignProperties_To_RelativeMonthlySchedule(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual RelativeMonthlySchedule + err = actual.AssignProperties_From_RelativeMonthlySchedule(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_RelativeMonthlySchedule_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of RelativeMonthlySchedule via JSON returns original", + prop.ForAll(RunJSONSerializationTestForRelativeMonthlySchedule, RelativeMonthlyScheduleGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForRelativeMonthlySchedule runs a test to see if a specific instance of RelativeMonthlySchedule round trips to JSON and back losslessly +func RunJSONSerializationTestForRelativeMonthlySchedule(subject RelativeMonthlySchedule) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual RelativeMonthlySchedule + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of RelativeMonthlySchedule instances for property testing - lazily instantiated by +// RelativeMonthlyScheduleGenerator() +var relativeMonthlyScheduleGenerator gopter.Gen + +// RelativeMonthlyScheduleGenerator returns a generator of RelativeMonthlySchedule instances for property testing. +func RelativeMonthlyScheduleGenerator() gopter.Gen { + if relativeMonthlyScheduleGenerator != nil { + return relativeMonthlyScheduleGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForRelativeMonthlySchedule(generators) + relativeMonthlyScheduleGenerator = gen.Struct(reflect.TypeOf(RelativeMonthlySchedule{}), generators) + + return relativeMonthlyScheduleGenerator +} + +// AddIndependentPropertyGeneratorsForRelativeMonthlySchedule is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForRelativeMonthlySchedule(gens map[string]gopter.Gen) { + gens["DayOfWeek"] = gen.PtrOf(gen.OneConstOf( + WeekDay_Friday, + WeekDay_Monday, + WeekDay_Saturday, + WeekDay_Sunday, + WeekDay_Thursday, + WeekDay_Tuesday, + WeekDay_Wednesday)) + gens["IntervalMonths"] = gen.PtrOf(gen.Int()) + gens["WeekIndex"] = gen.PtrOf(gen.OneConstOf( + RelativeMonthlySchedule_WeekIndex_First, + RelativeMonthlySchedule_WeekIndex_Fourth, + RelativeMonthlySchedule_WeekIndex_Last, + RelativeMonthlySchedule_WeekIndex_Second, + RelativeMonthlySchedule_WeekIndex_Third)) +} + +func Test_RelativeMonthlySchedule_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from RelativeMonthlySchedule_STATUS to RelativeMonthlySchedule_STATUS via AssignProperties_To_RelativeMonthlySchedule_STATUS & AssignProperties_From_RelativeMonthlySchedule_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForRelativeMonthlySchedule_STATUS, RelativeMonthlySchedule_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForRelativeMonthlySchedule_STATUS tests if a specific instance of RelativeMonthlySchedule_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForRelativeMonthlySchedule_STATUS(subject RelativeMonthlySchedule_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.RelativeMonthlySchedule_STATUS + err := copied.AssignProperties_To_RelativeMonthlySchedule_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual RelativeMonthlySchedule_STATUS + err = actual.AssignProperties_From_RelativeMonthlySchedule_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_RelativeMonthlySchedule_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of RelativeMonthlySchedule_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForRelativeMonthlySchedule_STATUS, RelativeMonthlySchedule_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForRelativeMonthlySchedule_STATUS runs a test to see if a specific instance of RelativeMonthlySchedule_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForRelativeMonthlySchedule_STATUS(subject RelativeMonthlySchedule_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual RelativeMonthlySchedule_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of RelativeMonthlySchedule_STATUS instances for property testing - lazily instantiated by +// RelativeMonthlySchedule_STATUSGenerator() +var relativeMonthlySchedule_STATUSGenerator gopter.Gen + +// RelativeMonthlySchedule_STATUSGenerator returns a generator of RelativeMonthlySchedule_STATUS instances for property testing. +func RelativeMonthlySchedule_STATUSGenerator() gopter.Gen { + if relativeMonthlySchedule_STATUSGenerator != nil { + return relativeMonthlySchedule_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForRelativeMonthlySchedule_STATUS(generators) + relativeMonthlySchedule_STATUSGenerator = gen.Struct(reflect.TypeOf(RelativeMonthlySchedule_STATUS{}), generators) + + return relativeMonthlySchedule_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForRelativeMonthlySchedule_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForRelativeMonthlySchedule_STATUS(gens map[string]gopter.Gen) { + gens["DayOfWeek"] = gen.PtrOf(gen.OneConstOf( + WeekDay_STATUS_Friday, + WeekDay_STATUS_Monday, + WeekDay_STATUS_Saturday, + WeekDay_STATUS_Sunday, + WeekDay_STATUS_Thursday, + WeekDay_STATUS_Tuesday, + WeekDay_STATUS_Wednesday)) + gens["IntervalMonths"] = gen.PtrOf(gen.Int()) + gens["WeekIndex"] = gen.PtrOf(gen.OneConstOf( + RelativeMonthlySchedule_WeekIndex_STATUS_First, + RelativeMonthlySchedule_WeekIndex_STATUS_Fourth, + RelativeMonthlySchedule_WeekIndex_STATUS_Last, + RelativeMonthlySchedule_WeekIndex_STATUS_Second, + RelativeMonthlySchedule_WeekIndex_STATUS_Third)) +} + +func Test_Schedule_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from Schedule to Schedule via AssignProperties_To_Schedule & AssignProperties_From_Schedule returns original", + prop.ForAll(RunPropertyAssignmentTestForSchedule, ScheduleGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForSchedule tests if a specific instance of Schedule can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForSchedule(subject Schedule) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.Schedule + err := copied.AssignProperties_To_Schedule(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual Schedule + err = actual.AssignProperties_From_Schedule(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_Schedule_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of Schedule via JSON returns original", + prop.ForAll(RunJSONSerializationTestForSchedule, ScheduleGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForSchedule runs a test to see if a specific instance of Schedule round trips to JSON and back losslessly +func RunJSONSerializationTestForSchedule(subject Schedule) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Schedule + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of Schedule instances for property testing - lazily instantiated by ScheduleGenerator() +var scheduleGenerator gopter.Gen + +// ScheduleGenerator returns a generator of Schedule instances for property testing. +func ScheduleGenerator() gopter.Gen { + if scheduleGenerator != nil { + return scheduleGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForSchedule(generators) + scheduleGenerator = gen.Struct(reflect.TypeOf(Schedule{}), generators) + + return scheduleGenerator +} + +// AddRelatedPropertyGeneratorsForSchedule is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForSchedule(gens map[string]gopter.Gen) { + gens["AbsoluteMonthly"] = gen.PtrOf(AbsoluteMonthlyScheduleGenerator()) + gens["Daily"] = gen.PtrOf(DailyScheduleGenerator()) + gens["RelativeMonthly"] = gen.PtrOf(RelativeMonthlyScheduleGenerator()) + gens["Weekly"] = gen.PtrOf(WeeklyScheduleGenerator()) +} + +func Test_Schedule_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from Schedule_STATUS to Schedule_STATUS via AssignProperties_To_Schedule_STATUS & AssignProperties_From_Schedule_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForSchedule_STATUS, Schedule_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForSchedule_STATUS tests if a specific instance of Schedule_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForSchedule_STATUS(subject Schedule_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.Schedule_STATUS + err := copied.AssignProperties_To_Schedule_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual Schedule_STATUS + err = actual.AssignProperties_From_Schedule_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_Schedule_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of Schedule_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForSchedule_STATUS, Schedule_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForSchedule_STATUS runs a test to see if a specific instance of Schedule_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForSchedule_STATUS(subject Schedule_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Schedule_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of Schedule_STATUS instances for property testing - lazily instantiated by Schedule_STATUSGenerator() +var schedule_STATUSGenerator gopter.Gen + +// Schedule_STATUSGenerator returns a generator of Schedule_STATUS instances for property testing. +func Schedule_STATUSGenerator() gopter.Gen { + if schedule_STATUSGenerator != nil { + return schedule_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForSchedule_STATUS(generators) + schedule_STATUSGenerator = gen.Struct(reflect.TypeOf(Schedule_STATUS{}), generators) + + return schedule_STATUSGenerator +} + +// AddRelatedPropertyGeneratorsForSchedule_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForSchedule_STATUS(gens map[string]gopter.Gen) { + gens["AbsoluteMonthly"] = gen.PtrOf(AbsoluteMonthlySchedule_STATUSGenerator()) + gens["Daily"] = gen.PtrOf(DailySchedule_STATUSGenerator()) + gens["RelativeMonthly"] = gen.PtrOf(RelativeMonthlySchedule_STATUSGenerator()) + gens["Weekly"] = gen.PtrOf(WeeklySchedule_STATUSGenerator()) +} + +func Test_SystemData_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from SystemData_STATUS to SystemData_STATUS via AssignProperties_To_SystemData_STATUS & AssignProperties_From_SystemData_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForSystemData_STATUS, SystemData_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForSystemData_STATUS tests if a specific instance of SystemData_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForSystemData_STATUS(subject SystemData_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.SystemData_STATUS + err := copied.AssignProperties_To_SystemData_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual SystemData_STATUS + err = actual.AssignProperties_From_SystemData_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_SystemData_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of SystemData_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForSystemData_STATUS, SystemData_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForSystemData_STATUS runs a test to see if a specific instance of SystemData_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForSystemData_STATUS(subject SystemData_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual SystemData_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of SystemData_STATUS instances for property testing - lazily instantiated by SystemData_STATUSGenerator() +var systemData_STATUSGenerator gopter.Gen + +// SystemData_STATUSGenerator returns a generator of SystemData_STATUS instances for property testing. +func SystemData_STATUSGenerator() gopter.Gen { + if systemData_STATUSGenerator != nil { + return systemData_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForSystemData_STATUS(generators) + systemData_STATUSGenerator = gen.Struct(reflect.TypeOf(SystemData_STATUS{}), generators) + + return systemData_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForSystemData_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForSystemData_STATUS(gens map[string]gopter.Gen) { + gens["CreatedAt"] = gen.PtrOf(gen.AlphaString()) + gens["CreatedBy"] = gen.PtrOf(gen.AlphaString()) + gens["CreatedByType"] = gen.PtrOf(gen.OneConstOf( + SystemData_CreatedByType_STATUS_Application, + SystemData_CreatedByType_STATUS_Key, + SystemData_CreatedByType_STATUS_ManagedIdentity, + SystemData_CreatedByType_STATUS_User)) + gens["LastModifiedAt"] = gen.PtrOf(gen.AlphaString()) + gens["LastModifiedBy"] = gen.PtrOf(gen.AlphaString()) + gens["LastModifiedByType"] = gen.PtrOf(gen.OneConstOf( + SystemData_LastModifiedByType_STATUS_Application, + SystemData_LastModifiedByType_STATUS_Key, + SystemData_LastModifiedByType_STATUS_ManagedIdentity, + SystemData_LastModifiedByType_STATUS_User)) +} + +func Test_TimeInWeek_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from TimeInWeek to TimeInWeek via AssignProperties_To_TimeInWeek & AssignProperties_From_TimeInWeek returns original", + prop.ForAll(RunPropertyAssignmentTestForTimeInWeek, TimeInWeekGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForTimeInWeek tests if a specific instance of TimeInWeek can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForTimeInWeek(subject TimeInWeek) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.TimeInWeek + err := copied.AssignProperties_To_TimeInWeek(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual TimeInWeek + err = actual.AssignProperties_From_TimeInWeek(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_TimeInWeek_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of TimeInWeek via JSON returns original", + prop.ForAll(RunJSONSerializationTestForTimeInWeek, TimeInWeekGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForTimeInWeek runs a test to see if a specific instance of TimeInWeek round trips to JSON and back losslessly +func RunJSONSerializationTestForTimeInWeek(subject TimeInWeek) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual TimeInWeek + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of TimeInWeek instances for property testing - lazily instantiated by TimeInWeekGenerator() +var timeInWeekGenerator gopter.Gen + +// TimeInWeekGenerator returns a generator of TimeInWeek instances for property testing. +func TimeInWeekGenerator() gopter.Gen { + if timeInWeekGenerator != nil { + return timeInWeekGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForTimeInWeek(generators) + timeInWeekGenerator = gen.Struct(reflect.TypeOf(TimeInWeek{}), generators) + + return timeInWeekGenerator +} + +// AddIndependentPropertyGeneratorsForTimeInWeek is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForTimeInWeek(gens map[string]gopter.Gen) { + gens["Day"] = gen.PtrOf(gen.OneConstOf( + WeekDay_Friday, + WeekDay_Monday, + WeekDay_Saturday, + WeekDay_Sunday, + WeekDay_Thursday, + WeekDay_Tuesday, + WeekDay_Wednesday)) + gens["HourSlots"] = gen.SliceOf(gen.Int().Map(func(it int) HourInDay { + return HourInDay(it) + })) +} + +func Test_TimeInWeek_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from TimeInWeek_STATUS to TimeInWeek_STATUS via AssignProperties_To_TimeInWeek_STATUS & AssignProperties_From_TimeInWeek_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForTimeInWeek_STATUS, TimeInWeek_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForTimeInWeek_STATUS tests if a specific instance of TimeInWeek_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForTimeInWeek_STATUS(subject TimeInWeek_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.TimeInWeek_STATUS + err := copied.AssignProperties_To_TimeInWeek_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual TimeInWeek_STATUS + err = actual.AssignProperties_From_TimeInWeek_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_TimeInWeek_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of TimeInWeek_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForTimeInWeek_STATUS, TimeInWeek_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForTimeInWeek_STATUS runs a test to see if a specific instance of TimeInWeek_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForTimeInWeek_STATUS(subject TimeInWeek_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual TimeInWeek_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of TimeInWeek_STATUS instances for property testing - lazily instantiated by TimeInWeek_STATUSGenerator() +var timeInWeek_STATUSGenerator gopter.Gen + +// TimeInWeek_STATUSGenerator returns a generator of TimeInWeek_STATUS instances for property testing. +func TimeInWeek_STATUSGenerator() gopter.Gen { + if timeInWeek_STATUSGenerator != nil { + return timeInWeek_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForTimeInWeek_STATUS(generators) + timeInWeek_STATUSGenerator = gen.Struct(reflect.TypeOf(TimeInWeek_STATUS{}), generators) + + return timeInWeek_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForTimeInWeek_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForTimeInWeek_STATUS(gens map[string]gopter.Gen) { + gens["Day"] = gen.PtrOf(gen.OneConstOf( + WeekDay_STATUS_Friday, + WeekDay_STATUS_Monday, + WeekDay_STATUS_Saturday, + WeekDay_STATUS_Sunday, + WeekDay_STATUS_Thursday, + WeekDay_STATUS_Tuesday, + WeekDay_STATUS_Wednesday)) + gens["HourSlots"] = gen.SliceOf(gen.Int()) +} + +func Test_TimeSpan_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from TimeSpan to TimeSpan via AssignProperties_To_TimeSpan & AssignProperties_From_TimeSpan returns original", + prop.ForAll(RunPropertyAssignmentTestForTimeSpan, TimeSpanGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForTimeSpan tests if a specific instance of TimeSpan can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForTimeSpan(subject TimeSpan) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.TimeSpan + err := copied.AssignProperties_To_TimeSpan(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual TimeSpan + err = actual.AssignProperties_From_TimeSpan(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_TimeSpan_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of TimeSpan via JSON returns original", + prop.ForAll(RunJSONSerializationTestForTimeSpan, TimeSpanGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForTimeSpan runs a test to see if a specific instance of TimeSpan round trips to JSON and back losslessly +func RunJSONSerializationTestForTimeSpan(subject TimeSpan) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual TimeSpan + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of TimeSpan instances for property testing - lazily instantiated by TimeSpanGenerator() +var timeSpanGenerator gopter.Gen + +// TimeSpanGenerator returns a generator of TimeSpan instances for property testing. +func TimeSpanGenerator() gopter.Gen { + if timeSpanGenerator != nil { + return timeSpanGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForTimeSpan(generators) + timeSpanGenerator = gen.Struct(reflect.TypeOf(TimeSpan{}), generators) + + return timeSpanGenerator +} + +// AddIndependentPropertyGeneratorsForTimeSpan is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForTimeSpan(gens map[string]gopter.Gen) { + gens["End"] = gen.PtrOf(gen.AlphaString()) + gens["Start"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_TimeSpan_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from TimeSpan_STATUS to TimeSpan_STATUS via AssignProperties_To_TimeSpan_STATUS & AssignProperties_From_TimeSpan_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForTimeSpan_STATUS, TimeSpan_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForTimeSpan_STATUS tests if a specific instance of TimeSpan_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForTimeSpan_STATUS(subject TimeSpan_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.TimeSpan_STATUS + err := copied.AssignProperties_To_TimeSpan_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual TimeSpan_STATUS + err = actual.AssignProperties_From_TimeSpan_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_TimeSpan_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of TimeSpan_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForTimeSpan_STATUS, TimeSpan_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForTimeSpan_STATUS runs a test to see if a specific instance of TimeSpan_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForTimeSpan_STATUS(subject TimeSpan_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual TimeSpan_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of TimeSpan_STATUS instances for property testing - lazily instantiated by TimeSpan_STATUSGenerator() +var timeSpan_STATUSGenerator gopter.Gen + +// TimeSpan_STATUSGenerator returns a generator of TimeSpan_STATUS instances for property testing. +func TimeSpan_STATUSGenerator() gopter.Gen { + if timeSpan_STATUSGenerator != nil { + return timeSpan_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForTimeSpan_STATUS(generators) + timeSpan_STATUSGenerator = gen.Struct(reflect.TypeOf(TimeSpan_STATUS{}), generators) + + return timeSpan_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForTimeSpan_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForTimeSpan_STATUS(gens map[string]gopter.Gen) { + gens["End"] = gen.PtrOf(gen.AlphaString()) + gens["Start"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_WeeklySchedule_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from WeeklySchedule to WeeklySchedule via AssignProperties_To_WeeklySchedule & AssignProperties_From_WeeklySchedule returns original", + prop.ForAll(RunPropertyAssignmentTestForWeeklySchedule, WeeklyScheduleGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForWeeklySchedule tests if a specific instance of WeeklySchedule can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForWeeklySchedule(subject WeeklySchedule) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.WeeklySchedule + err := copied.AssignProperties_To_WeeklySchedule(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual WeeklySchedule + err = actual.AssignProperties_From_WeeklySchedule(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_WeeklySchedule_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of WeeklySchedule via JSON returns original", + prop.ForAll(RunJSONSerializationTestForWeeklySchedule, WeeklyScheduleGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForWeeklySchedule runs a test to see if a specific instance of WeeklySchedule round trips to JSON and back losslessly +func RunJSONSerializationTestForWeeklySchedule(subject WeeklySchedule) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual WeeklySchedule + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of WeeklySchedule instances for property testing - lazily instantiated by WeeklyScheduleGenerator() +var weeklyScheduleGenerator gopter.Gen + +// WeeklyScheduleGenerator returns a generator of WeeklySchedule instances for property testing. +func WeeklyScheduleGenerator() gopter.Gen { + if weeklyScheduleGenerator != nil { + return weeklyScheduleGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForWeeklySchedule(generators) + weeklyScheduleGenerator = gen.Struct(reflect.TypeOf(WeeklySchedule{}), generators) + + return weeklyScheduleGenerator +} + +// AddIndependentPropertyGeneratorsForWeeklySchedule is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForWeeklySchedule(gens map[string]gopter.Gen) { + gens["DayOfWeek"] = gen.PtrOf(gen.OneConstOf( + WeekDay_Friday, + WeekDay_Monday, + WeekDay_Saturday, + WeekDay_Sunday, + WeekDay_Thursday, + WeekDay_Tuesday, + WeekDay_Wednesday)) + gens["IntervalWeeks"] = gen.PtrOf(gen.Int()) +} + +func Test_WeeklySchedule_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from WeeklySchedule_STATUS to WeeklySchedule_STATUS via AssignProperties_To_WeeklySchedule_STATUS & AssignProperties_From_WeeklySchedule_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForWeeklySchedule_STATUS, WeeklySchedule_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForWeeklySchedule_STATUS tests if a specific instance of WeeklySchedule_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForWeeklySchedule_STATUS(subject WeeklySchedule_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.WeeklySchedule_STATUS + err := copied.AssignProperties_To_WeeklySchedule_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual WeeklySchedule_STATUS + err = actual.AssignProperties_From_WeeklySchedule_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_WeeklySchedule_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of WeeklySchedule_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForWeeklySchedule_STATUS, WeeklySchedule_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForWeeklySchedule_STATUS runs a test to see if a specific instance of WeeklySchedule_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForWeeklySchedule_STATUS(subject WeeklySchedule_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual WeeklySchedule_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of WeeklySchedule_STATUS instances for property testing - lazily instantiated by +// WeeklySchedule_STATUSGenerator() +var weeklySchedule_STATUSGenerator gopter.Gen + +// WeeklySchedule_STATUSGenerator returns a generator of WeeklySchedule_STATUS instances for property testing. +func WeeklySchedule_STATUSGenerator() gopter.Gen { + if weeklySchedule_STATUSGenerator != nil { + return weeklySchedule_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForWeeklySchedule_STATUS(generators) + weeklySchedule_STATUSGenerator = gen.Struct(reflect.TypeOf(WeeklySchedule_STATUS{}), generators) + + return weeklySchedule_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForWeeklySchedule_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForWeeklySchedule_STATUS(gens map[string]gopter.Gen) { + gens["DayOfWeek"] = gen.PtrOf(gen.OneConstOf( + WeekDay_STATUS_Friday, + WeekDay_STATUS_Monday, + WeekDay_STATUS_Saturday, + WeekDay_STATUS_Sunday, + WeekDay_STATUS_Thursday, + WeekDay_STATUS_Tuesday, + WeekDay_STATUS_Wednesday)) + gens["IntervalWeeks"] = gen.PtrOf(gen.Int()) +} diff --git a/v2/api/containerservice/v1api20240901/managed_cluster_types_gen.go b/v2/api/containerservice/v1api20240901/managed_cluster_types_gen.go new file mode 100644 index 00000000000..acd63fb1183 --- /dev/null +++ b/v2/api/containerservice/v1api20240901/managed_cluster_types_gen.go @@ -0,0 +1,27778 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package v1api20240901 + +import ( + "context" + "fmt" + arm "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20240901/arm" + storage "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20240901/storage" + "github.com/Azure/azure-service-operator/v2/internal/genericarmclient" + "github.com/Azure/azure-service-operator/v2/internal/reflecthelpers" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime/conditions" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime/configmaps" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime/secrets" + "github.com/go-logr/logr" + "github.com/pkg/errors" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/client" + "sigs.k8s.io/controller-runtime/pkg/conversion" + "sigs.k8s.io/controller-runtime/pkg/webhook/admission" +) + +// +kubebuilder:object:root=true +// +kubebuilder:subresource:status +// +kubebuilder:printcolumn:name="Ready",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +// +kubebuilder:printcolumn:name="Severity",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].severity" +// +kubebuilder:printcolumn:name="Reason",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].reason" +// +kubebuilder:printcolumn:name="Message",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].message" +// Generator information: +// - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2024-09-01/managedClusters.json +// - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName} +type ManagedCluster struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec ManagedCluster_Spec `json:"spec,omitempty"` + Status ManagedCluster_STATUS `json:"status,omitempty"` +} + +var _ conditions.Conditioner = &ManagedCluster{} + +// GetConditions returns the conditions of the resource +func (cluster *ManagedCluster) GetConditions() conditions.Conditions { + return cluster.Status.Conditions +} + +// SetConditions sets the conditions on the resource status +func (cluster *ManagedCluster) SetConditions(conditions conditions.Conditions) { + cluster.Status.Conditions = conditions +} + +var _ conversion.Convertible = &ManagedCluster{} + +// ConvertFrom populates our ManagedCluster from the provided hub ManagedCluster +func (cluster *ManagedCluster) ConvertFrom(hub conversion.Hub) error { + source, ok := hub.(*storage.ManagedCluster) + if !ok { + return fmt.Errorf("expected containerservice/v1api20240901/storage/ManagedCluster but received %T instead", hub) + } + + return cluster.AssignProperties_From_ManagedCluster(source) +} + +// ConvertTo populates the provided hub ManagedCluster from our ManagedCluster +func (cluster *ManagedCluster) ConvertTo(hub conversion.Hub) error { + destination, ok := hub.(*storage.ManagedCluster) + if !ok { + return fmt.Errorf("expected containerservice/v1api20240901/storage/ManagedCluster but received %T instead", hub) + } + + return cluster.AssignProperties_To_ManagedCluster(destination) +} + +// +kubebuilder:webhook:path=/mutate-containerservice-azure-com-v1api20240901-managedcluster,mutating=true,sideEffects=None,matchPolicy=Exact,failurePolicy=fail,groups=containerservice.azure.com,resources=managedclusters,verbs=create;update,versions=v1api20240901,name=default.v1api20240901.managedclusters.containerservice.azure.com,admissionReviewVersions=v1 + +var _ admission.Defaulter = &ManagedCluster{} + +// Default applies defaults to the ManagedCluster resource +func (cluster *ManagedCluster) Default() { + cluster.defaultImpl() + var temp any = cluster + if runtimeDefaulter, ok := temp.(genruntime.Defaulter); ok { + runtimeDefaulter.CustomDefault() + } +} + +// defaultAzureName defaults the Azure name of the resource to the Kubernetes name +func (cluster *ManagedCluster) defaultAzureName() { + if cluster.Spec.AzureName == "" { + cluster.Spec.AzureName = cluster.Name + } +} + +// defaultImpl applies the code generated defaults to the ManagedCluster resource +func (cluster *ManagedCluster) defaultImpl() { cluster.defaultAzureName() } + +var _ genruntime.ImportableResource = &ManagedCluster{} + +// InitializeSpec initializes the spec for this resource from the given status +func (cluster *ManagedCluster) InitializeSpec(status genruntime.ConvertibleStatus) error { + if s, ok := status.(*ManagedCluster_STATUS); ok { + return cluster.Spec.Initialize_From_ManagedCluster_STATUS(s) + } + + return fmt.Errorf("expected Status of type ManagedCluster_STATUS but received %T instead", status) +} + +var _ genruntime.KubernetesConfigExporter = &ManagedCluster{} + +// ExportKubernetesConfigMaps defines a resource which can create ConfigMaps in Kubernetes. +func (cluster *ManagedCluster) ExportKubernetesConfigMaps(_ context.Context, _ genruntime.MetaObject, _ *genericarmclient.GenericClient, _ logr.Logger) ([]client.Object, error) { + collector := configmaps.NewCollector(cluster.Namespace) + if cluster.Spec.OperatorSpec != nil && cluster.Spec.OperatorSpec.ConfigMaps != nil { + if cluster.Status.OidcIssuerProfile != nil { + if cluster.Status.OidcIssuerProfile.IssuerURL != nil { + collector.AddValue(cluster.Spec.OperatorSpec.ConfigMaps.OIDCIssuerProfile, *cluster.Status.OidcIssuerProfile.IssuerURL) + } + } + } + result, err := collector.Values() + if err != nil { + return nil, err + } + return configmaps.SliceToClientObjectSlice(result), nil +} + +var _ genruntime.KubernetesResource = &ManagedCluster{} + +// AzureName returns the Azure name of the resource +func (cluster *ManagedCluster) AzureName() string { + return cluster.Spec.AzureName +} + +// GetAPIVersion returns the ARM API version of the resource. This is always "2024-09-01" +func (cluster ManagedCluster) GetAPIVersion() string { + return "2024-09-01" +} + +// GetResourceScope returns the scope of the resource +func (cluster *ManagedCluster) GetResourceScope() genruntime.ResourceScope { + return genruntime.ResourceScopeResourceGroup +} + +// GetSpec returns the specification of this resource +func (cluster *ManagedCluster) GetSpec() genruntime.ConvertibleSpec { + return &cluster.Spec +} + +// GetStatus returns the status of this resource +func (cluster *ManagedCluster) GetStatus() genruntime.ConvertibleStatus { + return &cluster.Status +} + +// GetSupportedOperations returns the operations supported by the resource +func (cluster *ManagedCluster) GetSupportedOperations() []genruntime.ResourceOperation { + return []genruntime.ResourceOperation{ + genruntime.ResourceOperationDelete, + genruntime.ResourceOperationGet, + genruntime.ResourceOperationPut, + } +} + +// GetType returns the ARM Type of the resource. This is always "Microsoft.ContainerService/managedClusters" +func (cluster *ManagedCluster) GetType() string { + return "Microsoft.ContainerService/managedClusters" +} + +// NewEmptyStatus returns a new empty (blank) status +func (cluster *ManagedCluster) NewEmptyStatus() genruntime.ConvertibleStatus { + return &ManagedCluster_STATUS{} +} + +// Owner returns the ResourceReference of the owner +func (cluster *ManagedCluster) Owner() *genruntime.ResourceReference { + group, kind := genruntime.LookupOwnerGroupKind(cluster.Spec) + return cluster.Spec.Owner.AsResourceReference(group, kind) +} + +// SetStatus sets the status of this resource +func (cluster *ManagedCluster) SetStatus(status genruntime.ConvertibleStatus) error { + // If we have exactly the right type of status, assign it + if st, ok := status.(*ManagedCluster_STATUS); ok { + cluster.Status = *st + return nil + } + + // Convert status to required version + var st ManagedCluster_STATUS + err := status.ConvertStatusTo(&st) + if err != nil { + return errors.Wrap(err, "failed to convert status") + } + + cluster.Status = st + return nil +} + +// +kubebuilder:webhook:path=/validate-containerservice-azure-com-v1api20240901-managedcluster,mutating=false,sideEffects=None,matchPolicy=Exact,failurePolicy=fail,groups=containerservice.azure.com,resources=managedclusters,verbs=create;update,versions=v1api20240901,name=validate.v1api20240901.managedclusters.containerservice.azure.com,admissionReviewVersions=v1 + +var _ admission.Validator = &ManagedCluster{} + +// ValidateCreate validates the creation of the resource +func (cluster *ManagedCluster) ValidateCreate() (admission.Warnings, error) { + validations := cluster.createValidations() + var temp any = cluster + if runtimeValidator, ok := temp.(genruntime.Validator); ok { + validations = append(validations, runtimeValidator.CreateValidations()...) + } + return genruntime.ValidateCreate(validations) +} + +// ValidateDelete validates the deletion of the resource +func (cluster *ManagedCluster) ValidateDelete() (admission.Warnings, error) { + validations := cluster.deleteValidations() + var temp any = cluster + if runtimeValidator, ok := temp.(genruntime.Validator); ok { + validations = append(validations, runtimeValidator.DeleteValidations()...) + } + return genruntime.ValidateDelete(validations) +} + +// ValidateUpdate validates an update of the resource +func (cluster *ManagedCluster) ValidateUpdate(old runtime.Object) (admission.Warnings, error) { + validations := cluster.updateValidations() + var temp any = cluster + if runtimeValidator, ok := temp.(genruntime.Validator); ok { + validations = append(validations, runtimeValidator.UpdateValidations()...) + } + return genruntime.ValidateUpdate(old, validations) +} + +// createValidations validates the creation of the resource +func (cluster *ManagedCluster) createValidations() []func() (admission.Warnings, error) { + return []func() (admission.Warnings, error){cluster.validateResourceReferences, cluster.validateOwnerReference, cluster.validateSecretDestinations, cluster.validateConfigMapDestinations} +} + +// deleteValidations validates the deletion of the resource +func (cluster *ManagedCluster) deleteValidations() []func() (admission.Warnings, error) { + return nil +} + +// updateValidations validates the update of the resource +func (cluster *ManagedCluster) updateValidations() []func(old runtime.Object) (admission.Warnings, error) { + return []func(old runtime.Object) (admission.Warnings, error){ + func(old runtime.Object) (admission.Warnings, error) { + return cluster.validateResourceReferences() + }, + cluster.validateWriteOnceProperties, + func(old runtime.Object) (admission.Warnings, error) { + return cluster.validateOwnerReference() + }, + func(old runtime.Object) (admission.Warnings, error) { + return cluster.validateSecretDestinations() + }, + func(old runtime.Object) (admission.Warnings, error) { + return cluster.validateConfigMapDestinations() + }, + } +} + +// validateConfigMapDestinations validates there are no colliding genruntime.ConfigMapDestinations +func (cluster *ManagedCluster) validateConfigMapDestinations() (admission.Warnings, error) { + if cluster.Spec.OperatorSpec == nil { + return nil, nil + } + if cluster.Spec.OperatorSpec.ConfigMaps == nil { + return nil, nil + } + toValidate := []*genruntime.ConfigMapDestination{ + cluster.Spec.OperatorSpec.ConfigMaps.OIDCIssuerProfile, + } + return configmaps.ValidateDestinations(toValidate) +} + +// validateOwnerReference validates the owner field +func (cluster *ManagedCluster) validateOwnerReference() (admission.Warnings, error) { + return genruntime.ValidateOwner(cluster) +} + +// validateResourceReferences validates all resource references +func (cluster *ManagedCluster) validateResourceReferences() (admission.Warnings, error) { + refs, err := reflecthelpers.FindResourceReferences(&cluster.Spec) + if err != nil { + return nil, err + } + return genruntime.ValidateResourceReferences(refs) +} + +// validateSecretDestinations validates there are no colliding genruntime.SecretDestination's +func (cluster *ManagedCluster) validateSecretDestinations() (admission.Warnings, error) { + if cluster.Spec.OperatorSpec == nil { + return nil, nil + } + if cluster.Spec.OperatorSpec.Secrets == nil { + return nil, nil + } + toValidate := []*genruntime.SecretDestination{ + cluster.Spec.OperatorSpec.Secrets.AdminCredentials, + cluster.Spec.OperatorSpec.Secrets.UserCredentials, + } + return secrets.ValidateDestinations(toValidate) +} + +// validateWriteOnceProperties validates all WriteOnce properties +func (cluster *ManagedCluster) validateWriteOnceProperties(old runtime.Object) (admission.Warnings, error) { + oldObj, ok := old.(*ManagedCluster) + if !ok { + return nil, nil + } + + return genruntime.ValidateWriteOnceProperties(oldObj, cluster) +} + +// AssignProperties_From_ManagedCluster populates our ManagedCluster from the provided source ManagedCluster +func (cluster *ManagedCluster) AssignProperties_From_ManagedCluster(source *storage.ManagedCluster) error { + + // ObjectMeta + cluster.ObjectMeta = *source.ObjectMeta.DeepCopy() + + // Spec + var spec ManagedCluster_Spec + err := spec.AssignProperties_From_ManagedCluster_Spec(&source.Spec) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedCluster_Spec() to populate field Spec") + } + cluster.Spec = spec + + // Status + var status ManagedCluster_STATUS + err = status.AssignProperties_From_ManagedCluster_STATUS(&source.Status) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedCluster_STATUS() to populate field Status") + } + cluster.Status = status + + // No error + return nil +} + +// AssignProperties_To_ManagedCluster populates the provided destination ManagedCluster from our ManagedCluster +func (cluster *ManagedCluster) AssignProperties_To_ManagedCluster(destination *storage.ManagedCluster) error { + + // ObjectMeta + destination.ObjectMeta = *cluster.ObjectMeta.DeepCopy() + + // Spec + var spec storage.ManagedCluster_Spec + err := cluster.Spec.AssignProperties_To_ManagedCluster_Spec(&spec) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedCluster_Spec() to populate field Spec") + } + destination.Spec = spec + + // Status + var status storage.ManagedCluster_STATUS + err = cluster.Status.AssignProperties_To_ManagedCluster_STATUS(&status) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedCluster_STATUS() to populate field Status") + } + destination.Status = status + + // No error + return nil +} + +// OriginalGVK returns a GroupValueKind for the original API version used to create the resource +func (cluster *ManagedCluster) OriginalGVK() *schema.GroupVersionKind { + return &schema.GroupVersionKind{ + Group: GroupVersion.Group, + Version: cluster.Spec.OriginalVersion(), + Kind: "ManagedCluster", + } +} + +// +kubebuilder:object:root=true +// Generator information: +// - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2024-09-01/managedClusters.json +// - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName} +type ManagedClusterList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []ManagedCluster `json:"items"` +} + +type ManagedCluster_Spec struct { + // AadProfile: The Azure Active Directory configuration. + AadProfile *ManagedClusterAADProfile `json:"aadProfile,omitempty"` + + // AddonProfiles: The profile of managed cluster add-on. + AddonProfiles map[string]ManagedClusterAddonProfile `json:"addonProfiles,omitempty"` + + // AgentPoolProfiles: The agent pool properties. + AgentPoolProfiles []ManagedClusterAgentPoolProfile `json:"agentPoolProfiles,omitempty"` + + // ApiServerAccessProfile: The access profile for managed cluster API server. + ApiServerAccessProfile *ManagedClusterAPIServerAccessProfile `json:"apiServerAccessProfile,omitempty"` + + // AutoScalerProfile: Parameters to be applied to the cluster-autoscaler when enabled + AutoScalerProfile *ManagedClusterProperties_AutoScalerProfile `json:"autoScalerProfile,omitempty"` + + // AutoUpgradeProfile: The auto upgrade configuration. + AutoUpgradeProfile *ManagedClusterAutoUpgradeProfile `json:"autoUpgradeProfile,omitempty"` + + // AzureMonitorProfile: Azure Monitor addon profiles for monitoring the managed cluster. + AzureMonitorProfile *ManagedClusterAzureMonitorProfile `json:"azureMonitorProfile,omitempty"` + + // +kubebuilder:validation:MaxLength=63 + // +kubebuilder:validation:MinLength=1 + // +kubebuilder:validation:Pattern="^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" + // AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + // doesn't have to be. + AzureName string `json:"azureName,omitempty"` + + // DisableLocalAccounts: If set to true, getting static credentials will be disabled for this cluster. This must only be + // used on Managed Clusters that are AAD enabled. For more details see [disable local + // accounts](https://docs.microsoft.com/azure/aks/managed-aad#disable-local-accounts-preview). + DisableLocalAccounts *bool `json:"disableLocalAccounts,omitempty"` + + // DiskEncryptionSetReference: This is of the form: + // '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}' + DiskEncryptionSetReference *genruntime.ResourceReference `armReference:"DiskEncryptionSetID" json:"diskEncryptionSetReference,omitempty"` + + // DnsPrefix: This cannot be updated once the Managed Cluster has been created. + DnsPrefix *string `json:"dnsPrefix,omitempty"` + + // EnablePodSecurityPolicy: (DEPRECATED) Whether to enable Kubernetes pod security policy (preview). PodSecurityPolicy was + // deprecated in Kubernetes v1.21, and removed from Kubernetes in v1.25. Learn more at https://aka.ms/k8s/psp and + // https://aka.ms/aks/psp. + EnablePodSecurityPolicy *bool `json:"enablePodSecurityPolicy,omitempty"` + + // EnableRBAC: Whether to enable Kubernetes Role-Based Access Control. + EnableRBAC *bool `json:"enableRBAC,omitempty"` + + // ExtendedLocation: The extended location of the Virtual Machine. + ExtendedLocation *ExtendedLocation `json:"extendedLocation,omitempty"` + + // FqdnSubdomain: This cannot be updated once the Managed Cluster has been created. + FqdnSubdomain *string `json:"fqdnSubdomain,omitempty"` + + // HttpProxyConfig: Configurations for provisioning the cluster with HTTP proxy servers. + HttpProxyConfig *ManagedClusterHTTPProxyConfig `json:"httpProxyConfig,omitempty"` + + // Identity: The identity of the managed cluster, if configured. + Identity *ManagedClusterIdentity `json:"identity,omitempty"` + + // IdentityProfile: The user identity associated with the managed cluster. This identity will be used by the kubelet. Only + // one user assigned identity is allowed. The only accepted key is "kubeletidentity", with value of "resourceId": + // "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}". + IdentityProfile map[string]UserAssignedIdentity `json:"identityProfile,omitempty"` + + // IngressProfile: Ingress profile for the managed cluster. + IngressProfile *ManagedClusterIngressProfile `json:"ingressProfile,omitempty"` + + // KubernetesVersion: Both patch version (e.g. 1.20.13) and (e.g. 1.20) are supported. + // When is specified, the latest supported GA patch version is chosen automatically. Updating the cluster + // with the same once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer + // patch version is available. When you upgrade a supported AKS cluster, Kubernetes minor versions cannot be skipped. All + // upgrades must be performed sequentially by major version number. For example, upgrades between 1.14.x -> 1.15.x or + // 1.15.x -> 1.16.x are allowed, however 1.14.x -> 1.16.x is not allowed. See [upgrading an AKS + // cluster](https://docs.microsoft.com/azure/aks/upgrade-cluster) for more details. + KubernetesVersion *string `json:"kubernetesVersion,omitempty"` + + // LinuxProfile: The profile for Linux VMs in the Managed Cluster. + LinuxProfile *ContainerServiceLinuxProfile `json:"linuxProfile,omitempty"` + + // +kubebuilder:validation:Required + // Location: The geo-location where the resource lives + Location *string `json:"location,omitempty"` + + // MetricsProfile: Optional cluster metrics configuration. + MetricsProfile *ManagedClusterMetricsProfile `json:"metricsProfile,omitempty"` + + // NetworkProfile: The network configuration profile. + NetworkProfile *ContainerServiceNetworkProfile `json:"networkProfile,omitempty"` + + // NodeResourceGroup: The name of the resource group containing agent pool nodes. + NodeResourceGroup *string `json:"nodeResourceGroup,omitempty"` + + // NodeResourceGroupProfile: Profile of the node resource group configuration. + NodeResourceGroupProfile *ManagedClusterNodeResourceGroupProfile `json:"nodeResourceGroupProfile,omitempty"` + + // OidcIssuerProfile: The OIDC issuer profile of the Managed Cluster. + OidcIssuerProfile *ManagedClusterOIDCIssuerProfile `json:"oidcIssuerProfile,omitempty"` + + // OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + // passed directly to Azure + OperatorSpec *ManagedClusterOperatorSpec `json:"operatorSpec,omitempty"` + + // +kubebuilder:validation:Required + // Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + // controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + // reference to a resources.azure.com/ResourceGroup resource + Owner *genruntime.KnownResourceReference `group:"resources.azure.com" json:"owner,omitempty" kind:"ResourceGroup"` + + // PodIdentityProfile: See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more + // details on AAD pod identity integration. + PodIdentityProfile *ManagedClusterPodIdentityProfile `json:"podIdentityProfile,omitempty"` + + // PrivateLinkResources: Private link resources associated with the cluster. + PrivateLinkResources []PrivateLinkResource `json:"privateLinkResources,omitempty"` + + // PublicNetworkAccess: Allow or deny public network access for AKS + PublicNetworkAccess *ManagedClusterProperties_PublicNetworkAccess `json:"publicNetworkAccess,omitempty"` + + // SecurityProfile: Security profile for the managed cluster. + SecurityProfile *ManagedClusterSecurityProfile `json:"securityProfile,omitempty"` + + // ServiceMeshProfile: Service mesh profile for a managed cluster. + ServiceMeshProfile *ServiceMeshProfile `json:"serviceMeshProfile,omitempty"` + + // ServicePrincipalProfile: Information about a service principal identity for the cluster to use for manipulating Azure + // APIs. + ServicePrincipalProfile *ManagedClusterServicePrincipalProfile `json:"servicePrincipalProfile,omitempty"` + + // Sku: The managed cluster SKU. + Sku *ManagedClusterSKU `json:"sku,omitempty"` + + // StorageProfile: Storage profile for the managed cluster. + StorageProfile *ManagedClusterStorageProfile `json:"storageProfile,omitempty"` + + // SupportPlan: The support plan for the Managed Cluster. If unspecified, the default is 'KubernetesOfficial'. + SupportPlan *KubernetesSupportPlan `json:"supportPlan,omitempty"` + + // Tags: Resource tags. + Tags map[string]string `json:"tags,omitempty" serializationType:"explicitEmptyCollection"` + + // UpgradeSettings: Settings for upgrading a cluster. + UpgradeSettings *ClusterUpgradeSettings `json:"upgradeSettings,omitempty"` + + // WindowsProfile: The profile for Windows VMs in the Managed Cluster. + WindowsProfile *ManagedClusterWindowsProfile `json:"windowsProfile,omitempty"` + + // WorkloadAutoScalerProfile: Workload Auto-scaler profile for the managed cluster. + WorkloadAutoScalerProfile *ManagedClusterWorkloadAutoScalerProfile `json:"workloadAutoScalerProfile,omitempty"` +} + +var _ genruntime.ARMTransformer = &ManagedCluster_Spec{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (cluster *ManagedCluster_Spec) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if cluster == nil { + return nil, nil + } + result := &arm.ManagedCluster_Spec{} + + // Set property "ExtendedLocation": + if cluster.ExtendedLocation != nil { + extendedLocation_ARM, err := (*cluster.ExtendedLocation).ConvertToARM(resolved) + if err != nil { + return nil, err + } + extendedLocation := *extendedLocation_ARM.(*arm.ExtendedLocation) + result.ExtendedLocation = &extendedLocation + } + + // Set property "Identity": + if cluster.Identity != nil { + identity_ARM, err := (*cluster.Identity).ConvertToARM(resolved) + if err != nil { + return nil, err + } + identity := *identity_ARM.(*arm.ManagedClusterIdentity) + result.Identity = &identity + } + + // Set property "Location": + if cluster.Location != nil { + location := *cluster.Location + result.Location = &location + } + + // Set property "Name": + result.Name = resolved.Name + + // Set property "Properties": + if cluster.AadProfile != nil || + cluster.AddonProfiles != nil || + cluster.AgentPoolProfiles != nil || + cluster.ApiServerAccessProfile != nil || + cluster.AutoScalerProfile != nil || + cluster.AutoUpgradeProfile != nil || + cluster.AzureMonitorProfile != nil || + cluster.DisableLocalAccounts != nil || + cluster.DiskEncryptionSetReference != nil || + cluster.DnsPrefix != nil || + cluster.EnablePodSecurityPolicy != nil || + cluster.EnableRBAC != nil || + cluster.FqdnSubdomain != nil || + cluster.HttpProxyConfig != nil || + cluster.IdentityProfile != nil || + cluster.IngressProfile != nil || + cluster.KubernetesVersion != nil || + cluster.LinuxProfile != nil || + cluster.MetricsProfile != nil || + cluster.NetworkProfile != nil || + cluster.NodeResourceGroup != nil || + cluster.NodeResourceGroupProfile != nil || + cluster.OidcIssuerProfile != nil || + cluster.PodIdentityProfile != nil || + cluster.PrivateLinkResources != nil || + cluster.PublicNetworkAccess != nil || + cluster.SecurityProfile != nil || + cluster.ServiceMeshProfile != nil || + cluster.ServicePrincipalProfile != nil || + cluster.StorageProfile != nil || + cluster.SupportPlan != nil || + cluster.UpgradeSettings != nil || + cluster.WindowsProfile != nil || + cluster.WorkloadAutoScalerProfile != nil { + result.Properties = &arm.ManagedClusterProperties{} + } + if cluster.AadProfile != nil { + aadProfile_ARM, err := (*cluster.AadProfile).ConvertToARM(resolved) + if err != nil { + return nil, err + } + aadProfile := *aadProfile_ARM.(*arm.ManagedClusterAADProfile) + result.Properties.AadProfile = &aadProfile + } + if cluster.AddonProfiles != nil { + result.Properties.AddonProfiles = make(map[string]arm.ManagedClusterAddonProfile, len(cluster.AddonProfiles)) + for key, value := range cluster.AddonProfiles { + value_ARM, err := value.ConvertToARM(resolved) + if err != nil { + return nil, err + } + result.Properties.AddonProfiles[key] = *value_ARM.(*arm.ManagedClusterAddonProfile) + } + } + for _, item := range cluster.AgentPoolProfiles { + item_ARM, err := item.ConvertToARM(resolved) + if err != nil { + return nil, err + } + result.Properties.AgentPoolProfiles = append(result.Properties.AgentPoolProfiles, *item_ARM.(*arm.ManagedClusterAgentPoolProfile)) + } + if cluster.ApiServerAccessProfile != nil { + apiServerAccessProfile_ARM, err := (*cluster.ApiServerAccessProfile).ConvertToARM(resolved) + if err != nil { + return nil, err + } + apiServerAccessProfile := *apiServerAccessProfile_ARM.(*arm.ManagedClusterAPIServerAccessProfile) + result.Properties.ApiServerAccessProfile = &apiServerAccessProfile + } + if cluster.AutoScalerProfile != nil { + autoScalerProfile_ARM, err := (*cluster.AutoScalerProfile).ConvertToARM(resolved) + if err != nil { + return nil, err + } + autoScalerProfile := *autoScalerProfile_ARM.(*arm.ManagedClusterProperties_AutoScalerProfile) + result.Properties.AutoScalerProfile = &autoScalerProfile + } + if cluster.AutoUpgradeProfile != nil { + autoUpgradeProfile_ARM, err := (*cluster.AutoUpgradeProfile).ConvertToARM(resolved) + if err != nil { + return nil, err + } + autoUpgradeProfile := *autoUpgradeProfile_ARM.(*arm.ManagedClusterAutoUpgradeProfile) + result.Properties.AutoUpgradeProfile = &autoUpgradeProfile + } + if cluster.AzureMonitorProfile != nil { + azureMonitorProfile_ARM, err := (*cluster.AzureMonitorProfile).ConvertToARM(resolved) + if err != nil { + return nil, err + } + azureMonitorProfile := *azureMonitorProfile_ARM.(*arm.ManagedClusterAzureMonitorProfile) + result.Properties.AzureMonitorProfile = &azureMonitorProfile + } + if cluster.DisableLocalAccounts != nil { + disableLocalAccounts := *cluster.DisableLocalAccounts + result.Properties.DisableLocalAccounts = &disableLocalAccounts + } + if cluster.DiskEncryptionSetReference != nil { + diskEncryptionSetIDARMID, err := resolved.ResolvedReferences.Lookup(*cluster.DiskEncryptionSetReference) + if err != nil { + return nil, err + } + diskEncryptionSetID := diskEncryptionSetIDARMID + result.Properties.DiskEncryptionSetID = &diskEncryptionSetID + } + if cluster.DnsPrefix != nil { + dnsPrefix := *cluster.DnsPrefix + result.Properties.DnsPrefix = &dnsPrefix + } + if cluster.EnablePodSecurityPolicy != nil { + enablePodSecurityPolicy := *cluster.EnablePodSecurityPolicy + result.Properties.EnablePodSecurityPolicy = &enablePodSecurityPolicy + } + if cluster.EnableRBAC != nil { + enableRBAC := *cluster.EnableRBAC + result.Properties.EnableRBAC = &enableRBAC + } + if cluster.FqdnSubdomain != nil { + fqdnSubdomain := *cluster.FqdnSubdomain + result.Properties.FqdnSubdomain = &fqdnSubdomain + } + if cluster.HttpProxyConfig != nil { + httpProxyConfig_ARM, err := (*cluster.HttpProxyConfig).ConvertToARM(resolved) + if err != nil { + return nil, err + } + httpProxyConfig := *httpProxyConfig_ARM.(*arm.ManagedClusterHTTPProxyConfig) + result.Properties.HttpProxyConfig = &httpProxyConfig + } + if cluster.IdentityProfile != nil { + result.Properties.IdentityProfile = make(map[string]arm.UserAssignedIdentity, len(cluster.IdentityProfile)) + for key, value := range cluster.IdentityProfile { + value_ARM, err := value.ConvertToARM(resolved) + if err != nil { + return nil, err + } + result.Properties.IdentityProfile[key] = *value_ARM.(*arm.UserAssignedIdentity) + } + } + if cluster.IngressProfile != nil { + ingressProfile_ARM, err := (*cluster.IngressProfile).ConvertToARM(resolved) + if err != nil { + return nil, err + } + ingressProfile := *ingressProfile_ARM.(*arm.ManagedClusterIngressProfile) + result.Properties.IngressProfile = &ingressProfile + } + if cluster.KubernetesVersion != nil { + kubernetesVersion := *cluster.KubernetesVersion + result.Properties.KubernetesVersion = &kubernetesVersion + } + if cluster.LinuxProfile != nil { + linuxProfile_ARM, err := (*cluster.LinuxProfile).ConvertToARM(resolved) + if err != nil { + return nil, err + } + linuxProfile := *linuxProfile_ARM.(*arm.ContainerServiceLinuxProfile) + result.Properties.LinuxProfile = &linuxProfile + } + if cluster.MetricsProfile != nil { + metricsProfile_ARM, err := (*cluster.MetricsProfile).ConvertToARM(resolved) + if err != nil { + return nil, err + } + metricsProfile := *metricsProfile_ARM.(*arm.ManagedClusterMetricsProfile) + result.Properties.MetricsProfile = &metricsProfile + } + if cluster.NetworkProfile != nil { + networkProfile_ARM, err := (*cluster.NetworkProfile).ConvertToARM(resolved) + if err != nil { + return nil, err + } + networkProfile := *networkProfile_ARM.(*arm.ContainerServiceNetworkProfile) + result.Properties.NetworkProfile = &networkProfile + } + if cluster.NodeResourceGroup != nil { + nodeResourceGroup := *cluster.NodeResourceGroup + result.Properties.NodeResourceGroup = &nodeResourceGroup + } + if cluster.NodeResourceGroupProfile != nil { + nodeResourceGroupProfile_ARM, err := (*cluster.NodeResourceGroupProfile).ConvertToARM(resolved) + if err != nil { + return nil, err + } + nodeResourceGroupProfile := *nodeResourceGroupProfile_ARM.(*arm.ManagedClusterNodeResourceGroupProfile) + result.Properties.NodeResourceGroupProfile = &nodeResourceGroupProfile + } + if cluster.OidcIssuerProfile != nil { + oidcIssuerProfile_ARM, err := (*cluster.OidcIssuerProfile).ConvertToARM(resolved) + if err != nil { + return nil, err + } + oidcIssuerProfile := *oidcIssuerProfile_ARM.(*arm.ManagedClusterOIDCIssuerProfile) + result.Properties.OidcIssuerProfile = &oidcIssuerProfile + } + if cluster.PodIdentityProfile != nil { + podIdentityProfile_ARM, err := (*cluster.PodIdentityProfile).ConvertToARM(resolved) + if err != nil { + return nil, err + } + podIdentityProfile := *podIdentityProfile_ARM.(*arm.ManagedClusterPodIdentityProfile) + result.Properties.PodIdentityProfile = &podIdentityProfile + } + for _, item := range cluster.PrivateLinkResources { + item_ARM, err := item.ConvertToARM(resolved) + if err != nil { + return nil, err + } + result.Properties.PrivateLinkResources = append(result.Properties.PrivateLinkResources, *item_ARM.(*arm.PrivateLinkResource)) + } + if cluster.PublicNetworkAccess != nil { + var temp string + temp = string(*cluster.PublicNetworkAccess) + publicNetworkAccess := arm.ManagedClusterProperties_PublicNetworkAccess(temp) + result.Properties.PublicNetworkAccess = &publicNetworkAccess + } + if cluster.SecurityProfile != nil { + securityProfile_ARM, err := (*cluster.SecurityProfile).ConvertToARM(resolved) + if err != nil { + return nil, err + } + securityProfile := *securityProfile_ARM.(*arm.ManagedClusterSecurityProfile) + result.Properties.SecurityProfile = &securityProfile + } + if cluster.ServiceMeshProfile != nil { + serviceMeshProfile_ARM, err := (*cluster.ServiceMeshProfile).ConvertToARM(resolved) + if err != nil { + return nil, err + } + serviceMeshProfile := *serviceMeshProfile_ARM.(*arm.ServiceMeshProfile) + result.Properties.ServiceMeshProfile = &serviceMeshProfile + } + if cluster.ServicePrincipalProfile != nil { + servicePrincipalProfile_ARM, err := (*cluster.ServicePrincipalProfile).ConvertToARM(resolved) + if err != nil { + return nil, err + } + servicePrincipalProfile := *servicePrincipalProfile_ARM.(*arm.ManagedClusterServicePrincipalProfile) + result.Properties.ServicePrincipalProfile = &servicePrincipalProfile + } + if cluster.StorageProfile != nil { + storageProfile_ARM, err := (*cluster.StorageProfile).ConvertToARM(resolved) + if err != nil { + return nil, err + } + storageProfile := *storageProfile_ARM.(*arm.ManagedClusterStorageProfile) + result.Properties.StorageProfile = &storageProfile + } + if cluster.SupportPlan != nil { + var temp string + temp = string(*cluster.SupportPlan) + supportPlan := arm.KubernetesSupportPlan(temp) + result.Properties.SupportPlan = &supportPlan + } + if cluster.UpgradeSettings != nil { + upgradeSettings_ARM, err := (*cluster.UpgradeSettings).ConvertToARM(resolved) + if err != nil { + return nil, err + } + upgradeSettings := *upgradeSettings_ARM.(*arm.ClusterUpgradeSettings) + result.Properties.UpgradeSettings = &upgradeSettings + } + if cluster.WindowsProfile != nil { + windowsProfile_ARM, err := (*cluster.WindowsProfile).ConvertToARM(resolved) + if err != nil { + return nil, err + } + windowsProfile := *windowsProfile_ARM.(*arm.ManagedClusterWindowsProfile) + result.Properties.WindowsProfile = &windowsProfile + } + if cluster.WorkloadAutoScalerProfile != nil { + workloadAutoScalerProfile_ARM, err := (*cluster.WorkloadAutoScalerProfile).ConvertToARM(resolved) + if err != nil { + return nil, err + } + workloadAutoScalerProfile := *workloadAutoScalerProfile_ARM.(*arm.ManagedClusterWorkloadAutoScalerProfile) + result.Properties.WorkloadAutoScalerProfile = &workloadAutoScalerProfile + } + + // Set property "Sku": + if cluster.Sku != nil { + sku_ARM, err := (*cluster.Sku).ConvertToARM(resolved) + if err != nil { + return nil, err + } + sku := *sku_ARM.(*arm.ManagedClusterSKU) + result.Sku = &sku + } + + // Set property "Tags": + if cluster.Tags != nil { + result.Tags = make(map[string]string, len(cluster.Tags)) + for key, value := range cluster.Tags { + result.Tags[key] = value + } + } else { + // Set property to empty map, as this resource is set to serialize all collections explicitly + result.Tags = make(map[string]string) + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (cluster *ManagedCluster_Spec) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ManagedCluster_Spec{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (cluster *ManagedCluster_Spec) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ManagedCluster_Spec) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ManagedCluster_Spec, got %T", armInput) + } + + // Set property "AadProfile": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.AadProfile != nil { + var aadProfile1 ManagedClusterAADProfile + err := aadProfile1.PopulateFromARM(owner, *typedInput.Properties.AadProfile) + if err != nil { + return err + } + aadProfile := aadProfile1 + cluster.AadProfile = &aadProfile + } + } + + // Set property "AddonProfiles": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.AddonProfiles != nil { + cluster.AddonProfiles = make(map[string]ManagedClusterAddonProfile, len(typedInput.Properties.AddonProfiles)) + for key, value := range typedInput.Properties.AddonProfiles { + var value1 ManagedClusterAddonProfile + err := value1.PopulateFromARM(owner, value) + if err != nil { + return err + } + cluster.AddonProfiles[key] = value1 + } + } + } + + // Set property "AgentPoolProfiles": + // copying flattened property: + if typedInput.Properties != nil { + for _, item := range typedInput.Properties.AgentPoolProfiles { + var item1 ManagedClusterAgentPoolProfile + err := item1.PopulateFromARM(owner, item) + if err != nil { + return err + } + cluster.AgentPoolProfiles = append(cluster.AgentPoolProfiles, item1) + } + } + + // Set property "ApiServerAccessProfile": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.ApiServerAccessProfile != nil { + var apiServerAccessProfile1 ManagedClusterAPIServerAccessProfile + err := apiServerAccessProfile1.PopulateFromARM(owner, *typedInput.Properties.ApiServerAccessProfile) + if err != nil { + return err + } + apiServerAccessProfile := apiServerAccessProfile1 + cluster.ApiServerAccessProfile = &apiServerAccessProfile + } + } + + // Set property "AutoScalerProfile": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.AutoScalerProfile != nil { + var autoScalerProfile1 ManagedClusterProperties_AutoScalerProfile + err := autoScalerProfile1.PopulateFromARM(owner, *typedInput.Properties.AutoScalerProfile) + if err != nil { + return err + } + autoScalerProfile := autoScalerProfile1 + cluster.AutoScalerProfile = &autoScalerProfile + } + } + + // Set property "AutoUpgradeProfile": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.AutoUpgradeProfile != nil { + var autoUpgradeProfile1 ManagedClusterAutoUpgradeProfile + err := autoUpgradeProfile1.PopulateFromARM(owner, *typedInput.Properties.AutoUpgradeProfile) + if err != nil { + return err + } + autoUpgradeProfile := autoUpgradeProfile1 + cluster.AutoUpgradeProfile = &autoUpgradeProfile + } + } + + // Set property "AzureMonitorProfile": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.AzureMonitorProfile != nil { + var azureMonitorProfile1 ManagedClusterAzureMonitorProfile + err := azureMonitorProfile1.PopulateFromARM(owner, *typedInput.Properties.AzureMonitorProfile) + if err != nil { + return err + } + azureMonitorProfile := azureMonitorProfile1 + cluster.AzureMonitorProfile = &azureMonitorProfile + } + } + + // Set property "AzureName": + cluster.SetAzureName(genruntime.ExtractKubernetesResourceNameFromARMName(typedInput.Name)) + + // Set property "DisableLocalAccounts": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.DisableLocalAccounts != nil { + disableLocalAccounts := *typedInput.Properties.DisableLocalAccounts + cluster.DisableLocalAccounts = &disableLocalAccounts + } + } + + // no assignment for property "DiskEncryptionSetReference" + + // Set property "DnsPrefix": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.DnsPrefix != nil { + dnsPrefix := *typedInput.Properties.DnsPrefix + cluster.DnsPrefix = &dnsPrefix + } + } + + // Set property "EnablePodSecurityPolicy": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.EnablePodSecurityPolicy != nil { + enablePodSecurityPolicy := *typedInput.Properties.EnablePodSecurityPolicy + cluster.EnablePodSecurityPolicy = &enablePodSecurityPolicy + } + } + + // Set property "EnableRBAC": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.EnableRBAC != nil { + enableRBAC := *typedInput.Properties.EnableRBAC + cluster.EnableRBAC = &enableRBAC + } + } + + // Set property "ExtendedLocation": + if typedInput.ExtendedLocation != nil { + var extendedLocation1 ExtendedLocation + err := extendedLocation1.PopulateFromARM(owner, *typedInput.ExtendedLocation) + if err != nil { + return err + } + extendedLocation := extendedLocation1 + cluster.ExtendedLocation = &extendedLocation + } + + // Set property "FqdnSubdomain": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.FqdnSubdomain != nil { + fqdnSubdomain := *typedInput.Properties.FqdnSubdomain + cluster.FqdnSubdomain = &fqdnSubdomain + } + } + + // Set property "HttpProxyConfig": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.HttpProxyConfig != nil { + var httpProxyConfig1 ManagedClusterHTTPProxyConfig + err := httpProxyConfig1.PopulateFromARM(owner, *typedInput.Properties.HttpProxyConfig) + if err != nil { + return err + } + httpProxyConfig := httpProxyConfig1 + cluster.HttpProxyConfig = &httpProxyConfig + } + } + + // Set property "Identity": + if typedInput.Identity != nil { + var identity1 ManagedClusterIdentity + err := identity1.PopulateFromARM(owner, *typedInput.Identity) + if err != nil { + return err + } + identity := identity1 + cluster.Identity = &identity + } + + // Set property "IdentityProfile": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.IdentityProfile != nil { + cluster.IdentityProfile = make(map[string]UserAssignedIdentity, len(typedInput.Properties.IdentityProfile)) + for key, value := range typedInput.Properties.IdentityProfile { + var value1 UserAssignedIdentity + err := value1.PopulateFromARM(owner, value) + if err != nil { + return err + } + cluster.IdentityProfile[key] = value1 + } + } + } + + // Set property "IngressProfile": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.IngressProfile != nil { + var ingressProfile1 ManagedClusterIngressProfile + err := ingressProfile1.PopulateFromARM(owner, *typedInput.Properties.IngressProfile) + if err != nil { + return err + } + ingressProfile := ingressProfile1 + cluster.IngressProfile = &ingressProfile + } + } + + // Set property "KubernetesVersion": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.KubernetesVersion != nil { + kubernetesVersion := *typedInput.Properties.KubernetesVersion + cluster.KubernetesVersion = &kubernetesVersion + } + } + + // Set property "LinuxProfile": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.LinuxProfile != nil { + var linuxProfile1 ContainerServiceLinuxProfile + err := linuxProfile1.PopulateFromARM(owner, *typedInput.Properties.LinuxProfile) + if err != nil { + return err + } + linuxProfile := linuxProfile1 + cluster.LinuxProfile = &linuxProfile + } + } + + // Set property "Location": + if typedInput.Location != nil { + location := *typedInput.Location + cluster.Location = &location + } + + // Set property "MetricsProfile": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.MetricsProfile != nil { + var metricsProfile1 ManagedClusterMetricsProfile + err := metricsProfile1.PopulateFromARM(owner, *typedInput.Properties.MetricsProfile) + if err != nil { + return err + } + metricsProfile := metricsProfile1 + cluster.MetricsProfile = &metricsProfile + } + } + + // Set property "NetworkProfile": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.NetworkProfile != nil { + var networkProfile1 ContainerServiceNetworkProfile + err := networkProfile1.PopulateFromARM(owner, *typedInput.Properties.NetworkProfile) + if err != nil { + return err + } + networkProfile := networkProfile1 + cluster.NetworkProfile = &networkProfile + } + } + + // Set property "NodeResourceGroup": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.NodeResourceGroup != nil { + nodeResourceGroup := *typedInput.Properties.NodeResourceGroup + cluster.NodeResourceGroup = &nodeResourceGroup + } + } + + // Set property "NodeResourceGroupProfile": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.NodeResourceGroupProfile != nil { + var nodeResourceGroupProfile1 ManagedClusterNodeResourceGroupProfile + err := nodeResourceGroupProfile1.PopulateFromARM(owner, *typedInput.Properties.NodeResourceGroupProfile) + if err != nil { + return err + } + nodeResourceGroupProfile := nodeResourceGroupProfile1 + cluster.NodeResourceGroupProfile = &nodeResourceGroupProfile + } + } + + // Set property "OidcIssuerProfile": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.OidcIssuerProfile != nil { + var oidcIssuerProfile1 ManagedClusterOIDCIssuerProfile + err := oidcIssuerProfile1.PopulateFromARM(owner, *typedInput.Properties.OidcIssuerProfile) + if err != nil { + return err + } + oidcIssuerProfile := oidcIssuerProfile1 + cluster.OidcIssuerProfile = &oidcIssuerProfile + } + } + + // no assignment for property "OperatorSpec" + + // Set property "Owner": + cluster.Owner = &genruntime.KnownResourceReference{ + Name: owner.Name, + ARMID: owner.ARMID, + } + + // Set property "PodIdentityProfile": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.PodIdentityProfile != nil { + var podIdentityProfile1 ManagedClusterPodIdentityProfile + err := podIdentityProfile1.PopulateFromARM(owner, *typedInput.Properties.PodIdentityProfile) + if err != nil { + return err + } + podIdentityProfile := podIdentityProfile1 + cluster.PodIdentityProfile = &podIdentityProfile + } + } + + // Set property "PrivateLinkResources": + // copying flattened property: + if typedInput.Properties != nil { + for _, item := range typedInput.Properties.PrivateLinkResources { + var item1 PrivateLinkResource + err := item1.PopulateFromARM(owner, item) + if err != nil { + return err + } + cluster.PrivateLinkResources = append(cluster.PrivateLinkResources, item1) + } + } + + // Set property "PublicNetworkAccess": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.PublicNetworkAccess != nil { + var temp string + temp = string(*typedInput.Properties.PublicNetworkAccess) + publicNetworkAccess := ManagedClusterProperties_PublicNetworkAccess(temp) + cluster.PublicNetworkAccess = &publicNetworkAccess + } + } + + // Set property "SecurityProfile": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.SecurityProfile != nil { + var securityProfile1 ManagedClusterSecurityProfile + err := securityProfile1.PopulateFromARM(owner, *typedInput.Properties.SecurityProfile) + if err != nil { + return err + } + securityProfile := securityProfile1 + cluster.SecurityProfile = &securityProfile + } + } + + // Set property "ServiceMeshProfile": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.ServiceMeshProfile != nil { + var serviceMeshProfile1 ServiceMeshProfile + err := serviceMeshProfile1.PopulateFromARM(owner, *typedInput.Properties.ServiceMeshProfile) + if err != nil { + return err + } + serviceMeshProfile := serviceMeshProfile1 + cluster.ServiceMeshProfile = &serviceMeshProfile + } + } + + // Set property "ServicePrincipalProfile": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.ServicePrincipalProfile != nil { + var servicePrincipalProfile1 ManagedClusterServicePrincipalProfile + err := servicePrincipalProfile1.PopulateFromARM(owner, *typedInput.Properties.ServicePrincipalProfile) + if err != nil { + return err + } + servicePrincipalProfile := servicePrincipalProfile1 + cluster.ServicePrincipalProfile = &servicePrincipalProfile + } + } + + // Set property "Sku": + if typedInput.Sku != nil { + var sku1 ManagedClusterSKU + err := sku1.PopulateFromARM(owner, *typedInput.Sku) + if err != nil { + return err + } + sku := sku1 + cluster.Sku = &sku + } + + // Set property "StorageProfile": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.StorageProfile != nil { + var storageProfile1 ManagedClusterStorageProfile + err := storageProfile1.PopulateFromARM(owner, *typedInput.Properties.StorageProfile) + if err != nil { + return err + } + storageProfile := storageProfile1 + cluster.StorageProfile = &storageProfile + } + } + + // Set property "SupportPlan": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.SupportPlan != nil { + var temp string + temp = string(*typedInput.Properties.SupportPlan) + supportPlan := KubernetesSupportPlan(temp) + cluster.SupportPlan = &supportPlan + } + } + + // Set property "Tags": + if typedInput.Tags != nil { + cluster.Tags = make(map[string]string, len(typedInput.Tags)) + for key, value := range typedInput.Tags { + cluster.Tags[key] = value + } + } else { + // Set property to empty map, as this resource is set to serialize all collections explicitly + cluster.Tags = make(map[string]string) + } + + // Set property "UpgradeSettings": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.UpgradeSettings != nil { + var upgradeSettings1 ClusterUpgradeSettings + err := upgradeSettings1.PopulateFromARM(owner, *typedInput.Properties.UpgradeSettings) + if err != nil { + return err + } + upgradeSettings := upgradeSettings1 + cluster.UpgradeSettings = &upgradeSettings + } + } + + // Set property "WindowsProfile": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.WindowsProfile != nil { + var windowsProfile1 ManagedClusterWindowsProfile + err := windowsProfile1.PopulateFromARM(owner, *typedInput.Properties.WindowsProfile) + if err != nil { + return err + } + windowsProfile := windowsProfile1 + cluster.WindowsProfile = &windowsProfile + } + } + + // Set property "WorkloadAutoScalerProfile": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.WorkloadAutoScalerProfile != nil { + var workloadAutoScalerProfile1 ManagedClusterWorkloadAutoScalerProfile + err := workloadAutoScalerProfile1.PopulateFromARM(owner, *typedInput.Properties.WorkloadAutoScalerProfile) + if err != nil { + return err + } + workloadAutoScalerProfile := workloadAutoScalerProfile1 + cluster.WorkloadAutoScalerProfile = &workloadAutoScalerProfile + } + } + + // No error + return nil +} + +var _ genruntime.ConvertibleSpec = &ManagedCluster_Spec{} + +// ConvertSpecFrom populates our ManagedCluster_Spec from the provided source +func (cluster *ManagedCluster_Spec) ConvertSpecFrom(source genruntime.ConvertibleSpec) error { + src, ok := source.(*storage.ManagedCluster_Spec) + if ok { + // Populate our instance from source + return cluster.AssignProperties_From_ManagedCluster_Spec(src) + } + + // Convert to an intermediate form + src = &storage.ManagedCluster_Spec{} + err := src.ConvertSpecFrom(source) + if err != nil { + return errors.Wrap(err, "initial step of conversion in ConvertSpecFrom()") + } + + // Update our instance from src + err = cluster.AssignProperties_From_ManagedCluster_Spec(src) + if err != nil { + return errors.Wrap(err, "final step of conversion in ConvertSpecFrom()") + } + + return nil +} + +// ConvertSpecTo populates the provided destination from our ManagedCluster_Spec +func (cluster *ManagedCluster_Spec) ConvertSpecTo(destination genruntime.ConvertibleSpec) error { + dst, ok := destination.(*storage.ManagedCluster_Spec) + if ok { + // Populate destination from our instance + return cluster.AssignProperties_To_ManagedCluster_Spec(dst) + } + + // Convert to an intermediate form + dst = &storage.ManagedCluster_Spec{} + err := cluster.AssignProperties_To_ManagedCluster_Spec(dst) + if err != nil { + return errors.Wrap(err, "initial step of conversion in ConvertSpecTo()") + } + + // Update dst from our instance + err = dst.ConvertSpecTo(destination) + if err != nil { + return errors.Wrap(err, "final step of conversion in ConvertSpecTo()") + } + + return nil +} + +// AssignProperties_From_ManagedCluster_Spec populates our ManagedCluster_Spec from the provided source ManagedCluster_Spec +func (cluster *ManagedCluster_Spec) AssignProperties_From_ManagedCluster_Spec(source *storage.ManagedCluster_Spec) error { + + // AadProfile + if source.AadProfile != nil { + var aadProfile ManagedClusterAADProfile + err := aadProfile.AssignProperties_From_ManagedClusterAADProfile(source.AadProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterAADProfile() to populate field AadProfile") + } + cluster.AadProfile = &aadProfile + } else { + cluster.AadProfile = nil + } + + // AddonProfiles + if source.AddonProfiles != nil { + addonProfileMap := make(map[string]ManagedClusterAddonProfile, len(source.AddonProfiles)) + for addonProfileKey, addonProfileValue := range source.AddonProfiles { + // Shadow the loop variable to avoid aliasing + addonProfileValue := addonProfileValue + var addonProfile ManagedClusterAddonProfile + err := addonProfile.AssignProperties_From_ManagedClusterAddonProfile(&addonProfileValue) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterAddonProfile() to populate field AddonProfiles") + } + addonProfileMap[addonProfileKey] = addonProfile + } + cluster.AddonProfiles = addonProfileMap + } else { + cluster.AddonProfiles = nil + } + + // AgentPoolProfiles + if source.AgentPoolProfiles != nil { + agentPoolProfileList := make([]ManagedClusterAgentPoolProfile, len(source.AgentPoolProfiles)) + for agentPoolProfileIndex, agentPoolProfileItem := range source.AgentPoolProfiles { + // Shadow the loop variable to avoid aliasing + agentPoolProfileItem := agentPoolProfileItem + var agentPoolProfile ManagedClusterAgentPoolProfile + err := agentPoolProfile.AssignProperties_From_ManagedClusterAgentPoolProfile(&agentPoolProfileItem) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterAgentPoolProfile() to populate field AgentPoolProfiles") + } + agentPoolProfileList[agentPoolProfileIndex] = agentPoolProfile + } + cluster.AgentPoolProfiles = agentPoolProfileList + } else { + cluster.AgentPoolProfiles = nil + } + + // ApiServerAccessProfile + if source.ApiServerAccessProfile != nil { + var apiServerAccessProfile ManagedClusterAPIServerAccessProfile + err := apiServerAccessProfile.AssignProperties_From_ManagedClusterAPIServerAccessProfile(source.ApiServerAccessProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterAPIServerAccessProfile() to populate field ApiServerAccessProfile") + } + cluster.ApiServerAccessProfile = &apiServerAccessProfile + } else { + cluster.ApiServerAccessProfile = nil + } + + // AutoScalerProfile + if source.AutoScalerProfile != nil { + var autoScalerProfile ManagedClusterProperties_AutoScalerProfile + err := autoScalerProfile.AssignProperties_From_ManagedClusterProperties_AutoScalerProfile(source.AutoScalerProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterProperties_AutoScalerProfile() to populate field AutoScalerProfile") + } + cluster.AutoScalerProfile = &autoScalerProfile + } else { + cluster.AutoScalerProfile = nil + } + + // AutoUpgradeProfile + if source.AutoUpgradeProfile != nil { + var autoUpgradeProfile ManagedClusterAutoUpgradeProfile + err := autoUpgradeProfile.AssignProperties_From_ManagedClusterAutoUpgradeProfile(source.AutoUpgradeProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterAutoUpgradeProfile() to populate field AutoUpgradeProfile") + } + cluster.AutoUpgradeProfile = &autoUpgradeProfile + } else { + cluster.AutoUpgradeProfile = nil + } + + // AzureMonitorProfile + if source.AzureMonitorProfile != nil { + var azureMonitorProfile ManagedClusterAzureMonitorProfile + err := azureMonitorProfile.AssignProperties_From_ManagedClusterAzureMonitorProfile(source.AzureMonitorProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterAzureMonitorProfile() to populate field AzureMonitorProfile") + } + cluster.AzureMonitorProfile = &azureMonitorProfile + } else { + cluster.AzureMonitorProfile = nil + } + + // AzureName + cluster.AzureName = source.AzureName + + // DisableLocalAccounts + if source.DisableLocalAccounts != nil { + disableLocalAccount := *source.DisableLocalAccounts + cluster.DisableLocalAccounts = &disableLocalAccount + } else { + cluster.DisableLocalAccounts = nil + } + + // DiskEncryptionSetReference + if source.DiskEncryptionSetReference != nil { + diskEncryptionSetReference := source.DiskEncryptionSetReference.Copy() + cluster.DiskEncryptionSetReference = &diskEncryptionSetReference + } else { + cluster.DiskEncryptionSetReference = nil + } + + // DnsPrefix + cluster.DnsPrefix = genruntime.ClonePointerToString(source.DnsPrefix) + + // EnablePodSecurityPolicy + if source.EnablePodSecurityPolicy != nil { + enablePodSecurityPolicy := *source.EnablePodSecurityPolicy + cluster.EnablePodSecurityPolicy = &enablePodSecurityPolicy + } else { + cluster.EnablePodSecurityPolicy = nil + } + + // EnableRBAC + if source.EnableRBAC != nil { + enableRBAC := *source.EnableRBAC + cluster.EnableRBAC = &enableRBAC + } else { + cluster.EnableRBAC = nil + } + + // ExtendedLocation + if source.ExtendedLocation != nil { + var extendedLocation ExtendedLocation + err := extendedLocation.AssignProperties_From_ExtendedLocation(source.ExtendedLocation) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ExtendedLocation() to populate field ExtendedLocation") + } + cluster.ExtendedLocation = &extendedLocation + } else { + cluster.ExtendedLocation = nil + } + + // FqdnSubdomain + cluster.FqdnSubdomain = genruntime.ClonePointerToString(source.FqdnSubdomain) + + // HttpProxyConfig + if source.HttpProxyConfig != nil { + var httpProxyConfig ManagedClusterHTTPProxyConfig + err := httpProxyConfig.AssignProperties_From_ManagedClusterHTTPProxyConfig(source.HttpProxyConfig) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterHTTPProxyConfig() to populate field HttpProxyConfig") + } + cluster.HttpProxyConfig = &httpProxyConfig + } else { + cluster.HttpProxyConfig = nil + } + + // Identity + if source.Identity != nil { + var identity ManagedClusterIdentity + err := identity.AssignProperties_From_ManagedClusterIdentity(source.Identity) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterIdentity() to populate field Identity") + } + cluster.Identity = &identity + } else { + cluster.Identity = nil + } + + // IdentityProfile + if source.IdentityProfile != nil { + identityProfileMap := make(map[string]UserAssignedIdentity, len(source.IdentityProfile)) + for identityProfileKey, identityProfileValue := range source.IdentityProfile { + // Shadow the loop variable to avoid aliasing + identityProfileValue := identityProfileValue + var identityProfile UserAssignedIdentity + err := identityProfile.AssignProperties_From_UserAssignedIdentity(&identityProfileValue) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_UserAssignedIdentity() to populate field IdentityProfile") + } + identityProfileMap[identityProfileKey] = identityProfile + } + cluster.IdentityProfile = identityProfileMap + } else { + cluster.IdentityProfile = nil + } + + // IngressProfile + if source.IngressProfile != nil { + var ingressProfile ManagedClusterIngressProfile + err := ingressProfile.AssignProperties_From_ManagedClusterIngressProfile(source.IngressProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterIngressProfile() to populate field IngressProfile") + } + cluster.IngressProfile = &ingressProfile + } else { + cluster.IngressProfile = nil + } + + // KubernetesVersion + cluster.KubernetesVersion = genruntime.ClonePointerToString(source.KubernetesVersion) + + // LinuxProfile + if source.LinuxProfile != nil { + var linuxProfile ContainerServiceLinuxProfile + err := linuxProfile.AssignProperties_From_ContainerServiceLinuxProfile(source.LinuxProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ContainerServiceLinuxProfile() to populate field LinuxProfile") + } + cluster.LinuxProfile = &linuxProfile + } else { + cluster.LinuxProfile = nil + } + + // Location + cluster.Location = genruntime.ClonePointerToString(source.Location) + + // MetricsProfile + if source.MetricsProfile != nil { + var metricsProfile ManagedClusterMetricsProfile + err := metricsProfile.AssignProperties_From_ManagedClusterMetricsProfile(source.MetricsProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterMetricsProfile() to populate field MetricsProfile") + } + cluster.MetricsProfile = &metricsProfile + } else { + cluster.MetricsProfile = nil + } + + // NetworkProfile + if source.NetworkProfile != nil { + var networkProfile ContainerServiceNetworkProfile + err := networkProfile.AssignProperties_From_ContainerServiceNetworkProfile(source.NetworkProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ContainerServiceNetworkProfile() to populate field NetworkProfile") + } + cluster.NetworkProfile = &networkProfile + } else { + cluster.NetworkProfile = nil + } + + // NodeResourceGroup + cluster.NodeResourceGroup = genruntime.ClonePointerToString(source.NodeResourceGroup) + + // NodeResourceGroupProfile + if source.NodeResourceGroupProfile != nil { + var nodeResourceGroupProfile ManagedClusterNodeResourceGroupProfile + err := nodeResourceGroupProfile.AssignProperties_From_ManagedClusterNodeResourceGroupProfile(source.NodeResourceGroupProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterNodeResourceGroupProfile() to populate field NodeResourceGroupProfile") + } + cluster.NodeResourceGroupProfile = &nodeResourceGroupProfile + } else { + cluster.NodeResourceGroupProfile = nil + } + + // OidcIssuerProfile + if source.OidcIssuerProfile != nil { + var oidcIssuerProfile ManagedClusterOIDCIssuerProfile + err := oidcIssuerProfile.AssignProperties_From_ManagedClusterOIDCIssuerProfile(source.OidcIssuerProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterOIDCIssuerProfile() to populate field OidcIssuerProfile") + } + cluster.OidcIssuerProfile = &oidcIssuerProfile + } else { + cluster.OidcIssuerProfile = nil + } + + // OperatorSpec + if source.OperatorSpec != nil { + var operatorSpec ManagedClusterOperatorSpec + err := operatorSpec.AssignProperties_From_ManagedClusterOperatorSpec(source.OperatorSpec) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterOperatorSpec() to populate field OperatorSpec") + } + cluster.OperatorSpec = &operatorSpec + } else { + cluster.OperatorSpec = nil + } + + // Owner + if source.Owner != nil { + owner := source.Owner.Copy() + cluster.Owner = &owner + } else { + cluster.Owner = nil + } + + // PodIdentityProfile + if source.PodIdentityProfile != nil { + var podIdentityProfile ManagedClusterPodIdentityProfile + err := podIdentityProfile.AssignProperties_From_ManagedClusterPodIdentityProfile(source.PodIdentityProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterPodIdentityProfile() to populate field PodIdentityProfile") + } + cluster.PodIdentityProfile = &podIdentityProfile + } else { + cluster.PodIdentityProfile = nil + } + + // PrivateLinkResources + if source.PrivateLinkResources != nil { + privateLinkResourceList := make([]PrivateLinkResource, len(source.PrivateLinkResources)) + for privateLinkResourceIndex, privateLinkResourceItem := range source.PrivateLinkResources { + // Shadow the loop variable to avoid aliasing + privateLinkResourceItem := privateLinkResourceItem + var privateLinkResource PrivateLinkResource + err := privateLinkResource.AssignProperties_From_PrivateLinkResource(&privateLinkResourceItem) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_PrivateLinkResource() to populate field PrivateLinkResources") + } + privateLinkResourceList[privateLinkResourceIndex] = privateLinkResource + } + cluster.PrivateLinkResources = privateLinkResourceList + } else { + cluster.PrivateLinkResources = nil + } + + // PublicNetworkAccess + if source.PublicNetworkAccess != nil { + publicNetworkAccess := *source.PublicNetworkAccess + publicNetworkAccessTemp := genruntime.ToEnum(publicNetworkAccess, managedClusterProperties_PublicNetworkAccess_Values) + cluster.PublicNetworkAccess = &publicNetworkAccessTemp + } else { + cluster.PublicNetworkAccess = nil + } + + // SecurityProfile + if source.SecurityProfile != nil { + var securityProfile ManagedClusterSecurityProfile + err := securityProfile.AssignProperties_From_ManagedClusterSecurityProfile(source.SecurityProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterSecurityProfile() to populate field SecurityProfile") + } + cluster.SecurityProfile = &securityProfile + } else { + cluster.SecurityProfile = nil + } + + // ServiceMeshProfile + if source.ServiceMeshProfile != nil { + var serviceMeshProfile ServiceMeshProfile + err := serviceMeshProfile.AssignProperties_From_ServiceMeshProfile(source.ServiceMeshProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ServiceMeshProfile() to populate field ServiceMeshProfile") + } + cluster.ServiceMeshProfile = &serviceMeshProfile + } else { + cluster.ServiceMeshProfile = nil + } + + // ServicePrincipalProfile + if source.ServicePrincipalProfile != nil { + var servicePrincipalProfile ManagedClusterServicePrincipalProfile + err := servicePrincipalProfile.AssignProperties_From_ManagedClusterServicePrincipalProfile(source.ServicePrincipalProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterServicePrincipalProfile() to populate field ServicePrincipalProfile") + } + cluster.ServicePrincipalProfile = &servicePrincipalProfile + } else { + cluster.ServicePrincipalProfile = nil + } + + // Sku + if source.Sku != nil { + var sku ManagedClusterSKU + err := sku.AssignProperties_From_ManagedClusterSKU(source.Sku) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterSKU() to populate field Sku") + } + cluster.Sku = &sku + } else { + cluster.Sku = nil + } + + // StorageProfile + if source.StorageProfile != nil { + var storageProfile ManagedClusterStorageProfile + err := storageProfile.AssignProperties_From_ManagedClusterStorageProfile(source.StorageProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterStorageProfile() to populate field StorageProfile") + } + cluster.StorageProfile = &storageProfile + } else { + cluster.StorageProfile = nil + } + + // SupportPlan + if source.SupportPlan != nil { + supportPlan := *source.SupportPlan + supportPlanTemp := genruntime.ToEnum(supportPlan, kubernetesSupportPlan_Values) + cluster.SupportPlan = &supportPlanTemp + } else { + cluster.SupportPlan = nil + } + + // Tags + cluster.Tags = genruntime.CloneMapOfStringToString(source.Tags) + + // UpgradeSettings + if source.UpgradeSettings != nil { + var upgradeSetting ClusterUpgradeSettings + err := upgradeSetting.AssignProperties_From_ClusterUpgradeSettings(source.UpgradeSettings) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ClusterUpgradeSettings() to populate field UpgradeSettings") + } + cluster.UpgradeSettings = &upgradeSetting + } else { + cluster.UpgradeSettings = nil + } + + // WindowsProfile + if source.WindowsProfile != nil { + var windowsProfile ManagedClusterWindowsProfile + err := windowsProfile.AssignProperties_From_ManagedClusterWindowsProfile(source.WindowsProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterWindowsProfile() to populate field WindowsProfile") + } + cluster.WindowsProfile = &windowsProfile + } else { + cluster.WindowsProfile = nil + } + + // WorkloadAutoScalerProfile + if source.WorkloadAutoScalerProfile != nil { + var workloadAutoScalerProfile ManagedClusterWorkloadAutoScalerProfile + err := workloadAutoScalerProfile.AssignProperties_From_ManagedClusterWorkloadAutoScalerProfile(source.WorkloadAutoScalerProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterWorkloadAutoScalerProfile() to populate field WorkloadAutoScalerProfile") + } + cluster.WorkloadAutoScalerProfile = &workloadAutoScalerProfile + } else { + cluster.WorkloadAutoScalerProfile = nil + } + + // No error + return nil +} + +// AssignProperties_To_ManagedCluster_Spec populates the provided destination ManagedCluster_Spec from our ManagedCluster_Spec +func (cluster *ManagedCluster_Spec) AssignProperties_To_ManagedCluster_Spec(destination *storage.ManagedCluster_Spec) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // AadProfile + if cluster.AadProfile != nil { + var aadProfile storage.ManagedClusterAADProfile + err := cluster.AadProfile.AssignProperties_To_ManagedClusterAADProfile(&aadProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterAADProfile() to populate field AadProfile") + } + destination.AadProfile = &aadProfile + } else { + destination.AadProfile = nil + } + + // AddonProfiles + if cluster.AddonProfiles != nil { + addonProfileMap := make(map[string]storage.ManagedClusterAddonProfile, len(cluster.AddonProfiles)) + for addonProfileKey, addonProfileValue := range cluster.AddonProfiles { + // Shadow the loop variable to avoid aliasing + addonProfileValue := addonProfileValue + var addonProfile storage.ManagedClusterAddonProfile + err := addonProfileValue.AssignProperties_To_ManagedClusterAddonProfile(&addonProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterAddonProfile() to populate field AddonProfiles") + } + addonProfileMap[addonProfileKey] = addonProfile + } + destination.AddonProfiles = addonProfileMap + } else { + destination.AddonProfiles = nil + } + + // AgentPoolProfiles + if cluster.AgentPoolProfiles != nil { + agentPoolProfileList := make([]storage.ManagedClusterAgentPoolProfile, len(cluster.AgentPoolProfiles)) + for agentPoolProfileIndex, agentPoolProfileItem := range cluster.AgentPoolProfiles { + // Shadow the loop variable to avoid aliasing + agentPoolProfileItem := agentPoolProfileItem + var agentPoolProfile storage.ManagedClusterAgentPoolProfile + err := agentPoolProfileItem.AssignProperties_To_ManagedClusterAgentPoolProfile(&agentPoolProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterAgentPoolProfile() to populate field AgentPoolProfiles") + } + agentPoolProfileList[agentPoolProfileIndex] = agentPoolProfile + } + destination.AgentPoolProfiles = agentPoolProfileList + } else { + destination.AgentPoolProfiles = nil + } + + // ApiServerAccessProfile + if cluster.ApiServerAccessProfile != nil { + var apiServerAccessProfile storage.ManagedClusterAPIServerAccessProfile + err := cluster.ApiServerAccessProfile.AssignProperties_To_ManagedClusterAPIServerAccessProfile(&apiServerAccessProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterAPIServerAccessProfile() to populate field ApiServerAccessProfile") + } + destination.ApiServerAccessProfile = &apiServerAccessProfile + } else { + destination.ApiServerAccessProfile = nil + } + + // AutoScalerProfile + if cluster.AutoScalerProfile != nil { + var autoScalerProfile storage.ManagedClusterProperties_AutoScalerProfile + err := cluster.AutoScalerProfile.AssignProperties_To_ManagedClusterProperties_AutoScalerProfile(&autoScalerProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterProperties_AutoScalerProfile() to populate field AutoScalerProfile") + } + destination.AutoScalerProfile = &autoScalerProfile + } else { + destination.AutoScalerProfile = nil + } + + // AutoUpgradeProfile + if cluster.AutoUpgradeProfile != nil { + var autoUpgradeProfile storage.ManagedClusterAutoUpgradeProfile + err := cluster.AutoUpgradeProfile.AssignProperties_To_ManagedClusterAutoUpgradeProfile(&autoUpgradeProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterAutoUpgradeProfile() to populate field AutoUpgradeProfile") + } + destination.AutoUpgradeProfile = &autoUpgradeProfile + } else { + destination.AutoUpgradeProfile = nil + } + + // AzureMonitorProfile + if cluster.AzureMonitorProfile != nil { + var azureMonitorProfile storage.ManagedClusterAzureMonitorProfile + err := cluster.AzureMonitorProfile.AssignProperties_To_ManagedClusterAzureMonitorProfile(&azureMonitorProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterAzureMonitorProfile() to populate field AzureMonitorProfile") + } + destination.AzureMonitorProfile = &azureMonitorProfile + } else { + destination.AzureMonitorProfile = nil + } + + // AzureName + destination.AzureName = cluster.AzureName + + // DisableLocalAccounts + if cluster.DisableLocalAccounts != nil { + disableLocalAccount := *cluster.DisableLocalAccounts + destination.DisableLocalAccounts = &disableLocalAccount + } else { + destination.DisableLocalAccounts = nil + } + + // DiskEncryptionSetReference + if cluster.DiskEncryptionSetReference != nil { + diskEncryptionSetReference := cluster.DiskEncryptionSetReference.Copy() + destination.DiskEncryptionSetReference = &diskEncryptionSetReference + } else { + destination.DiskEncryptionSetReference = nil + } + + // DnsPrefix + destination.DnsPrefix = genruntime.ClonePointerToString(cluster.DnsPrefix) + + // EnablePodSecurityPolicy + if cluster.EnablePodSecurityPolicy != nil { + enablePodSecurityPolicy := *cluster.EnablePodSecurityPolicy + destination.EnablePodSecurityPolicy = &enablePodSecurityPolicy + } else { + destination.EnablePodSecurityPolicy = nil + } + + // EnableRBAC + if cluster.EnableRBAC != nil { + enableRBAC := *cluster.EnableRBAC + destination.EnableRBAC = &enableRBAC + } else { + destination.EnableRBAC = nil + } + + // ExtendedLocation + if cluster.ExtendedLocation != nil { + var extendedLocation storage.ExtendedLocation + err := cluster.ExtendedLocation.AssignProperties_To_ExtendedLocation(&extendedLocation) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ExtendedLocation() to populate field ExtendedLocation") + } + destination.ExtendedLocation = &extendedLocation + } else { + destination.ExtendedLocation = nil + } + + // FqdnSubdomain + destination.FqdnSubdomain = genruntime.ClonePointerToString(cluster.FqdnSubdomain) + + // HttpProxyConfig + if cluster.HttpProxyConfig != nil { + var httpProxyConfig storage.ManagedClusterHTTPProxyConfig + err := cluster.HttpProxyConfig.AssignProperties_To_ManagedClusterHTTPProxyConfig(&httpProxyConfig) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterHTTPProxyConfig() to populate field HttpProxyConfig") + } + destination.HttpProxyConfig = &httpProxyConfig + } else { + destination.HttpProxyConfig = nil + } + + // Identity + if cluster.Identity != nil { + var identity storage.ManagedClusterIdentity + err := cluster.Identity.AssignProperties_To_ManagedClusterIdentity(&identity) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterIdentity() to populate field Identity") + } + destination.Identity = &identity + } else { + destination.Identity = nil + } + + // IdentityProfile + if cluster.IdentityProfile != nil { + identityProfileMap := make(map[string]storage.UserAssignedIdentity, len(cluster.IdentityProfile)) + for identityProfileKey, identityProfileValue := range cluster.IdentityProfile { + // Shadow the loop variable to avoid aliasing + identityProfileValue := identityProfileValue + var identityProfile storage.UserAssignedIdentity + err := identityProfileValue.AssignProperties_To_UserAssignedIdentity(&identityProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_UserAssignedIdentity() to populate field IdentityProfile") + } + identityProfileMap[identityProfileKey] = identityProfile + } + destination.IdentityProfile = identityProfileMap + } else { + destination.IdentityProfile = nil + } + + // IngressProfile + if cluster.IngressProfile != nil { + var ingressProfile storage.ManagedClusterIngressProfile + err := cluster.IngressProfile.AssignProperties_To_ManagedClusterIngressProfile(&ingressProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterIngressProfile() to populate field IngressProfile") + } + destination.IngressProfile = &ingressProfile + } else { + destination.IngressProfile = nil + } + + // KubernetesVersion + destination.KubernetesVersion = genruntime.ClonePointerToString(cluster.KubernetesVersion) + + // LinuxProfile + if cluster.LinuxProfile != nil { + var linuxProfile storage.ContainerServiceLinuxProfile + err := cluster.LinuxProfile.AssignProperties_To_ContainerServiceLinuxProfile(&linuxProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ContainerServiceLinuxProfile() to populate field LinuxProfile") + } + destination.LinuxProfile = &linuxProfile + } else { + destination.LinuxProfile = nil + } + + // Location + destination.Location = genruntime.ClonePointerToString(cluster.Location) + + // MetricsProfile + if cluster.MetricsProfile != nil { + var metricsProfile storage.ManagedClusterMetricsProfile + err := cluster.MetricsProfile.AssignProperties_To_ManagedClusterMetricsProfile(&metricsProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterMetricsProfile() to populate field MetricsProfile") + } + destination.MetricsProfile = &metricsProfile + } else { + destination.MetricsProfile = nil + } + + // NetworkProfile + if cluster.NetworkProfile != nil { + var networkProfile storage.ContainerServiceNetworkProfile + err := cluster.NetworkProfile.AssignProperties_To_ContainerServiceNetworkProfile(&networkProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ContainerServiceNetworkProfile() to populate field NetworkProfile") + } + destination.NetworkProfile = &networkProfile + } else { + destination.NetworkProfile = nil + } + + // NodeResourceGroup + destination.NodeResourceGroup = genruntime.ClonePointerToString(cluster.NodeResourceGroup) + + // NodeResourceGroupProfile + if cluster.NodeResourceGroupProfile != nil { + var nodeResourceGroupProfile storage.ManagedClusterNodeResourceGroupProfile + err := cluster.NodeResourceGroupProfile.AssignProperties_To_ManagedClusterNodeResourceGroupProfile(&nodeResourceGroupProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterNodeResourceGroupProfile() to populate field NodeResourceGroupProfile") + } + destination.NodeResourceGroupProfile = &nodeResourceGroupProfile + } else { + destination.NodeResourceGroupProfile = nil + } + + // OidcIssuerProfile + if cluster.OidcIssuerProfile != nil { + var oidcIssuerProfile storage.ManagedClusterOIDCIssuerProfile + err := cluster.OidcIssuerProfile.AssignProperties_To_ManagedClusterOIDCIssuerProfile(&oidcIssuerProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterOIDCIssuerProfile() to populate field OidcIssuerProfile") + } + destination.OidcIssuerProfile = &oidcIssuerProfile + } else { + destination.OidcIssuerProfile = nil + } + + // OperatorSpec + if cluster.OperatorSpec != nil { + var operatorSpec storage.ManagedClusterOperatorSpec + err := cluster.OperatorSpec.AssignProperties_To_ManagedClusterOperatorSpec(&operatorSpec) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterOperatorSpec() to populate field OperatorSpec") + } + destination.OperatorSpec = &operatorSpec + } else { + destination.OperatorSpec = nil + } + + // OriginalVersion + destination.OriginalVersion = cluster.OriginalVersion() + + // Owner + if cluster.Owner != nil { + owner := cluster.Owner.Copy() + destination.Owner = &owner + } else { + destination.Owner = nil + } + + // PodIdentityProfile + if cluster.PodIdentityProfile != nil { + var podIdentityProfile storage.ManagedClusterPodIdentityProfile + err := cluster.PodIdentityProfile.AssignProperties_To_ManagedClusterPodIdentityProfile(&podIdentityProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterPodIdentityProfile() to populate field PodIdentityProfile") + } + destination.PodIdentityProfile = &podIdentityProfile + } else { + destination.PodIdentityProfile = nil + } + + // PrivateLinkResources + if cluster.PrivateLinkResources != nil { + privateLinkResourceList := make([]storage.PrivateLinkResource, len(cluster.PrivateLinkResources)) + for privateLinkResourceIndex, privateLinkResourceItem := range cluster.PrivateLinkResources { + // Shadow the loop variable to avoid aliasing + privateLinkResourceItem := privateLinkResourceItem + var privateLinkResource storage.PrivateLinkResource + err := privateLinkResourceItem.AssignProperties_To_PrivateLinkResource(&privateLinkResource) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_PrivateLinkResource() to populate field PrivateLinkResources") + } + privateLinkResourceList[privateLinkResourceIndex] = privateLinkResource + } + destination.PrivateLinkResources = privateLinkResourceList + } else { + destination.PrivateLinkResources = nil + } + + // PublicNetworkAccess + if cluster.PublicNetworkAccess != nil { + publicNetworkAccess := string(*cluster.PublicNetworkAccess) + destination.PublicNetworkAccess = &publicNetworkAccess + } else { + destination.PublicNetworkAccess = nil + } + + // SecurityProfile + if cluster.SecurityProfile != nil { + var securityProfile storage.ManagedClusterSecurityProfile + err := cluster.SecurityProfile.AssignProperties_To_ManagedClusterSecurityProfile(&securityProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterSecurityProfile() to populate field SecurityProfile") + } + destination.SecurityProfile = &securityProfile + } else { + destination.SecurityProfile = nil + } + + // ServiceMeshProfile + if cluster.ServiceMeshProfile != nil { + var serviceMeshProfile storage.ServiceMeshProfile + err := cluster.ServiceMeshProfile.AssignProperties_To_ServiceMeshProfile(&serviceMeshProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ServiceMeshProfile() to populate field ServiceMeshProfile") + } + destination.ServiceMeshProfile = &serviceMeshProfile + } else { + destination.ServiceMeshProfile = nil + } + + // ServicePrincipalProfile + if cluster.ServicePrincipalProfile != nil { + var servicePrincipalProfile storage.ManagedClusterServicePrincipalProfile + err := cluster.ServicePrincipalProfile.AssignProperties_To_ManagedClusterServicePrincipalProfile(&servicePrincipalProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterServicePrincipalProfile() to populate field ServicePrincipalProfile") + } + destination.ServicePrincipalProfile = &servicePrincipalProfile + } else { + destination.ServicePrincipalProfile = nil + } + + // Sku + if cluster.Sku != nil { + var sku storage.ManagedClusterSKU + err := cluster.Sku.AssignProperties_To_ManagedClusterSKU(&sku) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterSKU() to populate field Sku") + } + destination.Sku = &sku + } else { + destination.Sku = nil + } + + // StorageProfile + if cluster.StorageProfile != nil { + var storageProfile storage.ManagedClusterStorageProfile + err := cluster.StorageProfile.AssignProperties_To_ManagedClusterStorageProfile(&storageProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterStorageProfile() to populate field StorageProfile") + } + destination.StorageProfile = &storageProfile + } else { + destination.StorageProfile = nil + } + + // SupportPlan + if cluster.SupportPlan != nil { + supportPlan := string(*cluster.SupportPlan) + destination.SupportPlan = &supportPlan + } else { + destination.SupportPlan = nil + } + + // Tags + destination.Tags = genruntime.CloneMapOfStringToString(cluster.Tags) + + // UpgradeSettings + if cluster.UpgradeSettings != nil { + var upgradeSetting storage.ClusterUpgradeSettings + err := cluster.UpgradeSettings.AssignProperties_To_ClusterUpgradeSettings(&upgradeSetting) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ClusterUpgradeSettings() to populate field UpgradeSettings") + } + destination.UpgradeSettings = &upgradeSetting + } else { + destination.UpgradeSettings = nil + } + + // WindowsProfile + if cluster.WindowsProfile != nil { + var windowsProfile storage.ManagedClusterWindowsProfile + err := cluster.WindowsProfile.AssignProperties_To_ManagedClusterWindowsProfile(&windowsProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterWindowsProfile() to populate field WindowsProfile") + } + destination.WindowsProfile = &windowsProfile + } else { + destination.WindowsProfile = nil + } + + // WorkloadAutoScalerProfile + if cluster.WorkloadAutoScalerProfile != nil { + var workloadAutoScalerProfile storage.ManagedClusterWorkloadAutoScalerProfile + err := cluster.WorkloadAutoScalerProfile.AssignProperties_To_ManagedClusterWorkloadAutoScalerProfile(&workloadAutoScalerProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterWorkloadAutoScalerProfile() to populate field WorkloadAutoScalerProfile") + } + destination.WorkloadAutoScalerProfile = &workloadAutoScalerProfile + } else { + destination.WorkloadAutoScalerProfile = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_ManagedCluster_STATUS populates our ManagedCluster_Spec from the provided source ManagedCluster_STATUS +func (cluster *ManagedCluster_Spec) Initialize_From_ManagedCluster_STATUS(source *ManagedCluster_STATUS) error { + + // AadProfile + if source.AadProfile != nil { + var aadProfile ManagedClusterAADProfile + err := aadProfile.Initialize_From_ManagedClusterAADProfile_STATUS(source.AadProfile) + if err != nil { + return errors.Wrap(err, "calling Initialize_From_ManagedClusterAADProfile_STATUS() to populate field AadProfile") + } + cluster.AadProfile = &aadProfile + } else { + cluster.AadProfile = nil + } + + // AddonProfiles + if source.AddonProfiles != nil { + addonProfileMap := make(map[string]ManagedClusterAddonProfile, len(source.AddonProfiles)) + for addonProfileKey, addonProfileValue := range source.AddonProfiles { + // Shadow the loop variable to avoid aliasing + addonProfileValue := addonProfileValue + var addonProfile ManagedClusterAddonProfile + err := addonProfile.Initialize_From_ManagedClusterAddonProfile_STATUS(&addonProfileValue) + if err != nil { + return errors.Wrap(err, "calling Initialize_From_ManagedClusterAddonProfile_STATUS() to populate field AddonProfiles") + } + addonProfileMap[addonProfileKey] = addonProfile + } + cluster.AddonProfiles = addonProfileMap + } else { + cluster.AddonProfiles = nil + } + + // AgentPoolProfiles + if source.AgentPoolProfiles != nil { + agentPoolProfileList := make([]ManagedClusterAgentPoolProfile, len(source.AgentPoolProfiles)) + for agentPoolProfileIndex, agentPoolProfileItem := range source.AgentPoolProfiles { + // Shadow the loop variable to avoid aliasing + agentPoolProfileItem := agentPoolProfileItem + var agentPoolProfile ManagedClusterAgentPoolProfile + err := agentPoolProfile.Initialize_From_ManagedClusterAgentPoolProfile_STATUS(&agentPoolProfileItem) + if err != nil { + return errors.Wrap(err, "calling Initialize_From_ManagedClusterAgentPoolProfile_STATUS() to populate field AgentPoolProfiles") + } + agentPoolProfileList[agentPoolProfileIndex] = agentPoolProfile + } + cluster.AgentPoolProfiles = agentPoolProfileList + } else { + cluster.AgentPoolProfiles = nil + } + + // ApiServerAccessProfile + if source.ApiServerAccessProfile != nil { + var apiServerAccessProfile ManagedClusterAPIServerAccessProfile + err := apiServerAccessProfile.Initialize_From_ManagedClusterAPIServerAccessProfile_STATUS(source.ApiServerAccessProfile) + if err != nil { + return errors.Wrap(err, "calling Initialize_From_ManagedClusterAPIServerAccessProfile_STATUS() to populate field ApiServerAccessProfile") + } + cluster.ApiServerAccessProfile = &apiServerAccessProfile + } else { + cluster.ApiServerAccessProfile = nil + } + + // AutoScalerProfile + if source.AutoScalerProfile != nil { + var autoScalerProfile ManagedClusterProperties_AutoScalerProfile + err := autoScalerProfile.Initialize_From_ManagedClusterProperties_AutoScalerProfile_STATUS(source.AutoScalerProfile) + if err != nil { + return errors.Wrap(err, "calling Initialize_From_ManagedClusterProperties_AutoScalerProfile_STATUS() to populate field AutoScalerProfile") + } + cluster.AutoScalerProfile = &autoScalerProfile + } else { + cluster.AutoScalerProfile = nil + } + + // AutoUpgradeProfile + if source.AutoUpgradeProfile != nil { + var autoUpgradeProfile ManagedClusterAutoUpgradeProfile + err := autoUpgradeProfile.Initialize_From_ManagedClusterAutoUpgradeProfile_STATUS(source.AutoUpgradeProfile) + if err != nil { + return errors.Wrap(err, "calling Initialize_From_ManagedClusterAutoUpgradeProfile_STATUS() to populate field AutoUpgradeProfile") + } + cluster.AutoUpgradeProfile = &autoUpgradeProfile + } else { + cluster.AutoUpgradeProfile = nil + } + + // AzureMonitorProfile + if source.AzureMonitorProfile != nil { + var azureMonitorProfile ManagedClusterAzureMonitorProfile + err := azureMonitorProfile.Initialize_From_ManagedClusterAzureMonitorProfile_STATUS(source.AzureMonitorProfile) + if err != nil { + return errors.Wrap(err, "calling Initialize_From_ManagedClusterAzureMonitorProfile_STATUS() to populate field AzureMonitorProfile") + } + cluster.AzureMonitorProfile = &azureMonitorProfile + } else { + cluster.AzureMonitorProfile = nil + } + + // DisableLocalAccounts + if source.DisableLocalAccounts != nil { + disableLocalAccount := *source.DisableLocalAccounts + cluster.DisableLocalAccounts = &disableLocalAccount + } else { + cluster.DisableLocalAccounts = nil + } + + // DnsPrefix + cluster.DnsPrefix = genruntime.ClonePointerToString(source.DnsPrefix) + + // EnablePodSecurityPolicy + if source.EnablePodSecurityPolicy != nil { + enablePodSecurityPolicy := *source.EnablePodSecurityPolicy + cluster.EnablePodSecurityPolicy = &enablePodSecurityPolicy + } else { + cluster.EnablePodSecurityPolicy = nil + } + + // EnableRBAC + if source.EnableRBAC != nil { + enableRBAC := *source.EnableRBAC + cluster.EnableRBAC = &enableRBAC + } else { + cluster.EnableRBAC = nil + } + + // ExtendedLocation + if source.ExtendedLocation != nil { + var extendedLocation ExtendedLocation + err := extendedLocation.Initialize_From_ExtendedLocation_STATUS(source.ExtendedLocation) + if err != nil { + return errors.Wrap(err, "calling Initialize_From_ExtendedLocation_STATUS() to populate field ExtendedLocation") + } + cluster.ExtendedLocation = &extendedLocation + } else { + cluster.ExtendedLocation = nil + } + + // FqdnSubdomain + cluster.FqdnSubdomain = genruntime.ClonePointerToString(source.FqdnSubdomain) + + // HttpProxyConfig + if source.HttpProxyConfig != nil { + var httpProxyConfig ManagedClusterHTTPProxyConfig + err := httpProxyConfig.Initialize_From_ManagedClusterHTTPProxyConfig_STATUS(source.HttpProxyConfig) + if err != nil { + return errors.Wrap(err, "calling Initialize_From_ManagedClusterHTTPProxyConfig_STATUS() to populate field HttpProxyConfig") + } + cluster.HttpProxyConfig = &httpProxyConfig + } else { + cluster.HttpProxyConfig = nil + } + + // Identity + if source.Identity != nil { + var identity ManagedClusterIdentity + err := identity.Initialize_From_ManagedClusterIdentity_STATUS(source.Identity) + if err != nil { + return errors.Wrap(err, "calling Initialize_From_ManagedClusterIdentity_STATUS() to populate field Identity") + } + cluster.Identity = &identity + } else { + cluster.Identity = nil + } + + // IdentityProfile + if source.IdentityProfile != nil { + identityProfileMap := make(map[string]UserAssignedIdentity, len(source.IdentityProfile)) + for identityProfileKey, identityProfileValue := range source.IdentityProfile { + // Shadow the loop variable to avoid aliasing + identityProfileValue := identityProfileValue + var identityProfile UserAssignedIdentity + err := identityProfile.Initialize_From_UserAssignedIdentity_STATUS(&identityProfileValue) + if err != nil { + return errors.Wrap(err, "calling Initialize_From_UserAssignedIdentity_STATUS() to populate field IdentityProfile") + } + identityProfileMap[identityProfileKey] = identityProfile + } + cluster.IdentityProfile = identityProfileMap + } else { + cluster.IdentityProfile = nil + } + + // IngressProfile + if source.IngressProfile != nil { + var ingressProfile ManagedClusterIngressProfile + err := ingressProfile.Initialize_From_ManagedClusterIngressProfile_STATUS(source.IngressProfile) + if err != nil { + return errors.Wrap(err, "calling Initialize_From_ManagedClusterIngressProfile_STATUS() to populate field IngressProfile") + } + cluster.IngressProfile = &ingressProfile + } else { + cluster.IngressProfile = nil + } + + // KubernetesVersion + cluster.KubernetesVersion = genruntime.ClonePointerToString(source.KubernetesVersion) + + // LinuxProfile + if source.LinuxProfile != nil { + var linuxProfile ContainerServiceLinuxProfile + err := linuxProfile.Initialize_From_ContainerServiceLinuxProfile_STATUS(source.LinuxProfile) + if err != nil { + return errors.Wrap(err, "calling Initialize_From_ContainerServiceLinuxProfile_STATUS() to populate field LinuxProfile") + } + cluster.LinuxProfile = &linuxProfile + } else { + cluster.LinuxProfile = nil + } + + // Location + cluster.Location = genruntime.ClonePointerToString(source.Location) + + // MetricsProfile + if source.MetricsProfile != nil { + var metricsProfile ManagedClusterMetricsProfile + err := metricsProfile.Initialize_From_ManagedClusterMetricsProfile_STATUS(source.MetricsProfile) + if err != nil { + return errors.Wrap(err, "calling Initialize_From_ManagedClusterMetricsProfile_STATUS() to populate field MetricsProfile") + } + cluster.MetricsProfile = &metricsProfile + } else { + cluster.MetricsProfile = nil + } + + // NetworkProfile + if source.NetworkProfile != nil { + var networkProfile ContainerServiceNetworkProfile + err := networkProfile.Initialize_From_ContainerServiceNetworkProfile_STATUS(source.NetworkProfile) + if err != nil { + return errors.Wrap(err, "calling Initialize_From_ContainerServiceNetworkProfile_STATUS() to populate field NetworkProfile") + } + cluster.NetworkProfile = &networkProfile + } else { + cluster.NetworkProfile = nil + } + + // NodeResourceGroup + cluster.NodeResourceGroup = genruntime.ClonePointerToString(source.NodeResourceGroup) + + // NodeResourceGroupProfile + if source.NodeResourceGroupProfile != nil { + var nodeResourceGroupProfile ManagedClusterNodeResourceGroupProfile + err := nodeResourceGroupProfile.Initialize_From_ManagedClusterNodeResourceGroupProfile_STATUS(source.NodeResourceGroupProfile) + if err != nil { + return errors.Wrap(err, "calling Initialize_From_ManagedClusterNodeResourceGroupProfile_STATUS() to populate field NodeResourceGroupProfile") + } + cluster.NodeResourceGroupProfile = &nodeResourceGroupProfile + } else { + cluster.NodeResourceGroupProfile = nil + } + + // OidcIssuerProfile + if source.OidcIssuerProfile != nil { + var oidcIssuerProfile ManagedClusterOIDCIssuerProfile + err := oidcIssuerProfile.Initialize_From_ManagedClusterOIDCIssuerProfile_STATUS(source.OidcIssuerProfile) + if err != nil { + return errors.Wrap(err, "calling Initialize_From_ManagedClusterOIDCIssuerProfile_STATUS() to populate field OidcIssuerProfile") + } + cluster.OidcIssuerProfile = &oidcIssuerProfile + } else { + cluster.OidcIssuerProfile = nil + } + + // PodIdentityProfile + if source.PodIdentityProfile != nil { + var podIdentityProfile ManagedClusterPodIdentityProfile + err := podIdentityProfile.Initialize_From_ManagedClusterPodIdentityProfile_STATUS(source.PodIdentityProfile) + if err != nil { + return errors.Wrap(err, "calling Initialize_From_ManagedClusterPodIdentityProfile_STATUS() to populate field PodIdentityProfile") + } + cluster.PodIdentityProfile = &podIdentityProfile + } else { + cluster.PodIdentityProfile = nil + } + + // PrivateLinkResources + if source.PrivateLinkResources != nil { + privateLinkResourceList := make([]PrivateLinkResource, len(source.PrivateLinkResources)) + for privateLinkResourceIndex, privateLinkResourceItem := range source.PrivateLinkResources { + // Shadow the loop variable to avoid aliasing + privateLinkResourceItem := privateLinkResourceItem + var privateLinkResource PrivateLinkResource + err := privateLinkResource.Initialize_From_PrivateLinkResource_STATUS(&privateLinkResourceItem) + if err != nil { + return errors.Wrap(err, "calling Initialize_From_PrivateLinkResource_STATUS() to populate field PrivateLinkResources") + } + privateLinkResourceList[privateLinkResourceIndex] = privateLinkResource + } + cluster.PrivateLinkResources = privateLinkResourceList + } else { + cluster.PrivateLinkResources = nil + } + + // PublicNetworkAccess + if source.PublicNetworkAccess != nil { + publicNetworkAccess := genruntime.ToEnum(string(*source.PublicNetworkAccess), managedClusterProperties_PublicNetworkAccess_Values) + cluster.PublicNetworkAccess = &publicNetworkAccess + } else { + cluster.PublicNetworkAccess = nil + } + + // SecurityProfile + if source.SecurityProfile != nil { + var securityProfile ManagedClusterSecurityProfile + err := securityProfile.Initialize_From_ManagedClusterSecurityProfile_STATUS(source.SecurityProfile) + if err != nil { + return errors.Wrap(err, "calling Initialize_From_ManagedClusterSecurityProfile_STATUS() to populate field SecurityProfile") + } + cluster.SecurityProfile = &securityProfile + } else { + cluster.SecurityProfile = nil + } + + // ServiceMeshProfile + if source.ServiceMeshProfile != nil { + var serviceMeshProfile ServiceMeshProfile + err := serviceMeshProfile.Initialize_From_ServiceMeshProfile_STATUS(source.ServiceMeshProfile) + if err != nil { + return errors.Wrap(err, "calling Initialize_From_ServiceMeshProfile_STATUS() to populate field ServiceMeshProfile") + } + cluster.ServiceMeshProfile = &serviceMeshProfile + } else { + cluster.ServiceMeshProfile = nil + } + + // ServicePrincipalProfile + if source.ServicePrincipalProfile != nil { + var servicePrincipalProfile ManagedClusterServicePrincipalProfile + err := servicePrincipalProfile.Initialize_From_ManagedClusterServicePrincipalProfile_STATUS(source.ServicePrincipalProfile) + if err != nil { + return errors.Wrap(err, "calling Initialize_From_ManagedClusterServicePrincipalProfile_STATUS() to populate field ServicePrincipalProfile") + } + cluster.ServicePrincipalProfile = &servicePrincipalProfile + } else { + cluster.ServicePrincipalProfile = nil + } + + // Sku + if source.Sku != nil { + var sku ManagedClusterSKU + err := sku.Initialize_From_ManagedClusterSKU_STATUS(source.Sku) + if err != nil { + return errors.Wrap(err, "calling Initialize_From_ManagedClusterSKU_STATUS() to populate field Sku") + } + cluster.Sku = &sku + } else { + cluster.Sku = nil + } + + // StorageProfile + if source.StorageProfile != nil { + var storageProfile ManagedClusterStorageProfile + err := storageProfile.Initialize_From_ManagedClusterStorageProfile_STATUS(source.StorageProfile) + if err != nil { + return errors.Wrap(err, "calling Initialize_From_ManagedClusterStorageProfile_STATUS() to populate field StorageProfile") + } + cluster.StorageProfile = &storageProfile + } else { + cluster.StorageProfile = nil + } + + // SupportPlan + if source.SupportPlan != nil { + supportPlan := genruntime.ToEnum(string(*source.SupportPlan), kubernetesSupportPlan_Values) + cluster.SupportPlan = &supportPlan + } else { + cluster.SupportPlan = nil + } + + // Tags + cluster.Tags = genruntime.CloneMapOfStringToString(source.Tags) + + // UpgradeSettings + if source.UpgradeSettings != nil { + var upgradeSetting ClusterUpgradeSettings + err := upgradeSetting.Initialize_From_ClusterUpgradeSettings_STATUS(source.UpgradeSettings) + if err != nil { + return errors.Wrap(err, "calling Initialize_From_ClusterUpgradeSettings_STATUS() to populate field UpgradeSettings") + } + cluster.UpgradeSettings = &upgradeSetting + } else { + cluster.UpgradeSettings = nil + } + + // WindowsProfile + if source.WindowsProfile != nil { + var windowsProfile ManagedClusterWindowsProfile + err := windowsProfile.Initialize_From_ManagedClusterWindowsProfile_STATUS(source.WindowsProfile) + if err != nil { + return errors.Wrap(err, "calling Initialize_From_ManagedClusterWindowsProfile_STATUS() to populate field WindowsProfile") + } + cluster.WindowsProfile = &windowsProfile + } else { + cluster.WindowsProfile = nil + } + + // WorkloadAutoScalerProfile + if source.WorkloadAutoScalerProfile != nil { + var workloadAutoScalerProfile ManagedClusterWorkloadAutoScalerProfile + err := workloadAutoScalerProfile.Initialize_From_ManagedClusterWorkloadAutoScalerProfile_STATUS(source.WorkloadAutoScalerProfile) + if err != nil { + return errors.Wrap(err, "calling Initialize_From_ManagedClusterWorkloadAutoScalerProfile_STATUS() to populate field WorkloadAutoScalerProfile") + } + cluster.WorkloadAutoScalerProfile = &workloadAutoScalerProfile + } else { + cluster.WorkloadAutoScalerProfile = nil + } + + // No error + return nil +} + +// OriginalVersion returns the original API version used to create the resource. +func (cluster *ManagedCluster_Spec) OriginalVersion() string { + return GroupVersion.Version +} + +// SetAzureName sets the Azure name of the resource +func (cluster *ManagedCluster_Spec) SetAzureName(azureName string) { cluster.AzureName = azureName } + +// Managed cluster. +type ManagedCluster_STATUS struct { + // AadProfile: The Azure Active Directory configuration. + AadProfile *ManagedClusterAADProfile_STATUS `json:"aadProfile,omitempty"` + + // AddonProfiles: The profile of managed cluster add-on. + AddonProfiles map[string]ManagedClusterAddonProfile_STATUS `json:"addonProfiles,omitempty"` + + // AgentPoolProfiles: The agent pool properties. + AgentPoolProfiles []ManagedClusterAgentPoolProfile_STATUS `json:"agentPoolProfiles,omitempty"` + + // ApiServerAccessProfile: The access profile for managed cluster API server. + ApiServerAccessProfile *ManagedClusterAPIServerAccessProfile_STATUS `json:"apiServerAccessProfile,omitempty"` + + // AutoScalerProfile: Parameters to be applied to the cluster-autoscaler when enabled + AutoScalerProfile *ManagedClusterProperties_AutoScalerProfile_STATUS `json:"autoScalerProfile,omitempty"` + + // AutoUpgradeProfile: The auto upgrade configuration. + AutoUpgradeProfile *ManagedClusterAutoUpgradeProfile_STATUS `json:"autoUpgradeProfile,omitempty"` + + // AzureMonitorProfile: Azure Monitor addon profiles for monitoring the managed cluster. + AzureMonitorProfile *ManagedClusterAzureMonitorProfile_STATUS `json:"azureMonitorProfile,omitempty"` + + // AzurePortalFQDN: The Azure Portal requires certain Cross-Origin Resource Sharing (CORS) headers to be sent in some + // responses, which Kubernetes APIServer doesn't handle by default. This special FQDN supports CORS, allowing the Azure + // Portal to function properly. + AzurePortalFQDN *string `json:"azurePortalFQDN,omitempty"` + + // Conditions: The observed state of the resource + Conditions []conditions.Condition `json:"conditions,omitempty"` + + // CurrentKubernetesVersion: If kubernetesVersion was a fully specified version , this field will be + // exactly equal to it. If kubernetesVersion was , this field will contain the full + // version being used. + CurrentKubernetesVersion *string `json:"currentKubernetesVersion,omitempty"` + + // DisableLocalAccounts: If set to true, getting static credentials will be disabled for this cluster. This must only be + // used on Managed Clusters that are AAD enabled. For more details see [disable local + // accounts](https://docs.microsoft.com/azure/aks/managed-aad#disable-local-accounts-preview). + DisableLocalAccounts *bool `json:"disableLocalAccounts,omitempty"` + + // DiskEncryptionSetID: This is of the form: + // '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}' + DiskEncryptionSetID *string `json:"diskEncryptionSetID,omitempty"` + + // DnsPrefix: This cannot be updated once the Managed Cluster has been created. + DnsPrefix *string `json:"dnsPrefix,omitempty"` + + // ETag: Unique read-only string used to implement optimistic concurrency. The eTag value will change when the resource is + // updated. Specify an if-match or if-none-match header with the eTag value for a subsequent request to enable optimistic + // concurrency per the normal etag convention. + ETag *string `json:"eTag,omitempty"` + + // EnablePodSecurityPolicy: (DEPRECATED) Whether to enable Kubernetes pod security policy (preview). PodSecurityPolicy was + // deprecated in Kubernetes v1.21, and removed from Kubernetes in v1.25. Learn more at https://aka.ms/k8s/psp and + // https://aka.ms/aks/psp. + EnablePodSecurityPolicy *bool `json:"enablePodSecurityPolicy,omitempty"` + + // EnableRBAC: Whether to enable Kubernetes Role-Based Access Control. + EnableRBAC *bool `json:"enableRBAC,omitempty"` + + // ExtendedLocation: The extended location of the Virtual Machine. + ExtendedLocation *ExtendedLocation_STATUS `json:"extendedLocation,omitempty"` + + // Fqdn: The FQDN of the master pool. + Fqdn *string `json:"fqdn,omitempty"` + + // FqdnSubdomain: This cannot be updated once the Managed Cluster has been created. + FqdnSubdomain *string `json:"fqdnSubdomain,omitempty"` + + // HttpProxyConfig: Configurations for provisioning the cluster with HTTP proxy servers. + HttpProxyConfig *ManagedClusterHTTPProxyConfig_STATUS `json:"httpProxyConfig,omitempty"` + + // Id: Fully qualified resource ID for the resource. E.g. + // "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + Id *string `json:"id,omitempty"` + + // Identity: The identity of the managed cluster, if configured. + Identity *ManagedClusterIdentity_STATUS `json:"identity,omitempty"` + + // IdentityProfile: The user identity associated with the managed cluster. This identity will be used by the kubelet. Only + // one user assigned identity is allowed. The only accepted key is "kubeletidentity", with value of "resourceId": + // "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}". + IdentityProfile map[string]UserAssignedIdentity_STATUS `json:"identityProfile,omitempty"` + + // IngressProfile: Ingress profile for the managed cluster. + IngressProfile *ManagedClusterIngressProfile_STATUS `json:"ingressProfile,omitempty"` + + // KubernetesVersion: Both patch version (e.g. 1.20.13) and (e.g. 1.20) are supported. + // When is specified, the latest supported GA patch version is chosen automatically. Updating the cluster + // with the same once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer + // patch version is available. When you upgrade a supported AKS cluster, Kubernetes minor versions cannot be skipped. All + // upgrades must be performed sequentially by major version number. For example, upgrades between 1.14.x -> 1.15.x or + // 1.15.x -> 1.16.x are allowed, however 1.14.x -> 1.16.x is not allowed. See [upgrading an AKS + // cluster](https://docs.microsoft.com/azure/aks/upgrade-cluster) for more details. + KubernetesVersion *string `json:"kubernetesVersion,omitempty"` + + // LinuxProfile: The profile for Linux VMs in the Managed Cluster. + LinuxProfile *ContainerServiceLinuxProfile_STATUS `json:"linuxProfile,omitempty"` + + // Location: The geo-location where the resource lives + Location *string `json:"location,omitempty"` + + // MaxAgentPools: The max number of agent pools for the managed cluster. + MaxAgentPools *int `json:"maxAgentPools,omitempty"` + + // MetricsProfile: Optional cluster metrics configuration. + MetricsProfile *ManagedClusterMetricsProfile_STATUS `json:"metricsProfile,omitempty"` + + // Name: The name of the resource + Name *string `json:"name,omitempty"` + + // NetworkProfile: The network configuration profile. + NetworkProfile *ContainerServiceNetworkProfile_STATUS `json:"networkProfile,omitempty"` + + // NodeResourceGroup: The name of the resource group containing agent pool nodes. + NodeResourceGroup *string `json:"nodeResourceGroup,omitempty"` + + // NodeResourceGroupProfile: Profile of the node resource group configuration. + NodeResourceGroupProfile *ManagedClusterNodeResourceGroupProfile_STATUS `json:"nodeResourceGroupProfile,omitempty"` + + // OidcIssuerProfile: The OIDC issuer profile of the Managed Cluster. + OidcIssuerProfile *ManagedClusterOIDCIssuerProfile_STATUS `json:"oidcIssuerProfile,omitempty"` + + // PodIdentityProfile: See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more + // details on AAD pod identity integration. + PodIdentityProfile *ManagedClusterPodIdentityProfile_STATUS `json:"podIdentityProfile,omitempty"` + + // PowerState: The Power State of the cluster. + PowerState *PowerState_STATUS `json:"powerState,omitempty"` + + // PrivateFQDN: The FQDN of private cluster. + PrivateFQDN *string `json:"privateFQDN,omitempty"` + + // PrivateLinkResources: Private link resources associated with the cluster. + PrivateLinkResources []PrivateLinkResource_STATUS `json:"privateLinkResources,omitempty"` + + // ProvisioningState: The current provisioning state. + ProvisioningState *string `json:"provisioningState,omitempty"` + + // PublicNetworkAccess: Allow or deny public network access for AKS + PublicNetworkAccess *ManagedClusterProperties_PublicNetworkAccess_STATUS `json:"publicNetworkAccess,omitempty"` + + // ResourceUID: The resourceUID uniquely identifies ManagedClusters that reuse ARM ResourceIds (i.e: create, delete, create + // sequence) + ResourceUID *string `json:"resourceUID,omitempty"` + + // SecurityProfile: Security profile for the managed cluster. + SecurityProfile *ManagedClusterSecurityProfile_STATUS `json:"securityProfile,omitempty"` + + // ServiceMeshProfile: Service mesh profile for a managed cluster. + ServiceMeshProfile *ServiceMeshProfile_STATUS `json:"serviceMeshProfile,omitempty"` + + // ServicePrincipalProfile: Information about a service principal identity for the cluster to use for manipulating Azure + // APIs. + ServicePrincipalProfile *ManagedClusterServicePrincipalProfile_STATUS `json:"servicePrincipalProfile,omitempty"` + + // Sku: The managed cluster SKU. + Sku *ManagedClusterSKU_STATUS `json:"sku,omitempty"` + + // StorageProfile: Storage profile for the managed cluster. + StorageProfile *ManagedClusterStorageProfile_STATUS `json:"storageProfile,omitempty"` + + // SupportPlan: The support plan for the Managed Cluster. If unspecified, the default is 'KubernetesOfficial'. + SupportPlan *KubernetesSupportPlan_STATUS `json:"supportPlan,omitempty"` + + // SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information. + SystemData *SystemData_STATUS `json:"systemData,omitempty"` + + // Tags: Resource tags. + Tags map[string]string `json:"tags,omitempty"` + + // Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + Type *string `json:"type,omitempty"` + + // UpgradeSettings: Settings for upgrading a cluster. + UpgradeSettings *ClusterUpgradeSettings_STATUS `json:"upgradeSettings,omitempty"` + + // WindowsProfile: The profile for Windows VMs in the Managed Cluster. + WindowsProfile *ManagedClusterWindowsProfile_STATUS `json:"windowsProfile,omitempty"` + + // WorkloadAutoScalerProfile: Workload Auto-scaler profile for the managed cluster. + WorkloadAutoScalerProfile *ManagedClusterWorkloadAutoScalerProfile_STATUS `json:"workloadAutoScalerProfile,omitempty"` +} + +var _ genruntime.ConvertibleStatus = &ManagedCluster_STATUS{} + +// ConvertStatusFrom populates our ManagedCluster_STATUS from the provided source +func (cluster *ManagedCluster_STATUS) ConvertStatusFrom(source genruntime.ConvertibleStatus) error { + src, ok := source.(*storage.ManagedCluster_STATUS) + if ok { + // Populate our instance from source + return cluster.AssignProperties_From_ManagedCluster_STATUS(src) + } + + // Convert to an intermediate form + src = &storage.ManagedCluster_STATUS{} + err := src.ConvertStatusFrom(source) + if err != nil { + return errors.Wrap(err, "initial step of conversion in ConvertStatusFrom()") + } + + // Update our instance from src + err = cluster.AssignProperties_From_ManagedCluster_STATUS(src) + if err != nil { + return errors.Wrap(err, "final step of conversion in ConvertStatusFrom()") + } + + return nil +} + +// ConvertStatusTo populates the provided destination from our ManagedCluster_STATUS +func (cluster *ManagedCluster_STATUS) ConvertStatusTo(destination genruntime.ConvertibleStatus) error { + dst, ok := destination.(*storage.ManagedCluster_STATUS) + if ok { + // Populate destination from our instance + return cluster.AssignProperties_To_ManagedCluster_STATUS(dst) + } + + // Convert to an intermediate form + dst = &storage.ManagedCluster_STATUS{} + err := cluster.AssignProperties_To_ManagedCluster_STATUS(dst) + if err != nil { + return errors.Wrap(err, "initial step of conversion in ConvertStatusTo()") + } + + // Update dst from our instance + err = dst.ConvertStatusTo(destination) + if err != nil { + return errors.Wrap(err, "final step of conversion in ConvertStatusTo()") + } + + return nil +} + +var _ genruntime.FromARMConverter = &ManagedCluster_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (cluster *ManagedCluster_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ManagedCluster_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (cluster *ManagedCluster_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ManagedCluster_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ManagedCluster_STATUS, got %T", armInput) + } + + // Set property "AadProfile": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.AadProfile != nil { + var aadProfile1 ManagedClusterAADProfile_STATUS + err := aadProfile1.PopulateFromARM(owner, *typedInput.Properties.AadProfile) + if err != nil { + return err + } + aadProfile := aadProfile1 + cluster.AadProfile = &aadProfile + } + } + + // Set property "AddonProfiles": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.AddonProfiles != nil { + cluster.AddonProfiles = make(map[string]ManagedClusterAddonProfile_STATUS, len(typedInput.Properties.AddonProfiles)) + for key, value := range typedInput.Properties.AddonProfiles { + var value1 ManagedClusterAddonProfile_STATUS + err := value1.PopulateFromARM(owner, value) + if err != nil { + return err + } + cluster.AddonProfiles[key] = value1 + } + } + } + + // Set property "AgentPoolProfiles": + // copying flattened property: + if typedInput.Properties != nil { + for _, item := range typedInput.Properties.AgentPoolProfiles { + var item1 ManagedClusterAgentPoolProfile_STATUS + err := item1.PopulateFromARM(owner, item) + if err != nil { + return err + } + cluster.AgentPoolProfiles = append(cluster.AgentPoolProfiles, item1) + } + } + + // Set property "ApiServerAccessProfile": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.ApiServerAccessProfile != nil { + var apiServerAccessProfile1 ManagedClusterAPIServerAccessProfile_STATUS + err := apiServerAccessProfile1.PopulateFromARM(owner, *typedInput.Properties.ApiServerAccessProfile) + if err != nil { + return err + } + apiServerAccessProfile := apiServerAccessProfile1 + cluster.ApiServerAccessProfile = &apiServerAccessProfile + } + } + + // Set property "AutoScalerProfile": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.AutoScalerProfile != nil { + var autoScalerProfile1 ManagedClusterProperties_AutoScalerProfile_STATUS + err := autoScalerProfile1.PopulateFromARM(owner, *typedInput.Properties.AutoScalerProfile) + if err != nil { + return err + } + autoScalerProfile := autoScalerProfile1 + cluster.AutoScalerProfile = &autoScalerProfile + } + } + + // Set property "AutoUpgradeProfile": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.AutoUpgradeProfile != nil { + var autoUpgradeProfile1 ManagedClusterAutoUpgradeProfile_STATUS + err := autoUpgradeProfile1.PopulateFromARM(owner, *typedInput.Properties.AutoUpgradeProfile) + if err != nil { + return err + } + autoUpgradeProfile := autoUpgradeProfile1 + cluster.AutoUpgradeProfile = &autoUpgradeProfile + } + } + + // Set property "AzureMonitorProfile": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.AzureMonitorProfile != nil { + var azureMonitorProfile1 ManagedClusterAzureMonitorProfile_STATUS + err := azureMonitorProfile1.PopulateFromARM(owner, *typedInput.Properties.AzureMonitorProfile) + if err != nil { + return err + } + azureMonitorProfile := azureMonitorProfile1 + cluster.AzureMonitorProfile = &azureMonitorProfile + } + } + + // Set property "AzurePortalFQDN": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.AzurePortalFQDN != nil { + azurePortalFQDN := *typedInput.Properties.AzurePortalFQDN + cluster.AzurePortalFQDN = &azurePortalFQDN + } + } + + // no assignment for property "Conditions" + + // Set property "CurrentKubernetesVersion": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.CurrentKubernetesVersion != nil { + currentKubernetesVersion := *typedInput.Properties.CurrentKubernetesVersion + cluster.CurrentKubernetesVersion = ¤tKubernetesVersion + } + } + + // Set property "DisableLocalAccounts": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.DisableLocalAccounts != nil { + disableLocalAccounts := *typedInput.Properties.DisableLocalAccounts + cluster.DisableLocalAccounts = &disableLocalAccounts + } + } + + // Set property "DiskEncryptionSetID": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.DiskEncryptionSetID != nil { + diskEncryptionSetID := *typedInput.Properties.DiskEncryptionSetID + cluster.DiskEncryptionSetID = &diskEncryptionSetID + } + } + + // Set property "DnsPrefix": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.DnsPrefix != nil { + dnsPrefix := *typedInput.Properties.DnsPrefix + cluster.DnsPrefix = &dnsPrefix + } + } + + // Set property "ETag": + if typedInput.ETag != nil { + eTag := *typedInput.ETag + cluster.ETag = &eTag + } + + // Set property "EnablePodSecurityPolicy": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.EnablePodSecurityPolicy != nil { + enablePodSecurityPolicy := *typedInput.Properties.EnablePodSecurityPolicy + cluster.EnablePodSecurityPolicy = &enablePodSecurityPolicy + } + } + + // Set property "EnableRBAC": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.EnableRBAC != nil { + enableRBAC := *typedInput.Properties.EnableRBAC + cluster.EnableRBAC = &enableRBAC + } + } + + // Set property "ExtendedLocation": + if typedInput.ExtendedLocation != nil { + var extendedLocation1 ExtendedLocation_STATUS + err := extendedLocation1.PopulateFromARM(owner, *typedInput.ExtendedLocation) + if err != nil { + return err + } + extendedLocation := extendedLocation1 + cluster.ExtendedLocation = &extendedLocation + } + + // Set property "Fqdn": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.Fqdn != nil { + fqdn := *typedInput.Properties.Fqdn + cluster.Fqdn = &fqdn + } + } + + // Set property "FqdnSubdomain": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.FqdnSubdomain != nil { + fqdnSubdomain := *typedInput.Properties.FqdnSubdomain + cluster.FqdnSubdomain = &fqdnSubdomain + } + } + + // Set property "HttpProxyConfig": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.HttpProxyConfig != nil { + var httpProxyConfig1 ManagedClusterHTTPProxyConfig_STATUS + err := httpProxyConfig1.PopulateFromARM(owner, *typedInput.Properties.HttpProxyConfig) + if err != nil { + return err + } + httpProxyConfig := httpProxyConfig1 + cluster.HttpProxyConfig = &httpProxyConfig + } + } + + // Set property "Id": + if typedInput.Id != nil { + id := *typedInput.Id + cluster.Id = &id + } + + // Set property "Identity": + if typedInput.Identity != nil { + var identity1 ManagedClusterIdentity_STATUS + err := identity1.PopulateFromARM(owner, *typedInput.Identity) + if err != nil { + return err + } + identity := identity1 + cluster.Identity = &identity + } + + // Set property "IdentityProfile": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.IdentityProfile != nil { + cluster.IdentityProfile = make(map[string]UserAssignedIdentity_STATUS, len(typedInput.Properties.IdentityProfile)) + for key, value := range typedInput.Properties.IdentityProfile { + var value1 UserAssignedIdentity_STATUS + err := value1.PopulateFromARM(owner, value) + if err != nil { + return err + } + cluster.IdentityProfile[key] = value1 + } + } + } + + // Set property "IngressProfile": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.IngressProfile != nil { + var ingressProfile1 ManagedClusterIngressProfile_STATUS + err := ingressProfile1.PopulateFromARM(owner, *typedInput.Properties.IngressProfile) + if err != nil { + return err + } + ingressProfile := ingressProfile1 + cluster.IngressProfile = &ingressProfile + } + } + + // Set property "KubernetesVersion": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.KubernetesVersion != nil { + kubernetesVersion := *typedInput.Properties.KubernetesVersion + cluster.KubernetesVersion = &kubernetesVersion + } + } + + // Set property "LinuxProfile": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.LinuxProfile != nil { + var linuxProfile1 ContainerServiceLinuxProfile_STATUS + err := linuxProfile1.PopulateFromARM(owner, *typedInput.Properties.LinuxProfile) + if err != nil { + return err + } + linuxProfile := linuxProfile1 + cluster.LinuxProfile = &linuxProfile + } + } + + // Set property "Location": + if typedInput.Location != nil { + location := *typedInput.Location + cluster.Location = &location + } + + // Set property "MaxAgentPools": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.MaxAgentPools != nil { + maxAgentPools := *typedInput.Properties.MaxAgentPools + cluster.MaxAgentPools = &maxAgentPools + } + } + + // Set property "MetricsProfile": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.MetricsProfile != nil { + var metricsProfile1 ManagedClusterMetricsProfile_STATUS + err := metricsProfile1.PopulateFromARM(owner, *typedInput.Properties.MetricsProfile) + if err != nil { + return err + } + metricsProfile := metricsProfile1 + cluster.MetricsProfile = &metricsProfile + } + } + + // Set property "Name": + if typedInput.Name != nil { + name := *typedInput.Name + cluster.Name = &name + } + + // Set property "NetworkProfile": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.NetworkProfile != nil { + var networkProfile1 ContainerServiceNetworkProfile_STATUS + err := networkProfile1.PopulateFromARM(owner, *typedInput.Properties.NetworkProfile) + if err != nil { + return err + } + networkProfile := networkProfile1 + cluster.NetworkProfile = &networkProfile + } + } + + // Set property "NodeResourceGroup": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.NodeResourceGroup != nil { + nodeResourceGroup := *typedInput.Properties.NodeResourceGroup + cluster.NodeResourceGroup = &nodeResourceGroup + } + } + + // Set property "NodeResourceGroupProfile": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.NodeResourceGroupProfile != nil { + var nodeResourceGroupProfile1 ManagedClusterNodeResourceGroupProfile_STATUS + err := nodeResourceGroupProfile1.PopulateFromARM(owner, *typedInput.Properties.NodeResourceGroupProfile) + if err != nil { + return err + } + nodeResourceGroupProfile := nodeResourceGroupProfile1 + cluster.NodeResourceGroupProfile = &nodeResourceGroupProfile + } + } + + // Set property "OidcIssuerProfile": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.OidcIssuerProfile != nil { + var oidcIssuerProfile1 ManagedClusterOIDCIssuerProfile_STATUS + err := oidcIssuerProfile1.PopulateFromARM(owner, *typedInput.Properties.OidcIssuerProfile) + if err != nil { + return err + } + oidcIssuerProfile := oidcIssuerProfile1 + cluster.OidcIssuerProfile = &oidcIssuerProfile + } + } + + // Set property "PodIdentityProfile": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.PodIdentityProfile != nil { + var podIdentityProfile1 ManagedClusterPodIdentityProfile_STATUS + err := podIdentityProfile1.PopulateFromARM(owner, *typedInput.Properties.PodIdentityProfile) + if err != nil { + return err + } + podIdentityProfile := podIdentityProfile1 + cluster.PodIdentityProfile = &podIdentityProfile + } + } + + // Set property "PowerState": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.PowerState != nil { + var powerState1 PowerState_STATUS + err := powerState1.PopulateFromARM(owner, *typedInput.Properties.PowerState) + if err != nil { + return err + } + powerState := powerState1 + cluster.PowerState = &powerState + } + } + + // Set property "PrivateFQDN": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.PrivateFQDN != nil { + privateFQDN := *typedInput.Properties.PrivateFQDN + cluster.PrivateFQDN = &privateFQDN + } + } + + // Set property "PrivateLinkResources": + // copying flattened property: + if typedInput.Properties != nil { + for _, item := range typedInput.Properties.PrivateLinkResources { + var item1 PrivateLinkResource_STATUS + err := item1.PopulateFromARM(owner, item) + if err != nil { + return err + } + cluster.PrivateLinkResources = append(cluster.PrivateLinkResources, item1) + } + } + + // Set property "ProvisioningState": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.ProvisioningState != nil { + provisioningState := *typedInput.Properties.ProvisioningState + cluster.ProvisioningState = &provisioningState + } + } + + // Set property "PublicNetworkAccess": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.PublicNetworkAccess != nil { + var temp string + temp = string(*typedInput.Properties.PublicNetworkAccess) + publicNetworkAccess := ManagedClusterProperties_PublicNetworkAccess_STATUS(temp) + cluster.PublicNetworkAccess = &publicNetworkAccess + } + } + + // Set property "ResourceUID": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.ResourceUID != nil { + resourceUID := *typedInput.Properties.ResourceUID + cluster.ResourceUID = &resourceUID + } + } + + // Set property "SecurityProfile": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.SecurityProfile != nil { + var securityProfile1 ManagedClusterSecurityProfile_STATUS + err := securityProfile1.PopulateFromARM(owner, *typedInput.Properties.SecurityProfile) + if err != nil { + return err + } + securityProfile := securityProfile1 + cluster.SecurityProfile = &securityProfile + } + } + + // Set property "ServiceMeshProfile": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.ServiceMeshProfile != nil { + var serviceMeshProfile1 ServiceMeshProfile_STATUS + err := serviceMeshProfile1.PopulateFromARM(owner, *typedInput.Properties.ServiceMeshProfile) + if err != nil { + return err + } + serviceMeshProfile := serviceMeshProfile1 + cluster.ServiceMeshProfile = &serviceMeshProfile + } + } + + // Set property "ServicePrincipalProfile": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.ServicePrincipalProfile != nil { + var servicePrincipalProfile1 ManagedClusterServicePrincipalProfile_STATUS + err := servicePrincipalProfile1.PopulateFromARM(owner, *typedInput.Properties.ServicePrincipalProfile) + if err != nil { + return err + } + servicePrincipalProfile := servicePrincipalProfile1 + cluster.ServicePrincipalProfile = &servicePrincipalProfile + } + } + + // Set property "Sku": + if typedInput.Sku != nil { + var sku1 ManagedClusterSKU_STATUS + err := sku1.PopulateFromARM(owner, *typedInput.Sku) + if err != nil { + return err + } + sku := sku1 + cluster.Sku = &sku + } + + // Set property "StorageProfile": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.StorageProfile != nil { + var storageProfile1 ManagedClusterStorageProfile_STATUS + err := storageProfile1.PopulateFromARM(owner, *typedInput.Properties.StorageProfile) + if err != nil { + return err + } + storageProfile := storageProfile1 + cluster.StorageProfile = &storageProfile + } + } + + // Set property "SupportPlan": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.SupportPlan != nil { + var temp string + temp = string(*typedInput.Properties.SupportPlan) + supportPlan := KubernetesSupportPlan_STATUS(temp) + cluster.SupportPlan = &supportPlan + } + } + + // Set property "SystemData": + if typedInput.SystemData != nil { + var systemData1 SystemData_STATUS + err := systemData1.PopulateFromARM(owner, *typedInput.SystemData) + if err != nil { + return err + } + systemData := systemData1 + cluster.SystemData = &systemData + } + + // Set property "Tags": + if typedInput.Tags != nil { + cluster.Tags = make(map[string]string, len(typedInput.Tags)) + for key, value := range typedInput.Tags { + cluster.Tags[key] = value + } + } + + // Set property "Type": + if typedInput.Type != nil { + typeVar := *typedInput.Type + cluster.Type = &typeVar + } + + // Set property "UpgradeSettings": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.UpgradeSettings != nil { + var upgradeSettings1 ClusterUpgradeSettings_STATUS + err := upgradeSettings1.PopulateFromARM(owner, *typedInput.Properties.UpgradeSettings) + if err != nil { + return err + } + upgradeSettings := upgradeSettings1 + cluster.UpgradeSettings = &upgradeSettings + } + } + + // Set property "WindowsProfile": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.WindowsProfile != nil { + var windowsProfile1 ManagedClusterWindowsProfile_STATUS + err := windowsProfile1.PopulateFromARM(owner, *typedInput.Properties.WindowsProfile) + if err != nil { + return err + } + windowsProfile := windowsProfile1 + cluster.WindowsProfile = &windowsProfile + } + } + + // Set property "WorkloadAutoScalerProfile": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.WorkloadAutoScalerProfile != nil { + var workloadAutoScalerProfile1 ManagedClusterWorkloadAutoScalerProfile_STATUS + err := workloadAutoScalerProfile1.PopulateFromARM(owner, *typedInput.Properties.WorkloadAutoScalerProfile) + if err != nil { + return err + } + workloadAutoScalerProfile := workloadAutoScalerProfile1 + cluster.WorkloadAutoScalerProfile = &workloadAutoScalerProfile + } + } + + // No error + return nil +} + +// AssignProperties_From_ManagedCluster_STATUS populates our ManagedCluster_STATUS from the provided source ManagedCluster_STATUS +func (cluster *ManagedCluster_STATUS) AssignProperties_From_ManagedCluster_STATUS(source *storage.ManagedCluster_STATUS) error { + + // AadProfile + if source.AadProfile != nil { + var aadProfile ManagedClusterAADProfile_STATUS + err := aadProfile.AssignProperties_From_ManagedClusterAADProfile_STATUS(source.AadProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterAADProfile_STATUS() to populate field AadProfile") + } + cluster.AadProfile = &aadProfile + } else { + cluster.AadProfile = nil + } + + // AddonProfiles + if source.AddonProfiles != nil { + addonProfileMap := make(map[string]ManagedClusterAddonProfile_STATUS, len(source.AddonProfiles)) + for addonProfileKey, addonProfileValue := range source.AddonProfiles { + // Shadow the loop variable to avoid aliasing + addonProfileValue := addonProfileValue + var addonProfile ManagedClusterAddonProfile_STATUS + err := addonProfile.AssignProperties_From_ManagedClusterAddonProfile_STATUS(&addonProfileValue) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterAddonProfile_STATUS() to populate field AddonProfiles") + } + addonProfileMap[addonProfileKey] = addonProfile + } + cluster.AddonProfiles = addonProfileMap + } else { + cluster.AddonProfiles = nil + } + + // AgentPoolProfiles + if source.AgentPoolProfiles != nil { + agentPoolProfileList := make([]ManagedClusterAgentPoolProfile_STATUS, len(source.AgentPoolProfiles)) + for agentPoolProfileIndex, agentPoolProfileItem := range source.AgentPoolProfiles { + // Shadow the loop variable to avoid aliasing + agentPoolProfileItem := agentPoolProfileItem + var agentPoolProfile ManagedClusterAgentPoolProfile_STATUS + err := agentPoolProfile.AssignProperties_From_ManagedClusterAgentPoolProfile_STATUS(&agentPoolProfileItem) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterAgentPoolProfile_STATUS() to populate field AgentPoolProfiles") + } + agentPoolProfileList[agentPoolProfileIndex] = agentPoolProfile + } + cluster.AgentPoolProfiles = agentPoolProfileList + } else { + cluster.AgentPoolProfiles = nil + } + + // ApiServerAccessProfile + if source.ApiServerAccessProfile != nil { + var apiServerAccessProfile ManagedClusterAPIServerAccessProfile_STATUS + err := apiServerAccessProfile.AssignProperties_From_ManagedClusterAPIServerAccessProfile_STATUS(source.ApiServerAccessProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterAPIServerAccessProfile_STATUS() to populate field ApiServerAccessProfile") + } + cluster.ApiServerAccessProfile = &apiServerAccessProfile + } else { + cluster.ApiServerAccessProfile = nil + } + + // AutoScalerProfile + if source.AutoScalerProfile != nil { + var autoScalerProfile ManagedClusterProperties_AutoScalerProfile_STATUS + err := autoScalerProfile.AssignProperties_From_ManagedClusterProperties_AutoScalerProfile_STATUS(source.AutoScalerProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterProperties_AutoScalerProfile_STATUS() to populate field AutoScalerProfile") + } + cluster.AutoScalerProfile = &autoScalerProfile + } else { + cluster.AutoScalerProfile = nil + } + + // AutoUpgradeProfile + if source.AutoUpgradeProfile != nil { + var autoUpgradeProfile ManagedClusterAutoUpgradeProfile_STATUS + err := autoUpgradeProfile.AssignProperties_From_ManagedClusterAutoUpgradeProfile_STATUS(source.AutoUpgradeProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterAutoUpgradeProfile_STATUS() to populate field AutoUpgradeProfile") + } + cluster.AutoUpgradeProfile = &autoUpgradeProfile + } else { + cluster.AutoUpgradeProfile = nil + } + + // AzureMonitorProfile + if source.AzureMonitorProfile != nil { + var azureMonitorProfile ManagedClusterAzureMonitorProfile_STATUS + err := azureMonitorProfile.AssignProperties_From_ManagedClusterAzureMonitorProfile_STATUS(source.AzureMonitorProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterAzureMonitorProfile_STATUS() to populate field AzureMonitorProfile") + } + cluster.AzureMonitorProfile = &azureMonitorProfile + } else { + cluster.AzureMonitorProfile = nil + } + + // AzurePortalFQDN + cluster.AzurePortalFQDN = genruntime.ClonePointerToString(source.AzurePortalFQDN) + + // Conditions + cluster.Conditions = genruntime.CloneSliceOfCondition(source.Conditions) + + // CurrentKubernetesVersion + cluster.CurrentKubernetesVersion = genruntime.ClonePointerToString(source.CurrentKubernetesVersion) + + // DisableLocalAccounts + if source.DisableLocalAccounts != nil { + disableLocalAccount := *source.DisableLocalAccounts + cluster.DisableLocalAccounts = &disableLocalAccount + } else { + cluster.DisableLocalAccounts = nil + } + + // DiskEncryptionSetID + cluster.DiskEncryptionSetID = genruntime.ClonePointerToString(source.DiskEncryptionSetID) + + // DnsPrefix + cluster.DnsPrefix = genruntime.ClonePointerToString(source.DnsPrefix) + + // ETag + cluster.ETag = genruntime.ClonePointerToString(source.ETag) + + // EnablePodSecurityPolicy + if source.EnablePodSecurityPolicy != nil { + enablePodSecurityPolicy := *source.EnablePodSecurityPolicy + cluster.EnablePodSecurityPolicy = &enablePodSecurityPolicy + } else { + cluster.EnablePodSecurityPolicy = nil + } + + // EnableRBAC + if source.EnableRBAC != nil { + enableRBAC := *source.EnableRBAC + cluster.EnableRBAC = &enableRBAC + } else { + cluster.EnableRBAC = nil + } + + // ExtendedLocation + if source.ExtendedLocation != nil { + var extendedLocation ExtendedLocation_STATUS + err := extendedLocation.AssignProperties_From_ExtendedLocation_STATUS(source.ExtendedLocation) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ExtendedLocation_STATUS() to populate field ExtendedLocation") + } + cluster.ExtendedLocation = &extendedLocation + } else { + cluster.ExtendedLocation = nil + } + + // Fqdn + cluster.Fqdn = genruntime.ClonePointerToString(source.Fqdn) + + // FqdnSubdomain + cluster.FqdnSubdomain = genruntime.ClonePointerToString(source.FqdnSubdomain) + + // HttpProxyConfig + if source.HttpProxyConfig != nil { + var httpProxyConfig ManagedClusterHTTPProxyConfig_STATUS + err := httpProxyConfig.AssignProperties_From_ManagedClusterHTTPProxyConfig_STATUS(source.HttpProxyConfig) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterHTTPProxyConfig_STATUS() to populate field HttpProxyConfig") + } + cluster.HttpProxyConfig = &httpProxyConfig + } else { + cluster.HttpProxyConfig = nil + } + + // Id + cluster.Id = genruntime.ClonePointerToString(source.Id) + + // Identity + if source.Identity != nil { + var identity ManagedClusterIdentity_STATUS + err := identity.AssignProperties_From_ManagedClusterIdentity_STATUS(source.Identity) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterIdentity_STATUS() to populate field Identity") + } + cluster.Identity = &identity + } else { + cluster.Identity = nil + } + + // IdentityProfile + if source.IdentityProfile != nil { + identityProfileMap := make(map[string]UserAssignedIdentity_STATUS, len(source.IdentityProfile)) + for identityProfileKey, identityProfileValue := range source.IdentityProfile { + // Shadow the loop variable to avoid aliasing + identityProfileValue := identityProfileValue + var identityProfile UserAssignedIdentity_STATUS + err := identityProfile.AssignProperties_From_UserAssignedIdentity_STATUS(&identityProfileValue) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_UserAssignedIdentity_STATUS() to populate field IdentityProfile") + } + identityProfileMap[identityProfileKey] = identityProfile + } + cluster.IdentityProfile = identityProfileMap + } else { + cluster.IdentityProfile = nil + } + + // IngressProfile + if source.IngressProfile != nil { + var ingressProfile ManagedClusterIngressProfile_STATUS + err := ingressProfile.AssignProperties_From_ManagedClusterIngressProfile_STATUS(source.IngressProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterIngressProfile_STATUS() to populate field IngressProfile") + } + cluster.IngressProfile = &ingressProfile + } else { + cluster.IngressProfile = nil + } + + // KubernetesVersion + cluster.KubernetesVersion = genruntime.ClonePointerToString(source.KubernetesVersion) + + // LinuxProfile + if source.LinuxProfile != nil { + var linuxProfile ContainerServiceLinuxProfile_STATUS + err := linuxProfile.AssignProperties_From_ContainerServiceLinuxProfile_STATUS(source.LinuxProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ContainerServiceLinuxProfile_STATUS() to populate field LinuxProfile") + } + cluster.LinuxProfile = &linuxProfile + } else { + cluster.LinuxProfile = nil + } + + // Location + cluster.Location = genruntime.ClonePointerToString(source.Location) + + // MaxAgentPools + cluster.MaxAgentPools = genruntime.ClonePointerToInt(source.MaxAgentPools) + + // MetricsProfile + if source.MetricsProfile != nil { + var metricsProfile ManagedClusterMetricsProfile_STATUS + err := metricsProfile.AssignProperties_From_ManagedClusterMetricsProfile_STATUS(source.MetricsProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterMetricsProfile_STATUS() to populate field MetricsProfile") + } + cluster.MetricsProfile = &metricsProfile + } else { + cluster.MetricsProfile = nil + } + + // Name + cluster.Name = genruntime.ClonePointerToString(source.Name) + + // NetworkProfile + if source.NetworkProfile != nil { + var networkProfile ContainerServiceNetworkProfile_STATUS + err := networkProfile.AssignProperties_From_ContainerServiceNetworkProfile_STATUS(source.NetworkProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ContainerServiceNetworkProfile_STATUS() to populate field NetworkProfile") + } + cluster.NetworkProfile = &networkProfile + } else { + cluster.NetworkProfile = nil + } + + // NodeResourceGroup + cluster.NodeResourceGroup = genruntime.ClonePointerToString(source.NodeResourceGroup) + + // NodeResourceGroupProfile + if source.NodeResourceGroupProfile != nil { + var nodeResourceGroupProfile ManagedClusterNodeResourceGroupProfile_STATUS + err := nodeResourceGroupProfile.AssignProperties_From_ManagedClusterNodeResourceGroupProfile_STATUS(source.NodeResourceGroupProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterNodeResourceGroupProfile_STATUS() to populate field NodeResourceGroupProfile") + } + cluster.NodeResourceGroupProfile = &nodeResourceGroupProfile + } else { + cluster.NodeResourceGroupProfile = nil + } + + // OidcIssuerProfile + if source.OidcIssuerProfile != nil { + var oidcIssuerProfile ManagedClusterOIDCIssuerProfile_STATUS + err := oidcIssuerProfile.AssignProperties_From_ManagedClusterOIDCIssuerProfile_STATUS(source.OidcIssuerProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterOIDCIssuerProfile_STATUS() to populate field OidcIssuerProfile") + } + cluster.OidcIssuerProfile = &oidcIssuerProfile + } else { + cluster.OidcIssuerProfile = nil + } + + // PodIdentityProfile + if source.PodIdentityProfile != nil { + var podIdentityProfile ManagedClusterPodIdentityProfile_STATUS + err := podIdentityProfile.AssignProperties_From_ManagedClusterPodIdentityProfile_STATUS(source.PodIdentityProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterPodIdentityProfile_STATUS() to populate field PodIdentityProfile") + } + cluster.PodIdentityProfile = &podIdentityProfile + } else { + cluster.PodIdentityProfile = nil + } + + // PowerState + if source.PowerState != nil { + var powerState PowerState_STATUS + err := powerState.AssignProperties_From_PowerState_STATUS(source.PowerState) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_PowerState_STATUS() to populate field PowerState") + } + cluster.PowerState = &powerState + } else { + cluster.PowerState = nil + } + + // PrivateFQDN + cluster.PrivateFQDN = genruntime.ClonePointerToString(source.PrivateFQDN) + + // PrivateLinkResources + if source.PrivateLinkResources != nil { + privateLinkResourceList := make([]PrivateLinkResource_STATUS, len(source.PrivateLinkResources)) + for privateLinkResourceIndex, privateLinkResourceItem := range source.PrivateLinkResources { + // Shadow the loop variable to avoid aliasing + privateLinkResourceItem := privateLinkResourceItem + var privateLinkResource PrivateLinkResource_STATUS + err := privateLinkResource.AssignProperties_From_PrivateLinkResource_STATUS(&privateLinkResourceItem) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_PrivateLinkResource_STATUS() to populate field PrivateLinkResources") + } + privateLinkResourceList[privateLinkResourceIndex] = privateLinkResource + } + cluster.PrivateLinkResources = privateLinkResourceList + } else { + cluster.PrivateLinkResources = nil + } + + // ProvisioningState + cluster.ProvisioningState = genruntime.ClonePointerToString(source.ProvisioningState) + + // PublicNetworkAccess + if source.PublicNetworkAccess != nil { + publicNetworkAccess := *source.PublicNetworkAccess + publicNetworkAccessTemp := genruntime.ToEnum(publicNetworkAccess, managedClusterProperties_PublicNetworkAccess_STATUS_Values) + cluster.PublicNetworkAccess = &publicNetworkAccessTemp + } else { + cluster.PublicNetworkAccess = nil + } + + // ResourceUID + cluster.ResourceUID = genruntime.ClonePointerToString(source.ResourceUID) + + // SecurityProfile + if source.SecurityProfile != nil { + var securityProfile ManagedClusterSecurityProfile_STATUS + err := securityProfile.AssignProperties_From_ManagedClusterSecurityProfile_STATUS(source.SecurityProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterSecurityProfile_STATUS() to populate field SecurityProfile") + } + cluster.SecurityProfile = &securityProfile + } else { + cluster.SecurityProfile = nil + } + + // ServiceMeshProfile + if source.ServiceMeshProfile != nil { + var serviceMeshProfile ServiceMeshProfile_STATUS + err := serviceMeshProfile.AssignProperties_From_ServiceMeshProfile_STATUS(source.ServiceMeshProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ServiceMeshProfile_STATUS() to populate field ServiceMeshProfile") + } + cluster.ServiceMeshProfile = &serviceMeshProfile + } else { + cluster.ServiceMeshProfile = nil + } + + // ServicePrincipalProfile + if source.ServicePrincipalProfile != nil { + var servicePrincipalProfile ManagedClusterServicePrincipalProfile_STATUS + err := servicePrincipalProfile.AssignProperties_From_ManagedClusterServicePrincipalProfile_STATUS(source.ServicePrincipalProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterServicePrincipalProfile_STATUS() to populate field ServicePrincipalProfile") + } + cluster.ServicePrincipalProfile = &servicePrincipalProfile + } else { + cluster.ServicePrincipalProfile = nil + } + + // Sku + if source.Sku != nil { + var sku ManagedClusterSKU_STATUS + err := sku.AssignProperties_From_ManagedClusterSKU_STATUS(source.Sku) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterSKU_STATUS() to populate field Sku") + } + cluster.Sku = &sku + } else { + cluster.Sku = nil + } + + // StorageProfile + if source.StorageProfile != nil { + var storageProfile ManagedClusterStorageProfile_STATUS + err := storageProfile.AssignProperties_From_ManagedClusterStorageProfile_STATUS(source.StorageProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterStorageProfile_STATUS() to populate field StorageProfile") + } + cluster.StorageProfile = &storageProfile + } else { + cluster.StorageProfile = nil + } + + // SupportPlan + if source.SupportPlan != nil { + supportPlan := *source.SupportPlan + supportPlanTemp := genruntime.ToEnum(supportPlan, kubernetesSupportPlan_STATUS_Values) + cluster.SupportPlan = &supportPlanTemp + } else { + cluster.SupportPlan = nil + } + + // SystemData + if source.SystemData != nil { + var systemDatum SystemData_STATUS + err := systemDatum.AssignProperties_From_SystemData_STATUS(source.SystemData) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_SystemData_STATUS() to populate field SystemData") + } + cluster.SystemData = &systemDatum + } else { + cluster.SystemData = nil + } + + // Tags + cluster.Tags = genruntime.CloneMapOfStringToString(source.Tags) + + // Type + cluster.Type = genruntime.ClonePointerToString(source.Type) + + // UpgradeSettings + if source.UpgradeSettings != nil { + var upgradeSetting ClusterUpgradeSettings_STATUS + err := upgradeSetting.AssignProperties_From_ClusterUpgradeSettings_STATUS(source.UpgradeSettings) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ClusterUpgradeSettings_STATUS() to populate field UpgradeSettings") + } + cluster.UpgradeSettings = &upgradeSetting + } else { + cluster.UpgradeSettings = nil + } + + // WindowsProfile + if source.WindowsProfile != nil { + var windowsProfile ManagedClusterWindowsProfile_STATUS + err := windowsProfile.AssignProperties_From_ManagedClusterWindowsProfile_STATUS(source.WindowsProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterWindowsProfile_STATUS() to populate field WindowsProfile") + } + cluster.WindowsProfile = &windowsProfile + } else { + cluster.WindowsProfile = nil + } + + // WorkloadAutoScalerProfile + if source.WorkloadAutoScalerProfile != nil { + var workloadAutoScalerProfile ManagedClusterWorkloadAutoScalerProfile_STATUS + err := workloadAutoScalerProfile.AssignProperties_From_ManagedClusterWorkloadAutoScalerProfile_STATUS(source.WorkloadAutoScalerProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterWorkloadAutoScalerProfile_STATUS() to populate field WorkloadAutoScalerProfile") + } + cluster.WorkloadAutoScalerProfile = &workloadAutoScalerProfile + } else { + cluster.WorkloadAutoScalerProfile = nil + } + + // No error + return nil +} + +// AssignProperties_To_ManagedCluster_STATUS populates the provided destination ManagedCluster_STATUS from our ManagedCluster_STATUS +func (cluster *ManagedCluster_STATUS) AssignProperties_To_ManagedCluster_STATUS(destination *storage.ManagedCluster_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // AadProfile + if cluster.AadProfile != nil { + var aadProfile storage.ManagedClusterAADProfile_STATUS + err := cluster.AadProfile.AssignProperties_To_ManagedClusterAADProfile_STATUS(&aadProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterAADProfile_STATUS() to populate field AadProfile") + } + destination.AadProfile = &aadProfile + } else { + destination.AadProfile = nil + } + + // AddonProfiles + if cluster.AddonProfiles != nil { + addonProfileMap := make(map[string]storage.ManagedClusterAddonProfile_STATUS, len(cluster.AddonProfiles)) + for addonProfileKey, addonProfileValue := range cluster.AddonProfiles { + // Shadow the loop variable to avoid aliasing + addonProfileValue := addonProfileValue + var addonProfile storage.ManagedClusterAddonProfile_STATUS + err := addonProfileValue.AssignProperties_To_ManagedClusterAddonProfile_STATUS(&addonProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterAddonProfile_STATUS() to populate field AddonProfiles") + } + addonProfileMap[addonProfileKey] = addonProfile + } + destination.AddonProfiles = addonProfileMap + } else { + destination.AddonProfiles = nil + } + + // AgentPoolProfiles + if cluster.AgentPoolProfiles != nil { + agentPoolProfileList := make([]storage.ManagedClusterAgentPoolProfile_STATUS, len(cluster.AgentPoolProfiles)) + for agentPoolProfileIndex, agentPoolProfileItem := range cluster.AgentPoolProfiles { + // Shadow the loop variable to avoid aliasing + agentPoolProfileItem := agentPoolProfileItem + var agentPoolProfile storage.ManagedClusterAgentPoolProfile_STATUS + err := agentPoolProfileItem.AssignProperties_To_ManagedClusterAgentPoolProfile_STATUS(&agentPoolProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterAgentPoolProfile_STATUS() to populate field AgentPoolProfiles") + } + agentPoolProfileList[agentPoolProfileIndex] = agentPoolProfile + } + destination.AgentPoolProfiles = agentPoolProfileList + } else { + destination.AgentPoolProfiles = nil + } + + // ApiServerAccessProfile + if cluster.ApiServerAccessProfile != nil { + var apiServerAccessProfile storage.ManagedClusterAPIServerAccessProfile_STATUS + err := cluster.ApiServerAccessProfile.AssignProperties_To_ManagedClusterAPIServerAccessProfile_STATUS(&apiServerAccessProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterAPIServerAccessProfile_STATUS() to populate field ApiServerAccessProfile") + } + destination.ApiServerAccessProfile = &apiServerAccessProfile + } else { + destination.ApiServerAccessProfile = nil + } + + // AutoScalerProfile + if cluster.AutoScalerProfile != nil { + var autoScalerProfile storage.ManagedClusterProperties_AutoScalerProfile_STATUS + err := cluster.AutoScalerProfile.AssignProperties_To_ManagedClusterProperties_AutoScalerProfile_STATUS(&autoScalerProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterProperties_AutoScalerProfile_STATUS() to populate field AutoScalerProfile") + } + destination.AutoScalerProfile = &autoScalerProfile + } else { + destination.AutoScalerProfile = nil + } + + // AutoUpgradeProfile + if cluster.AutoUpgradeProfile != nil { + var autoUpgradeProfile storage.ManagedClusterAutoUpgradeProfile_STATUS + err := cluster.AutoUpgradeProfile.AssignProperties_To_ManagedClusterAutoUpgradeProfile_STATUS(&autoUpgradeProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterAutoUpgradeProfile_STATUS() to populate field AutoUpgradeProfile") + } + destination.AutoUpgradeProfile = &autoUpgradeProfile + } else { + destination.AutoUpgradeProfile = nil + } + + // AzureMonitorProfile + if cluster.AzureMonitorProfile != nil { + var azureMonitorProfile storage.ManagedClusterAzureMonitorProfile_STATUS + err := cluster.AzureMonitorProfile.AssignProperties_To_ManagedClusterAzureMonitorProfile_STATUS(&azureMonitorProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterAzureMonitorProfile_STATUS() to populate field AzureMonitorProfile") + } + destination.AzureMonitorProfile = &azureMonitorProfile + } else { + destination.AzureMonitorProfile = nil + } + + // AzurePortalFQDN + destination.AzurePortalFQDN = genruntime.ClonePointerToString(cluster.AzurePortalFQDN) + + // Conditions + destination.Conditions = genruntime.CloneSliceOfCondition(cluster.Conditions) + + // CurrentKubernetesVersion + destination.CurrentKubernetesVersion = genruntime.ClonePointerToString(cluster.CurrentKubernetesVersion) + + // DisableLocalAccounts + if cluster.DisableLocalAccounts != nil { + disableLocalAccount := *cluster.DisableLocalAccounts + destination.DisableLocalAccounts = &disableLocalAccount + } else { + destination.DisableLocalAccounts = nil + } + + // DiskEncryptionSetID + destination.DiskEncryptionSetID = genruntime.ClonePointerToString(cluster.DiskEncryptionSetID) + + // DnsPrefix + destination.DnsPrefix = genruntime.ClonePointerToString(cluster.DnsPrefix) + + // ETag + destination.ETag = genruntime.ClonePointerToString(cluster.ETag) + + // EnablePodSecurityPolicy + if cluster.EnablePodSecurityPolicy != nil { + enablePodSecurityPolicy := *cluster.EnablePodSecurityPolicy + destination.EnablePodSecurityPolicy = &enablePodSecurityPolicy + } else { + destination.EnablePodSecurityPolicy = nil + } + + // EnableRBAC + if cluster.EnableRBAC != nil { + enableRBAC := *cluster.EnableRBAC + destination.EnableRBAC = &enableRBAC + } else { + destination.EnableRBAC = nil + } + + // ExtendedLocation + if cluster.ExtendedLocation != nil { + var extendedLocation storage.ExtendedLocation_STATUS + err := cluster.ExtendedLocation.AssignProperties_To_ExtendedLocation_STATUS(&extendedLocation) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ExtendedLocation_STATUS() to populate field ExtendedLocation") + } + destination.ExtendedLocation = &extendedLocation + } else { + destination.ExtendedLocation = nil + } + + // Fqdn + destination.Fqdn = genruntime.ClonePointerToString(cluster.Fqdn) + + // FqdnSubdomain + destination.FqdnSubdomain = genruntime.ClonePointerToString(cluster.FqdnSubdomain) + + // HttpProxyConfig + if cluster.HttpProxyConfig != nil { + var httpProxyConfig storage.ManagedClusterHTTPProxyConfig_STATUS + err := cluster.HttpProxyConfig.AssignProperties_To_ManagedClusterHTTPProxyConfig_STATUS(&httpProxyConfig) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterHTTPProxyConfig_STATUS() to populate field HttpProxyConfig") + } + destination.HttpProxyConfig = &httpProxyConfig + } else { + destination.HttpProxyConfig = nil + } + + // Id + destination.Id = genruntime.ClonePointerToString(cluster.Id) + + // Identity + if cluster.Identity != nil { + var identity storage.ManagedClusterIdentity_STATUS + err := cluster.Identity.AssignProperties_To_ManagedClusterIdentity_STATUS(&identity) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterIdentity_STATUS() to populate field Identity") + } + destination.Identity = &identity + } else { + destination.Identity = nil + } + + // IdentityProfile + if cluster.IdentityProfile != nil { + identityProfileMap := make(map[string]storage.UserAssignedIdentity_STATUS, len(cluster.IdentityProfile)) + for identityProfileKey, identityProfileValue := range cluster.IdentityProfile { + // Shadow the loop variable to avoid aliasing + identityProfileValue := identityProfileValue + var identityProfile storage.UserAssignedIdentity_STATUS + err := identityProfileValue.AssignProperties_To_UserAssignedIdentity_STATUS(&identityProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_UserAssignedIdentity_STATUS() to populate field IdentityProfile") + } + identityProfileMap[identityProfileKey] = identityProfile + } + destination.IdentityProfile = identityProfileMap + } else { + destination.IdentityProfile = nil + } + + // IngressProfile + if cluster.IngressProfile != nil { + var ingressProfile storage.ManagedClusterIngressProfile_STATUS + err := cluster.IngressProfile.AssignProperties_To_ManagedClusterIngressProfile_STATUS(&ingressProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterIngressProfile_STATUS() to populate field IngressProfile") + } + destination.IngressProfile = &ingressProfile + } else { + destination.IngressProfile = nil + } + + // KubernetesVersion + destination.KubernetesVersion = genruntime.ClonePointerToString(cluster.KubernetesVersion) + + // LinuxProfile + if cluster.LinuxProfile != nil { + var linuxProfile storage.ContainerServiceLinuxProfile_STATUS + err := cluster.LinuxProfile.AssignProperties_To_ContainerServiceLinuxProfile_STATUS(&linuxProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ContainerServiceLinuxProfile_STATUS() to populate field LinuxProfile") + } + destination.LinuxProfile = &linuxProfile + } else { + destination.LinuxProfile = nil + } + + // Location + destination.Location = genruntime.ClonePointerToString(cluster.Location) + + // MaxAgentPools + destination.MaxAgentPools = genruntime.ClonePointerToInt(cluster.MaxAgentPools) + + // MetricsProfile + if cluster.MetricsProfile != nil { + var metricsProfile storage.ManagedClusterMetricsProfile_STATUS + err := cluster.MetricsProfile.AssignProperties_To_ManagedClusterMetricsProfile_STATUS(&metricsProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterMetricsProfile_STATUS() to populate field MetricsProfile") + } + destination.MetricsProfile = &metricsProfile + } else { + destination.MetricsProfile = nil + } + + // Name + destination.Name = genruntime.ClonePointerToString(cluster.Name) + + // NetworkProfile + if cluster.NetworkProfile != nil { + var networkProfile storage.ContainerServiceNetworkProfile_STATUS + err := cluster.NetworkProfile.AssignProperties_To_ContainerServiceNetworkProfile_STATUS(&networkProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ContainerServiceNetworkProfile_STATUS() to populate field NetworkProfile") + } + destination.NetworkProfile = &networkProfile + } else { + destination.NetworkProfile = nil + } + + // NodeResourceGroup + destination.NodeResourceGroup = genruntime.ClonePointerToString(cluster.NodeResourceGroup) + + // NodeResourceGroupProfile + if cluster.NodeResourceGroupProfile != nil { + var nodeResourceGroupProfile storage.ManagedClusterNodeResourceGroupProfile_STATUS + err := cluster.NodeResourceGroupProfile.AssignProperties_To_ManagedClusterNodeResourceGroupProfile_STATUS(&nodeResourceGroupProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterNodeResourceGroupProfile_STATUS() to populate field NodeResourceGroupProfile") + } + destination.NodeResourceGroupProfile = &nodeResourceGroupProfile + } else { + destination.NodeResourceGroupProfile = nil + } + + // OidcIssuerProfile + if cluster.OidcIssuerProfile != nil { + var oidcIssuerProfile storage.ManagedClusterOIDCIssuerProfile_STATUS + err := cluster.OidcIssuerProfile.AssignProperties_To_ManagedClusterOIDCIssuerProfile_STATUS(&oidcIssuerProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterOIDCIssuerProfile_STATUS() to populate field OidcIssuerProfile") + } + destination.OidcIssuerProfile = &oidcIssuerProfile + } else { + destination.OidcIssuerProfile = nil + } + + // PodIdentityProfile + if cluster.PodIdentityProfile != nil { + var podIdentityProfile storage.ManagedClusterPodIdentityProfile_STATUS + err := cluster.PodIdentityProfile.AssignProperties_To_ManagedClusterPodIdentityProfile_STATUS(&podIdentityProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterPodIdentityProfile_STATUS() to populate field PodIdentityProfile") + } + destination.PodIdentityProfile = &podIdentityProfile + } else { + destination.PodIdentityProfile = nil + } + + // PowerState + if cluster.PowerState != nil { + var powerState storage.PowerState_STATUS + err := cluster.PowerState.AssignProperties_To_PowerState_STATUS(&powerState) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_PowerState_STATUS() to populate field PowerState") + } + destination.PowerState = &powerState + } else { + destination.PowerState = nil + } + + // PrivateFQDN + destination.PrivateFQDN = genruntime.ClonePointerToString(cluster.PrivateFQDN) + + // PrivateLinkResources + if cluster.PrivateLinkResources != nil { + privateLinkResourceList := make([]storage.PrivateLinkResource_STATUS, len(cluster.PrivateLinkResources)) + for privateLinkResourceIndex, privateLinkResourceItem := range cluster.PrivateLinkResources { + // Shadow the loop variable to avoid aliasing + privateLinkResourceItem := privateLinkResourceItem + var privateLinkResource storage.PrivateLinkResource_STATUS + err := privateLinkResourceItem.AssignProperties_To_PrivateLinkResource_STATUS(&privateLinkResource) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_PrivateLinkResource_STATUS() to populate field PrivateLinkResources") + } + privateLinkResourceList[privateLinkResourceIndex] = privateLinkResource + } + destination.PrivateLinkResources = privateLinkResourceList + } else { + destination.PrivateLinkResources = nil + } + + // ProvisioningState + destination.ProvisioningState = genruntime.ClonePointerToString(cluster.ProvisioningState) + + // PublicNetworkAccess + if cluster.PublicNetworkAccess != nil { + publicNetworkAccess := string(*cluster.PublicNetworkAccess) + destination.PublicNetworkAccess = &publicNetworkAccess + } else { + destination.PublicNetworkAccess = nil + } + + // ResourceUID + destination.ResourceUID = genruntime.ClonePointerToString(cluster.ResourceUID) + + // SecurityProfile + if cluster.SecurityProfile != nil { + var securityProfile storage.ManagedClusterSecurityProfile_STATUS + err := cluster.SecurityProfile.AssignProperties_To_ManagedClusterSecurityProfile_STATUS(&securityProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterSecurityProfile_STATUS() to populate field SecurityProfile") + } + destination.SecurityProfile = &securityProfile + } else { + destination.SecurityProfile = nil + } + + // ServiceMeshProfile + if cluster.ServiceMeshProfile != nil { + var serviceMeshProfile storage.ServiceMeshProfile_STATUS + err := cluster.ServiceMeshProfile.AssignProperties_To_ServiceMeshProfile_STATUS(&serviceMeshProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ServiceMeshProfile_STATUS() to populate field ServiceMeshProfile") + } + destination.ServiceMeshProfile = &serviceMeshProfile + } else { + destination.ServiceMeshProfile = nil + } + + // ServicePrincipalProfile + if cluster.ServicePrincipalProfile != nil { + var servicePrincipalProfile storage.ManagedClusterServicePrincipalProfile_STATUS + err := cluster.ServicePrincipalProfile.AssignProperties_To_ManagedClusterServicePrincipalProfile_STATUS(&servicePrincipalProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterServicePrincipalProfile_STATUS() to populate field ServicePrincipalProfile") + } + destination.ServicePrincipalProfile = &servicePrincipalProfile + } else { + destination.ServicePrincipalProfile = nil + } + + // Sku + if cluster.Sku != nil { + var sku storage.ManagedClusterSKU_STATUS + err := cluster.Sku.AssignProperties_To_ManagedClusterSKU_STATUS(&sku) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterSKU_STATUS() to populate field Sku") + } + destination.Sku = &sku + } else { + destination.Sku = nil + } + + // StorageProfile + if cluster.StorageProfile != nil { + var storageProfile storage.ManagedClusterStorageProfile_STATUS + err := cluster.StorageProfile.AssignProperties_To_ManagedClusterStorageProfile_STATUS(&storageProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterStorageProfile_STATUS() to populate field StorageProfile") + } + destination.StorageProfile = &storageProfile + } else { + destination.StorageProfile = nil + } + + // SupportPlan + if cluster.SupportPlan != nil { + supportPlan := string(*cluster.SupportPlan) + destination.SupportPlan = &supportPlan + } else { + destination.SupportPlan = nil + } + + // SystemData + if cluster.SystemData != nil { + var systemDatum storage.SystemData_STATUS + err := cluster.SystemData.AssignProperties_To_SystemData_STATUS(&systemDatum) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_SystemData_STATUS() to populate field SystemData") + } + destination.SystemData = &systemDatum + } else { + destination.SystemData = nil + } + + // Tags + destination.Tags = genruntime.CloneMapOfStringToString(cluster.Tags) + + // Type + destination.Type = genruntime.ClonePointerToString(cluster.Type) + + // UpgradeSettings + if cluster.UpgradeSettings != nil { + var upgradeSetting storage.ClusterUpgradeSettings_STATUS + err := cluster.UpgradeSettings.AssignProperties_To_ClusterUpgradeSettings_STATUS(&upgradeSetting) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ClusterUpgradeSettings_STATUS() to populate field UpgradeSettings") + } + destination.UpgradeSettings = &upgradeSetting + } else { + destination.UpgradeSettings = nil + } + + // WindowsProfile + if cluster.WindowsProfile != nil { + var windowsProfile storage.ManagedClusterWindowsProfile_STATUS + err := cluster.WindowsProfile.AssignProperties_To_ManagedClusterWindowsProfile_STATUS(&windowsProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterWindowsProfile_STATUS() to populate field WindowsProfile") + } + destination.WindowsProfile = &windowsProfile + } else { + destination.WindowsProfile = nil + } + + // WorkloadAutoScalerProfile + if cluster.WorkloadAutoScalerProfile != nil { + var workloadAutoScalerProfile storage.ManagedClusterWorkloadAutoScalerProfile_STATUS + err := cluster.WorkloadAutoScalerProfile.AssignProperties_To_ManagedClusterWorkloadAutoScalerProfile_STATUS(&workloadAutoScalerProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterWorkloadAutoScalerProfile_STATUS() to populate field WorkloadAutoScalerProfile") + } + destination.WorkloadAutoScalerProfile = &workloadAutoScalerProfile + } else { + destination.WorkloadAutoScalerProfile = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Settings for upgrading a cluster. +type ClusterUpgradeSettings struct { + // OverrideSettings: Settings for overrides. + OverrideSettings *UpgradeOverrideSettings `json:"overrideSettings,omitempty"` +} + +var _ genruntime.ARMTransformer = &ClusterUpgradeSettings{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (settings *ClusterUpgradeSettings) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if settings == nil { + return nil, nil + } + result := &arm.ClusterUpgradeSettings{} + + // Set property "OverrideSettings": + if settings.OverrideSettings != nil { + overrideSettings_ARM, err := (*settings.OverrideSettings).ConvertToARM(resolved) + if err != nil { + return nil, err + } + overrideSettings := *overrideSettings_ARM.(*arm.UpgradeOverrideSettings) + result.OverrideSettings = &overrideSettings + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (settings *ClusterUpgradeSettings) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ClusterUpgradeSettings{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (settings *ClusterUpgradeSettings) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ClusterUpgradeSettings) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ClusterUpgradeSettings, got %T", armInput) + } + + // Set property "OverrideSettings": + if typedInput.OverrideSettings != nil { + var overrideSettings1 UpgradeOverrideSettings + err := overrideSettings1.PopulateFromARM(owner, *typedInput.OverrideSettings) + if err != nil { + return err + } + overrideSettings := overrideSettings1 + settings.OverrideSettings = &overrideSettings + } + + // No error + return nil +} + +// AssignProperties_From_ClusterUpgradeSettings populates our ClusterUpgradeSettings from the provided source ClusterUpgradeSettings +func (settings *ClusterUpgradeSettings) AssignProperties_From_ClusterUpgradeSettings(source *storage.ClusterUpgradeSettings) error { + + // OverrideSettings + if source.OverrideSettings != nil { + var overrideSetting UpgradeOverrideSettings + err := overrideSetting.AssignProperties_From_UpgradeOverrideSettings(source.OverrideSettings) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_UpgradeOverrideSettings() to populate field OverrideSettings") + } + settings.OverrideSettings = &overrideSetting + } else { + settings.OverrideSettings = nil + } + + // No error + return nil +} + +// AssignProperties_To_ClusterUpgradeSettings populates the provided destination ClusterUpgradeSettings from our ClusterUpgradeSettings +func (settings *ClusterUpgradeSettings) AssignProperties_To_ClusterUpgradeSettings(destination *storage.ClusterUpgradeSettings) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // OverrideSettings + if settings.OverrideSettings != nil { + var overrideSetting storage.UpgradeOverrideSettings + err := settings.OverrideSettings.AssignProperties_To_UpgradeOverrideSettings(&overrideSetting) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_UpgradeOverrideSettings() to populate field OverrideSettings") + } + destination.OverrideSettings = &overrideSetting + } else { + destination.OverrideSettings = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_ClusterUpgradeSettings_STATUS populates our ClusterUpgradeSettings from the provided source ClusterUpgradeSettings_STATUS +func (settings *ClusterUpgradeSettings) Initialize_From_ClusterUpgradeSettings_STATUS(source *ClusterUpgradeSettings_STATUS) error { + + // OverrideSettings + if source.OverrideSettings != nil { + var overrideSetting UpgradeOverrideSettings + err := overrideSetting.Initialize_From_UpgradeOverrideSettings_STATUS(source.OverrideSettings) + if err != nil { + return errors.Wrap(err, "calling Initialize_From_UpgradeOverrideSettings_STATUS() to populate field OverrideSettings") + } + settings.OverrideSettings = &overrideSetting + } else { + settings.OverrideSettings = nil + } + + // No error + return nil +} + +// Settings for upgrading a cluster. +type ClusterUpgradeSettings_STATUS struct { + // OverrideSettings: Settings for overrides. + OverrideSettings *UpgradeOverrideSettings_STATUS `json:"overrideSettings,omitempty"` +} + +var _ genruntime.FromARMConverter = &ClusterUpgradeSettings_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (settings *ClusterUpgradeSettings_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ClusterUpgradeSettings_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (settings *ClusterUpgradeSettings_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ClusterUpgradeSettings_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ClusterUpgradeSettings_STATUS, got %T", armInput) + } + + // Set property "OverrideSettings": + if typedInput.OverrideSettings != nil { + var overrideSettings1 UpgradeOverrideSettings_STATUS + err := overrideSettings1.PopulateFromARM(owner, *typedInput.OverrideSettings) + if err != nil { + return err + } + overrideSettings := overrideSettings1 + settings.OverrideSettings = &overrideSettings + } + + // No error + return nil +} + +// AssignProperties_From_ClusterUpgradeSettings_STATUS populates our ClusterUpgradeSettings_STATUS from the provided source ClusterUpgradeSettings_STATUS +func (settings *ClusterUpgradeSettings_STATUS) AssignProperties_From_ClusterUpgradeSettings_STATUS(source *storage.ClusterUpgradeSettings_STATUS) error { + + // OverrideSettings + if source.OverrideSettings != nil { + var overrideSetting UpgradeOverrideSettings_STATUS + err := overrideSetting.AssignProperties_From_UpgradeOverrideSettings_STATUS(source.OverrideSettings) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_UpgradeOverrideSettings_STATUS() to populate field OverrideSettings") + } + settings.OverrideSettings = &overrideSetting + } else { + settings.OverrideSettings = nil + } + + // No error + return nil +} + +// AssignProperties_To_ClusterUpgradeSettings_STATUS populates the provided destination ClusterUpgradeSettings_STATUS from our ClusterUpgradeSettings_STATUS +func (settings *ClusterUpgradeSettings_STATUS) AssignProperties_To_ClusterUpgradeSettings_STATUS(destination *storage.ClusterUpgradeSettings_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // OverrideSettings + if settings.OverrideSettings != nil { + var overrideSetting storage.UpgradeOverrideSettings_STATUS + err := settings.OverrideSettings.AssignProperties_To_UpgradeOverrideSettings_STATUS(&overrideSetting) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_UpgradeOverrideSettings_STATUS() to populate field OverrideSettings") + } + destination.OverrideSettings = &overrideSetting + } else { + destination.OverrideSettings = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Profile for Linux VMs in the container service cluster. +type ContainerServiceLinuxProfile struct { + // +kubebuilder:validation:Required + // +kubebuilder:validation:Pattern="^[A-Za-z][-A-Za-z0-9_]*$" + // AdminUsername: The administrator username to use for Linux VMs. + AdminUsername *string `json:"adminUsername,omitempty"` + + // +kubebuilder:validation:Required + // Ssh: The SSH configuration for Linux-based VMs running on Azure. + Ssh *ContainerServiceSshConfiguration `json:"ssh,omitempty"` +} + +var _ genruntime.ARMTransformer = &ContainerServiceLinuxProfile{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (profile *ContainerServiceLinuxProfile) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if profile == nil { + return nil, nil + } + result := &arm.ContainerServiceLinuxProfile{} + + // Set property "AdminUsername": + if profile.AdminUsername != nil { + adminUsername := *profile.AdminUsername + result.AdminUsername = &adminUsername + } + + // Set property "Ssh": + if profile.Ssh != nil { + ssh_ARM, err := (*profile.Ssh).ConvertToARM(resolved) + if err != nil { + return nil, err + } + ssh := *ssh_ARM.(*arm.ContainerServiceSshConfiguration) + result.Ssh = &ssh + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (profile *ContainerServiceLinuxProfile) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ContainerServiceLinuxProfile{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (profile *ContainerServiceLinuxProfile) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ContainerServiceLinuxProfile) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ContainerServiceLinuxProfile, got %T", armInput) + } + + // Set property "AdminUsername": + if typedInput.AdminUsername != nil { + adminUsername := *typedInput.AdminUsername + profile.AdminUsername = &adminUsername + } + + // Set property "Ssh": + if typedInput.Ssh != nil { + var ssh1 ContainerServiceSshConfiguration + err := ssh1.PopulateFromARM(owner, *typedInput.Ssh) + if err != nil { + return err + } + ssh := ssh1 + profile.Ssh = &ssh + } + + // No error + return nil +} + +// AssignProperties_From_ContainerServiceLinuxProfile populates our ContainerServiceLinuxProfile from the provided source ContainerServiceLinuxProfile +func (profile *ContainerServiceLinuxProfile) AssignProperties_From_ContainerServiceLinuxProfile(source *storage.ContainerServiceLinuxProfile) error { + + // AdminUsername + if source.AdminUsername != nil { + adminUsername := *source.AdminUsername + profile.AdminUsername = &adminUsername + } else { + profile.AdminUsername = nil + } + + // Ssh + if source.Ssh != nil { + var ssh ContainerServiceSshConfiguration + err := ssh.AssignProperties_From_ContainerServiceSshConfiguration(source.Ssh) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ContainerServiceSshConfiguration() to populate field Ssh") + } + profile.Ssh = &ssh + } else { + profile.Ssh = nil + } + + // No error + return nil +} + +// AssignProperties_To_ContainerServiceLinuxProfile populates the provided destination ContainerServiceLinuxProfile from our ContainerServiceLinuxProfile +func (profile *ContainerServiceLinuxProfile) AssignProperties_To_ContainerServiceLinuxProfile(destination *storage.ContainerServiceLinuxProfile) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // AdminUsername + if profile.AdminUsername != nil { + adminUsername := *profile.AdminUsername + destination.AdminUsername = &adminUsername + } else { + destination.AdminUsername = nil + } + + // Ssh + if profile.Ssh != nil { + var ssh storage.ContainerServiceSshConfiguration + err := profile.Ssh.AssignProperties_To_ContainerServiceSshConfiguration(&ssh) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ContainerServiceSshConfiguration() to populate field Ssh") + } + destination.Ssh = &ssh + } else { + destination.Ssh = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_ContainerServiceLinuxProfile_STATUS populates our ContainerServiceLinuxProfile from the provided source ContainerServiceLinuxProfile_STATUS +func (profile *ContainerServiceLinuxProfile) Initialize_From_ContainerServiceLinuxProfile_STATUS(source *ContainerServiceLinuxProfile_STATUS) error { + + // AdminUsername + if source.AdminUsername != nil { + adminUsername := *source.AdminUsername + profile.AdminUsername = &adminUsername + } else { + profile.AdminUsername = nil + } + + // Ssh + if source.Ssh != nil { + var ssh ContainerServiceSshConfiguration + err := ssh.Initialize_From_ContainerServiceSshConfiguration_STATUS(source.Ssh) + if err != nil { + return errors.Wrap(err, "calling Initialize_From_ContainerServiceSshConfiguration_STATUS() to populate field Ssh") + } + profile.Ssh = &ssh + } else { + profile.Ssh = nil + } + + // No error + return nil +} + +// Profile for Linux VMs in the container service cluster. +type ContainerServiceLinuxProfile_STATUS struct { + // AdminUsername: The administrator username to use for Linux VMs. + AdminUsername *string `json:"adminUsername,omitempty"` + + // Ssh: The SSH configuration for Linux-based VMs running on Azure. + Ssh *ContainerServiceSshConfiguration_STATUS `json:"ssh,omitempty"` +} + +var _ genruntime.FromARMConverter = &ContainerServiceLinuxProfile_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (profile *ContainerServiceLinuxProfile_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ContainerServiceLinuxProfile_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (profile *ContainerServiceLinuxProfile_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ContainerServiceLinuxProfile_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ContainerServiceLinuxProfile_STATUS, got %T", armInput) + } + + // Set property "AdminUsername": + if typedInput.AdminUsername != nil { + adminUsername := *typedInput.AdminUsername + profile.AdminUsername = &adminUsername + } + + // Set property "Ssh": + if typedInput.Ssh != nil { + var ssh1 ContainerServiceSshConfiguration_STATUS + err := ssh1.PopulateFromARM(owner, *typedInput.Ssh) + if err != nil { + return err + } + ssh := ssh1 + profile.Ssh = &ssh + } + + // No error + return nil +} + +// AssignProperties_From_ContainerServiceLinuxProfile_STATUS populates our ContainerServiceLinuxProfile_STATUS from the provided source ContainerServiceLinuxProfile_STATUS +func (profile *ContainerServiceLinuxProfile_STATUS) AssignProperties_From_ContainerServiceLinuxProfile_STATUS(source *storage.ContainerServiceLinuxProfile_STATUS) error { + + // AdminUsername + profile.AdminUsername = genruntime.ClonePointerToString(source.AdminUsername) + + // Ssh + if source.Ssh != nil { + var ssh ContainerServiceSshConfiguration_STATUS + err := ssh.AssignProperties_From_ContainerServiceSshConfiguration_STATUS(source.Ssh) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ContainerServiceSshConfiguration_STATUS() to populate field Ssh") + } + profile.Ssh = &ssh + } else { + profile.Ssh = nil + } + + // No error + return nil +} + +// AssignProperties_To_ContainerServiceLinuxProfile_STATUS populates the provided destination ContainerServiceLinuxProfile_STATUS from our ContainerServiceLinuxProfile_STATUS +func (profile *ContainerServiceLinuxProfile_STATUS) AssignProperties_To_ContainerServiceLinuxProfile_STATUS(destination *storage.ContainerServiceLinuxProfile_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // AdminUsername + destination.AdminUsername = genruntime.ClonePointerToString(profile.AdminUsername) + + // Ssh + if profile.Ssh != nil { + var ssh storage.ContainerServiceSshConfiguration_STATUS + err := profile.Ssh.AssignProperties_To_ContainerServiceSshConfiguration_STATUS(&ssh) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ContainerServiceSshConfiguration_STATUS() to populate field Ssh") + } + destination.Ssh = &ssh + } else { + destination.Ssh = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Profile of network configuration. +type ContainerServiceNetworkProfile struct { + // AdvancedNetworking: Advanced Networking profile for enabling observability and security feature suite on a cluster. For + // more information see aka.ms/aksadvancednetworking. + AdvancedNetworking *AdvancedNetworking `json:"advancedNetworking,omitempty"` + + // +kubebuilder:validation:Pattern="^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$" + // DnsServiceIP: An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address + // range specified in serviceCidr. + DnsServiceIP *string `json:"dnsServiceIP,omitempty"` + + // IpFamilies: IP families are used to determine single-stack or dual-stack clusters. For single-stack, the expected value + // is IPv4. For dual-stack, the expected values are IPv4 and IPv6. + IpFamilies []ContainerServiceNetworkProfile_IpFamilies `json:"ipFamilies,omitempty"` + + // LoadBalancerProfile: Profile of the cluster load balancer. + LoadBalancerProfile *ManagedClusterLoadBalancerProfile `json:"loadBalancerProfile,omitempty"` + + // LoadBalancerSku: The default is 'standard'. See [Azure Load Balancer + // SKUs](https://docs.microsoft.com/azure/load-balancer/skus) for more information about the differences between load + // balancer SKUs. + LoadBalancerSku *ContainerServiceNetworkProfile_LoadBalancerSku `json:"loadBalancerSku,omitempty"` + + // NatGatewayProfile: Profile of the cluster NAT gateway. + NatGatewayProfile *ManagedClusterNATGatewayProfile `json:"natGatewayProfile,omitempty"` + + // NetworkDataplane: Network dataplane used in the Kubernetes cluster. + NetworkDataplane *ContainerServiceNetworkProfile_NetworkDataplane `json:"networkDataplane,omitempty"` + + // NetworkMode: This cannot be specified if networkPlugin is anything other than 'azure'. + NetworkMode *ContainerServiceNetworkProfile_NetworkMode `json:"networkMode,omitempty"` + + // NetworkPlugin: Network plugin used for building the Kubernetes network. + NetworkPlugin *ContainerServiceNetworkProfile_NetworkPlugin `json:"networkPlugin,omitempty"` + + // NetworkPluginMode: The mode the network plugin should use. + NetworkPluginMode *ContainerServiceNetworkProfile_NetworkPluginMode `json:"networkPluginMode,omitempty"` + + // NetworkPolicy: Network policy used for building the Kubernetes network. + NetworkPolicy *ContainerServiceNetworkProfile_NetworkPolicy `json:"networkPolicy,omitempty"` + + // OutboundType: This can only be set at cluster creation time and cannot be changed later. For more information see + // [egress outbound type](https://docs.microsoft.com/azure/aks/egress-outboundtype). + OutboundType *ContainerServiceNetworkProfile_OutboundType `json:"outboundType,omitempty"` + + // +kubebuilder:validation:Pattern="^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$" + // PodCidr: A CIDR notation IP range from which to assign pod IPs when kubenet is used. + PodCidr *string `json:"podCidr,omitempty"` + + // PodCidrs: One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is + // expected for dual-stack networking. + PodCidrs []string `json:"podCidrs,omitempty"` + + // +kubebuilder:validation:Pattern="^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$" + // ServiceCidr: A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP + // ranges. + ServiceCidr *string `json:"serviceCidr,omitempty"` + + // ServiceCidrs: One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is + // expected for dual-stack networking. They must not overlap with any Subnet IP ranges. + ServiceCidrs []string `json:"serviceCidrs,omitempty"` +} + +var _ genruntime.ARMTransformer = &ContainerServiceNetworkProfile{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (profile *ContainerServiceNetworkProfile) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if profile == nil { + return nil, nil + } + result := &arm.ContainerServiceNetworkProfile{} + + // Set property "AdvancedNetworking": + if profile.AdvancedNetworking != nil { + advancedNetworking_ARM, err := (*profile.AdvancedNetworking).ConvertToARM(resolved) + if err != nil { + return nil, err + } + advancedNetworking := *advancedNetworking_ARM.(*arm.AdvancedNetworking) + result.AdvancedNetworking = &advancedNetworking + } + + // Set property "DnsServiceIP": + if profile.DnsServiceIP != nil { + dnsServiceIP := *profile.DnsServiceIP + result.DnsServiceIP = &dnsServiceIP + } + + // Set property "IpFamilies": + for _, item := range profile.IpFamilies { + var temp string + temp = string(item) + result.IpFamilies = append(result.IpFamilies, arm.ContainerServiceNetworkProfile_IpFamilies(temp)) + } + + // Set property "LoadBalancerProfile": + if profile.LoadBalancerProfile != nil { + loadBalancerProfile_ARM, err := (*profile.LoadBalancerProfile).ConvertToARM(resolved) + if err != nil { + return nil, err + } + loadBalancerProfile := *loadBalancerProfile_ARM.(*arm.ManagedClusterLoadBalancerProfile) + result.LoadBalancerProfile = &loadBalancerProfile + } + + // Set property "LoadBalancerSku": + if profile.LoadBalancerSku != nil { + var temp string + temp = string(*profile.LoadBalancerSku) + loadBalancerSku := arm.ContainerServiceNetworkProfile_LoadBalancerSku(temp) + result.LoadBalancerSku = &loadBalancerSku + } + + // Set property "NatGatewayProfile": + if profile.NatGatewayProfile != nil { + natGatewayProfile_ARM, err := (*profile.NatGatewayProfile).ConvertToARM(resolved) + if err != nil { + return nil, err + } + natGatewayProfile := *natGatewayProfile_ARM.(*arm.ManagedClusterNATGatewayProfile) + result.NatGatewayProfile = &natGatewayProfile + } + + // Set property "NetworkDataplane": + if profile.NetworkDataplane != nil { + var temp string + temp = string(*profile.NetworkDataplane) + networkDataplane := arm.ContainerServiceNetworkProfile_NetworkDataplane(temp) + result.NetworkDataplane = &networkDataplane + } + + // Set property "NetworkMode": + if profile.NetworkMode != nil { + var temp string + temp = string(*profile.NetworkMode) + networkMode := arm.ContainerServiceNetworkProfile_NetworkMode(temp) + result.NetworkMode = &networkMode + } + + // Set property "NetworkPlugin": + if profile.NetworkPlugin != nil { + var temp string + temp = string(*profile.NetworkPlugin) + networkPlugin := arm.ContainerServiceNetworkProfile_NetworkPlugin(temp) + result.NetworkPlugin = &networkPlugin + } + + // Set property "NetworkPluginMode": + if profile.NetworkPluginMode != nil { + var temp string + temp = string(*profile.NetworkPluginMode) + networkPluginMode := arm.ContainerServiceNetworkProfile_NetworkPluginMode(temp) + result.NetworkPluginMode = &networkPluginMode + } + + // Set property "NetworkPolicy": + if profile.NetworkPolicy != nil { + var temp string + temp = string(*profile.NetworkPolicy) + networkPolicy := arm.ContainerServiceNetworkProfile_NetworkPolicy(temp) + result.NetworkPolicy = &networkPolicy + } + + // Set property "OutboundType": + if profile.OutboundType != nil { + var temp string + temp = string(*profile.OutboundType) + outboundType := arm.ContainerServiceNetworkProfile_OutboundType(temp) + result.OutboundType = &outboundType + } + + // Set property "PodCidr": + if profile.PodCidr != nil { + podCidr := *profile.PodCidr + result.PodCidr = &podCidr + } + + // Set property "PodCidrs": + for _, item := range profile.PodCidrs { + result.PodCidrs = append(result.PodCidrs, item) + } + + // Set property "ServiceCidr": + if profile.ServiceCidr != nil { + serviceCidr := *profile.ServiceCidr + result.ServiceCidr = &serviceCidr + } + + // Set property "ServiceCidrs": + for _, item := range profile.ServiceCidrs { + result.ServiceCidrs = append(result.ServiceCidrs, item) + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (profile *ContainerServiceNetworkProfile) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ContainerServiceNetworkProfile{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (profile *ContainerServiceNetworkProfile) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ContainerServiceNetworkProfile) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ContainerServiceNetworkProfile, got %T", armInput) + } + + // Set property "AdvancedNetworking": + if typedInput.AdvancedNetworking != nil { + var advancedNetworking1 AdvancedNetworking + err := advancedNetworking1.PopulateFromARM(owner, *typedInput.AdvancedNetworking) + if err != nil { + return err + } + advancedNetworking := advancedNetworking1 + profile.AdvancedNetworking = &advancedNetworking + } + + // Set property "DnsServiceIP": + if typedInput.DnsServiceIP != nil { + dnsServiceIP := *typedInput.DnsServiceIP + profile.DnsServiceIP = &dnsServiceIP + } + + // Set property "IpFamilies": + for _, item := range typedInput.IpFamilies { + var temp string + temp = string(item) + profile.IpFamilies = append(profile.IpFamilies, ContainerServiceNetworkProfile_IpFamilies(temp)) + } + + // Set property "LoadBalancerProfile": + if typedInput.LoadBalancerProfile != nil { + var loadBalancerProfile1 ManagedClusterLoadBalancerProfile + err := loadBalancerProfile1.PopulateFromARM(owner, *typedInput.LoadBalancerProfile) + if err != nil { + return err + } + loadBalancerProfile := loadBalancerProfile1 + profile.LoadBalancerProfile = &loadBalancerProfile + } + + // Set property "LoadBalancerSku": + if typedInput.LoadBalancerSku != nil { + var temp string + temp = string(*typedInput.LoadBalancerSku) + loadBalancerSku := ContainerServiceNetworkProfile_LoadBalancerSku(temp) + profile.LoadBalancerSku = &loadBalancerSku + } + + // Set property "NatGatewayProfile": + if typedInput.NatGatewayProfile != nil { + var natGatewayProfile1 ManagedClusterNATGatewayProfile + err := natGatewayProfile1.PopulateFromARM(owner, *typedInput.NatGatewayProfile) + if err != nil { + return err + } + natGatewayProfile := natGatewayProfile1 + profile.NatGatewayProfile = &natGatewayProfile + } + + // Set property "NetworkDataplane": + if typedInput.NetworkDataplane != nil { + var temp string + temp = string(*typedInput.NetworkDataplane) + networkDataplane := ContainerServiceNetworkProfile_NetworkDataplane(temp) + profile.NetworkDataplane = &networkDataplane + } + + // Set property "NetworkMode": + if typedInput.NetworkMode != nil { + var temp string + temp = string(*typedInput.NetworkMode) + networkMode := ContainerServiceNetworkProfile_NetworkMode(temp) + profile.NetworkMode = &networkMode + } + + // Set property "NetworkPlugin": + if typedInput.NetworkPlugin != nil { + var temp string + temp = string(*typedInput.NetworkPlugin) + networkPlugin := ContainerServiceNetworkProfile_NetworkPlugin(temp) + profile.NetworkPlugin = &networkPlugin + } + + // Set property "NetworkPluginMode": + if typedInput.NetworkPluginMode != nil { + var temp string + temp = string(*typedInput.NetworkPluginMode) + networkPluginMode := ContainerServiceNetworkProfile_NetworkPluginMode(temp) + profile.NetworkPluginMode = &networkPluginMode + } + + // Set property "NetworkPolicy": + if typedInput.NetworkPolicy != nil { + var temp string + temp = string(*typedInput.NetworkPolicy) + networkPolicy := ContainerServiceNetworkProfile_NetworkPolicy(temp) + profile.NetworkPolicy = &networkPolicy + } + + // Set property "OutboundType": + if typedInput.OutboundType != nil { + var temp string + temp = string(*typedInput.OutboundType) + outboundType := ContainerServiceNetworkProfile_OutboundType(temp) + profile.OutboundType = &outboundType + } + + // Set property "PodCidr": + if typedInput.PodCidr != nil { + podCidr := *typedInput.PodCidr + profile.PodCidr = &podCidr + } + + // Set property "PodCidrs": + for _, item := range typedInput.PodCidrs { + profile.PodCidrs = append(profile.PodCidrs, item) + } + + // Set property "ServiceCidr": + if typedInput.ServiceCidr != nil { + serviceCidr := *typedInput.ServiceCidr + profile.ServiceCidr = &serviceCidr + } + + // Set property "ServiceCidrs": + for _, item := range typedInput.ServiceCidrs { + profile.ServiceCidrs = append(profile.ServiceCidrs, item) + } + + // No error + return nil +} + +// AssignProperties_From_ContainerServiceNetworkProfile populates our ContainerServiceNetworkProfile from the provided source ContainerServiceNetworkProfile +func (profile *ContainerServiceNetworkProfile) AssignProperties_From_ContainerServiceNetworkProfile(source *storage.ContainerServiceNetworkProfile) error { + + // AdvancedNetworking + if source.AdvancedNetworking != nil { + var advancedNetworking AdvancedNetworking + err := advancedNetworking.AssignProperties_From_AdvancedNetworking(source.AdvancedNetworking) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_AdvancedNetworking() to populate field AdvancedNetworking") + } + profile.AdvancedNetworking = &advancedNetworking + } else { + profile.AdvancedNetworking = nil + } + + // DnsServiceIP + if source.DnsServiceIP != nil { + dnsServiceIP := *source.DnsServiceIP + profile.DnsServiceIP = &dnsServiceIP + } else { + profile.DnsServiceIP = nil + } + + // IpFamilies + if source.IpFamilies != nil { + ipFamilyList := make([]ContainerServiceNetworkProfile_IpFamilies, len(source.IpFamilies)) + for ipFamilyIndex, ipFamilyItem := range source.IpFamilies { + // Shadow the loop variable to avoid aliasing + ipFamilyItem := ipFamilyItem + ipFamilyList[ipFamilyIndex] = genruntime.ToEnum(ipFamilyItem, containerServiceNetworkProfile_IpFamilies_Values) + } + profile.IpFamilies = ipFamilyList + } else { + profile.IpFamilies = nil + } + + // LoadBalancerProfile + if source.LoadBalancerProfile != nil { + var loadBalancerProfile ManagedClusterLoadBalancerProfile + err := loadBalancerProfile.AssignProperties_From_ManagedClusterLoadBalancerProfile(source.LoadBalancerProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterLoadBalancerProfile() to populate field LoadBalancerProfile") + } + profile.LoadBalancerProfile = &loadBalancerProfile + } else { + profile.LoadBalancerProfile = nil + } + + // LoadBalancerSku + if source.LoadBalancerSku != nil { + loadBalancerSku := *source.LoadBalancerSku + loadBalancerSkuTemp := genruntime.ToEnum(loadBalancerSku, containerServiceNetworkProfile_LoadBalancerSku_Values) + profile.LoadBalancerSku = &loadBalancerSkuTemp + } else { + profile.LoadBalancerSku = nil + } + + // NatGatewayProfile + if source.NatGatewayProfile != nil { + var natGatewayProfile ManagedClusterNATGatewayProfile + err := natGatewayProfile.AssignProperties_From_ManagedClusterNATGatewayProfile(source.NatGatewayProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterNATGatewayProfile() to populate field NatGatewayProfile") + } + profile.NatGatewayProfile = &natGatewayProfile + } else { + profile.NatGatewayProfile = nil + } + + // NetworkDataplane + if source.NetworkDataplane != nil { + networkDataplane := *source.NetworkDataplane + networkDataplaneTemp := genruntime.ToEnum(networkDataplane, containerServiceNetworkProfile_NetworkDataplane_Values) + profile.NetworkDataplane = &networkDataplaneTemp + } else { + profile.NetworkDataplane = nil + } + + // NetworkMode + if source.NetworkMode != nil { + networkMode := *source.NetworkMode + networkModeTemp := genruntime.ToEnum(networkMode, containerServiceNetworkProfile_NetworkMode_Values) + profile.NetworkMode = &networkModeTemp + } else { + profile.NetworkMode = nil + } + + // NetworkPlugin + if source.NetworkPlugin != nil { + networkPlugin := *source.NetworkPlugin + networkPluginTemp := genruntime.ToEnum(networkPlugin, containerServiceNetworkProfile_NetworkPlugin_Values) + profile.NetworkPlugin = &networkPluginTemp + } else { + profile.NetworkPlugin = nil + } + + // NetworkPluginMode + if source.NetworkPluginMode != nil { + networkPluginMode := *source.NetworkPluginMode + networkPluginModeTemp := genruntime.ToEnum(networkPluginMode, containerServiceNetworkProfile_NetworkPluginMode_Values) + profile.NetworkPluginMode = &networkPluginModeTemp + } else { + profile.NetworkPluginMode = nil + } + + // NetworkPolicy + if source.NetworkPolicy != nil { + networkPolicy := *source.NetworkPolicy + networkPolicyTemp := genruntime.ToEnum(networkPolicy, containerServiceNetworkProfile_NetworkPolicy_Values) + profile.NetworkPolicy = &networkPolicyTemp + } else { + profile.NetworkPolicy = nil + } + + // OutboundType + if source.OutboundType != nil { + outboundType := *source.OutboundType + outboundTypeTemp := genruntime.ToEnum(outboundType, containerServiceNetworkProfile_OutboundType_Values) + profile.OutboundType = &outboundTypeTemp + } else { + profile.OutboundType = nil + } + + // PodCidr + if source.PodCidr != nil { + podCidr := *source.PodCidr + profile.PodCidr = &podCidr + } else { + profile.PodCidr = nil + } + + // PodCidrs + profile.PodCidrs = genruntime.CloneSliceOfString(source.PodCidrs) + + // ServiceCidr + if source.ServiceCidr != nil { + serviceCidr := *source.ServiceCidr + profile.ServiceCidr = &serviceCidr + } else { + profile.ServiceCidr = nil + } + + // ServiceCidrs + profile.ServiceCidrs = genruntime.CloneSliceOfString(source.ServiceCidrs) + + // No error + return nil +} + +// AssignProperties_To_ContainerServiceNetworkProfile populates the provided destination ContainerServiceNetworkProfile from our ContainerServiceNetworkProfile +func (profile *ContainerServiceNetworkProfile) AssignProperties_To_ContainerServiceNetworkProfile(destination *storage.ContainerServiceNetworkProfile) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // AdvancedNetworking + if profile.AdvancedNetworking != nil { + var advancedNetworking storage.AdvancedNetworking + err := profile.AdvancedNetworking.AssignProperties_To_AdvancedNetworking(&advancedNetworking) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_AdvancedNetworking() to populate field AdvancedNetworking") + } + destination.AdvancedNetworking = &advancedNetworking + } else { + destination.AdvancedNetworking = nil + } + + // DnsServiceIP + if profile.DnsServiceIP != nil { + dnsServiceIP := *profile.DnsServiceIP + destination.DnsServiceIP = &dnsServiceIP + } else { + destination.DnsServiceIP = nil + } + + // IpFamilies + if profile.IpFamilies != nil { + ipFamilyList := make([]string, len(profile.IpFamilies)) + for ipFamilyIndex, ipFamilyItem := range profile.IpFamilies { + // Shadow the loop variable to avoid aliasing + ipFamilyItem := ipFamilyItem + ipFamilyList[ipFamilyIndex] = string(ipFamilyItem) + } + destination.IpFamilies = ipFamilyList + } else { + destination.IpFamilies = nil + } + + // LoadBalancerProfile + if profile.LoadBalancerProfile != nil { + var loadBalancerProfile storage.ManagedClusterLoadBalancerProfile + err := profile.LoadBalancerProfile.AssignProperties_To_ManagedClusterLoadBalancerProfile(&loadBalancerProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterLoadBalancerProfile() to populate field LoadBalancerProfile") + } + destination.LoadBalancerProfile = &loadBalancerProfile + } else { + destination.LoadBalancerProfile = nil + } + + // LoadBalancerSku + if profile.LoadBalancerSku != nil { + loadBalancerSku := string(*profile.LoadBalancerSku) + destination.LoadBalancerSku = &loadBalancerSku + } else { + destination.LoadBalancerSku = nil + } + + // NatGatewayProfile + if profile.NatGatewayProfile != nil { + var natGatewayProfile storage.ManagedClusterNATGatewayProfile + err := profile.NatGatewayProfile.AssignProperties_To_ManagedClusterNATGatewayProfile(&natGatewayProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterNATGatewayProfile() to populate field NatGatewayProfile") + } + destination.NatGatewayProfile = &natGatewayProfile + } else { + destination.NatGatewayProfile = nil + } + + // NetworkDataplane + if profile.NetworkDataplane != nil { + networkDataplane := string(*profile.NetworkDataplane) + destination.NetworkDataplane = &networkDataplane + } else { + destination.NetworkDataplane = nil + } + + // NetworkMode + if profile.NetworkMode != nil { + networkMode := string(*profile.NetworkMode) + destination.NetworkMode = &networkMode + } else { + destination.NetworkMode = nil + } + + // NetworkPlugin + if profile.NetworkPlugin != nil { + networkPlugin := string(*profile.NetworkPlugin) + destination.NetworkPlugin = &networkPlugin + } else { + destination.NetworkPlugin = nil + } + + // NetworkPluginMode + if profile.NetworkPluginMode != nil { + networkPluginMode := string(*profile.NetworkPluginMode) + destination.NetworkPluginMode = &networkPluginMode + } else { + destination.NetworkPluginMode = nil + } + + // NetworkPolicy + if profile.NetworkPolicy != nil { + networkPolicy := string(*profile.NetworkPolicy) + destination.NetworkPolicy = &networkPolicy + } else { + destination.NetworkPolicy = nil + } + + // OutboundType + if profile.OutboundType != nil { + outboundType := string(*profile.OutboundType) + destination.OutboundType = &outboundType + } else { + destination.OutboundType = nil + } + + // PodCidr + if profile.PodCidr != nil { + podCidr := *profile.PodCidr + destination.PodCidr = &podCidr + } else { + destination.PodCidr = nil + } + + // PodCidrs + destination.PodCidrs = genruntime.CloneSliceOfString(profile.PodCidrs) + + // ServiceCidr + if profile.ServiceCidr != nil { + serviceCidr := *profile.ServiceCidr + destination.ServiceCidr = &serviceCidr + } else { + destination.ServiceCidr = nil + } + + // ServiceCidrs + destination.ServiceCidrs = genruntime.CloneSliceOfString(profile.ServiceCidrs) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_ContainerServiceNetworkProfile_STATUS populates our ContainerServiceNetworkProfile from the provided source ContainerServiceNetworkProfile_STATUS +func (profile *ContainerServiceNetworkProfile) Initialize_From_ContainerServiceNetworkProfile_STATUS(source *ContainerServiceNetworkProfile_STATUS) error { + + // AdvancedNetworking + if source.AdvancedNetworking != nil { + var advancedNetworking AdvancedNetworking + err := advancedNetworking.Initialize_From_AdvancedNetworking_STATUS(source.AdvancedNetworking) + if err != nil { + return errors.Wrap(err, "calling Initialize_From_AdvancedNetworking_STATUS() to populate field AdvancedNetworking") + } + profile.AdvancedNetworking = &advancedNetworking + } else { + profile.AdvancedNetworking = nil + } + + // DnsServiceIP + if source.DnsServiceIP != nil { + dnsServiceIP := *source.DnsServiceIP + profile.DnsServiceIP = &dnsServiceIP + } else { + profile.DnsServiceIP = nil + } + + // IpFamilies + if source.IpFamilies != nil { + ipFamilyList := make([]ContainerServiceNetworkProfile_IpFamilies, len(source.IpFamilies)) + for ipFamilyIndex, ipFamilyItem := range source.IpFamilies { + // Shadow the loop variable to avoid aliasing + ipFamilyItem := ipFamilyItem + ipFamily := genruntime.ToEnum(string(ipFamilyItem), containerServiceNetworkProfile_IpFamilies_Values) + ipFamilyList[ipFamilyIndex] = ipFamily + } + profile.IpFamilies = ipFamilyList + } else { + profile.IpFamilies = nil + } + + // LoadBalancerProfile + if source.LoadBalancerProfile != nil { + var loadBalancerProfile ManagedClusterLoadBalancerProfile + err := loadBalancerProfile.Initialize_From_ManagedClusterLoadBalancerProfile_STATUS(source.LoadBalancerProfile) + if err != nil { + return errors.Wrap(err, "calling Initialize_From_ManagedClusterLoadBalancerProfile_STATUS() to populate field LoadBalancerProfile") + } + profile.LoadBalancerProfile = &loadBalancerProfile + } else { + profile.LoadBalancerProfile = nil + } + + // LoadBalancerSku + if source.LoadBalancerSku != nil { + loadBalancerSku := genruntime.ToEnum(string(*source.LoadBalancerSku), containerServiceNetworkProfile_LoadBalancerSku_Values) + profile.LoadBalancerSku = &loadBalancerSku + } else { + profile.LoadBalancerSku = nil + } + + // NatGatewayProfile + if source.NatGatewayProfile != nil { + var natGatewayProfile ManagedClusterNATGatewayProfile + err := natGatewayProfile.Initialize_From_ManagedClusterNATGatewayProfile_STATUS(source.NatGatewayProfile) + if err != nil { + return errors.Wrap(err, "calling Initialize_From_ManagedClusterNATGatewayProfile_STATUS() to populate field NatGatewayProfile") + } + profile.NatGatewayProfile = &natGatewayProfile + } else { + profile.NatGatewayProfile = nil + } + + // NetworkDataplane + if source.NetworkDataplane != nil { + networkDataplane := genruntime.ToEnum(string(*source.NetworkDataplane), containerServiceNetworkProfile_NetworkDataplane_Values) + profile.NetworkDataplane = &networkDataplane + } else { + profile.NetworkDataplane = nil + } + + // NetworkMode + if source.NetworkMode != nil { + networkMode := genruntime.ToEnum(string(*source.NetworkMode), containerServiceNetworkProfile_NetworkMode_Values) + profile.NetworkMode = &networkMode + } else { + profile.NetworkMode = nil + } + + // NetworkPlugin + if source.NetworkPlugin != nil { + networkPlugin := genruntime.ToEnum(string(*source.NetworkPlugin), containerServiceNetworkProfile_NetworkPlugin_Values) + profile.NetworkPlugin = &networkPlugin + } else { + profile.NetworkPlugin = nil + } + + // NetworkPluginMode + if source.NetworkPluginMode != nil { + networkPluginMode := genruntime.ToEnum(string(*source.NetworkPluginMode), containerServiceNetworkProfile_NetworkPluginMode_Values) + profile.NetworkPluginMode = &networkPluginMode + } else { + profile.NetworkPluginMode = nil + } + + // NetworkPolicy + if source.NetworkPolicy != nil { + networkPolicy := genruntime.ToEnum(string(*source.NetworkPolicy), containerServiceNetworkProfile_NetworkPolicy_Values) + profile.NetworkPolicy = &networkPolicy + } else { + profile.NetworkPolicy = nil + } + + // OutboundType + if source.OutboundType != nil { + outboundType := genruntime.ToEnum(string(*source.OutboundType), containerServiceNetworkProfile_OutboundType_Values) + profile.OutboundType = &outboundType + } else { + profile.OutboundType = nil + } + + // PodCidr + if source.PodCidr != nil { + podCidr := *source.PodCidr + profile.PodCidr = &podCidr + } else { + profile.PodCidr = nil + } + + // PodCidrs + profile.PodCidrs = genruntime.CloneSliceOfString(source.PodCidrs) + + // ServiceCidr + if source.ServiceCidr != nil { + serviceCidr := *source.ServiceCidr + profile.ServiceCidr = &serviceCidr + } else { + profile.ServiceCidr = nil + } + + // ServiceCidrs + profile.ServiceCidrs = genruntime.CloneSliceOfString(source.ServiceCidrs) + + // No error + return nil +} + +// Profile of network configuration. +type ContainerServiceNetworkProfile_STATUS struct { + // AdvancedNetworking: Advanced Networking profile for enabling observability and security feature suite on a cluster. For + // more information see aka.ms/aksadvancednetworking. + AdvancedNetworking *AdvancedNetworking_STATUS `json:"advancedNetworking,omitempty"` + + // DnsServiceIP: An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address + // range specified in serviceCidr. + DnsServiceIP *string `json:"dnsServiceIP,omitempty"` + + // IpFamilies: IP families are used to determine single-stack or dual-stack clusters. For single-stack, the expected value + // is IPv4. For dual-stack, the expected values are IPv4 and IPv6. + IpFamilies []ContainerServiceNetworkProfile_IpFamilies_STATUS `json:"ipFamilies,omitempty"` + + // LoadBalancerProfile: Profile of the cluster load balancer. + LoadBalancerProfile *ManagedClusterLoadBalancerProfile_STATUS `json:"loadBalancerProfile,omitempty"` + + // LoadBalancerSku: The default is 'standard'. See [Azure Load Balancer + // SKUs](https://docs.microsoft.com/azure/load-balancer/skus) for more information about the differences between load + // balancer SKUs. + LoadBalancerSku *ContainerServiceNetworkProfile_LoadBalancerSku_STATUS `json:"loadBalancerSku,omitempty"` + + // NatGatewayProfile: Profile of the cluster NAT gateway. + NatGatewayProfile *ManagedClusterNATGatewayProfile_STATUS `json:"natGatewayProfile,omitempty"` + + // NetworkDataplane: Network dataplane used in the Kubernetes cluster. + NetworkDataplane *ContainerServiceNetworkProfile_NetworkDataplane_STATUS `json:"networkDataplane,omitempty"` + + // NetworkMode: This cannot be specified if networkPlugin is anything other than 'azure'. + NetworkMode *ContainerServiceNetworkProfile_NetworkMode_STATUS `json:"networkMode,omitempty"` + + // NetworkPlugin: Network plugin used for building the Kubernetes network. + NetworkPlugin *ContainerServiceNetworkProfile_NetworkPlugin_STATUS `json:"networkPlugin,omitempty"` + + // NetworkPluginMode: The mode the network plugin should use. + NetworkPluginMode *ContainerServiceNetworkProfile_NetworkPluginMode_STATUS `json:"networkPluginMode,omitempty"` + + // NetworkPolicy: Network policy used for building the Kubernetes network. + NetworkPolicy *ContainerServiceNetworkProfile_NetworkPolicy_STATUS `json:"networkPolicy,omitempty"` + + // OutboundType: This can only be set at cluster creation time and cannot be changed later. For more information see + // [egress outbound type](https://docs.microsoft.com/azure/aks/egress-outboundtype). + OutboundType *ContainerServiceNetworkProfile_OutboundType_STATUS `json:"outboundType,omitempty"` + + // PodCidr: A CIDR notation IP range from which to assign pod IPs when kubenet is used. + PodCidr *string `json:"podCidr,omitempty"` + + // PodCidrs: One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is + // expected for dual-stack networking. + PodCidrs []string `json:"podCidrs,omitempty"` + + // ServiceCidr: A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP + // ranges. + ServiceCidr *string `json:"serviceCidr,omitempty"` + + // ServiceCidrs: One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is + // expected for dual-stack networking. They must not overlap with any Subnet IP ranges. + ServiceCidrs []string `json:"serviceCidrs,omitempty"` +} + +var _ genruntime.FromARMConverter = &ContainerServiceNetworkProfile_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (profile *ContainerServiceNetworkProfile_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ContainerServiceNetworkProfile_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (profile *ContainerServiceNetworkProfile_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ContainerServiceNetworkProfile_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ContainerServiceNetworkProfile_STATUS, got %T", armInput) + } + + // Set property "AdvancedNetworking": + if typedInput.AdvancedNetworking != nil { + var advancedNetworking1 AdvancedNetworking_STATUS + err := advancedNetworking1.PopulateFromARM(owner, *typedInput.AdvancedNetworking) + if err != nil { + return err + } + advancedNetworking := advancedNetworking1 + profile.AdvancedNetworking = &advancedNetworking + } + + // Set property "DnsServiceIP": + if typedInput.DnsServiceIP != nil { + dnsServiceIP := *typedInput.DnsServiceIP + profile.DnsServiceIP = &dnsServiceIP + } + + // Set property "IpFamilies": + for _, item := range typedInput.IpFamilies { + var temp string + temp = string(item) + profile.IpFamilies = append(profile.IpFamilies, ContainerServiceNetworkProfile_IpFamilies_STATUS(temp)) + } + + // Set property "LoadBalancerProfile": + if typedInput.LoadBalancerProfile != nil { + var loadBalancerProfile1 ManagedClusterLoadBalancerProfile_STATUS + err := loadBalancerProfile1.PopulateFromARM(owner, *typedInput.LoadBalancerProfile) + if err != nil { + return err + } + loadBalancerProfile := loadBalancerProfile1 + profile.LoadBalancerProfile = &loadBalancerProfile + } + + // Set property "LoadBalancerSku": + if typedInput.LoadBalancerSku != nil { + var temp string + temp = string(*typedInput.LoadBalancerSku) + loadBalancerSku := ContainerServiceNetworkProfile_LoadBalancerSku_STATUS(temp) + profile.LoadBalancerSku = &loadBalancerSku + } + + // Set property "NatGatewayProfile": + if typedInput.NatGatewayProfile != nil { + var natGatewayProfile1 ManagedClusterNATGatewayProfile_STATUS + err := natGatewayProfile1.PopulateFromARM(owner, *typedInput.NatGatewayProfile) + if err != nil { + return err + } + natGatewayProfile := natGatewayProfile1 + profile.NatGatewayProfile = &natGatewayProfile + } + + // Set property "NetworkDataplane": + if typedInput.NetworkDataplane != nil { + var temp string + temp = string(*typedInput.NetworkDataplane) + networkDataplane := ContainerServiceNetworkProfile_NetworkDataplane_STATUS(temp) + profile.NetworkDataplane = &networkDataplane + } + + // Set property "NetworkMode": + if typedInput.NetworkMode != nil { + var temp string + temp = string(*typedInput.NetworkMode) + networkMode := ContainerServiceNetworkProfile_NetworkMode_STATUS(temp) + profile.NetworkMode = &networkMode + } + + // Set property "NetworkPlugin": + if typedInput.NetworkPlugin != nil { + var temp string + temp = string(*typedInput.NetworkPlugin) + networkPlugin := ContainerServiceNetworkProfile_NetworkPlugin_STATUS(temp) + profile.NetworkPlugin = &networkPlugin + } + + // Set property "NetworkPluginMode": + if typedInput.NetworkPluginMode != nil { + var temp string + temp = string(*typedInput.NetworkPluginMode) + networkPluginMode := ContainerServiceNetworkProfile_NetworkPluginMode_STATUS(temp) + profile.NetworkPluginMode = &networkPluginMode + } + + // Set property "NetworkPolicy": + if typedInput.NetworkPolicy != nil { + var temp string + temp = string(*typedInput.NetworkPolicy) + networkPolicy := ContainerServiceNetworkProfile_NetworkPolicy_STATUS(temp) + profile.NetworkPolicy = &networkPolicy + } + + // Set property "OutboundType": + if typedInput.OutboundType != nil { + var temp string + temp = string(*typedInput.OutboundType) + outboundType := ContainerServiceNetworkProfile_OutboundType_STATUS(temp) + profile.OutboundType = &outboundType + } + + // Set property "PodCidr": + if typedInput.PodCidr != nil { + podCidr := *typedInput.PodCidr + profile.PodCidr = &podCidr + } + + // Set property "PodCidrs": + for _, item := range typedInput.PodCidrs { + profile.PodCidrs = append(profile.PodCidrs, item) + } + + // Set property "ServiceCidr": + if typedInput.ServiceCidr != nil { + serviceCidr := *typedInput.ServiceCidr + profile.ServiceCidr = &serviceCidr + } + + // Set property "ServiceCidrs": + for _, item := range typedInput.ServiceCidrs { + profile.ServiceCidrs = append(profile.ServiceCidrs, item) + } + + // No error + return nil +} + +// AssignProperties_From_ContainerServiceNetworkProfile_STATUS populates our ContainerServiceNetworkProfile_STATUS from the provided source ContainerServiceNetworkProfile_STATUS +func (profile *ContainerServiceNetworkProfile_STATUS) AssignProperties_From_ContainerServiceNetworkProfile_STATUS(source *storage.ContainerServiceNetworkProfile_STATUS) error { + + // AdvancedNetworking + if source.AdvancedNetworking != nil { + var advancedNetworking AdvancedNetworking_STATUS + err := advancedNetworking.AssignProperties_From_AdvancedNetworking_STATUS(source.AdvancedNetworking) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_AdvancedNetworking_STATUS() to populate field AdvancedNetworking") + } + profile.AdvancedNetworking = &advancedNetworking + } else { + profile.AdvancedNetworking = nil + } + + // DnsServiceIP + profile.DnsServiceIP = genruntime.ClonePointerToString(source.DnsServiceIP) + + // IpFamilies + if source.IpFamilies != nil { + ipFamilyList := make([]ContainerServiceNetworkProfile_IpFamilies_STATUS, len(source.IpFamilies)) + for ipFamilyIndex, ipFamilyItem := range source.IpFamilies { + // Shadow the loop variable to avoid aliasing + ipFamilyItem := ipFamilyItem + ipFamilyList[ipFamilyIndex] = genruntime.ToEnum(ipFamilyItem, containerServiceNetworkProfile_IpFamilies_STATUS_Values) + } + profile.IpFamilies = ipFamilyList + } else { + profile.IpFamilies = nil + } + + // LoadBalancerProfile + if source.LoadBalancerProfile != nil { + var loadBalancerProfile ManagedClusterLoadBalancerProfile_STATUS + err := loadBalancerProfile.AssignProperties_From_ManagedClusterLoadBalancerProfile_STATUS(source.LoadBalancerProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterLoadBalancerProfile_STATUS() to populate field LoadBalancerProfile") + } + profile.LoadBalancerProfile = &loadBalancerProfile + } else { + profile.LoadBalancerProfile = nil + } + + // LoadBalancerSku + if source.LoadBalancerSku != nil { + loadBalancerSku := *source.LoadBalancerSku + loadBalancerSkuTemp := genruntime.ToEnum(loadBalancerSku, containerServiceNetworkProfile_LoadBalancerSku_STATUS_Values) + profile.LoadBalancerSku = &loadBalancerSkuTemp + } else { + profile.LoadBalancerSku = nil + } + + // NatGatewayProfile + if source.NatGatewayProfile != nil { + var natGatewayProfile ManagedClusterNATGatewayProfile_STATUS + err := natGatewayProfile.AssignProperties_From_ManagedClusterNATGatewayProfile_STATUS(source.NatGatewayProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterNATGatewayProfile_STATUS() to populate field NatGatewayProfile") + } + profile.NatGatewayProfile = &natGatewayProfile + } else { + profile.NatGatewayProfile = nil + } + + // NetworkDataplane + if source.NetworkDataplane != nil { + networkDataplane := *source.NetworkDataplane + networkDataplaneTemp := genruntime.ToEnum(networkDataplane, containerServiceNetworkProfile_NetworkDataplane_STATUS_Values) + profile.NetworkDataplane = &networkDataplaneTemp + } else { + profile.NetworkDataplane = nil + } + + // NetworkMode + if source.NetworkMode != nil { + networkMode := *source.NetworkMode + networkModeTemp := genruntime.ToEnum(networkMode, containerServiceNetworkProfile_NetworkMode_STATUS_Values) + profile.NetworkMode = &networkModeTemp + } else { + profile.NetworkMode = nil + } + + // NetworkPlugin + if source.NetworkPlugin != nil { + networkPlugin := *source.NetworkPlugin + networkPluginTemp := genruntime.ToEnum(networkPlugin, containerServiceNetworkProfile_NetworkPlugin_STATUS_Values) + profile.NetworkPlugin = &networkPluginTemp + } else { + profile.NetworkPlugin = nil + } + + // NetworkPluginMode + if source.NetworkPluginMode != nil { + networkPluginMode := *source.NetworkPluginMode + networkPluginModeTemp := genruntime.ToEnum(networkPluginMode, containerServiceNetworkProfile_NetworkPluginMode_STATUS_Values) + profile.NetworkPluginMode = &networkPluginModeTemp + } else { + profile.NetworkPluginMode = nil + } + + // NetworkPolicy + if source.NetworkPolicy != nil { + networkPolicy := *source.NetworkPolicy + networkPolicyTemp := genruntime.ToEnum(networkPolicy, containerServiceNetworkProfile_NetworkPolicy_STATUS_Values) + profile.NetworkPolicy = &networkPolicyTemp + } else { + profile.NetworkPolicy = nil + } + + // OutboundType + if source.OutboundType != nil { + outboundType := *source.OutboundType + outboundTypeTemp := genruntime.ToEnum(outboundType, containerServiceNetworkProfile_OutboundType_STATUS_Values) + profile.OutboundType = &outboundTypeTemp + } else { + profile.OutboundType = nil + } + + // PodCidr + profile.PodCidr = genruntime.ClonePointerToString(source.PodCidr) + + // PodCidrs + profile.PodCidrs = genruntime.CloneSliceOfString(source.PodCidrs) + + // ServiceCidr + profile.ServiceCidr = genruntime.ClonePointerToString(source.ServiceCidr) + + // ServiceCidrs + profile.ServiceCidrs = genruntime.CloneSliceOfString(source.ServiceCidrs) + + // No error + return nil +} + +// AssignProperties_To_ContainerServiceNetworkProfile_STATUS populates the provided destination ContainerServiceNetworkProfile_STATUS from our ContainerServiceNetworkProfile_STATUS +func (profile *ContainerServiceNetworkProfile_STATUS) AssignProperties_To_ContainerServiceNetworkProfile_STATUS(destination *storage.ContainerServiceNetworkProfile_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // AdvancedNetworking + if profile.AdvancedNetworking != nil { + var advancedNetworking storage.AdvancedNetworking_STATUS + err := profile.AdvancedNetworking.AssignProperties_To_AdvancedNetworking_STATUS(&advancedNetworking) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_AdvancedNetworking_STATUS() to populate field AdvancedNetworking") + } + destination.AdvancedNetworking = &advancedNetworking + } else { + destination.AdvancedNetworking = nil + } + + // DnsServiceIP + destination.DnsServiceIP = genruntime.ClonePointerToString(profile.DnsServiceIP) + + // IpFamilies + if profile.IpFamilies != nil { + ipFamilyList := make([]string, len(profile.IpFamilies)) + for ipFamilyIndex, ipFamilyItem := range profile.IpFamilies { + // Shadow the loop variable to avoid aliasing + ipFamilyItem := ipFamilyItem + ipFamilyList[ipFamilyIndex] = string(ipFamilyItem) + } + destination.IpFamilies = ipFamilyList + } else { + destination.IpFamilies = nil + } + + // LoadBalancerProfile + if profile.LoadBalancerProfile != nil { + var loadBalancerProfile storage.ManagedClusterLoadBalancerProfile_STATUS + err := profile.LoadBalancerProfile.AssignProperties_To_ManagedClusterLoadBalancerProfile_STATUS(&loadBalancerProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterLoadBalancerProfile_STATUS() to populate field LoadBalancerProfile") + } + destination.LoadBalancerProfile = &loadBalancerProfile + } else { + destination.LoadBalancerProfile = nil + } + + // LoadBalancerSku + if profile.LoadBalancerSku != nil { + loadBalancerSku := string(*profile.LoadBalancerSku) + destination.LoadBalancerSku = &loadBalancerSku + } else { + destination.LoadBalancerSku = nil + } + + // NatGatewayProfile + if profile.NatGatewayProfile != nil { + var natGatewayProfile storage.ManagedClusterNATGatewayProfile_STATUS + err := profile.NatGatewayProfile.AssignProperties_To_ManagedClusterNATGatewayProfile_STATUS(&natGatewayProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterNATGatewayProfile_STATUS() to populate field NatGatewayProfile") + } + destination.NatGatewayProfile = &natGatewayProfile + } else { + destination.NatGatewayProfile = nil + } + + // NetworkDataplane + if profile.NetworkDataplane != nil { + networkDataplane := string(*profile.NetworkDataplane) + destination.NetworkDataplane = &networkDataplane + } else { + destination.NetworkDataplane = nil + } + + // NetworkMode + if profile.NetworkMode != nil { + networkMode := string(*profile.NetworkMode) + destination.NetworkMode = &networkMode + } else { + destination.NetworkMode = nil + } + + // NetworkPlugin + if profile.NetworkPlugin != nil { + networkPlugin := string(*profile.NetworkPlugin) + destination.NetworkPlugin = &networkPlugin + } else { + destination.NetworkPlugin = nil + } + + // NetworkPluginMode + if profile.NetworkPluginMode != nil { + networkPluginMode := string(*profile.NetworkPluginMode) + destination.NetworkPluginMode = &networkPluginMode + } else { + destination.NetworkPluginMode = nil + } + + // NetworkPolicy + if profile.NetworkPolicy != nil { + networkPolicy := string(*profile.NetworkPolicy) + destination.NetworkPolicy = &networkPolicy + } else { + destination.NetworkPolicy = nil + } + + // OutboundType + if profile.OutboundType != nil { + outboundType := string(*profile.OutboundType) + destination.OutboundType = &outboundType + } else { + destination.OutboundType = nil + } + + // PodCidr + destination.PodCidr = genruntime.ClonePointerToString(profile.PodCidr) + + // PodCidrs + destination.PodCidrs = genruntime.CloneSliceOfString(profile.PodCidrs) + + // ServiceCidr + destination.ServiceCidr = genruntime.ClonePointerToString(profile.ServiceCidr) + + // ServiceCidrs + destination.ServiceCidrs = genruntime.CloneSliceOfString(profile.ServiceCidrs) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// The complex type of the extended location. +type ExtendedLocation struct { + // Name: The name of the extended location. + Name *string `json:"name,omitempty"` + + // Type: The type of the extended location. + Type *ExtendedLocationType `json:"type,omitempty"` +} + +var _ genruntime.ARMTransformer = &ExtendedLocation{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (location *ExtendedLocation) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if location == nil { + return nil, nil + } + result := &arm.ExtendedLocation{} + + // Set property "Name": + if location.Name != nil { + name := *location.Name + result.Name = &name + } + + // Set property "Type": + if location.Type != nil { + var temp string + temp = string(*location.Type) + typeVar := arm.ExtendedLocationType(temp) + result.Type = &typeVar + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (location *ExtendedLocation) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ExtendedLocation{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (location *ExtendedLocation) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ExtendedLocation) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ExtendedLocation, got %T", armInput) + } + + // Set property "Name": + if typedInput.Name != nil { + name := *typedInput.Name + location.Name = &name + } + + // Set property "Type": + if typedInput.Type != nil { + var temp string + temp = string(*typedInput.Type) + typeVar := ExtendedLocationType(temp) + location.Type = &typeVar + } + + // No error + return nil +} + +// AssignProperties_From_ExtendedLocation populates our ExtendedLocation from the provided source ExtendedLocation +func (location *ExtendedLocation) AssignProperties_From_ExtendedLocation(source *storage.ExtendedLocation) error { + + // Name + location.Name = genruntime.ClonePointerToString(source.Name) + + // Type + if source.Type != nil { + typeVar := *source.Type + typeTemp := genruntime.ToEnum(typeVar, extendedLocationType_Values) + location.Type = &typeTemp + } else { + location.Type = nil + } + + // No error + return nil +} + +// AssignProperties_To_ExtendedLocation populates the provided destination ExtendedLocation from our ExtendedLocation +func (location *ExtendedLocation) AssignProperties_To_ExtendedLocation(destination *storage.ExtendedLocation) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Name + destination.Name = genruntime.ClonePointerToString(location.Name) + + // Type + if location.Type != nil { + typeVar := string(*location.Type) + destination.Type = &typeVar + } else { + destination.Type = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_ExtendedLocation_STATUS populates our ExtendedLocation from the provided source ExtendedLocation_STATUS +func (location *ExtendedLocation) Initialize_From_ExtendedLocation_STATUS(source *ExtendedLocation_STATUS) error { + + // Name + location.Name = genruntime.ClonePointerToString(source.Name) + + // Type + if source.Type != nil { + typeVar := genruntime.ToEnum(string(*source.Type), extendedLocationType_Values) + location.Type = &typeVar + } else { + location.Type = nil + } + + // No error + return nil +} + +// The complex type of the extended location. +type ExtendedLocation_STATUS struct { + // Name: The name of the extended location. + Name *string `json:"name,omitempty"` + + // Type: The type of the extended location. + Type *ExtendedLocationType_STATUS `json:"type,omitempty"` +} + +var _ genruntime.FromARMConverter = &ExtendedLocation_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (location *ExtendedLocation_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ExtendedLocation_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (location *ExtendedLocation_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ExtendedLocation_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ExtendedLocation_STATUS, got %T", armInput) + } + + // Set property "Name": + if typedInput.Name != nil { + name := *typedInput.Name + location.Name = &name + } + + // Set property "Type": + if typedInput.Type != nil { + var temp string + temp = string(*typedInput.Type) + typeVar := ExtendedLocationType_STATUS(temp) + location.Type = &typeVar + } + + // No error + return nil +} + +// AssignProperties_From_ExtendedLocation_STATUS populates our ExtendedLocation_STATUS from the provided source ExtendedLocation_STATUS +func (location *ExtendedLocation_STATUS) AssignProperties_From_ExtendedLocation_STATUS(source *storage.ExtendedLocation_STATUS) error { + + // Name + location.Name = genruntime.ClonePointerToString(source.Name) + + // Type + if source.Type != nil { + typeVar := *source.Type + typeTemp := genruntime.ToEnum(typeVar, extendedLocationType_STATUS_Values) + location.Type = &typeTemp + } else { + location.Type = nil + } + + // No error + return nil +} + +// AssignProperties_To_ExtendedLocation_STATUS populates the provided destination ExtendedLocation_STATUS from our ExtendedLocation_STATUS +func (location *ExtendedLocation_STATUS) AssignProperties_To_ExtendedLocation_STATUS(destination *storage.ExtendedLocation_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Name + destination.Name = genruntime.ClonePointerToString(location.Name) + + // Type + if location.Type != nil { + typeVar := string(*location.Type) + destination.Type = &typeVar + } else { + destination.Type = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Different support tiers for AKS managed clusters +// +kubebuilder:validation:Enum={"AKSLongTermSupport","KubernetesOfficial"} +type KubernetesSupportPlan string + +const ( + KubernetesSupportPlan_AKSLongTermSupport = KubernetesSupportPlan("AKSLongTermSupport") + KubernetesSupportPlan_KubernetesOfficial = KubernetesSupportPlan("KubernetesOfficial") +) + +// Mapping from string to KubernetesSupportPlan +var kubernetesSupportPlan_Values = map[string]KubernetesSupportPlan{ + "akslongtermsupport": KubernetesSupportPlan_AKSLongTermSupport, + "kubernetesofficial": KubernetesSupportPlan_KubernetesOfficial, +} + +// Different support tiers for AKS managed clusters +type KubernetesSupportPlan_STATUS string + +const ( + KubernetesSupportPlan_STATUS_AKSLongTermSupport = KubernetesSupportPlan_STATUS("AKSLongTermSupport") + KubernetesSupportPlan_STATUS_KubernetesOfficial = KubernetesSupportPlan_STATUS("KubernetesOfficial") +) + +// Mapping from string to KubernetesSupportPlan_STATUS +var kubernetesSupportPlan_STATUS_Values = map[string]KubernetesSupportPlan_STATUS{ + "akslongtermsupport": KubernetesSupportPlan_STATUS_AKSLongTermSupport, + "kubernetesofficial": KubernetesSupportPlan_STATUS_KubernetesOfficial, +} + +// For more details see [managed AAD on AKS](https://docs.microsoft.com/azure/aks/managed-aad). +type ManagedClusterAADProfile struct { + // AdminGroupObjectIDs: The list of AAD group object IDs that will have admin role of the cluster. + AdminGroupObjectIDs []string `json:"adminGroupObjectIDs,omitempty"` + + // ClientAppID: (DEPRECATED) The client AAD application ID. Learn more at https://aka.ms/aks/aad-legacy. + ClientAppID *string `json:"clientAppID,omitempty"` + + // EnableAzureRBAC: Whether to enable Azure RBAC for Kubernetes authorization. + EnableAzureRBAC *bool `json:"enableAzureRBAC,omitempty"` + + // Managed: Whether to enable managed AAD. + Managed *bool `json:"managed,omitempty"` + + // ServerAppID: (DEPRECATED) The server AAD application ID. Learn more at https://aka.ms/aks/aad-legacy. + ServerAppID *string `json:"serverAppID,omitempty"` + + // ServerAppSecret: (DEPRECATED) The server AAD application secret. Learn more at https://aka.ms/aks/aad-legacy. + ServerAppSecret *string `json:"serverAppSecret,omitempty"` + + // TenantID: The AAD tenant ID to use for authentication. If not specified, will use the tenant of the deployment + // subscription. + TenantID *string `json:"tenantID,omitempty"` +} + +var _ genruntime.ARMTransformer = &ManagedClusterAADProfile{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (profile *ManagedClusterAADProfile) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if profile == nil { + return nil, nil + } + result := &arm.ManagedClusterAADProfile{} + + // Set property "AdminGroupObjectIDs": + for _, item := range profile.AdminGroupObjectIDs { + result.AdminGroupObjectIDs = append(result.AdminGroupObjectIDs, item) + } + + // Set property "ClientAppID": + if profile.ClientAppID != nil { + clientAppID := *profile.ClientAppID + result.ClientAppID = &clientAppID + } + + // Set property "EnableAzureRBAC": + if profile.EnableAzureRBAC != nil { + enableAzureRBAC := *profile.EnableAzureRBAC + result.EnableAzureRBAC = &enableAzureRBAC + } + + // Set property "Managed": + if profile.Managed != nil { + managed := *profile.Managed + result.Managed = &managed + } + + // Set property "ServerAppID": + if profile.ServerAppID != nil { + serverAppID := *profile.ServerAppID + result.ServerAppID = &serverAppID + } + + // Set property "ServerAppSecret": + if profile.ServerAppSecret != nil { + serverAppSecret := *profile.ServerAppSecret + result.ServerAppSecret = &serverAppSecret + } + + // Set property "TenantID": + if profile.TenantID != nil { + tenantID := *profile.TenantID + result.TenantID = &tenantID + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (profile *ManagedClusterAADProfile) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ManagedClusterAADProfile{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (profile *ManagedClusterAADProfile) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ManagedClusterAADProfile) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ManagedClusterAADProfile, got %T", armInput) + } + + // Set property "AdminGroupObjectIDs": + for _, item := range typedInput.AdminGroupObjectIDs { + profile.AdminGroupObjectIDs = append(profile.AdminGroupObjectIDs, item) + } + + // Set property "ClientAppID": + if typedInput.ClientAppID != nil { + clientAppID := *typedInput.ClientAppID + profile.ClientAppID = &clientAppID + } + + // Set property "EnableAzureRBAC": + if typedInput.EnableAzureRBAC != nil { + enableAzureRBAC := *typedInput.EnableAzureRBAC + profile.EnableAzureRBAC = &enableAzureRBAC + } + + // Set property "Managed": + if typedInput.Managed != nil { + managed := *typedInput.Managed + profile.Managed = &managed + } + + // Set property "ServerAppID": + if typedInput.ServerAppID != nil { + serverAppID := *typedInput.ServerAppID + profile.ServerAppID = &serverAppID + } + + // Set property "ServerAppSecret": + if typedInput.ServerAppSecret != nil { + serverAppSecret := *typedInput.ServerAppSecret + profile.ServerAppSecret = &serverAppSecret + } + + // Set property "TenantID": + if typedInput.TenantID != nil { + tenantID := *typedInput.TenantID + profile.TenantID = &tenantID + } + + // No error + return nil +} + +// AssignProperties_From_ManagedClusterAADProfile populates our ManagedClusterAADProfile from the provided source ManagedClusterAADProfile +func (profile *ManagedClusterAADProfile) AssignProperties_From_ManagedClusterAADProfile(source *storage.ManagedClusterAADProfile) error { + + // AdminGroupObjectIDs + profile.AdminGroupObjectIDs = genruntime.CloneSliceOfString(source.AdminGroupObjectIDs) + + // ClientAppID + profile.ClientAppID = genruntime.ClonePointerToString(source.ClientAppID) + + // EnableAzureRBAC + if source.EnableAzureRBAC != nil { + enableAzureRBAC := *source.EnableAzureRBAC + profile.EnableAzureRBAC = &enableAzureRBAC + } else { + profile.EnableAzureRBAC = nil + } + + // Managed + if source.Managed != nil { + managed := *source.Managed + profile.Managed = &managed + } else { + profile.Managed = nil + } + + // ServerAppID + profile.ServerAppID = genruntime.ClonePointerToString(source.ServerAppID) + + // ServerAppSecret + profile.ServerAppSecret = genruntime.ClonePointerToString(source.ServerAppSecret) + + // TenantID + profile.TenantID = genruntime.ClonePointerToString(source.TenantID) + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterAADProfile populates the provided destination ManagedClusterAADProfile from our ManagedClusterAADProfile +func (profile *ManagedClusterAADProfile) AssignProperties_To_ManagedClusterAADProfile(destination *storage.ManagedClusterAADProfile) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // AdminGroupObjectIDs + destination.AdminGroupObjectIDs = genruntime.CloneSliceOfString(profile.AdminGroupObjectIDs) + + // ClientAppID + destination.ClientAppID = genruntime.ClonePointerToString(profile.ClientAppID) + + // EnableAzureRBAC + if profile.EnableAzureRBAC != nil { + enableAzureRBAC := *profile.EnableAzureRBAC + destination.EnableAzureRBAC = &enableAzureRBAC + } else { + destination.EnableAzureRBAC = nil + } + + // Managed + if profile.Managed != nil { + managed := *profile.Managed + destination.Managed = &managed + } else { + destination.Managed = nil + } + + // ServerAppID + destination.ServerAppID = genruntime.ClonePointerToString(profile.ServerAppID) + + // ServerAppSecret + destination.ServerAppSecret = genruntime.ClonePointerToString(profile.ServerAppSecret) + + // TenantID + destination.TenantID = genruntime.ClonePointerToString(profile.TenantID) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_ManagedClusterAADProfile_STATUS populates our ManagedClusterAADProfile from the provided source ManagedClusterAADProfile_STATUS +func (profile *ManagedClusterAADProfile) Initialize_From_ManagedClusterAADProfile_STATUS(source *ManagedClusterAADProfile_STATUS) error { + + // AdminGroupObjectIDs + profile.AdminGroupObjectIDs = genruntime.CloneSliceOfString(source.AdminGroupObjectIDs) + + // ClientAppID + profile.ClientAppID = genruntime.ClonePointerToString(source.ClientAppID) + + // EnableAzureRBAC + if source.EnableAzureRBAC != nil { + enableAzureRBAC := *source.EnableAzureRBAC + profile.EnableAzureRBAC = &enableAzureRBAC + } else { + profile.EnableAzureRBAC = nil + } + + // Managed + if source.Managed != nil { + managed := *source.Managed + profile.Managed = &managed + } else { + profile.Managed = nil + } + + // ServerAppID + profile.ServerAppID = genruntime.ClonePointerToString(source.ServerAppID) + + // ServerAppSecret + profile.ServerAppSecret = genruntime.ClonePointerToString(source.ServerAppSecret) + + // TenantID + profile.TenantID = genruntime.ClonePointerToString(source.TenantID) + + // No error + return nil +} + +// For more details see [managed AAD on AKS](https://docs.microsoft.com/azure/aks/managed-aad). +type ManagedClusterAADProfile_STATUS struct { + // AdminGroupObjectIDs: The list of AAD group object IDs that will have admin role of the cluster. + AdminGroupObjectIDs []string `json:"adminGroupObjectIDs,omitempty"` + + // ClientAppID: (DEPRECATED) The client AAD application ID. Learn more at https://aka.ms/aks/aad-legacy. + ClientAppID *string `json:"clientAppID,omitempty"` + + // EnableAzureRBAC: Whether to enable Azure RBAC for Kubernetes authorization. + EnableAzureRBAC *bool `json:"enableAzureRBAC,omitempty"` + + // Managed: Whether to enable managed AAD. + Managed *bool `json:"managed,omitempty"` + + // ServerAppID: (DEPRECATED) The server AAD application ID. Learn more at https://aka.ms/aks/aad-legacy. + ServerAppID *string `json:"serverAppID,omitempty"` + + // ServerAppSecret: (DEPRECATED) The server AAD application secret. Learn more at https://aka.ms/aks/aad-legacy. + ServerAppSecret *string `json:"serverAppSecret,omitempty"` + + // TenantID: The AAD tenant ID to use for authentication. If not specified, will use the tenant of the deployment + // subscription. + TenantID *string `json:"tenantID,omitempty"` +} + +var _ genruntime.FromARMConverter = &ManagedClusterAADProfile_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (profile *ManagedClusterAADProfile_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ManagedClusterAADProfile_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (profile *ManagedClusterAADProfile_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ManagedClusterAADProfile_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ManagedClusterAADProfile_STATUS, got %T", armInput) + } + + // Set property "AdminGroupObjectIDs": + for _, item := range typedInput.AdminGroupObjectIDs { + profile.AdminGroupObjectIDs = append(profile.AdminGroupObjectIDs, item) + } + + // Set property "ClientAppID": + if typedInput.ClientAppID != nil { + clientAppID := *typedInput.ClientAppID + profile.ClientAppID = &clientAppID + } + + // Set property "EnableAzureRBAC": + if typedInput.EnableAzureRBAC != nil { + enableAzureRBAC := *typedInput.EnableAzureRBAC + profile.EnableAzureRBAC = &enableAzureRBAC + } + + // Set property "Managed": + if typedInput.Managed != nil { + managed := *typedInput.Managed + profile.Managed = &managed + } + + // Set property "ServerAppID": + if typedInput.ServerAppID != nil { + serverAppID := *typedInput.ServerAppID + profile.ServerAppID = &serverAppID + } + + // Set property "ServerAppSecret": + if typedInput.ServerAppSecret != nil { + serverAppSecret := *typedInput.ServerAppSecret + profile.ServerAppSecret = &serverAppSecret + } + + // Set property "TenantID": + if typedInput.TenantID != nil { + tenantID := *typedInput.TenantID + profile.TenantID = &tenantID + } + + // No error + return nil +} + +// AssignProperties_From_ManagedClusterAADProfile_STATUS populates our ManagedClusterAADProfile_STATUS from the provided source ManagedClusterAADProfile_STATUS +func (profile *ManagedClusterAADProfile_STATUS) AssignProperties_From_ManagedClusterAADProfile_STATUS(source *storage.ManagedClusterAADProfile_STATUS) error { + + // AdminGroupObjectIDs + profile.AdminGroupObjectIDs = genruntime.CloneSliceOfString(source.AdminGroupObjectIDs) + + // ClientAppID + profile.ClientAppID = genruntime.ClonePointerToString(source.ClientAppID) + + // EnableAzureRBAC + if source.EnableAzureRBAC != nil { + enableAzureRBAC := *source.EnableAzureRBAC + profile.EnableAzureRBAC = &enableAzureRBAC + } else { + profile.EnableAzureRBAC = nil + } + + // Managed + if source.Managed != nil { + managed := *source.Managed + profile.Managed = &managed + } else { + profile.Managed = nil + } + + // ServerAppID + profile.ServerAppID = genruntime.ClonePointerToString(source.ServerAppID) + + // ServerAppSecret + profile.ServerAppSecret = genruntime.ClonePointerToString(source.ServerAppSecret) + + // TenantID + profile.TenantID = genruntime.ClonePointerToString(source.TenantID) + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterAADProfile_STATUS populates the provided destination ManagedClusterAADProfile_STATUS from our ManagedClusterAADProfile_STATUS +func (profile *ManagedClusterAADProfile_STATUS) AssignProperties_To_ManagedClusterAADProfile_STATUS(destination *storage.ManagedClusterAADProfile_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // AdminGroupObjectIDs + destination.AdminGroupObjectIDs = genruntime.CloneSliceOfString(profile.AdminGroupObjectIDs) + + // ClientAppID + destination.ClientAppID = genruntime.ClonePointerToString(profile.ClientAppID) + + // EnableAzureRBAC + if profile.EnableAzureRBAC != nil { + enableAzureRBAC := *profile.EnableAzureRBAC + destination.EnableAzureRBAC = &enableAzureRBAC + } else { + destination.EnableAzureRBAC = nil + } + + // Managed + if profile.Managed != nil { + managed := *profile.Managed + destination.Managed = &managed + } else { + destination.Managed = nil + } + + // ServerAppID + destination.ServerAppID = genruntime.ClonePointerToString(profile.ServerAppID) + + // ServerAppSecret + destination.ServerAppSecret = genruntime.ClonePointerToString(profile.ServerAppSecret) + + // TenantID + destination.TenantID = genruntime.ClonePointerToString(profile.TenantID) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// A Kubernetes add-on profile for a managed cluster. +type ManagedClusterAddonProfile struct { + // Config: Key-value pairs for configuring an add-on. + Config map[string]string `json:"config,omitempty"` + + // +kubebuilder:validation:Required + // Enabled: Whether the add-on is enabled or not. + Enabled *bool `json:"enabled,omitempty"` +} + +var _ genruntime.ARMTransformer = &ManagedClusterAddonProfile{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (profile *ManagedClusterAddonProfile) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if profile == nil { + return nil, nil + } + result := &arm.ManagedClusterAddonProfile{} + + // Set property "Config": + if profile.Config != nil { + result.Config = make(map[string]string, len(profile.Config)) + for key, value := range profile.Config { + result.Config[key] = value + } + } + + // Set property "Enabled": + if profile.Enabled != nil { + enabled := *profile.Enabled + result.Enabled = &enabled + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (profile *ManagedClusterAddonProfile) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ManagedClusterAddonProfile{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (profile *ManagedClusterAddonProfile) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ManagedClusterAddonProfile) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ManagedClusterAddonProfile, got %T", armInput) + } + + // Set property "Config": + if typedInput.Config != nil { + profile.Config = make(map[string]string, len(typedInput.Config)) + for key, value := range typedInput.Config { + profile.Config[key] = value + } + } + + // Set property "Enabled": + if typedInput.Enabled != nil { + enabled := *typedInput.Enabled + profile.Enabled = &enabled + } + + // No error + return nil +} + +// AssignProperties_From_ManagedClusterAddonProfile populates our ManagedClusterAddonProfile from the provided source ManagedClusterAddonProfile +func (profile *ManagedClusterAddonProfile) AssignProperties_From_ManagedClusterAddonProfile(source *storage.ManagedClusterAddonProfile) error { + + // Config + profile.Config = genruntime.CloneMapOfStringToString(source.Config) + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + profile.Enabled = &enabled + } else { + profile.Enabled = nil + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterAddonProfile populates the provided destination ManagedClusterAddonProfile from our ManagedClusterAddonProfile +func (profile *ManagedClusterAddonProfile) AssignProperties_To_ManagedClusterAddonProfile(destination *storage.ManagedClusterAddonProfile) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Config + destination.Config = genruntime.CloneMapOfStringToString(profile.Config) + + // Enabled + if profile.Enabled != nil { + enabled := *profile.Enabled + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_ManagedClusterAddonProfile_STATUS populates our ManagedClusterAddonProfile from the provided source ManagedClusterAddonProfile_STATUS +func (profile *ManagedClusterAddonProfile) Initialize_From_ManagedClusterAddonProfile_STATUS(source *ManagedClusterAddonProfile_STATUS) error { + + // Config + profile.Config = genruntime.CloneMapOfStringToString(source.Config) + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + profile.Enabled = &enabled + } else { + profile.Enabled = nil + } + + // No error + return nil +} + +// A Kubernetes add-on profile for a managed cluster. +type ManagedClusterAddonProfile_STATUS struct { + // Config: Key-value pairs for configuring an add-on. + Config map[string]string `json:"config,omitempty"` + + // Enabled: Whether the add-on is enabled or not. + Enabled *bool `json:"enabled,omitempty"` + + // Identity: Information of user assigned identity used by this add-on. + Identity *UserAssignedIdentity_STATUS `json:"identity,omitempty"` +} + +var _ genruntime.FromARMConverter = &ManagedClusterAddonProfile_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (profile *ManagedClusterAddonProfile_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ManagedClusterAddonProfile_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (profile *ManagedClusterAddonProfile_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ManagedClusterAddonProfile_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ManagedClusterAddonProfile_STATUS, got %T", armInput) + } + + // Set property "Config": + if typedInput.Config != nil { + profile.Config = make(map[string]string, len(typedInput.Config)) + for key, value := range typedInput.Config { + profile.Config[key] = value + } + } + + // Set property "Enabled": + if typedInput.Enabled != nil { + enabled := *typedInput.Enabled + profile.Enabled = &enabled + } + + // Set property "Identity": + if typedInput.Identity != nil { + var identity1 UserAssignedIdentity_STATUS + err := identity1.PopulateFromARM(owner, *typedInput.Identity) + if err != nil { + return err + } + identity := identity1 + profile.Identity = &identity + } + + // No error + return nil +} + +// AssignProperties_From_ManagedClusterAddonProfile_STATUS populates our ManagedClusterAddonProfile_STATUS from the provided source ManagedClusterAddonProfile_STATUS +func (profile *ManagedClusterAddonProfile_STATUS) AssignProperties_From_ManagedClusterAddonProfile_STATUS(source *storage.ManagedClusterAddonProfile_STATUS) error { + + // Config + profile.Config = genruntime.CloneMapOfStringToString(source.Config) + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + profile.Enabled = &enabled + } else { + profile.Enabled = nil + } + + // Identity + if source.Identity != nil { + var identity UserAssignedIdentity_STATUS + err := identity.AssignProperties_From_UserAssignedIdentity_STATUS(source.Identity) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_UserAssignedIdentity_STATUS() to populate field Identity") + } + profile.Identity = &identity + } else { + profile.Identity = nil + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterAddonProfile_STATUS populates the provided destination ManagedClusterAddonProfile_STATUS from our ManagedClusterAddonProfile_STATUS +func (profile *ManagedClusterAddonProfile_STATUS) AssignProperties_To_ManagedClusterAddonProfile_STATUS(destination *storage.ManagedClusterAddonProfile_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Config + destination.Config = genruntime.CloneMapOfStringToString(profile.Config) + + // Enabled + if profile.Enabled != nil { + enabled := *profile.Enabled + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // Identity + if profile.Identity != nil { + var identity storage.UserAssignedIdentity_STATUS + err := profile.Identity.AssignProperties_To_UserAssignedIdentity_STATUS(&identity) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_UserAssignedIdentity_STATUS() to populate field Identity") + } + destination.Identity = &identity + } else { + destination.Identity = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Profile for the container service agent pool. +type ManagedClusterAgentPoolProfile struct { + // AvailabilityZones: The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType + // property is 'VirtualMachineScaleSets'. + AvailabilityZones []string `json:"availabilityZones,omitempty"` + + // CapacityReservationGroupReference: AKS will associate the specified agent pool with the Capacity Reservation Group. + CapacityReservationGroupReference *genruntime.ResourceReference `armReference:"CapacityReservationGroupID" json:"capacityReservationGroupReference,omitempty"` + + // Count: Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) + // for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1. + Count *int `json:"count,omitempty"` + + // CreationData: CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using + // a snapshot. + CreationData *CreationData `json:"creationData,omitempty"` + + // EnableAutoScaling: Whether to enable auto-scaler + EnableAutoScaling *bool `json:"enableAutoScaling,omitempty"` + + // EnableEncryptionAtHost: This is only supported on certain VM sizes and in certain Azure regions. For more information, + // see: https://docs.microsoft.com/azure/aks/enable-host-encryption + EnableEncryptionAtHost *bool `json:"enableEncryptionAtHost,omitempty"` + + // EnableFIPS: See [Add a FIPS-enabled node + // pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more + // details. + EnableFIPS *bool `json:"enableFIPS,omitempty"` + + // EnableNodePublicIP: Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. + // A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine + // to minimize hops. For more information see [assigning a public IP per + // node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The + // default is false. + EnableNodePublicIP *bool `json:"enableNodePublicIP,omitempty"` + + // EnableUltraSSD: Whether to enable UltraSSD + EnableUltraSSD *bool `json:"enableUltraSSD,omitempty"` + + // GpuInstanceProfile: GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU. + GpuInstanceProfile *GPUInstanceProfile `json:"gpuInstanceProfile,omitempty"` + + // HostGroupReference: This is of the form: + // /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. + // For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). + HostGroupReference *genruntime.ResourceReference `armReference:"HostGroupID" json:"hostGroupReference,omitempty"` + + // KubeletConfig: The Kubelet configuration on the agent pool nodes. + KubeletConfig *KubeletConfig `json:"kubeletConfig,omitempty"` + + // KubeletDiskType: Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral + // storage. + KubeletDiskType *KubeletDiskType `json:"kubeletDiskType,omitempty"` + + // LinuxOSConfig: The OS configuration of Linux agent nodes. + LinuxOSConfig *LinuxOSConfig `json:"linuxOSConfig,omitempty"` + + // MaxCount: The maximum number of nodes for auto-scaling + MaxCount *int `json:"maxCount,omitempty"` + + // MaxPods: The maximum number of pods that can run on a node. + MaxPods *int `json:"maxPods,omitempty"` + + // MinCount: The minimum number of nodes for auto-scaling + MinCount *int `json:"minCount,omitempty"` + + // Mode: A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool + // restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools + Mode *AgentPoolMode `json:"mode,omitempty"` + + // +kubebuilder:validation:Required + // +kubebuilder:validation:Pattern="^[a-z][a-z0-9]{0,11}$" + // Name: Windows agent pool names must be 6 characters or less. + Name *string `json:"name,omitempty"` + + // NetworkProfile: Network-related settings of an agent pool. + NetworkProfile *AgentPoolNetworkProfile `json:"networkProfile,omitempty"` + + // NodeLabels: The node labels to be persisted across all nodes in agent pool. + NodeLabels map[string]string `json:"nodeLabels,omitempty" serializationType:"explicitEmptyCollection"` + + // NodePublicIPPrefixReference: This is of the form: + // /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} + NodePublicIPPrefixReference *genruntime.ResourceReference `armReference:"NodePublicIPPrefixID" json:"nodePublicIPPrefixReference,omitempty"` + + // NodeTaints: The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule. + NodeTaints []string `json:"nodeTaints,omitempty" serializationType:"explicitEmptyCollection"` + + // OrchestratorVersion: Both patch version (e.g. 1.20.13) and (e.g. 1.20) are supported. + // When is specified, the latest supported GA patch version is chosen automatically. Updating the cluster + // with the same once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer + // patch version is available. As a best practice, you should upgrade all node pools in an AKS cluster to the same + // Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor + // version must be within two minor versions of the control plane version. The node pool version cannot be greater than the + // control plane version. For more information see [upgrading a node + // pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). + OrchestratorVersion *string `json:"orchestratorVersion,omitempty"` + OsDiskSizeGB *ContainerServiceOSDisk `json:"osDiskSizeGB,omitempty"` + + // OsDiskType: The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested + // OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral + // OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). + OsDiskType *OSDiskType `json:"osDiskType,omitempty"` + + // OsSKU: Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 + // when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows. + OsSKU *OSSKU `json:"osSKU,omitempty"` + + // OsType: The operating system type. The default is Linux. + OsType *OSType `json:"osType,omitempty"` + + // PodSubnetReference: If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). + // This is of the form: + // /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + PodSubnetReference *genruntime.ResourceReference `armReference:"PodSubnetID" json:"podSubnetReference,omitempty"` + + // PowerState: When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this + // field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only + // be stopped if it is Running and provisioning state is Succeeded + PowerState *PowerState `json:"powerState,omitempty"` + + // ProximityPlacementGroupReference: The ID for Proximity Placement Group. + ProximityPlacementGroupReference *genruntime.ResourceReference `armReference:"ProximityPlacementGroupID" json:"proximityPlacementGroupReference,omitempty"` + + // ScaleDownMode: This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete. + ScaleDownMode *ScaleDownMode `json:"scaleDownMode,omitempty"` + + // ScaleSetEvictionPolicy: This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is + // 'Delete'. + ScaleSetEvictionPolicy *ScaleSetEvictionPolicy `json:"scaleSetEvictionPolicy,omitempty"` + + // ScaleSetPriority: The Virtual Machine Scale Set priority. If not specified, the default is 'Regular'. + ScaleSetPriority *ScaleSetPriority `json:"scaleSetPriority,omitempty"` + + // SecurityProfile: The security settings of an agent pool. + SecurityProfile *AgentPoolSecurityProfile `json:"securityProfile,omitempty"` + + // SpotMaxPrice: Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any + // on-demand price. For more details on spot pricing, see [spot VMs + // pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing) + SpotMaxPrice *float64 `json:"spotMaxPrice,omitempty"` + + // Tags: The tags to be persisted on the agent pool virtual machine scale set. + Tags map[string]string `json:"tags,omitempty" serializationType:"explicitEmptyCollection"` + + // Type: The type of Agent Pool. + Type *AgentPoolType `json:"type,omitempty"` + + // UpgradeSettings: Settings for upgrading the agentpool + UpgradeSettings *AgentPoolUpgradeSettings `json:"upgradeSettings,omitempty"` + + // VmSize: VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods + // might fail to run correctly. For more details on restricted VM sizes, see: + // https://docs.microsoft.com/azure/aks/quotas-skus-regions + VmSize *string `json:"vmSize,omitempty"` + + // VnetSubnetReference: If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is + // specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: + // /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + VnetSubnetReference *genruntime.ResourceReference `armReference:"VnetSubnetID" json:"vnetSubnetReference,omitempty"` + + // WindowsProfile: The Windows agent pool's specific profile. + WindowsProfile *AgentPoolWindowsProfile `json:"windowsProfile,omitempty"` + + // WorkloadRuntime: Determines the type of workload a node can run. + WorkloadRuntime *WorkloadRuntime `json:"workloadRuntime,omitempty"` +} + +var _ genruntime.ARMTransformer = &ManagedClusterAgentPoolProfile{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (profile *ManagedClusterAgentPoolProfile) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if profile == nil { + return nil, nil + } + result := &arm.ManagedClusterAgentPoolProfile{} + + // Set property "AvailabilityZones": + for _, item := range profile.AvailabilityZones { + result.AvailabilityZones = append(result.AvailabilityZones, item) + } + + // Set property "CapacityReservationGroupID": + if profile.CapacityReservationGroupReference != nil { + capacityReservationGroupReferenceARMID, err := resolved.ResolvedReferences.Lookup(*profile.CapacityReservationGroupReference) + if err != nil { + return nil, err + } + capacityReservationGroupReference := capacityReservationGroupReferenceARMID + result.CapacityReservationGroupID = &capacityReservationGroupReference + } + + // Set property "Count": + if profile.Count != nil { + count := *profile.Count + result.Count = &count + } + + // Set property "CreationData": + if profile.CreationData != nil { + creationData_ARM, err := (*profile.CreationData).ConvertToARM(resolved) + if err != nil { + return nil, err + } + creationData := *creationData_ARM.(*arm.CreationData) + result.CreationData = &creationData + } + + // Set property "EnableAutoScaling": + if profile.EnableAutoScaling != nil { + enableAutoScaling := *profile.EnableAutoScaling + result.EnableAutoScaling = &enableAutoScaling + } + + // Set property "EnableEncryptionAtHost": + if profile.EnableEncryptionAtHost != nil { + enableEncryptionAtHost := *profile.EnableEncryptionAtHost + result.EnableEncryptionAtHost = &enableEncryptionAtHost + } + + // Set property "EnableFIPS": + if profile.EnableFIPS != nil { + enableFIPS := *profile.EnableFIPS + result.EnableFIPS = &enableFIPS + } + + // Set property "EnableNodePublicIP": + if profile.EnableNodePublicIP != nil { + enableNodePublicIP := *profile.EnableNodePublicIP + result.EnableNodePublicIP = &enableNodePublicIP + } + + // Set property "EnableUltraSSD": + if profile.EnableUltraSSD != nil { + enableUltraSSD := *profile.EnableUltraSSD + result.EnableUltraSSD = &enableUltraSSD + } + + // Set property "GpuInstanceProfile": + if profile.GpuInstanceProfile != nil { + var temp string + temp = string(*profile.GpuInstanceProfile) + gpuInstanceProfile := arm.GPUInstanceProfile(temp) + result.GpuInstanceProfile = &gpuInstanceProfile + } + + // Set property "HostGroupID": + if profile.HostGroupReference != nil { + hostGroupReferenceARMID, err := resolved.ResolvedReferences.Lookup(*profile.HostGroupReference) + if err != nil { + return nil, err + } + hostGroupReference := hostGroupReferenceARMID + result.HostGroupID = &hostGroupReference + } + + // Set property "KubeletConfig": + if profile.KubeletConfig != nil { + kubeletConfig_ARM, err := (*profile.KubeletConfig).ConvertToARM(resolved) + if err != nil { + return nil, err + } + kubeletConfig := *kubeletConfig_ARM.(*arm.KubeletConfig) + result.KubeletConfig = &kubeletConfig + } + + // Set property "KubeletDiskType": + if profile.KubeletDiskType != nil { + var temp string + temp = string(*profile.KubeletDiskType) + kubeletDiskType := arm.KubeletDiskType(temp) + result.KubeletDiskType = &kubeletDiskType + } + + // Set property "LinuxOSConfig": + if profile.LinuxOSConfig != nil { + linuxOSConfig_ARM, err := (*profile.LinuxOSConfig).ConvertToARM(resolved) + if err != nil { + return nil, err + } + linuxOSConfig := *linuxOSConfig_ARM.(*arm.LinuxOSConfig) + result.LinuxOSConfig = &linuxOSConfig + } + + // Set property "MaxCount": + if profile.MaxCount != nil { + maxCount := *profile.MaxCount + result.MaxCount = &maxCount + } + + // Set property "MaxPods": + if profile.MaxPods != nil { + maxPods := *profile.MaxPods + result.MaxPods = &maxPods + } + + // Set property "MinCount": + if profile.MinCount != nil { + minCount := *profile.MinCount + result.MinCount = &minCount + } + + // Set property "Mode": + if profile.Mode != nil { + var temp string + temp = string(*profile.Mode) + mode := arm.AgentPoolMode(temp) + result.Mode = &mode + } + + // Set property "Name": + if profile.Name != nil { + name := *profile.Name + result.Name = &name + } + + // Set property "NetworkProfile": + if profile.NetworkProfile != nil { + networkProfile_ARM, err := (*profile.NetworkProfile).ConvertToARM(resolved) + if err != nil { + return nil, err + } + networkProfile := *networkProfile_ARM.(*arm.AgentPoolNetworkProfile) + result.NetworkProfile = &networkProfile + } + + // Set property "NodeLabels": + if profile.NodeLabels != nil { + result.NodeLabels = make(map[string]string, len(profile.NodeLabels)) + for key, value := range profile.NodeLabels { + result.NodeLabels[key] = value + } + } else { + // Set property to empty map, as this resource is set to serialize all collections explicitly + result.NodeLabels = make(map[string]string) + } + + // Set property "NodePublicIPPrefixID": + if profile.NodePublicIPPrefixReference != nil { + nodePublicIPPrefixReferenceARMID, err := resolved.ResolvedReferences.Lookup(*profile.NodePublicIPPrefixReference) + if err != nil { + return nil, err + } + nodePublicIPPrefixReference := nodePublicIPPrefixReferenceARMID + result.NodePublicIPPrefixID = &nodePublicIPPrefixReference + } + + // Set property "NodeTaints": + for _, item := range profile.NodeTaints { + result.NodeTaints = append(result.NodeTaints, item) + } + if result.NodeTaints == nil { + // Set property to empty map, as this resource is set to serialize all collections explicitly + result.NodeTaints = []string{} + } + + // Set property "OrchestratorVersion": + if profile.OrchestratorVersion != nil { + orchestratorVersion := *profile.OrchestratorVersion + result.OrchestratorVersion = &orchestratorVersion + } + + // Set property "OsDiskSizeGB": + if profile.OsDiskSizeGB != nil { + osDiskSizeGB := int(*profile.OsDiskSizeGB) + result.OsDiskSizeGB = &osDiskSizeGB + } + + // Set property "OsDiskType": + if profile.OsDiskType != nil { + var temp string + temp = string(*profile.OsDiskType) + osDiskType := arm.OSDiskType(temp) + result.OsDiskType = &osDiskType + } + + // Set property "OsSKU": + if profile.OsSKU != nil { + var temp string + temp = string(*profile.OsSKU) + osSKU := arm.OSSKU(temp) + result.OsSKU = &osSKU + } + + // Set property "OsType": + if profile.OsType != nil { + var temp string + temp = string(*profile.OsType) + osType := arm.OSType(temp) + result.OsType = &osType + } + + // Set property "PodSubnetID": + if profile.PodSubnetReference != nil { + podSubnetReferenceARMID, err := resolved.ResolvedReferences.Lookup(*profile.PodSubnetReference) + if err != nil { + return nil, err + } + podSubnetReference := podSubnetReferenceARMID + result.PodSubnetID = &podSubnetReference + } + + // Set property "PowerState": + if profile.PowerState != nil { + powerState_ARM, err := (*profile.PowerState).ConvertToARM(resolved) + if err != nil { + return nil, err + } + powerState := *powerState_ARM.(*arm.PowerState) + result.PowerState = &powerState + } + + // Set property "ProximityPlacementGroupID": + if profile.ProximityPlacementGroupReference != nil { + proximityPlacementGroupReferenceARMID, err := resolved.ResolvedReferences.Lookup(*profile.ProximityPlacementGroupReference) + if err != nil { + return nil, err + } + proximityPlacementGroupReference := proximityPlacementGroupReferenceARMID + result.ProximityPlacementGroupID = &proximityPlacementGroupReference + } + + // Set property "ScaleDownMode": + if profile.ScaleDownMode != nil { + var temp string + temp = string(*profile.ScaleDownMode) + scaleDownMode := arm.ScaleDownMode(temp) + result.ScaleDownMode = &scaleDownMode + } + + // Set property "ScaleSetEvictionPolicy": + if profile.ScaleSetEvictionPolicy != nil { + var temp string + temp = string(*profile.ScaleSetEvictionPolicy) + scaleSetEvictionPolicy := arm.ScaleSetEvictionPolicy(temp) + result.ScaleSetEvictionPolicy = &scaleSetEvictionPolicy + } + + // Set property "ScaleSetPriority": + if profile.ScaleSetPriority != nil { + var temp string + temp = string(*profile.ScaleSetPriority) + scaleSetPriority := arm.ScaleSetPriority(temp) + result.ScaleSetPriority = &scaleSetPriority + } + + // Set property "SecurityProfile": + if profile.SecurityProfile != nil { + securityProfile_ARM, err := (*profile.SecurityProfile).ConvertToARM(resolved) + if err != nil { + return nil, err + } + securityProfile := *securityProfile_ARM.(*arm.AgentPoolSecurityProfile) + result.SecurityProfile = &securityProfile + } + + // Set property "SpotMaxPrice": + if profile.SpotMaxPrice != nil { + spotMaxPrice := *profile.SpotMaxPrice + result.SpotMaxPrice = &spotMaxPrice + } + + // Set property "Tags": + if profile.Tags != nil { + result.Tags = make(map[string]string, len(profile.Tags)) + for key, value := range profile.Tags { + result.Tags[key] = value + } + } else { + // Set property to empty map, as this resource is set to serialize all collections explicitly + result.Tags = make(map[string]string) + } + + // Set property "Type": + if profile.Type != nil { + var temp string + temp = string(*profile.Type) + typeVar := arm.AgentPoolType(temp) + result.Type = &typeVar + } + + // Set property "UpgradeSettings": + if profile.UpgradeSettings != nil { + upgradeSettings_ARM, err := (*profile.UpgradeSettings).ConvertToARM(resolved) + if err != nil { + return nil, err + } + upgradeSettings := *upgradeSettings_ARM.(*arm.AgentPoolUpgradeSettings) + result.UpgradeSettings = &upgradeSettings + } + + // Set property "VmSize": + if profile.VmSize != nil { + vmSize := *profile.VmSize + result.VmSize = &vmSize + } + + // Set property "VnetSubnetID": + if profile.VnetSubnetReference != nil { + vnetSubnetReferenceARMID, err := resolved.ResolvedReferences.Lookup(*profile.VnetSubnetReference) + if err != nil { + return nil, err + } + vnetSubnetReference := vnetSubnetReferenceARMID + result.VnetSubnetID = &vnetSubnetReference + } + + // Set property "WindowsProfile": + if profile.WindowsProfile != nil { + windowsProfile_ARM, err := (*profile.WindowsProfile).ConvertToARM(resolved) + if err != nil { + return nil, err + } + windowsProfile := *windowsProfile_ARM.(*arm.AgentPoolWindowsProfile) + result.WindowsProfile = &windowsProfile + } + + // Set property "WorkloadRuntime": + if profile.WorkloadRuntime != nil { + var temp string + temp = string(*profile.WorkloadRuntime) + workloadRuntime := arm.WorkloadRuntime(temp) + result.WorkloadRuntime = &workloadRuntime + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (profile *ManagedClusterAgentPoolProfile) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ManagedClusterAgentPoolProfile{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (profile *ManagedClusterAgentPoolProfile) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ManagedClusterAgentPoolProfile) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ManagedClusterAgentPoolProfile, got %T", armInput) + } + + // Set property "AvailabilityZones": + for _, item := range typedInput.AvailabilityZones { + profile.AvailabilityZones = append(profile.AvailabilityZones, item) + } + + // no assignment for property "CapacityReservationGroupReference" + + // Set property "Count": + if typedInput.Count != nil { + count := *typedInput.Count + profile.Count = &count + } + + // Set property "CreationData": + if typedInput.CreationData != nil { + var creationData1 CreationData + err := creationData1.PopulateFromARM(owner, *typedInput.CreationData) + if err != nil { + return err + } + creationData := creationData1 + profile.CreationData = &creationData + } + + // Set property "EnableAutoScaling": + if typedInput.EnableAutoScaling != nil { + enableAutoScaling := *typedInput.EnableAutoScaling + profile.EnableAutoScaling = &enableAutoScaling + } + + // Set property "EnableEncryptionAtHost": + if typedInput.EnableEncryptionAtHost != nil { + enableEncryptionAtHost := *typedInput.EnableEncryptionAtHost + profile.EnableEncryptionAtHost = &enableEncryptionAtHost + } + + // Set property "EnableFIPS": + if typedInput.EnableFIPS != nil { + enableFIPS := *typedInput.EnableFIPS + profile.EnableFIPS = &enableFIPS + } + + // Set property "EnableNodePublicIP": + if typedInput.EnableNodePublicIP != nil { + enableNodePublicIP := *typedInput.EnableNodePublicIP + profile.EnableNodePublicIP = &enableNodePublicIP + } + + // Set property "EnableUltraSSD": + if typedInput.EnableUltraSSD != nil { + enableUltraSSD := *typedInput.EnableUltraSSD + profile.EnableUltraSSD = &enableUltraSSD + } + + // Set property "GpuInstanceProfile": + if typedInput.GpuInstanceProfile != nil { + var temp string + temp = string(*typedInput.GpuInstanceProfile) + gpuInstanceProfile := GPUInstanceProfile(temp) + profile.GpuInstanceProfile = &gpuInstanceProfile + } + + // no assignment for property "HostGroupReference" + + // Set property "KubeletConfig": + if typedInput.KubeletConfig != nil { + var kubeletConfig1 KubeletConfig + err := kubeletConfig1.PopulateFromARM(owner, *typedInput.KubeletConfig) + if err != nil { + return err + } + kubeletConfig := kubeletConfig1 + profile.KubeletConfig = &kubeletConfig + } + + // Set property "KubeletDiskType": + if typedInput.KubeletDiskType != nil { + var temp string + temp = string(*typedInput.KubeletDiskType) + kubeletDiskType := KubeletDiskType(temp) + profile.KubeletDiskType = &kubeletDiskType + } + + // Set property "LinuxOSConfig": + if typedInput.LinuxOSConfig != nil { + var linuxOSConfig1 LinuxOSConfig + err := linuxOSConfig1.PopulateFromARM(owner, *typedInput.LinuxOSConfig) + if err != nil { + return err + } + linuxOSConfig := linuxOSConfig1 + profile.LinuxOSConfig = &linuxOSConfig + } + + // Set property "MaxCount": + if typedInput.MaxCount != nil { + maxCount := *typedInput.MaxCount + profile.MaxCount = &maxCount + } + + // Set property "MaxPods": + if typedInput.MaxPods != nil { + maxPods := *typedInput.MaxPods + profile.MaxPods = &maxPods + } + + // Set property "MinCount": + if typedInput.MinCount != nil { + minCount := *typedInput.MinCount + profile.MinCount = &minCount + } + + // Set property "Mode": + if typedInput.Mode != nil { + var temp string + temp = string(*typedInput.Mode) + mode := AgentPoolMode(temp) + profile.Mode = &mode + } + + // Set property "Name": + if typedInput.Name != nil { + name := *typedInput.Name + profile.Name = &name + } + + // Set property "NetworkProfile": + if typedInput.NetworkProfile != nil { + var networkProfile1 AgentPoolNetworkProfile + err := networkProfile1.PopulateFromARM(owner, *typedInput.NetworkProfile) + if err != nil { + return err + } + networkProfile := networkProfile1 + profile.NetworkProfile = &networkProfile + } + + // Set property "NodeLabels": + if typedInput.NodeLabels != nil { + profile.NodeLabels = make(map[string]string, len(typedInput.NodeLabels)) + for key, value := range typedInput.NodeLabels { + profile.NodeLabels[key] = value + } + } else { + // Set property to empty map, as this resource is set to serialize all collections explicitly + profile.NodeLabels = make(map[string]string) + } + + // no assignment for property "NodePublicIPPrefixReference" + + // Set property "NodeTaints": + for _, item := range typedInput.NodeTaints { + profile.NodeTaints = append(profile.NodeTaints, item) + } + if profile.NodeTaints == nil { + // Set property to empty map, as this resource is set to serialize all collections explicitly + profile.NodeTaints = []string{} + } + + // Set property "OrchestratorVersion": + if typedInput.OrchestratorVersion != nil { + orchestratorVersion := *typedInput.OrchestratorVersion + profile.OrchestratorVersion = &orchestratorVersion + } + + // Set property "OsDiskSizeGB": + if typedInput.OsDiskSizeGB != nil { + osDiskSizeGB := ContainerServiceOSDisk(*typedInput.OsDiskSizeGB) + profile.OsDiskSizeGB = &osDiskSizeGB + } + + // Set property "OsDiskType": + if typedInput.OsDiskType != nil { + var temp string + temp = string(*typedInput.OsDiskType) + osDiskType := OSDiskType(temp) + profile.OsDiskType = &osDiskType + } + + // Set property "OsSKU": + if typedInput.OsSKU != nil { + var temp string + temp = string(*typedInput.OsSKU) + osSKU := OSSKU(temp) + profile.OsSKU = &osSKU + } + + // Set property "OsType": + if typedInput.OsType != nil { + var temp string + temp = string(*typedInput.OsType) + osType := OSType(temp) + profile.OsType = &osType + } + + // no assignment for property "PodSubnetReference" + + // Set property "PowerState": + if typedInput.PowerState != nil { + var powerState1 PowerState + err := powerState1.PopulateFromARM(owner, *typedInput.PowerState) + if err != nil { + return err + } + powerState := powerState1 + profile.PowerState = &powerState + } + + // no assignment for property "ProximityPlacementGroupReference" + + // Set property "ScaleDownMode": + if typedInput.ScaleDownMode != nil { + var temp string + temp = string(*typedInput.ScaleDownMode) + scaleDownMode := ScaleDownMode(temp) + profile.ScaleDownMode = &scaleDownMode + } + + // Set property "ScaleSetEvictionPolicy": + if typedInput.ScaleSetEvictionPolicy != nil { + var temp string + temp = string(*typedInput.ScaleSetEvictionPolicy) + scaleSetEvictionPolicy := ScaleSetEvictionPolicy(temp) + profile.ScaleSetEvictionPolicy = &scaleSetEvictionPolicy + } + + // Set property "ScaleSetPriority": + if typedInput.ScaleSetPriority != nil { + var temp string + temp = string(*typedInput.ScaleSetPriority) + scaleSetPriority := ScaleSetPriority(temp) + profile.ScaleSetPriority = &scaleSetPriority + } + + // Set property "SecurityProfile": + if typedInput.SecurityProfile != nil { + var securityProfile1 AgentPoolSecurityProfile + err := securityProfile1.PopulateFromARM(owner, *typedInput.SecurityProfile) + if err != nil { + return err + } + securityProfile := securityProfile1 + profile.SecurityProfile = &securityProfile + } + + // Set property "SpotMaxPrice": + if typedInput.SpotMaxPrice != nil { + spotMaxPrice := *typedInput.SpotMaxPrice + profile.SpotMaxPrice = &spotMaxPrice + } + + // Set property "Tags": + if typedInput.Tags != nil { + profile.Tags = make(map[string]string, len(typedInput.Tags)) + for key, value := range typedInput.Tags { + profile.Tags[key] = value + } + } else { + // Set property to empty map, as this resource is set to serialize all collections explicitly + profile.Tags = make(map[string]string) + } + + // Set property "Type": + if typedInput.Type != nil { + var temp string + temp = string(*typedInput.Type) + typeVar := AgentPoolType(temp) + profile.Type = &typeVar + } + + // Set property "UpgradeSettings": + if typedInput.UpgradeSettings != nil { + var upgradeSettings1 AgentPoolUpgradeSettings + err := upgradeSettings1.PopulateFromARM(owner, *typedInput.UpgradeSettings) + if err != nil { + return err + } + upgradeSettings := upgradeSettings1 + profile.UpgradeSettings = &upgradeSettings + } + + // Set property "VmSize": + if typedInput.VmSize != nil { + vmSize := *typedInput.VmSize + profile.VmSize = &vmSize + } + + // no assignment for property "VnetSubnetReference" + + // Set property "WindowsProfile": + if typedInput.WindowsProfile != nil { + var windowsProfile1 AgentPoolWindowsProfile + err := windowsProfile1.PopulateFromARM(owner, *typedInput.WindowsProfile) + if err != nil { + return err + } + windowsProfile := windowsProfile1 + profile.WindowsProfile = &windowsProfile + } + + // Set property "WorkloadRuntime": + if typedInput.WorkloadRuntime != nil { + var temp string + temp = string(*typedInput.WorkloadRuntime) + workloadRuntime := WorkloadRuntime(temp) + profile.WorkloadRuntime = &workloadRuntime + } + + // No error + return nil +} + +// AssignProperties_From_ManagedClusterAgentPoolProfile populates our ManagedClusterAgentPoolProfile from the provided source ManagedClusterAgentPoolProfile +func (profile *ManagedClusterAgentPoolProfile) AssignProperties_From_ManagedClusterAgentPoolProfile(source *storage.ManagedClusterAgentPoolProfile) error { + + // AvailabilityZones + profile.AvailabilityZones = genruntime.CloneSliceOfString(source.AvailabilityZones) + + // CapacityReservationGroupReference + if source.CapacityReservationGroupReference != nil { + capacityReservationGroupReference := source.CapacityReservationGroupReference.Copy() + profile.CapacityReservationGroupReference = &capacityReservationGroupReference + } else { + profile.CapacityReservationGroupReference = nil + } + + // Count + profile.Count = genruntime.ClonePointerToInt(source.Count) + + // CreationData + if source.CreationData != nil { + var creationDatum CreationData + err := creationDatum.AssignProperties_From_CreationData(source.CreationData) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_CreationData() to populate field CreationData") + } + profile.CreationData = &creationDatum + } else { + profile.CreationData = nil + } + + // EnableAutoScaling + if source.EnableAutoScaling != nil { + enableAutoScaling := *source.EnableAutoScaling + profile.EnableAutoScaling = &enableAutoScaling + } else { + profile.EnableAutoScaling = nil + } + + // EnableEncryptionAtHost + if source.EnableEncryptionAtHost != nil { + enableEncryptionAtHost := *source.EnableEncryptionAtHost + profile.EnableEncryptionAtHost = &enableEncryptionAtHost + } else { + profile.EnableEncryptionAtHost = nil + } + + // EnableFIPS + if source.EnableFIPS != nil { + enableFIPS := *source.EnableFIPS + profile.EnableFIPS = &enableFIPS + } else { + profile.EnableFIPS = nil + } + + // EnableNodePublicIP + if source.EnableNodePublicIP != nil { + enableNodePublicIP := *source.EnableNodePublicIP + profile.EnableNodePublicIP = &enableNodePublicIP + } else { + profile.EnableNodePublicIP = nil + } + + // EnableUltraSSD + if source.EnableUltraSSD != nil { + enableUltraSSD := *source.EnableUltraSSD + profile.EnableUltraSSD = &enableUltraSSD + } else { + profile.EnableUltraSSD = nil + } + + // GpuInstanceProfile + if source.GpuInstanceProfile != nil { + gpuInstanceProfile := *source.GpuInstanceProfile + gpuInstanceProfileTemp := genruntime.ToEnum(gpuInstanceProfile, gPUInstanceProfile_Values) + profile.GpuInstanceProfile = &gpuInstanceProfileTemp + } else { + profile.GpuInstanceProfile = nil + } + + // HostGroupReference + if source.HostGroupReference != nil { + hostGroupReference := source.HostGroupReference.Copy() + profile.HostGroupReference = &hostGroupReference + } else { + profile.HostGroupReference = nil + } + + // KubeletConfig + if source.KubeletConfig != nil { + var kubeletConfig KubeletConfig + err := kubeletConfig.AssignProperties_From_KubeletConfig(source.KubeletConfig) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_KubeletConfig() to populate field KubeletConfig") + } + profile.KubeletConfig = &kubeletConfig + } else { + profile.KubeletConfig = nil + } + + // KubeletDiskType + if source.KubeletDiskType != nil { + kubeletDiskType := *source.KubeletDiskType + kubeletDiskTypeTemp := genruntime.ToEnum(kubeletDiskType, kubeletDiskType_Values) + profile.KubeletDiskType = &kubeletDiskTypeTemp + } else { + profile.KubeletDiskType = nil + } + + // LinuxOSConfig + if source.LinuxOSConfig != nil { + var linuxOSConfig LinuxOSConfig + err := linuxOSConfig.AssignProperties_From_LinuxOSConfig(source.LinuxOSConfig) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_LinuxOSConfig() to populate field LinuxOSConfig") + } + profile.LinuxOSConfig = &linuxOSConfig + } else { + profile.LinuxOSConfig = nil + } + + // MaxCount + profile.MaxCount = genruntime.ClonePointerToInt(source.MaxCount) + + // MaxPods + profile.MaxPods = genruntime.ClonePointerToInt(source.MaxPods) + + // MinCount + profile.MinCount = genruntime.ClonePointerToInt(source.MinCount) + + // Mode + if source.Mode != nil { + mode := *source.Mode + modeTemp := genruntime.ToEnum(mode, agentPoolMode_Values) + profile.Mode = &modeTemp + } else { + profile.Mode = nil + } + + // Name + if source.Name != nil { + name := *source.Name + profile.Name = &name + } else { + profile.Name = nil + } + + // NetworkProfile + if source.NetworkProfile != nil { + var networkProfile AgentPoolNetworkProfile + err := networkProfile.AssignProperties_From_AgentPoolNetworkProfile(source.NetworkProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_AgentPoolNetworkProfile() to populate field NetworkProfile") + } + profile.NetworkProfile = &networkProfile + } else { + profile.NetworkProfile = nil + } + + // NodeLabels + profile.NodeLabels = genruntime.CloneMapOfStringToString(source.NodeLabels) + + // NodePublicIPPrefixReference + if source.NodePublicIPPrefixReference != nil { + nodePublicIPPrefixReference := source.NodePublicIPPrefixReference.Copy() + profile.NodePublicIPPrefixReference = &nodePublicIPPrefixReference + } else { + profile.NodePublicIPPrefixReference = nil + } + + // NodeTaints + profile.NodeTaints = genruntime.CloneSliceOfString(source.NodeTaints) + + // OrchestratorVersion + profile.OrchestratorVersion = genruntime.ClonePointerToString(source.OrchestratorVersion) + + // OsDiskSizeGB + if source.OsDiskSizeGB != nil { + osDiskSizeGB := ContainerServiceOSDisk(*source.OsDiskSizeGB) + profile.OsDiskSizeGB = &osDiskSizeGB + } else { + profile.OsDiskSizeGB = nil + } + + // OsDiskType + if source.OsDiskType != nil { + osDiskType := *source.OsDiskType + osDiskTypeTemp := genruntime.ToEnum(osDiskType, oSDiskType_Values) + profile.OsDiskType = &osDiskTypeTemp + } else { + profile.OsDiskType = nil + } + + // OsSKU + if source.OsSKU != nil { + osSKU := *source.OsSKU + osSKUTemp := genruntime.ToEnum(osSKU, oSSKU_Values) + profile.OsSKU = &osSKUTemp + } else { + profile.OsSKU = nil + } + + // OsType + if source.OsType != nil { + osType := *source.OsType + osTypeTemp := genruntime.ToEnum(osType, oSType_Values) + profile.OsType = &osTypeTemp + } else { + profile.OsType = nil + } + + // PodSubnetReference + if source.PodSubnetReference != nil { + podSubnetReference := source.PodSubnetReference.Copy() + profile.PodSubnetReference = &podSubnetReference + } else { + profile.PodSubnetReference = nil + } + + // PowerState + if source.PowerState != nil { + var powerState PowerState + err := powerState.AssignProperties_From_PowerState(source.PowerState) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_PowerState() to populate field PowerState") + } + profile.PowerState = &powerState + } else { + profile.PowerState = nil + } + + // ProximityPlacementGroupReference + if source.ProximityPlacementGroupReference != nil { + proximityPlacementGroupReference := source.ProximityPlacementGroupReference.Copy() + profile.ProximityPlacementGroupReference = &proximityPlacementGroupReference + } else { + profile.ProximityPlacementGroupReference = nil + } + + // ScaleDownMode + if source.ScaleDownMode != nil { + scaleDownMode := *source.ScaleDownMode + scaleDownModeTemp := genruntime.ToEnum(scaleDownMode, scaleDownMode_Values) + profile.ScaleDownMode = &scaleDownModeTemp + } else { + profile.ScaleDownMode = nil + } + + // ScaleSetEvictionPolicy + if source.ScaleSetEvictionPolicy != nil { + scaleSetEvictionPolicy := *source.ScaleSetEvictionPolicy + scaleSetEvictionPolicyTemp := genruntime.ToEnum(scaleSetEvictionPolicy, scaleSetEvictionPolicy_Values) + profile.ScaleSetEvictionPolicy = &scaleSetEvictionPolicyTemp + } else { + profile.ScaleSetEvictionPolicy = nil + } + + // ScaleSetPriority + if source.ScaleSetPriority != nil { + scaleSetPriority := *source.ScaleSetPriority + scaleSetPriorityTemp := genruntime.ToEnum(scaleSetPriority, scaleSetPriority_Values) + profile.ScaleSetPriority = &scaleSetPriorityTemp + } else { + profile.ScaleSetPriority = nil + } + + // SecurityProfile + if source.SecurityProfile != nil { + var securityProfile AgentPoolSecurityProfile + err := securityProfile.AssignProperties_From_AgentPoolSecurityProfile(source.SecurityProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_AgentPoolSecurityProfile() to populate field SecurityProfile") + } + profile.SecurityProfile = &securityProfile + } else { + profile.SecurityProfile = nil + } + + // SpotMaxPrice + if source.SpotMaxPrice != nil { + spotMaxPrice := *source.SpotMaxPrice + profile.SpotMaxPrice = &spotMaxPrice + } else { + profile.SpotMaxPrice = nil + } + + // Tags + profile.Tags = genruntime.CloneMapOfStringToString(source.Tags) + + // Type + if source.Type != nil { + typeVar := *source.Type + typeTemp := genruntime.ToEnum(typeVar, agentPoolType_Values) + profile.Type = &typeTemp + } else { + profile.Type = nil + } + + // UpgradeSettings + if source.UpgradeSettings != nil { + var upgradeSetting AgentPoolUpgradeSettings + err := upgradeSetting.AssignProperties_From_AgentPoolUpgradeSettings(source.UpgradeSettings) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_AgentPoolUpgradeSettings() to populate field UpgradeSettings") + } + profile.UpgradeSettings = &upgradeSetting + } else { + profile.UpgradeSettings = nil + } + + // VmSize + profile.VmSize = genruntime.ClonePointerToString(source.VmSize) + + // VnetSubnetReference + if source.VnetSubnetReference != nil { + vnetSubnetReference := source.VnetSubnetReference.Copy() + profile.VnetSubnetReference = &vnetSubnetReference + } else { + profile.VnetSubnetReference = nil + } + + // WindowsProfile + if source.WindowsProfile != nil { + var windowsProfile AgentPoolWindowsProfile + err := windowsProfile.AssignProperties_From_AgentPoolWindowsProfile(source.WindowsProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_AgentPoolWindowsProfile() to populate field WindowsProfile") + } + profile.WindowsProfile = &windowsProfile + } else { + profile.WindowsProfile = nil + } + + // WorkloadRuntime + if source.WorkloadRuntime != nil { + workloadRuntime := *source.WorkloadRuntime + workloadRuntimeTemp := genruntime.ToEnum(workloadRuntime, workloadRuntime_Values) + profile.WorkloadRuntime = &workloadRuntimeTemp + } else { + profile.WorkloadRuntime = nil + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterAgentPoolProfile populates the provided destination ManagedClusterAgentPoolProfile from our ManagedClusterAgentPoolProfile +func (profile *ManagedClusterAgentPoolProfile) AssignProperties_To_ManagedClusterAgentPoolProfile(destination *storage.ManagedClusterAgentPoolProfile) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // AvailabilityZones + destination.AvailabilityZones = genruntime.CloneSliceOfString(profile.AvailabilityZones) + + // CapacityReservationGroupReference + if profile.CapacityReservationGroupReference != nil { + capacityReservationGroupReference := profile.CapacityReservationGroupReference.Copy() + destination.CapacityReservationGroupReference = &capacityReservationGroupReference + } else { + destination.CapacityReservationGroupReference = nil + } + + // Count + destination.Count = genruntime.ClonePointerToInt(profile.Count) + + // CreationData + if profile.CreationData != nil { + var creationDatum storage.CreationData + err := profile.CreationData.AssignProperties_To_CreationData(&creationDatum) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_CreationData() to populate field CreationData") + } + destination.CreationData = &creationDatum + } else { + destination.CreationData = nil + } + + // EnableAutoScaling + if profile.EnableAutoScaling != nil { + enableAutoScaling := *profile.EnableAutoScaling + destination.EnableAutoScaling = &enableAutoScaling + } else { + destination.EnableAutoScaling = nil + } + + // EnableEncryptionAtHost + if profile.EnableEncryptionAtHost != nil { + enableEncryptionAtHost := *profile.EnableEncryptionAtHost + destination.EnableEncryptionAtHost = &enableEncryptionAtHost + } else { + destination.EnableEncryptionAtHost = nil + } + + // EnableFIPS + if profile.EnableFIPS != nil { + enableFIPS := *profile.EnableFIPS + destination.EnableFIPS = &enableFIPS + } else { + destination.EnableFIPS = nil + } + + // EnableNodePublicIP + if profile.EnableNodePublicIP != nil { + enableNodePublicIP := *profile.EnableNodePublicIP + destination.EnableNodePublicIP = &enableNodePublicIP + } else { + destination.EnableNodePublicIP = nil + } + + // EnableUltraSSD + if profile.EnableUltraSSD != nil { + enableUltraSSD := *profile.EnableUltraSSD + destination.EnableUltraSSD = &enableUltraSSD + } else { + destination.EnableUltraSSD = nil + } + + // GpuInstanceProfile + if profile.GpuInstanceProfile != nil { + gpuInstanceProfile := string(*profile.GpuInstanceProfile) + destination.GpuInstanceProfile = &gpuInstanceProfile + } else { + destination.GpuInstanceProfile = nil + } + + // HostGroupReference + if profile.HostGroupReference != nil { + hostGroupReference := profile.HostGroupReference.Copy() + destination.HostGroupReference = &hostGroupReference + } else { + destination.HostGroupReference = nil + } + + // KubeletConfig + if profile.KubeletConfig != nil { + var kubeletConfig storage.KubeletConfig + err := profile.KubeletConfig.AssignProperties_To_KubeletConfig(&kubeletConfig) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_KubeletConfig() to populate field KubeletConfig") + } + destination.KubeletConfig = &kubeletConfig + } else { + destination.KubeletConfig = nil + } + + // KubeletDiskType + if profile.KubeletDiskType != nil { + kubeletDiskType := string(*profile.KubeletDiskType) + destination.KubeletDiskType = &kubeletDiskType + } else { + destination.KubeletDiskType = nil + } + + // LinuxOSConfig + if profile.LinuxOSConfig != nil { + var linuxOSConfig storage.LinuxOSConfig + err := profile.LinuxOSConfig.AssignProperties_To_LinuxOSConfig(&linuxOSConfig) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_LinuxOSConfig() to populate field LinuxOSConfig") + } + destination.LinuxOSConfig = &linuxOSConfig + } else { + destination.LinuxOSConfig = nil + } + + // MaxCount + destination.MaxCount = genruntime.ClonePointerToInt(profile.MaxCount) + + // MaxPods + destination.MaxPods = genruntime.ClonePointerToInt(profile.MaxPods) + + // MinCount + destination.MinCount = genruntime.ClonePointerToInt(profile.MinCount) + + // Mode + if profile.Mode != nil { + mode := string(*profile.Mode) + destination.Mode = &mode + } else { + destination.Mode = nil + } + + // Name + if profile.Name != nil { + name := *profile.Name + destination.Name = &name + } else { + destination.Name = nil + } + + // NetworkProfile + if profile.NetworkProfile != nil { + var networkProfile storage.AgentPoolNetworkProfile + err := profile.NetworkProfile.AssignProperties_To_AgentPoolNetworkProfile(&networkProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_AgentPoolNetworkProfile() to populate field NetworkProfile") + } + destination.NetworkProfile = &networkProfile + } else { + destination.NetworkProfile = nil + } + + // NodeLabels + destination.NodeLabels = genruntime.CloneMapOfStringToString(profile.NodeLabels) + + // NodePublicIPPrefixReference + if profile.NodePublicIPPrefixReference != nil { + nodePublicIPPrefixReference := profile.NodePublicIPPrefixReference.Copy() + destination.NodePublicIPPrefixReference = &nodePublicIPPrefixReference + } else { + destination.NodePublicIPPrefixReference = nil + } + + // NodeTaints + destination.NodeTaints = genruntime.CloneSliceOfString(profile.NodeTaints) + + // OrchestratorVersion + destination.OrchestratorVersion = genruntime.ClonePointerToString(profile.OrchestratorVersion) + + // OsDiskSizeGB + if profile.OsDiskSizeGB != nil { + osDiskSizeGB := int(*profile.OsDiskSizeGB) + destination.OsDiskSizeGB = &osDiskSizeGB + } else { + destination.OsDiskSizeGB = nil + } + + // OsDiskType + if profile.OsDiskType != nil { + osDiskType := string(*profile.OsDiskType) + destination.OsDiskType = &osDiskType + } else { + destination.OsDiskType = nil + } + + // OsSKU + if profile.OsSKU != nil { + osSKU := string(*profile.OsSKU) + destination.OsSKU = &osSKU + } else { + destination.OsSKU = nil + } + + // OsType + if profile.OsType != nil { + osType := string(*profile.OsType) + destination.OsType = &osType + } else { + destination.OsType = nil + } + + // PodSubnetReference + if profile.PodSubnetReference != nil { + podSubnetReference := profile.PodSubnetReference.Copy() + destination.PodSubnetReference = &podSubnetReference + } else { + destination.PodSubnetReference = nil + } + + // PowerState + if profile.PowerState != nil { + var powerState storage.PowerState + err := profile.PowerState.AssignProperties_To_PowerState(&powerState) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_PowerState() to populate field PowerState") + } + destination.PowerState = &powerState + } else { + destination.PowerState = nil + } + + // ProximityPlacementGroupReference + if profile.ProximityPlacementGroupReference != nil { + proximityPlacementGroupReference := profile.ProximityPlacementGroupReference.Copy() + destination.ProximityPlacementGroupReference = &proximityPlacementGroupReference + } else { + destination.ProximityPlacementGroupReference = nil + } + + // ScaleDownMode + if profile.ScaleDownMode != nil { + scaleDownMode := string(*profile.ScaleDownMode) + destination.ScaleDownMode = &scaleDownMode + } else { + destination.ScaleDownMode = nil + } + + // ScaleSetEvictionPolicy + if profile.ScaleSetEvictionPolicy != nil { + scaleSetEvictionPolicy := string(*profile.ScaleSetEvictionPolicy) + destination.ScaleSetEvictionPolicy = &scaleSetEvictionPolicy + } else { + destination.ScaleSetEvictionPolicy = nil + } + + // ScaleSetPriority + if profile.ScaleSetPriority != nil { + scaleSetPriority := string(*profile.ScaleSetPriority) + destination.ScaleSetPriority = &scaleSetPriority + } else { + destination.ScaleSetPriority = nil + } + + // SecurityProfile + if profile.SecurityProfile != nil { + var securityProfile storage.AgentPoolSecurityProfile + err := profile.SecurityProfile.AssignProperties_To_AgentPoolSecurityProfile(&securityProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_AgentPoolSecurityProfile() to populate field SecurityProfile") + } + destination.SecurityProfile = &securityProfile + } else { + destination.SecurityProfile = nil + } + + // SpotMaxPrice + if profile.SpotMaxPrice != nil { + spotMaxPrice := *profile.SpotMaxPrice + destination.SpotMaxPrice = &spotMaxPrice + } else { + destination.SpotMaxPrice = nil + } + + // Tags + destination.Tags = genruntime.CloneMapOfStringToString(profile.Tags) + + // Type + if profile.Type != nil { + typeVar := string(*profile.Type) + destination.Type = &typeVar + } else { + destination.Type = nil + } + + // UpgradeSettings + if profile.UpgradeSettings != nil { + var upgradeSetting storage.AgentPoolUpgradeSettings + err := profile.UpgradeSettings.AssignProperties_To_AgentPoolUpgradeSettings(&upgradeSetting) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_AgentPoolUpgradeSettings() to populate field UpgradeSettings") + } + destination.UpgradeSettings = &upgradeSetting + } else { + destination.UpgradeSettings = nil + } + + // VmSize + destination.VmSize = genruntime.ClonePointerToString(profile.VmSize) + + // VnetSubnetReference + if profile.VnetSubnetReference != nil { + vnetSubnetReference := profile.VnetSubnetReference.Copy() + destination.VnetSubnetReference = &vnetSubnetReference + } else { + destination.VnetSubnetReference = nil + } + + // WindowsProfile + if profile.WindowsProfile != nil { + var windowsProfile storage.AgentPoolWindowsProfile + err := profile.WindowsProfile.AssignProperties_To_AgentPoolWindowsProfile(&windowsProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_AgentPoolWindowsProfile() to populate field WindowsProfile") + } + destination.WindowsProfile = &windowsProfile + } else { + destination.WindowsProfile = nil + } + + // WorkloadRuntime + if profile.WorkloadRuntime != nil { + workloadRuntime := string(*profile.WorkloadRuntime) + destination.WorkloadRuntime = &workloadRuntime + } else { + destination.WorkloadRuntime = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_ManagedClusterAgentPoolProfile_STATUS populates our ManagedClusterAgentPoolProfile from the provided source ManagedClusterAgentPoolProfile_STATUS +func (profile *ManagedClusterAgentPoolProfile) Initialize_From_ManagedClusterAgentPoolProfile_STATUS(source *ManagedClusterAgentPoolProfile_STATUS) error { + + // AvailabilityZones + profile.AvailabilityZones = genruntime.CloneSliceOfString(source.AvailabilityZones) + + // Count + profile.Count = genruntime.ClonePointerToInt(source.Count) + + // CreationData + if source.CreationData != nil { + var creationDatum CreationData + err := creationDatum.Initialize_From_CreationData_STATUS(source.CreationData) + if err != nil { + return errors.Wrap(err, "calling Initialize_From_CreationData_STATUS() to populate field CreationData") + } + profile.CreationData = &creationDatum + } else { + profile.CreationData = nil + } + + // EnableAutoScaling + if source.EnableAutoScaling != nil { + enableAutoScaling := *source.EnableAutoScaling + profile.EnableAutoScaling = &enableAutoScaling + } else { + profile.EnableAutoScaling = nil + } + + // EnableEncryptionAtHost + if source.EnableEncryptionAtHost != nil { + enableEncryptionAtHost := *source.EnableEncryptionAtHost + profile.EnableEncryptionAtHost = &enableEncryptionAtHost + } else { + profile.EnableEncryptionAtHost = nil + } + + // EnableFIPS + if source.EnableFIPS != nil { + enableFIPS := *source.EnableFIPS + profile.EnableFIPS = &enableFIPS + } else { + profile.EnableFIPS = nil + } + + // EnableNodePublicIP + if source.EnableNodePublicIP != nil { + enableNodePublicIP := *source.EnableNodePublicIP + profile.EnableNodePublicIP = &enableNodePublicIP + } else { + profile.EnableNodePublicIP = nil + } + + // EnableUltraSSD + if source.EnableUltraSSD != nil { + enableUltraSSD := *source.EnableUltraSSD + profile.EnableUltraSSD = &enableUltraSSD + } else { + profile.EnableUltraSSD = nil + } + + // GpuInstanceProfile + if source.GpuInstanceProfile != nil { + gpuInstanceProfile := genruntime.ToEnum(string(*source.GpuInstanceProfile), gPUInstanceProfile_Values) + profile.GpuInstanceProfile = &gpuInstanceProfile + } else { + profile.GpuInstanceProfile = nil + } + + // KubeletConfig + if source.KubeletConfig != nil { + var kubeletConfig KubeletConfig + err := kubeletConfig.Initialize_From_KubeletConfig_STATUS(source.KubeletConfig) + if err != nil { + return errors.Wrap(err, "calling Initialize_From_KubeletConfig_STATUS() to populate field KubeletConfig") + } + profile.KubeletConfig = &kubeletConfig + } else { + profile.KubeletConfig = nil + } + + // KubeletDiskType + if source.KubeletDiskType != nil { + kubeletDiskType := genruntime.ToEnum(string(*source.KubeletDiskType), kubeletDiskType_Values) + profile.KubeletDiskType = &kubeletDiskType + } else { + profile.KubeletDiskType = nil + } + + // LinuxOSConfig + if source.LinuxOSConfig != nil { + var linuxOSConfig LinuxOSConfig + err := linuxOSConfig.Initialize_From_LinuxOSConfig_STATUS(source.LinuxOSConfig) + if err != nil { + return errors.Wrap(err, "calling Initialize_From_LinuxOSConfig_STATUS() to populate field LinuxOSConfig") + } + profile.LinuxOSConfig = &linuxOSConfig + } else { + profile.LinuxOSConfig = nil + } + + // MaxCount + profile.MaxCount = genruntime.ClonePointerToInt(source.MaxCount) + + // MaxPods + profile.MaxPods = genruntime.ClonePointerToInt(source.MaxPods) + + // MinCount + profile.MinCount = genruntime.ClonePointerToInt(source.MinCount) + + // Mode + if source.Mode != nil { + mode := genruntime.ToEnum(string(*source.Mode), agentPoolMode_Values) + profile.Mode = &mode + } else { + profile.Mode = nil + } + + // Name + if source.Name != nil { + name := *source.Name + profile.Name = &name + } else { + profile.Name = nil + } + + // NetworkProfile + if source.NetworkProfile != nil { + var networkProfile AgentPoolNetworkProfile + err := networkProfile.Initialize_From_AgentPoolNetworkProfile_STATUS(source.NetworkProfile) + if err != nil { + return errors.Wrap(err, "calling Initialize_From_AgentPoolNetworkProfile_STATUS() to populate field NetworkProfile") + } + profile.NetworkProfile = &networkProfile + } else { + profile.NetworkProfile = nil + } + + // NodeLabels + profile.NodeLabels = genruntime.CloneMapOfStringToString(source.NodeLabels) + + // NodeTaints + profile.NodeTaints = genruntime.CloneSliceOfString(source.NodeTaints) + + // OrchestratorVersion + profile.OrchestratorVersion = genruntime.ClonePointerToString(source.OrchestratorVersion) + + // OsDiskSizeGB + if source.OsDiskSizeGB != nil { + osDiskSizeGB := ContainerServiceOSDisk(*source.OsDiskSizeGB) + profile.OsDiskSizeGB = &osDiskSizeGB + } else { + profile.OsDiskSizeGB = nil + } + + // OsDiskType + if source.OsDiskType != nil { + osDiskType := genruntime.ToEnum(string(*source.OsDiskType), oSDiskType_Values) + profile.OsDiskType = &osDiskType + } else { + profile.OsDiskType = nil + } + + // OsSKU + if source.OsSKU != nil { + osSKU := genruntime.ToEnum(string(*source.OsSKU), oSSKU_Values) + profile.OsSKU = &osSKU + } else { + profile.OsSKU = nil + } + + // OsType + if source.OsType != nil { + osType := genruntime.ToEnum(string(*source.OsType), oSType_Values) + profile.OsType = &osType + } else { + profile.OsType = nil + } + + // PowerState + if source.PowerState != nil { + var powerState PowerState + err := powerState.Initialize_From_PowerState_STATUS(source.PowerState) + if err != nil { + return errors.Wrap(err, "calling Initialize_From_PowerState_STATUS() to populate field PowerState") + } + profile.PowerState = &powerState + } else { + profile.PowerState = nil + } + + // ScaleDownMode + if source.ScaleDownMode != nil { + scaleDownMode := genruntime.ToEnum(string(*source.ScaleDownMode), scaleDownMode_Values) + profile.ScaleDownMode = &scaleDownMode + } else { + profile.ScaleDownMode = nil + } + + // ScaleSetEvictionPolicy + if source.ScaleSetEvictionPolicy != nil { + scaleSetEvictionPolicy := genruntime.ToEnum(string(*source.ScaleSetEvictionPolicy), scaleSetEvictionPolicy_Values) + profile.ScaleSetEvictionPolicy = &scaleSetEvictionPolicy + } else { + profile.ScaleSetEvictionPolicy = nil + } + + // ScaleSetPriority + if source.ScaleSetPriority != nil { + scaleSetPriority := genruntime.ToEnum(string(*source.ScaleSetPriority), scaleSetPriority_Values) + profile.ScaleSetPriority = &scaleSetPriority + } else { + profile.ScaleSetPriority = nil + } + + // SecurityProfile + if source.SecurityProfile != nil { + var securityProfile AgentPoolSecurityProfile + err := securityProfile.Initialize_From_AgentPoolSecurityProfile_STATUS(source.SecurityProfile) + if err != nil { + return errors.Wrap(err, "calling Initialize_From_AgentPoolSecurityProfile_STATUS() to populate field SecurityProfile") + } + profile.SecurityProfile = &securityProfile + } else { + profile.SecurityProfile = nil + } + + // SpotMaxPrice + if source.SpotMaxPrice != nil { + spotMaxPrice := *source.SpotMaxPrice + profile.SpotMaxPrice = &spotMaxPrice + } else { + profile.SpotMaxPrice = nil + } + + // Tags + profile.Tags = genruntime.CloneMapOfStringToString(source.Tags) + + // Type + if source.Type != nil { + typeVar := genruntime.ToEnum(string(*source.Type), agentPoolType_Values) + profile.Type = &typeVar + } else { + profile.Type = nil + } + + // UpgradeSettings + if source.UpgradeSettings != nil { + var upgradeSetting AgentPoolUpgradeSettings + err := upgradeSetting.Initialize_From_AgentPoolUpgradeSettings_STATUS(source.UpgradeSettings) + if err != nil { + return errors.Wrap(err, "calling Initialize_From_AgentPoolUpgradeSettings_STATUS() to populate field UpgradeSettings") + } + profile.UpgradeSettings = &upgradeSetting + } else { + profile.UpgradeSettings = nil + } + + // VmSize + profile.VmSize = genruntime.ClonePointerToString(source.VmSize) + + // WindowsProfile + if source.WindowsProfile != nil { + var windowsProfile AgentPoolWindowsProfile + err := windowsProfile.Initialize_From_AgentPoolWindowsProfile_STATUS(source.WindowsProfile) + if err != nil { + return errors.Wrap(err, "calling Initialize_From_AgentPoolWindowsProfile_STATUS() to populate field WindowsProfile") + } + profile.WindowsProfile = &windowsProfile + } else { + profile.WindowsProfile = nil + } + + // WorkloadRuntime + if source.WorkloadRuntime != nil { + workloadRuntime := genruntime.ToEnum(string(*source.WorkloadRuntime), workloadRuntime_Values) + profile.WorkloadRuntime = &workloadRuntime + } else { + profile.WorkloadRuntime = nil + } + + // No error + return nil +} + +// Profile for the container service agent pool. +type ManagedClusterAgentPoolProfile_STATUS struct { + // AvailabilityZones: The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType + // property is 'VirtualMachineScaleSets'. + AvailabilityZones []string `json:"availabilityZones,omitempty"` + + // CapacityReservationGroupID: AKS will associate the specified agent pool with the Capacity Reservation Group. + CapacityReservationGroupID *string `json:"capacityReservationGroupID,omitempty"` + + // Count: Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) + // for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1. + Count *int `json:"count,omitempty"` + + // CreationData: CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using + // a snapshot. + CreationData *CreationData_STATUS `json:"creationData,omitempty"` + + // CurrentOrchestratorVersion: If orchestratorVersion is a fully specified version , this field will be + // exactly equal to it. If orchestratorVersion is , this field will contain the full + // version being used. + CurrentOrchestratorVersion *string `json:"currentOrchestratorVersion,omitempty"` + + // ETag: Unique read-only string used to implement optimistic concurrency. The eTag value will change when the resource is + // updated. Specify an if-match or if-none-match header with the eTag value for a subsequent request to enable optimistic + // concurrency per the normal etag convention. + ETag *string `json:"eTag,omitempty"` + + // EnableAutoScaling: Whether to enable auto-scaler + EnableAutoScaling *bool `json:"enableAutoScaling,omitempty"` + + // EnableEncryptionAtHost: This is only supported on certain VM sizes and in certain Azure regions. For more information, + // see: https://docs.microsoft.com/azure/aks/enable-host-encryption + EnableEncryptionAtHost *bool `json:"enableEncryptionAtHost,omitempty"` + + // EnableFIPS: See [Add a FIPS-enabled node + // pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more + // details. + EnableFIPS *bool `json:"enableFIPS,omitempty"` + + // EnableNodePublicIP: Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. + // A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine + // to minimize hops. For more information see [assigning a public IP per + // node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The + // default is false. + EnableNodePublicIP *bool `json:"enableNodePublicIP,omitempty"` + + // EnableUltraSSD: Whether to enable UltraSSD + EnableUltraSSD *bool `json:"enableUltraSSD,omitempty"` + + // GpuInstanceProfile: GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU. + GpuInstanceProfile *GPUInstanceProfile_STATUS `json:"gpuInstanceProfile,omitempty"` + + // HostGroupID: This is of the form: + // /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. + // For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). + HostGroupID *string `json:"hostGroupID,omitempty"` + + // KubeletConfig: The Kubelet configuration on the agent pool nodes. + KubeletConfig *KubeletConfig_STATUS `json:"kubeletConfig,omitempty"` + + // KubeletDiskType: Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral + // storage. + KubeletDiskType *KubeletDiskType_STATUS `json:"kubeletDiskType,omitempty"` + + // LinuxOSConfig: The OS configuration of Linux agent nodes. + LinuxOSConfig *LinuxOSConfig_STATUS `json:"linuxOSConfig,omitempty"` + + // MaxCount: The maximum number of nodes for auto-scaling + MaxCount *int `json:"maxCount,omitempty"` + + // MaxPods: The maximum number of pods that can run on a node. + MaxPods *int `json:"maxPods,omitempty"` + + // MinCount: The minimum number of nodes for auto-scaling + MinCount *int `json:"minCount,omitempty"` + + // Mode: A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool + // restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools + Mode *AgentPoolMode_STATUS `json:"mode,omitempty"` + + // Name: Windows agent pool names must be 6 characters or less. + Name *string `json:"name,omitempty"` + + // NetworkProfile: Network-related settings of an agent pool. + NetworkProfile *AgentPoolNetworkProfile_STATUS `json:"networkProfile,omitempty"` + + // NodeImageVersion: The version of node image + NodeImageVersion *string `json:"nodeImageVersion,omitempty"` + + // NodeLabels: The node labels to be persisted across all nodes in agent pool. + NodeLabels map[string]string `json:"nodeLabels,omitempty"` + + // NodePublicIPPrefixID: This is of the form: + // /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} + NodePublicIPPrefixID *string `json:"nodePublicIPPrefixID,omitempty"` + + // NodeTaints: The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule. + NodeTaints []string `json:"nodeTaints,omitempty"` + + // OrchestratorVersion: Both patch version (e.g. 1.20.13) and (e.g. 1.20) are supported. + // When is specified, the latest supported GA patch version is chosen automatically. Updating the cluster + // with the same once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer + // patch version is available. As a best practice, you should upgrade all node pools in an AKS cluster to the same + // Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor + // version must be within two minor versions of the control plane version. The node pool version cannot be greater than the + // control plane version. For more information see [upgrading a node + // pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). + OrchestratorVersion *string `json:"orchestratorVersion,omitempty"` + OsDiskSizeGB *int `json:"osDiskSizeGB,omitempty"` + + // OsDiskType: The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested + // OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral + // OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). + OsDiskType *OSDiskType_STATUS `json:"osDiskType,omitempty"` + + // OsSKU: Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 + // when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows. + OsSKU *OSSKU_STATUS `json:"osSKU,omitempty"` + + // OsType: The operating system type. The default is Linux. + OsType *OSType_STATUS `json:"osType,omitempty"` + + // PodSubnetID: If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). This is + // of the form: + // /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + PodSubnetID *string `json:"podSubnetID,omitempty"` + + // PowerState: When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this + // field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only + // be stopped if it is Running and provisioning state is Succeeded + PowerState *PowerState_STATUS `json:"powerState,omitempty"` + + // ProvisioningState: The current deployment or provisioning state. + ProvisioningState *string `json:"provisioningState,omitempty"` + + // ProximityPlacementGroupID: The ID for Proximity Placement Group. + ProximityPlacementGroupID *string `json:"proximityPlacementGroupID,omitempty"` + + // ScaleDownMode: This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete. + ScaleDownMode *ScaleDownMode_STATUS `json:"scaleDownMode,omitempty"` + + // ScaleSetEvictionPolicy: This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is + // 'Delete'. + ScaleSetEvictionPolicy *ScaleSetEvictionPolicy_STATUS `json:"scaleSetEvictionPolicy,omitempty"` + + // ScaleSetPriority: The Virtual Machine Scale Set priority. If not specified, the default is 'Regular'. + ScaleSetPriority *ScaleSetPriority_STATUS `json:"scaleSetPriority,omitempty"` + + // SecurityProfile: The security settings of an agent pool. + SecurityProfile *AgentPoolSecurityProfile_STATUS `json:"securityProfile,omitempty"` + + // SpotMaxPrice: Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any + // on-demand price. For more details on spot pricing, see [spot VMs + // pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing) + SpotMaxPrice *float64 `json:"spotMaxPrice,omitempty"` + + // Tags: The tags to be persisted on the agent pool virtual machine scale set. + Tags map[string]string `json:"tags,omitempty"` + + // Type: The type of Agent Pool. + Type *AgentPoolType_STATUS `json:"type,omitempty"` + + // UpgradeSettings: Settings for upgrading the agentpool + UpgradeSettings *AgentPoolUpgradeSettings_STATUS `json:"upgradeSettings,omitempty"` + + // VmSize: VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods + // might fail to run correctly. For more details on restricted VM sizes, see: + // https://docs.microsoft.com/azure/aks/quotas-skus-regions + VmSize *string `json:"vmSize,omitempty"` + + // VnetSubnetID: If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is specified, + // this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: + // /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + VnetSubnetID *string `json:"vnetSubnetID,omitempty"` + + // WindowsProfile: The Windows agent pool's specific profile. + WindowsProfile *AgentPoolWindowsProfile_STATUS `json:"windowsProfile,omitempty"` + + // WorkloadRuntime: Determines the type of workload a node can run. + WorkloadRuntime *WorkloadRuntime_STATUS `json:"workloadRuntime,omitempty"` +} + +var _ genruntime.FromARMConverter = &ManagedClusterAgentPoolProfile_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (profile *ManagedClusterAgentPoolProfile_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ManagedClusterAgentPoolProfile_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (profile *ManagedClusterAgentPoolProfile_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ManagedClusterAgentPoolProfile_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ManagedClusterAgentPoolProfile_STATUS, got %T", armInput) + } + + // Set property "AvailabilityZones": + for _, item := range typedInput.AvailabilityZones { + profile.AvailabilityZones = append(profile.AvailabilityZones, item) + } + + // Set property "CapacityReservationGroupID": + if typedInput.CapacityReservationGroupID != nil { + capacityReservationGroupID := *typedInput.CapacityReservationGroupID + profile.CapacityReservationGroupID = &capacityReservationGroupID + } + + // Set property "Count": + if typedInput.Count != nil { + count := *typedInput.Count + profile.Count = &count + } + + // Set property "CreationData": + if typedInput.CreationData != nil { + var creationData1 CreationData_STATUS + err := creationData1.PopulateFromARM(owner, *typedInput.CreationData) + if err != nil { + return err + } + creationData := creationData1 + profile.CreationData = &creationData + } + + // Set property "CurrentOrchestratorVersion": + if typedInput.CurrentOrchestratorVersion != nil { + currentOrchestratorVersion := *typedInput.CurrentOrchestratorVersion + profile.CurrentOrchestratorVersion = ¤tOrchestratorVersion + } + + // Set property "ETag": + if typedInput.ETag != nil { + eTag := *typedInput.ETag + profile.ETag = &eTag + } + + // Set property "EnableAutoScaling": + if typedInput.EnableAutoScaling != nil { + enableAutoScaling := *typedInput.EnableAutoScaling + profile.EnableAutoScaling = &enableAutoScaling + } + + // Set property "EnableEncryptionAtHost": + if typedInput.EnableEncryptionAtHost != nil { + enableEncryptionAtHost := *typedInput.EnableEncryptionAtHost + profile.EnableEncryptionAtHost = &enableEncryptionAtHost + } + + // Set property "EnableFIPS": + if typedInput.EnableFIPS != nil { + enableFIPS := *typedInput.EnableFIPS + profile.EnableFIPS = &enableFIPS + } + + // Set property "EnableNodePublicIP": + if typedInput.EnableNodePublicIP != nil { + enableNodePublicIP := *typedInput.EnableNodePublicIP + profile.EnableNodePublicIP = &enableNodePublicIP + } + + // Set property "EnableUltraSSD": + if typedInput.EnableUltraSSD != nil { + enableUltraSSD := *typedInput.EnableUltraSSD + profile.EnableUltraSSD = &enableUltraSSD + } + + // Set property "GpuInstanceProfile": + if typedInput.GpuInstanceProfile != nil { + var temp string + temp = string(*typedInput.GpuInstanceProfile) + gpuInstanceProfile := GPUInstanceProfile_STATUS(temp) + profile.GpuInstanceProfile = &gpuInstanceProfile + } + + // Set property "HostGroupID": + if typedInput.HostGroupID != nil { + hostGroupID := *typedInput.HostGroupID + profile.HostGroupID = &hostGroupID + } + + // Set property "KubeletConfig": + if typedInput.KubeletConfig != nil { + var kubeletConfig1 KubeletConfig_STATUS + err := kubeletConfig1.PopulateFromARM(owner, *typedInput.KubeletConfig) + if err != nil { + return err + } + kubeletConfig := kubeletConfig1 + profile.KubeletConfig = &kubeletConfig + } + + // Set property "KubeletDiskType": + if typedInput.KubeletDiskType != nil { + var temp string + temp = string(*typedInput.KubeletDiskType) + kubeletDiskType := KubeletDiskType_STATUS(temp) + profile.KubeletDiskType = &kubeletDiskType + } + + // Set property "LinuxOSConfig": + if typedInput.LinuxOSConfig != nil { + var linuxOSConfig1 LinuxOSConfig_STATUS + err := linuxOSConfig1.PopulateFromARM(owner, *typedInput.LinuxOSConfig) + if err != nil { + return err + } + linuxOSConfig := linuxOSConfig1 + profile.LinuxOSConfig = &linuxOSConfig + } + + // Set property "MaxCount": + if typedInput.MaxCount != nil { + maxCount := *typedInput.MaxCount + profile.MaxCount = &maxCount + } + + // Set property "MaxPods": + if typedInput.MaxPods != nil { + maxPods := *typedInput.MaxPods + profile.MaxPods = &maxPods + } + + // Set property "MinCount": + if typedInput.MinCount != nil { + minCount := *typedInput.MinCount + profile.MinCount = &minCount + } + + // Set property "Mode": + if typedInput.Mode != nil { + var temp string + temp = string(*typedInput.Mode) + mode := AgentPoolMode_STATUS(temp) + profile.Mode = &mode + } + + // Set property "Name": + if typedInput.Name != nil { + name := *typedInput.Name + profile.Name = &name + } + + // Set property "NetworkProfile": + if typedInput.NetworkProfile != nil { + var networkProfile1 AgentPoolNetworkProfile_STATUS + err := networkProfile1.PopulateFromARM(owner, *typedInput.NetworkProfile) + if err != nil { + return err + } + networkProfile := networkProfile1 + profile.NetworkProfile = &networkProfile + } + + // Set property "NodeImageVersion": + if typedInput.NodeImageVersion != nil { + nodeImageVersion := *typedInput.NodeImageVersion + profile.NodeImageVersion = &nodeImageVersion + } + + // Set property "NodeLabels": + if typedInput.NodeLabels != nil { + profile.NodeLabels = make(map[string]string, len(typedInput.NodeLabels)) + for key, value := range typedInput.NodeLabels { + profile.NodeLabels[key] = value + } + } + + // Set property "NodePublicIPPrefixID": + if typedInput.NodePublicIPPrefixID != nil { + nodePublicIPPrefixID := *typedInput.NodePublicIPPrefixID + profile.NodePublicIPPrefixID = &nodePublicIPPrefixID + } + + // Set property "NodeTaints": + for _, item := range typedInput.NodeTaints { + profile.NodeTaints = append(profile.NodeTaints, item) + } + + // Set property "OrchestratorVersion": + if typedInput.OrchestratorVersion != nil { + orchestratorVersion := *typedInput.OrchestratorVersion + profile.OrchestratorVersion = &orchestratorVersion + } + + // Set property "OsDiskSizeGB": + if typedInput.OsDiskSizeGB != nil { + osDiskSizeGB := *typedInput.OsDiskSizeGB + profile.OsDiskSizeGB = &osDiskSizeGB + } + + // Set property "OsDiskType": + if typedInput.OsDiskType != nil { + var temp string + temp = string(*typedInput.OsDiskType) + osDiskType := OSDiskType_STATUS(temp) + profile.OsDiskType = &osDiskType + } + + // Set property "OsSKU": + if typedInput.OsSKU != nil { + var temp string + temp = string(*typedInput.OsSKU) + osSKU := OSSKU_STATUS(temp) + profile.OsSKU = &osSKU + } + + // Set property "OsType": + if typedInput.OsType != nil { + var temp string + temp = string(*typedInput.OsType) + osType := OSType_STATUS(temp) + profile.OsType = &osType + } + + // Set property "PodSubnetID": + if typedInput.PodSubnetID != nil { + podSubnetID := *typedInput.PodSubnetID + profile.PodSubnetID = &podSubnetID + } + + // Set property "PowerState": + if typedInput.PowerState != nil { + var powerState1 PowerState_STATUS + err := powerState1.PopulateFromARM(owner, *typedInput.PowerState) + if err != nil { + return err + } + powerState := powerState1 + profile.PowerState = &powerState + } + + // Set property "ProvisioningState": + if typedInput.ProvisioningState != nil { + provisioningState := *typedInput.ProvisioningState + profile.ProvisioningState = &provisioningState + } + + // Set property "ProximityPlacementGroupID": + if typedInput.ProximityPlacementGroupID != nil { + proximityPlacementGroupID := *typedInput.ProximityPlacementGroupID + profile.ProximityPlacementGroupID = &proximityPlacementGroupID + } + + // Set property "ScaleDownMode": + if typedInput.ScaleDownMode != nil { + var temp string + temp = string(*typedInput.ScaleDownMode) + scaleDownMode := ScaleDownMode_STATUS(temp) + profile.ScaleDownMode = &scaleDownMode + } + + // Set property "ScaleSetEvictionPolicy": + if typedInput.ScaleSetEvictionPolicy != nil { + var temp string + temp = string(*typedInput.ScaleSetEvictionPolicy) + scaleSetEvictionPolicy := ScaleSetEvictionPolicy_STATUS(temp) + profile.ScaleSetEvictionPolicy = &scaleSetEvictionPolicy + } + + // Set property "ScaleSetPriority": + if typedInput.ScaleSetPriority != nil { + var temp string + temp = string(*typedInput.ScaleSetPriority) + scaleSetPriority := ScaleSetPriority_STATUS(temp) + profile.ScaleSetPriority = &scaleSetPriority + } + + // Set property "SecurityProfile": + if typedInput.SecurityProfile != nil { + var securityProfile1 AgentPoolSecurityProfile_STATUS + err := securityProfile1.PopulateFromARM(owner, *typedInput.SecurityProfile) + if err != nil { + return err + } + securityProfile := securityProfile1 + profile.SecurityProfile = &securityProfile + } + + // Set property "SpotMaxPrice": + if typedInput.SpotMaxPrice != nil { + spotMaxPrice := *typedInput.SpotMaxPrice + profile.SpotMaxPrice = &spotMaxPrice + } + + // Set property "Tags": + if typedInput.Tags != nil { + profile.Tags = make(map[string]string, len(typedInput.Tags)) + for key, value := range typedInput.Tags { + profile.Tags[key] = value + } + } + + // Set property "Type": + if typedInput.Type != nil { + var temp string + temp = string(*typedInput.Type) + typeVar := AgentPoolType_STATUS(temp) + profile.Type = &typeVar + } + + // Set property "UpgradeSettings": + if typedInput.UpgradeSettings != nil { + var upgradeSettings1 AgentPoolUpgradeSettings_STATUS + err := upgradeSettings1.PopulateFromARM(owner, *typedInput.UpgradeSettings) + if err != nil { + return err + } + upgradeSettings := upgradeSettings1 + profile.UpgradeSettings = &upgradeSettings + } + + // Set property "VmSize": + if typedInput.VmSize != nil { + vmSize := *typedInput.VmSize + profile.VmSize = &vmSize + } + + // Set property "VnetSubnetID": + if typedInput.VnetSubnetID != nil { + vnetSubnetID := *typedInput.VnetSubnetID + profile.VnetSubnetID = &vnetSubnetID + } + + // Set property "WindowsProfile": + if typedInput.WindowsProfile != nil { + var windowsProfile1 AgentPoolWindowsProfile_STATUS + err := windowsProfile1.PopulateFromARM(owner, *typedInput.WindowsProfile) + if err != nil { + return err + } + windowsProfile := windowsProfile1 + profile.WindowsProfile = &windowsProfile + } + + // Set property "WorkloadRuntime": + if typedInput.WorkloadRuntime != nil { + var temp string + temp = string(*typedInput.WorkloadRuntime) + workloadRuntime := WorkloadRuntime_STATUS(temp) + profile.WorkloadRuntime = &workloadRuntime + } + + // No error + return nil +} + +// AssignProperties_From_ManagedClusterAgentPoolProfile_STATUS populates our ManagedClusterAgentPoolProfile_STATUS from the provided source ManagedClusterAgentPoolProfile_STATUS +func (profile *ManagedClusterAgentPoolProfile_STATUS) AssignProperties_From_ManagedClusterAgentPoolProfile_STATUS(source *storage.ManagedClusterAgentPoolProfile_STATUS) error { + + // AvailabilityZones + profile.AvailabilityZones = genruntime.CloneSliceOfString(source.AvailabilityZones) + + // CapacityReservationGroupID + profile.CapacityReservationGroupID = genruntime.ClonePointerToString(source.CapacityReservationGroupID) + + // Count + profile.Count = genruntime.ClonePointerToInt(source.Count) + + // CreationData + if source.CreationData != nil { + var creationDatum CreationData_STATUS + err := creationDatum.AssignProperties_From_CreationData_STATUS(source.CreationData) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_CreationData_STATUS() to populate field CreationData") + } + profile.CreationData = &creationDatum + } else { + profile.CreationData = nil + } + + // CurrentOrchestratorVersion + profile.CurrentOrchestratorVersion = genruntime.ClonePointerToString(source.CurrentOrchestratorVersion) + + // ETag + profile.ETag = genruntime.ClonePointerToString(source.ETag) + + // EnableAutoScaling + if source.EnableAutoScaling != nil { + enableAutoScaling := *source.EnableAutoScaling + profile.EnableAutoScaling = &enableAutoScaling + } else { + profile.EnableAutoScaling = nil + } + + // EnableEncryptionAtHost + if source.EnableEncryptionAtHost != nil { + enableEncryptionAtHost := *source.EnableEncryptionAtHost + profile.EnableEncryptionAtHost = &enableEncryptionAtHost + } else { + profile.EnableEncryptionAtHost = nil + } + + // EnableFIPS + if source.EnableFIPS != nil { + enableFIPS := *source.EnableFIPS + profile.EnableFIPS = &enableFIPS + } else { + profile.EnableFIPS = nil + } + + // EnableNodePublicIP + if source.EnableNodePublicIP != nil { + enableNodePublicIP := *source.EnableNodePublicIP + profile.EnableNodePublicIP = &enableNodePublicIP + } else { + profile.EnableNodePublicIP = nil + } + + // EnableUltraSSD + if source.EnableUltraSSD != nil { + enableUltraSSD := *source.EnableUltraSSD + profile.EnableUltraSSD = &enableUltraSSD + } else { + profile.EnableUltraSSD = nil + } + + // GpuInstanceProfile + if source.GpuInstanceProfile != nil { + gpuInstanceProfile := *source.GpuInstanceProfile + gpuInstanceProfileTemp := genruntime.ToEnum(gpuInstanceProfile, gPUInstanceProfile_STATUS_Values) + profile.GpuInstanceProfile = &gpuInstanceProfileTemp + } else { + profile.GpuInstanceProfile = nil + } + + // HostGroupID + profile.HostGroupID = genruntime.ClonePointerToString(source.HostGroupID) + + // KubeletConfig + if source.KubeletConfig != nil { + var kubeletConfig KubeletConfig_STATUS + err := kubeletConfig.AssignProperties_From_KubeletConfig_STATUS(source.KubeletConfig) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_KubeletConfig_STATUS() to populate field KubeletConfig") + } + profile.KubeletConfig = &kubeletConfig + } else { + profile.KubeletConfig = nil + } + + // KubeletDiskType + if source.KubeletDiskType != nil { + kubeletDiskType := *source.KubeletDiskType + kubeletDiskTypeTemp := genruntime.ToEnum(kubeletDiskType, kubeletDiskType_STATUS_Values) + profile.KubeletDiskType = &kubeletDiskTypeTemp + } else { + profile.KubeletDiskType = nil + } + + // LinuxOSConfig + if source.LinuxOSConfig != nil { + var linuxOSConfig LinuxOSConfig_STATUS + err := linuxOSConfig.AssignProperties_From_LinuxOSConfig_STATUS(source.LinuxOSConfig) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_LinuxOSConfig_STATUS() to populate field LinuxOSConfig") + } + profile.LinuxOSConfig = &linuxOSConfig + } else { + profile.LinuxOSConfig = nil + } + + // MaxCount + profile.MaxCount = genruntime.ClonePointerToInt(source.MaxCount) + + // MaxPods + profile.MaxPods = genruntime.ClonePointerToInt(source.MaxPods) + + // MinCount + profile.MinCount = genruntime.ClonePointerToInt(source.MinCount) + + // Mode + if source.Mode != nil { + mode := *source.Mode + modeTemp := genruntime.ToEnum(mode, agentPoolMode_STATUS_Values) + profile.Mode = &modeTemp + } else { + profile.Mode = nil + } + + // Name + profile.Name = genruntime.ClonePointerToString(source.Name) + + // NetworkProfile + if source.NetworkProfile != nil { + var networkProfile AgentPoolNetworkProfile_STATUS + err := networkProfile.AssignProperties_From_AgentPoolNetworkProfile_STATUS(source.NetworkProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_AgentPoolNetworkProfile_STATUS() to populate field NetworkProfile") + } + profile.NetworkProfile = &networkProfile + } else { + profile.NetworkProfile = nil + } + + // NodeImageVersion + profile.NodeImageVersion = genruntime.ClonePointerToString(source.NodeImageVersion) + + // NodeLabels + profile.NodeLabels = genruntime.CloneMapOfStringToString(source.NodeLabels) + + // NodePublicIPPrefixID + profile.NodePublicIPPrefixID = genruntime.ClonePointerToString(source.NodePublicIPPrefixID) + + // NodeTaints + profile.NodeTaints = genruntime.CloneSliceOfString(source.NodeTaints) + + // OrchestratorVersion + profile.OrchestratorVersion = genruntime.ClonePointerToString(source.OrchestratorVersion) + + // OsDiskSizeGB + profile.OsDiskSizeGB = genruntime.ClonePointerToInt(source.OsDiskSizeGB) + + // OsDiskType + if source.OsDiskType != nil { + osDiskType := *source.OsDiskType + osDiskTypeTemp := genruntime.ToEnum(osDiskType, oSDiskType_STATUS_Values) + profile.OsDiskType = &osDiskTypeTemp + } else { + profile.OsDiskType = nil + } + + // OsSKU + if source.OsSKU != nil { + osSKU := *source.OsSKU + osSKUTemp := genruntime.ToEnum(osSKU, oSSKU_STATUS_Values) + profile.OsSKU = &osSKUTemp + } else { + profile.OsSKU = nil + } + + // OsType + if source.OsType != nil { + osType := *source.OsType + osTypeTemp := genruntime.ToEnum(osType, oSType_STATUS_Values) + profile.OsType = &osTypeTemp + } else { + profile.OsType = nil + } + + // PodSubnetID + profile.PodSubnetID = genruntime.ClonePointerToString(source.PodSubnetID) + + // PowerState + if source.PowerState != nil { + var powerState PowerState_STATUS + err := powerState.AssignProperties_From_PowerState_STATUS(source.PowerState) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_PowerState_STATUS() to populate field PowerState") + } + profile.PowerState = &powerState + } else { + profile.PowerState = nil + } + + // ProvisioningState + profile.ProvisioningState = genruntime.ClonePointerToString(source.ProvisioningState) + + // ProximityPlacementGroupID + profile.ProximityPlacementGroupID = genruntime.ClonePointerToString(source.ProximityPlacementGroupID) + + // ScaleDownMode + if source.ScaleDownMode != nil { + scaleDownMode := *source.ScaleDownMode + scaleDownModeTemp := genruntime.ToEnum(scaleDownMode, scaleDownMode_STATUS_Values) + profile.ScaleDownMode = &scaleDownModeTemp + } else { + profile.ScaleDownMode = nil + } + + // ScaleSetEvictionPolicy + if source.ScaleSetEvictionPolicy != nil { + scaleSetEvictionPolicy := *source.ScaleSetEvictionPolicy + scaleSetEvictionPolicyTemp := genruntime.ToEnum(scaleSetEvictionPolicy, scaleSetEvictionPolicy_STATUS_Values) + profile.ScaleSetEvictionPolicy = &scaleSetEvictionPolicyTemp + } else { + profile.ScaleSetEvictionPolicy = nil + } + + // ScaleSetPriority + if source.ScaleSetPriority != nil { + scaleSetPriority := *source.ScaleSetPriority + scaleSetPriorityTemp := genruntime.ToEnum(scaleSetPriority, scaleSetPriority_STATUS_Values) + profile.ScaleSetPriority = &scaleSetPriorityTemp + } else { + profile.ScaleSetPriority = nil + } + + // SecurityProfile + if source.SecurityProfile != nil { + var securityProfile AgentPoolSecurityProfile_STATUS + err := securityProfile.AssignProperties_From_AgentPoolSecurityProfile_STATUS(source.SecurityProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_AgentPoolSecurityProfile_STATUS() to populate field SecurityProfile") + } + profile.SecurityProfile = &securityProfile + } else { + profile.SecurityProfile = nil + } + + // SpotMaxPrice + if source.SpotMaxPrice != nil { + spotMaxPrice := *source.SpotMaxPrice + profile.SpotMaxPrice = &spotMaxPrice + } else { + profile.SpotMaxPrice = nil + } + + // Tags + profile.Tags = genruntime.CloneMapOfStringToString(source.Tags) + + // Type + if source.Type != nil { + typeVar := *source.Type + typeTemp := genruntime.ToEnum(typeVar, agentPoolType_STATUS_Values) + profile.Type = &typeTemp + } else { + profile.Type = nil + } + + // UpgradeSettings + if source.UpgradeSettings != nil { + var upgradeSetting AgentPoolUpgradeSettings_STATUS + err := upgradeSetting.AssignProperties_From_AgentPoolUpgradeSettings_STATUS(source.UpgradeSettings) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_AgentPoolUpgradeSettings_STATUS() to populate field UpgradeSettings") + } + profile.UpgradeSettings = &upgradeSetting + } else { + profile.UpgradeSettings = nil + } + + // VmSize + profile.VmSize = genruntime.ClonePointerToString(source.VmSize) + + // VnetSubnetID + profile.VnetSubnetID = genruntime.ClonePointerToString(source.VnetSubnetID) + + // WindowsProfile + if source.WindowsProfile != nil { + var windowsProfile AgentPoolWindowsProfile_STATUS + err := windowsProfile.AssignProperties_From_AgentPoolWindowsProfile_STATUS(source.WindowsProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_AgentPoolWindowsProfile_STATUS() to populate field WindowsProfile") + } + profile.WindowsProfile = &windowsProfile + } else { + profile.WindowsProfile = nil + } + + // WorkloadRuntime + if source.WorkloadRuntime != nil { + workloadRuntime := *source.WorkloadRuntime + workloadRuntimeTemp := genruntime.ToEnum(workloadRuntime, workloadRuntime_STATUS_Values) + profile.WorkloadRuntime = &workloadRuntimeTemp + } else { + profile.WorkloadRuntime = nil + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterAgentPoolProfile_STATUS populates the provided destination ManagedClusterAgentPoolProfile_STATUS from our ManagedClusterAgentPoolProfile_STATUS +func (profile *ManagedClusterAgentPoolProfile_STATUS) AssignProperties_To_ManagedClusterAgentPoolProfile_STATUS(destination *storage.ManagedClusterAgentPoolProfile_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // AvailabilityZones + destination.AvailabilityZones = genruntime.CloneSliceOfString(profile.AvailabilityZones) + + // CapacityReservationGroupID + destination.CapacityReservationGroupID = genruntime.ClonePointerToString(profile.CapacityReservationGroupID) + + // Count + destination.Count = genruntime.ClonePointerToInt(profile.Count) + + // CreationData + if profile.CreationData != nil { + var creationDatum storage.CreationData_STATUS + err := profile.CreationData.AssignProperties_To_CreationData_STATUS(&creationDatum) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_CreationData_STATUS() to populate field CreationData") + } + destination.CreationData = &creationDatum + } else { + destination.CreationData = nil + } + + // CurrentOrchestratorVersion + destination.CurrentOrchestratorVersion = genruntime.ClonePointerToString(profile.CurrentOrchestratorVersion) + + // ETag + destination.ETag = genruntime.ClonePointerToString(profile.ETag) + + // EnableAutoScaling + if profile.EnableAutoScaling != nil { + enableAutoScaling := *profile.EnableAutoScaling + destination.EnableAutoScaling = &enableAutoScaling + } else { + destination.EnableAutoScaling = nil + } + + // EnableEncryptionAtHost + if profile.EnableEncryptionAtHost != nil { + enableEncryptionAtHost := *profile.EnableEncryptionAtHost + destination.EnableEncryptionAtHost = &enableEncryptionAtHost + } else { + destination.EnableEncryptionAtHost = nil + } + + // EnableFIPS + if profile.EnableFIPS != nil { + enableFIPS := *profile.EnableFIPS + destination.EnableFIPS = &enableFIPS + } else { + destination.EnableFIPS = nil + } + + // EnableNodePublicIP + if profile.EnableNodePublicIP != nil { + enableNodePublicIP := *profile.EnableNodePublicIP + destination.EnableNodePublicIP = &enableNodePublicIP + } else { + destination.EnableNodePublicIP = nil + } + + // EnableUltraSSD + if profile.EnableUltraSSD != nil { + enableUltraSSD := *profile.EnableUltraSSD + destination.EnableUltraSSD = &enableUltraSSD + } else { + destination.EnableUltraSSD = nil + } + + // GpuInstanceProfile + if profile.GpuInstanceProfile != nil { + gpuInstanceProfile := string(*profile.GpuInstanceProfile) + destination.GpuInstanceProfile = &gpuInstanceProfile + } else { + destination.GpuInstanceProfile = nil + } + + // HostGroupID + destination.HostGroupID = genruntime.ClonePointerToString(profile.HostGroupID) + + // KubeletConfig + if profile.KubeletConfig != nil { + var kubeletConfig storage.KubeletConfig_STATUS + err := profile.KubeletConfig.AssignProperties_To_KubeletConfig_STATUS(&kubeletConfig) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_KubeletConfig_STATUS() to populate field KubeletConfig") + } + destination.KubeletConfig = &kubeletConfig + } else { + destination.KubeletConfig = nil + } + + // KubeletDiskType + if profile.KubeletDiskType != nil { + kubeletDiskType := string(*profile.KubeletDiskType) + destination.KubeletDiskType = &kubeletDiskType + } else { + destination.KubeletDiskType = nil + } + + // LinuxOSConfig + if profile.LinuxOSConfig != nil { + var linuxOSConfig storage.LinuxOSConfig_STATUS + err := profile.LinuxOSConfig.AssignProperties_To_LinuxOSConfig_STATUS(&linuxOSConfig) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_LinuxOSConfig_STATUS() to populate field LinuxOSConfig") + } + destination.LinuxOSConfig = &linuxOSConfig + } else { + destination.LinuxOSConfig = nil + } + + // MaxCount + destination.MaxCount = genruntime.ClonePointerToInt(profile.MaxCount) + + // MaxPods + destination.MaxPods = genruntime.ClonePointerToInt(profile.MaxPods) + + // MinCount + destination.MinCount = genruntime.ClonePointerToInt(profile.MinCount) + + // Mode + if profile.Mode != nil { + mode := string(*profile.Mode) + destination.Mode = &mode + } else { + destination.Mode = nil + } + + // Name + destination.Name = genruntime.ClonePointerToString(profile.Name) + + // NetworkProfile + if profile.NetworkProfile != nil { + var networkProfile storage.AgentPoolNetworkProfile_STATUS + err := profile.NetworkProfile.AssignProperties_To_AgentPoolNetworkProfile_STATUS(&networkProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_AgentPoolNetworkProfile_STATUS() to populate field NetworkProfile") + } + destination.NetworkProfile = &networkProfile + } else { + destination.NetworkProfile = nil + } + + // NodeImageVersion + destination.NodeImageVersion = genruntime.ClonePointerToString(profile.NodeImageVersion) + + // NodeLabels + destination.NodeLabels = genruntime.CloneMapOfStringToString(profile.NodeLabels) + + // NodePublicIPPrefixID + destination.NodePublicIPPrefixID = genruntime.ClonePointerToString(profile.NodePublicIPPrefixID) + + // NodeTaints + destination.NodeTaints = genruntime.CloneSliceOfString(profile.NodeTaints) + + // OrchestratorVersion + destination.OrchestratorVersion = genruntime.ClonePointerToString(profile.OrchestratorVersion) + + // OsDiskSizeGB + destination.OsDiskSizeGB = genruntime.ClonePointerToInt(profile.OsDiskSizeGB) + + // OsDiskType + if profile.OsDiskType != nil { + osDiskType := string(*profile.OsDiskType) + destination.OsDiskType = &osDiskType + } else { + destination.OsDiskType = nil + } + + // OsSKU + if profile.OsSKU != nil { + osSKU := string(*profile.OsSKU) + destination.OsSKU = &osSKU + } else { + destination.OsSKU = nil + } + + // OsType + if profile.OsType != nil { + osType := string(*profile.OsType) + destination.OsType = &osType + } else { + destination.OsType = nil + } + + // PodSubnetID + destination.PodSubnetID = genruntime.ClonePointerToString(profile.PodSubnetID) + + // PowerState + if profile.PowerState != nil { + var powerState storage.PowerState_STATUS + err := profile.PowerState.AssignProperties_To_PowerState_STATUS(&powerState) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_PowerState_STATUS() to populate field PowerState") + } + destination.PowerState = &powerState + } else { + destination.PowerState = nil + } + + // ProvisioningState + destination.ProvisioningState = genruntime.ClonePointerToString(profile.ProvisioningState) + + // ProximityPlacementGroupID + destination.ProximityPlacementGroupID = genruntime.ClonePointerToString(profile.ProximityPlacementGroupID) + + // ScaleDownMode + if profile.ScaleDownMode != nil { + scaleDownMode := string(*profile.ScaleDownMode) + destination.ScaleDownMode = &scaleDownMode + } else { + destination.ScaleDownMode = nil + } + + // ScaleSetEvictionPolicy + if profile.ScaleSetEvictionPolicy != nil { + scaleSetEvictionPolicy := string(*profile.ScaleSetEvictionPolicy) + destination.ScaleSetEvictionPolicy = &scaleSetEvictionPolicy + } else { + destination.ScaleSetEvictionPolicy = nil + } + + // ScaleSetPriority + if profile.ScaleSetPriority != nil { + scaleSetPriority := string(*profile.ScaleSetPriority) + destination.ScaleSetPriority = &scaleSetPriority + } else { + destination.ScaleSetPriority = nil + } + + // SecurityProfile + if profile.SecurityProfile != nil { + var securityProfile storage.AgentPoolSecurityProfile_STATUS + err := profile.SecurityProfile.AssignProperties_To_AgentPoolSecurityProfile_STATUS(&securityProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_AgentPoolSecurityProfile_STATUS() to populate field SecurityProfile") + } + destination.SecurityProfile = &securityProfile + } else { + destination.SecurityProfile = nil + } + + // SpotMaxPrice + if profile.SpotMaxPrice != nil { + spotMaxPrice := *profile.SpotMaxPrice + destination.SpotMaxPrice = &spotMaxPrice + } else { + destination.SpotMaxPrice = nil + } + + // Tags + destination.Tags = genruntime.CloneMapOfStringToString(profile.Tags) + + // Type + if profile.Type != nil { + typeVar := string(*profile.Type) + destination.Type = &typeVar + } else { + destination.Type = nil + } + + // UpgradeSettings + if profile.UpgradeSettings != nil { + var upgradeSetting storage.AgentPoolUpgradeSettings_STATUS + err := profile.UpgradeSettings.AssignProperties_To_AgentPoolUpgradeSettings_STATUS(&upgradeSetting) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_AgentPoolUpgradeSettings_STATUS() to populate field UpgradeSettings") + } + destination.UpgradeSettings = &upgradeSetting + } else { + destination.UpgradeSettings = nil + } + + // VmSize + destination.VmSize = genruntime.ClonePointerToString(profile.VmSize) + + // VnetSubnetID + destination.VnetSubnetID = genruntime.ClonePointerToString(profile.VnetSubnetID) + + // WindowsProfile + if profile.WindowsProfile != nil { + var windowsProfile storage.AgentPoolWindowsProfile_STATUS + err := profile.WindowsProfile.AssignProperties_To_AgentPoolWindowsProfile_STATUS(&windowsProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_AgentPoolWindowsProfile_STATUS() to populate field WindowsProfile") + } + destination.WindowsProfile = &windowsProfile + } else { + destination.WindowsProfile = nil + } + + // WorkloadRuntime + if profile.WorkloadRuntime != nil { + workloadRuntime := string(*profile.WorkloadRuntime) + destination.WorkloadRuntime = &workloadRuntime + } else { + destination.WorkloadRuntime = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Access profile for managed cluster API server. +type ManagedClusterAPIServerAccessProfile struct { + // AuthorizedIPRanges: IP ranges are specified in CIDR format, e.g. 137.117.106.88/29. This feature is not compatible with + // clusters that use Public IP Per Node, or clusters that are using a Basic Load Balancer. For more information see [API + // server authorized IP ranges](https://docs.microsoft.com/azure/aks/api-server-authorized-ip-ranges). + AuthorizedIPRanges []string `json:"authorizedIPRanges,omitempty"` + + // DisableRunCommand: Whether to disable run command for the cluster or not. + DisableRunCommand *bool `json:"disableRunCommand,omitempty"` + + // EnablePrivateCluster: For more details, see [Creating a private AKS + // cluster](https://docs.microsoft.com/azure/aks/private-clusters). + EnablePrivateCluster *bool `json:"enablePrivateCluster,omitempty"` + + // EnablePrivateClusterPublicFQDN: Whether to create additional public FQDN for private cluster or not. + EnablePrivateClusterPublicFQDN *bool `json:"enablePrivateClusterPublicFQDN,omitempty"` + + // PrivateDNSZone: The default is System. For more details see [configure private DNS + // zone](https://docs.microsoft.com/azure/aks/private-clusters#configure-private-dns-zone). Allowed values are 'system' and + // 'none'. + PrivateDNSZone *string `json:"privateDNSZone,omitempty"` +} + +var _ genruntime.ARMTransformer = &ManagedClusterAPIServerAccessProfile{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (profile *ManagedClusterAPIServerAccessProfile) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if profile == nil { + return nil, nil + } + result := &arm.ManagedClusterAPIServerAccessProfile{} + + // Set property "AuthorizedIPRanges": + for _, item := range profile.AuthorizedIPRanges { + result.AuthorizedIPRanges = append(result.AuthorizedIPRanges, item) + } + + // Set property "DisableRunCommand": + if profile.DisableRunCommand != nil { + disableRunCommand := *profile.DisableRunCommand + result.DisableRunCommand = &disableRunCommand + } + + // Set property "EnablePrivateCluster": + if profile.EnablePrivateCluster != nil { + enablePrivateCluster := *profile.EnablePrivateCluster + result.EnablePrivateCluster = &enablePrivateCluster + } + + // Set property "EnablePrivateClusterPublicFQDN": + if profile.EnablePrivateClusterPublicFQDN != nil { + enablePrivateClusterPublicFQDN := *profile.EnablePrivateClusterPublicFQDN + result.EnablePrivateClusterPublicFQDN = &enablePrivateClusterPublicFQDN + } + + // Set property "PrivateDNSZone": + if profile.PrivateDNSZone != nil { + privateDNSZone := *profile.PrivateDNSZone + result.PrivateDNSZone = &privateDNSZone + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (profile *ManagedClusterAPIServerAccessProfile) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ManagedClusterAPIServerAccessProfile{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (profile *ManagedClusterAPIServerAccessProfile) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ManagedClusterAPIServerAccessProfile) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ManagedClusterAPIServerAccessProfile, got %T", armInput) + } + + // Set property "AuthorizedIPRanges": + for _, item := range typedInput.AuthorizedIPRanges { + profile.AuthorizedIPRanges = append(profile.AuthorizedIPRanges, item) + } + + // Set property "DisableRunCommand": + if typedInput.DisableRunCommand != nil { + disableRunCommand := *typedInput.DisableRunCommand + profile.DisableRunCommand = &disableRunCommand + } + + // Set property "EnablePrivateCluster": + if typedInput.EnablePrivateCluster != nil { + enablePrivateCluster := *typedInput.EnablePrivateCluster + profile.EnablePrivateCluster = &enablePrivateCluster + } + + // Set property "EnablePrivateClusterPublicFQDN": + if typedInput.EnablePrivateClusterPublicFQDN != nil { + enablePrivateClusterPublicFQDN := *typedInput.EnablePrivateClusterPublicFQDN + profile.EnablePrivateClusterPublicFQDN = &enablePrivateClusterPublicFQDN + } + + // Set property "PrivateDNSZone": + if typedInput.PrivateDNSZone != nil { + privateDNSZone := *typedInput.PrivateDNSZone + profile.PrivateDNSZone = &privateDNSZone + } + + // No error + return nil +} + +// AssignProperties_From_ManagedClusterAPIServerAccessProfile populates our ManagedClusterAPIServerAccessProfile from the provided source ManagedClusterAPIServerAccessProfile +func (profile *ManagedClusterAPIServerAccessProfile) AssignProperties_From_ManagedClusterAPIServerAccessProfile(source *storage.ManagedClusterAPIServerAccessProfile) error { + + // AuthorizedIPRanges + profile.AuthorizedIPRanges = genruntime.CloneSliceOfString(source.AuthorizedIPRanges) + + // DisableRunCommand + if source.DisableRunCommand != nil { + disableRunCommand := *source.DisableRunCommand + profile.DisableRunCommand = &disableRunCommand + } else { + profile.DisableRunCommand = nil + } + + // EnablePrivateCluster + if source.EnablePrivateCluster != nil { + enablePrivateCluster := *source.EnablePrivateCluster + profile.EnablePrivateCluster = &enablePrivateCluster + } else { + profile.EnablePrivateCluster = nil + } + + // EnablePrivateClusterPublicFQDN + if source.EnablePrivateClusterPublicFQDN != nil { + enablePrivateClusterPublicFQDN := *source.EnablePrivateClusterPublicFQDN + profile.EnablePrivateClusterPublicFQDN = &enablePrivateClusterPublicFQDN + } else { + profile.EnablePrivateClusterPublicFQDN = nil + } + + // PrivateDNSZone + profile.PrivateDNSZone = genruntime.ClonePointerToString(source.PrivateDNSZone) + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterAPIServerAccessProfile populates the provided destination ManagedClusterAPIServerAccessProfile from our ManagedClusterAPIServerAccessProfile +func (profile *ManagedClusterAPIServerAccessProfile) AssignProperties_To_ManagedClusterAPIServerAccessProfile(destination *storage.ManagedClusterAPIServerAccessProfile) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // AuthorizedIPRanges + destination.AuthorizedIPRanges = genruntime.CloneSliceOfString(profile.AuthorizedIPRanges) + + // DisableRunCommand + if profile.DisableRunCommand != nil { + disableRunCommand := *profile.DisableRunCommand + destination.DisableRunCommand = &disableRunCommand + } else { + destination.DisableRunCommand = nil + } + + // EnablePrivateCluster + if profile.EnablePrivateCluster != nil { + enablePrivateCluster := *profile.EnablePrivateCluster + destination.EnablePrivateCluster = &enablePrivateCluster + } else { + destination.EnablePrivateCluster = nil + } + + // EnablePrivateClusterPublicFQDN + if profile.EnablePrivateClusterPublicFQDN != nil { + enablePrivateClusterPublicFQDN := *profile.EnablePrivateClusterPublicFQDN + destination.EnablePrivateClusterPublicFQDN = &enablePrivateClusterPublicFQDN + } else { + destination.EnablePrivateClusterPublicFQDN = nil + } + + // PrivateDNSZone + destination.PrivateDNSZone = genruntime.ClonePointerToString(profile.PrivateDNSZone) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_ManagedClusterAPIServerAccessProfile_STATUS populates our ManagedClusterAPIServerAccessProfile from the provided source ManagedClusterAPIServerAccessProfile_STATUS +func (profile *ManagedClusterAPIServerAccessProfile) Initialize_From_ManagedClusterAPIServerAccessProfile_STATUS(source *ManagedClusterAPIServerAccessProfile_STATUS) error { + + // AuthorizedIPRanges + profile.AuthorizedIPRanges = genruntime.CloneSliceOfString(source.AuthorizedIPRanges) + + // DisableRunCommand + if source.DisableRunCommand != nil { + disableRunCommand := *source.DisableRunCommand + profile.DisableRunCommand = &disableRunCommand + } else { + profile.DisableRunCommand = nil + } + + // EnablePrivateCluster + if source.EnablePrivateCluster != nil { + enablePrivateCluster := *source.EnablePrivateCluster + profile.EnablePrivateCluster = &enablePrivateCluster + } else { + profile.EnablePrivateCluster = nil + } + + // EnablePrivateClusterPublicFQDN + if source.EnablePrivateClusterPublicFQDN != nil { + enablePrivateClusterPublicFQDN := *source.EnablePrivateClusterPublicFQDN + profile.EnablePrivateClusterPublicFQDN = &enablePrivateClusterPublicFQDN + } else { + profile.EnablePrivateClusterPublicFQDN = nil + } + + // PrivateDNSZone + profile.PrivateDNSZone = genruntime.ClonePointerToString(source.PrivateDNSZone) + + // No error + return nil +} + +// Access profile for managed cluster API server. +type ManagedClusterAPIServerAccessProfile_STATUS struct { + // AuthorizedIPRanges: IP ranges are specified in CIDR format, e.g. 137.117.106.88/29. This feature is not compatible with + // clusters that use Public IP Per Node, or clusters that are using a Basic Load Balancer. For more information see [API + // server authorized IP ranges](https://docs.microsoft.com/azure/aks/api-server-authorized-ip-ranges). + AuthorizedIPRanges []string `json:"authorizedIPRanges,omitempty"` + + // DisableRunCommand: Whether to disable run command for the cluster or not. + DisableRunCommand *bool `json:"disableRunCommand,omitempty"` + + // EnablePrivateCluster: For more details, see [Creating a private AKS + // cluster](https://docs.microsoft.com/azure/aks/private-clusters). + EnablePrivateCluster *bool `json:"enablePrivateCluster,omitempty"` + + // EnablePrivateClusterPublicFQDN: Whether to create additional public FQDN for private cluster or not. + EnablePrivateClusterPublicFQDN *bool `json:"enablePrivateClusterPublicFQDN,omitempty"` + + // PrivateDNSZone: The default is System. For more details see [configure private DNS + // zone](https://docs.microsoft.com/azure/aks/private-clusters#configure-private-dns-zone). Allowed values are 'system' and + // 'none'. + PrivateDNSZone *string `json:"privateDNSZone,omitempty"` +} + +var _ genruntime.FromARMConverter = &ManagedClusterAPIServerAccessProfile_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (profile *ManagedClusterAPIServerAccessProfile_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ManagedClusterAPIServerAccessProfile_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (profile *ManagedClusterAPIServerAccessProfile_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ManagedClusterAPIServerAccessProfile_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ManagedClusterAPIServerAccessProfile_STATUS, got %T", armInput) + } + + // Set property "AuthorizedIPRanges": + for _, item := range typedInput.AuthorizedIPRanges { + profile.AuthorizedIPRanges = append(profile.AuthorizedIPRanges, item) + } + + // Set property "DisableRunCommand": + if typedInput.DisableRunCommand != nil { + disableRunCommand := *typedInput.DisableRunCommand + profile.DisableRunCommand = &disableRunCommand + } + + // Set property "EnablePrivateCluster": + if typedInput.EnablePrivateCluster != nil { + enablePrivateCluster := *typedInput.EnablePrivateCluster + profile.EnablePrivateCluster = &enablePrivateCluster + } + + // Set property "EnablePrivateClusterPublicFQDN": + if typedInput.EnablePrivateClusterPublicFQDN != nil { + enablePrivateClusterPublicFQDN := *typedInput.EnablePrivateClusterPublicFQDN + profile.EnablePrivateClusterPublicFQDN = &enablePrivateClusterPublicFQDN + } + + // Set property "PrivateDNSZone": + if typedInput.PrivateDNSZone != nil { + privateDNSZone := *typedInput.PrivateDNSZone + profile.PrivateDNSZone = &privateDNSZone + } + + // No error + return nil +} + +// AssignProperties_From_ManagedClusterAPIServerAccessProfile_STATUS populates our ManagedClusterAPIServerAccessProfile_STATUS from the provided source ManagedClusterAPIServerAccessProfile_STATUS +func (profile *ManagedClusterAPIServerAccessProfile_STATUS) AssignProperties_From_ManagedClusterAPIServerAccessProfile_STATUS(source *storage.ManagedClusterAPIServerAccessProfile_STATUS) error { + + // AuthorizedIPRanges + profile.AuthorizedIPRanges = genruntime.CloneSliceOfString(source.AuthorizedIPRanges) + + // DisableRunCommand + if source.DisableRunCommand != nil { + disableRunCommand := *source.DisableRunCommand + profile.DisableRunCommand = &disableRunCommand + } else { + profile.DisableRunCommand = nil + } + + // EnablePrivateCluster + if source.EnablePrivateCluster != nil { + enablePrivateCluster := *source.EnablePrivateCluster + profile.EnablePrivateCluster = &enablePrivateCluster + } else { + profile.EnablePrivateCluster = nil + } + + // EnablePrivateClusterPublicFQDN + if source.EnablePrivateClusterPublicFQDN != nil { + enablePrivateClusterPublicFQDN := *source.EnablePrivateClusterPublicFQDN + profile.EnablePrivateClusterPublicFQDN = &enablePrivateClusterPublicFQDN + } else { + profile.EnablePrivateClusterPublicFQDN = nil + } + + // PrivateDNSZone + profile.PrivateDNSZone = genruntime.ClonePointerToString(source.PrivateDNSZone) + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterAPIServerAccessProfile_STATUS populates the provided destination ManagedClusterAPIServerAccessProfile_STATUS from our ManagedClusterAPIServerAccessProfile_STATUS +func (profile *ManagedClusterAPIServerAccessProfile_STATUS) AssignProperties_To_ManagedClusterAPIServerAccessProfile_STATUS(destination *storage.ManagedClusterAPIServerAccessProfile_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // AuthorizedIPRanges + destination.AuthorizedIPRanges = genruntime.CloneSliceOfString(profile.AuthorizedIPRanges) + + // DisableRunCommand + if profile.DisableRunCommand != nil { + disableRunCommand := *profile.DisableRunCommand + destination.DisableRunCommand = &disableRunCommand + } else { + destination.DisableRunCommand = nil + } + + // EnablePrivateCluster + if profile.EnablePrivateCluster != nil { + enablePrivateCluster := *profile.EnablePrivateCluster + destination.EnablePrivateCluster = &enablePrivateCluster + } else { + destination.EnablePrivateCluster = nil + } + + // EnablePrivateClusterPublicFQDN + if profile.EnablePrivateClusterPublicFQDN != nil { + enablePrivateClusterPublicFQDN := *profile.EnablePrivateClusterPublicFQDN + destination.EnablePrivateClusterPublicFQDN = &enablePrivateClusterPublicFQDN + } else { + destination.EnablePrivateClusterPublicFQDN = nil + } + + // PrivateDNSZone + destination.PrivateDNSZone = genruntime.ClonePointerToString(profile.PrivateDNSZone) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Auto upgrade profile for a managed cluster. +type ManagedClusterAutoUpgradeProfile struct { + // NodeOSUpgradeChannel: Manner in which the OS on your nodes is updated. The default is NodeImage. + NodeOSUpgradeChannel *ManagedClusterAutoUpgradeProfile_NodeOSUpgradeChannel `json:"nodeOSUpgradeChannel,omitempty"` + + // UpgradeChannel: For more information see [setting the AKS cluster auto-upgrade + // channel](https://docs.microsoft.com/azure/aks/upgrade-cluster#set-auto-upgrade-channel). + UpgradeChannel *ManagedClusterAutoUpgradeProfile_UpgradeChannel `json:"upgradeChannel,omitempty"` +} + +var _ genruntime.ARMTransformer = &ManagedClusterAutoUpgradeProfile{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (profile *ManagedClusterAutoUpgradeProfile) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if profile == nil { + return nil, nil + } + result := &arm.ManagedClusterAutoUpgradeProfile{} + + // Set property "NodeOSUpgradeChannel": + if profile.NodeOSUpgradeChannel != nil { + var temp string + temp = string(*profile.NodeOSUpgradeChannel) + nodeOSUpgradeChannel := arm.ManagedClusterAutoUpgradeProfile_NodeOSUpgradeChannel(temp) + result.NodeOSUpgradeChannel = &nodeOSUpgradeChannel + } + + // Set property "UpgradeChannel": + if profile.UpgradeChannel != nil { + var temp string + temp = string(*profile.UpgradeChannel) + upgradeChannel := arm.ManagedClusterAutoUpgradeProfile_UpgradeChannel(temp) + result.UpgradeChannel = &upgradeChannel + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (profile *ManagedClusterAutoUpgradeProfile) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ManagedClusterAutoUpgradeProfile{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (profile *ManagedClusterAutoUpgradeProfile) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ManagedClusterAutoUpgradeProfile) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ManagedClusterAutoUpgradeProfile, got %T", armInput) + } + + // Set property "NodeOSUpgradeChannel": + if typedInput.NodeOSUpgradeChannel != nil { + var temp string + temp = string(*typedInput.NodeOSUpgradeChannel) + nodeOSUpgradeChannel := ManagedClusterAutoUpgradeProfile_NodeOSUpgradeChannel(temp) + profile.NodeOSUpgradeChannel = &nodeOSUpgradeChannel + } + + // Set property "UpgradeChannel": + if typedInput.UpgradeChannel != nil { + var temp string + temp = string(*typedInput.UpgradeChannel) + upgradeChannel := ManagedClusterAutoUpgradeProfile_UpgradeChannel(temp) + profile.UpgradeChannel = &upgradeChannel + } + + // No error + return nil +} + +// AssignProperties_From_ManagedClusterAutoUpgradeProfile populates our ManagedClusterAutoUpgradeProfile from the provided source ManagedClusterAutoUpgradeProfile +func (profile *ManagedClusterAutoUpgradeProfile) AssignProperties_From_ManagedClusterAutoUpgradeProfile(source *storage.ManagedClusterAutoUpgradeProfile) error { + + // NodeOSUpgradeChannel + if source.NodeOSUpgradeChannel != nil { + nodeOSUpgradeChannel := *source.NodeOSUpgradeChannel + nodeOSUpgradeChannelTemp := genruntime.ToEnum(nodeOSUpgradeChannel, managedClusterAutoUpgradeProfile_NodeOSUpgradeChannel_Values) + profile.NodeOSUpgradeChannel = &nodeOSUpgradeChannelTemp + } else { + profile.NodeOSUpgradeChannel = nil + } + + // UpgradeChannel + if source.UpgradeChannel != nil { + upgradeChannel := *source.UpgradeChannel + upgradeChannelTemp := genruntime.ToEnum(upgradeChannel, managedClusterAutoUpgradeProfile_UpgradeChannel_Values) + profile.UpgradeChannel = &upgradeChannelTemp + } else { + profile.UpgradeChannel = nil + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterAutoUpgradeProfile populates the provided destination ManagedClusterAutoUpgradeProfile from our ManagedClusterAutoUpgradeProfile +func (profile *ManagedClusterAutoUpgradeProfile) AssignProperties_To_ManagedClusterAutoUpgradeProfile(destination *storage.ManagedClusterAutoUpgradeProfile) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // NodeOSUpgradeChannel + if profile.NodeOSUpgradeChannel != nil { + nodeOSUpgradeChannel := string(*profile.NodeOSUpgradeChannel) + destination.NodeOSUpgradeChannel = &nodeOSUpgradeChannel + } else { + destination.NodeOSUpgradeChannel = nil + } + + // UpgradeChannel + if profile.UpgradeChannel != nil { + upgradeChannel := string(*profile.UpgradeChannel) + destination.UpgradeChannel = &upgradeChannel + } else { + destination.UpgradeChannel = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_ManagedClusterAutoUpgradeProfile_STATUS populates our ManagedClusterAutoUpgradeProfile from the provided source ManagedClusterAutoUpgradeProfile_STATUS +func (profile *ManagedClusterAutoUpgradeProfile) Initialize_From_ManagedClusterAutoUpgradeProfile_STATUS(source *ManagedClusterAutoUpgradeProfile_STATUS) error { + + // NodeOSUpgradeChannel + if source.NodeOSUpgradeChannel != nil { + nodeOSUpgradeChannel := genruntime.ToEnum(string(*source.NodeOSUpgradeChannel), managedClusterAutoUpgradeProfile_NodeOSUpgradeChannel_Values) + profile.NodeOSUpgradeChannel = &nodeOSUpgradeChannel + } else { + profile.NodeOSUpgradeChannel = nil + } + + // UpgradeChannel + if source.UpgradeChannel != nil { + upgradeChannel := genruntime.ToEnum(string(*source.UpgradeChannel), managedClusterAutoUpgradeProfile_UpgradeChannel_Values) + profile.UpgradeChannel = &upgradeChannel + } else { + profile.UpgradeChannel = nil + } + + // No error + return nil +} + +// Auto upgrade profile for a managed cluster. +type ManagedClusterAutoUpgradeProfile_STATUS struct { + // NodeOSUpgradeChannel: Manner in which the OS on your nodes is updated. The default is NodeImage. + NodeOSUpgradeChannel *ManagedClusterAutoUpgradeProfile_NodeOSUpgradeChannel_STATUS `json:"nodeOSUpgradeChannel,omitempty"` + + // UpgradeChannel: For more information see [setting the AKS cluster auto-upgrade + // channel](https://docs.microsoft.com/azure/aks/upgrade-cluster#set-auto-upgrade-channel). + UpgradeChannel *ManagedClusterAutoUpgradeProfile_UpgradeChannel_STATUS `json:"upgradeChannel,omitempty"` +} + +var _ genruntime.FromARMConverter = &ManagedClusterAutoUpgradeProfile_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (profile *ManagedClusterAutoUpgradeProfile_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ManagedClusterAutoUpgradeProfile_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (profile *ManagedClusterAutoUpgradeProfile_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ManagedClusterAutoUpgradeProfile_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ManagedClusterAutoUpgradeProfile_STATUS, got %T", armInput) + } + + // Set property "NodeOSUpgradeChannel": + if typedInput.NodeOSUpgradeChannel != nil { + var temp string + temp = string(*typedInput.NodeOSUpgradeChannel) + nodeOSUpgradeChannel := ManagedClusterAutoUpgradeProfile_NodeOSUpgradeChannel_STATUS(temp) + profile.NodeOSUpgradeChannel = &nodeOSUpgradeChannel + } + + // Set property "UpgradeChannel": + if typedInput.UpgradeChannel != nil { + var temp string + temp = string(*typedInput.UpgradeChannel) + upgradeChannel := ManagedClusterAutoUpgradeProfile_UpgradeChannel_STATUS(temp) + profile.UpgradeChannel = &upgradeChannel + } + + // No error + return nil +} + +// AssignProperties_From_ManagedClusterAutoUpgradeProfile_STATUS populates our ManagedClusterAutoUpgradeProfile_STATUS from the provided source ManagedClusterAutoUpgradeProfile_STATUS +func (profile *ManagedClusterAutoUpgradeProfile_STATUS) AssignProperties_From_ManagedClusterAutoUpgradeProfile_STATUS(source *storage.ManagedClusterAutoUpgradeProfile_STATUS) error { + + // NodeOSUpgradeChannel + if source.NodeOSUpgradeChannel != nil { + nodeOSUpgradeChannel := *source.NodeOSUpgradeChannel + nodeOSUpgradeChannelTemp := genruntime.ToEnum(nodeOSUpgradeChannel, managedClusterAutoUpgradeProfile_NodeOSUpgradeChannel_STATUS_Values) + profile.NodeOSUpgradeChannel = &nodeOSUpgradeChannelTemp + } else { + profile.NodeOSUpgradeChannel = nil + } + + // UpgradeChannel + if source.UpgradeChannel != nil { + upgradeChannel := *source.UpgradeChannel + upgradeChannelTemp := genruntime.ToEnum(upgradeChannel, managedClusterAutoUpgradeProfile_UpgradeChannel_STATUS_Values) + profile.UpgradeChannel = &upgradeChannelTemp + } else { + profile.UpgradeChannel = nil + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterAutoUpgradeProfile_STATUS populates the provided destination ManagedClusterAutoUpgradeProfile_STATUS from our ManagedClusterAutoUpgradeProfile_STATUS +func (profile *ManagedClusterAutoUpgradeProfile_STATUS) AssignProperties_To_ManagedClusterAutoUpgradeProfile_STATUS(destination *storage.ManagedClusterAutoUpgradeProfile_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // NodeOSUpgradeChannel + if profile.NodeOSUpgradeChannel != nil { + nodeOSUpgradeChannel := string(*profile.NodeOSUpgradeChannel) + destination.NodeOSUpgradeChannel = &nodeOSUpgradeChannel + } else { + destination.NodeOSUpgradeChannel = nil + } + + // UpgradeChannel + if profile.UpgradeChannel != nil { + upgradeChannel := string(*profile.UpgradeChannel) + destination.UpgradeChannel = &upgradeChannel + } else { + destination.UpgradeChannel = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Azure Monitor addon profiles for monitoring the managed cluster. +type ManagedClusterAzureMonitorProfile struct { + // Metrics: Metrics profile for the Azure Monitor managed service for Prometheus addon. Collect out-of-the-box Kubernetes + // infrastructure metrics to send to an Azure Monitor Workspace and configure additional scraping for custom targets. See + // aka.ms/AzureManagedPrometheus for an overview. + Metrics *ManagedClusterAzureMonitorProfileMetrics `json:"metrics,omitempty"` +} + +var _ genruntime.ARMTransformer = &ManagedClusterAzureMonitorProfile{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (profile *ManagedClusterAzureMonitorProfile) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if profile == nil { + return nil, nil + } + result := &arm.ManagedClusterAzureMonitorProfile{} + + // Set property "Metrics": + if profile.Metrics != nil { + metrics_ARM, err := (*profile.Metrics).ConvertToARM(resolved) + if err != nil { + return nil, err + } + metrics := *metrics_ARM.(*arm.ManagedClusterAzureMonitorProfileMetrics) + result.Metrics = &metrics + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (profile *ManagedClusterAzureMonitorProfile) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ManagedClusterAzureMonitorProfile{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (profile *ManagedClusterAzureMonitorProfile) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ManagedClusterAzureMonitorProfile) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ManagedClusterAzureMonitorProfile, got %T", armInput) + } + + // Set property "Metrics": + if typedInput.Metrics != nil { + var metrics1 ManagedClusterAzureMonitorProfileMetrics + err := metrics1.PopulateFromARM(owner, *typedInput.Metrics) + if err != nil { + return err + } + metrics := metrics1 + profile.Metrics = &metrics + } + + // No error + return nil +} + +// AssignProperties_From_ManagedClusterAzureMonitorProfile populates our ManagedClusterAzureMonitorProfile from the provided source ManagedClusterAzureMonitorProfile +func (profile *ManagedClusterAzureMonitorProfile) AssignProperties_From_ManagedClusterAzureMonitorProfile(source *storage.ManagedClusterAzureMonitorProfile) error { + + // Metrics + if source.Metrics != nil { + var metric ManagedClusterAzureMonitorProfileMetrics + err := metric.AssignProperties_From_ManagedClusterAzureMonitorProfileMetrics(source.Metrics) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterAzureMonitorProfileMetrics() to populate field Metrics") + } + profile.Metrics = &metric + } else { + profile.Metrics = nil + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterAzureMonitorProfile populates the provided destination ManagedClusterAzureMonitorProfile from our ManagedClusterAzureMonitorProfile +func (profile *ManagedClusterAzureMonitorProfile) AssignProperties_To_ManagedClusterAzureMonitorProfile(destination *storage.ManagedClusterAzureMonitorProfile) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Metrics + if profile.Metrics != nil { + var metric storage.ManagedClusterAzureMonitorProfileMetrics + err := profile.Metrics.AssignProperties_To_ManagedClusterAzureMonitorProfileMetrics(&metric) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterAzureMonitorProfileMetrics() to populate field Metrics") + } + destination.Metrics = &metric + } else { + destination.Metrics = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_ManagedClusterAzureMonitorProfile_STATUS populates our ManagedClusterAzureMonitorProfile from the provided source ManagedClusterAzureMonitorProfile_STATUS +func (profile *ManagedClusterAzureMonitorProfile) Initialize_From_ManagedClusterAzureMonitorProfile_STATUS(source *ManagedClusterAzureMonitorProfile_STATUS) error { + + // Metrics + if source.Metrics != nil { + var metric ManagedClusterAzureMonitorProfileMetrics + err := metric.Initialize_From_ManagedClusterAzureMonitorProfileMetrics_STATUS(source.Metrics) + if err != nil { + return errors.Wrap(err, "calling Initialize_From_ManagedClusterAzureMonitorProfileMetrics_STATUS() to populate field Metrics") + } + profile.Metrics = &metric + } else { + profile.Metrics = nil + } + + // No error + return nil +} + +// Azure Monitor addon profiles for monitoring the managed cluster. +type ManagedClusterAzureMonitorProfile_STATUS struct { + // Metrics: Metrics profile for the Azure Monitor managed service for Prometheus addon. Collect out-of-the-box Kubernetes + // infrastructure metrics to send to an Azure Monitor Workspace and configure additional scraping for custom targets. See + // aka.ms/AzureManagedPrometheus for an overview. + Metrics *ManagedClusterAzureMonitorProfileMetrics_STATUS `json:"metrics,omitempty"` +} + +var _ genruntime.FromARMConverter = &ManagedClusterAzureMonitorProfile_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (profile *ManagedClusterAzureMonitorProfile_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ManagedClusterAzureMonitorProfile_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (profile *ManagedClusterAzureMonitorProfile_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ManagedClusterAzureMonitorProfile_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ManagedClusterAzureMonitorProfile_STATUS, got %T", armInput) + } + + // Set property "Metrics": + if typedInput.Metrics != nil { + var metrics1 ManagedClusterAzureMonitorProfileMetrics_STATUS + err := metrics1.PopulateFromARM(owner, *typedInput.Metrics) + if err != nil { + return err + } + metrics := metrics1 + profile.Metrics = &metrics + } + + // No error + return nil +} + +// AssignProperties_From_ManagedClusterAzureMonitorProfile_STATUS populates our ManagedClusterAzureMonitorProfile_STATUS from the provided source ManagedClusterAzureMonitorProfile_STATUS +func (profile *ManagedClusterAzureMonitorProfile_STATUS) AssignProperties_From_ManagedClusterAzureMonitorProfile_STATUS(source *storage.ManagedClusterAzureMonitorProfile_STATUS) error { + + // Metrics + if source.Metrics != nil { + var metric ManagedClusterAzureMonitorProfileMetrics_STATUS + err := metric.AssignProperties_From_ManagedClusterAzureMonitorProfileMetrics_STATUS(source.Metrics) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterAzureMonitorProfileMetrics_STATUS() to populate field Metrics") + } + profile.Metrics = &metric + } else { + profile.Metrics = nil + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterAzureMonitorProfile_STATUS populates the provided destination ManagedClusterAzureMonitorProfile_STATUS from our ManagedClusterAzureMonitorProfile_STATUS +func (profile *ManagedClusterAzureMonitorProfile_STATUS) AssignProperties_To_ManagedClusterAzureMonitorProfile_STATUS(destination *storage.ManagedClusterAzureMonitorProfile_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Metrics + if profile.Metrics != nil { + var metric storage.ManagedClusterAzureMonitorProfileMetrics_STATUS + err := profile.Metrics.AssignProperties_To_ManagedClusterAzureMonitorProfileMetrics_STATUS(&metric) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterAzureMonitorProfileMetrics_STATUS() to populate field Metrics") + } + destination.Metrics = &metric + } else { + destination.Metrics = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Cluster HTTP proxy configuration. +type ManagedClusterHTTPProxyConfig struct { + // HttpProxy: The HTTP proxy server endpoint to use. + HttpProxy *string `json:"httpProxy,omitempty"` + + // HttpsProxy: The HTTPS proxy server endpoint to use. + HttpsProxy *string `json:"httpsProxy,omitempty"` + + // NoProxy: The endpoints that should not go through proxy. + NoProxy []string `json:"noProxy,omitempty"` + + // TrustedCa: Alternative CA cert to use for connecting to proxy servers. + TrustedCa *string `json:"trustedCa,omitempty"` +} + +var _ genruntime.ARMTransformer = &ManagedClusterHTTPProxyConfig{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (config *ManagedClusterHTTPProxyConfig) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if config == nil { + return nil, nil + } + result := &arm.ManagedClusterHTTPProxyConfig{} + + // Set property "HttpProxy": + if config.HttpProxy != nil { + httpProxy := *config.HttpProxy + result.HttpProxy = &httpProxy + } + + // Set property "HttpsProxy": + if config.HttpsProxy != nil { + httpsProxy := *config.HttpsProxy + result.HttpsProxy = &httpsProxy + } + + // Set property "NoProxy": + for _, item := range config.NoProxy { + result.NoProxy = append(result.NoProxy, item) + } + + // Set property "TrustedCa": + if config.TrustedCa != nil { + trustedCa := *config.TrustedCa + result.TrustedCa = &trustedCa + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (config *ManagedClusterHTTPProxyConfig) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ManagedClusterHTTPProxyConfig{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (config *ManagedClusterHTTPProxyConfig) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ManagedClusterHTTPProxyConfig) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ManagedClusterHTTPProxyConfig, got %T", armInput) + } + + // Set property "HttpProxy": + if typedInput.HttpProxy != nil { + httpProxy := *typedInput.HttpProxy + config.HttpProxy = &httpProxy + } + + // Set property "HttpsProxy": + if typedInput.HttpsProxy != nil { + httpsProxy := *typedInput.HttpsProxy + config.HttpsProxy = &httpsProxy + } + + // Set property "NoProxy": + for _, item := range typedInput.NoProxy { + config.NoProxy = append(config.NoProxy, item) + } + + // Set property "TrustedCa": + if typedInput.TrustedCa != nil { + trustedCa := *typedInput.TrustedCa + config.TrustedCa = &trustedCa + } + + // No error + return nil +} + +// AssignProperties_From_ManagedClusterHTTPProxyConfig populates our ManagedClusterHTTPProxyConfig from the provided source ManagedClusterHTTPProxyConfig +func (config *ManagedClusterHTTPProxyConfig) AssignProperties_From_ManagedClusterHTTPProxyConfig(source *storage.ManagedClusterHTTPProxyConfig) error { + + // HttpProxy + config.HttpProxy = genruntime.ClonePointerToString(source.HttpProxy) + + // HttpsProxy + config.HttpsProxy = genruntime.ClonePointerToString(source.HttpsProxy) + + // NoProxy + config.NoProxy = genruntime.CloneSliceOfString(source.NoProxy) + + // TrustedCa + config.TrustedCa = genruntime.ClonePointerToString(source.TrustedCa) + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterHTTPProxyConfig populates the provided destination ManagedClusterHTTPProxyConfig from our ManagedClusterHTTPProxyConfig +func (config *ManagedClusterHTTPProxyConfig) AssignProperties_To_ManagedClusterHTTPProxyConfig(destination *storage.ManagedClusterHTTPProxyConfig) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // HttpProxy + destination.HttpProxy = genruntime.ClonePointerToString(config.HttpProxy) + + // HttpsProxy + destination.HttpsProxy = genruntime.ClonePointerToString(config.HttpsProxy) + + // NoProxy + destination.NoProxy = genruntime.CloneSliceOfString(config.NoProxy) + + // TrustedCa + destination.TrustedCa = genruntime.ClonePointerToString(config.TrustedCa) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_ManagedClusterHTTPProxyConfig_STATUS populates our ManagedClusterHTTPProxyConfig from the provided source ManagedClusterHTTPProxyConfig_STATUS +func (config *ManagedClusterHTTPProxyConfig) Initialize_From_ManagedClusterHTTPProxyConfig_STATUS(source *ManagedClusterHTTPProxyConfig_STATUS) error { + + // HttpProxy + config.HttpProxy = genruntime.ClonePointerToString(source.HttpProxy) + + // HttpsProxy + config.HttpsProxy = genruntime.ClonePointerToString(source.HttpsProxy) + + // NoProxy + config.NoProxy = genruntime.CloneSliceOfString(source.NoProxy) + + // TrustedCa + config.TrustedCa = genruntime.ClonePointerToString(source.TrustedCa) + + // No error + return nil +} + +// Cluster HTTP proxy configuration. +type ManagedClusterHTTPProxyConfig_STATUS struct { + // HttpProxy: The HTTP proxy server endpoint to use. + HttpProxy *string `json:"httpProxy,omitempty"` + + // HttpsProxy: The HTTPS proxy server endpoint to use. + HttpsProxy *string `json:"httpsProxy,omitempty"` + + // NoProxy: The endpoints that should not go through proxy. + NoProxy []string `json:"noProxy,omitempty"` + + // TrustedCa: Alternative CA cert to use for connecting to proxy servers. + TrustedCa *string `json:"trustedCa,omitempty"` +} + +var _ genruntime.FromARMConverter = &ManagedClusterHTTPProxyConfig_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (config *ManagedClusterHTTPProxyConfig_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ManagedClusterHTTPProxyConfig_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (config *ManagedClusterHTTPProxyConfig_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ManagedClusterHTTPProxyConfig_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ManagedClusterHTTPProxyConfig_STATUS, got %T", armInput) + } + + // Set property "HttpProxy": + if typedInput.HttpProxy != nil { + httpProxy := *typedInput.HttpProxy + config.HttpProxy = &httpProxy + } + + // Set property "HttpsProxy": + if typedInput.HttpsProxy != nil { + httpsProxy := *typedInput.HttpsProxy + config.HttpsProxy = &httpsProxy + } + + // Set property "NoProxy": + for _, item := range typedInput.NoProxy { + config.NoProxy = append(config.NoProxy, item) + } + + // Set property "TrustedCa": + if typedInput.TrustedCa != nil { + trustedCa := *typedInput.TrustedCa + config.TrustedCa = &trustedCa + } + + // No error + return nil +} + +// AssignProperties_From_ManagedClusterHTTPProxyConfig_STATUS populates our ManagedClusterHTTPProxyConfig_STATUS from the provided source ManagedClusterHTTPProxyConfig_STATUS +func (config *ManagedClusterHTTPProxyConfig_STATUS) AssignProperties_From_ManagedClusterHTTPProxyConfig_STATUS(source *storage.ManagedClusterHTTPProxyConfig_STATUS) error { + + // HttpProxy + config.HttpProxy = genruntime.ClonePointerToString(source.HttpProxy) + + // HttpsProxy + config.HttpsProxy = genruntime.ClonePointerToString(source.HttpsProxy) + + // NoProxy + config.NoProxy = genruntime.CloneSliceOfString(source.NoProxy) + + // TrustedCa + config.TrustedCa = genruntime.ClonePointerToString(source.TrustedCa) + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterHTTPProxyConfig_STATUS populates the provided destination ManagedClusterHTTPProxyConfig_STATUS from our ManagedClusterHTTPProxyConfig_STATUS +func (config *ManagedClusterHTTPProxyConfig_STATUS) AssignProperties_To_ManagedClusterHTTPProxyConfig_STATUS(destination *storage.ManagedClusterHTTPProxyConfig_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // HttpProxy + destination.HttpProxy = genruntime.ClonePointerToString(config.HttpProxy) + + // HttpsProxy + destination.HttpsProxy = genruntime.ClonePointerToString(config.HttpsProxy) + + // NoProxy + destination.NoProxy = genruntime.CloneSliceOfString(config.NoProxy) + + // TrustedCa + destination.TrustedCa = genruntime.ClonePointerToString(config.TrustedCa) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Identity for the managed cluster. +type ManagedClusterIdentity struct { + // DelegatedResources: The delegated identity resources assigned to this managed cluster. This can only be set by another + // Azure Resource Provider, and managed cluster only accept one delegated identity resource. Internal use only. + DelegatedResources map[string]DelegatedResource `json:"delegatedResources,omitempty"` + + // Type: For more information see [use managed identities in + // AKS](https://docs.microsoft.com/azure/aks/use-managed-identity). + Type *ManagedClusterIdentity_Type `json:"type,omitempty"` + + // UserAssignedIdentities: The keys must be ARM resource IDs in the form: + // '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + UserAssignedIdentities []UserAssignedIdentityDetails `json:"userAssignedIdentities,omitempty"` +} + +var _ genruntime.ARMTransformer = &ManagedClusterIdentity{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (identity *ManagedClusterIdentity) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if identity == nil { + return nil, nil + } + result := &arm.ManagedClusterIdentity{} + + // Set property "DelegatedResources": + if identity.DelegatedResources != nil { + result.DelegatedResources = make(map[string]arm.DelegatedResource, len(identity.DelegatedResources)) + for key, value := range identity.DelegatedResources { + value_ARM, err := value.ConvertToARM(resolved) + if err != nil { + return nil, err + } + result.DelegatedResources[key] = *value_ARM.(*arm.DelegatedResource) + } + } + + // Set property "Type": + if identity.Type != nil { + var temp string + temp = string(*identity.Type) + typeVar := arm.ManagedClusterIdentity_Type(temp) + result.Type = &typeVar + } + + // Set property "UserAssignedIdentities": + result.UserAssignedIdentities = make(map[string]arm.UserAssignedIdentityDetails, len(identity.UserAssignedIdentities)) + for _, ident := range identity.UserAssignedIdentities { + identARMID, err := resolved.ResolvedReferences.Lookup(ident.Reference) + if err != nil { + return nil, err + } + key := identARMID + result.UserAssignedIdentities[key] = arm.UserAssignedIdentityDetails{} + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (identity *ManagedClusterIdentity) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ManagedClusterIdentity{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (identity *ManagedClusterIdentity) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ManagedClusterIdentity) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ManagedClusterIdentity, got %T", armInput) + } + + // Set property "DelegatedResources": + if typedInput.DelegatedResources != nil { + identity.DelegatedResources = make(map[string]DelegatedResource, len(typedInput.DelegatedResources)) + for key, value := range typedInput.DelegatedResources { + var value1 DelegatedResource + err := value1.PopulateFromARM(owner, value) + if err != nil { + return err + } + identity.DelegatedResources[key] = value1 + } + } + + // Set property "Type": + if typedInput.Type != nil { + var temp string + temp = string(*typedInput.Type) + typeVar := ManagedClusterIdentity_Type(temp) + identity.Type = &typeVar + } + + // no assignment for property "UserAssignedIdentities" + + // No error + return nil +} + +// AssignProperties_From_ManagedClusterIdentity populates our ManagedClusterIdentity from the provided source ManagedClusterIdentity +func (identity *ManagedClusterIdentity) AssignProperties_From_ManagedClusterIdentity(source *storage.ManagedClusterIdentity) error { + + // DelegatedResources + if source.DelegatedResources != nil { + delegatedResourceMap := make(map[string]DelegatedResource, len(source.DelegatedResources)) + for delegatedResourceKey, delegatedResourceValue := range source.DelegatedResources { + // Shadow the loop variable to avoid aliasing + delegatedResourceValue := delegatedResourceValue + var delegatedResource DelegatedResource + err := delegatedResource.AssignProperties_From_DelegatedResource(&delegatedResourceValue) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_DelegatedResource() to populate field DelegatedResources") + } + delegatedResourceMap[delegatedResourceKey] = delegatedResource + } + identity.DelegatedResources = delegatedResourceMap + } else { + identity.DelegatedResources = nil + } + + // Type + if source.Type != nil { + typeVar := *source.Type + typeTemp := genruntime.ToEnum(typeVar, managedClusterIdentity_Type_Values) + identity.Type = &typeTemp + } else { + identity.Type = nil + } + + // UserAssignedIdentities + if source.UserAssignedIdentities != nil { + userAssignedIdentityList := make([]UserAssignedIdentityDetails, len(source.UserAssignedIdentities)) + for userAssignedIdentityIndex, userAssignedIdentityItem := range source.UserAssignedIdentities { + // Shadow the loop variable to avoid aliasing + userAssignedIdentityItem := userAssignedIdentityItem + var userAssignedIdentity UserAssignedIdentityDetails + err := userAssignedIdentity.AssignProperties_From_UserAssignedIdentityDetails(&userAssignedIdentityItem) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_UserAssignedIdentityDetails() to populate field UserAssignedIdentities") + } + userAssignedIdentityList[userAssignedIdentityIndex] = userAssignedIdentity + } + identity.UserAssignedIdentities = userAssignedIdentityList + } else { + identity.UserAssignedIdentities = nil + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterIdentity populates the provided destination ManagedClusterIdentity from our ManagedClusterIdentity +func (identity *ManagedClusterIdentity) AssignProperties_To_ManagedClusterIdentity(destination *storage.ManagedClusterIdentity) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // DelegatedResources + if identity.DelegatedResources != nil { + delegatedResourceMap := make(map[string]storage.DelegatedResource, len(identity.DelegatedResources)) + for delegatedResourceKey, delegatedResourceValue := range identity.DelegatedResources { + // Shadow the loop variable to avoid aliasing + delegatedResourceValue := delegatedResourceValue + var delegatedResource storage.DelegatedResource + err := delegatedResourceValue.AssignProperties_To_DelegatedResource(&delegatedResource) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_DelegatedResource() to populate field DelegatedResources") + } + delegatedResourceMap[delegatedResourceKey] = delegatedResource + } + destination.DelegatedResources = delegatedResourceMap + } else { + destination.DelegatedResources = nil + } + + // Type + if identity.Type != nil { + typeVar := string(*identity.Type) + destination.Type = &typeVar + } else { + destination.Type = nil + } + + // UserAssignedIdentities + if identity.UserAssignedIdentities != nil { + userAssignedIdentityList := make([]storage.UserAssignedIdentityDetails, len(identity.UserAssignedIdentities)) + for userAssignedIdentityIndex, userAssignedIdentityItem := range identity.UserAssignedIdentities { + // Shadow the loop variable to avoid aliasing + userAssignedIdentityItem := userAssignedIdentityItem + var userAssignedIdentity storage.UserAssignedIdentityDetails + err := userAssignedIdentityItem.AssignProperties_To_UserAssignedIdentityDetails(&userAssignedIdentity) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_UserAssignedIdentityDetails() to populate field UserAssignedIdentities") + } + userAssignedIdentityList[userAssignedIdentityIndex] = userAssignedIdentity + } + destination.UserAssignedIdentities = userAssignedIdentityList + } else { + destination.UserAssignedIdentities = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_ManagedClusterIdentity_STATUS populates our ManagedClusterIdentity from the provided source ManagedClusterIdentity_STATUS +func (identity *ManagedClusterIdentity) Initialize_From_ManagedClusterIdentity_STATUS(source *ManagedClusterIdentity_STATUS) error { + + // DelegatedResources + if source.DelegatedResources != nil { + delegatedResourceMap := make(map[string]DelegatedResource, len(source.DelegatedResources)) + for delegatedResourceKey, delegatedResourceValue := range source.DelegatedResources { + // Shadow the loop variable to avoid aliasing + delegatedResourceValue := delegatedResourceValue + var delegatedResource DelegatedResource + err := delegatedResource.Initialize_From_DelegatedResource_STATUS(&delegatedResourceValue) + if err != nil { + return errors.Wrap(err, "calling Initialize_From_DelegatedResource_STATUS() to populate field DelegatedResources") + } + delegatedResourceMap[delegatedResourceKey] = delegatedResource + } + identity.DelegatedResources = delegatedResourceMap + } else { + identity.DelegatedResources = nil + } + + // Type + if source.Type != nil { + typeVar := genruntime.ToEnum(string(*source.Type), managedClusterIdentity_Type_Values) + identity.Type = &typeVar + } else { + identity.Type = nil + } + + // UserAssignedIdentities + if source.UserAssignedIdentities != nil { + userAssignedIdentityList := make([]UserAssignedIdentityDetails, 0, len(source.UserAssignedIdentities)) + for userAssignedIdentitiesKey := range source.UserAssignedIdentities { + userAssignedIdentitiesRef := genruntime.CreateResourceReferenceFromARMID(userAssignedIdentitiesKey) + userAssignedIdentityList = append(userAssignedIdentityList, UserAssignedIdentityDetails{Reference: userAssignedIdentitiesRef}) + } + identity.UserAssignedIdentities = userAssignedIdentityList + } else { + identity.UserAssignedIdentities = nil + } + + // No error + return nil +} + +// Identity for the managed cluster. +type ManagedClusterIdentity_STATUS struct { + // DelegatedResources: The delegated identity resources assigned to this managed cluster. This can only be set by another + // Azure Resource Provider, and managed cluster only accept one delegated identity resource. Internal use only. + DelegatedResources map[string]DelegatedResource_STATUS `json:"delegatedResources,omitempty"` + + // PrincipalId: The principal id of the system assigned identity which is used by master components. + PrincipalId *string `json:"principalId,omitempty"` + + // TenantId: The tenant id of the system assigned identity which is used by master components. + TenantId *string `json:"tenantId,omitempty"` + + // Type: For more information see [use managed identities in + // AKS](https://docs.microsoft.com/azure/aks/use-managed-identity). + Type *ManagedClusterIdentity_Type_STATUS `json:"type,omitempty"` + + // UserAssignedIdentities: The keys must be ARM resource IDs in the form: + // '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + UserAssignedIdentities map[string]ManagedClusterIdentity_UserAssignedIdentities_STATUS `json:"userAssignedIdentities,omitempty"` +} + +var _ genruntime.FromARMConverter = &ManagedClusterIdentity_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (identity *ManagedClusterIdentity_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ManagedClusterIdentity_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (identity *ManagedClusterIdentity_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ManagedClusterIdentity_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ManagedClusterIdentity_STATUS, got %T", armInput) + } + + // Set property "DelegatedResources": + if typedInput.DelegatedResources != nil { + identity.DelegatedResources = make(map[string]DelegatedResource_STATUS, len(typedInput.DelegatedResources)) + for key, value := range typedInput.DelegatedResources { + var value1 DelegatedResource_STATUS + err := value1.PopulateFromARM(owner, value) + if err != nil { + return err + } + identity.DelegatedResources[key] = value1 + } + } + + // Set property "PrincipalId": + if typedInput.PrincipalId != nil { + principalId := *typedInput.PrincipalId + identity.PrincipalId = &principalId + } + + // Set property "TenantId": + if typedInput.TenantId != nil { + tenantId := *typedInput.TenantId + identity.TenantId = &tenantId + } + + // Set property "Type": + if typedInput.Type != nil { + var temp string + temp = string(*typedInput.Type) + typeVar := ManagedClusterIdentity_Type_STATUS(temp) + identity.Type = &typeVar + } + + // Set property "UserAssignedIdentities": + if typedInput.UserAssignedIdentities != nil { + identity.UserAssignedIdentities = make(map[string]ManagedClusterIdentity_UserAssignedIdentities_STATUS, len(typedInput.UserAssignedIdentities)) + for key, value := range typedInput.UserAssignedIdentities { + var value1 ManagedClusterIdentity_UserAssignedIdentities_STATUS + err := value1.PopulateFromARM(owner, value) + if err != nil { + return err + } + identity.UserAssignedIdentities[key] = value1 + } + } + + // No error + return nil +} + +// AssignProperties_From_ManagedClusterIdentity_STATUS populates our ManagedClusterIdentity_STATUS from the provided source ManagedClusterIdentity_STATUS +func (identity *ManagedClusterIdentity_STATUS) AssignProperties_From_ManagedClusterIdentity_STATUS(source *storage.ManagedClusterIdentity_STATUS) error { + + // DelegatedResources + if source.DelegatedResources != nil { + delegatedResourceMap := make(map[string]DelegatedResource_STATUS, len(source.DelegatedResources)) + for delegatedResourceKey, delegatedResourceValue := range source.DelegatedResources { + // Shadow the loop variable to avoid aliasing + delegatedResourceValue := delegatedResourceValue + var delegatedResource DelegatedResource_STATUS + err := delegatedResource.AssignProperties_From_DelegatedResource_STATUS(&delegatedResourceValue) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_DelegatedResource_STATUS() to populate field DelegatedResources") + } + delegatedResourceMap[delegatedResourceKey] = delegatedResource + } + identity.DelegatedResources = delegatedResourceMap + } else { + identity.DelegatedResources = nil + } + + // PrincipalId + identity.PrincipalId = genruntime.ClonePointerToString(source.PrincipalId) + + // TenantId + identity.TenantId = genruntime.ClonePointerToString(source.TenantId) + + // Type + if source.Type != nil { + typeVar := *source.Type + typeTemp := genruntime.ToEnum(typeVar, managedClusterIdentity_Type_STATUS_Values) + identity.Type = &typeTemp + } else { + identity.Type = nil + } + + // UserAssignedIdentities + if source.UserAssignedIdentities != nil { + userAssignedIdentityMap := make(map[string]ManagedClusterIdentity_UserAssignedIdentities_STATUS, len(source.UserAssignedIdentities)) + for userAssignedIdentityKey, userAssignedIdentityValue := range source.UserAssignedIdentities { + // Shadow the loop variable to avoid aliasing + userAssignedIdentityValue := userAssignedIdentityValue + var userAssignedIdentity ManagedClusterIdentity_UserAssignedIdentities_STATUS + err := userAssignedIdentity.AssignProperties_From_ManagedClusterIdentity_UserAssignedIdentities_STATUS(&userAssignedIdentityValue) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterIdentity_UserAssignedIdentities_STATUS() to populate field UserAssignedIdentities") + } + userAssignedIdentityMap[userAssignedIdentityKey] = userAssignedIdentity + } + identity.UserAssignedIdentities = userAssignedIdentityMap + } else { + identity.UserAssignedIdentities = nil + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterIdentity_STATUS populates the provided destination ManagedClusterIdentity_STATUS from our ManagedClusterIdentity_STATUS +func (identity *ManagedClusterIdentity_STATUS) AssignProperties_To_ManagedClusterIdentity_STATUS(destination *storage.ManagedClusterIdentity_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // DelegatedResources + if identity.DelegatedResources != nil { + delegatedResourceMap := make(map[string]storage.DelegatedResource_STATUS, len(identity.DelegatedResources)) + for delegatedResourceKey, delegatedResourceValue := range identity.DelegatedResources { + // Shadow the loop variable to avoid aliasing + delegatedResourceValue := delegatedResourceValue + var delegatedResource storage.DelegatedResource_STATUS + err := delegatedResourceValue.AssignProperties_To_DelegatedResource_STATUS(&delegatedResource) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_DelegatedResource_STATUS() to populate field DelegatedResources") + } + delegatedResourceMap[delegatedResourceKey] = delegatedResource + } + destination.DelegatedResources = delegatedResourceMap + } else { + destination.DelegatedResources = nil + } + + // PrincipalId + destination.PrincipalId = genruntime.ClonePointerToString(identity.PrincipalId) + + // TenantId + destination.TenantId = genruntime.ClonePointerToString(identity.TenantId) + + // Type + if identity.Type != nil { + typeVar := string(*identity.Type) + destination.Type = &typeVar + } else { + destination.Type = nil + } + + // UserAssignedIdentities + if identity.UserAssignedIdentities != nil { + userAssignedIdentityMap := make(map[string]storage.ManagedClusterIdentity_UserAssignedIdentities_STATUS, len(identity.UserAssignedIdentities)) + for userAssignedIdentityKey, userAssignedIdentityValue := range identity.UserAssignedIdentities { + // Shadow the loop variable to avoid aliasing + userAssignedIdentityValue := userAssignedIdentityValue + var userAssignedIdentity storage.ManagedClusterIdentity_UserAssignedIdentities_STATUS + err := userAssignedIdentityValue.AssignProperties_To_ManagedClusterIdentity_UserAssignedIdentities_STATUS(&userAssignedIdentity) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterIdentity_UserAssignedIdentities_STATUS() to populate field UserAssignedIdentities") + } + userAssignedIdentityMap[userAssignedIdentityKey] = userAssignedIdentity + } + destination.UserAssignedIdentities = userAssignedIdentityMap + } else { + destination.UserAssignedIdentities = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Ingress profile for the container service cluster. +type ManagedClusterIngressProfile struct { + // WebAppRouting: App Routing settings for the ingress profile. You can find an overview and onboarding guide for this + // feature at https://learn.microsoft.com/en-us/azure/aks/app-routing?tabs=default%2Cdeploy-app-default. + WebAppRouting *ManagedClusterIngressProfileWebAppRouting `json:"webAppRouting,omitempty"` +} + +var _ genruntime.ARMTransformer = &ManagedClusterIngressProfile{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (profile *ManagedClusterIngressProfile) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if profile == nil { + return nil, nil + } + result := &arm.ManagedClusterIngressProfile{} + + // Set property "WebAppRouting": + if profile.WebAppRouting != nil { + webAppRouting_ARM, err := (*profile.WebAppRouting).ConvertToARM(resolved) + if err != nil { + return nil, err + } + webAppRouting := *webAppRouting_ARM.(*arm.ManagedClusterIngressProfileWebAppRouting) + result.WebAppRouting = &webAppRouting + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (profile *ManagedClusterIngressProfile) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ManagedClusterIngressProfile{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (profile *ManagedClusterIngressProfile) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ManagedClusterIngressProfile) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ManagedClusterIngressProfile, got %T", armInput) + } + + // Set property "WebAppRouting": + if typedInput.WebAppRouting != nil { + var webAppRouting1 ManagedClusterIngressProfileWebAppRouting + err := webAppRouting1.PopulateFromARM(owner, *typedInput.WebAppRouting) + if err != nil { + return err + } + webAppRouting := webAppRouting1 + profile.WebAppRouting = &webAppRouting + } + + // No error + return nil +} + +// AssignProperties_From_ManagedClusterIngressProfile populates our ManagedClusterIngressProfile from the provided source ManagedClusterIngressProfile +func (profile *ManagedClusterIngressProfile) AssignProperties_From_ManagedClusterIngressProfile(source *storage.ManagedClusterIngressProfile) error { + + // WebAppRouting + if source.WebAppRouting != nil { + var webAppRouting ManagedClusterIngressProfileWebAppRouting + err := webAppRouting.AssignProperties_From_ManagedClusterIngressProfileWebAppRouting(source.WebAppRouting) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterIngressProfileWebAppRouting() to populate field WebAppRouting") + } + profile.WebAppRouting = &webAppRouting + } else { + profile.WebAppRouting = nil + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterIngressProfile populates the provided destination ManagedClusterIngressProfile from our ManagedClusterIngressProfile +func (profile *ManagedClusterIngressProfile) AssignProperties_To_ManagedClusterIngressProfile(destination *storage.ManagedClusterIngressProfile) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // WebAppRouting + if profile.WebAppRouting != nil { + var webAppRouting storage.ManagedClusterIngressProfileWebAppRouting + err := profile.WebAppRouting.AssignProperties_To_ManagedClusterIngressProfileWebAppRouting(&webAppRouting) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterIngressProfileWebAppRouting() to populate field WebAppRouting") + } + destination.WebAppRouting = &webAppRouting + } else { + destination.WebAppRouting = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_ManagedClusterIngressProfile_STATUS populates our ManagedClusterIngressProfile from the provided source ManagedClusterIngressProfile_STATUS +func (profile *ManagedClusterIngressProfile) Initialize_From_ManagedClusterIngressProfile_STATUS(source *ManagedClusterIngressProfile_STATUS) error { + + // WebAppRouting + if source.WebAppRouting != nil { + var webAppRouting ManagedClusterIngressProfileWebAppRouting + err := webAppRouting.Initialize_From_ManagedClusterIngressProfileWebAppRouting_STATUS(source.WebAppRouting) + if err != nil { + return errors.Wrap(err, "calling Initialize_From_ManagedClusterIngressProfileWebAppRouting_STATUS() to populate field WebAppRouting") + } + profile.WebAppRouting = &webAppRouting + } else { + profile.WebAppRouting = nil + } + + // No error + return nil +} + +// Ingress profile for the container service cluster. +type ManagedClusterIngressProfile_STATUS struct { + // WebAppRouting: App Routing settings for the ingress profile. You can find an overview and onboarding guide for this + // feature at https://learn.microsoft.com/en-us/azure/aks/app-routing?tabs=default%2Cdeploy-app-default. + WebAppRouting *ManagedClusterIngressProfileWebAppRouting_STATUS `json:"webAppRouting,omitempty"` +} + +var _ genruntime.FromARMConverter = &ManagedClusterIngressProfile_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (profile *ManagedClusterIngressProfile_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ManagedClusterIngressProfile_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (profile *ManagedClusterIngressProfile_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ManagedClusterIngressProfile_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ManagedClusterIngressProfile_STATUS, got %T", armInput) + } + + // Set property "WebAppRouting": + if typedInput.WebAppRouting != nil { + var webAppRouting1 ManagedClusterIngressProfileWebAppRouting_STATUS + err := webAppRouting1.PopulateFromARM(owner, *typedInput.WebAppRouting) + if err != nil { + return err + } + webAppRouting := webAppRouting1 + profile.WebAppRouting = &webAppRouting + } + + // No error + return nil +} + +// AssignProperties_From_ManagedClusterIngressProfile_STATUS populates our ManagedClusterIngressProfile_STATUS from the provided source ManagedClusterIngressProfile_STATUS +func (profile *ManagedClusterIngressProfile_STATUS) AssignProperties_From_ManagedClusterIngressProfile_STATUS(source *storage.ManagedClusterIngressProfile_STATUS) error { + + // WebAppRouting + if source.WebAppRouting != nil { + var webAppRouting ManagedClusterIngressProfileWebAppRouting_STATUS + err := webAppRouting.AssignProperties_From_ManagedClusterIngressProfileWebAppRouting_STATUS(source.WebAppRouting) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterIngressProfileWebAppRouting_STATUS() to populate field WebAppRouting") + } + profile.WebAppRouting = &webAppRouting + } else { + profile.WebAppRouting = nil + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterIngressProfile_STATUS populates the provided destination ManagedClusterIngressProfile_STATUS from our ManagedClusterIngressProfile_STATUS +func (profile *ManagedClusterIngressProfile_STATUS) AssignProperties_To_ManagedClusterIngressProfile_STATUS(destination *storage.ManagedClusterIngressProfile_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // WebAppRouting + if profile.WebAppRouting != nil { + var webAppRouting storage.ManagedClusterIngressProfileWebAppRouting_STATUS + err := profile.WebAppRouting.AssignProperties_To_ManagedClusterIngressProfileWebAppRouting_STATUS(&webAppRouting) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterIngressProfileWebAppRouting_STATUS() to populate field WebAppRouting") + } + destination.WebAppRouting = &webAppRouting + } else { + destination.WebAppRouting = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// The metrics profile for the ManagedCluster. +type ManagedClusterMetricsProfile struct { + // CostAnalysis: The cost analysis configuration for the cluster + CostAnalysis *ManagedClusterCostAnalysis `json:"costAnalysis,omitempty"` +} + +var _ genruntime.ARMTransformer = &ManagedClusterMetricsProfile{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (profile *ManagedClusterMetricsProfile) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if profile == nil { + return nil, nil + } + result := &arm.ManagedClusterMetricsProfile{} + + // Set property "CostAnalysis": + if profile.CostAnalysis != nil { + costAnalysis_ARM, err := (*profile.CostAnalysis).ConvertToARM(resolved) + if err != nil { + return nil, err + } + costAnalysis := *costAnalysis_ARM.(*arm.ManagedClusterCostAnalysis) + result.CostAnalysis = &costAnalysis + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (profile *ManagedClusterMetricsProfile) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ManagedClusterMetricsProfile{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (profile *ManagedClusterMetricsProfile) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ManagedClusterMetricsProfile) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ManagedClusterMetricsProfile, got %T", armInput) + } + + // Set property "CostAnalysis": + if typedInput.CostAnalysis != nil { + var costAnalysis1 ManagedClusterCostAnalysis + err := costAnalysis1.PopulateFromARM(owner, *typedInput.CostAnalysis) + if err != nil { + return err + } + costAnalysis := costAnalysis1 + profile.CostAnalysis = &costAnalysis + } + + // No error + return nil +} + +// AssignProperties_From_ManagedClusterMetricsProfile populates our ManagedClusterMetricsProfile from the provided source ManagedClusterMetricsProfile +func (profile *ManagedClusterMetricsProfile) AssignProperties_From_ManagedClusterMetricsProfile(source *storage.ManagedClusterMetricsProfile) error { + + // CostAnalysis + if source.CostAnalysis != nil { + var costAnalysis ManagedClusterCostAnalysis + err := costAnalysis.AssignProperties_From_ManagedClusterCostAnalysis(source.CostAnalysis) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterCostAnalysis() to populate field CostAnalysis") + } + profile.CostAnalysis = &costAnalysis + } else { + profile.CostAnalysis = nil + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterMetricsProfile populates the provided destination ManagedClusterMetricsProfile from our ManagedClusterMetricsProfile +func (profile *ManagedClusterMetricsProfile) AssignProperties_To_ManagedClusterMetricsProfile(destination *storage.ManagedClusterMetricsProfile) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // CostAnalysis + if profile.CostAnalysis != nil { + var costAnalysis storage.ManagedClusterCostAnalysis + err := profile.CostAnalysis.AssignProperties_To_ManagedClusterCostAnalysis(&costAnalysis) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterCostAnalysis() to populate field CostAnalysis") + } + destination.CostAnalysis = &costAnalysis + } else { + destination.CostAnalysis = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_ManagedClusterMetricsProfile_STATUS populates our ManagedClusterMetricsProfile from the provided source ManagedClusterMetricsProfile_STATUS +func (profile *ManagedClusterMetricsProfile) Initialize_From_ManagedClusterMetricsProfile_STATUS(source *ManagedClusterMetricsProfile_STATUS) error { + + // CostAnalysis + if source.CostAnalysis != nil { + var costAnalysis ManagedClusterCostAnalysis + err := costAnalysis.Initialize_From_ManagedClusterCostAnalysis_STATUS(source.CostAnalysis) + if err != nil { + return errors.Wrap(err, "calling Initialize_From_ManagedClusterCostAnalysis_STATUS() to populate field CostAnalysis") + } + profile.CostAnalysis = &costAnalysis + } else { + profile.CostAnalysis = nil + } + + // No error + return nil +} + +// The metrics profile for the ManagedCluster. +type ManagedClusterMetricsProfile_STATUS struct { + // CostAnalysis: The cost analysis configuration for the cluster + CostAnalysis *ManagedClusterCostAnalysis_STATUS `json:"costAnalysis,omitempty"` +} + +var _ genruntime.FromARMConverter = &ManagedClusterMetricsProfile_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (profile *ManagedClusterMetricsProfile_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ManagedClusterMetricsProfile_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (profile *ManagedClusterMetricsProfile_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ManagedClusterMetricsProfile_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ManagedClusterMetricsProfile_STATUS, got %T", armInput) + } + + // Set property "CostAnalysis": + if typedInput.CostAnalysis != nil { + var costAnalysis1 ManagedClusterCostAnalysis_STATUS + err := costAnalysis1.PopulateFromARM(owner, *typedInput.CostAnalysis) + if err != nil { + return err + } + costAnalysis := costAnalysis1 + profile.CostAnalysis = &costAnalysis + } + + // No error + return nil +} + +// AssignProperties_From_ManagedClusterMetricsProfile_STATUS populates our ManagedClusterMetricsProfile_STATUS from the provided source ManagedClusterMetricsProfile_STATUS +func (profile *ManagedClusterMetricsProfile_STATUS) AssignProperties_From_ManagedClusterMetricsProfile_STATUS(source *storage.ManagedClusterMetricsProfile_STATUS) error { + + // CostAnalysis + if source.CostAnalysis != nil { + var costAnalysis ManagedClusterCostAnalysis_STATUS + err := costAnalysis.AssignProperties_From_ManagedClusterCostAnalysis_STATUS(source.CostAnalysis) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterCostAnalysis_STATUS() to populate field CostAnalysis") + } + profile.CostAnalysis = &costAnalysis + } else { + profile.CostAnalysis = nil + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterMetricsProfile_STATUS populates the provided destination ManagedClusterMetricsProfile_STATUS from our ManagedClusterMetricsProfile_STATUS +func (profile *ManagedClusterMetricsProfile_STATUS) AssignProperties_To_ManagedClusterMetricsProfile_STATUS(destination *storage.ManagedClusterMetricsProfile_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // CostAnalysis + if profile.CostAnalysis != nil { + var costAnalysis storage.ManagedClusterCostAnalysis_STATUS + err := profile.CostAnalysis.AssignProperties_To_ManagedClusterCostAnalysis_STATUS(&costAnalysis) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterCostAnalysis_STATUS() to populate field CostAnalysis") + } + destination.CostAnalysis = &costAnalysis + } else { + destination.CostAnalysis = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Node resource group lockdown profile for a managed cluster. +type ManagedClusterNodeResourceGroupProfile struct { + // RestrictionLevel: The restriction level applied to the cluster's node resource group. If not specified, the default is + // 'Unrestricted' + RestrictionLevel *ManagedClusterNodeResourceGroupProfile_RestrictionLevel `json:"restrictionLevel,omitempty"` +} + +var _ genruntime.ARMTransformer = &ManagedClusterNodeResourceGroupProfile{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (profile *ManagedClusterNodeResourceGroupProfile) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if profile == nil { + return nil, nil + } + result := &arm.ManagedClusterNodeResourceGroupProfile{} + + // Set property "RestrictionLevel": + if profile.RestrictionLevel != nil { + var temp string + temp = string(*profile.RestrictionLevel) + restrictionLevel := arm.ManagedClusterNodeResourceGroupProfile_RestrictionLevel(temp) + result.RestrictionLevel = &restrictionLevel + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (profile *ManagedClusterNodeResourceGroupProfile) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ManagedClusterNodeResourceGroupProfile{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (profile *ManagedClusterNodeResourceGroupProfile) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ManagedClusterNodeResourceGroupProfile) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ManagedClusterNodeResourceGroupProfile, got %T", armInput) + } + + // Set property "RestrictionLevel": + if typedInput.RestrictionLevel != nil { + var temp string + temp = string(*typedInput.RestrictionLevel) + restrictionLevel := ManagedClusterNodeResourceGroupProfile_RestrictionLevel(temp) + profile.RestrictionLevel = &restrictionLevel + } + + // No error + return nil +} + +// AssignProperties_From_ManagedClusterNodeResourceGroupProfile populates our ManagedClusterNodeResourceGroupProfile from the provided source ManagedClusterNodeResourceGroupProfile +func (profile *ManagedClusterNodeResourceGroupProfile) AssignProperties_From_ManagedClusterNodeResourceGroupProfile(source *storage.ManagedClusterNodeResourceGroupProfile) error { + + // RestrictionLevel + if source.RestrictionLevel != nil { + restrictionLevel := *source.RestrictionLevel + restrictionLevelTemp := genruntime.ToEnum(restrictionLevel, managedClusterNodeResourceGroupProfile_RestrictionLevel_Values) + profile.RestrictionLevel = &restrictionLevelTemp + } else { + profile.RestrictionLevel = nil + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterNodeResourceGroupProfile populates the provided destination ManagedClusterNodeResourceGroupProfile from our ManagedClusterNodeResourceGroupProfile +func (profile *ManagedClusterNodeResourceGroupProfile) AssignProperties_To_ManagedClusterNodeResourceGroupProfile(destination *storage.ManagedClusterNodeResourceGroupProfile) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // RestrictionLevel + if profile.RestrictionLevel != nil { + restrictionLevel := string(*profile.RestrictionLevel) + destination.RestrictionLevel = &restrictionLevel + } else { + destination.RestrictionLevel = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_ManagedClusterNodeResourceGroupProfile_STATUS populates our ManagedClusterNodeResourceGroupProfile from the provided source ManagedClusterNodeResourceGroupProfile_STATUS +func (profile *ManagedClusterNodeResourceGroupProfile) Initialize_From_ManagedClusterNodeResourceGroupProfile_STATUS(source *ManagedClusterNodeResourceGroupProfile_STATUS) error { + + // RestrictionLevel + if source.RestrictionLevel != nil { + restrictionLevel := genruntime.ToEnum(string(*source.RestrictionLevel), managedClusterNodeResourceGroupProfile_RestrictionLevel_Values) + profile.RestrictionLevel = &restrictionLevel + } else { + profile.RestrictionLevel = nil + } + + // No error + return nil +} + +// Node resource group lockdown profile for a managed cluster. +type ManagedClusterNodeResourceGroupProfile_STATUS struct { + // RestrictionLevel: The restriction level applied to the cluster's node resource group. If not specified, the default is + // 'Unrestricted' + RestrictionLevel *ManagedClusterNodeResourceGroupProfile_RestrictionLevel_STATUS `json:"restrictionLevel,omitempty"` +} + +var _ genruntime.FromARMConverter = &ManagedClusterNodeResourceGroupProfile_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (profile *ManagedClusterNodeResourceGroupProfile_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ManagedClusterNodeResourceGroupProfile_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (profile *ManagedClusterNodeResourceGroupProfile_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ManagedClusterNodeResourceGroupProfile_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ManagedClusterNodeResourceGroupProfile_STATUS, got %T", armInput) + } + + // Set property "RestrictionLevel": + if typedInput.RestrictionLevel != nil { + var temp string + temp = string(*typedInput.RestrictionLevel) + restrictionLevel := ManagedClusterNodeResourceGroupProfile_RestrictionLevel_STATUS(temp) + profile.RestrictionLevel = &restrictionLevel + } + + // No error + return nil +} + +// AssignProperties_From_ManagedClusterNodeResourceGroupProfile_STATUS populates our ManagedClusterNodeResourceGroupProfile_STATUS from the provided source ManagedClusterNodeResourceGroupProfile_STATUS +func (profile *ManagedClusterNodeResourceGroupProfile_STATUS) AssignProperties_From_ManagedClusterNodeResourceGroupProfile_STATUS(source *storage.ManagedClusterNodeResourceGroupProfile_STATUS) error { + + // RestrictionLevel + if source.RestrictionLevel != nil { + restrictionLevel := *source.RestrictionLevel + restrictionLevelTemp := genruntime.ToEnum(restrictionLevel, managedClusterNodeResourceGroupProfile_RestrictionLevel_STATUS_Values) + profile.RestrictionLevel = &restrictionLevelTemp + } else { + profile.RestrictionLevel = nil + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterNodeResourceGroupProfile_STATUS populates the provided destination ManagedClusterNodeResourceGroupProfile_STATUS from our ManagedClusterNodeResourceGroupProfile_STATUS +func (profile *ManagedClusterNodeResourceGroupProfile_STATUS) AssignProperties_To_ManagedClusterNodeResourceGroupProfile_STATUS(destination *storage.ManagedClusterNodeResourceGroupProfile_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // RestrictionLevel + if profile.RestrictionLevel != nil { + restrictionLevel := string(*profile.RestrictionLevel) + destination.RestrictionLevel = &restrictionLevel + } else { + destination.RestrictionLevel = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// The OIDC issuer profile of the Managed Cluster. +type ManagedClusterOIDCIssuerProfile struct { + // Enabled: Whether the OIDC issuer is enabled. + Enabled *bool `json:"enabled,omitempty"` +} + +var _ genruntime.ARMTransformer = &ManagedClusterOIDCIssuerProfile{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (profile *ManagedClusterOIDCIssuerProfile) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if profile == nil { + return nil, nil + } + result := &arm.ManagedClusterOIDCIssuerProfile{} + + // Set property "Enabled": + if profile.Enabled != nil { + enabled := *profile.Enabled + result.Enabled = &enabled + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (profile *ManagedClusterOIDCIssuerProfile) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ManagedClusterOIDCIssuerProfile{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (profile *ManagedClusterOIDCIssuerProfile) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ManagedClusterOIDCIssuerProfile) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ManagedClusterOIDCIssuerProfile, got %T", armInput) + } + + // Set property "Enabled": + if typedInput.Enabled != nil { + enabled := *typedInput.Enabled + profile.Enabled = &enabled + } + + // No error + return nil +} + +// AssignProperties_From_ManagedClusterOIDCIssuerProfile populates our ManagedClusterOIDCIssuerProfile from the provided source ManagedClusterOIDCIssuerProfile +func (profile *ManagedClusterOIDCIssuerProfile) AssignProperties_From_ManagedClusterOIDCIssuerProfile(source *storage.ManagedClusterOIDCIssuerProfile) error { + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + profile.Enabled = &enabled + } else { + profile.Enabled = nil + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterOIDCIssuerProfile populates the provided destination ManagedClusterOIDCIssuerProfile from our ManagedClusterOIDCIssuerProfile +func (profile *ManagedClusterOIDCIssuerProfile) AssignProperties_To_ManagedClusterOIDCIssuerProfile(destination *storage.ManagedClusterOIDCIssuerProfile) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Enabled + if profile.Enabled != nil { + enabled := *profile.Enabled + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_ManagedClusterOIDCIssuerProfile_STATUS populates our ManagedClusterOIDCIssuerProfile from the provided source ManagedClusterOIDCIssuerProfile_STATUS +func (profile *ManagedClusterOIDCIssuerProfile) Initialize_From_ManagedClusterOIDCIssuerProfile_STATUS(source *ManagedClusterOIDCIssuerProfile_STATUS) error { + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + profile.Enabled = &enabled + } else { + profile.Enabled = nil + } + + // No error + return nil +} + +// The OIDC issuer profile of the Managed Cluster. +type ManagedClusterOIDCIssuerProfile_STATUS struct { + // Enabled: Whether the OIDC issuer is enabled. + Enabled *bool `json:"enabled,omitempty"` + + // IssuerURL: The OIDC issuer url of the Managed Cluster. + IssuerURL *string `json:"issuerURL,omitempty"` +} + +var _ genruntime.FromARMConverter = &ManagedClusterOIDCIssuerProfile_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (profile *ManagedClusterOIDCIssuerProfile_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ManagedClusterOIDCIssuerProfile_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (profile *ManagedClusterOIDCIssuerProfile_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ManagedClusterOIDCIssuerProfile_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ManagedClusterOIDCIssuerProfile_STATUS, got %T", armInput) + } + + // Set property "Enabled": + if typedInput.Enabled != nil { + enabled := *typedInput.Enabled + profile.Enabled = &enabled + } + + // Set property "IssuerURL": + if typedInput.IssuerURL != nil { + issuerURL := *typedInput.IssuerURL + profile.IssuerURL = &issuerURL + } + + // No error + return nil +} + +// AssignProperties_From_ManagedClusterOIDCIssuerProfile_STATUS populates our ManagedClusterOIDCIssuerProfile_STATUS from the provided source ManagedClusterOIDCIssuerProfile_STATUS +func (profile *ManagedClusterOIDCIssuerProfile_STATUS) AssignProperties_From_ManagedClusterOIDCIssuerProfile_STATUS(source *storage.ManagedClusterOIDCIssuerProfile_STATUS) error { + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + profile.Enabled = &enabled + } else { + profile.Enabled = nil + } + + // IssuerURL + profile.IssuerURL = genruntime.ClonePointerToString(source.IssuerURL) + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterOIDCIssuerProfile_STATUS populates the provided destination ManagedClusterOIDCIssuerProfile_STATUS from our ManagedClusterOIDCIssuerProfile_STATUS +func (profile *ManagedClusterOIDCIssuerProfile_STATUS) AssignProperties_To_ManagedClusterOIDCIssuerProfile_STATUS(destination *storage.ManagedClusterOIDCIssuerProfile_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Enabled + if profile.Enabled != nil { + enabled := *profile.Enabled + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // IssuerURL + destination.IssuerURL = genruntime.ClonePointerToString(profile.IssuerURL) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure +type ManagedClusterOperatorSpec struct { + // ConfigMaps: configures where to place operator written ConfigMaps. + ConfigMaps *ManagedClusterOperatorConfigMaps `json:"configMaps,omitempty"` + + // Secrets: configures where to place Azure generated secrets. + Secrets *ManagedClusterOperatorSecrets `json:"secrets,omitempty"` +} + +// AssignProperties_From_ManagedClusterOperatorSpec populates our ManagedClusterOperatorSpec from the provided source ManagedClusterOperatorSpec +func (operator *ManagedClusterOperatorSpec) AssignProperties_From_ManagedClusterOperatorSpec(source *storage.ManagedClusterOperatorSpec) error { + + // ConfigMaps + if source.ConfigMaps != nil { + var configMap ManagedClusterOperatorConfigMaps + err := configMap.AssignProperties_From_ManagedClusterOperatorConfigMaps(source.ConfigMaps) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterOperatorConfigMaps() to populate field ConfigMaps") + } + operator.ConfigMaps = &configMap + } else { + operator.ConfigMaps = nil + } + + // Secrets + if source.Secrets != nil { + var secret ManagedClusterOperatorSecrets + err := secret.AssignProperties_From_ManagedClusterOperatorSecrets(source.Secrets) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterOperatorSecrets() to populate field Secrets") + } + operator.Secrets = &secret + } else { + operator.Secrets = nil + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterOperatorSpec populates the provided destination ManagedClusterOperatorSpec from our ManagedClusterOperatorSpec +func (operator *ManagedClusterOperatorSpec) AssignProperties_To_ManagedClusterOperatorSpec(destination *storage.ManagedClusterOperatorSpec) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // ConfigMaps + if operator.ConfigMaps != nil { + var configMap storage.ManagedClusterOperatorConfigMaps + err := operator.ConfigMaps.AssignProperties_To_ManagedClusterOperatorConfigMaps(&configMap) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterOperatorConfigMaps() to populate field ConfigMaps") + } + destination.ConfigMaps = &configMap + } else { + destination.ConfigMaps = nil + } + + // Secrets + if operator.Secrets != nil { + var secret storage.ManagedClusterOperatorSecrets + err := operator.Secrets.AssignProperties_To_ManagedClusterOperatorSecrets(&secret) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterOperatorSecrets() to populate field Secrets") + } + destination.Secrets = &secret + } else { + destination.Secrets = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on pod +// identity integration. +type ManagedClusterPodIdentityProfile struct { + // AllowNetworkPluginKubenet: Running in Kubenet is disabled by default due to the security related nature of AAD Pod + // Identity and the risks of IP spoofing. See [using Kubenet network plugin with AAD Pod + // Identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity#using-kubenet-network-plugin-with-azure-active-directory-pod-managed-identities) + // for more information. + AllowNetworkPluginKubenet *bool `json:"allowNetworkPluginKubenet,omitempty"` + + // Enabled: Whether the pod identity addon is enabled. + Enabled *bool `json:"enabled,omitempty"` + + // UserAssignedIdentities: The pod identities to use in the cluster. + UserAssignedIdentities []ManagedClusterPodIdentity `json:"userAssignedIdentities,omitempty"` + + // UserAssignedIdentityExceptions: The pod identity exceptions to allow. + UserAssignedIdentityExceptions []ManagedClusterPodIdentityException `json:"userAssignedIdentityExceptions,omitempty"` +} + +var _ genruntime.ARMTransformer = &ManagedClusterPodIdentityProfile{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (profile *ManagedClusterPodIdentityProfile) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if profile == nil { + return nil, nil + } + result := &arm.ManagedClusterPodIdentityProfile{} + + // Set property "AllowNetworkPluginKubenet": + if profile.AllowNetworkPluginKubenet != nil { + allowNetworkPluginKubenet := *profile.AllowNetworkPluginKubenet + result.AllowNetworkPluginKubenet = &allowNetworkPluginKubenet + } + + // Set property "Enabled": + if profile.Enabled != nil { + enabled := *profile.Enabled + result.Enabled = &enabled + } + + // Set property "UserAssignedIdentities": + for _, item := range profile.UserAssignedIdentities { + item_ARM, err := item.ConvertToARM(resolved) + if err != nil { + return nil, err + } + result.UserAssignedIdentities = append(result.UserAssignedIdentities, *item_ARM.(*arm.ManagedClusterPodIdentity)) + } + + // Set property "UserAssignedIdentityExceptions": + for _, item := range profile.UserAssignedIdentityExceptions { + item_ARM, err := item.ConvertToARM(resolved) + if err != nil { + return nil, err + } + result.UserAssignedIdentityExceptions = append(result.UserAssignedIdentityExceptions, *item_ARM.(*arm.ManagedClusterPodIdentityException)) + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (profile *ManagedClusterPodIdentityProfile) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ManagedClusterPodIdentityProfile{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (profile *ManagedClusterPodIdentityProfile) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ManagedClusterPodIdentityProfile) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ManagedClusterPodIdentityProfile, got %T", armInput) + } + + // Set property "AllowNetworkPluginKubenet": + if typedInput.AllowNetworkPluginKubenet != nil { + allowNetworkPluginKubenet := *typedInput.AllowNetworkPluginKubenet + profile.AllowNetworkPluginKubenet = &allowNetworkPluginKubenet + } + + // Set property "Enabled": + if typedInput.Enabled != nil { + enabled := *typedInput.Enabled + profile.Enabled = &enabled + } + + // Set property "UserAssignedIdentities": + for _, item := range typedInput.UserAssignedIdentities { + var item1 ManagedClusterPodIdentity + err := item1.PopulateFromARM(owner, item) + if err != nil { + return err + } + profile.UserAssignedIdentities = append(profile.UserAssignedIdentities, item1) + } + + // Set property "UserAssignedIdentityExceptions": + for _, item := range typedInput.UserAssignedIdentityExceptions { + var item1 ManagedClusterPodIdentityException + err := item1.PopulateFromARM(owner, item) + if err != nil { + return err + } + profile.UserAssignedIdentityExceptions = append(profile.UserAssignedIdentityExceptions, item1) + } + + // No error + return nil +} + +// AssignProperties_From_ManagedClusterPodIdentityProfile populates our ManagedClusterPodIdentityProfile from the provided source ManagedClusterPodIdentityProfile +func (profile *ManagedClusterPodIdentityProfile) AssignProperties_From_ManagedClusterPodIdentityProfile(source *storage.ManagedClusterPodIdentityProfile) error { + + // AllowNetworkPluginKubenet + if source.AllowNetworkPluginKubenet != nil { + allowNetworkPluginKubenet := *source.AllowNetworkPluginKubenet + profile.AllowNetworkPluginKubenet = &allowNetworkPluginKubenet + } else { + profile.AllowNetworkPluginKubenet = nil + } + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + profile.Enabled = &enabled + } else { + profile.Enabled = nil + } + + // UserAssignedIdentities + if source.UserAssignedIdentities != nil { + userAssignedIdentityList := make([]ManagedClusterPodIdentity, len(source.UserAssignedIdentities)) + for userAssignedIdentityIndex, userAssignedIdentityItem := range source.UserAssignedIdentities { + // Shadow the loop variable to avoid aliasing + userAssignedIdentityItem := userAssignedIdentityItem + var userAssignedIdentity ManagedClusterPodIdentity + err := userAssignedIdentity.AssignProperties_From_ManagedClusterPodIdentity(&userAssignedIdentityItem) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterPodIdentity() to populate field UserAssignedIdentities") + } + userAssignedIdentityList[userAssignedIdentityIndex] = userAssignedIdentity + } + profile.UserAssignedIdentities = userAssignedIdentityList + } else { + profile.UserAssignedIdentities = nil + } + + // UserAssignedIdentityExceptions + if source.UserAssignedIdentityExceptions != nil { + userAssignedIdentityExceptionList := make([]ManagedClusterPodIdentityException, len(source.UserAssignedIdentityExceptions)) + for userAssignedIdentityExceptionIndex, userAssignedIdentityExceptionItem := range source.UserAssignedIdentityExceptions { + // Shadow the loop variable to avoid aliasing + userAssignedIdentityExceptionItem := userAssignedIdentityExceptionItem + var userAssignedIdentityException ManagedClusterPodIdentityException + err := userAssignedIdentityException.AssignProperties_From_ManagedClusterPodIdentityException(&userAssignedIdentityExceptionItem) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterPodIdentityException() to populate field UserAssignedIdentityExceptions") + } + userAssignedIdentityExceptionList[userAssignedIdentityExceptionIndex] = userAssignedIdentityException + } + profile.UserAssignedIdentityExceptions = userAssignedIdentityExceptionList + } else { + profile.UserAssignedIdentityExceptions = nil + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterPodIdentityProfile populates the provided destination ManagedClusterPodIdentityProfile from our ManagedClusterPodIdentityProfile +func (profile *ManagedClusterPodIdentityProfile) AssignProperties_To_ManagedClusterPodIdentityProfile(destination *storage.ManagedClusterPodIdentityProfile) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // AllowNetworkPluginKubenet + if profile.AllowNetworkPluginKubenet != nil { + allowNetworkPluginKubenet := *profile.AllowNetworkPluginKubenet + destination.AllowNetworkPluginKubenet = &allowNetworkPluginKubenet + } else { + destination.AllowNetworkPluginKubenet = nil + } + + // Enabled + if profile.Enabled != nil { + enabled := *profile.Enabled + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // UserAssignedIdentities + if profile.UserAssignedIdentities != nil { + userAssignedIdentityList := make([]storage.ManagedClusterPodIdentity, len(profile.UserAssignedIdentities)) + for userAssignedIdentityIndex, userAssignedIdentityItem := range profile.UserAssignedIdentities { + // Shadow the loop variable to avoid aliasing + userAssignedIdentityItem := userAssignedIdentityItem + var userAssignedIdentity storage.ManagedClusterPodIdentity + err := userAssignedIdentityItem.AssignProperties_To_ManagedClusterPodIdentity(&userAssignedIdentity) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterPodIdentity() to populate field UserAssignedIdentities") + } + userAssignedIdentityList[userAssignedIdentityIndex] = userAssignedIdentity + } + destination.UserAssignedIdentities = userAssignedIdentityList + } else { + destination.UserAssignedIdentities = nil + } + + // UserAssignedIdentityExceptions + if profile.UserAssignedIdentityExceptions != nil { + userAssignedIdentityExceptionList := make([]storage.ManagedClusterPodIdentityException, len(profile.UserAssignedIdentityExceptions)) + for userAssignedIdentityExceptionIndex, userAssignedIdentityExceptionItem := range profile.UserAssignedIdentityExceptions { + // Shadow the loop variable to avoid aliasing + userAssignedIdentityExceptionItem := userAssignedIdentityExceptionItem + var userAssignedIdentityException storage.ManagedClusterPodIdentityException + err := userAssignedIdentityExceptionItem.AssignProperties_To_ManagedClusterPodIdentityException(&userAssignedIdentityException) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterPodIdentityException() to populate field UserAssignedIdentityExceptions") + } + userAssignedIdentityExceptionList[userAssignedIdentityExceptionIndex] = userAssignedIdentityException + } + destination.UserAssignedIdentityExceptions = userAssignedIdentityExceptionList + } else { + destination.UserAssignedIdentityExceptions = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_ManagedClusterPodIdentityProfile_STATUS populates our ManagedClusterPodIdentityProfile from the provided source ManagedClusterPodIdentityProfile_STATUS +func (profile *ManagedClusterPodIdentityProfile) Initialize_From_ManagedClusterPodIdentityProfile_STATUS(source *ManagedClusterPodIdentityProfile_STATUS) error { + + // AllowNetworkPluginKubenet + if source.AllowNetworkPluginKubenet != nil { + allowNetworkPluginKubenet := *source.AllowNetworkPluginKubenet + profile.AllowNetworkPluginKubenet = &allowNetworkPluginKubenet + } else { + profile.AllowNetworkPluginKubenet = nil + } + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + profile.Enabled = &enabled + } else { + profile.Enabled = nil + } + + // UserAssignedIdentities + if source.UserAssignedIdentities != nil { + userAssignedIdentityList := make([]ManagedClusterPodIdentity, len(source.UserAssignedIdentities)) + for userAssignedIdentityIndex, userAssignedIdentityItem := range source.UserAssignedIdentities { + // Shadow the loop variable to avoid aliasing + userAssignedIdentityItem := userAssignedIdentityItem + var userAssignedIdentity ManagedClusterPodIdentity + err := userAssignedIdentity.Initialize_From_ManagedClusterPodIdentity_STATUS(&userAssignedIdentityItem) + if err != nil { + return errors.Wrap(err, "calling Initialize_From_ManagedClusterPodIdentity_STATUS() to populate field UserAssignedIdentities") + } + userAssignedIdentityList[userAssignedIdentityIndex] = userAssignedIdentity + } + profile.UserAssignedIdentities = userAssignedIdentityList + } else { + profile.UserAssignedIdentities = nil + } + + // UserAssignedIdentityExceptions + if source.UserAssignedIdentityExceptions != nil { + userAssignedIdentityExceptionList := make([]ManagedClusterPodIdentityException, len(source.UserAssignedIdentityExceptions)) + for userAssignedIdentityExceptionIndex, userAssignedIdentityExceptionItem := range source.UserAssignedIdentityExceptions { + // Shadow the loop variable to avoid aliasing + userAssignedIdentityExceptionItem := userAssignedIdentityExceptionItem + var userAssignedIdentityException ManagedClusterPodIdentityException + err := userAssignedIdentityException.Initialize_From_ManagedClusterPodIdentityException_STATUS(&userAssignedIdentityExceptionItem) + if err != nil { + return errors.Wrap(err, "calling Initialize_From_ManagedClusterPodIdentityException_STATUS() to populate field UserAssignedIdentityExceptions") + } + userAssignedIdentityExceptionList[userAssignedIdentityExceptionIndex] = userAssignedIdentityException + } + profile.UserAssignedIdentityExceptions = userAssignedIdentityExceptionList + } else { + profile.UserAssignedIdentityExceptions = nil + } + + // No error + return nil +} + +// See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on pod +// identity integration. +type ManagedClusterPodIdentityProfile_STATUS struct { + // AllowNetworkPluginKubenet: Running in Kubenet is disabled by default due to the security related nature of AAD Pod + // Identity and the risks of IP spoofing. See [using Kubenet network plugin with AAD Pod + // Identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity#using-kubenet-network-plugin-with-azure-active-directory-pod-managed-identities) + // for more information. + AllowNetworkPluginKubenet *bool `json:"allowNetworkPluginKubenet,omitempty"` + + // Enabled: Whether the pod identity addon is enabled. + Enabled *bool `json:"enabled,omitempty"` + + // UserAssignedIdentities: The pod identities to use in the cluster. + UserAssignedIdentities []ManagedClusterPodIdentity_STATUS `json:"userAssignedIdentities,omitempty"` + + // UserAssignedIdentityExceptions: The pod identity exceptions to allow. + UserAssignedIdentityExceptions []ManagedClusterPodIdentityException_STATUS `json:"userAssignedIdentityExceptions,omitempty"` +} + +var _ genruntime.FromARMConverter = &ManagedClusterPodIdentityProfile_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (profile *ManagedClusterPodIdentityProfile_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ManagedClusterPodIdentityProfile_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (profile *ManagedClusterPodIdentityProfile_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ManagedClusterPodIdentityProfile_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ManagedClusterPodIdentityProfile_STATUS, got %T", armInput) + } + + // Set property "AllowNetworkPluginKubenet": + if typedInput.AllowNetworkPluginKubenet != nil { + allowNetworkPluginKubenet := *typedInput.AllowNetworkPluginKubenet + profile.AllowNetworkPluginKubenet = &allowNetworkPluginKubenet + } + + // Set property "Enabled": + if typedInput.Enabled != nil { + enabled := *typedInput.Enabled + profile.Enabled = &enabled + } + + // Set property "UserAssignedIdentities": + for _, item := range typedInput.UserAssignedIdentities { + var item1 ManagedClusterPodIdentity_STATUS + err := item1.PopulateFromARM(owner, item) + if err != nil { + return err + } + profile.UserAssignedIdentities = append(profile.UserAssignedIdentities, item1) + } + + // Set property "UserAssignedIdentityExceptions": + for _, item := range typedInput.UserAssignedIdentityExceptions { + var item1 ManagedClusterPodIdentityException_STATUS + err := item1.PopulateFromARM(owner, item) + if err != nil { + return err + } + profile.UserAssignedIdentityExceptions = append(profile.UserAssignedIdentityExceptions, item1) + } + + // No error + return nil +} + +// AssignProperties_From_ManagedClusterPodIdentityProfile_STATUS populates our ManagedClusterPodIdentityProfile_STATUS from the provided source ManagedClusterPodIdentityProfile_STATUS +func (profile *ManagedClusterPodIdentityProfile_STATUS) AssignProperties_From_ManagedClusterPodIdentityProfile_STATUS(source *storage.ManagedClusterPodIdentityProfile_STATUS) error { + + // AllowNetworkPluginKubenet + if source.AllowNetworkPluginKubenet != nil { + allowNetworkPluginKubenet := *source.AllowNetworkPluginKubenet + profile.AllowNetworkPluginKubenet = &allowNetworkPluginKubenet + } else { + profile.AllowNetworkPluginKubenet = nil + } + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + profile.Enabled = &enabled + } else { + profile.Enabled = nil + } + + // UserAssignedIdentities + if source.UserAssignedIdentities != nil { + userAssignedIdentityList := make([]ManagedClusterPodIdentity_STATUS, len(source.UserAssignedIdentities)) + for userAssignedIdentityIndex, userAssignedIdentityItem := range source.UserAssignedIdentities { + // Shadow the loop variable to avoid aliasing + userAssignedIdentityItem := userAssignedIdentityItem + var userAssignedIdentity ManagedClusterPodIdentity_STATUS + err := userAssignedIdentity.AssignProperties_From_ManagedClusterPodIdentity_STATUS(&userAssignedIdentityItem) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterPodIdentity_STATUS() to populate field UserAssignedIdentities") + } + userAssignedIdentityList[userAssignedIdentityIndex] = userAssignedIdentity + } + profile.UserAssignedIdentities = userAssignedIdentityList + } else { + profile.UserAssignedIdentities = nil + } + + // UserAssignedIdentityExceptions + if source.UserAssignedIdentityExceptions != nil { + userAssignedIdentityExceptionList := make([]ManagedClusterPodIdentityException_STATUS, len(source.UserAssignedIdentityExceptions)) + for userAssignedIdentityExceptionIndex, userAssignedIdentityExceptionItem := range source.UserAssignedIdentityExceptions { + // Shadow the loop variable to avoid aliasing + userAssignedIdentityExceptionItem := userAssignedIdentityExceptionItem + var userAssignedIdentityException ManagedClusterPodIdentityException_STATUS + err := userAssignedIdentityException.AssignProperties_From_ManagedClusterPodIdentityException_STATUS(&userAssignedIdentityExceptionItem) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterPodIdentityException_STATUS() to populate field UserAssignedIdentityExceptions") + } + userAssignedIdentityExceptionList[userAssignedIdentityExceptionIndex] = userAssignedIdentityException + } + profile.UserAssignedIdentityExceptions = userAssignedIdentityExceptionList + } else { + profile.UserAssignedIdentityExceptions = nil + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterPodIdentityProfile_STATUS populates the provided destination ManagedClusterPodIdentityProfile_STATUS from our ManagedClusterPodIdentityProfile_STATUS +func (profile *ManagedClusterPodIdentityProfile_STATUS) AssignProperties_To_ManagedClusterPodIdentityProfile_STATUS(destination *storage.ManagedClusterPodIdentityProfile_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // AllowNetworkPluginKubenet + if profile.AllowNetworkPluginKubenet != nil { + allowNetworkPluginKubenet := *profile.AllowNetworkPluginKubenet + destination.AllowNetworkPluginKubenet = &allowNetworkPluginKubenet + } else { + destination.AllowNetworkPluginKubenet = nil + } + + // Enabled + if profile.Enabled != nil { + enabled := *profile.Enabled + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // UserAssignedIdentities + if profile.UserAssignedIdentities != nil { + userAssignedIdentityList := make([]storage.ManagedClusterPodIdentity_STATUS, len(profile.UserAssignedIdentities)) + for userAssignedIdentityIndex, userAssignedIdentityItem := range profile.UserAssignedIdentities { + // Shadow the loop variable to avoid aliasing + userAssignedIdentityItem := userAssignedIdentityItem + var userAssignedIdentity storage.ManagedClusterPodIdentity_STATUS + err := userAssignedIdentityItem.AssignProperties_To_ManagedClusterPodIdentity_STATUS(&userAssignedIdentity) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterPodIdentity_STATUS() to populate field UserAssignedIdentities") + } + userAssignedIdentityList[userAssignedIdentityIndex] = userAssignedIdentity + } + destination.UserAssignedIdentities = userAssignedIdentityList + } else { + destination.UserAssignedIdentities = nil + } + + // UserAssignedIdentityExceptions + if profile.UserAssignedIdentityExceptions != nil { + userAssignedIdentityExceptionList := make([]storage.ManagedClusterPodIdentityException_STATUS, len(profile.UserAssignedIdentityExceptions)) + for userAssignedIdentityExceptionIndex, userAssignedIdentityExceptionItem := range profile.UserAssignedIdentityExceptions { + // Shadow the loop variable to avoid aliasing + userAssignedIdentityExceptionItem := userAssignedIdentityExceptionItem + var userAssignedIdentityException storage.ManagedClusterPodIdentityException_STATUS + err := userAssignedIdentityExceptionItem.AssignProperties_To_ManagedClusterPodIdentityException_STATUS(&userAssignedIdentityException) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterPodIdentityException_STATUS() to populate field UserAssignedIdentityExceptions") + } + userAssignedIdentityExceptionList[userAssignedIdentityExceptionIndex] = userAssignedIdentityException + } + destination.UserAssignedIdentityExceptions = userAssignedIdentityExceptionList + } else { + destination.UserAssignedIdentityExceptions = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +type ManagedClusterProperties_AutoScalerProfile struct { + // BalanceSimilarNodeGroups: Valid values are 'true' and 'false' + BalanceSimilarNodeGroups *string `json:"balance-similar-node-groups,omitempty"` + + // DaemonsetEvictionForEmptyNodes: If set to true, all daemonset pods on empty nodes will be evicted before deletion of the + // node. If the daemonset pod cannot be evicted another node will be chosen for scaling. If set to false, the node will be + // deleted without ensuring that daemonset pods are deleted or evicted. + DaemonsetEvictionForEmptyNodes *bool `json:"daemonset-eviction-for-empty-nodes,omitempty"` + + // DaemonsetEvictionForOccupiedNodes: If set to true, all daemonset pods on occupied nodes will be evicted before deletion + // of the node. If the daemonset pod cannot be evicted another node will be chosen for scaling. If set to false, the node + // will be deleted without ensuring that daemonset pods are deleted or evicted. + DaemonsetEvictionForOccupiedNodes *bool `json:"daemonset-eviction-for-occupied-nodes,omitempty"` + + // Expander: If not specified, the default is 'random'. See + // [expanders](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md#what-are-expanders) for more + // information. + Expander *ManagedClusterProperties_AutoScalerProfile_Expander `json:"expander,omitempty"` + + // IgnoreDaemonsetsUtilization: If set to true, the resources used by daemonset will be taken into account when making + // scaling down decisions. + IgnoreDaemonsetsUtilization *bool `json:"ignore-daemonsets-utilization,omitempty"` + + // MaxEmptyBulkDelete: The default is 10. + MaxEmptyBulkDelete *string `json:"max-empty-bulk-delete,omitempty"` + + // MaxGracefulTerminationSec: The default is 600. + MaxGracefulTerminationSec *string `json:"max-graceful-termination-sec,omitempty"` + + // MaxNodeProvisionTime: The default is '15m'. Values must be an integer followed by an 'm'. No unit of time other than + // minutes (m) is supported. + MaxNodeProvisionTime *string `json:"max-node-provision-time,omitempty"` + + // MaxTotalUnreadyPercentage: The default is 45. The maximum is 100 and the minimum is 0. + MaxTotalUnreadyPercentage *string `json:"max-total-unready-percentage,omitempty"` + + // NewPodScaleUpDelay: For scenarios like burst/batch scale where you don't want CA to act before the kubernetes scheduler + // could schedule all the pods, you can tell CA to ignore unscheduled pods before they're a certain age. The default is + // '0s'. Values must be an integer followed by a unit ('s' for seconds, 'm' for minutes, 'h' for hours, etc). + NewPodScaleUpDelay *string `json:"new-pod-scale-up-delay,omitempty"` + + // OkTotalUnreadyCount: This must be an integer. The default is 3. + OkTotalUnreadyCount *string `json:"ok-total-unready-count,omitempty"` + + // ScaleDownDelayAfterAdd: The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than + // minutes (m) is supported. + ScaleDownDelayAfterAdd *string `json:"scale-down-delay-after-add,omitempty"` + + // ScaleDownDelayAfterDelete: The default is the scan-interval. Values must be an integer followed by an 'm'. No unit of + // time other than minutes (m) is supported. + ScaleDownDelayAfterDelete *string `json:"scale-down-delay-after-delete,omitempty"` + + // ScaleDownDelayAfterFailure: The default is '3m'. Values must be an integer followed by an 'm'. No unit of time other + // than minutes (m) is supported. + ScaleDownDelayAfterFailure *string `json:"scale-down-delay-after-failure,omitempty"` + + // ScaleDownUnneededTime: The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than + // minutes (m) is supported. + ScaleDownUnneededTime *string `json:"scale-down-unneeded-time,omitempty"` + + // ScaleDownUnreadyTime: The default is '20m'. Values must be an integer followed by an 'm'. No unit of time other than + // minutes (m) is supported. + ScaleDownUnreadyTime *string `json:"scale-down-unready-time,omitempty"` + + // ScaleDownUtilizationThreshold: The default is '0.5'. + ScaleDownUtilizationThreshold *string `json:"scale-down-utilization-threshold,omitempty"` + + // ScanInterval: The default is '10'. Values must be an integer number of seconds. + ScanInterval *string `json:"scan-interval,omitempty"` + + // SkipNodesWithLocalStorage: The default is true. + SkipNodesWithLocalStorage *string `json:"skip-nodes-with-local-storage,omitempty"` + + // SkipNodesWithSystemPods: The default is true. + SkipNodesWithSystemPods *string `json:"skip-nodes-with-system-pods,omitempty"` +} + +var _ genruntime.ARMTransformer = &ManagedClusterProperties_AutoScalerProfile{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (profile *ManagedClusterProperties_AutoScalerProfile) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if profile == nil { + return nil, nil + } + result := &arm.ManagedClusterProperties_AutoScalerProfile{} + + // Set property "BalanceSimilarNodeGroups": + if profile.BalanceSimilarNodeGroups != nil { + balanceSimilarNodeGroups := *profile.BalanceSimilarNodeGroups + result.BalanceSimilarNodeGroups = &balanceSimilarNodeGroups + } + + // Set property "DaemonsetEvictionForEmptyNodes": + if profile.DaemonsetEvictionForEmptyNodes != nil { + daemonsetEvictionForEmptyNodes := *profile.DaemonsetEvictionForEmptyNodes + result.DaemonsetEvictionForEmptyNodes = &daemonsetEvictionForEmptyNodes + } + + // Set property "DaemonsetEvictionForOccupiedNodes": + if profile.DaemonsetEvictionForOccupiedNodes != nil { + daemonsetEvictionForOccupiedNodes := *profile.DaemonsetEvictionForOccupiedNodes + result.DaemonsetEvictionForOccupiedNodes = &daemonsetEvictionForOccupiedNodes + } + + // Set property "Expander": + if profile.Expander != nil { + var temp string + temp = string(*profile.Expander) + expander := arm.ManagedClusterProperties_AutoScalerProfile_Expander(temp) + result.Expander = &expander + } + + // Set property "IgnoreDaemonsetsUtilization": + if profile.IgnoreDaemonsetsUtilization != nil { + ignoreDaemonsetsUtilization := *profile.IgnoreDaemonsetsUtilization + result.IgnoreDaemonsetsUtilization = &ignoreDaemonsetsUtilization + } + + // Set property "MaxEmptyBulkDelete": + if profile.MaxEmptyBulkDelete != nil { + maxEmptyBulkDelete := *profile.MaxEmptyBulkDelete + result.MaxEmptyBulkDelete = &maxEmptyBulkDelete + } + + // Set property "MaxGracefulTerminationSec": + if profile.MaxGracefulTerminationSec != nil { + maxGracefulTerminationSec := *profile.MaxGracefulTerminationSec + result.MaxGracefulTerminationSec = &maxGracefulTerminationSec + } + + // Set property "MaxNodeProvisionTime": + if profile.MaxNodeProvisionTime != nil { + maxNodeProvisionTime := *profile.MaxNodeProvisionTime + result.MaxNodeProvisionTime = &maxNodeProvisionTime + } + + // Set property "MaxTotalUnreadyPercentage": + if profile.MaxTotalUnreadyPercentage != nil { + maxTotalUnreadyPercentage := *profile.MaxTotalUnreadyPercentage + result.MaxTotalUnreadyPercentage = &maxTotalUnreadyPercentage + } + + // Set property "NewPodScaleUpDelay": + if profile.NewPodScaleUpDelay != nil { + newPodScaleUpDelay := *profile.NewPodScaleUpDelay + result.NewPodScaleUpDelay = &newPodScaleUpDelay + } + + // Set property "OkTotalUnreadyCount": + if profile.OkTotalUnreadyCount != nil { + okTotalUnreadyCount := *profile.OkTotalUnreadyCount + result.OkTotalUnreadyCount = &okTotalUnreadyCount + } + + // Set property "ScaleDownDelayAfterAdd": + if profile.ScaleDownDelayAfterAdd != nil { + scaleDownDelayAfterAdd := *profile.ScaleDownDelayAfterAdd + result.ScaleDownDelayAfterAdd = &scaleDownDelayAfterAdd + } + + // Set property "ScaleDownDelayAfterDelete": + if profile.ScaleDownDelayAfterDelete != nil { + scaleDownDelayAfterDelete := *profile.ScaleDownDelayAfterDelete + result.ScaleDownDelayAfterDelete = &scaleDownDelayAfterDelete + } + + // Set property "ScaleDownDelayAfterFailure": + if profile.ScaleDownDelayAfterFailure != nil { + scaleDownDelayAfterFailure := *profile.ScaleDownDelayAfterFailure + result.ScaleDownDelayAfterFailure = &scaleDownDelayAfterFailure + } + + // Set property "ScaleDownUnneededTime": + if profile.ScaleDownUnneededTime != nil { + scaleDownUnneededTime := *profile.ScaleDownUnneededTime + result.ScaleDownUnneededTime = &scaleDownUnneededTime + } + + // Set property "ScaleDownUnreadyTime": + if profile.ScaleDownUnreadyTime != nil { + scaleDownUnreadyTime := *profile.ScaleDownUnreadyTime + result.ScaleDownUnreadyTime = &scaleDownUnreadyTime + } + + // Set property "ScaleDownUtilizationThreshold": + if profile.ScaleDownUtilizationThreshold != nil { + scaleDownUtilizationThreshold := *profile.ScaleDownUtilizationThreshold + result.ScaleDownUtilizationThreshold = &scaleDownUtilizationThreshold + } + + // Set property "ScanInterval": + if profile.ScanInterval != nil { + scanInterval := *profile.ScanInterval + result.ScanInterval = &scanInterval + } + + // Set property "SkipNodesWithLocalStorage": + if profile.SkipNodesWithLocalStorage != nil { + skipNodesWithLocalStorage := *profile.SkipNodesWithLocalStorage + result.SkipNodesWithLocalStorage = &skipNodesWithLocalStorage + } + + // Set property "SkipNodesWithSystemPods": + if profile.SkipNodesWithSystemPods != nil { + skipNodesWithSystemPods := *profile.SkipNodesWithSystemPods + result.SkipNodesWithSystemPods = &skipNodesWithSystemPods + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (profile *ManagedClusterProperties_AutoScalerProfile) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ManagedClusterProperties_AutoScalerProfile{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (profile *ManagedClusterProperties_AutoScalerProfile) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ManagedClusterProperties_AutoScalerProfile) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ManagedClusterProperties_AutoScalerProfile, got %T", armInput) + } + + // Set property "BalanceSimilarNodeGroups": + if typedInput.BalanceSimilarNodeGroups != nil { + balanceSimilarNodeGroups := *typedInput.BalanceSimilarNodeGroups + profile.BalanceSimilarNodeGroups = &balanceSimilarNodeGroups + } + + // Set property "DaemonsetEvictionForEmptyNodes": + if typedInput.DaemonsetEvictionForEmptyNodes != nil { + daemonsetEvictionForEmptyNodes := *typedInput.DaemonsetEvictionForEmptyNodes + profile.DaemonsetEvictionForEmptyNodes = &daemonsetEvictionForEmptyNodes + } + + // Set property "DaemonsetEvictionForOccupiedNodes": + if typedInput.DaemonsetEvictionForOccupiedNodes != nil { + daemonsetEvictionForOccupiedNodes := *typedInput.DaemonsetEvictionForOccupiedNodes + profile.DaemonsetEvictionForOccupiedNodes = &daemonsetEvictionForOccupiedNodes + } + + // Set property "Expander": + if typedInput.Expander != nil { + var temp string + temp = string(*typedInput.Expander) + expander := ManagedClusterProperties_AutoScalerProfile_Expander(temp) + profile.Expander = &expander + } + + // Set property "IgnoreDaemonsetsUtilization": + if typedInput.IgnoreDaemonsetsUtilization != nil { + ignoreDaemonsetsUtilization := *typedInput.IgnoreDaemonsetsUtilization + profile.IgnoreDaemonsetsUtilization = &ignoreDaemonsetsUtilization + } + + // Set property "MaxEmptyBulkDelete": + if typedInput.MaxEmptyBulkDelete != nil { + maxEmptyBulkDelete := *typedInput.MaxEmptyBulkDelete + profile.MaxEmptyBulkDelete = &maxEmptyBulkDelete + } + + // Set property "MaxGracefulTerminationSec": + if typedInput.MaxGracefulTerminationSec != nil { + maxGracefulTerminationSec := *typedInput.MaxGracefulTerminationSec + profile.MaxGracefulTerminationSec = &maxGracefulTerminationSec + } + + // Set property "MaxNodeProvisionTime": + if typedInput.MaxNodeProvisionTime != nil { + maxNodeProvisionTime := *typedInput.MaxNodeProvisionTime + profile.MaxNodeProvisionTime = &maxNodeProvisionTime + } + + // Set property "MaxTotalUnreadyPercentage": + if typedInput.MaxTotalUnreadyPercentage != nil { + maxTotalUnreadyPercentage := *typedInput.MaxTotalUnreadyPercentage + profile.MaxTotalUnreadyPercentage = &maxTotalUnreadyPercentage + } + + // Set property "NewPodScaleUpDelay": + if typedInput.NewPodScaleUpDelay != nil { + newPodScaleUpDelay := *typedInput.NewPodScaleUpDelay + profile.NewPodScaleUpDelay = &newPodScaleUpDelay + } + + // Set property "OkTotalUnreadyCount": + if typedInput.OkTotalUnreadyCount != nil { + okTotalUnreadyCount := *typedInput.OkTotalUnreadyCount + profile.OkTotalUnreadyCount = &okTotalUnreadyCount + } + + // Set property "ScaleDownDelayAfterAdd": + if typedInput.ScaleDownDelayAfterAdd != nil { + scaleDownDelayAfterAdd := *typedInput.ScaleDownDelayAfterAdd + profile.ScaleDownDelayAfterAdd = &scaleDownDelayAfterAdd + } + + // Set property "ScaleDownDelayAfterDelete": + if typedInput.ScaleDownDelayAfterDelete != nil { + scaleDownDelayAfterDelete := *typedInput.ScaleDownDelayAfterDelete + profile.ScaleDownDelayAfterDelete = &scaleDownDelayAfterDelete + } + + // Set property "ScaleDownDelayAfterFailure": + if typedInput.ScaleDownDelayAfterFailure != nil { + scaleDownDelayAfterFailure := *typedInput.ScaleDownDelayAfterFailure + profile.ScaleDownDelayAfterFailure = &scaleDownDelayAfterFailure + } + + // Set property "ScaleDownUnneededTime": + if typedInput.ScaleDownUnneededTime != nil { + scaleDownUnneededTime := *typedInput.ScaleDownUnneededTime + profile.ScaleDownUnneededTime = &scaleDownUnneededTime + } + + // Set property "ScaleDownUnreadyTime": + if typedInput.ScaleDownUnreadyTime != nil { + scaleDownUnreadyTime := *typedInput.ScaleDownUnreadyTime + profile.ScaleDownUnreadyTime = &scaleDownUnreadyTime + } + + // Set property "ScaleDownUtilizationThreshold": + if typedInput.ScaleDownUtilizationThreshold != nil { + scaleDownUtilizationThreshold := *typedInput.ScaleDownUtilizationThreshold + profile.ScaleDownUtilizationThreshold = &scaleDownUtilizationThreshold + } + + // Set property "ScanInterval": + if typedInput.ScanInterval != nil { + scanInterval := *typedInput.ScanInterval + profile.ScanInterval = &scanInterval + } + + // Set property "SkipNodesWithLocalStorage": + if typedInput.SkipNodesWithLocalStorage != nil { + skipNodesWithLocalStorage := *typedInput.SkipNodesWithLocalStorage + profile.SkipNodesWithLocalStorage = &skipNodesWithLocalStorage + } + + // Set property "SkipNodesWithSystemPods": + if typedInput.SkipNodesWithSystemPods != nil { + skipNodesWithSystemPods := *typedInput.SkipNodesWithSystemPods + profile.SkipNodesWithSystemPods = &skipNodesWithSystemPods + } + + // No error + return nil +} + +// AssignProperties_From_ManagedClusterProperties_AutoScalerProfile populates our ManagedClusterProperties_AutoScalerProfile from the provided source ManagedClusterProperties_AutoScalerProfile +func (profile *ManagedClusterProperties_AutoScalerProfile) AssignProperties_From_ManagedClusterProperties_AutoScalerProfile(source *storage.ManagedClusterProperties_AutoScalerProfile) error { + + // BalanceSimilarNodeGroups + profile.BalanceSimilarNodeGroups = genruntime.ClonePointerToString(source.BalanceSimilarNodeGroups) + + // DaemonsetEvictionForEmptyNodes + if source.DaemonsetEvictionForEmptyNodes != nil { + daemonsetEvictionForEmptyNode := *source.DaemonsetEvictionForEmptyNodes + profile.DaemonsetEvictionForEmptyNodes = &daemonsetEvictionForEmptyNode + } else { + profile.DaemonsetEvictionForEmptyNodes = nil + } + + // DaemonsetEvictionForOccupiedNodes + if source.DaemonsetEvictionForOccupiedNodes != nil { + daemonsetEvictionForOccupiedNode := *source.DaemonsetEvictionForOccupiedNodes + profile.DaemonsetEvictionForOccupiedNodes = &daemonsetEvictionForOccupiedNode + } else { + profile.DaemonsetEvictionForOccupiedNodes = nil + } + + // Expander + if source.Expander != nil { + expander := *source.Expander + expanderTemp := genruntime.ToEnum(expander, managedClusterProperties_AutoScalerProfile_Expander_Values) + profile.Expander = &expanderTemp + } else { + profile.Expander = nil + } + + // IgnoreDaemonsetsUtilization + if source.IgnoreDaemonsetsUtilization != nil { + ignoreDaemonsetsUtilization := *source.IgnoreDaemonsetsUtilization + profile.IgnoreDaemonsetsUtilization = &ignoreDaemonsetsUtilization + } else { + profile.IgnoreDaemonsetsUtilization = nil + } + + // MaxEmptyBulkDelete + profile.MaxEmptyBulkDelete = genruntime.ClonePointerToString(source.MaxEmptyBulkDelete) + + // MaxGracefulTerminationSec + profile.MaxGracefulTerminationSec = genruntime.ClonePointerToString(source.MaxGracefulTerminationSec) + + // MaxNodeProvisionTime + profile.MaxNodeProvisionTime = genruntime.ClonePointerToString(source.MaxNodeProvisionTime) + + // MaxTotalUnreadyPercentage + profile.MaxTotalUnreadyPercentage = genruntime.ClonePointerToString(source.MaxTotalUnreadyPercentage) + + // NewPodScaleUpDelay + profile.NewPodScaleUpDelay = genruntime.ClonePointerToString(source.NewPodScaleUpDelay) + + // OkTotalUnreadyCount + profile.OkTotalUnreadyCount = genruntime.ClonePointerToString(source.OkTotalUnreadyCount) + + // ScaleDownDelayAfterAdd + profile.ScaleDownDelayAfterAdd = genruntime.ClonePointerToString(source.ScaleDownDelayAfterAdd) + + // ScaleDownDelayAfterDelete + profile.ScaleDownDelayAfterDelete = genruntime.ClonePointerToString(source.ScaleDownDelayAfterDelete) + + // ScaleDownDelayAfterFailure + profile.ScaleDownDelayAfterFailure = genruntime.ClonePointerToString(source.ScaleDownDelayAfterFailure) + + // ScaleDownUnneededTime + profile.ScaleDownUnneededTime = genruntime.ClonePointerToString(source.ScaleDownUnneededTime) + + // ScaleDownUnreadyTime + profile.ScaleDownUnreadyTime = genruntime.ClonePointerToString(source.ScaleDownUnreadyTime) + + // ScaleDownUtilizationThreshold + profile.ScaleDownUtilizationThreshold = genruntime.ClonePointerToString(source.ScaleDownUtilizationThreshold) + + // ScanInterval + profile.ScanInterval = genruntime.ClonePointerToString(source.ScanInterval) + + // SkipNodesWithLocalStorage + profile.SkipNodesWithLocalStorage = genruntime.ClonePointerToString(source.SkipNodesWithLocalStorage) + + // SkipNodesWithSystemPods + profile.SkipNodesWithSystemPods = genruntime.ClonePointerToString(source.SkipNodesWithSystemPods) + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterProperties_AutoScalerProfile populates the provided destination ManagedClusterProperties_AutoScalerProfile from our ManagedClusterProperties_AutoScalerProfile +func (profile *ManagedClusterProperties_AutoScalerProfile) AssignProperties_To_ManagedClusterProperties_AutoScalerProfile(destination *storage.ManagedClusterProperties_AutoScalerProfile) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // BalanceSimilarNodeGroups + destination.BalanceSimilarNodeGroups = genruntime.ClonePointerToString(profile.BalanceSimilarNodeGroups) + + // DaemonsetEvictionForEmptyNodes + if profile.DaemonsetEvictionForEmptyNodes != nil { + daemonsetEvictionForEmptyNode := *profile.DaemonsetEvictionForEmptyNodes + destination.DaemonsetEvictionForEmptyNodes = &daemonsetEvictionForEmptyNode + } else { + destination.DaemonsetEvictionForEmptyNodes = nil + } + + // DaemonsetEvictionForOccupiedNodes + if profile.DaemonsetEvictionForOccupiedNodes != nil { + daemonsetEvictionForOccupiedNode := *profile.DaemonsetEvictionForOccupiedNodes + destination.DaemonsetEvictionForOccupiedNodes = &daemonsetEvictionForOccupiedNode + } else { + destination.DaemonsetEvictionForOccupiedNodes = nil + } + + // Expander + if profile.Expander != nil { + expander := string(*profile.Expander) + destination.Expander = &expander + } else { + destination.Expander = nil + } + + // IgnoreDaemonsetsUtilization + if profile.IgnoreDaemonsetsUtilization != nil { + ignoreDaemonsetsUtilization := *profile.IgnoreDaemonsetsUtilization + destination.IgnoreDaemonsetsUtilization = &ignoreDaemonsetsUtilization + } else { + destination.IgnoreDaemonsetsUtilization = nil + } + + // MaxEmptyBulkDelete + destination.MaxEmptyBulkDelete = genruntime.ClonePointerToString(profile.MaxEmptyBulkDelete) + + // MaxGracefulTerminationSec + destination.MaxGracefulTerminationSec = genruntime.ClonePointerToString(profile.MaxGracefulTerminationSec) + + // MaxNodeProvisionTime + destination.MaxNodeProvisionTime = genruntime.ClonePointerToString(profile.MaxNodeProvisionTime) + + // MaxTotalUnreadyPercentage + destination.MaxTotalUnreadyPercentage = genruntime.ClonePointerToString(profile.MaxTotalUnreadyPercentage) + + // NewPodScaleUpDelay + destination.NewPodScaleUpDelay = genruntime.ClonePointerToString(profile.NewPodScaleUpDelay) + + // OkTotalUnreadyCount + destination.OkTotalUnreadyCount = genruntime.ClonePointerToString(profile.OkTotalUnreadyCount) + + // ScaleDownDelayAfterAdd + destination.ScaleDownDelayAfterAdd = genruntime.ClonePointerToString(profile.ScaleDownDelayAfterAdd) + + // ScaleDownDelayAfterDelete + destination.ScaleDownDelayAfterDelete = genruntime.ClonePointerToString(profile.ScaleDownDelayAfterDelete) + + // ScaleDownDelayAfterFailure + destination.ScaleDownDelayAfterFailure = genruntime.ClonePointerToString(profile.ScaleDownDelayAfterFailure) + + // ScaleDownUnneededTime + destination.ScaleDownUnneededTime = genruntime.ClonePointerToString(profile.ScaleDownUnneededTime) + + // ScaleDownUnreadyTime + destination.ScaleDownUnreadyTime = genruntime.ClonePointerToString(profile.ScaleDownUnreadyTime) + + // ScaleDownUtilizationThreshold + destination.ScaleDownUtilizationThreshold = genruntime.ClonePointerToString(profile.ScaleDownUtilizationThreshold) + + // ScanInterval + destination.ScanInterval = genruntime.ClonePointerToString(profile.ScanInterval) + + // SkipNodesWithLocalStorage + destination.SkipNodesWithLocalStorage = genruntime.ClonePointerToString(profile.SkipNodesWithLocalStorage) + + // SkipNodesWithSystemPods + destination.SkipNodesWithSystemPods = genruntime.ClonePointerToString(profile.SkipNodesWithSystemPods) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_ManagedClusterProperties_AutoScalerProfile_STATUS populates our ManagedClusterProperties_AutoScalerProfile from the provided source ManagedClusterProperties_AutoScalerProfile_STATUS +func (profile *ManagedClusterProperties_AutoScalerProfile) Initialize_From_ManagedClusterProperties_AutoScalerProfile_STATUS(source *ManagedClusterProperties_AutoScalerProfile_STATUS) error { + + // BalanceSimilarNodeGroups + profile.BalanceSimilarNodeGroups = genruntime.ClonePointerToString(source.BalanceSimilarNodeGroups) + + // DaemonsetEvictionForEmptyNodes + if source.DaemonsetEvictionForEmptyNodes != nil { + daemonsetEvictionForEmptyNode := *source.DaemonsetEvictionForEmptyNodes + profile.DaemonsetEvictionForEmptyNodes = &daemonsetEvictionForEmptyNode + } else { + profile.DaemonsetEvictionForEmptyNodes = nil + } + + // DaemonsetEvictionForOccupiedNodes + if source.DaemonsetEvictionForOccupiedNodes != nil { + daemonsetEvictionForOccupiedNode := *source.DaemonsetEvictionForOccupiedNodes + profile.DaemonsetEvictionForOccupiedNodes = &daemonsetEvictionForOccupiedNode + } else { + profile.DaemonsetEvictionForOccupiedNodes = nil + } + + // Expander + if source.Expander != nil { + expander := genruntime.ToEnum(string(*source.Expander), managedClusterProperties_AutoScalerProfile_Expander_Values) + profile.Expander = &expander + } else { + profile.Expander = nil + } + + // IgnoreDaemonsetsUtilization + if source.IgnoreDaemonsetsUtilization != nil { + ignoreDaemonsetsUtilization := *source.IgnoreDaemonsetsUtilization + profile.IgnoreDaemonsetsUtilization = &ignoreDaemonsetsUtilization + } else { + profile.IgnoreDaemonsetsUtilization = nil + } + + // MaxEmptyBulkDelete + profile.MaxEmptyBulkDelete = genruntime.ClonePointerToString(source.MaxEmptyBulkDelete) + + // MaxGracefulTerminationSec + profile.MaxGracefulTerminationSec = genruntime.ClonePointerToString(source.MaxGracefulTerminationSec) + + // MaxNodeProvisionTime + profile.MaxNodeProvisionTime = genruntime.ClonePointerToString(source.MaxNodeProvisionTime) + + // MaxTotalUnreadyPercentage + profile.MaxTotalUnreadyPercentage = genruntime.ClonePointerToString(source.MaxTotalUnreadyPercentage) + + // NewPodScaleUpDelay + profile.NewPodScaleUpDelay = genruntime.ClonePointerToString(source.NewPodScaleUpDelay) + + // OkTotalUnreadyCount + profile.OkTotalUnreadyCount = genruntime.ClonePointerToString(source.OkTotalUnreadyCount) + + // ScaleDownDelayAfterAdd + profile.ScaleDownDelayAfterAdd = genruntime.ClonePointerToString(source.ScaleDownDelayAfterAdd) + + // ScaleDownDelayAfterDelete + profile.ScaleDownDelayAfterDelete = genruntime.ClonePointerToString(source.ScaleDownDelayAfterDelete) + + // ScaleDownDelayAfterFailure + profile.ScaleDownDelayAfterFailure = genruntime.ClonePointerToString(source.ScaleDownDelayAfterFailure) + + // ScaleDownUnneededTime + profile.ScaleDownUnneededTime = genruntime.ClonePointerToString(source.ScaleDownUnneededTime) + + // ScaleDownUnreadyTime + profile.ScaleDownUnreadyTime = genruntime.ClonePointerToString(source.ScaleDownUnreadyTime) + + // ScaleDownUtilizationThreshold + profile.ScaleDownUtilizationThreshold = genruntime.ClonePointerToString(source.ScaleDownUtilizationThreshold) + + // ScanInterval + profile.ScanInterval = genruntime.ClonePointerToString(source.ScanInterval) + + // SkipNodesWithLocalStorage + profile.SkipNodesWithLocalStorage = genruntime.ClonePointerToString(source.SkipNodesWithLocalStorage) + + // SkipNodesWithSystemPods + profile.SkipNodesWithSystemPods = genruntime.ClonePointerToString(source.SkipNodesWithSystemPods) + + // No error + return nil +} + +type ManagedClusterProperties_AutoScalerProfile_STATUS struct { + // BalanceSimilarNodeGroups: Valid values are 'true' and 'false' + BalanceSimilarNodeGroups *string `json:"balance-similar-node-groups,omitempty"` + + // DaemonsetEvictionForEmptyNodes: If set to true, all daemonset pods on empty nodes will be evicted before deletion of the + // node. If the daemonset pod cannot be evicted another node will be chosen for scaling. If set to false, the node will be + // deleted without ensuring that daemonset pods are deleted or evicted. + DaemonsetEvictionForEmptyNodes *bool `json:"daemonset-eviction-for-empty-nodes,omitempty"` + + // DaemonsetEvictionForOccupiedNodes: If set to true, all daemonset pods on occupied nodes will be evicted before deletion + // of the node. If the daemonset pod cannot be evicted another node will be chosen for scaling. If set to false, the node + // will be deleted without ensuring that daemonset pods are deleted or evicted. + DaemonsetEvictionForOccupiedNodes *bool `json:"daemonset-eviction-for-occupied-nodes,omitempty"` + + // Expander: If not specified, the default is 'random'. See + // [expanders](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md#what-are-expanders) for more + // information. + Expander *ManagedClusterProperties_AutoScalerProfile_Expander_STATUS `json:"expander,omitempty"` + + // IgnoreDaemonsetsUtilization: If set to true, the resources used by daemonset will be taken into account when making + // scaling down decisions. + IgnoreDaemonsetsUtilization *bool `json:"ignore-daemonsets-utilization,omitempty"` + + // MaxEmptyBulkDelete: The default is 10. + MaxEmptyBulkDelete *string `json:"max-empty-bulk-delete,omitempty"` + + // MaxGracefulTerminationSec: The default is 600. + MaxGracefulTerminationSec *string `json:"max-graceful-termination-sec,omitempty"` + + // MaxNodeProvisionTime: The default is '15m'. Values must be an integer followed by an 'm'. No unit of time other than + // minutes (m) is supported. + MaxNodeProvisionTime *string `json:"max-node-provision-time,omitempty"` + + // MaxTotalUnreadyPercentage: The default is 45. The maximum is 100 and the minimum is 0. + MaxTotalUnreadyPercentage *string `json:"max-total-unready-percentage,omitempty"` + + // NewPodScaleUpDelay: For scenarios like burst/batch scale where you don't want CA to act before the kubernetes scheduler + // could schedule all the pods, you can tell CA to ignore unscheduled pods before they're a certain age. The default is + // '0s'. Values must be an integer followed by a unit ('s' for seconds, 'm' for minutes, 'h' for hours, etc). + NewPodScaleUpDelay *string `json:"new-pod-scale-up-delay,omitempty"` + + // OkTotalUnreadyCount: This must be an integer. The default is 3. + OkTotalUnreadyCount *string `json:"ok-total-unready-count,omitempty"` + + // ScaleDownDelayAfterAdd: The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than + // minutes (m) is supported. + ScaleDownDelayAfterAdd *string `json:"scale-down-delay-after-add,omitempty"` + + // ScaleDownDelayAfterDelete: The default is the scan-interval. Values must be an integer followed by an 'm'. No unit of + // time other than minutes (m) is supported. + ScaleDownDelayAfterDelete *string `json:"scale-down-delay-after-delete,omitempty"` + + // ScaleDownDelayAfterFailure: The default is '3m'. Values must be an integer followed by an 'm'. No unit of time other + // than minutes (m) is supported. + ScaleDownDelayAfterFailure *string `json:"scale-down-delay-after-failure,omitempty"` + + // ScaleDownUnneededTime: The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than + // minutes (m) is supported. + ScaleDownUnneededTime *string `json:"scale-down-unneeded-time,omitempty"` + + // ScaleDownUnreadyTime: The default is '20m'. Values must be an integer followed by an 'm'. No unit of time other than + // minutes (m) is supported. + ScaleDownUnreadyTime *string `json:"scale-down-unready-time,omitempty"` + + // ScaleDownUtilizationThreshold: The default is '0.5'. + ScaleDownUtilizationThreshold *string `json:"scale-down-utilization-threshold,omitempty"` + + // ScanInterval: The default is '10'. Values must be an integer number of seconds. + ScanInterval *string `json:"scan-interval,omitempty"` + + // SkipNodesWithLocalStorage: The default is true. + SkipNodesWithLocalStorage *string `json:"skip-nodes-with-local-storage,omitempty"` + + // SkipNodesWithSystemPods: The default is true. + SkipNodesWithSystemPods *string `json:"skip-nodes-with-system-pods,omitempty"` +} + +var _ genruntime.FromARMConverter = &ManagedClusterProperties_AutoScalerProfile_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (profile *ManagedClusterProperties_AutoScalerProfile_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ManagedClusterProperties_AutoScalerProfile_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (profile *ManagedClusterProperties_AutoScalerProfile_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ManagedClusterProperties_AutoScalerProfile_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ManagedClusterProperties_AutoScalerProfile_STATUS, got %T", armInput) + } + + // Set property "BalanceSimilarNodeGroups": + if typedInput.BalanceSimilarNodeGroups != nil { + balanceSimilarNodeGroups := *typedInput.BalanceSimilarNodeGroups + profile.BalanceSimilarNodeGroups = &balanceSimilarNodeGroups + } + + // Set property "DaemonsetEvictionForEmptyNodes": + if typedInput.DaemonsetEvictionForEmptyNodes != nil { + daemonsetEvictionForEmptyNodes := *typedInput.DaemonsetEvictionForEmptyNodes + profile.DaemonsetEvictionForEmptyNodes = &daemonsetEvictionForEmptyNodes + } + + // Set property "DaemonsetEvictionForOccupiedNodes": + if typedInput.DaemonsetEvictionForOccupiedNodes != nil { + daemonsetEvictionForOccupiedNodes := *typedInput.DaemonsetEvictionForOccupiedNodes + profile.DaemonsetEvictionForOccupiedNodes = &daemonsetEvictionForOccupiedNodes + } + + // Set property "Expander": + if typedInput.Expander != nil { + var temp string + temp = string(*typedInput.Expander) + expander := ManagedClusterProperties_AutoScalerProfile_Expander_STATUS(temp) + profile.Expander = &expander + } + + // Set property "IgnoreDaemonsetsUtilization": + if typedInput.IgnoreDaemonsetsUtilization != nil { + ignoreDaemonsetsUtilization := *typedInput.IgnoreDaemonsetsUtilization + profile.IgnoreDaemonsetsUtilization = &ignoreDaemonsetsUtilization + } + + // Set property "MaxEmptyBulkDelete": + if typedInput.MaxEmptyBulkDelete != nil { + maxEmptyBulkDelete := *typedInput.MaxEmptyBulkDelete + profile.MaxEmptyBulkDelete = &maxEmptyBulkDelete + } + + // Set property "MaxGracefulTerminationSec": + if typedInput.MaxGracefulTerminationSec != nil { + maxGracefulTerminationSec := *typedInput.MaxGracefulTerminationSec + profile.MaxGracefulTerminationSec = &maxGracefulTerminationSec + } + + // Set property "MaxNodeProvisionTime": + if typedInput.MaxNodeProvisionTime != nil { + maxNodeProvisionTime := *typedInput.MaxNodeProvisionTime + profile.MaxNodeProvisionTime = &maxNodeProvisionTime + } + + // Set property "MaxTotalUnreadyPercentage": + if typedInput.MaxTotalUnreadyPercentage != nil { + maxTotalUnreadyPercentage := *typedInput.MaxTotalUnreadyPercentage + profile.MaxTotalUnreadyPercentage = &maxTotalUnreadyPercentage + } + + // Set property "NewPodScaleUpDelay": + if typedInput.NewPodScaleUpDelay != nil { + newPodScaleUpDelay := *typedInput.NewPodScaleUpDelay + profile.NewPodScaleUpDelay = &newPodScaleUpDelay + } + + // Set property "OkTotalUnreadyCount": + if typedInput.OkTotalUnreadyCount != nil { + okTotalUnreadyCount := *typedInput.OkTotalUnreadyCount + profile.OkTotalUnreadyCount = &okTotalUnreadyCount + } + + // Set property "ScaleDownDelayAfterAdd": + if typedInput.ScaleDownDelayAfterAdd != nil { + scaleDownDelayAfterAdd := *typedInput.ScaleDownDelayAfterAdd + profile.ScaleDownDelayAfterAdd = &scaleDownDelayAfterAdd + } + + // Set property "ScaleDownDelayAfterDelete": + if typedInput.ScaleDownDelayAfterDelete != nil { + scaleDownDelayAfterDelete := *typedInput.ScaleDownDelayAfterDelete + profile.ScaleDownDelayAfterDelete = &scaleDownDelayAfterDelete + } + + // Set property "ScaleDownDelayAfterFailure": + if typedInput.ScaleDownDelayAfterFailure != nil { + scaleDownDelayAfterFailure := *typedInput.ScaleDownDelayAfterFailure + profile.ScaleDownDelayAfterFailure = &scaleDownDelayAfterFailure + } + + // Set property "ScaleDownUnneededTime": + if typedInput.ScaleDownUnneededTime != nil { + scaleDownUnneededTime := *typedInput.ScaleDownUnneededTime + profile.ScaleDownUnneededTime = &scaleDownUnneededTime + } + + // Set property "ScaleDownUnreadyTime": + if typedInput.ScaleDownUnreadyTime != nil { + scaleDownUnreadyTime := *typedInput.ScaleDownUnreadyTime + profile.ScaleDownUnreadyTime = &scaleDownUnreadyTime + } + + // Set property "ScaleDownUtilizationThreshold": + if typedInput.ScaleDownUtilizationThreshold != nil { + scaleDownUtilizationThreshold := *typedInput.ScaleDownUtilizationThreshold + profile.ScaleDownUtilizationThreshold = &scaleDownUtilizationThreshold + } + + // Set property "ScanInterval": + if typedInput.ScanInterval != nil { + scanInterval := *typedInput.ScanInterval + profile.ScanInterval = &scanInterval + } + + // Set property "SkipNodesWithLocalStorage": + if typedInput.SkipNodesWithLocalStorage != nil { + skipNodesWithLocalStorage := *typedInput.SkipNodesWithLocalStorage + profile.SkipNodesWithLocalStorage = &skipNodesWithLocalStorage + } + + // Set property "SkipNodesWithSystemPods": + if typedInput.SkipNodesWithSystemPods != nil { + skipNodesWithSystemPods := *typedInput.SkipNodesWithSystemPods + profile.SkipNodesWithSystemPods = &skipNodesWithSystemPods + } + + // No error + return nil +} + +// AssignProperties_From_ManagedClusterProperties_AutoScalerProfile_STATUS populates our ManagedClusterProperties_AutoScalerProfile_STATUS from the provided source ManagedClusterProperties_AutoScalerProfile_STATUS +func (profile *ManagedClusterProperties_AutoScalerProfile_STATUS) AssignProperties_From_ManagedClusterProperties_AutoScalerProfile_STATUS(source *storage.ManagedClusterProperties_AutoScalerProfile_STATUS) error { + + // BalanceSimilarNodeGroups + profile.BalanceSimilarNodeGroups = genruntime.ClonePointerToString(source.BalanceSimilarNodeGroups) + + // DaemonsetEvictionForEmptyNodes + if source.DaemonsetEvictionForEmptyNodes != nil { + daemonsetEvictionForEmptyNode := *source.DaemonsetEvictionForEmptyNodes + profile.DaemonsetEvictionForEmptyNodes = &daemonsetEvictionForEmptyNode + } else { + profile.DaemonsetEvictionForEmptyNodes = nil + } + + // DaemonsetEvictionForOccupiedNodes + if source.DaemonsetEvictionForOccupiedNodes != nil { + daemonsetEvictionForOccupiedNode := *source.DaemonsetEvictionForOccupiedNodes + profile.DaemonsetEvictionForOccupiedNodes = &daemonsetEvictionForOccupiedNode + } else { + profile.DaemonsetEvictionForOccupiedNodes = nil + } + + // Expander + if source.Expander != nil { + expander := *source.Expander + expanderTemp := genruntime.ToEnum(expander, managedClusterProperties_AutoScalerProfile_Expander_STATUS_Values) + profile.Expander = &expanderTemp + } else { + profile.Expander = nil + } + + // IgnoreDaemonsetsUtilization + if source.IgnoreDaemonsetsUtilization != nil { + ignoreDaemonsetsUtilization := *source.IgnoreDaemonsetsUtilization + profile.IgnoreDaemonsetsUtilization = &ignoreDaemonsetsUtilization + } else { + profile.IgnoreDaemonsetsUtilization = nil + } + + // MaxEmptyBulkDelete + profile.MaxEmptyBulkDelete = genruntime.ClonePointerToString(source.MaxEmptyBulkDelete) + + // MaxGracefulTerminationSec + profile.MaxGracefulTerminationSec = genruntime.ClonePointerToString(source.MaxGracefulTerminationSec) + + // MaxNodeProvisionTime + profile.MaxNodeProvisionTime = genruntime.ClonePointerToString(source.MaxNodeProvisionTime) + + // MaxTotalUnreadyPercentage + profile.MaxTotalUnreadyPercentage = genruntime.ClonePointerToString(source.MaxTotalUnreadyPercentage) + + // NewPodScaleUpDelay + profile.NewPodScaleUpDelay = genruntime.ClonePointerToString(source.NewPodScaleUpDelay) + + // OkTotalUnreadyCount + profile.OkTotalUnreadyCount = genruntime.ClonePointerToString(source.OkTotalUnreadyCount) + + // ScaleDownDelayAfterAdd + profile.ScaleDownDelayAfterAdd = genruntime.ClonePointerToString(source.ScaleDownDelayAfterAdd) + + // ScaleDownDelayAfterDelete + profile.ScaleDownDelayAfterDelete = genruntime.ClonePointerToString(source.ScaleDownDelayAfterDelete) + + // ScaleDownDelayAfterFailure + profile.ScaleDownDelayAfterFailure = genruntime.ClonePointerToString(source.ScaleDownDelayAfterFailure) + + // ScaleDownUnneededTime + profile.ScaleDownUnneededTime = genruntime.ClonePointerToString(source.ScaleDownUnneededTime) + + // ScaleDownUnreadyTime + profile.ScaleDownUnreadyTime = genruntime.ClonePointerToString(source.ScaleDownUnreadyTime) + + // ScaleDownUtilizationThreshold + profile.ScaleDownUtilizationThreshold = genruntime.ClonePointerToString(source.ScaleDownUtilizationThreshold) + + // ScanInterval + profile.ScanInterval = genruntime.ClonePointerToString(source.ScanInterval) + + // SkipNodesWithLocalStorage + profile.SkipNodesWithLocalStorage = genruntime.ClonePointerToString(source.SkipNodesWithLocalStorage) + + // SkipNodesWithSystemPods + profile.SkipNodesWithSystemPods = genruntime.ClonePointerToString(source.SkipNodesWithSystemPods) + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterProperties_AutoScalerProfile_STATUS populates the provided destination ManagedClusterProperties_AutoScalerProfile_STATUS from our ManagedClusterProperties_AutoScalerProfile_STATUS +func (profile *ManagedClusterProperties_AutoScalerProfile_STATUS) AssignProperties_To_ManagedClusterProperties_AutoScalerProfile_STATUS(destination *storage.ManagedClusterProperties_AutoScalerProfile_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // BalanceSimilarNodeGroups + destination.BalanceSimilarNodeGroups = genruntime.ClonePointerToString(profile.BalanceSimilarNodeGroups) + + // DaemonsetEvictionForEmptyNodes + if profile.DaemonsetEvictionForEmptyNodes != nil { + daemonsetEvictionForEmptyNode := *profile.DaemonsetEvictionForEmptyNodes + destination.DaemonsetEvictionForEmptyNodes = &daemonsetEvictionForEmptyNode + } else { + destination.DaemonsetEvictionForEmptyNodes = nil + } + + // DaemonsetEvictionForOccupiedNodes + if profile.DaemonsetEvictionForOccupiedNodes != nil { + daemonsetEvictionForOccupiedNode := *profile.DaemonsetEvictionForOccupiedNodes + destination.DaemonsetEvictionForOccupiedNodes = &daemonsetEvictionForOccupiedNode + } else { + destination.DaemonsetEvictionForOccupiedNodes = nil + } + + // Expander + if profile.Expander != nil { + expander := string(*profile.Expander) + destination.Expander = &expander + } else { + destination.Expander = nil + } + + // IgnoreDaemonsetsUtilization + if profile.IgnoreDaemonsetsUtilization != nil { + ignoreDaemonsetsUtilization := *profile.IgnoreDaemonsetsUtilization + destination.IgnoreDaemonsetsUtilization = &ignoreDaemonsetsUtilization + } else { + destination.IgnoreDaemonsetsUtilization = nil + } + + // MaxEmptyBulkDelete + destination.MaxEmptyBulkDelete = genruntime.ClonePointerToString(profile.MaxEmptyBulkDelete) + + // MaxGracefulTerminationSec + destination.MaxGracefulTerminationSec = genruntime.ClonePointerToString(profile.MaxGracefulTerminationSec) + + // MaxNodeProvisionTime + destination.MaxNodeProvisionTime = genruntime.ClonePointerToString(profile.MaxNodeProvisionTime) + + // MaxTotalUnreadyPercentage + destination.MaxTotalUnreadyPercentage = genruntime.ClonePointerToString(profile.MaxTotalUnreadyPercentage) + + // NewPodScaleUpDelay + destination.NewPodScaleUpDelay = genruntime.ClonePointerToString(profile.NewPodScaleUpDelay) + + // OkTotalUnreadyCount + destination.OkTotalUnreadyCount = genruntime.ClonePointerToString(profile.OkTotalUnreadyCount) + + // ScaleDownDelayAfterAdd + destination.ScaleDownDelayAfterAdd = genruntime.ClonePointerToString(profile.ScaleDownDelayAfterAdd) + + // ScaleDownDelayAfterDelete + destination.ScaleDownDelayAfterDelete = genruntime.ClonePointerToString(profile.ScaleDownDelayAfterDelete) + + // ScaleDownDelayAfterFailure + destination.ScaleDownDelayAfterFailure = genruntime.ClonePointerToString(profile.ScaleDownDelayAfterFailure) + + // ScaleDownUnneededTime + destination.ScaleDownUnneededTime = genruntime.ClonePointerToString(profile.ScaleDownUnneededTime) + + // ScaleDownUnreadyTime + destination.ScaleDownUnreadyTime = genruntime.ClonePointerToString(profile.ScaleDownUnreadyTime) + + // ScaleDownUtilizationThreshold + destination.ScaleDownUtilizationThreshold = genruntime.ClonePointerToString(profile.ScaleDownUtilizationThreshold) + + // ScanInterval + destination.ScanInterval = genruntime.ClonePointerToString(profile.ScanInterval) + + // SkipNodesWithLocalStorage + destination.SkipNodesWithLocalStorage = genruntime.ClonePointerToString(profile.SkipNodesWithLocalStorage) + + // SkipNodesWithSystemPods + destination.SkipNodesWithSystemPods = genruntime.ClonePointerToString(profile.SkipNodesWithSystemPods) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// +kubebuilder:validation:Enum={"Disabled","Enabled"} +type ManagedClusterProperties_PublicNetworkAccess string + +const ( + ManagedClusterProperties_PublicNetworkAccess_Disabled = ManagedClusterProperties_PublicNetworkAccess("Disabled") + ManagedClusterProperties_PublicNetworkAccess_Enabled = ManagedClusterProperties_PublicNetworkAccess("Enabled") +) + +// Mapping from string to ManagedClusterProperties_PublicNetworkAccess +var managedClusterProperties_PublicNetworkAccess_Values = map[string]ManagedClusterProperties_PublicNetworkAccess{ + "disabled": ManagedClusterProperties_PublicNetworkAccess_Disabled, + "enabled": ManagedClusterProperties_PublicNetworkAccess_Enabled, +} + +type ManagedClusterProperties_PublicNetworkAccess_STATUS string + +const ( + ManagedClusterProperties_PublicNetworkAccess_STATUS_Disabled = ManagedClusterProperties_PublicNetworkAccess_STATUS("Disabled") + ManagedClusterProperties_PublicNetworkAccess_STATUS_Enabled = ManagedClusterProperties_PublicNetworkAccess_STATUS("Enabled") +) + +// Mapping from string to ManagedClusterProperties_PublicNetworkAccess_STATUS +var managedClusterProperties_PublicNetworkAccess_STATUS_Values = map[string]ManagedClusterProperties_PublicNetworkAccess_STATUS{ + "disabled": ManagedClusterProperties_PublicNetworkAccess_STATUS_Disabled, + "enabled": ManagedClusterProperties_PublicNetworkAccess_STATUS_Enabled, +} + +// Security profile for the container service cluster. +type ManagedClusterSecurityProfile struct { + // AzureKeyVaultKms: Azure Key Vault [key management + // service](https://kubernetes.io/docs/tasks/administer-cluster/kms-provider/) settings for the security profile. + AzureKeyVaultKms *AzureKeyVaultKms `json:"azureKeyVaultKms,omitempty"` + + // Defender: Microsoft Defender settings for the security profile. + Defender *ManagedClusterSecurityProfileDefender `json:"defender,omitempty"` + + // ImageCleaner: Image Cleaner settings for the security profile. + ImageCleaner *ManagedClusterSecurityProfileImageCleaner `json:"imageCleaner,omitempty"` + + // WorkloadIdentity: Workload identity settings for the security profile. Workload identity enables Kubernetes applications + // to access Azure cloud resources securely with Azure AD. See https://aka.ms/aks/wi for more details. + WorkloadIdentity *ManagedClusterSecurityProfileWorkloadIdentity `json:"workloadIdentity,omitempty"` +} + +var _ genruntime.ARMTransformer = &ManagedClusterSecurityProfile{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (profile *ManagedClusterSecurityProfile) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if profile == nil { + return nil, nil + } + result := &arm.ManagedClusterSecurityProfile{} + + // Set property "AzureKeyVaultKms": + if profile.AzureKeyVaultKms != nil { + azureKeyVaultKms_ARM, err := (*profile.AzureKeyVaultKms).ConvertToARM(resolved) + if err != nil { + return nil, err + } + azureKeyVaultKms := *azureKeyVaultKms_ARM.(*arm.AzureKeyVaultKms) + result.AzureKeyVaultKms = &azureKeyVaultKms + } + + // Set property "Defender": + if profile.Defender != nil { + defender_ARM, err := (*profile.Defender).ConvertToARM(resolved) + if err != nil { + return nil, err + } + defender := *defender_ARM.(*arm.ManagedClusterSecurityProfileDefender) + result.Defender = &defender + } + + // Set property "ImageCleaner": + if profile.ImageCleaner != nil { + imageCleaner_ARM, err := (*profile.ImageCleaner).ConvertToARM(resolved) + if err != nil { + return nil, err + } + imageCleaner := *imageCleaner_ARM.(*arm.ManagedClusterSecurityProfileImageCleaner) + result.ImageCleaner = &imageCleaner + } + + // Set property "WorkloadIdentity": + if profile.WorkloadIdentity != nil { + workloadIdentity_ARM, err := (*profile.WorkloadIdentity).ConvertToARM(resolved) + if err != nil { + return nil, err + } + workloadIdentity := *workloadIdentity_ARM.(*arm.ManagedClusterSecurityProfileWorkloadIdentity) + result.WorkloadIdentity = &workloadIdentity + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (profile *ManagedClusterSecurityProfile) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ManagedClusterSecurityProfile{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (profile *ManagedClusterSecurityProfile) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ManagedClusterSecurityProfile) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ManagedClusterSecurityProfile, got %T", armInput) + } + + // Set property "AzureKeyVaultKms": + if typedInput.AzureKeyVaultKms != nil { + var azureKeyVaultKms1 AzureKeyVaultKms + err := azureKeyVaultKms1.PopulateFromARM(owner, *typedInput.AzureKeyVaultKms) + if err != nil { + return err + } + azureKeyVaultKms := azureKeyVaultKms1 + profile.AzureKeyVaultKms = &azureKeyVaultKms + } + + // Set property "Defender": + if typedInput.Defender != nil { + var defender1 ManagedClusterSecurityProfileDefender + err := defender1.PopulateFromARM(owner, *typedInput.Defender) + if err != nil { + return err + } + defender := defender1 + profile.Defender = &defender + } + + // Set property "ImageCleaner": + if typedInput.ImageCleaner != nil { + var imageCleaner1 ManagedClusterSecurityProfileImageCleaner + err := imageCleaner1.PopulateFromARM(owner, *typedInput.ImageCleaner) + if err != nil { + return err + } + imageCleaner := imageCleaner1 + profile.ImageCleaner = &imageCleaner + } + + // Set property "WorkloadIdentity": + if typedInput.WorkloadIdentity != nil { + var workloadIdentity1 ManagedClusterSecurityProfileWorkloadIdentity + err := workloadIdentity1.PopulateFromARM(owner, *typedInput.WorkloadIdentity) + if err != nil { + return err + } + workloadIdentity := workloadIdentity1 + profile.WorkloadIdentity = &workloadIdentity + } + + // No error + return nil +} + +// AssignProperties_From_ManagedClusterSecurityProfile populates our ManagedClusterSecurityProfile from the provided source ManagedClusterSecurityProfile +func (profile *ManagedClusterSecurityProfile) AssignProperties_From_ManagedClusterSecurityProfile(source *storage.ManagedClusterSecurityProfile) error { + + // AzureKeyVaultKms + if source.AzureKeyVaultKms != nil { + var azureKeyVaultKm AzureKeyVaultKms + err := azureKeyVaultKm.AssignProperties_From_AzureKeyVaultKms(source.AzureKeyVaultKms) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_AzureKeyVaultKms() to populate field AzureKeyVaultKms") + } + profile.AzureKeyVaultKms = &azureKeyVaultKm + } else { + profile.AzureKeyVaultKms = nil + } + + // Defender + if source.Defender != nil { + var defender ManagedClusterSecurityProfileDefender + err := defender.AssignProperties_From_ManagedClusterSecurityProfileDefender(source.Defender) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterSecurityProfileDefender() to populate field Defender") + } + profile.Defender = &defender + } else { + profile.Defender = nil + } + + // ImageCleaner + if source.ImageCleaner != nil { + var imageCleaner ManagedClusterSecurityProfileImageCleaner + err := imageCleaner.AssignProperties_From_ManagedClusterSecurityProfileImageCleaner(source.ImageCleaner) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterSecurityProfileImageCleaner() to populate field ImageCleaner") + } + profile.ImageCleaner = &imageCleaner + } else { + profile.ImageCleaner = nil + } + + // WorkloadIdentity + if source.WorkloadIdentity != nil { + var workloadIdentity ManagedClusterSecurityProfileWorkloadIdentity + err := workloadIdentity.AssignProperties_From_ManagedClusterSecurityProfileWorkloadIdentity(source.WorkloadIdentity) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterSecurityProfileWorkloadIdentity() to populate field WorkloadIdentity") + } + profile.WorkloadIdentity = &workloadIdentity + } else { + profile.WorkloadIdentity = nil + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterSecurityProfile populates the provided destination ManagedClusterSecurityProfile from our ManagedClusterSecurityProfile +func (profile *ManagedClusterSecurityProfile) AssignProperties_To_ManagedClusterSecurityProfile(destination *storage.ManagedClusterSecurityProfile) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // AzureKeyVaultKms + if profile.AzureKeyVaultKms != nil { + var azureKeyVaultKm storage.AzureKeyVaultKms + err := profile.AzureKeyVaultKms.AssignProperties_To_AzureKeyVaultKms(&azureKeyVaultKm) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_AzureKeyVaultKms() to populate field AzureKeyVaultKms") + } + destination.AzureKeyVaultKms = &azureKeyVaultKm + } else { + destination.AzureKeyVaultKms = nil + } + + // Defender + if profile.Defender != nil { + var defender storage.ManagedClusterSecurityProfileDefender + err := profile.Defender.AssignProperties_To_ManagedClusterSecurityProfileDefender(&defender) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterSecurityProfileDefender() to populate field Defender") + } + destination.Defender = &defender + } else { + destination.Defender = nil + } + + // ImageCleaner + if profile.ImageCleaner != nil { + var imageCleaner storage.ManagedClusterSecurityProfileImageCleaner + err := profile.ImageCleaner.AssignProperties_To_ManagedClusterSecurityProfileImageCleaner(&imageCleaner) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterSecurityProfileImageCleaner() to populate field ImageCleaner") + } + destination.ImageCleaner = &imageCleaner + } else { + destination.ImageCleaner = nil + } + + // WorkloadIdentity + if profile.WorkloadIdentity != nil { + var workloadIdentity storage.ManagedClusterSecurityProfileWorkloadIdentity + err := profile.WorkloadIdentity.AssignProperties_To_ManagedClusterSecurityProfileWorkloadIdentity(&workloadIdentity) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterSecurityProfileWorkloadIdentity() to populate field WorkloadIdentity") + } + destination.WorkloadIdentity = &workloadIdentity + } else { + destination.WorkloadIdentity = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_ManagedClusterSecurityProfile_STATUS populates our ManagedClusterSecurityProfile from the provided source ManagedClusterSecurityProfile_STATUS +func (profile *ManagedClusterSecurityProfile) Initialize_From_ManagedClusterSecurityProfile_STATUS(source *ManagedClusterSecurityProfile_STATUS) error { + + // AzureKeyVaultKms + if source.AzureKeyVaultKms != nil { + var azureKeyVaultKm AzureKeyVaultKms + err := azureKeyVaultKm.Initialize_From_AzureKeyVaultKms_STATUS(source.AzureKeyVaultKms) + if err != nil { + return errors.Wrap(err, "calling Initialize_From_AzureKeyVaultKms_STATUS() to populate field AzureKeyVaultKms") + } + profile.AzureKeyVaultKms = &azureKeyVaultKm + } else { + profile.AzureKeyVaultKms = nil + } + + // Defender + if source.Defender != nil { + var defender ManagedClusterSecurityProfileDefender + err := defender.Initialize_From_ManagedClusterSecurityProfileDefender_STATUS(source.Defender) + if err != nil { + return errors.Wrap(err, "calling Initialize_From_ManagedClusterSecurityProfileDefender_STATUS() to populate field Defender") + } + profile.Defender = &defender + } else { + profile.Defender = nil + } + + // ImageCleaner + if source.ImageCleaner != nil { + var imageCleaner ManagedClusterSecurityProfileImageCleaner + err := imageCleaner.Initialize_From_ManagedClusterSecurityProfileImageCleaner_STATUS(source.ImageCleaner) + if err != nil { + return errors.Wrap(err, "calling Initialize_From_ManagedClusterSecurityProfileImageCleaner_STATUS() to populate field ImageCleaner") + } + profile.ImageCleaner = &imageCleaner + } else { + profile.ImageCleaner = nil + } + + // WorkloadIdentity + if source.WorkloadIdentity != nil { + var workloadIdentity ManagedClusterSecurityProfileWorkloadIdentity + err := workloadIdentity.Initialize_From_ManagedClusterSecurityProfileWorkloadIdentity_STATUS(source.WorkloadIdentity) + if err != nil { + return errors.Wrap(err, "calling Initialize_From_ManagedClusterSecurityProfileWorkloadIdentity_STATUS() to populate field WorkloadIdentity") + } + profile.WorkloadIdentity = &workloadIdentity + } else { + profile.WorkloadIdentity = nil + } + + // No error + return nil +} + +// Security profile for the container service cluster. +type ManagedClusterSecurityProfile_STATUS struct { + // AzureKeyVaultKms: Azure Key Vault [key management + // service](https://kubernetes.io/docs/tasks/administer-cluster/kms-provider/) settings for the security profile. + AzureKeyVaultKms *AzureKeyVaultKms_STATUS `json:"azureKeyVaultKms,omitempty"` + + // Defender: Microsoft Defender settings for the security profile. + Defender *ManagedClusterSecurityProfileDefender_STATUS `json:"defender,omitempty"` + + // ImageCleaner: Image Cleaner settings for the security profile. + ImageCleaner *ManagedClusterSecurityProfileImageCleaner_STATUS `json:"imageCleaner,omitempty"` + + // WorkloadIdentity: Workload identity settings for the security profile. Workload identity enables Kubernetes applications + // to access Azure cloud resources securely with Azure AD. See https://aka.ms/aks/wi for more details. + WorkloadIdentity *ManagedClusterSecurityProfileWorkloadIdentity_STATUS `json:"workloadIdentity,omitempty"` +} + +var _ genruntime.FromARMConverter = &ManagedClusterSecurityProfile_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (profile *ManagedClusterSecurityProfile_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ManagedClusterSecurityProfile_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (profile *ManagedClusterSecurityProfile_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ManagedClusterSecurityProfile_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ManagedClusterSecurityProfile_STATUS, got %T", armInput) + } + + // Set property "AzureKeyVaultKms": + if typedInput.AzureKeyVaultKms != nil { + var azureKeyVaultKms1 AzureKeyVaultKms_STATUS + err := azureKeyVaultKms1.PopulateFromARM(owner, *typedInput.AzureKeyVaultKms) + if err != nil { + return err + } + azureKeyVaultKms := azureKeyVaultKms1 + profile.AzureKeyVaultKms = &azureKeyVaultKms + } + + // Set property "Defender": + if typedInput.Defender != nil { + var defender1 ManagedClusterSecurityProfileDefender_STATUS + err := defender1.PopulateFromARM(owner, *typedInput.Defender) + if err != nil { + return err + } + defender := defender1 + profile.Defender = &defender + } + + // Set property "ImageCleaner": + if typedInput.ImageCleaner != nil { + var imageCleaner1 ManagedClusterSecurityProfileImageCleaner_STATUS + err := imageCleaner1.PopulateFromARM(owner, *typedInput.ImageCleaner) + if err != nil { + return err + } + imageCleaner := imageCleaner1 + profile.ImageCleaner = &imageCleaner + } + + // Set property "WorkloadIdentity": + if typedInput.WorkloadIdentity != nil { + var workloadIdentity1 ManagedClusterSecurityProfileWorkloadIdentity_STATUS + err := workloadIdentity1.PopulateFromARM(owner, *typedInput.WorkloadIdentity) + if err != nil { + return err + } + workloadIdentity := workloadIdentity1 + profile.WorkloadIdentity = &workloadIdentity + } + + // No error + return nil +} + +// AssignProperties_From_ManagedClusterSecurityProfile_STATUS populates our ManagedClusterSecurityProfile_STATUS from the provided source ManagedClusterSecurityProfile_STATUS +func (profile *ManagedClusterSecurityProfile_STATUS) AssignProperties_From_ManagedClusterSecurityProfile_STATUS(source *storage.ManagedClusterSecurityProfile_STATUS) error { + + // AzureKeyVaultKms + if source.AzureKeyVaultKms != nil { + var azureKeyVaultKm AzureKeyVaultKms_STATUS + err := azureKeyVaultKm.AssignProperties_From_AzureKeyVaultKms_STATUS(source.AzureKeyVaultKms) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_AzureKeyVaultKms_STATUS() to populate field AzureKeyVaultKms") + } + profile.AzureKeyVaultKms = &azureKeyVaultKm + } else { + profile.AzureKeyVaultKms = nil + } + + // Defender + if source.Defender != nil { + var defender ManagedClusterSecurityProfileDefender_STATUS + err := defender.AssignProperties_From_ManagedClusterSecurityProfileDefender_STATUS(source.Defender) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterSecurityProfileDefender_STATUS() to populate field Defender") + } + profile.Defender = &defender + } else { + profile.Defender = nil + } + + // ImageCleaner + if source.ImageCleaner != nil { + var imageCleaner ManagedClusterSecurityProfileImageCleaner_STATUS + err := imageCleaner.AssignProperties_From_ManagedClusterSecurityProfileImageCleaner_STATUS(source.ImageCleaner) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterSecurityProfileImageCleaner_STATUS() to populate field ImageCleaner") + } + profile.ImageCleaner = &imageCleaner + } else { + profile.ImageCleaner = nil + } + + // WorkloadIdentity + if source.WorkloadIdentity != nil { + var workloadIdentity ManagedClusterSecurityProfileWorkloadIdentity_STATUS + err := workloadIdentity.AssignProperties_From_ManagedClusterSecurityProfileWorkloadIdentity_STATUS(source.WorkloadIdentity) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterSecurityProfileWorkloadIdentity_STATUS() to populate field WorkloadIdentity") + } + profile.WorkloadIdentity = &workloadIdentity + } else { + profile.WorkloadIdentity = nil + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterSecurityProfile_STATUS populates the provided destination ManagedClusterSecurityProfile_STATUS from our ManagedClusterSecurityProfile_STATUS +func (profile *ManagedClusterSecurityProfile_STATUS) AssignProperties_To_ManagedClusterSecurityProfile_STATUS(destination *storage.ManagedClusterSecurityProfile_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // AzureKeyVaultKms + if profile.AzureKeyVaultKms != nil { + var azureKeyVaultKm storage.AzureKeyVaultKms_STATUS + err := profile.AzureKeyVaultKms.AssignProperties_To_AzureKeyVaultKms_STATUS(&azureKeyVaultKm) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_AzureKeyVaultKms_STATUS() to populate field AzureKeyVaultKms") + } + destination.AzureKeyVaultKms = &azureKeyVaultKm + } else { + destination.AzureKeyVaultKms = nil + } + + // Defender + if profile.Defender != nil { + var defender storage.ManagedClusterSecurityProfileDefender_STATUS + err := profile.Defender.AssignProperties_To_ManagedClusterSecurityProfileDefender_STATUS(&defender) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterSecurityProfileDefender_STATUS() to populate field Defender") + } + destination.Defender = &defender + } else { + destination.Defender = nil + } + + // ImageCleaner + if profile.ImageCleaner != nil { + var imageCleaner storage.ManagedClusterSecurityProfileImageCleaner_STATUS + err := profile.ImageCleaner.AssignProperties_To_ManagedClusterSecurityProfileImageCleaner_STATUS(&imageCleaner) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterSecurityProfileImageCleaner_STATUS() to populate field ImageCleaner") + } + destination.ImageCleaner = &imageCleaner + } else { + destination.ImageCleaner = nil + } + + // WorkloadIdentity + if profile.WorkloadIdentity != nil { + var workloadIdentity storage.ManagedClusterSecurityProfileWorkloadIdentity_STATUS + err := profile.WorkloadIdentity.AssignProperties_To_ManagedClusterSecurityProfileWorkloadIdentity_STATUS(&workloadIdentity) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterSecurityProfileWorkloadIdentity_STATUS() to populate field WorkloadIdentity") + } + destination.WorkloadIdentity = &workloadIdentity + } else { + destination.WorkloadIdentity = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Information about a service principal identity for the cluster to use for manipulating Azure APIs. +type ManagedClusterServicePrincipalProfile struct { + // +kubebuilder:validation:Required + // ClientId: The ID for the service principal. + ClientId *string `json:"clientId,omitempty"` + + // Secret: The secret password associated with the service principal in plain text. + Secret *genruntime.SecretReference `json:"secret,omitempty"` +} + +var _ genruntime.ARMTransformer = &ManagedClusterServicePrincipalProfile{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (profile *ManagedClusterServicePrincipalProfile) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if profile == nil { + return nil, nil + } + result := &arm.ManagedClusterServicePrincipalProfile{} + + // Set property "ClientId": + if profile.ClientId != nil { + clientId := *profile.ClientId + result.ClientId = &clientId + } + + // Set property "Secret": + if profile.Secret != nil { + secretSecret, err := resolved.ResolvedSecrets.Lookup(*profile.Secret) + if err != nil { + return nil, errors.Wrap(err, "looking up secret for property Secret") + } + secret := secretSecret + result.Secret = &secret + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (profile *ManagedClusterServicePrincipalProfile) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ManagedClusterServicePrincipalProfile{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (profile *ManagedClusterServicePrincipalProfile) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ManagedClusterServicePrincipalProfile) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ManagedClusterServicePrincipalProfile, got %T", armInput) + } + + // Set property "ClientId": + if typedInput.ClientId != nil { + clientId := *typedInput.ClientId + profile.ClientId = &clientId + } + + // no assignment for property "Secret" + + // No error + return nil +} + +// AssignProperties_From_ManagedClusterServicePrincipalProfile populates our ManagedClusterServicePrincipalProfile from the provided source ManagedClusterServicePrincipalProfile +func (profile *ManagedClusterServicePrincipalProfile) AssignProperties_From_ManagedClusterServicePrincipalProfile(source *storage.ManagedClusterServicePrincipalProfile) error { + + // ClientId + profile.ClientId = genruntime.ClonePointerToString(source.ClientId) + + // Secret + if source.Secret != nil { + secret := source.Secret.Copy() + profile.Secret = &secret + } else { + profile.Secret = nil + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterServicePrincipalProfile populates the provided destination ManagedClusterServicePrincipalProfile from our ManagedClusterServicePrincipalProfile +func (profile *ManagedClusterServicePrincipalProfile) AssignProperties_To_ManagedClusterServicePrincipalProfile(destination *storage.ManagedClusterServicePrincipalProfile) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // ClientId + destination.ClientId = genruntime.ClonePointerToString(profile.ClientId) + + // Secret + if profile.Secret != nil { + secret := profile.Secret.Copy() + destination.Secret = &secret + } else { + destination.Secret = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_ManagedClusterServicePrincipalProfile_STATUS populates our ManagedClusterServicePrincipalProfile from the provided source ManagedClusterServicePrincipalProfile_STATUS +func (profile *ManagedClusterServicePrincipalProfile) Initialize_From_ManagedClusterServicePrincipalProfile_STATUS(source *ManagedClusterServicePrincipalProfile_STATUS) error { + + // ClientId + profile.ClientId = genruntime.ClonePointerToString(source.ClientId) + + // No error + return nil +} + +// Information about a service principal identity for the cluster to use for manipulating Azure APIs. +type ManagedClusterServicePrincipalProfile_STATUS struct { + // ClientId: The ID for the service principal. + ClientId *string `json:"clientId,omitempty"` +} + +var _ genruntime.FromARMConverter = &ManagedClusterServicePrincipalProfile_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (profile *ManagedClusterServicePrincipalProfile_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ManagedClusterServicePrincipalProfile_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (profile *ManagedClusterServicePrincipalProfile_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ManagedClusterServicePrincipalProfile_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ManagedClusterServicePrincipalProfile_STATUS, got %T", armInput) + } + + // Set property "ClientId": + if typedInput.ClientId != nil { + clientId := *typedInput.ClientId + profile.ClientId = &clientId + } + + // No error + return nil +} + +// AssignProperties_From_ManagedClusterServicePrincipalProfile_STATUS populates our ManagedClusterServicePrincipalProfile_STATUS from the provided source ManagedClusterServicePrincipalProfile_STATUS +func (profile *ManagedClusterServicePrincipalProfile_STATUS) AssignProperties_From_ManagedClusterServicePrincipalProfile_STATUS(source *storage.ManagedClusterServicePrincipalProfile_STATUS) error { + + // ClientId + profile.ClientId = genruntime.ClonePointerToString(source.ClientId) + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterServicePrincipalProfile_STATUS populates the provided destination ManagedClusterServicePrincipalProfile_STATUS from our ManagedClusterServicePrincipalProfile_STATUS +func (profile *ManagedClusterServicePrincipalProfile_STATUS) AssignProperties_To_ManagedClusterServicePrincipalProfile_STATUS(destination *storage.ManagedClusterServicePrincipalProfile_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // ClientId + destination.ClientId = genruntime.ClonePointerToString(profile.ClientId) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// The SKU of a Managed Cluster. +type ManagedClusterSKU struct { + // Name: The name of a managed cluster SKU. + Name *ManagedClusterSKU_Name `json:"name,omitempty"` + + // Tier: If not specified, the default is 'Free'. See [AKS Pricing + // Tier](https://learn.microsoft.com/azure/aks/free-standard-pricing-tiers) for more details. + Tier *ManagedClusterSKU_Tier `json:"tier,omitempty"` +} + +var _ genruntime.ARMTransformer = &ManagedClusterSKU{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (clusterSKU *ManagedClusterSKU) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if clusterSKU == nil { + return nil, nil + } + result := &arm.ManagedClusterSKU{} + + // Set property "Name": + if clusterSKU.Name != nil { + var temp string + temp = string(*clusterSKU.Name) + name := arm.ManagedClusterSKU_Name(temp) + result.Name = &name + } + + // Set property "Tier": + if clusterSKU.Tier != nil { + var temp string + temp = string(*clusterSKU.Tier) + tier := arm.ManagedClusterSKU_Tier(temp) + result.Tier = &tier + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (clusterSKU *ManagedClusterSKU) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ManagedClusterSKU{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (clusterSKU *ManagedClusterSKU) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ManagedClusterSKU) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ManagedClusterSKU, got %T", armInput) + } + + // Set property "Name": + if typedInput.Name != nil { + var temp string + temp = string(*typedInput.Name) + name := ManagedClusterSKU_Name(temp) + clusterSKU.Name = &name + } + + // Set property "Tier": + if typedInput.Tier != nil { + var temp string + temp = string(*typedInput.Tier) + tier := ManagedClusterSKU_Tier(temp) + clusterSKU.Tier = &tier + } + + // No error + return nil +} + +// AssignProperties_From_ManagedClusterSKU populates our ManagedClusterSKU from the provided source ManagedClusterSKU +func (clusterSKU *ManagedClusterSKU) AssignProperties_From_ManagedClusterSKU(source *storage.ManagedClusterSKU) error { + + // Name + if source.Name != nil { + name := *source.Name + nameTemp := genruntime.ToEnum(name, managedClusterSKU_Name_Values) + clusterSKU.Name = &nameTemp + } else { + clusterSKU.Name = nil + } + + // Tier + if source.Tier != nil { + tier := *source.Tier + tierTemp := genruntime.ToEnum(tier, managedClusterSKU_Tier_Values) + clusterSKU.Tier = &tierTemp + } else { + clusterSKU.Tier = nil + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterSKU populates the provided destination ManagedClusterSKU from our ManagedClusterSKU +func (clusterSKU *ManagedClusterSKU) AssignProperties_To_ManagedClusterSKU(destination *storage.ManagedClusterSKU) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Name + if clusterSKU.Name != nil { + name := string(*clusterSKU.Name) + destination.Name = &name + } else { + destination.Name = nil + } + + // Tier + if clusterSKU.Tier != nil { + tier := string(*clusterSKU.Tier) + destination.Tier = &tier + } else { + destination.Tier = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_ManagedClusterSKU_STATUS populates our ManagedClusterSKU from the provided source ManagedClusterSKU_STATUS +func (clusterSKU *ManagedClusterSKU) Initialize_From_ManagedClusterSKU_STATUS(source *ManagedClusterSKU_STATUS) error { + + // Name + if source.Name != nil { + name := genruntime.ToEnum(string(*source.Name), managedClusterSKU_Name_Values) + clusterSKU.Name = &name + } else { + clusterSKU.Name = nil + } + + // Tier + if source.Tier != nil { + tier := genruntime.ToEnum(string(*source.Tier), managedClusterSKU_Tier_Values) + clusterSKU.Tier = &tier + } else { + clusterSKU.Tier = nil + } + + // No error + return nil +} + +// The SKU of a Managed Cluster. +type ManagedClusterSKU_STATUS struct { + // Name: The name of a managed cluster SKU. + Name *ManagedClusterSKU_Name_STATUS `json:"name,omitempty"` + + // Tier: If not specified, the default is 'Free'. See [AKS Pricing + // Tier](https://learn.microsoft.com/azure/aks/free-standard-pricing-tiers) for more details. + Tier *ManagedClusterSKU_Tier_STATUS `json:"tier,omitempty"` +} + +var _ genruntime.FromARMConverter = &ManagedClusterSKU_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (clusterSKU *ManagedClusterSKU_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ManagedClusterSKU_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (clusterSKU *ManagedClusterSKU_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ManagedClusterSKU_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ManagedClusterSKU_STATUS, got %T", armInput) + } + + // Set property "Name": + if typedInput.Name != nil { + var temp string + temp = string(*typedInput.Name) + name := ManagedClusterSKU_Name_STATUS(temp) + clusterSKU.Name = &name + } + + // Set property "Tier": + if typedInput.Tier != nil { + var temp string + temp = string(*typedInput.Tier) + tier := ManagedClusterSKU_Tier_STATUS(temp) + clusterSKU.Tier = &tier + } + + // No error + return nil +} + +// AssignProperties_From_ManagedClusterSKU_STATUS populates our ManagedClusterSKU_STATUS from the provided source ManagedClusterSKU_STATUS +func (clusterSKU *ManagedClusterSKU_STATUS) AssignProperties_From_ManagedClusterSKU_STATUS(source *storage.ManagedClusterSKU_STATUS) error { + + // Name + if source.Name != nil { + name := *source.Name + nameTemp := genruntime.ToEnum(name, managedClusterSKU_Name_STATUS_Values) + clusterSKU.Name = &nameTemp + } else { + clusterSKU.Name = nil + } + + // Tier + if source.Tier != nil { + tier := *source.Tier + tierTemp := genruntime.ToEnum(tier, managedClusterSKU_Tier_STATUS_Values) + clusterSKU.Tier = &tierTemp + } else { + clusterSKU.Tier = nil + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterSKU_STATUS populates the provided destination ManagedClusterSKU_STATUS from our ManagedClusterSKU_STATUS +func (clusterSKU *ManagedClusterSKU_STATUS) AssignProperties_To_ManagedClusterSKU_STATUS(destination *storage.ManagedClusterSKU_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Name + if clusterSKU.Name != nil { + name := string(*clusterSKU.Name) + destination.Name = &name + } else { + destination.Name = nil + } + + // Tier + if clusterSKU.Tier != nil { + tier := string(*clusterSKU.Tier) + destination.Tier = &tier + } else { + destination.Tier = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Storage profile for the container service cluster. +type ManagedClusterStorageProfile struct { + // BlobCSIDriver: AzureBlob CSI Driver settings for the storage profile. + BlobCSIDriver *ManagedClusterStorageProfileBlobCSIDriver `json:"blobCSIDriver,omitempty"` + + // DiskCSIDriver: AzureDisk CSI Driver settings for the storage profile. + DiskCSIDriver *ManagedClusterStorageProfileDiskCSIDriver `json:"diskCSIDriver,omitempty"` + + // FileCSIDriver: AzureFile CSI Driver settings for the storage profile. + FileCSIDriver *ManagedClusterStorageProfileFileCSIDriver `json:"fileCSIDriver,omitempty"` + + // SnapshotController: Snapshot Controller settings for the storage profile. + SnapshotController *ManagedClusterStorageProfileSnapshotController `json:"snapshotController,omitempty"` +} + +var _ genruntime.ARMTransformer = &ManagedClusterStorageProfile{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (profile *ManagedClusterStorageProfile) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if profile == nil { + return nil, nil + } + result := &arm.ManagedClusterStorageProfile{} + + // Set property "BlobCSIDriver": + if profile.BlobCSIDriver != nil { + blobCSIDriver_ARM, err := (*profile.BlobCSIDriver).ConvertToARM(resolved) + if err != nil { + return nil, err + } + blobCSIDriver := *blobCSIDriver_ARM.(*arm.ManagedClusterStorageProfileBlobCSIDriver) + result.BlobCSIDriver = &blobCSIDriver + } + + // Set property "DiskCSIDriver": + if profile.DiskCSIDriver != nil { + diskCSIDriver_ARM, err := (*profile.DiskCSIDriver).ConvertToARM(resolved) + if err != nil { + return nil, err + } + diskCSIDriver := *diskCSIDriver_ARM.(*arm.ManagedClusterStorageProfileDiskCSIDriver) + result.DiskCSIDriver = &diskCSIDriver + } + + // Set property "FileCSIDriver": + if profile.FileCSIDriver != nil { + fileCSIDriver_ARM, err := (*profile.FileCSIDriver).ConvertToARM(resolved) + if err != nil { + return nil, err + } + fileCSIDriver := *fileCSIDriver_ARM.(*arm.ManagedClusterStorageProfileFileCSIDriver) + result.FileCSIDriver = &fileCSIDriver + } + + // Set property "SnapshotController": + if profile.SnapshotController != nil { + snapshotController_ARM, err := (*profile.SnapshotController).ConvertToARM(resolved) + if err != nil { + return nil, err + } + snapshotController := *snapshotController_ARM.(*arm.ManagedClusterStorageProfileSnapshotController) + result.SnapshotController = &snapshotController + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (profile *ManagedClusterStorageProfile) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ManagedClusterStorageProfile{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (profile *ManagedClusterStorageProfile) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ManagedClusterStorageProfile) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ManagedClusterStorageProfile, got %T", armInput) + } + + // Set property "BlobCSIDriver": + if typedInput.BlobCSIDriver != nil { + var blobCSIDriver1 ManagedClusterStorageProfileBlobCSIDriver + err := blobCSIDriver1.PopulateFromARM(owner, *typedInput.BlobCSIDriver) + if err != nil { + return err + } + blobCSIDriver := blobCSIDriver1 + profile.BlobCSIDriver = &blobCSIDriver + } + + // Set property "DiskCSIDriver": + if typedInput.DiskCSIDriver != nil { + var diskCSIDriver1 ManagedClusterStorageProfileDiskCSIDriver + err := diskCSIDriver1.PopulateFromARM(owner, *typedInput.DiskCSIDriver) + if err != nil { + return err + } + diskCSIDriver := diskCSIDriver1 + profile.DiskCSIDriver = &diskCSIDriver + } + + // Set property "FileCSIDriver": + if typedInput.FileCSIDriver != nil { + var fileCSIDriver1 ManagedClusterStorageProfileFileCSIDriver + err := fileCSIDriver1.PopulateFromARM(owner, *typedInput.FileCSIDriver) + if err != nil { + return err + } + fileCSIDriver := fileCSIDriver1 + profile.FileCSIDriver = &fileCSIDriver + } + + // Set property "SnapshotController": + if typedInput.SnapshotController != nil { + var snapshotController1 ManagedClusterStorageProfileSnapshotController + err := snapshotController1.PopulateFromARM(owner, *typedInput.SnapshotController) + if err != nil { + return err + } + snapshotController := snapshotController1 + profile.SnapshotController = &snapshotController + } + + // No error + return nil +} + +// AssignProperties_From_ManagedClusterStorageProfile populates our ManagedClusterStorageProfile from the provided source ManagedClusterStorageProfile +func (profile *ManagedClusterStorageProfile) AssignProperties_From_ManagedClusterStorageProfile(source *storage.ManagedClusterStorageProfile) error { + + // BlobCSIDriver + if source.BlobCSIDriver != nil { + var blobCSIDriver ManagedClusterStorageProfileBlobCSIDriver + err := blobCSIDriver.AssignProperties_From_ManagedClusterStorageProfileBlobCSIDriver(source.BlobCSIDriver) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterStorageProfileBlobCSIDriver() to populate field BlobCSIDriver") + } + profile.BlobCSIDriver = &blobCSIDriver + } else { + profile.BlobCSIDriver = nil + } + + // DiskCSIDriver + if source.DiskCSIDriver != nil { + var diskCSIDriver ManagedClusterStorageProfileDiskCSIDriver + err := diskCSIDriver.AssignProperties_From_ManagedClusterStorageProfileDiskCSIDriver(source.DiskCSIDriver) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterStorageProfileDiskCSIDriver() to populate field DiskCSIDriver") + } + profile.DiskCSIDriver = &diskCSIDriver + } else { + profile.DiskCSIDriver = nil + } + + // FileCSIDriver + if source.FileCSIDriver != nil { + var fileCSIDriver ManagedClusterStorageProfileFileCSIDriver + err := fileCSIDriver.AssignProperties_From_ManagedClusterStorageProfileFileCSIDriver(source.FileCSIDriver) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterStorageProfileFileCSIDriver() to populate field FileCSIDriver") + } + profile.FileCSIDriver = &fileCSIDriver + } else { + profile.FileCSIDriver = nil + } + + // SnapshotController + if source.SnapshotController != nil { + var snapshotController ManagedClusterStorageProfileSnapshotController + err := snapshotController.AssignProperties_From_ManagedClusterStorageProfileSnapshotController(source.SnapshotController) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterStorageProfileSnapshotController() to populate field SnapshotController") + } + profile.SnapshotController = &snapshotController + } else { + profile.SnapshotController = nil + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterStorageProfile populates the provided destination ManagedClusterStorageProfile from our ManagedClusterStorageProfile +func (profile *ManagedClusterStorageProfile) AssignProperties_To_ManagedClusterStorageProfile(destination *storage.ManagedClusterStorageProfile) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // BlobCSIDriver + if profile.BlobCSIDriver != nil { + var blobCSIDriver storage.ManagedClusterStorageProfileBlobCSIDriver + err := profile.BlobCSIDriver.AssignProperties_To_ManagedClusterStorageProfileBlobCSIDriver(&blobCSIDriver) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterStorageProfileBlobCSIDriver() to populate field BlobCSIDriver") + } + destination.BlobCSIDriver = &blobCSIDriver + } else { + destination.BlobCSIDriver = nil + } + + // DiskCSIDriver + if profile.DiskCSIDriver != nil { + var diskCSIDriver storage.ManagedClusterStorageProfileDiskCSIDriver + err := profile.DiskCSIDriver.AssignProperties_To_ManagedClusterStorageProfileDiskCSIDriver(&diskCSIDriver) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterStorageProfileDiskCSIDriver() to populate field DiskCSIDriver") + } + destination.DiskCSIDriver = &diskCSIDriver + } else { + destination.DiskCSIDriver = nil + } + + // FileCSIDriver + if profile.FileCSIDriver != nil { + var fileCSIDriver storage.ManagedClusterStorageProfileFileCSIDriver + err := profile.FileCSIDriver.AssignProperties_To_ManagedClusterStorageProfileFileCSIDriver(&fileCSIDriver) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterStorageProfileFileCSIDriver() to populate field FileCSIDriver") + } + destination.FileCSIDriver = &fileCSIDriver + } else { + destination.FileCSIDriver = nil + } + + // SnapshotController + if profile.SnapshotController != nil { + var snapshotController storage.ManagedClusterStorageProfileSnapshotController + err := profile.SnapshotController.AssignProperties_To_ManagedClusterStorageProfileSnapshotController(&snapshotController) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterStorageProfileSnapshotController() to populate field SnapshotController") + } + destination.SnapshotController = &snapshotController + } else { + destination.SnapshotController = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_ManagedClusterStorageProfile_STATUS populates our ManagedClusterStorageProfile from the provided source ManagedClusterStorageProfile_STATUS +func (profile *ManagedClusterStorageProfile) Initialize_From_ManagedClusterStorageProfile_STATUS(source *ManagedClusterStorageProfile_STATUS) error { + + // BlobCSIDriver + if source.BlobCSIDriver != nil { + var blobCSIDriver ManagedClusterStorageProfileBlobCSIDriver + err := blobCSIDriver.Initialize_From_ManagedClusterStorageProfileBlobCSIDriver_STATUS(source.BlobCSIDriver) + if err != nil { + return errors.Wrap(err, "calling Initialize_From_ManagedClusterStorageProfileBlobCSIDriver_STATUS() to populate field BlobCSIDriver") + } + profile.BlobCSIDriver = &blobCSIDriver + } else { + profile.BlobCSIDriver = nil + } + + // DiskCSIDriver + if source.DiskCSIDriver != nil { + var diskCSIDriver ManagedClusterStorageProfileDiskCSIDriver + err := diskCSIDriver.Initialize_From_ManagedClusterStorageProfileDiskCSIDriver_STATUS(source.DiskCSIDriver) + if err != nil { + return errors.Wrap(err, "calling Initialize_From_ManagedClusterStorageProfileDiskCSIDriver_STATUS() to populate field DiskCSIDriver") + } + profile.DiskCSIDriver = &diskCSIDriver + } else { + profile.DiskCSIDriver = nil + } + + // FileCSIDriver + if source.FileCSIDriver != nil { + var fileCSIDriver ManagedClusterStorageProfileFileCSIDriver + err := fileCSIDriver.Initialize_From_ManagedClusterStorageProfileFileCSIDriver_STATUS(source.FileCSIDriver) + if err != nil { + return errors.Wrap(err, "calling Initialize_From_ManagedClusterStorageProfileFileCSIDriver_STATUS() to populate field FileCSIDriver") + } + profile.FileCSIDriver = &fileCSIDriver + } else { + profile.FileCSIDriver = nil + } + + // SnapshotController + if source.SnapshotController != nil { + var snapshotController ManagedClusterStorageProfileSnapshotController + err := snapshotController.Initialize_From_ManagedClusterStorageProfileSnapshotController_STATUS(source.SnapshotController) + if err != nil { + return errors.Wrap(err, "calling Initialize_From_ManagedClusterStorageProfileSnapshotController_STATUS() to populate field SnapshotController") + } + profile.SnapshotController = &snapshotController + } else { + profile.SnapshotController = nil + } + + // No error + return nil +} + +// Storage profile for the container service cluster. +type ManagedClusterStorageProfile_STATUS struct { + // BlobCSIDriver: AzureBlob CSI Driver settings for the storage profile. + BlobCSIDriver *ManagedClusterStorageProfileBlobCSIDriver_STATUS `json:"blobCSIDriver,omitempty"` + + // DiskCSIDriver: AzureDisk CSI Driver settings for the storage profile. + DiskCSIDriver *ManagedClusterStorageProfileDiskCSIDriver_STATUS `json:"diskCSIDriver,omitempty"` + + // FileCSIDriver: AzureFile CSI Driver settings for the storage profile. + FileCSIDriver *ManagedClusterStorageProfileFileCSIDriver_STATUS `json:"fileCSIDriver,omitempty"` + + // SnapshotController: Snapshot Controller settings for the storage profile. + SnapshotController *ManagedClusterStorageProfileSnapshotController_STATUS `json:"snapshotController,omitempty"` +} + +var _ genruntime.FromARMConverter = &ManagedClusterStorageProfile_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (profile *ManagedClusterStorageProfile_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ManagedClusterStorageProfile_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (profile *ManagedClusterStorageProfile_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ManagedClusterStorageProfile_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ManagedClusterStorageProfile_STATUS, got %T", armInput) + } + + // Set property "BlobCSIDriver": + if typedInput.BlobCSIDriver != nil { + var blobCSIDriver1 ManagedClusterStorageProfileBlobCSIDriver_STATUS + err := blobCSIDriver1.PopulateFromARM(owner, *typedInput.BlobCSIDriver) + if err != nil { + return err + } + blobCSIDriver := blobCSIDriver1 + profile.BlobCSIDriver = &blobCSIDriver + } + + // Set property "DiskCSIDriver": + if typedInput.DiskCSIDriver != nil { + var diskCSIDriver1 ManagedClusterStorageProfileDiskCSIDriver_STATUS + err := diskCSIDriver1.PopulateFromARM(owner, *typedInput.DiskCSIDriver) + if err != nil { + return err + } + diskCSIDriver := diskCSIDriver1 + profile.DiskCSIDriver = &diskCSIDriver + } + + // Set property "FileCSIDriver": + if typedInput.FileCSIDriver != nil { + var fileCSIDriver1 ManagedClusterStorageProfileFileCSIDriver_STATUS + err := fileCSIDriver1.PopulateFromARM(owner, *typedInput.FileCSIDriver) + if err != nil { + return err + } + fileCSIDriver := fileCSIDriver1 + profile.FileCSIDriver = &fileCSIDriver + } + + // Set property "SnapshotController": + if typedInput.SnapshotController != nil { + var snapshotController1 ManagedClusterStorageProfileSnapshotController_STATUS + err := snapshotController1.PopulateFromARM(owner, *typedInput.SnapshotController) + if err != nil { + return err + } + snapshotController := snapshotController1 + profile.SnapshotController = &snapshotController + } + + // No error + return nil +} + +// AssignProperties_From_ManagedClusterStorageProfile_STATUS populates our ManagedClusterStorageProfile_STATUS from the provided source ManagedClusterStorageProfile_STATUS +func (profile *ManagedClusterStorageProfile_STATUS) AssignProperties_From_ManagedClusterStorageProfile_STATUS(source *storage.ManagedClusterStorageProfile_STATUS) error { + + // BlobCSIDriver + if source.BlobCSIDriver != nil { + var blobCSIDriver ManagedClusterStorageProfileBlobCSIDriver_STATUS + err := blobCSIDriver.AssignProperties_From_ManagedClusterStorageProfileBlobCSIDriver_STATUS(source.BlobCSIDriver) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterStorageProfileBlobCSIDriver_STATUS() to populate field BlobCSIDriver") + } + profile.BlobCSIDriver = &blobCSIDriver + } else { + profile.BlobCSIDriver = nil + } + + // DiskCSIDriver + if source.DiskCSIDriver != nil { + var diskCSIDriver ManagedClusterStorageProfileDiskCSIDriver_STATUS + err := diskCSIDriver.AssignProperties_From_ManagedClusterStorageProfileDiskCSIDriver_STATUS(source.DiskCSIDriver) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterStorageProfileDiskCSIDriver_STATUS() to populate field DiskCSIDriver") + } + profile.DiskCSIDriver = &diskCSIDriver + } else { + profile.DiskCSIDriver = nil + } + + // FileCSIDriver + if source.FileCSIDriver != nil { + var fileCSIDriver ManagedClusterStorageProfileFileCSIDriver_STATUS + err := fileCSIDriver.AssignProperties_From_ManagedClusterStorageProfileFileCSIDriver_STATUS(source.FileCSIDriver) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterStorageProfileFileCSIDriver_STATUS() to populate field FileCSIDriver") + } + profile.FileCSIDriver = &fileCSIDriver + } else { + profile.FileCSIDriver = nil + } + + // SnapshotController + if source.SnapshotController != nil { + var snapshotController ManagedClusterStorageProfileSnapshotController_STATUS + err := snapshotController.AssignProperties_From_ManagedClusterStorageProfileSnapshotController_STATUS(source.SnapshotController) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterStorageProfileSnapshotController_STATUS() to populate field SnapshotController") + } + profile.SnapshotController = &snapshotController + } else { + profile.SnapshotController = nil + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterStorageProfile_STATUS populates the provided destination ManagedClusterStorageProfile_STATUS from our ManagedClusterStorageProfile_STATUS +func (profile *ManagedClusterStorageProfile_STATUS) AssignProperties_To_ManagedClusterStorageProfile_STATUS(destination *storage.ManagedClusterStorageProfile_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // BlobCSIDriver + if profile.BlobCSIDriver != nil { + var blobCSIDriver storage.ManagedClusterStorageProfileBlobCSIDriver_STATUS + err := profile.BlobCSIDriver.AssignProperties_To_ManagedClusterStorageProfileBlobCSIDriver_STATUS(&blobCSIDriver) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterStorageProfileBlobCSIDriver_STATUS() to populate field BlobCSIDriver") + } + destination.BlobCSIDriver = &blobCSIDriver + } else { + destination.BlobCSIDriver = nil + } + + // DiskCSIDriver + if profile.DiskCSIDriver != nil { + var diskCSIDriver storage.ManagedClusterStorageProfileDiskCSIDriver_STATUS + err := profile.DiskCSIDriver.AssignProperties_To_ManagedClusterStorageProfileDiskCSIDriver_STATUS(&diskCSIDriver) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterStorageProfileDiskCSIDriver_STATUS() to populate field DiskCSIDriver") + } + destination.DiskCSIDriver = &diskCSIDriver + } else { + destination.DiskCSIDriver = nil + } + + // FileCSIDriver + if profile.FileCSIDriver != nil { + var fileCSIDriver storage.ManagedClusterStorageProfileFileCSIDriver_STATUS + err := profile.FileCSIDriver.AssignProperties_To_ManagedClusterStorageProfileFileCSIDriver_STATUS(&fileCSIDriver) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterStorageProfileFileCSIDriver_STATUS() to populate field FileCSIDriver") + } + destination.FileCSIDriver = &fileCSIDriver + } else { + destination.FileCSIDriver = nil + } + + // SnapshotController + if profile.SnapshotController != nil { + var snapshotController storage.ManagedClusterStorageProfileSnapshotController_STATUS + err := profile.SnapshotController.AssignProperties_To_ManagedClusterStorageProfileSnapshotController_STATUS(&snapshotController) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterStorageProfileSnapshotController_STATUS() to populate field SnapshotController") + } + destination.SnapshotController = &snapshotController + } else { + destination.SnapshotController = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Profile for Windows VMs in the managed cluster. +type ManagedClusterWindowsProfile struct { + // AdminPassword: Specifies the password of the administrator account. + // Minimum-length: 8 characters + // Max-length: 123 characters + // Complexity requirements: 3 out of 4 conditions below need to be fulfilled + // Has lower characters + // Has upper characters + // Has a digit + // Has a special character (Regex match [\W_]) + // Disallowed values: "abc@123", "P@$$w0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", + // "Password22", "iloveyou!" + AdminPassword *genruntime.SecretReference `json:"adminPassword,omitempty"` + + // +kubebuilder:validation:Required + // AdminUsername: Specifies the name of the administrator account. + // Restriction: Cannot end in "." + // Disallowed values: "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", + // "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", + // "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5". + // Minimum-length: 1 character + // Max-length: 20 characters + AdminUsername *string `json:"adminUsername,omitempty"` + + // EnableCSIProxy: For more details on CSI proxy, see the [CSI proxy GitHub + // repo](https://github.com/kubernetes-csi/csi-proxy). + EnableCSIProxy *bool `json:"enableCSIProxy,omitempty"` + + // GmsaProfile: The Windows gMSA Profile in the Managed Cluster. + GmsaProfile *WindowsGmsaProfile `json:"gmsaProfile,omitempty"` + + // LicenseType: The license type to use for Windows VMs. See [Azure Hybrid User + // Benefits](https://azure.microsoft.com/pricing/hybrid-benefit/faq/) for more details. + LicenseType *ManagedClusterWindowsProfile_LicenseType `json:"licenseType,omitempty"` +} + +var _ genruntime.ARMTransformer = &ManagedClusterWindowsProfile{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (profile *ManagedClusterWindowsProfile) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if profile == nil { + return nil, nil + } + result := &arm.ManagedClusterWindowsProfile{} + + // Set property "AdminPassword": + if profile.AdminPassword != nil { + adminPasswordSecret, err := resolved.ResolvedSecrets.Lookup(*profile.AdminPassword) + if err != nil { + return nil, errors.Wrap(err, "looking up secret for property AdminPassword") + } + adminPassword := adminPasswordSecret + result.AdminPassword = &adminPassword + } + + // Set property "AdminUsername": + if profile.AdminUsername != nil { + adminUsername := *profile.AdminUsername + result.AdminUsername = &adminUsername + } + + // Set property "EnableCSIProxy": + if profile.EnableCSIProxy != nil { + enableCSIProxy := *profile.EnableCSIProxy + result.EnableCSIProxy = &enableCSIProxy + } + + // Set property "GmsaProfile": + if profile.GmsaProfile != nil { + gmsaProfile_ARM, err := (*profile.GmsaProfile).ConvertToARM(resolved) + if err != nil { + return nil, err + } + gmsaProfile := *gmsaProfile_ARM.(*arm.WindowsGmsaProfile) + result.GmsaProfile = &gmsaProfile + } + + // Set property "LicenseType": + if profile.LicenseType != nil { + var temp string + temp = string(*profile.LicenseType) + licenseType := arm.ManagedClusterWindowsProfile_LicenseType(temp) + result.LicenseType = &licenseType + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (profile *ManagedClusterWindowsProfile) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ManagedClusterWindowsProfile{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (profile *ManagedClusterWindowsProfile) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ManagedClusterWindowsProfile) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ManagedClusterWindowsProfile, got %T", armInput) + } + + // no assignment for property "AdminPassword" + + // Set property "AdminUsername": + if typedInput.AdminUsername != nil { + adminUsername := *typedInput.AdminUsername + profile.AdminUsername = &adminUsername + } + + // Set property "EnableCSIProxy": + if typedInput.EnableCSIProxy != nil { + enableCSIProxy := *typedInput.EnableCSIProxy + profile.EnableCSIProxy = &enableCSIProxy + } + + // Set property "GmsaProfile": + if typedInput.GmsaProfile != nil { + var gmsaProfile1 WindowsGmsaProfile + err := gmsaProfile1.PopulateFromARM(owner, *typedInput.GmsaProfile) + if err != nil { + return err + } + gmsaProfile := gmsaProfile1 + profile.GmsaProfile = &gmsaProfile + } + + // Set property "LicenseType": + if typedInput.LicenseType != nil { + var temp string + temp = string(*typedInput.LicenseType) + licenseType := ManagedClusterWindowsProfile_LicenseType(temp) + profile.LicenseType = &licenseType + } + + // No error + return nil +} + +// AssignProperties_From_ManagedClusterWindowsProfile populates our ManagedClusterWindowsProfile from the provided source ManagedClusterWindowsProfile +func (profile *ManagedClusterWindowsProfile) AssignProperties_From_ManagedClusterWindowsProfile(source *storage.ManagedClusterWindowsProfile) error { + + // AdminPassword + if source.AdminPassword != nil { + adminPassword := source.AdminPassword.Copy() + profile.AdminPassword = &adminPassword + } else { + profile.AdminPassword = nil + } + + // AdminUsername + profile.AdminUsername = genruntime.ClonePointerToString(source.AdminUsername) + + // EnableCSIProxy + if source.EnableCSIProxy != nil { + enableCSIProxy := *source.EnableCSIProxy + profile.EnableCSIProxy = &enableCSIProxy + } else { + profile.EnableCSIProxy = nil + } + + // GmsaProfile + if source.GmsaProfile != nil { + var gmsaProfile WindowsGmsaProfile + err := gmsaProfile.AssignProperties_From_WindowsGmsaProfile(source.GmsaProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_WindowsGmsaProfile() to populate field GmsaProfile") + } + profile.GmsaProfile = &gmsaProfile + } else { + profile.GmsaProfile = nil + } + + // LicenseType + if source.LicenseType != nil { + licenseType := *source.LicenseType + licenseTypeTemp := genruntime.ToEnum(licenseType, managedClusterWindowsProfile_LicenseType_Values) + profile.LicenseType = &licenseTypeTemp + } else { + profile.LicenseType = nil + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterWindowsProfile populates the provided destination ManagedClusterWindowsProfile from our ManagedClusterWindowsProfile +func (profile *ManagedClusterWindowsProfile) AssignProperties_To_ManagedClusterWindowsProfile(destination *storage.ManagedClusterWindowsProfile) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // AdminPassword + if profile.AdminPassword != nil { + adminPassword := profile.AdminPassword.Copy() + destination.AdminPassword = &adminPassword + } else { + destination.AdminPassword = nil + } + + // AdminUsername + destination.AdminUsername = genruntime.ClonePointerToString(profile.AdminUsername) + + // EnableCSIProxy + if profile.EnableCSIProxy != nil { + enableCSIProxy := *profile.EnableCSIProxy + destination.EnableCSIProxy = &enableCSIProxy + } else { + destination.EnableCSIProxy = nil + } + + // GmsaProfile + if profile.GmsaProfile != nil { + var gmsaProfile storage.WindowsGmsaProfile + err := profile.GmsaProfile.AssignProperties_To_WindowsGmsaProfile(&gmsaProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_WindowsGmsaProfile() to populate field GmsaProfile") + } + destination.GmsaProfile = &gmsaProfile + } else { + destination.GmsaProfile = nil + } + + // LicenseType + if profile.LicenseType != nil { + licenseType := string(*profile.LicenseType) + destination.LicenseType = &licenseType + } else { + destination.LicenseType = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_ManagedClusterWindowsProfile_STATUS populates our ManagedClusterWindowsProfile from the provided source ManagedClusterWindowsProfile_STATUS +func (profile *ManagedClusterWindowsProfile) Initialize_From_ManagedClusterWindowsProfile_STATUS(source *ManagedClusterWindowsProfile_STATUS) error { + + // AdminUsername + profile.AdminUsername = genruntime.ClonePointerToString(source.AdminUsername) + + // EnableCSIProxy + if source.EnableCSIProxy != nil { + enableCSIProxy := *source.EnableCSIProxy + profile.EnableCSIProxy = &enableCSIProxy + } else { + profile.EnableCSIProxy = nil + } + + // GmsaProfile + if source.GmsaProfile != nil { + var gmsaProfile WindowsGmsaProfile + err := gmsaProfile.Initialize_From_WindowsGmsaProfile_STATUS(source.GmsaProfile) + if err != nil { + return errors.Wrap(err, "calling Initialize_From_WindowsGmsaProfile_STATUS() to populate field GmsaProfile") + } + profile.GmsaProfile = &gmsaProfile + } else { + profile.GmsaProfile = nil + } + + // LicenseType + if source.LicenseType != nil { + licenseType := genruntime.ToEnum(string(*source.LicenseType), managedClusterWindowsProfile_LicenseType_Values) + profile.LicenseType = &licenseType + } else { + profile.LicenseType = nil + } + + // No error + return nil +} + +// Profile for Windows VMs in the managed cluster. +type ManagedClusterWindowsProfile_STATUS struct { + // AdminUsername: Specifies the name of the administrator account. + // Restriction: Cannot end in "." + // Disallowed values: "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", + // "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", + // "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5". + // Minimum-length: 1 character + // Max-length: 20 characters + AdminUsername *string `json:"adminUsername,omitempty"` + + // EnableCSIProxy: For more details on CSI proxy, see the [CSI proxy GitHub + // repo](https://github.com/kubernetes-csi/csi-proxy). + EnableCSIProxy *bool `json:"enableCSIProxy,omitempty"` + + // GmsaProfile: The Windows gMSA Profile in the Managed Cluster. + GmsaProfile *WindowsGmsaProfile_STATUS `json:"gmsaProfile,omitempty"` + + // LicenseType: The license type to use for Windows VMs. See [Azure Hybrid User + // Benefits](https://azure.microsoft.com/pricing/hybrid-benefit/faq/) for more details. + LicenseType *ManagedClusterWindowsProfile_LicenseType_STATUS `json:"licenseType,omitempty"` +} + +var _ genruntime.FromARMConverter = &ManagedClusterWindowsProfile_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (profile *ManagedClusterWindowsProfile_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ManagedClusterWindowsProfile_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (profile *ManagedClusterWindowsProfile_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ManagedClusterWindowsProfile_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ManagedClusterWindowsProfile_STATUS, got %T", armInput) + } + + // Set property "AdminUsername": + if typedInput.AdminUsername != nil { + adminUsername := *typedInput.AdminUsername + profile.AdminUsername = &adminUsername + } + + // Set property "EnableCSIProxy": + if typedInput.EnableCSIProxy != nil { + enableCSIProxy := *typedInput.EnableCSIProxy + profile.EnableCSIProxy = &enableCSIProxy + } + + // Set property "GmsaProfile": + if typedInput.GmsaProfile != nil { + var gmsaProfile1 WindowsGmsaProfile_STATUS + err := gmsaProfile1.PopulateFromARM(owner, *typedInput.GmsaProfile) + if err != nil { + return err + } + gmsaProfile := gmsaProfile1 + profile.GmsaProfile = &gmsaProfile + } + + // Set property "LicenseType": + if typedInput.LicenseType != nil { + var temp string + temp = string(*typedInput.LicenseType) + licenseType := ManagedClusterWindowsProfile_LicenseType_STATUS(temp) + profile.LicenseType = &licenseType + } + + // No error + return nil +} + +// AssignProperties_From_ManagedClusterWindowsProfile_STATUS populates our ManagedClusterWindowsProfile_STATUS from the provided source ManagedClusterWindowsProfile_STATUS +func (profile *ManagedClusterWindowsProfile_STATUS) AssignProperties_From_ManagedClusterWindowsProfile_STATUS(source *storage.ManagedClusterWindowsProfile_STATUS) error { + + // AdminUsername + profile.AdminUsername = genruntime.ClonePointerToString(source.AdminUsername) + + // EnableCSIProxy + if source.EnableCSIProxy != nil { + enableCSIProxy := *source.EnableCSIProxy + profile.EnableCSIProxy = &enableCSIProxy + } else { + profile.EnableCSIProxy = nil + } + + // GmsaProfile + if source.GmsaProfile != nil { + var gmsaProfile WindowsGmsaProfile_STATUS + err := gmsaProfile.AssignProperties_From_WindowsGmsaProfile_STATUS(source.GmsaProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_WindowsGmsaProfile_STATUS() to populate field GmsaProfile") + } + profile.GmsaProfile = &gmsaProfile + } else { + profile.GmsaProfile = nil + } + + // LicenseType + if source.LicenseType != nil { + licenseType := *source.LicenseType + licenseTypeTemp := genruntime.ToEnum(licenseType, managedClusterWindowsProfile_LicenseType_STATUS_Values) + profile.LicenseType = &licenseTypeTemp + } else { + profile.LicenseType = nil + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterWindowsProfile_STATUS populates the provided destination ManagedClusterWindowsProfile_STATUS from our ManagedClusterWindowsProfile_STATUS +func (profile *ManagedClusterWindowsProfile_STATUS) AssignProperties_To_ManagedClusterWindowsProfile_STATUS(destination *storage.ManagedClusterWindowsProfile_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // AdminUsername + destination.AdminUsername = genruntime.ClonePointerToString(profile.AdminUsername) + + // EnableCSIProxy + if profile.EnableCSIProxy != nil { + enableCSIProxy := *profile.EnableCSIProxy + destination.EnableCSIProxy = &enableCSIProxy + } else { + destination.EnableCSIProxy = nil + } + + // GmsaProfile + if profile.GmsaProfile != nil { + var gmsaProfile storage.WindowsGmsaProfile_STATUS + err := profile.GmsaProfile.AssignProperties_To_WindowsGmsaProfile_STATUS(&gmsaProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_WindowsGmsaProfile_STATUS() to populate field GmsaProfile") + } + destination.GmsaProfile = &gmsaProfile + } else { + destination.GmsaProfile = nil + } + + // LicenseType + if profile.LicenseType != nil { + licenseType := string(*profile.LicenseType) + destination.LicenseType = &licenseType + } else { + destination.LicenseType = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Workload Auto-scaler profile for the managed cluster. +type ManagedClusterWorkloadAutoScalerProfile struct { + // Keda: KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile. + Keda *ManagedClusterWorkloadAutoScalerProfileKeda `json:"keda,omitempty"` + + // VerticalPodAutoscaler: VPA (Vertical Pod Autoscaler) settings for the workload auto-scaler profile. + VerticalPodAutoscaler *ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler `json:"verticalPodAutoscaler,omitempty"` +} + +var _ genruntime.ARMTransformer = &ManagedClusterWorkloadAutoScalerProfile{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (profile *ManagedClusterWorkloadAutoScalerProfile) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if profile == nil { + return nil, nil + } + result := &arm.ManagedClusterWorkloadAutoScalerProfile{} + + // Set property "Keda": + if profile.Keda != nil { + keda_ARM, err := (*profile.Keda).ConvertToARM(resolved) + if err != nil { + return nil, err + } + keda := *keda_ARM.(*arm.ManagedClusterWorkloadAutoScalerProfileKeda) + result.Keda = &keda + } + + // Set property "VerticalPodAutoscaler": + if profile.VerticalPodAutoscaler != nil { + verticalPodAutoscaler_ARM, err := (*profile.VerticalPodAutoscaler).ConvertToARM(resolved) + if err != nil { + return nil, err + } + verticalPodAutoscaler := *verticalPodAutoscaler_ARM.(*arm.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler) + result.VerticalPodAutoscaler = &verticalPodAutoscaler + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (profile *ManagedClusterWorkloadAutoScalerProfile) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ManagedClusterWorkloadAutoScalerProfile{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (profile *ManagedClusterWorkloadAutoScalerProfile) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ManagedClusterWorkloadAutoScalerProfile) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ManagedClusterWorkloadAutoScalerProfile, got %T", armInput) + } + + // Set property "Keda": + if typedInput.Keda != nil { + var keda1 ManagedClusterWorkloadAutoScalerProfileKeda + err := keda1.PopulateFromARM(owner, *typedInput.Keda) + if err != nil { + return err + } + keda := keda1 + profile.Keda = &keda + } + + // Set property "VerticalPodAutoscaler": + if typedInput.VerticalPodAutoscaler != nil { + var verticalPodAutoscaler1 ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler + err := verticalPodAutoscaler1.PopulateFromARM(owner, *typedInput.VerticalPodAutoscaler) + if err != nil { + return err + } + verticalPodAutoscaler := verticalPodAutoscaler1 + profile.VerticalPodAutoscaler = &verticalPodAutoscaler + } + + // No error + return nil +} + +// AssignProperties_From_ManagedClusterWorkloadAutoScalerProfile populates our ManagedClusterWorkloadAutoScalerProfile from the provided source ManagedClusterWorkloadAutoScalerProfile +func (profile *ManagedClusterWorkloadAutoScalerProfile) AssignProperties_From_ManagedClusterWorkloadAutoScalerProfile(source *storage.ManagedClusterWorkloadAutoScalerProfile) error { + + // Keda + if source.Keda != nil { + var kedum ManagedClusterWorkloadAutoScalerProfileKeda + err := kedum.AssignProperties_From_ManagedClusterWorkloadAutoScalerProfileKeda(source.Keda) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterWorkloadAutoScalerProfileKeda() to populate field Keda") + } + profile.Keda = &kedum + } else { + profile.Keda = nil + } + + // VerticalPodAutoscaler + if source.VerticalPodAutoscaler != nil { + var verticalPodAutoscaler ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler + err := verticalPodAutoscaler.AssignProperties_From_ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler(source.VerticalPodAutoscaler) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler() to populate field VerticalPodAutoscaler") + } + profile.VerticalPodAutoscaler = &verticalPodAutoscaler + } else { + profile.VerticalPodAutoscaler = nil + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterWorkloadAutoScalerProfile populates the provided destination ManagedClusterWorkloadAutoScalerProfile from our ManagedClusterWorkloadAutoScalerProfile +func (profile *ManagedClusterWorkloadAutoScalerProfile) AssignProperties_To_ManagedClusterWorkloadAutoScalerProfile(destination *storage.ManagedClusterWorkloadAutoScalerProfile) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Keda + if profile.Keda != nil { + var kedum storage.ManagedClusterWorkloadAutoScalerProfileKeda + err := profile.Keda.AssignProperties_To_ManagedClusterWorkloadAutoScalerProfileKeda(&kedum) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterWorkloadAutoScalerProfileKeda() to populate field Keda") + } + destination.Keda = &kedum + } else { + destination.Keda = nil + } + + // VerticalPodAutoscaler + if profile.VerticalPodAutoscaler != nil { + var verticalPodAutoscaler storage.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler + err := profile.VerticalPodAutoscaler.AssignProperties_To_ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler(&verticalPodAutoscaler) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler() to populate field VerticalPodAutoscaler") + } + destination.VerticalPodAutoscaler = &verticalPodAutoscaler + } else { + destination.VerticalPodAutoscaler = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_ManagedClusterWorkloadAutoScalerProfile_STATUS populates our ManagedClusterWorkloadAutoScalerProfile from the provided source ManagedClusterWorkloadAutoScalerProfile_STATUS +func (profile *ManagedClusterWorkloadAutoScalerProfile) Initialize_From_ManagedClusterWorkloadAutoScalerProfile_STATUS(source *ManagedClusterWorkloadAutoScalerProfile_STATUS) error { + + // Keda + if source.Keda != nil { + var kedum ManagedClusterWorkloadAutoScalerProfileKeda + err := kedum.Initialize_From_ManagedClusterWorkloadAutoScalerProfileKeda_STATUS(source.Keda) + if err != nil { + return errors.Wrap(err, "calling Initialize_From_ManagedClusterWorkloadAutoScalerProfileKeda_STATUS() to populate field Keda") + } + profile.Keda = &kedum + } else { + profile.Keda = nil + } + + // VerticalPodAutoscaler + if source.VerticalPodAutoscaler != nil { + var verticalPodAutoscaler ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler + err := verticalPodAutoscaler.Initialize_From_ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS(source.VerticalPodAutoscaler) + if err != nil { + return errors.Wrap(err, "calling Initialize_From_ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS() to populate field VerticalPodAutoscaler") + } + profile.VerticalPodAutoscaler = &verticalPodAutoscaler + } else { + profile.VerticalPodAutoscaler = nil + } + + // No error + return nil +} + +// Workload Auto-scaler profile for the managed cluster. +type ManagedClusterWorkloadAutoScalerProfile_STATUS struct { + // Keda: KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile. + Keda *ManagedClusterWorkloadAutoScalerProfileKeda_STATUS `json:"keda,omitempty"` + + // VerticalPodAutoscaler: VPA (Vertical Pod Autoscaler) settings for the workload auto-scaler profile. + VerticalPodAutoscaler *ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS `json:"verticalPodAutoscaler,omitempty"` +} + +var _ genruntime.FromARMConverter = &ManagedClusterWorkloadAutoScalerProfile_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (profile *ManagedClusterWorkloadAutoScalerProfile_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ManagedClusterWorkloadAutoScalerProfile_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (profile *ManagedClusterWorkloadAutoScalerProfile_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ManagedClusterWorkloadAutoScalerProfile_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ManagedClusterWorkloadAutoScalerProfile_STATUS, got %T", armInput) + } + + // Set property "Keda": + if typedInput.Keda != nil { + var keda1 ManagedClusterWorkloadAutoScalerProfileKeda_STATUS + err := keda1.PopulateFromARM(owner, *typedInput.Keda) + if err != nil { + return err + } + keda := keda1 + profile.Keda = &keda + } + + // Set property "VerticalPodAutoscaler": + if typedInput.VerticalPodAutoscaler != nil { + var verticalPodAutoscaler1 ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS + err := verticalPodAutoscaler1.PopulateFromARM(owner, *typedInput.VerticalPodAutoscaler) + if err != nil { + return err + } + verticalPodAutoscaler := verticalPodAutoscaler1 + profile.VerticalPodAutoscaler = &verticalPodAutoscaler + } + + // No error + return nil +} + +// AssignProperties_From_ManagedClusterWorkloadAutoScalerProfile_STATUS populates our ManagedClusterWorkloadAutoScalerProfile_STATUS from the provided source ManagedClusterWorkloadAutoScalerProfile_STATUS +func (profile *ManagedClusterWorkloadAutoScalerProfile_STATUS) AssignProperties_From_ManagedClusterWorkloadAutoScalerProfile_STATUS(source *storage.ManagedClusterWorkloadAutoScalerProfile_STATUS) error { + + // Keda + if source.Keda != nil { + var kedum ManagedClusterWorkloadAutoScalerProfileKeda_STATUS + err := kedum.AssignProperties_From_ManagedClusterWorkloadAutoScalerProfileKeda_STATUS(source.Keda) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterWorkloadAutoScalerProfileKeda_STATUS() to populate field Keda") + } + profile.Keda = &kedum + } else { + profile.Keda = nil + } + + // VerticalPodAutoscaler + if source.VerticalPodAutoscaler != nil { + var verticalPodAutoscaler ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS + err := verticalPodAutoscaler.AssignProperties_From_ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS(source.VerticalPodAutoscaler) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS() to populate field VerticalPodAutoscaler") + } + profile.VerticalPodAutoscaler = &verticalPodAutoscaler + } else { + profile.VerticalPodAutoscaler = nil + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterWorkloadAutoScalerProfile_STATUS populates the provided destination ManagedClusterWorkloadAutoScalerProfile_STATUS from our ManagedClusterWorkloadAutoScalerProfile_STATUS +func (profile *ManagedClusterWorkloadAutoScalerProfile_STATUS) AssignProperties_To_ManagedClusterWorkloadAutoScalerProfile_STATUS(destination *storage.ManagedClusterWorkloadAutoScalerProfile_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Keda + if profile.Keda != nil { + var kedum storage.ManagedClusterWorkloadAutoScalerProfileKeda_STATUS + err := profile.Keda.AssignProperties_To_ManagedClusterWorkloadAutoScalerProfileKeda_STATUS(&kedum) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterWorkloadAutoScalerProfileKeda_STATUS() to populate field Keda") + } + destination.Keda = &kedum + } else { + destination.Keda = nil + } + + // VerticalPodAutoscaler + if profile.VerticalPodAutoscaler != nil { + var verticalPodAutoscaler storage.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS + err := profile.VerticalPodAutoscaler.AssignProperties_To_ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS(&verticalPodAutoscaler) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS() to populate field VerticalPodAutoscaler") + } + destination.VerticalPodAutoscaler = &verticalPodAutoscaler + } else { + destination.VerticalPodAutoscaler = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Describes the Power State of the cluster +type PowerState_STATUS struct { + // Code: Tells whether the cluster is Running or Stopped + Code *PowerState_Code_STATUS `json:"code,omitempty"` +} + +var _ genruntime.FromARMConverter = &PowerState_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (state *PowerState_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.PowerState_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (state *PowerState_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.PowerState_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.PowerState_STATUS, got %T", armInput) + } + + // Set property "Code": + if typedInput.Code != nil { + var temp string + temp = string(*typedInput.Code) + code := PowerState_Code_STATUS(temp) + state.Code = &code + } + + // No error + return nil +} + +// AssignProperties_From_PowerState_STATUS populates our PowerState_STATUS from the provided source PowerState_STATUS +func (state *PowerState_STATUS) AssignProperties_From_PowerState_STATUS(source *storage.PowerState_STATUS) error { + + // Code + if source.Code != nil { + code := *source.Code + codeTemp := genruntime.ToEnum(code, powerState_Code_STATUS_Values) + state.Code = &codeTemp + } else { + state.Code = nil + } + + // No error + return nil +} + +// AssignProperties_To_PowerState_STATUS populates the provided destination PowerState_STATUS from our PowerState_STATUS +func (state *PowerState_STATUS) AssignProperties_To_PowerState_STATUS(destination *storage.PowerState_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Code + if state.Code != nil { + code := string(*state.Code) + destination.Code = &code + } else { + destination.Code = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// A private link resource +type PrivateLinkResource struct { + // GroupId: The group ID of the resource. + GroupId *string `json:"groupId,omitempty"` + + // Name: The name of the private link resource. + Name *string `json:"name,omitempty"` + + // Reference: The ID of the private link resource. + Reference *genruntime.ResourceReference `armReference:"Id" json:"reference,omitempty"` + + // RequiredMembers: The RequiredMembers of the resource + RequiredMembers []string `json:"requiredMembers,omitempty"` + + // Type: The resource type. + Type *string `json:"type,omitempty"` +} + +var _ genruntime.ARMTransformer = &PrivateLinkResource{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (resource *PrivateLinkResource) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if resource == nil { + return nil, nil + } + result := &arm.PrivateLinkResource{} + + // Set property "GroupId": + if resource.GroupId != nil { + groupId := *resource.GroupId + result.GroupId = &groupId + } + + // Set property "Id": + if resource.Reference != nil { + referenceARMID, err := resolved.ResolvedReferences.Lookup(*resource.Reference) + if err != nil { + return nil, err + } + reference := referenceARMID + result.Id = &reference + } + + // Set property "Name": + if resource.Name != nil { + name := *resource.Name + result.Name = &name + } + + // Set property "RequiredMembers": + for _, item := range resource.RequiredMembers { + result.RequiredMembers = append(result.RequiredMembers, item) + } + + // Set property "Type": + if resource.Type != nil { + typeVar := *resource.Type + result.Type = &typeVar + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (resource *PrivateLinkResource) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.PrivateLinkResource{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (resource *PrivateLinkResource) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.PrivateLinkResource) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.PrivateLinkResource, got %T", armInput) + } + + // Set property "GroupId": + if typedInput.GroupId != nil { + groupId := *typedInput.GroupId + resource.GroupId = &groupId + } + + // Set property "Name": + if typedInput.Name != nil { + name := *typedInput.Name + resource.Name = &name + } + + // no assignment for property "Reference" + + // Set property "RequiredMembers": + for _, item := range typedInput.RequiredMembers { + resource.RequiredMembers = append(resource.RequiredMembers, item) + } + + // Set property "Type": + if typedInput.Type != nil { + typeVar := *typedInput.Type + resource.Type = &typeVar + } + + // No error + return nil +} + +// AssignProperties_From_PrivateLinkResource populates our PrivateLinkResource from the provided source PrivateLinkResource +func (resource *PrivateLinkResource) AssignProperties_From_PrivateLinkResource(source *storage.PrivateLinkResource) error { + + // GroupId + resource.GroupId = genruntime.ClonePointerToString(source.GroupId) + + // Name + resource.Name = genruntime.ClonePointerToString(source.Name) + + // Reference + if source.Reference != nil { + reference := source.Reference.Copy() + resource.Reference = &reference + } else { + resource.Reference = nil + } + + // RequiredMembers + resource.RequiredMembers = genruntime.CloneSliceOfString(source.RequiredMembers) + + // Type + resource.Type = genruntime.ClonePointerToString(source.Type) + + // No error + return nil +} + +// AssignProperties_To_PrivateLinkResource populates the provided destination PrivateLinkResource from our PrivateLinkResource +func (resource *PrivateLinkResource) AssignProperties_To_PrivateLinkResource(destination *storage.PrivateLinkResource) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // GroupId + destination.GroupId = genruntime.ClonePointerToString(resource.GroupId) + + // Name + destination.Name = genruntime.ClonePointerToString(resource.Name) + + // Reference + if resource.Reference != nil { + reference := resource.Reference.Copy() + destination.Reference = &reference + } else { + destination.Reference = nil + } + + // RequiredMembers + destination.RequiredMembers = genruntime.CloneSliceOfString(resource.RequiredMembers) + + // Type + destination.Type = genruntime.ClonePointerToString(resource.Type) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_PrivateLinkResource_STATUS populates our PrivateLinkResource from the provided source PrivateLinkResource_STATUS +func (resource *PrivateLinkResource) Initialize_From_PrivateLinkResource_STATUS(source *PrivateLinkResource_STATUS) error { + + // GroupId + resource.GroupId = genruntime.ClonePointerToString(source.GroupId) + + // Name + resource.Name = genruntime.ClonePointerToString(source.Name) + + // Reference + if source.Id != nil { + reference := genruntime.CreateResourceReferenceFromARMID(*source.Id) + resource.Reference = &reference + } else { + resource.Reference = nil + } + + // RequiredMembers + resource.RequiredMembers = genruntime.CloneSliceOfString(source.RequiredMembers) + + // Type + resource.Type = genruntime.ClonePointerToString(source.Type) + + // No error + return nil +} + +// A private link resource +type PrivateLinkResource_STATUS struct { + // GroupId: The group ID of the resource. + GroupId *string `json:"groupId,omitempty"` + + // Id: The ID of the private link resource. + Id *string `json:"id,omitempty"` + + // Name: The name of the private link resource. + Name *string `json:"name,omitempty"` + + // PrivateLinkServiceID: The private link service ID of the resource, this field is exposed only to NRP internally. + PrivateLinkServiceID *string `json:"privateLinkServiceID,omitempty"` + + // RequiredMembers: The RequiredMembers of the resource + RequiredMembers []string `json:"requiredMembers,omitempty"` + + // Type: The resource type. + Type *string `json:"type,omitempty"` +} + +var _ genruntime.FromARMConverter = &PrivateLinkResource_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (resource *PrivateLinkResource_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.PrivateLinkResource_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (resource *PrivateLinkResource_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.PrivateLinkResource_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.PrivateLinkResource_STATUS, got %T", armInput) + } + + // Set property "GroupId": + if typedInput.GroupId != nil { + groupId := *typedInput.GroupId + resource.GroupId = &groupId + } + + // Set property "Id": + if typedInput.Id != nil { + id := *typedInput.Id + resource.Id = &id + } + + // Set property "Name": + if typedInput.Name != nil { + name := *typedInput.Name + resource.Name = &name + } + + // Set property "PrivateLinkServiceID": + if typedInput.PrivateLinkServiceID != nil { + privateLinkServiceID := *typedInput.PrivateLinkServiceID + resource.PrivateLinkServiceID = &privateLinkServiceID + } + + // Set property "RequiredMembers": + for _, item := range typedInput.RequiredMembers { + resource.RequiredMembers = append(resource.RequiredMembers, item) + } + + // Set property "Type": + if typedInput.Type != nil { + typeVar := *typedInput.Type + resource.Type = &typeVar + } + + // No error + return nil +} + +// AssignProperties_From_PrivateLinkResource_STATUS populates our PrivateLinkResource_STATUS from the provided source PrivateLinkResource_STATUS +func (resource *PrivateLinkResource_STATUS) AssignProperties_From_PrivateLinkResource_STATUS(source *storage.PrivateLinkResource_STATUS) error { + + // GroupId + resource.GroupId = genruntime.ClonePointerToString(source.GroupId) + + // Id + resource.Id = genruntime.ClonePointerToString(source.Id) + + // Name + resource.Name = genruntime.ClonePointerToString(source.Name) + + // PrivateLinkServiceID + resource.PrivateLinkServiceID = genruntime.ClonePointerToString(source.PrivateLinkServiceID) + + // RequiredMembers + resource.RequiredMembers = genruntime.CloneSliceOfString(source.RequiredMembers) + + // Type + resource.Type = genruntime.ClonePointerToString(source.Type) + + // No error + return nil +} + +// AssignProperties_To_PrivateLinkResource_STATUS populates the provided destination PrivateLinkResource_STATUS from our PrivateLinkResource_STATUS +func (resource *PrivateLinkResource_STATUS) AssignProperties_To_PrivateLinkResource_STATUS(destination *storage.PrivateLinkResource_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // GroupId + destination.GroupId = genruntime.ClonePointerToString(resource.GroupId) + + // Id + destination.Id = genruntime.ClonePointerToString(resource.Id) + + // Name + destination.Name = genruntime.ClonePointerToString(resource.Name) + + // PrivateLinkServiceID + destination.PrivateLinkServiceID = genruntime.ClonePointerToString(resource.PrivateLinkServiceID) + + // RequiredMembers + destination.RequiredMembers = genruntime.CloneSliceOfString(resource.RequiredMembers) + + // Type + destination.Type = genruntime.ClonePointerToString(resource.Type) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Service mesh profile for a managed cluster. +type ServiceMeshProfile struct { + // Istio: Istio service mesh configuration. + Istio *IstioServiceMesh `json:"istio,omitempty"` + + // +kubebuilder:validation:Required + // Mode: Mode of the service mesh. + Mode *ServiceMeshProfile_Mode `json:"mode,omitempty"` +} + +var _ genruntime.ARMTransformer = &ServiceMeshProfile{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (profile *ServiceMeshProfile) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if profile == nil { + return nil, nil + } + result := &arm.ServiceMeshProfile{} + + // Set property "Istio": + if profile.Istio != nil { + istio_ARM, err := (*profile.Istio).ConvertToARM(resolved) + if err != nil { + return nil, err + } + istio := *istio_ARM.(*arm.IstioServiceMesh) + result.Istio = &istio + } + + // Set property "Mode": + if profile.Mode != nil { + var temp string + temp = string(*profile.Mode) + mode := arm.ServiceMeshProfile_Mode(temp) + result.Mode = &mode + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (profile *ServiceMeshProfile) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ServiceMeshProfile{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (profile *ServiceMeshProfile) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ServiceMeshProfile) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ServiceMeshProfile, got %T", armInput) + } + + // Set property "Istio": + if typedInput.Istio != nil { + var istio1 IstioServiceMesh + err := istio1.PopulateFromARM(owner, *typedInput.Istio) + if err != nil { + return err + } + istio := istio1 + profile.Istio = &istio + } + + // Set property "Mode": + if typedInput.Mode != nil { + var temp string + temp = string(*typedInput.Mode) + mode := ServiceMeshProfile_Mode(temp) + profile.Mode = &mode + } + + // No error + return nil +} + +// AssignProperties_From_ServiceMeshProfile populates our ServiceMeshProfile from the provided source ServiceMeshProfile +func (profile *ServiceMeshProfile) AssignProperties_From_ServiceMeshProfile(source *storage.ServiceMeshProfile) error { + + // Istio + if source.Istio != nil { + var istio IstioServiceMesh + err := istio.AssignProperties_From_IstioServiceMesh(source.Istio) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_IstioServiceMesh() to populate field Istio") + } + profile.Istio = &istio + } else { + profile.Istio = nil + } + + // Mode + if source.Mode != nil { + mode := *source.Mode + modeTemp := genruntime.ToEnum(mode, serviceMeshProfile_Mode_Values) + profile.Mode = &modeTemp + } else { + profile.Mode = nil + } + + // No error + return nil +} + +// AssignProperties_To_ServiceMeshProfile populates the provided destination ServiceMeshProfile from our ServiceMeshProfile +func (profile *ServiceMeshProfile) AssignProperties_To_ServiceMeshProfile(destination *storage.ServiceMeshProfile) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Istio + if profile.Istio != nil { + var istio storage.IstioServiceMesh + err := profile.Istio.AssignProperties_To_IstioServiceMesh(&istio) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_IstioServiceMesh() to populate field Istio") + } + destination.Istio = &istio + } else { + destination.Istio = nil + } + + // Mode + if profile.Mode != nil { + mode := string(*profile.Mode) + destination.Mode = &mode + } else { + destination.Mode = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_ServiceMeshProfile_STATUS populates our ServiceMeshProfile from the provided source ServiceMeshProfile_STATUS +func (profile *ServiceMeshProfile) Initialize_From_ServiceMeshProfile_STATUS(source *ServiceMeshProfile_STATUS) error { + + // Istio + if source.Istio != nil { + var istio IstioServiceMesh + err := istio.Initialize_From_IstioServiceMesh_STATUS(source.Istio) + if err != nil { + return errors.Wrap(err, "calling Initialize_From_IstioServiceMesh_STATUS() to populate field Istio") + } + profile.Istio = &istio + } else { + profile.Istio = nil + } + + // Mode + if source.Mode != nil { + mode := genruntime.ToEnum(string(*source.Mode), serviceMeshProfile_Mode_Values) + profile.Mode = &mode + } else { + profile.Mode = nil + } + + // No error + return nil +} + +// Service mesh profile for a managed cluster. +type ServiceMeshProfile_STATUS struct { + // Istio: Istio service mesh configuration. + Istio *IstioServiceMesh_STATUS `json:"istio,omitempty"` + + // Mode: Mode of the service mesh. + Mode *ServiceMeshProfile_Mode_STATUS `json:"mode,omitempty"` +} + +var _ genruntime.FromARMConverter = &ServiceMeshProfile_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (profile *ServiceMeshProfile_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ServiceMeshProfile_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (profile *ServiceMeshProfile_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ServiceMeshProfile_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ServiceMeshProfile_STATUS, got %T", armInput) + } + + // Set property "Istio": + if typedInput.Istio != nil { + var istio1 IstioServiceMesh_STATUS + err := istio1.PopulateFromARM(owner, *typedInput.Istio) + if err != nil { + return err + } + istio := istio1 + profile.Istio = &istio + } + + // Set property "Mode": + if typedInput.Mode != nil { + var temp string + temp = string(*typedInput.Mode) + mode := ServiceMeshProfile_Mode_STATUS(temp) + profile.Mode = &mode + } + + // No error + return nil +} + +// AssignProperties_From_ServiceMeshProfile_STATUS populates our ServiceMeshProfile_STATUS from the provided source ServiceMeshProfile_STATUS +func (profile *ServiceMeshProfile_STATUS) AssignProperties_From_ServiceMeshProfile_STATUS(source *storage.ServiceMeshProfile_STATUS) error { + + // Istio + if source.Istio != nil { + var istio IstioServiceMesh_STATUS + err := istio.AssignProperties_From_IstioServiceMesh_STATUS(source.Istio) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_IstioServiceMesh_STATUS() to populate field Istio") + } + profile.Istio = &istio + } else { + profile.Istio = nil + } + + // Mode + if source.Mode != nil { + mode := *source.Mode + modeTemp := genruntime.ToEnum(mode, serviceMeshProfile_Mode_STATUS_Values) + profile.Mode = &modeTemp + } else { + profile.Mode = nil + } + + // No error + return nil +} + +// AssignProperties_To_ServiceMeshProfile_STATUS populates the provided destination ServiceMeshProfile_STATUS from our ServiceMeshProfile_STATUS +func (profile *ServiceMeshProfile_STATUS) AssignProperties_To_ServiceMeshProfile_STATUS(destination *storage.ServiceMeshProfile_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Istio + if profile.Istio != nil { + var istio storage.IstioServiceMesh_STATUS + err := profile.Istio.AssignProperties_To_IstioServiceMesh_STATUS(&istio) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_IstioServiceMesh_STATUS() to populate field Istio") + } + destination.Istio = &istio + } else { + destination.Istio = nil + } + + // Mode + if profile.Mode != nil { + mode := string(*profile.Mode) + destination.Mode = &mode + } else { + destination.Mode = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Details about a user assigned identity. +type UserAssignedIdentity struct { + // ClientId: The client ID of the user assigned identity. + ClientId *string `json:"clientId,omitempty"` + + // ObjectId: The object ID of the user assigned identity. + ObjectId *string `json:"objectId,omitempty"` + + // ResourceReference: The resource ID of the user assigned identity. + ResourceReference *genruntime.ResourceReference `armReference:"ResourceId" json:"resourceReference,omitempty"` +} + +var _ genruntime.ARMTransformer = &UserAssignedIdentity{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (identity *UserAssignedIdentity) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if identity == nil { + return nil, nil + } + result := &arm.UserAssignedIdentity{} + + // Set property "ClientId": + if identity.ClientId != nil { + clientId := *identity.ClientId + result.ClientId = &clientId + } + + // Set property "ObjectId": + if identity.ObjectId != nil { + objectId := *identity.ObjectId + result.ObjectId = &objectId + } + + // Set property "ResourceId": + if identity.ResourceReference != nil { + resourceReferenceARMID, err := resolved.ResolvedReferences.Lookup(*identity.ResourceReference) + if err != nil { + return nil, err + } + resourceReference := resourceReferenceARMID + result.ResourceId = &resourceReference + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (identity *UserAssignedIdentity) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.UserAssignedIdentity{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (identity *UserAssignedIdentity) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.UserAssignedIdentity) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.UserAssignedIdentity, got %T", armInput) + } + + // Set property "ClientId": + if typedInput.ClientId != nil { + clientId := *typedInput.ClientId + identity.ClientId = &clientId + } + + // Set property "ObjectId": + if typedInput.ObjectId != nil { + objectId := *typedInput.ObjectId + identity.ObjectId = &objectId + } + + // no assignment for property "ResourceReference" + + // No error + return nil +} + +// AssignProperties_From_UserAssignedIdentity populates our UserAssignedIdentity from the provided source UserAssignedIdentity +func (identity *UserAssignedIdentity) AssignProperties_From_UserAssignedIdentity(source *storage.UserAssignedIdentity) error { + + // ClientId + identity.ClientId = genruntime.ClonePointerToString(source.ClientId) + + // ObjectId + identity.ObjectId = genruntime.ClonePointerToString(source.ObjectId) + + // ResourceReference + if source.ResourceReference != nil { + resourceReference := source.ResourceReference.Copy() + identity.ResourceReference = &resourceReference + } else { + identity.ResourceReference = nil + } + + // No error + return nil +} + +// AssignProperties_To_UserAssignedIdentity populates the provided destination UserAssignedIdentity from our UserAssignedIdentity +func (identity *UserAssignedIdentity) AssignProperties_To_UserAssignedIdentity(destination *storage.UserAssignedIdentity) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // ClientId + destination.ClientId = genruntime.ClonePointerToString(identity.ClientId) + + // ObjectId + destination.ObjectId = genruntime.ClonePointerToString(identity.ObjectId) + + // ResourceReference + if identity.ResourceReference != nil { + resourceReference := identity.ResourceReference.Copy() + destination.ResourceReference = &resourceReference + } else { + destination.ResourceReference = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_UserAssignedIdentity_STATUS populates our UserAssignedIdentity from the provided source UserAssignedIdentity_STATUS +func (identity *UserAssignedIdentity) Initialize_From_UserAssignedIdentity_STATUS(source *UserAssignedIdentity_STATUS) error { + + // ClientId + identity.ClientId = genruntime.ClonePointerToString(source.ClientId) + + // ObjectId + identity.ObjectId = genruntime.ClonePointerToString(source.ObjectId) + + // ResourceReference + if source.ResourceId != nil { + resourceReference := genruntime.CreateResourceReferenceFromARMID(*source.ResourceId) + identity.ResourceReference = &resourceReference + } else { + identity.ResourceReference = nil + } + + // No error + return nil +} + +// Details about a user assigned identity. +type UserAssignedIdentity_STATUS struct { + // ClientId: The client ID of the user assigned identity. + ClientId *string `json:"clientId,omitempty"` + + // ObjectId: The object ID of the user assigned identity. + ObjectId *string `json:"objectId,omitempty"` + + // ResourceId: The resource ID of the user assigned identity. + ResourceId *string `json:"resourceId,omitempty"` +} + +var _ genruntime.FromARMConverter = &UserAssignedIdentity_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (identity *UserAssignedIdentity_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.UserAssignedIdentity_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (identity *UserAssignedIdentity_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.UserAssignedIdentity_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.UserAssignedIdentity_STATUS, got %T", armInput) + } + + // Set property "ClientId": + if typedInput.ClientId != nil { + clientId := *typedInput.ClientId + identity.ClientId = &clientId + } + + // Set property "ObjectId": + if typedInput.ObjectId != nil { + objectId := *typedInput.ObjectId + identity.ObjectId = &objectId + } + + // Set property "ResourceId": + if typedInput.ResourceId != nil { + resourceId := *typedInput.ResourceId + identity.ResourceId = &resourceId + } + + // No error + return nil +} + +// AssignProperties_From_UserAssignedIdentity_STATUS populates our UserAssignedIdentity_STATUS from the provided source UserAssignedIdentity_STATUS +func (identity *UserAssignedIdentity_STATUS) AssignProperties_From_UserAssignedIdentity_STATUS(source *storage.UserAssignedIdentity_STATUS) error { + + // ClientId + identity.ClientId = genruntime.ClonePointerToString(source.ClientId) + + // ObjectId + identity.ObjectId = genruntime.ClonePointerToString(source.ObjectId) + + // ResourceId + identity.ResourceId = genruntime.ClonePointerToString(source.ResourceId) + + // No error + return nil +} + +// AssignProperties_To_UserAssignedIdentity_STATUS populates the provided destination UserAssignedIdentity_STATUS from our UserAssignedIdentity_STATUS +func (identity *UserAssignedIdentity_STATUS) AssignProperties_To_UserAssignedIdentity_STATUS(destination *storage.UserAssignedIdentity_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // ClientId + destination.ClientId = genruntime.ClonePointerToString(identity.ClientId) + + // ObjectId + destination.ObjectId = genruntime.ClonePointerToString(identity.ObjectId) + + // ResourceId + destination.ResourceId = genruntime.ClonePointerToString(identity.ResourceId) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Advanced Networking profile for enabling observability and security feature suite on a cluster. For more information see +// aka.ms/aksadvancednetworking. +type AdvancedNetworking struct { + // Enabled: Indicates the enablement of Advanced Networking functionalities of observability and security on AKS clusters. + // When this is set to true, all observability and security features will be set to enabled unless explicitly disabled. If + // not specified, the default is false. + Enabled *bool `json:"enabled,omitempty"` + + // Observability: Observability profile to enable advanced network metrics and flow logs with historical contexts. + Observability *AdvancedNetworkingObservability `json:"observability,omitempty"` + + // Security: Security profile to enable security features on cilium based cluster. + Security *AdvancedNetworkingSecurity `json:"security,omitempty"` +} + +var _ genruntime.ARMTransformer = &AdvancedNetworking{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (networking *AdvancedNetworking) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if networking == nil { + return nil, nil + } + result := &arm.AdvancedNetworking{} + + // Set property "Enabled": + if networking.Enabled != nil { + enabled := *networking.Enabled + result.Enabled = &enabled + } + + // Set property "Observability": + if networking.Observability != nil { + observability_ARM, err := (*networking.Observability).ConvertToARM(resolved) + if err != nil { + return nil, err + } + observability := *observability_ARM.(*arm.AdvancedNetworkingObservability) + result.Observability = &observability + } + + // Set property "Security": + if networking.Security != nil { + security_ARM, err := (*networking.Security).ConvertToARM(resolved) + if err != nil { + return nil, err + } + security := *security_ARM.(*arm.AdvancedNetworkingSecurity) + result.Security = &security + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (networking *AdvancedNetworking) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.AdvancedNetworking{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (networking *AdvancedNetworking) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.AdvancedNetworking) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.AdvancedNetworking, got %T", armInput) + } + + // Set property "Enabled": + if typedInput.Enabled != nil { + enabled := *typedInput.Enabled + networking.Enabled = &enabled + } + + // Set property "Observability": + if typedInput.Observability != nil { + var observability1 AdvancedNetworkingObservability + err := observability1.PopulateFromARM(owner, *typedInput.Observability) + if err != nil { + return err + } + observability := observability1 + networking.Observability = &observability + } + + // Set property "Security": + if typedInput.Security != nil { + var security1 AdvancedNetworkingSecurity + err := security1.PopulateFromARM(owner, *typedInput.Security) + if err != nil { + return err + } + security := security1 + networking.Security = &security + } + + // No error + return nil +} + +// AssignProperties_From_AdvancedNetworking populates our AdvancedNetworking from the provided source AdvancedNetworking +func (networking *AdvancedNetworking) AssignProperties_From_AdvancedNetworking(source *storage.AdvancedNetworking) error { + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + networking.Enabled = &enabled + } else { + networking.Enabled = nil + } + + // Observability + if source.Observability != nil { + var observability AdvancedNetworkingObservability + err := observability.AssignProperties_From_AdvancedNetworkingObservability(source.Observability) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_AdvancedNetworkingObservability() to populate field Observability") + } + networking.Observability = &observability + } else { + networking.Observability = nil + } + + // Security + if source.Security != nil { + var security AdvancedNetworkingSecurity + err := security.AssignProperties_From_AdvancedNetworkingSecurity(source.Security) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_AdvancedNetworkingSecurity() to populate field Security") + } + networking.Security = &security + } else { + networking.Security = nil + } + + // No error + return nil +} + +// AssignProperties_To_AdvancedNetworking populates the provided destination AdvancedNetworking from our AdvancedNetworking +func (networking *AdvancedNetworking) AssignProperties_To_AdvancedNetworking(destination *storage.AdvancedNetworking) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Enabled + if networking.Enabled != nil { + enabled := *networking.Enabled + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // Observability + if networking.Observability != nil { + var observability storage.AdvancedNetworkingObservability + err := networking.Observability.AssignProperties_To_AdvancedNetworkingObservability(&observability) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_AdvancedNetworkingObservability() to populate field Observability") + } + destination.Observability = &observability + } else { + destination.Observability = nil + } + + // Security + if networking.Security != nil { + var security storage.AdvancedNetworkingSecurity + err := networking.Security.AssignProperties_To_AdvancedNetworkingSecurity(&security) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_AdvancedNetworkingSecurity() to populate field Security") + } + destination.Security = &security + } else { + destination.Security = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_AdvancedNetworking_STATUS populates our AdvancedNetworking from the provided source AdvancedNetworking_STATUS +func (networking *AdvancedNetworking) Initialize_From_AdvancedNetworking_STATUS(source *AdvancedNetworking_STATUS) error { + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + networking.Enabled = &enabled + } else { + networking.Enabled = nil + } + + // Observability + if source.Observability != nil { + var observability AdvancedNetworkingObservability + err := observability.Initialize_From_AdvancedNetworkingObservability_STATUS(source.Observability) + if err != nil { + return errors.Wrap(err, "calling Initialize_From_AdvancedNetworkingObservability_STATUS() to populate field Observability") + } + networking.Observability = &observability + } else { + networking.Observability = nil + } + + // Security + if source.Security != nil { + var security AdvancedNetworkingSecurity + err := security.Initialize_From_AdvancedNetworkingSecurity_STATUS(source.Security) + if err != nil { + return errors.Wrap(err, "calling Initialize_From_AdvancedNetworkingSecurity_STATUS() to populate field Security") + } + networking.Security = &security + } else { + networking.Security = nil + } + + // No error + return nil +} + +// Advanced Networking profile for enabling observability and security feature suite on a cluster. For more information see +// aka.ms/aksadvancednetworking. +type AdvancedNetworking_STATUS struct { + // Enabled: Indicates the enablement of Advanced Networking functionalities of observability and security on AKS clusters. + // When this is set to true, all observability and security features will be set to enabled unless explicitly disabled. If + // not specified, the default is false. + Enabled *bool `json:"enabled,omitempty"` + + // Observability: Observability profile to enable advanced network metrics and flow logs with historical contexts. + Observability *AdvancedNetworkingObservability_STATUS `json:"observability,omitempty"` + + // Security: Security profile to enable security features on cilium based cluster. + Security *AdvancedNetworkingSecurity_STATUS `json:"security,omitempty"` +} + +var _ genruntime.FromARMConverter = &AdvancedNetworking_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (networking *AdvancedNetworking_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.AdvancedNetworking_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (networking *AdvancedNetworking_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.AdvancedNetworking_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.AdvancedNetworking_STATUS, got %T", armInput) + } + + // Set property "Enabled": + if typedInput.Enabled != nil { + enabled := *typedInput.Enabled + networking.Enabled = &enabled + } + + // Set property "Observability": + if typedInput.Observability != nil { + var observability1 AdvancedNetworkingObservability_STATUS + err := observability1.PopulateFromARM(owner, *typedInput.Observability) + if err != nil { + return err + } + observability := observability1 + networking.Observability = &observability + } + + // Set property "Security": + if typedInput.Security != nil { + var security1 AdvancedNetworkingSecurity_STATUS + err := security1.PopulateFromARM(owner, *typedInput.Security) + if err != nil { + return err + } + security := security1 + networking.Security = &security + } + + // No error + return nil +} + +// AssignProperties_From_AdvancedNetworking_STATUS populates our AdvancedNetworking_STATUS from the provided source AdvancedNetworking_STATUS +func (networking *AdvancedNetworking_STATUS) AssignProperties_From_AdvancedNetworking_STATUS(source *storage.AdvancedNetworking_STATUS) error { + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + networking.Enabled = &enabled + } else { + networking.Enabled = nil + } + + // Observability + if source.Observability != nil { + var observability AdvancedNetworkingObservability_STATUS + err := observability.AssignProperties_From_AdvancedNetworkingObservability_STATUS(source.Observability) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_AdvancedNetworkingObservability_STATUS() to populate field Observability") + } + networking.Observability = &observability + } else { + networking.Observability = nil + } + + // Security + if source.Security != nil { + var security AdvancedNetworkingSecurity_STATUS + err := security.AssignProperties_From_AdvancedNetworkingSecurity_STATUS(source.Security) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_AdvancedNetworkingSecurity_STATUS() to populate field Security") + } + networking.Security = &security + } else { + networking.Security = nil + } + + // No error + return nil +} + +// AssignProperties_To_AdvancedNetworking_STATUS populates the provided destination AdvancedNetworking_STATUS from our AdvancedNetworking_STATUS +func (networking *AdvancedNetworking_STATUS) AssignProperties_To_AdvancedNetworking_STATUS(destination *storage.AdvancedNetworking_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Enabled + if networking.Enabled != nil { + enabled := *networking.Enabled + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // Observability + if networking.Observability != nil { + var observability storage.AdvancedNetworkingObservability_STATUS + err := networking.Observability.AssignProperties_To_AdvancedNetworkingObservability_STATUS(&observability) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_AdvancedNetworkingObservability_STATUS() to populate field Observability") + } + destination.Observability = &observability + } else { + destination.Observability = nil + } + + // Security + if networking.Security != nil { + var security storage.AdvancedNetworkingSecurity_STATUS + err := networking.Security.AssignProperties_To_AdvancedNetworkingSecurity_STATUS(&security) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_AdvancedNetworkingSecurity_STATUS() to populate field Security") + } + destination.Security = &security + } else { + destination.Security = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Azure Key Vault key management service settings for the security profile. +type AzureKeyVaultKms struct { + // Enabled: Whether to enable Azure Key Vault key management service. The default is false. + Enabled *bool `json:"enabled,omitempty"` + + // KeyId: Identifier of Azure Key Vault key. See [key identifier + // format](https://docs.microsoft.com/en-us/azure/key-vault/general/about-keys-secrets-certificates#vault-name-and-object-name) + // for more details. When Azure Key Vault key management service is enabled, this field is required and must be a valid key + // identifier. When Azure Key Vault key management service is disabled, leave the field empty. + KeyId *string `json:"keyId,omitempty"` + + // KeyVaultNetworkAccess: Network access of key vault. The possible values are `Public` and `Private`. `Public` means the + // key vault allows public access from all networks. `Private` means the key vault disables public access and enables + // private link. The default value is `Public`. + KeyVaultNetworkAccess *AzureKeyVaultKms_KeyVaultNetworkAccess `json:"keyVaultNetworkAccess,omitempty"` + + // KeyVaultResourceReference: Resource ID of key vault. When keyVaultNetworkAccess is `Private`, this field is required and + // must be a valid resource ID. When keyVaultNetworkAccess is `Public`, leave the field empty. + KeyVaultResourceReference *genruntime.ResourceReference `armReference:"KeyVaultResourceId" json:"keyVaultResourceReference,omitempty"` +} + +var _ genruntime.ARMTransformer = &AzureKeyVaultKms{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (vaultKms *AzureKeyVaultKms) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if vaultKms == nil { + return nil, nil + } + result := &arm.AzureKeyVaultKms{} + + // Set property "Enabled": + if vaultKms.Enabled != nil { + enabled := *vaultKms.Enabled + result.Enabled = &enabled + } + + // Set property "KeyId": + if vaultKms.KeyId != nil { + keyId := *vaultKms.KeyId + result.KeyId = &keyId + } + + // Set property "KeyVaultNetworkAccess": + if vaultKms.KeyVaultNetworkAccess != nil { + var temp string + temp = string(*vaultKms.KeyVaultNetworkAccess) + keyVaultNetworkAccess := arm.AzureKeyVaultKms_KeyVaultNetworkAccess(temp) + result.KeyVaultNetworkAccess = &keyVaultNetworkAccess + } + + // Set property "KeyVaultResourceId": + if vaultKms.KeyVaultResourceReference != nil { + keyVaultResourceReferenceARMID, err := resolved.ResolvedReferences.Lookup(*vaultKms.KeyVaultResourceReference) + if err != nil { + return nil, err + } + keyVaultResourceReference := keyVaultResourceReferenceARMID + result.KeyVaultResourceId = &keyVaultResourceReference + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (vaultKms *AzureKeyVaultKms) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.AzureKeyVaultKms{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (vaultKms *AzureKeyVaultKms) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.AzureKeyVaultKms) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.AzureKeyVaultKms, got %T", armInput) + } + + // Set property "Enabled": + if typedInput.Enabled != nil { + enabled := *typedInput.Enabled + vaultKms.Enabled = &enabled + } + + // Set property "KeyId": + if typedInput.KeyId != nil { + keyId := *typedInput.KeyId + vaultKms.KeyId = &keyId + } + + // Set property "KeyVaultNetworkAccess": + if typedInput.KeyVaultNetworkAccess != nil { + var temp string + temp = string(*typedInput.KeyVaultNetworkAccess) + keyVaultNetworkAccess := AzureKeyVaultKms_KeyVaultNetworkAccess(temp) + vaultKms.KeyVaultNetworkAccess = &keyVaultNetworkAccess + } + + // no assignment for property "KeyVaultResourceReference" + + // No error + return nil +} + +// AssignProperties_From_AzureKeyVaultKms populates our AzureKeyVaultKms from the provided source AzureKeyVaultKms +func (vaultKms *AzureKeyVaultKms) AssignProperties_From_AzureKeyVaultKms(source *storage.AzureKeyVaultKms) error { + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + vaultKms.Enabled = &enabled + } else { + vaultKms.Enabled = nil + } + + // KeyId + vaultKms.KeyId = genruntime.ClonePointerToString(source.KeyId) + + // KeyVaultNetworkAccess + if source.KeyVaultNetworkAccess != nil { + keyVaultNetworkAccess := *source.KeyVaultNetworkAccess + keyVaultNetworkAccessTemp := genruntime.ToEnum(keyVaultNetworkAccess, azureKeyVaultKms_KeyVaultNetworkAccess_Values) + vaultKms.KeyVaultNetworkAccess = &keyVaultNetworkAccessTemp + } else { + vaultKms.KeyVaultNetworkAccess = nil + } + + // KeyVaultResourceReference + if source.KeyVaultResourceReference != nil { + keyVaultResourceReference := source.KeyVaultResourceReference.Copy() + vaultKms.KeyVaultResourceReference = &keyVaultResourceReference + } else { + vaultKms.KeyVaultResourceReference = nil + } + + // No error + return nil +} + +// AssignProperties_To_AzureKeyVaultKms populates the provided destination AzureKeyVaultKms from our AzureKeyVaultKms +func (vaultKms *AzureKeyVaultKms) AssignProperties_To_AzureKeyVaultKms(destination *storage.AzureKeyVaultKms) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Enabled + if vaultKms.Enabled != nil { + enabled := *vaultKms.Enabled + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // KeyId + destination.KeyId = genruntime.ClonePointerToString(vaultKms.KeyId) + + // KeyVaultNetworkAccess + if vaultKms.KeyVaultNetworkAccess != nil { + keyVaultNetworkAccess := string(*vaultKms.KeyVaultNetworkAccess) + destination.KeyVaultNetworkAccess = &keyVaultNetworkAccess + } else { + destination.KeyVaultNetworkAccess = nil + } + + // KeyVaultResourceReference + if vaultKms.KeyVaultResourceReference != nil { + keyVaultResourceReference := vaultKms.KeyVaultResourceReference.Copy() + destination.KeyVaultResourceReference = &keyVaultResourceReference + } else { + destination.KeyVaultResourceReference = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_AzureKeyVaultKms_STATUS populates our AzureKeyVaultKms from the provided source AzureKeyVaultKms_STATUS +func (vaultKms *AzureKeyVaultKms) Initialize_From_AzureKeyVaultKms_STATUS(source *AzureKeyVaultKms_STATUS) error { + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + vaultKms.Enabled = &enabled + } else { + vaultKms.Enabled = nil + } + + // KeyId + vaultKms.KeyId = genruntime.ClonePointerToString(source.KeyId) + + // KeyVaultNetworkAccess + if source.KeyVaultNetworkAccess != nil { + keyVaultNetworkAccess := genruntime.ToEnum(string(*source.KeyVaultNetworkAccess), azureKeyVaultKms_KeyVaultNetworkAccess_Values) + vaultKms.KeyVaultNetworkAccess = &keyVaultNetworkAccess + } else { + vaultKms.KeyVaultNetworkAccess = nil + } + + // KeyVaultResourceReference + if source.KeyVaultResourceId != nil { + keyVaultResourceReference := genruntime.CreateResourceReferenceFromARMID(*source.KeyVaultResourceId) + vaultKms.KeyVaultResourceReference = &keyVaultResourceReference + } else { + vaultKms.KeyVaultResourceReference = nil + } + + // No error + return nil +} + +// Azure Key Vault key management service settings for the security profile. +type AzureKeyVaultKms_STATUS struct { + // Enabled: Whether to enable Azure Key Vault key management service. The default is false. + Enabled *bool `json:"enabled,omitempty"` + + // KeyId: Identifier of Azure Key Vault key. See [key identifier + // format](https://docs.microsoft.com/en-us/azure/key-vault/general/about-keys-secrets-certificates#vault-name-and-object-name) + // for more details. When Azure Key Vault key management service is enabled, this field is required and must be a valid key + // identifier. When Azure Key Vault key management service is disabled, leave the field empty. + KeyId *string `json:"keyId,omitempty"` + + // KeyVaultNetworkAccess: Network access of key vault. The possible values are `Public` and `Private`. `Public` means the + // key vault allows public access from all networks. `Private` means the key vault disables public access and enables + // private link. The default value is `Public`. + KeyVaultNetworkAccess *AzureKeyVaultKms_KeyVaultNetworkAccess_STATUS `json:"keyVaultNetworkAccess,omitempty"` + + // KeyVaultResourceId: Resource ID of key vault. When keyVaultNetworkAccess is `Private`, this field is required and must + // be a valid resource ID. When keyVaultNetworkAccess is `Public`, leave the field empty. + KeyVaultResourceId *string `json:"keyVaultResourceId,omitempty"` +} + +var _ genruntime.FromARMConverter = &AzureKeyVaultKms_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (vaultKms *AzureKeyVaultKms_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.AzureKeyVaultKms_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (vaultKms *AzureKeyVaultKms_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.AzureKeyVaultKms_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.AzureKeyVaultKms_STATUS, got %T", armInput) + } + + // Set property "Enabled": + if typedInput.Enabled != nil { + enabled := *typedInput.Enabled + vaultKms.Enabled = &enabled + } + + // Set property "KeyId": + if typedInput.KeyId != nil { + keyId := *typedInput.KeyId + vaultKms.KeyId = &keyId + } + + // Set property "KeyVaultNetworkAccess": + if typedInput.KeyVaultNetworkAccess != nil { + var temp string + temp = string(*typedInput.KeyVaultNetworkAccess) + keyVaultNetworkAccess := AzureKeyVaultKms_KeyVaultNetworkAccess_STATUS(temp) + vaultKms.KeyVaultNetworkAccess = &keyVaultNetworkAccess + } + + // Set property "KeyVaultResourceId": + if typedInput.KeyVaultResourceId != nil { + keyVaultResourceId := *typedInput.KeyVaultResourceId + vaultKms.KeyVaultResourceId = &keyVaultResourceId + } + + // No error + return nil +} + +// AssignProperties_From_AzureKeyVaultKms_STATUS populates our AzureKeyVaultKms_STATUS from the provided source AzureKeyVaultKms_STATUS +func (vaultKms *AzureKeyVaultKms_STATUS) AssignProperties_From_AzureKeyVaultKms_STATUS(source *storage.AzureKeyVaultKms_STATUS) error { + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + vaultKms.Enabled = &enabled + } else { + vaultKms.Enabled = nil + } + + // KeyId + vaultKms.KeyId = genruntime.ClonePointerToString(source.KeyId) + + // KeyVaultNetworkAccess + if source.KeyVaultNetworkAccess != nil { + keyVaultNetworkAccess := *source.KeyVaultNetworkAccess + keyVaultNetworkAccessTemp := genruntime.ToEnum(keyVaultNetworkAccess, azureKeyVaultKms_KeyVaultNetworkAccess_STATUS_Values) + vaultKms.KeyVaultNetworkAccess = &keyVaultNetworkAccessTemp + } else { + vaultKms.KeyVaultNetworkAccess = nil + } + + // KeyVaultResourceId + vaultKms.KeyVaultResourceId = genruntime.ClonePointerToString(source.KeyVaultResourceId) + + // No error + return nil +} + +// AssignProperties_To_AzureKeyVaultKms_STATUS populates the provided destination AzureKeyVaultKms_STATUS from our AzureKeyVaultKms_STATUS +func (vaultKms *AzureKeyVaultKms_STATUS) AssignProperties_To_AzureKeyVaultKms_STATUS(destination *storage.AzureKeyVaultKms_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Enabled + if vaultKms.Enabled != nil { + enabled := *vaultKms.Enabled + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // KeyId + destination.KeyId = genruntime.ClonePointerToString(vaultKms.KeyId) + + // KeyVaultNetworkAccess + if vaultKms.KeyVaultNetworkAccess != nil { + keyVaultNetworkAccess := string(*vaultKms.KeyVaultNetworkAccess) + destination.KeyVaultNetworkAccess = &keyVaultNetworkAccess + } else { + destination.KeyVaultNetworkAccess = nil + } + + // KeyVaultResourceId + destination.KeyVaultResourceId = genruntime.ClonePointerToString(vaultKms.KeyVaultResourceId) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// +kubebuilder:validation:Enum={"IPv4","IPv6"} +type ContainerServiceNetworkProfile_IpFamilies string + +const ( + ContainerServiceNetworkProfile_IpFamilies_IPv4 = ContainerServiceNetworkProfile_IpFamilies("IPv4") + ContainerServiceNetworkProfile_IpFamilies_IPv6 = ContainerServiceNetworkProfile_IpFamilies("IPv6") +) + +// Mapping from string to ContainerServiceNetworkProfile_IpFamilies +var containerServiceNetworkProfile_IpFamilies_Values = map[string]ContainerServiceNetworkProfile_IpFamilies{ + "ipv4": ContainerServiceNetworkProfile_IpFamilies_IPv4, + "ipv6": ContainerServiceNetworkProfile_IpFamilies_IPv6, +} + +type ContainerServiceNetworkProfile_IpFamilies_STATUS string + +const ( + ContainerServiceNetworkProfile_IpFamilies_STATUS_IPv4 = ContainerServiceNetworkProfile_IpFamilies_STATUS("IPv4") + ContainerServiceNetworkProfile_IpFamilies_STATUS_IPv6 = ContainerServiceNetworkProfile_IpFamilies_STATUS("IPv6") +) + +// Mapping from string to ContainerServiceNetworkProfile_IpFamilies_STATUS +var containerServiceNetworkProfile_IpFamilies_STATUS_Values = map[string]ContainerServiceNetworkProfile_IpFamilies_STATUS{ + "ipv4": ContainerServiceNetworkProfile_IpFamilies_STATUS_IPv4, + "ipv6": ContainerServiceNetworkProfile_IpFamilies_STATUS_IPv6, +} + +// +kubebuilder:validation:Enum={"basic","standard"} +type ContainerServiceNetworkProfile_LoadBalancerSku string + +const ( + ContainerServiceNetworkProfile_LoadBalancerSku_Basic = ContainerServiceNetworkProfile_LoadBalancerSku("basic") + ContainerServiceNetworkProfile_LoadBalancerSku_Standard = ContainerServiceNetworkProfile_LoadBalancerSku("standard") +) + +// Mapping from string to ContainerServiceNetworkProfile_LoadBalancerSku +var containerServiceNetworkProfile_LoadBalancerSku_Values = map[string]ContainerServiceNetworkProfile_LoadBalancerSku{ + "basic": ContainerServiceNetworkProfile_LoadBalancerSku_Basic, + "standard": ContainerServiceNetworkProfile_LoadBalancerSku_Standard, +} + +type ContainerServiceNetworkProfile_LoadBalancerSku_STATUS string + +const ( + ContainerServiceNetworkProfile_LoadBalancerSku_STATUS_Basic = ContainerServiceNetworkProfile_LoadBalancerSku_STATUS("basic") + ContainerServiceNetworkProfile_LoadBalancerSku_STATUS_Standard = ContainerServiceNetworkProfile_LoadBalancerSku_STATUS("standard") +) + +// Mapping from string to ContainerServiceNetworkProfile_LoadBalancerSku_STATUS +var containerServiceNetworkProfile_LoadBalancerSku_STATUS_Values = map[string]ContainerServiceNetworkProfile_LoadBalancerSku_STATUS{ + "basic": ContainerServiceNetworkProfile_LoadBalancerSku_STATUS_Basic, + "standard": ContainerServiceNetworkProfile_LoadBalancerSku_STATUS_Standard, +} + +// +kubebuilder:validation:Enum={"azure","cilium"} +type ContainerServiceNetworkProfile_NetworkDataplane string + +const ( + ContainerServiceNetworkProfile_NetworkDataplane_Azure = ContainerServiceNetworkProfile_NetworkDataplane("azure") + ContainerServiceNetworkProfile_NetworkDataplane_Cilium = ContainerServiceNetworkProfile_NetworkDataplane("cilium") +) + +// Mapping from string to ContainerServiceNetworkProfile_NetworkDataplane +var containerServiceNetworkProfile_NetworkDataplane_Values = map[string]ContainerServiceNetworkProfile_NetworkDataplane{ + "azure": ContainerServiceNetworkProfile_NetworkDataplane_Azure, + "cilium": ContainerServiceNetworkProfile_NetworkDataplane_Cilium, +} + +type ContainerServiceNetworkProfile_NetworkDataplane_STATUS string + +const ( + ContainerServiceNetworkProfile_NetworkDataplane_STATUS_Azure = ContainerServiceNetworkProfile_NetworkDataplane_STATUS("azure") + ContainerServiceNetworkProfile_NetworkDataplane_STATUS_Cilium = ContainerServiceNetworkProfile_NetworkDataplane_STATUS("cilium") +) + +// Mapping from string to ContainerServiceNetworkProfile_NetworkDataplane_STATUS +var containerServiceNetworkProfile_NetworkDataplane_STATUS_Values = map[string]ContainerServiceNetworkProfile_NetworkDataplane_STATUS{ + "azure": ContainerServiceNetworkProfile_NetworkDataplane_STATUS_Azure, + "cilium": ContainerServiceNetworkProfile_NetworkDataplane_STATUS_Cilium, +} + +// +kubebuilder:validation:Enum={"bridge","transparent"} +type ContainerServiceNetworkProfile_NetworkMode string + +const ( + ContainerServiceNetworkProfile_NetworkMode_Bridge = ContainerServiceNetworkProfile_NetworkMode("bridge") + ContainerServiceNetworkProfile_NetworkMode_Transparent = ContainerServiceNetworkProfile_NetworkMode("transparent") +) + +// Mapping from string to ContainerServiceNetworkProfile_NetworkMode +var containerServiceNetworkProfile_NetworkMode_Values = map[string]ContainerServiceNetworkProfile_NetworkMode{ + "bridge": ContainerServiceNetworkProfile_NetworkMode_Bridge, + "transparent": ContainerServiceNetworkProfile_NetworkMode_Transparent, +} + +type ContainerServiceNetworkProfile_NetworkMode_STATUS string + +const ( + ContainerServiceNetworkProfile_NetworkMode_STATUS_Bridge = ContainerServiceNetworkProfile_NetworkMode_STATUS("bridge") + ContainerServiceNetworkProfile_NetworkMode_STATUS_Transparent = ContainerServiceNetworkProfile_NetworkMode_STATUS("transparent") +) + +// Mapping from string to ContainerServiceNetworkProfile_NetworkMode_STATUS +var containerServiceNetworkProfile_NetworkMode_STATUS_Values = map[string]ContainerServiceNetworkProfile_NetworkMode_STATUS{ + "bridge": ContainerServiceNetworkProfile_NetworkMode_STATUS_Bridge, + "transparent": ContainerServiceNetworkProfile_NetworkMode_STATUS_Transparent, +} + +// +kubebuilder:validation:Enum={"azure","kubenet","none"} +type ContainerServiceNetworkProfile_NetworkPlugin string + +const ( + ContainerServiceNetworkProfile_NetworkPlugin_Azure = ContainerServiceNetworkProfile_NetworkPlugin("azure") + ContainerServiceNetworkProfile_NetworkPlugin_Kubenet = ContainerServiceNetworkProfile_NetworkPlugin("kubenet") + ContainerServiceNetworkProfile_NetworkPlugin_None = ContainerServiceNetworkProfile_NetworkPlugin("none") +) + +// Mapping from string to ContainerServiceNetworkProfile_NetworkPlugin +var containerServiceNetworkProfile_NetworkPlugin_Values = map[string]ContainerServiceNetworkProfile_NetworkPlugin{ + "azure": ContainerServiceNetworkProfile_NetworkPlugin_Azure, + "kubenet": ContainerServiceNetworkProfile_NetworkPlugin_Kubenet, + "none": ContainerServiceNetworkProfile_NetworkPlugin_None, +} + +type ContainerServiceNetworkProfile_NetworkPlugin_STATUS string + +const ( + ContainerServiceNetworkProfile_NetworkPlugin_STATUS_Azure = ContainerServiceNetworkProfile_NetworkPlugin_STATUS("azure") + ContainerServiceNetworkProfile_NetworkPlugin_STATUS_Kubenet = ContainerServiceNetworkProfile_NetworkPlugin_STATUS("kubenet") + ContainerServiceNetworkProfile_NetworkPlugin_STATUS_None = ContainerServiceNetworkProfile_NetworkPlugin_STATUS("none") +) + +// Mapping from string to ContainerServiceNetworkProfile_NetworkPlugin_STATUS +var containerServiceNetworkProfile_NetworkPlugin_STATUS_Values = map[string]ContainerServiceNetworkProfile_NetworkPlugin_STATUS{ + "azure": ContainerServiceNetworkProfile_NetworkPlugin_STATUS_Azure, + "kubenet": ContainerServiceNetworkProfile_NetworkPlugin_STATUS_Kubenet, + "none": ContainerServiceNetworkProfile_NetworkPlugin_STATUS_None, +} + +// +kubebuilder:validation:Enum={"overlay"} +type ContainerServiceNetworkProfile_NetworkPluginMode string + +const ContainerServiceNetworkProfile_NetworkPluginMode_Overlay = ContainerServiceNetworkProfile_NetworkPluginMode("overlay") + +// Mapping from string to ContainerServiceNetworkProfile_NetworkPluginMode +var containerServiceNetworkProfile_NetworkPluginMode_Values = map[string]ContainerServiceNetworkProfile_NetworkPluginMode{ + "overlay": ContainerServiceNetworkProfile_NetworkPluginMode_Overlay, +} + +type ContainerServiceNetworkProfile_NetworkPluginMode_STATUS string + +const ContainerServiceNetworkProfile_NetworkPluginMode_STATUS_Overlay = ContainerServiceNetworkProfile_NetworkPluginMode_STATUS("overlay") + +// Mapping from string to ContainerServiceNetworkProfile_NetworkPluginMode_STATUS +var containerServiceNetworkProfile_NetworkPluginMode_STATUS_Values = map[string]ContainerServiceNetworkProfile_NetworkPluginMode_STATUS{ + "overlay": ContainerServiceNetworkProfile_NetworkPluginMode_STATUS_Overlay, +} + +// +kubebuilder:validation:Enum={"azure","calico","cilium","none"} +type ContainerServiceNetworkProfile_NetworkPolicy string + +const ( + ContainerServiceNetworkProfile_NetworkPolicy_Azure = ContainerServiceNetworkProfile_NetworkPolicy("azure") + ContainerServiceNetworkProfile_NetworkPolicy_Calico = ContainerServiceNetworkProfile_NetworkPolicy("calico") + ContainerServiceNetworkProfile_NetworkPolicy_Cilium = ContainerServiceNetworkProfile_NetworkPolicy("cilium") + ContainerServiceNetworkProfile_NetworkPolicy_None = ContainerServiceNetworkProfile_NetworkPolicy("none") +) + +// Mapping from string to ContainerServiceNetworkProfile_NetworkPolicy +var containerServiceNetworkProfile_NetworkPolicy_Values = map[string]ContainerServiceNetworkProfile_NetworkPolicy{ + "azure": ContainerServiceNetworkProfile_NetworkPolicy_Azure, + "calico": ContainerServiceNetworkProfile_NetworkPolicy_Calico, + "cilium": ContainerServiceNetworkProfile_NetworkPolicy_Cilium, + "none": ContainerServiceNetworkProfile_NetworkPolicy_None, +} + +type ContainerServiceNetworkProfile_NetworkPolicy_STATUS string + +const ( + ContainerServiceNetworkProfile_NetworkPolicy_STATUS_Azure = ContainerServiceNetworkProfile_NetworkPolicy_STATUS("azure") + ContainerServiceNetworkProfile_NetworkPolicy_STATUS_Calico = ContainerServiceNetworkProfile_NetworkPolicy_STATUS("calico") + ContainerServiceNetworkProfile_NetworkPolicy_STATUS_Cilium = ContainerServiceNetworkProfile_NetworkPolicy_STATUS("cilium") + ContainerServiceNetworkProfile_NetworkPolicy_STATUS_None = ContainerServiceNetworkProfile_NetworkPolicy_STATUS("none") +) + +// Mapping from string to ContainerServiceNetworkProfile_NetworkPolicy_STATUS +var containerServiceNetworkProfile_NetworkPolicy_STATUS_Values = map[string]ContainerServiceNetworkProfile_NetworkPolicy_STATUS{ + "azure": ContainerServiceNetworkProfile_NetworkPolicy_STATUS_Azure, + "calico": ContainerServiceNetworkProfile_NetworkPolicy_STATUS_Calico, + "cilium": ContainerServiceNetworkProfile_NetworkPolicy_STATUS_Cilium, + "none": ContainerServiceNetworkProfile_NetworkPolicy_STATUS_None, +} + +// +kubebuilder:validation:Enum={"loadBalancer","managedNATGateway","userAssignedNATGateway","userDefinedRouting"} +type ContainerServiceNetworkProfile_OutboundType string + +const ( + ContainerServiceNetworkProfile_OutboundType_LoadBalancer = ContainerServiceNetworkProfile_OutboundType("loadBalancer") + ContainerServiceNetworkProfile_OutboundType_ManagedNATGateway = ContainerServiceNetworkProfile_OutboundType("managedNATGateway") + ContainerServiceNetworkProfile_OutboundType_UserAssignedNATGateway = ContainerServiceNetworkProfile_OutboundType("userAssignedNATGateway") + ContainerServiceNetworkProfile_OutboundType_UserDefinedRouting = ContainerServiceNetworkProfile_OutboundType("userDefinedRouting") +) + +// Mapping from string to ContainerServiceNetworkProfile_OutboundType +var containerServiceNetworkProfile_OutboundType_Values = map[string]ContainerServiceNetworkProfile_OutboundType{ + "loadbalancer": ContainerServiceNetworkProfile_OutboundType_LoadBalancer, + "managednatgateway": ContainerServiceNetworkProfile_OutboundType_ManagedNATGateway, + "userassignednatgateway": ContainerServiceNetworkProfile_OutboundType_UserAssignedNATGateway, + "userdefinedrouting": ContainerServiceNetworkProfile_OutboundType_UserDefinedRouting, +} + +type ContainerServiceNetworkProfile_OutboundType_STATUS string + +const ( + ContainerServiceNetworkProfile_OutboundType_STATUS_LoadBalancer = ContainerServiceNetworkProfile_OutboundType_STATUS("loadBalancer") + ContainerServiceNetworkProfile_OutboundType_STATUS_ManagedNATGateway = ContainerServiceNetworkProfile_OutboundType_STATUS("managedNATGateway") + ContainerServiceNetworkProfile_OutboundType_STATUS_UserAssignedNATGateway = ContainerServiceNetworkProfile_OutboundType_STATUS("userAssignedNATGateway") + ContainerServiceNetworkProfile_OutboundType_STATUS_UserDefinedRouting = ContainerServiceNetworkProfile_OutboundType_STATUS("userDefinedRouting") +) + +// Mapping from string to ContainerServiceNetworkProfile_OutboundType_STATUS +var containerServiceNetworkProfile_OutboundType_STATUS_Values = map[string]ContainerServiceNetworkProfile_OutboundType_STATUS{ + "loadbalancer": ContainerServiceNetworkProfile_OutboundType_STATUS_LoadBalancer, + "managednatgateway": ContainerServiceNetworkProfile_OutboundType_STATUS_ManagedNATGateway, + "userassignednatgateway": ContainerServiceNetworkProfile_OutboundType_STATUS_UserAssignedNATGateway, + "userdefinedrouting": ContainerServiceNetworkProfile_OutboundType_STATUS_UserDefinedRouting, +} + +// SSH configuration for Linux-based VMs running on Azure. +type ContainerServiceSshConfiguration struct { + // +kubebuilder:validation:Required + // PublicKeys: The list of SSH public keys used to authenticate with Linux-based VMs. A maximum of 1 key may be specified. + PublicKeys []ContainerServiceSshPublicKey `json:"publicKeys,omitempty"` +} + +var _ genruntime.ARMTransformer = &ContainerServiceSshConfiguration{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (configuration *ContainerServiceSshConfiguration) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if configuration == nil { + return nil, nil + } + result := &arm.ContainerServiceSshConfiguration{} + + // Set property "PublicKeys": + for _, item := range configuration.PublicKeys { + item_ARM, err := item.ConvertToARM(resolved) + if err != nil { + return nil, err + } + result.PublicKeys = append(result.PublicKeys, *item_ARM.(*arm.ContainerServiceSshPublicKey)) + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (configuration *ContainerServiceSshConfiguration) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ContainerServiceSshConfiguration{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (configuration *ContainerServiceSshConfiguration) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ContainerServiceSshConfiguration) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ContainerServiceSshConfiguration, got %T", armInput) + } + + // Set property "PublicKeys": + for _, item := range typedInput.PublicKeys { + var item1 ContainerServiceSshPublicKey + err := item1.PopulateFromARM(owner, item) + if err != nil { + return err + } + configuration.PublicKeys = append(configuration.PublicKeys, item1) + } + + // No error + return nil +} + +// AssignProperties_From_ContainerServiceSshConfiguration populates our ContainerServiceSshConfiguration from the provided source ContainerServiceSshConfiguration +func (configuration *ContainerServiceSshConfiguration) AssignProperties_From_ContainerServiceSshConfiguration(source *storage.ContainerServiceSshConfiguration) error { + + // PublicKeys + if source.PublicKeys != nil { + publicKeyList := make([]ContainerServiceSshPublicKey, len(source.PublicKeys)) + for publicKeyIndex, publicKeyItem := range source.PublicKeys { + // Shadow the loop variable to avoid aliasing + publicKeyItem := publicKeyItem + var publicKey ContainerServiceSshPublicKey + err := publicKey.AssignProperties_From_ContainerServiceSshPublicKey(&publicKeyItem) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ContainerServiceSshPublicKey() to populate field PublicKeys") + } + publicKeyList[publicKeyIndex] = publicKey + } + configuration.PublicKeys = publicKeyList + } else { + configuration.PublicKeys = nil + } + + // No error + return nil +} + +// AssignProperties_To_ContainerServiceSshConfiguration populates the provided destination ContainerServiceSshConfiguration from our ContainerServiceSshConfiguration +func (configuration *ContainerServiceSshConfiguration) AssignProperties_To_ContainerServiceSshConfiguration(destination *storage.ContainerServiceSshConfiguration) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // PublicKeys + if configuration.PublicKeys != nil { + publicKeyList := make([]storage.ContainerServiceSshPublicKey, len(configuration.PublicKeys)) + for publicKeyIndex, publicKeyItem := range configuration.PublicKeys { + // Shadow the loop variable to avoid aliasing + publicKeyItem := publicKeyItem + var publicKey storage.ContainerServiceSshPublicKey + err := publicKeyItem.AssignProperties_To_ContainerServiceSshPublicKey(&publicKey) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ContainerServiceSshPublicKey() to populate field PublicKeys") + } + publicKeyList[publicKeyIndex] = publicKey + } + destination.PublicKeys = publicKeyList + } else { + destination.PublicKeys = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_ContainerServiceSshConfiguration_STATUS populates our ContainerServiceSshConfiguration from the provided source ContainerServiceSshConfiguration_STATUS +func (configuration *ContainerServiceSshConfiguration) Initialize_From_ContainerServiceSshConfiguration_STATUS(source *ContainerServiceSshConfiguration_STATUS) error { + + // PublicKeys + if source.PublicKeys != nil { + publicKeyList := make([]ContainerServiceSshPublicKey, len(source.PublicKeys)) + for publicKeyIndex, publicKeyItem := range source.PublicKeys { + // Shadow the loop variable to avoid aliasing + publicKeyItem := publicKeyItem + var publicKey ContainerServiceSshPublicKey + err := publicKey.Initialize_From_ContainerServiceSshPublicKey_STATUS(&publicKeyItem) + if err != nil { + return errors.Wrap(err, "calling Initialize_From_ContainerServiceSshPublicKey_STATUS() to populate field PublicKeys") + } + publicKeyList[publicKeyIndex] = publicKey + } + configuration.PublicKeys = publicKeyList + } else { + configuration.PublicKeys = nil + } + + // No error + return nil +} + +// SSH configuration for Linux-based VMs running on Azure. +type ContainerServiceSshConfiguration_STATUS struct { + // PublicKeys: The list of SSH public keys used to authenticate with Linux-based VMs. A maximum of 1 key may be specified. + PublicKeys []ContainerServiceSshPublicKey_STATUS `json:"publicKeys,omitempty"` +} + +var _ genruntime.FromARMConverter = &ContainerServiceSshConfiguration_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (configuration *ContainerServiceSshConfiguration_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ContainerServiceSshConfiguration_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (configuration *ContainerServiceSshConfiguration_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ContainerServiceSshConfiguration_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ContainerServiceSshConfiguration_STATUS, got %T", armInput) + } + + // Set property "PublicKeys": + for _, item := range typedInput.PublicKeys { + var item1 ContainerServiceSshPublicKey_STATUS + err := item1.PopulateFromARM(owner, item) + if err != nil { + return err + } + configuration.PublicKeys = append(configuration.PublicKeys, item1) + } + + // No error + return nil +} + +// AssignProperties_From_ContainerServiceSshConfiguration_STATUS populates our ContainerServiceSshConfiguration_STATUS from the provided source ContainerServiceSshConfiguration_STATUS +func (configuration *ContainerServiceSshConfiguration_STATUS) AssignProperties_From_ContainerServiceSshConfiguration_STATUS(source *storage.ContainerServiceSshConfiguration_STATUS) error { + + // PublicKeys + if source.PublicKeys != nil { + publicKeyList := make([]ContainerServiceSshPublicKey_STATUS, len(source.PublicKeys)) + for publicKeyIndex, publicKeyItem := range source.PublicKeys { + // Shadow the loop variable to avoid aliasing + publicKeyItem := publicKeyItem + var publicKey ContainerServiceSshPublicKey_STATUS + err := publicKey.AssignProperties_From_ContainerServiceSshPublicKey_STATUS(&publicKeyItem) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ContainerServiceSshPublicKey_STATUS() to populate field PublicKeys") + } + publicKeyList[publicKeyIndex] = publicKey + } + configuration.PublicKeys = publicKeyList + } else { + configuration.PublicKeys = nil + } + + // No error + return nil +} + +// AssignProperties_To_ContainerServiceSshConfiguration_STATUS populates the provided destination ContainerServiceSshConfiguration_STATUS from our ContainerServiceSshConfiguration_STATUS +func (configuration *ContainerServiceSshConfiguration_STATUS) AssignProperties_To_ContainerServiceSshConfiguration_STATUS(destination *storage.ContainerServiceSshConfiguration_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // PublicKeys + if configuration.PublicKeys != nil { + publicKeyList := make([]storage.ContainerServiceSshPublicKey_STATUS, len(configuration.PublicKeys)) + for publicKeyIndex, publicKeyItem := range configuration.PublicKeys { + // Shadow the loop variable to avoid aliasing + publicKeyItem := publicKeyItem + var publicKey storage.ContainerServiceSshPublicKey_STATUS + err := publicKeyItem.AssignProperties_To_ContainerServiceSshPublicKey_STATUS(&publicKey) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ContainerServiceSshPublicKey_STATUS() to populate field PublicKeys") + } + publicKeyList[publicKeyIndex] = publicKey + } + destination.PublicKeys = publicKeyList + } else { + destination.PublicKeys = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Delegated resource properties - internal use only. +type DelegatedResource struct { + // Location: The source resource location - internal use only. + Location *string `json:"location,omitempty"` + + // ReferralResource: The delegation id of the referral delegation (optional) - internal use only. + ReferralResource *string `json:"referralResource,omitempty"` + + // ResourceReference: The ARM resource id of the delegated resource - internal use only. + ResourceReference *genruntime.ResourceReference `armReference:"ResourceId" json:"resourceReference,omitempty"` + + // +kubebuilder:validation:Pattern="^[0-9a-fA-F]{8}(-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$" + // TenantId: The tenant id of the delegated resource - internal use only. + TenantId *string `json:"tenantId,omitempty"` +} + +var _ genruntime.ARMTransformer = &DelegatedResource{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (resource *DelegatedResource) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if resource == nil { + return nil, nil + } + result := &arm.DelegatedResource{} + + // Set property "Location": + if resource.Location != nil { + location := *resource.Location + result.Location = &location + } + + // Set property "ReferralResource": + if resource.ReferralResource != nil { + referralResource := *resource.ReferralResource + result.ReferralResource = &referralResource + } + + // Set property "ResourceId": + if resource.ResourceReference != nil { + resourceReferenceARMID, err := resolved.ResolvedReferences.Lookup(*resource.ResourceReference) + if err != nil { + return nil, err + } + resourceReference := resourceReferenceARMID + result.ResourceId = &resourceReference + } + + // Set property "TenantId": + if resource.TenantId != nil { + tenantId := *resource.TenantId + result.TenantId = &tenantId + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (resource *DelegatedResource) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.DelegatedResource{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (resource *DelegatedResource) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.DelegatedResource) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.DelegatedResource, got %T", armInput) + } + + // Set property "Location": + if typedInput.Location != nil { + location := *typedInput.Location + resource.Location = &location + } + + // Set property "ReferralResource": + if typedInput.ReferralResource != nil { + referralResource := *typedInput.ReferralResource + resource.ReferralResource = &referralResource + } + + // no assignment for property "ResourceReference" + + // Set property "TenantId": + if typedInput.TenantId != nil { + tenantId := *typedInput.TenantId + resource.TenantId = &tenantId + } + + // No error + return nil +} + +// AssignProperties_From_DelegatedResource populates our DelegatedResource from the provided source DelegatedResource +func (resource *DelegatedResource) AssignProperties_From_DelegatedResource(source *storage.DelegatedResource) error { + + // Location + resource.Location = genruntime.ClonePointerToString(source.Location) + + // ReferralResource + resource.ReferralResource = genruntime.ClonePointerToString(source.ReferralResource) + + // ResourceReference + if source.ResourceReference != nil { + resourceReference := source.ResourceReference.Copy() + resource.ResourceReference = &resourceReference + } else { + resource.ResourceReference = nil + } + + // TenantId + if source.TenantId != nil { + tenantId := *source.TenantId + resource.TenantId = &tenantId + } else { + resource.TenantId = nil + } + + // No error + return nil +} + +// AssignProperties_To_DelegatedResource populates the provided destination DelegatedResource from our DelegatedResource +func (resource *DelegatedResource) AssignProperties_To_DelegatedResource(destination *storage.DelegatedResource) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Location + destination.Location = genruntime.ClonePointerToString(resource.Location) + + // ReferralResource + destination.ReferralResource = genruntime.ClonePointerToString(resource.ReferralResource) + + // ResourceReference + if resource.ResourceReference != nil { + resourceReference := resource.ResourceReference.Copy() + destination.ResourceReference = &resourceReference + } else { + destination.ResourceReference = nil + } + + // TenantId + if resource.TenantId != nil { + tenantId := *resource.TenantId + destination.TenantId = &tenantId + } else { + destination.TenantId = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_DelegatedResource_STATUS populates our DelegatedResource from the provided source DelegatedResource_STATUS +func (resource *DelegatedResource) Initialize_From_DelegatedResource_STATUS(source *DelegatedResource_STATUS) error { + + // Location + resource.Location = genruntime.ClonePointerToString(source.Location) + + // ReferralResource + resource.ReferralResource = genruntime.ClonePointerToString(source.ReferralResource) + + // ResourceReference + if source.ResourceId != nil { + resourceReference := genruntime.CreateResourceReferenceFromARMID(*source.ResourceId) + resource.ResourceReference = &resourceReference + } else { + resource.ResourceReference = nil + } + + // TenantId + if source.TenantId != nil { + tenantId := *source.TenantId + resource.TenantId = &tenantId + } else { + resource.TenantId = nil + } + + // No error + return nil +} + +// Delegated resource properties - internal use only. +type DelegatedResource_STATUS struct { + // Location: The source resource location - internal use only. + Location *string `json:"location,omitempty"` + + // ReferralResource: The delegation id of the referral delegation (optional) - internal use only. + ReferralResource *string `json:"referralResource,omitempty"` + + // ResourceId: The ARM resource id of the delegated resource - internal use only. + ResourceId *string `json:"resourceId,omitempty"` + + // TenantId: The tenant id of the delegated resource - internal use only. + TenantId *string `json:"tenantId,omitempty"` +} + +var _ genruntime.FromARMConverter = &DelegatedResource_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (resource *DelegatedResource_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.DelegatedResource_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (resource *DelegatedResource_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.DelegatedResource_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.DelegatedResource_STATUS, got %T", armInput) + } + + // Set property "Location": + if typedInput.Location != nil { + location := *typedInput.Location + resource.Location = &location + } + + // Set property "ReferralResource": + if typedInput.ReferralResource != nil { + referralResource := *typedInput.ReferralResource + resource.ReferralResource = &referralResource + } + + // Set property "ResourceId": + if typedInput.ResourceId != nil { + resourceId := *typedInput.ResourceId + resource.ResourceId = &resourceId + } + + // Set property "TenantId": + if typedInput.TenantId != nil { + tenantId := *typedInput.TenantId + resource.TenantId = &tenantId + } + + // No error + return nil +} + +// AssignProperties_From_DelegatedResource_STATUS populates our DelegatedResource_STATUS from the provided source DelegatedResource_STATUS +func (resource *DelegatedResource_STATUS) AssignProperties_From_DelegatedResource_STATUS(source *storage.DelegatedResource_STATUS) error { + + // Location + resource.Location = genruntime.ClonePointerToString(source.Location) + + // ReferralResource + resource.ReferralResource = genruntime.ClonePointerToString(source.ReferralResource) + + // ResourceId + resource.ResourceId = genruntime.ClonePointerToString(source.ResourceId) + + // TenantId + resource.TenantId = genruntime.ClonePointerToString(source.TenantId) + + // No error + return nil +} + +// AssignProperties_To_DelegatedResource_STATUS populates the provided destination DelegatedResource_STATUS from our DelegatedResource_STATUS +func (resource *DelegatedResource_STATUS) AssignProperties_To_DelegatedResource_STATUS(destination *storage.DelegatedResource_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Location + destination.Location = genruntime.ClonePointerToString(resource.Location) + + // ReferralResource + destination.ReferralResource = genruntime.ClonePointerToString(resource.ReferralResource) + + // ResourceId + destination.ResourceId = genruntime.ClonePointerToString(resource.ResourceId) + + // TenantId + destination.TenantId = genruntime.ClonePointerToString(resource.TenantId) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// The type of extendedLocation. +// +kubebuilder:validation:Enum={"EdgeZone"} +type ExtendedLocationType string + +const ExtendedLocationType_EdgeZone = ExtendedLocationType("EdgeZone") + +// Mapping from string to ExtendedLocationType +var extendedLocationType_Values = map[string]ExtendedLocationType{ + "edgezone": ExtendedLocationType_EdgeZone, +} + +// The type of extendedLocation. +type ExtendedLocationType_STATUS string + +const ExtendedLocationType_STATUS_EdgeZone = ExtendedLocationType_STATUS("EdgeZone") + +// Mapping from string to ExtendedLocationType_STATUS +var extendedLocationType_STATUS_Values = map[string]ExtendedLocationType_STATUS{ + "edgezone": ExtendedLocationType_STATUS_EdgeZone, +} + +// Istio service mesh configuration. +type IstioServiceMesh struct { + // CertificateAuthority: Istio Service Mesh Certificate Authority (CA) configuration. For now, we only support plugin + // certificates as described here https://aka.ms/asm-plugin-ca + CertificateAuthority *IstioCertificateAuthority `json:"certificateAuthority,omitempty"` + + // Components: Istio components configuration. + Components *IstioComponents `json:"components,omitempty"` + + // +kubebuilder:validation:MaxItems=2 + // Revisions: The list of revisions of the Istio control plane. When an upgrade is not in progress, this holds one value. + // When canary upgrade is in progress, this can only hold two consecutive values. For more information, see: + // https://learn.microsoft.com/en-us/azure/aks/istio-upgrade + Revisions []string `json:"revisions,omitempty"` +} + +var _ genruntime.ARMTransformer = &IstioServiceMesh{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (mesh *IstioServiceMesh) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if mesh == nil { + return nil, nil + } + result := &arm.IstioServiceMesh{} + + // Set property "CertificateAuthority": + if mesh.CertificateAuthority != nil { + certificateAuthority_ARM, err := (*mesh.CertificateAuthority).ConvertToARM(resolved) + if err != nil { + return nil, err + } + certificateAuthority := *certificateAuthority_ARM.(*arm.IstioCertificateAuthority) + result.CertificateAuthority = &certificateAuthority + } + + // Set property "Components": + if mesh.Components != nil { + components_ARM, err := (*mesh.Components).ConvertToARM(resolved) + if err != nil { + return nil, err + } + components := *components_ARM.(*arm.IstioComponents) + result.Components = &components + } + + // Set property "Revisions": + for _, item := range mesh.Revisions { + result.Revisions = append(result.Revisions, item) + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (mesh *IstioServiceMesh) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.IstioServiceMesh{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (mesh *IstioServiceMesh) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.IstioServiceMesh) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.IstioServiceMesh, got %T", armInput) + } + + // Set property "CertificateAuthority": + if typedInput.CertificateAuthority != nil { + var certificateAuthority1 IstioCertificateAuthority + err := certificateAuthority1.PopulateFromARM(owner, *typedInput.CertificateAuthority) + if err != nil { + return err + } + certificateAuthority := certificateAuthority1 + mesh.CertificateAuthority = &certificateAuthority + } + + // Set property "Components": + if typedInput.Components != nil { + var components1 IstioComponents + err := components1.PopulateFromARM(owner, *typedInput.Components) + if err != nil { + return err + } + components := components1 + mesh.Components = &components + } + + // Set property "Revisions": + for _, item := range typedInput.Revisions { + mesh.Revisions = append(mesh.Revisions, item) + } + + // No error + return nil +} + +// AssignProperties_From_IstioServiceMesh populates our IstioServiceMesh from the provided source IstioServiceMesh +func (mesh *IstioServiceMesh) AssignProperties_From_IstioServiceMesh(source *storage.IstioServiceMesh) error { + + // CertificateAuthority + if source.CertificateAuthority != nil { + var certificateAuthority IstioCertificateAuthority + err := certificateAuthority.AssignProperties_From_IstioCertificateAuthority(source.CertificateAuthority) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_IstioCertificateAuthority() to populate field CertificateAuthority") + } + mesh.CertificateAuthority = &certificateAuthority + } else { + mesh.CertificateAuthority = nil + } + + // Components + if source.Components != nil { + var component IstioComponents + err := component.AssignProperties_From_IstioComponents(source.Components) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_IstioComponents() to populate field Components") + } + mesh.Components = &component + } else { + mesh.Components = nil + } + + // Revisions + if source.Revisions != nil { + revisionList := make([]string, len(source.Revisions)) + for revisionIndex, revisionItem := range source.Revisions { + // Shadow the loop variable to avoid aliasing + revisionItem := revisionItem + revisionList[revisionIndex] = revisionItem + } + mesh.Revisions = revisionList + } else { + mesh.Revisions = nil + } + + // No error + return nil +} + +// AssignProperties_To_IstioServiceMesh populates the provided destination IstioServiceMesh from our IstioServiceMesh +func (mesh *IstioServiceMesh) AssignProperties_To_IstioServiceMesh(destination *storage.IstioServiceMesh) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // CertificateAuthority + if mesh.CertificateAuthority != nil { + var certificateAuthority storage.IstioCertificateAuthority + err := mesh.CertificateAuthority.AssignProperties_To_IstioCertificateAuthority(&certificateAuthority) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_IstioCertificateAuthority() to populate field CertificateAuthority") + } + destination.CertificateAuthority = &certificateAuthority + } else { + destination.CertificateAuthority = nil + } + + // Components + if mesh.Components != nil { + var component storage.IstioComponents + err := mesh.Components.AssignProperties_To_IstioComponents(&component) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_IstioComponents() to populate field Components") + } + destination.Components = &component + } else { + destination.Components = nil + } + + // Revisions + if mesh.Revisions != nil { + revisionList := make([]string, len(mesh.Revisions)) + for revisionIndex, revisionItem := range mesh.Revisions { + // Shadow the loop variable to avoid aliasing + revisionItem := revisionItem + revisionList[revisionIndex] = revisionItem + } + destination.Revisions = revisionList + } else { + destination.Revisions = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_IstioServiceMesh_STATUS populates our IstioServiceMesh from the provided source IstioServiceMesh_STATUS +func (mesh *IstioServiceMesh) Initialize_From_IstioServiceMesh_STATUS(source *IstioServiceMesh_STATUS) error { + + // CertificateAuthority + if source.CertificateAuthority != nil { + var certificateAuthority IstioCertificateAuthority + err := certificateAuthority.Initialize_From_IstioCertificateAuthority_STATUS(source.CertificateAuthority) + if err != nil { + return errors.Wrap(err, "calling Initialize_From_IstioCertificateAuthority_STATUS() to populate field CertificateAuthority") + } + mesh.CertificateAuthority = &certificateAuthority + } else { + mesh.CertificateAuthority = nil + } + + // Components + if source.Components != nil { + var component IstioComponents + err := component.Initialize_From_IstioComponents_STATUS(source.Components) + if err != nil { + return errors.Wrap(err, "calling Initialize_From_IstioComponents_STATUS() to populate field Components") + } + mesh.Components = &component + } else { + mesh.Components = nil + } + + // Revisions + if source.Revisions != nil { + revisionList := make([]string, len(source.Revisions)) + for revisionIndex, revisionItem := range source.Revisions { + // Shadow the loop variable to avoid aliasing + revisionItem := revisionItem + revisionList[revisionIndex] = revisionItem + } + mesh.Revisions = revisionList + } else { + mesh.Revisions = nil + } + + // No error + return nil +} + +// Istio service mesh configuration. +type IstioServiceMesh_STATUS struct { + // CertificateAuthority: Istio Service Mesh Certificate Authority (CA) configuration. For now, we only support plugin + // certificates as described here https://aka.ms/asm-plugin-ca + CertificateAuthority *IstioCertificateAuthority_STATUS `json:"certificateAuthority,omitempty"` + + // Components: Istio components configuration. + Components *IstioComponents_STATUS `json:"components,omitempty"` + + // Revisions: The list of revisions of the Istio control plane. When an upgrade is not in progress, this holds one value. + // When canary upgrade is in progress, this can only hold two consecutive values. For more information, see: + // https://learn.microsoft.com/en-us/azure/aks/istio-upgrade + Revisions []string `json:"revisions,omitempty"` +} + +var _ genruntime.FromARMConverter = &IstioServiceMesh_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (mesh *IstioServiceMesh_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.IstioServiceMesh_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (mesh *IstioServiceMesh_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.IstioServiceMesh_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.IstioServiceMesh_STATUS, got %T", armInput) + } + + // Set property "CertificateAuthority": + if typedInput.CertificateAuthority != nil { + var certificateAuthority1 IstioCertificateAuthority_STATUS + err := certificateAuthority1.PopulateFromARM(owner, *typedInput.CertificateAuthority) + if err != nil { + return err + } + certificateAuthority := certificateAuthority1 + mesh.CertificateAuthority = &certificateAuthority + } + + // Set property "Components": + if typedInput.Components != nil { + var components1 IstioComponents_STATUS + err := components1.PopulateFromARM(owner, *typedInput.Components) + if err != nil { + return err + } + components := components1 + mesh.Components = &components + } + + // Set property "Revisions": + for _, item := range typedInput.Revisions { + mesh.Revisions = append(mesh.Revisions, item) + } + + // No error + return nil +} + +// AssignProperties_From_IstioServiceMesh_STATUS populates our IstioServiceMesh_STATUS from the provided source IstioServiceMesh_STATUS +func (mesh *IstioServiceMesh_STATUS) AssignProperties_From_IstioServiceMesh_STATUS(source *storage.IstioServiceMesh_STATUS) error { + + // CertificateAuthority + if source.CertificateAuthority != nil { + var certificateAuthority IstioCertificateAuthority_STATUS + err := certificateAuthority.AssignProperties_From_IstioCertificateAuthority_STATUS(source.CertificateAuthority) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_IstioCertificateAuthority_STATUS() to populate field CertificateAuthority") + } + mesh.CertificateAuthority = &certificateAuthority + } else { + mesh.CertificateAuthority = nil + } + + // Components + if source.Components != nil { + var component IstioComponents_STATUS + err := component.AssignProperties_From_IstioComponents_STATUS(source.Components) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_IstioComponents_STATUS() to populate field Components") + } + mesh.Components = &component + } else { + mesh.Components = nil + } + + // Revisions + mesh.Revisions = genruntime.CloneSliceOfString(source.Revisions) + + // No error + return nil +} + +// AssignProperties_To_IstioServiceMesh_STATUS populates the provided destination IstioServiceMesh_STATUS from our IstioServiceMesh_STATUS +func (mesh *IstioServiceMesh_STATUS) AssignProperties_To_IstioServiceMesh_STATUS(destination *storage.IstioServiceMesh_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // CertificateAuthority + if mesh.CertificateAuthority != nil { + var certificateAuthority storage.IstioCertificateAuthority_STATUS + err := mesh.CertificateAuthority.AssignProperties_To_IstioCertificateAuthority_STATUS(&certificateAuthority) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_IstioCertificateAuthority_STATUS() to populate field CertificateAuthority") + } + destination.CertificateAuthority = &certificateAuthority + } else { + destination.CertificateAuthority = nil + } + + // Components + if mesh.Components != nil { + var component storage.IstioComponents_STATUS + err := mesh.Components.AssignProperties_To_IstioComponents_STATUS(&component) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_IstioComponents_STATUS() to populate field Components") + } + destination.Components = &component + } else { + destination.Components = nil + } + + // Revisions + destination.Revisions = genruntime.CloneSliceOfString(mesh.Revisions) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// +kubebuilder:validation:Enum={"NodeImage","None","SecurityPatch","Unmanaged"} +type ManagedClusterAutoUpgradeProfile_NodeOSUpgradeChannel string + +const ( + ManagedClusterAutoUpgradeProfile_NodeOSUpgradeChannel_NodeImage = ManagedClusterAutoUpgradeProfile_NodeOSUpgradeChannel("NodeImage") + ManagedClusterAutoUpgradeProfile_NodeOSUpgradeChannel_None = ManagedClusterAutoUpgradeProfile_NodeOSUpgradeChannel("None") + ManagedClusterAutoUpgradeProfile_NodeOSUpgradeChannel_SecurityPatch = ManagedClusterAutoUpgradeProfile_NodeOSUpgradeChannel("SecurityPatch") + ManagedClusterAutoUpgradeProfile_NodeOSUpgradeChannel_Unmanaged = ManagedClusterAutoUpgradeProfile_NodeOSUpgradeChannel("Unmanaged") +) + +// Mapping from string to ManagedClusterAutoUpgradeProfile_NodeOSUpgradeChannel +var managedClusterAutoUpgradeProfile_NodeOSUpgradeChannel_Values = map[string]ManagedClusterAutoUpgradeProfile_NodeOSUpgradeChannel{ + "nodeimage": ManagedClusterAutoUpgradeProfile_NodeOSUpgradeChannel_NodeImage, + "none": ManagedClusterAutoUpgradeProfile_NodeOSUpgradeChannel_None, + "securitypatch": ManagedClusterAutoUpgradeProfile_NodeOSUpgradeChannel_SecurityPatch, + "unmanaged": ManagedClusterAutoUpgradeProfile_NodeOSUpgradeChannel_Unmanaged, +} + +type ManagedClusterAutoUpgradeProfile_NodeOSUpgradeChannel_STATUS string + +const ( + ManagedClusterAutoUpgradeProfile_NodeOSUpgradeChannel_STATUS_NodeImage = ManagedClusterAutoUpgradeProfile_NodeOSUpgradeChannel_STATUS("NodeImage") + ManagedClusterAutoUpgradeProfile_NodeOSUpgradeChannel_STATUS_None = ManagedClusterAutoUpgradeProfile_NodeOSUpgradeChannel_STATUS("None") + ManagedClusterAutoUpgradeProfile_NodeOSUpgradeChannel_STATUS_SecurityPatch = ManagedClusterAutoUpgradeProfile_NodeOSUpgradeChannel_STATUS("SecurityPatch") + ManagedClusterAutoUpgradeProfile_NodeOSUpgradeChannel_STATUS_Unmanaged = ManagedClusterAutoUpgradeProfile_NodeOSUpgradeChannel_STATUS("Unmanaged") +) + +// Mapping from string to ManagedClusterAutoUpgradeProfile_NodeOSUpgradeChannel_STATUS +var managedClusterAutoUpgradeProfile_NodeOSUpgradeChannel_STATUS_Values = map[string]ManagedClusterAutoUpgradeProfile_NodeOSUpgradeChannel_STATUS{ + "nodeimage": ManagedClusterAutoUpgradeProfile_NodeOSUpgradeChannel_STATUS_NodeImage, + "none": ManagedClusterAutoUpgradeProfile_NodeOSUpgradeChannel_STATUS_None, + "securitypatch": ManagedClusterAutoUpgradeProfile_NodeOSUpgradeChannel_STATUS_SecurityPatch, + "unmanaged": ManagedClusterAutoUpgradeProfile_NodeOSUpgradeChannel_STATUS_Unmanaged, +} + +// +kubebuilder:validation:Enum={"node-image","none","patch","rapid","stable"} +type ManagedClusterAutoUpgradeProfile_UpgradeChannel string + +const ( + ManagedClusterAutoUpgradeProfile_UpgradeChannel_NodeImage = ManagedClusterAutoUpgradeProfile_UpgradeChannel("node-image") + ManagedClusterAutoUpgradeProfile_UpgradeChannel_None = ManagedClusterAutoUpgradeProfile_UpgradeChannel("none") + ManagedClusterAutoUpgradeProfile_UpgradeChannel_Patch = ManagedClusterAutoUpgradeProfile_UpgradeChannel("patch") + ManagedClusterAutoUpgradeProfile_UpgradeChannel_Rapid = ManagedClusterAutoUpgradeProfile_UpgradeChannel("rapid") + ManagedClusterAutoUpgradeProfile_UpgradeChannel_Stable = ManagedClusterAutoUpgradeProfile_UpgradeChannel("stable") +) + +// Mapping from string to ManagedClusterAutoUpgradeProfile_UpgradeChannel +var managedClusterAutoUpgradeProfile_UpgradeChannel_Values = map[string]ManagedClusterAutoUpgradeProfile_UpgradeChannel{ + "node-image": ManagedClusterAutoUpgradeProfile_UpgradeChannel_NodeImage, + "none": ManagedClusterAutoUpgradeProfile_UpgradeChannel_None, + "patch": ManagedClusterAutoUpgradeProfile_UpgradeChannel_Patch, + "rapid": ManagedClusterAutoUpgradeProfile_UpgradeChannel_Rapid, + "stable": ManagedClusterAutoUpgradeProfile_UpgradeChannel_Stable, +} + +type ManagedClusterAutoUpgradeProfile_UpgradeChannel_STATUS string + +const ( + ManagedClusterAutoUpgradeProfile_UpgradeChannel_STATUS_NodeImage = ManagedClusterAutoUpgradeProfile_UpgradeChannel_STATUS("node-image") + ManagedClusterAutoUpgradeProfile_UpgradeChannel_STATUS_None = ManagedClusterAutoUpgradeProfile_UpgradeChannel_STATUS("none") + ManagedClusterAutoUpgradeProfile_UpgradeChannel_STATUS_Patch = ManagedClusterAutoUpgradeProfile_UpgradeChannel_STATUS("patch") + ManagedClusterAutoUpgradeProfile_UpgradeChannel_STATUS_Rapid = ManagedClusterAutoUpgradeProfile_UpgradeChannel_STATUS("rapid") + ManagedClusterAutoUpgradeProfile_UpgradeChannel_STATUS_Stable = ManagedClusterAutoUpgradeProfile_UpgradeChannel_STATUS("stable") +) + +// Mapping from string to ManagedClusterAutoUpgradeProfile_UpgradeChannel_STATUS +var managedClusterAutoUpgradeProfile_UpgradeChannel_STATUS_Values = map[string]ManagedClusterAutoUpgradeProfile_UpgradeChannel_STATUS{ + "node-image": ManagedClusterAutoUpgradeProfile_UpgradeChannel_STATUS_NodeImage, + "none": ManagedClusterAutoUpgradeProfile_UpgradeChannel_STATUS_None, + "patch": ManagedClusterAutoUpgradeProfile_UpgradeChannel_STATUS_Patch, + "rapid": ManagedClusterAutoUpgradeProfile_UpgradeChannel_STATUS_Rapid, + "stable": ManagedClusterAutoUpgradeProfile_UpgradeChannel_STATUS_Stable, +} + +// Metrics profile for the Azure Monitor managed service for Prometheus addon. Collect out-of-the-box Kubernetes +// infrastructure metrics to send to an Azure Monitor Workspace and configure additional scraping for custom targets. See +// aka.ms/AzureManagedPrometheus for an overview. +type ManagedClusterAzureMonitorProfileMetrics struct { + // +kubebuilder:validation:Required + // Enabled: Whether to enable or disable the Azure Managed Prometheus addon for Prometheus monitoring. See + // aka.ms/AzureManagedPrometheus-aks-enable for details on enabling and disabling. + Enabled *bool `json:"enabled,omitempty"` + + // KubeStateMetrics: Kube State Metrics profile for the Azure Managed Prometheus addon. These optional settings are for the + // kube-state-metrics pod that is deployed with the addon. See aka.ms/AzureManagedPrometheus-optional-parameters for + // details. + KubeStateMetrics *ManagedClusterAzureMonitorProfileKubeStateMetrics `json:"kubeStateMetrics,omitempty"` +} + +var _ genruntime.ARMTransformer = &ManagedClusterAzureMonitorProfileMetrics{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (metrics *ManagedClusterAzureMonitorProfileMetrics) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if metrics == nil { + return nil, nil + } + result := &arm.ManagedClusterAzureMonitorProfileMetrics{} + + // Set property "Enabled": + if metrics.Enabled != nil { + enabled := *metrics.Enabled + result.Enabled = &enabled + } + + // Set property "KubeStateMetrics": + if metrics.KubeStateMetrics != nil { + kubeStateMetrics_ARM, err := (*metrics.KubeStateMetrics).ConvertToARM(resolved) + if err != nil { + return nil, err + } + kubeStateMetrics := *kubeStateMetrics_ARM.(*arm.ManagedClusterAzureMonitorProfileKubeStateMetrics) + result.KubeStateMetrics = &kubeStateMetrics + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (metrics *ManagedClusterAzureMonitorProfileMetrics) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ManagedClusterAzureMonitorProfileMetrics{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (metrics *ManagedClusterAzureMonitorProfileMetrics) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ManagedClusterAzureMonitorProfileMetrics) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ManagedClusterAzureMonitorProfileMetrics, got %T", armInput) + } + + // Set property "Enabled": + if typedInput.Enabled != nil { + enabled := *typedInput.Enabled + metrics.Enabled = &enabled + } + + // Set property "KubeStateMetrics": + if typedInput.KubeStateMetrics != nil { + var kubeStateMetrics1 ManagedClusterAzureMonitorProfileKubeStateMetrics + err := kubeStateMetrics1.PopulateFromARM(owner, *typedInput.KubeStateMetrics) + if err != nil { + return err + } + kubeStateMetrics := kubeStateMetrics1 + metrics.KubeStateMetrics = &kubeStateMetrics + } + + // No error + return nil +} + +// AssignProperties_From_ManagedClusterAzureMonitorProfileMetrics populates our ManagedClusterAzureMonitorProfileMetrics from the provided source ManagedClusterAzureMonitorProfileMetrics +func (metrics *ManagedClusterAzureMonitorProfileMetrics) AssignProperties_From_ManagedClusterAzureMonitorProfileMetrics(source *storage.ManagedClusterAzureMonitorProfileMetrics) error { + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + metrics.Enabled = &enabled + } else { + metrics.Enabled = nil + } + + // KubeStateMetrics + if source.KubeStateMetrics != nil { + var kubeStateMetric ManagedClusterAzureMonitorProfileKubeStateMetrics + err := kubeStateMetric.AssignProperties_From_ManagedClusterAzureMonitorProfileKubeStateMetrics(source.KubeStateMetrics) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterAzureMonitorProfileKubeStateMetrics() to populate field KubeStateMetrics") + } + metrics.KubeStateMetrics = &kubeStateMetric + } else { + metrics.KubeStateMetrics = nil + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterAzureMonitorProfileMetrics populates the provided destination ManagedClusterAzureMonitorProfileMetrics from our ManagedClusterAzureMonitorProfileMetrics +func (metrics *ManagedClusterAzureMonitorProfileMetrics) AssignProperties_To_ManagedClusterAzureMonitorProfileMetrics(destination *storage.ManagedClusterAzureMonitorProfileMetrics) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Enabled + if metrics.Enabled != nil { + enabled := *metrics.Enabled + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // KubeStateMetrics + if metrics.KubeStateMetrics != nil { + var kubeStateMetric storage.ManagedClusterAzureMonitorProfileKubeStateMetrics + err := metrics.KubeStateMetrics.AssignProperties_To_ManagedClusterAzureMonitorProfileKubeStateMetrics(&kubeStateMetric) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterAzureMonitorProfileKubeStateMetrics() to populate field KubeStateMetrics") + } + destination.KubeStateMetrics = &kubeStateMetric + } else { + destination.KubeStateMetrics = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_ManagedClusterAzureMonitorProfileMetrics_STATUS populates our ManagedClusterAzureMonitorProfileMetrics from the provided source ManagedClusterAzureMonitorProfileMetrics_STATUS +func (metrics *ManagedClusterAzureMonitorProfileMetrics) Initialize_From_ManagedClusterAzureMonitorProfileMetrics_STATUS(source *ManagedClusterAzureMonitorProfileMetrics_STATUS) error { + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + metrics.Enabled = &enabled + } else { + metrics.Enabled = nil + } + + // KubeStateMetrics + if source.KubeStateMetrics != nil { + var kubeStateMetric ManagedClusterAzureMonitorProfileKubeStateMetrics + err := kubeStateMetric.Initialize_From_ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS(source.KubeStateMetrics) + if err != nil { + return errors.Wrap(err, "calling Initialize_From_ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS() to populate field KubeStateMetrics") + } + metrics.KubeStateMetrics = &kubeStateMetric + } else { + metrics.KubeStateMetrics = nil + } + + // No error + return nil +} + +// Metrics profile for the Azure Monitor managed service for Prometheus addon. Collect out-of-the-box Kubernetes +// infrastructure metrics to send to an Azure Monitor Workspace and configure additional scraping for custom targets. See +// aka.ms/AzureManagedPrometheus for an overview. +type ManagedClusterAzureMonitorProfileMetrics_STATUS struct { + // Enabled: Whether to enable or disable the Azure Managed Prometheus addon for Prometheus monitoring. See + // aka.ms/AzureManagedPrometheus-aks-enable for details on enabling and disabling. + Enabled *bool `json:"enabled,omitempty"` + + // KubeStateMetrics: Kube State Metrics profile for the Azure Managed Prometheus addon. These optional settings are for the + // kube-state-metrics pod that is deployed with the addon. See aka.ms/AzureManagedPrometheus-optional-parameters for + // details. + KubeStateMetrics *ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS `json:"kubeStateMetrics,omitempty"` +} + +var _ genruntime.FromARMConverter = &ManagedClusterAzureMonitorProfileMetrics_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (metrics *ManagedClusterAzureMonitorProfileMetrics_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ManagedClusterAzureMonitorProfileMetrics_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (metrics *ManagedClusterAzureMonitorProfileMetrics_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ManagedClusterAzureMonitorProfileMetrics_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ManagedClusterAzureMonitorProfileMetrics_STATUS, got %T", armInput) + } + + // Set property "Enabled": + if typedInput.Enabled != nil { + enabled := *typedInput.Enabled + metrics.Enabled = &enabled + } + + // Set property "KubeStateMetrics": + if typedInput.KubeStateMetrics != nil { + var kubeStateMetrics1 ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS + err := kubeStateMetrics1.PopulateFromARM(owner, *typedInput.KubeStateMetrics) + if err != nil { + return err + } + kubeStateMetrics := kubeStateMetrics1 + metrics.KubeStateMetrics = &kubeStateMetrics + } + + // No error + return nil +} + +// AssignProperties_From_ManagedClusterAzureMonitorProfileMetrics_STATUS populates our ManagedClusterAzureMonitorProfileMetrics_STATUS from the provided source ManagedClusterAzureMonitorProfileMetrics_STATUS +func (metrics *ManagedClusterAzureMonitorProfileMetrics_STATUS) AssignProperties_From_ManagedClusterAzureMonitorProfileMetrics_STATUS(source *storage.ManagedClusterAzureMonitorProfileMetrics_STATUS) error { + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + metrics.Enabled = &enabled + } else { + metrics.Enabled = nil + } + + // KubeStateMetrics + if source.KubeStateMetrics != nil { + var kubeStateMetric ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS + err := kubeStateMetric.AssignProperties_From_ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS(source.KubeStateMetrics) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS() to populate field KubeStateMetrics") + } + metrics.KubeStateMetrics = &kubeStateMetric + } else { + metrics.KubeStateMetrics = nil + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterAzureMonitorProfileMetrics_STATUS populates the provided destination ManagedClusterAzureMonitorProfileMetrics_STATUS from our ManagedClusterAzureMonitorProfileMetrics_STATUS +func (metrics *ManagedClusterAzureMonitorProfileMetrics_STATUS) AssignProperties_To_ManagedClusterAzureMonitorProfileMetrics_STATUS(destination *storage.ManagedClusterAzureMonitorProfileMetrics_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Enabled + if metrics.Enabled != nil { + enabled := *metrics.Enabled + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // KubeStateMetrics + if metrics.KubeStateMetrics != nil { + var kubeStateMetric storage.ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS + err := metrics.KubeStateMetrics.AssignProperties_To_ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS(&kubeStateMetric) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS() to populate field KubeStateMetrics") + } + destination.KubeStateMetrics = &kubeStateMetric + } else { + destination.KubeStateMetrics = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// The cost analysis configuration for the cluster +type ManagedClusterCostAnalysis struct { + // Enabled: The Managed Cluster sku.tier must be set to 'Standard' or 'Premium' to enable this feature. Enabling this will + // add Kubernetes Namespace and Deployment details to the Cost Analysis views in the Azure portal. If not specified, the + // default is false. For more information see aka.ms/aks/docs/cost-analysis. + Enabled *bool `json:"enabled,omitempty"` +} + +var _ genruntime.ARMTransformer = &ManagedClusterCostAnalysis{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (analysis *ManagedClusterCostAnalysis) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if analysis == nil { + return nil, nil + } + result := &arm.ManagedClusterCostAnalysis{} + + // Set property "Enabled": + if analysis.Enabled != nil { + enabled := *analysis.Enabled + result.Enabled = &enabled + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (analysis *ManagedClusterCostAnalysis) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ManagedClusterCostAnalysis{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (analysis *ManagedClusterCostAnalysis) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ManagedClusterCostAnalysis) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ManagedClusterCostAnalysis, got %T", armInput) + } + + // Set property "Enabled": + if typedInput.Enabled != nil { + enabled := *typedInput.Enabled + analysis.Enabled = &enabled + } + + // No error + return nil +} + +// AssignProperties_From_ManagedClusterCostAnalysis populates our ManagedClusterCostAnalysis from the provided source ManagedClusterCostAnalysis +func (analysis *ManagedClusterCostAnalysis) AssignProperties_From_ManagedClusterCostAnalysis(source *storage.ManagedClusterCostAnalysis) error { + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + analysis.Enabled = &enabled + } else { + analysis.Enabled = nil + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterCostAnalysis populates the provided destination ManagedClusterCostAnalysis from our ManagedClusterCostAnalysis +func (analysis *ManagedClusterCostAnalysis) AssignProperties_To_ManagedClusterCostAnalysis(destination *storage.ManagedClusterCostAnalysis) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Enabled + if analysis.Enabled != nil { + enabled := *analysis.Enabled + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_ManagedClusterCostAnalysis_STATUS populates our ManagedClusterCostAnalysis from the provided source ManagedClusterCostAnalysis_STATUS +func (analysis *ManagedClusterCostAnalysis) Initialize_From_ManagedClusterCostAnalysis_STATUS(source *ManagedClusterCostAnalysis_STATUS) error { + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + analysis.Enabled = &enabled + } else { + analysis.Enabled = nil + } + + // No error + return nil +} + +// The cost analysis configuration for the cluster +type ManagedClusterCostAnalysis_STATUS struct { + // Enabled: The Managed Cluster sku.tier must be set to 'Standard' or 'Premium' to enable this feature. Enabling this will + // add Kubernetes Namespace and Deployment details to the Cost Analysis views in the Azure portal. If not specified, the + // default is false. For more information see aka.ms/aks/docs/cost-analysis. + Enabled *bool `json:"enabled,omitempty"` +} + +var _ genruntime.FromARMConverter = &ManagedClusterCostAnalysis_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (analysis *ManagedClusterCostAnalysis_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ManagedClusterCostAnalysis_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (analysis *ManagedClusterCostAnalysis_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ManagedClusterCostAnalysis_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ManagedClusterCostAnalysis_STATUS, got %T", armInput) + } + + // Set property "Enabled": + if typedInput.Enabled != nil { + enabled := *typedInput.Enabled + analysis.Enabled = &enabled + } + + // No error + return nil +} + +// AssignProperties_From_ManagedClusterCostAnalysis_STATUS populates our ManagedClusterCostAnalysis_STATUS from the provided source ManagedClusterCostAnalysis_STATUS +func (analysis *ManagedClusterCostAnalysis_STATUS) AssignProperties_From_ManagedClusterCostAnalysis_STATUS(source *storage.ManagedClusterCostAnalysis_STATUS) error { + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + analysis.Enabled = &enabled + } else { + analysis.Enabled = nil + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterCostAnalysis_STATUS populates the provided destination ManagedClusterCostAnalysis_STATUS from our ManagedClusterCostAnalysis_STATUS +func (analysis *ManagedClusterCostAnalysis_STATUS) AssignProperties_To_ManagedClusterCostAnalysis_STATUS(destination *storage.ManagedClusterCostAnalysis_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Enabled + if analysis.Enabled != nil { + enabled := *analysis.Enabled + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// +kubebuilder:validation:Enum={"None","SystemAssigned","UserAssigned"} +type ManagedClusterIdentity_Type string + +const ( + ManagedClusterIdentity_Type_None = ManagedClusterIdentity_Type("None") + ManagedClusterIdentity_Type_SystemAssigned = ManagedClusterIdentity_Type("SystemAssigned") + ManagedClusterIdentity_Type_UserAssigned = ManagedClusterIdentity_Type("UserAssigned") +) + +// Mapping from string to ManagedClusterIdentity_Type +var managedClusterIdentity_Type_Values = map[string]ManagedClusterIdentity_Type{ + "none": ManagedClusterIdentity_Type_None, + "systemassigned": ManagedClusterIdentity_Type_SystemAssigned, + "userassigned": ManagedClusterIdentity_Type_UserAssigned, +} + +type ManagedClusterIdentity_Type_STATUS string + +const ( + ManagedClusterIdentity_Type_STATUS_None = ManagedClusterIdentity_Type_STATUS("None") + ManagedClusterIdentity_Type_STATUS_SystemAssigned = ManagedClusterIdentity_Type_STATUS("SystemAssigned") + ManagedClusterIdentity_Type_STATUS_UserAssigned = ManagedClusterIdentity_Type_STATUS("UserAssigned") +) + +// Mapping from string to ManagedClusterIdentity_Type_STATUS +var managedClusterIdentity_Type_STATUS_Values = map[string]ManagedClusterIdentity_Type_STATUS{ + "none": ManagedClusterIdentity_Type_STATUS_None, + "systemassigned": ManagedClusterIdentity_Type_STATUS_SystemAssigned, + "userassigned": ManagedClusterIdentity_Type_STATUS_UserAssigned, +} + +type ManagedClusterIdentity_UserAssignedIdentities_STATUS struct { + // ClientId: The client id of user assigned identity. + ClientId *string `json:"clientId,omitempty"` + + // PrincipalId: The principal id of user assigned identity. + PrincipalId *string `json:"principalId,omitempty"` +} + +var _ genruntime.FromARMConverter = &ManagedClusterIdentity_UserAssignedIdentities_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (identities *ManagedClusterIdentity_UserAssignedIdentities_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ManagedClusterIdentity_UserAssignedIdentities_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (identities *ManagedClusterIdentity_UserAssignedIdentities_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ManagedClusterIdentity_UserAssignedIdentities_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ManagedClusterIdentity_UserAssignedIdentities_STATUS, got %T", armInput) + } + + // Set property "ClientId": + if typedInput.ClientId != nil { + clientId := *typedInput.ClientId + identities.ClientId = &clientId + } + + // Set property "PrincipalId": + if typedInput.PrincipalId != nil { + principalId := *typedInput.PrincipalId + identities.PrincipalId = &principalId + } + + // No error + return nil +} + +// AssignProperties_From_ManagedClusterIdentity_UserAssignedIdentities_STATUS populates our ManagedClusterIdentity_UserAssignedIdentities_STATUS from the provided source ManagedClusterIdentity_UserAssignedIdentities_STATUS +func (identities *ManagedClusterIdentity_UserAssignedIdentities_STATUS) AssignProperties_From_ManagedClusterIdentity_UserAssignedIdentities_STATUS(source *storage.ManagedClusterIdentity_UserAssignedIdentities_STATUS) error { + + // ClientId + identities.ClientId = genruntime.ClonePointerToString(source.ClientId) + + // PrincipalId + identities.PrincipalId = genruntime.ClonePointerToString(source.PrincipalId) + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterIdentity_UserAssignedIdentities_STATUS populates the provided destination ManagedClusterIdentity_UserAssignedIdentities_STATUS from our ManagedClusterIdentity_UserAssignedIdentities_STATUS +func (identities *ManagedClusterIdentity_UserAssignedIdentities_STATUS) AssignProperties_To_ManagedClusterIdentity_UserAssignedIdentities_STATUS(destination *storage.ManagedClusterIdentity_UserAssignedIdentities_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // ClientId + destination.ClientId = genruntime.ClonePointerToString(identities.ClientId) + + // PrincipalId + destination.PrincipalId = genruntime.ClonePointerToString(identities.PrincipalId) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Application Routing add-on settings for the ingress profile. +type ManagedClusterIngressProfileWebAppRouting struct { + // DnsZoneResourceReferences: Resource IDs of the DNS zones to be associated with the Application Routing add-on. Used only + // when Application Routing add-on is enabled. Public and private DNS zones can be in different resource groups, but all + // public DNS zones must be in the same resource group and all private DNS zones must be in the same resource group. + DnsZoneResourceReferences []genruntime.ResourceReference `armReference:"DnsZoneResourceIds" json:"dnsZoneResourceReferences,omitempty"` + + // Enabled: Whether to enable the Application Routing add-on. + Enabled *bool `json:"enabled,omitempty"` +} + +var _ genruntime.ARMTransformer = &ManagedClusterIngressProfileWebAppRouting{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (routing *ManagedClusterIngressProfileWebAppRouting) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if routing == nil { + return nil, nil + } + result := &arm.ManagedClusterIngressProfileWebAppRouting{} + + // Set property "DnsZoneResourceIds": + for _, item := range routing.DnsZoneResourceReferences { + itemARMID, err := resolved.ResolvedReferences.Lookup(item) + if err != nil { + return nil, err + } + result.DnsZoneResourceIds = append(result.DnsZoneResourceIds, itemARMID) + } + + // Set property "Enabled": + if routing.Enabled != nil { + enabled := *routing.Enabled + result.Enabled = &enabled + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (routing *ManagedClusterIngressProfileWebAppRouting) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ManagedClusterIngressProfileWebAppRouting{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (routing *ManagedClusterIngressProfileWebAppRouting) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ManagedClusterIngressProfileWebAppRouting) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ManagedClusterIngressProfileWebAppRouting, got %T", armInput) + } + + // no assignment for property "DnsZoneResourceReferences" + + // Set property "Enabled": + if typedInput.Enabled != nil { + enabled := *typedInput.Enabled + routing.Enabled = &enabled + } + + // No error + return nil +} + +// AssignProperties_From_ManagedClusterIngressProfileWebAppRouting populates our ManagedClusterIngressProfileWebAppRouting from the provided source ManagedClusterIngressProfileWebAppRouting +func (routing *ManagedClusterIngressProfileWebAppRouting) AssignProperties_From_ManagedClusterIngressProfileWebAppRouting(source *storage.ManagedClusterIngressProfileWebAppRouting) error { + + // DnsZoneResourceReferences + if source.DnsZoneResourceReferences != nil { + dnsZoneResourceReferenceList := make([]genruntime.ResourceReference, len(source.DnsZoneResourceReferences)) + for dnsZoneResourceReferenceIndex, dnsZoneResourceReferenceItem := range source.DnsZoneResourceReferences { + // Shadow the loop variable to avoid aliasing + dnsZoneResourceReferenceItem := dnsZoneResourceReferenceItem + dnsZoneResourceReferenceList[dnsZoneResourceReferenceIndex] = dnsZoneResourceReferenceItem.Copy() + } + routing.DnsZoneResourceReferences = dnsZoneResourceReferenceList + } else { + routing.DnsZoneResourceReferences = nil + } + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + routing.Enabled = &enabled + } else { + routing.Enabled = nil + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterIngressProfileWebAppRouting populates the provided destination ManagedClusterIngressProfileWebAppRouting from our ManagedClusterIngressProfileWebAppRouting +func (routing *ManagedClusterIngressProfileWebAppRouting) AssignProperties_To_ManagedClusterIngressProfileWebAppRouting(destination *storage.ManagedClusterIngressProfileWebAppRouting) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // DnsZoneResourceReferences + if routing.DnsZoneResourceReferences != nil { + dnsZoneResourceReferenceList := make([]genruntime.ResourceReference, len(routing.DnsZoneResourceReferences)) + for dnsZoneResourceReferenceIndex, dnsZoneResourceReferenceItem := range routing.DnsZoneResourceReferences { + // Shadow the loop variable to avoid aliasing + dnsZoneResourceReferenceItem := dnsZoneResourceReferenceItem + dnsZoneResourceReferenceList[dnsZoneResourceReferenceIndex] = dnsZoneResourceReferenceItem.Copy() + } + destination.DnsZoneResourceReferences = dnsZoneResourceReferenceList + } else { + destination.DnsZoneResourceReferences = nil + } + + // Enabled + if routing.Enabled != nil { + enabled := *routing.Enabled + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_ManagedClusterIngressProfileWebAppRouting_STATUS populates our ManagedClusterIngressProfileWebAppRouting from the provided source ManagedClusterIngressProfileWebAppRouting_STATUS +func (routing *ManagedClusterIngressProfileWebAppRouting) Initialize_From_ManagedClusterIngressProfileWebAppRouting_STATUS(source *ManagedClusterIngressProfileWebAppRouting_STATUS) error { + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + routing.Enabled = &enabled + } else { + routing.Enabled = nil + } + + // No error + return nil +} + +// Application Routing add-on settings for the ingress profile. +type ManagedClusterIngressProfileWebAppRouting_STATUS struct { + // DnsZoneResourceIds: Resource IDs of the DNS zones to be associated with the Application Routing add-on. Used only when + // Application Routing add-on is enabled. Public and private DNS zones can be in different resource groups, but all public + // DNS zones must be in the same resource group and all private DNS zones must be in the same resource group. + DnsZoneResourceIds []string `json:"dnsZoneResourceIds,omitempty"` + + // Enabled: Whether to enable the Application Routing add-on. + Enabled *bool `json:"enabled,omitempty"` + + // Identity: Managed identity of the Application Routing add-on. This is the identity that should be granted permissions, + // for example, to manage the associated Azure DNS resource and get certificates from Azure Key Vault. See [this overview + // of the add-on](https://learn.microsoft.com/en-us/azure/aks/web-app-routing?tabs=with-osm) for more instructions. + Identity *UserAssignedIdentity_STATUS `json:"identity,omitempty"` +} + +var _ genruntime.FromARMConverter = &ManagedClusterIngressProfileWebAppRouting_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (routing *ManagedClusterIngressProfileWebAppRouting_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ManagedClusterIngressProfileWebAppRouting_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (routing *ManagedClusterIngressProfileWebAppRouting_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ManagedClusterIngressProfileWebAppRouting_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ManagedClusterIngressProfileWebAppRouting_STATUS, got %T", armInput) + } + + // Set property "DnsZoneResourceIds": + for _, item := range typedInput.DnsZoneResourceIds { + routing.DnsZoneResourceIds = append(routing.DnsZoneResourceIds, item) + } + + // Set property "Enabled": + if typedInput.Enabled != nil { + enabled := *typedInput.Enabled + routing.Enabled = &enabled + } + + // Set property "Identity": + if typedInput.Identity != nil { + var identity1 UserAssignedIdentity_STATUS + err := identity1.PopulateFromARM(owner, *typedInput.Identity) + if err != nil { + return err + } + identity := identity1 + routing.Identity = &identity + } + + // No error + return nil +} + +// AssignProperties_From_ManagedClusterIngressProfileWebAppRouting_STATUS populates our ManagedClusterIngressProfileWebAppRouting_STATUS from the provided source ManagedClusterIngressProfileWebAppRouting_STATUS +func (routing *ManagedClusterIngressProfileWebAppRouting_STATUS) AssignProperties_From_ManagedClusterIngressProfileWebAppRouting_STATUS(source *storage.ManagedClusterIngressProfileWebAppRouting_STATUS) error { + + // DnsZoneResourceIds + routing.DnsZoneResourceIds = genruntime.CloneSliceOfString(source.DnsZoneResourceIds) + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + routing.Enabled = &enabled + } else { + routing.Enabled = nil + } + + // Identity + if source.Identity != nil { + var identity UserAssignedIdentity_STATUS + err := identity.AssignProperties_From_UserAssignedIdentity_STATUS(source.Identity) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_UserAssignedIdentity_STATUS() to populate field Identity") + } + routing.Identity = &identity + } else { + routing.Identity = nil + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterIngressProfileWebAppRouting_STATUS populates the provided destination ManagedClusterIngressProfileWebAppRouting_STATUS from our ManagedClusterIngressProfileWebAppRouting_STATUS +func (routing *ManagedClusterIngressProfileWebAppRouting_STATUS) AssignProperties_To_ManagedClusterIngressProfileWebAppRouting_STATUS(destination *storage.ManagedClusterIngressProfileWebAppRouting_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // DnsZoneResourceIds + destination.DnsZoneResourceIds = genruntime.CloneSliceOfString(routing.DnsZoneResourceIds) + + // Enabled + if routing.Enabled != nil { + enabled := *routing.Enabled + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // Identity + if routing.Identity != nil { + var identity storage.UserAssignedIdentity_STATUS + err := routing.Identity.AssignProperties_To_UserAssignedIdentity_STATUS(&identity) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_UserAssignedIdentity_STATUS() to populate field Identity") + } + destination.Identity = &identity + } else { + destination.Identity = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Profile of the managed cluster load balancer. +type ManagedClusterLoadBalancerProfile struct { + // +kubebuilder:validation:Maximum=64000 + // +kubebuilder:validation:Minimum=0 + // AllocatedOutboundPorts: The desired number of allocated SNAT ports per VM. Allowed values are in the range of 0 to 64000 + // (inclusive). The default value is 0 which results in Azure dynamically allocating ports. + AllocatedOutboundPorts *int `json:"allocatedOutboundPorts,omitempty"` + + // BackendPoolType: The type of the managed inbound Load Balancer BackendPool. + BackendPoolType *ManagedClusterLoadBalancerProfile_BackendPoolType `json:"backendPoolType,omitempty"` + + // EffectiveOutboundIPs: The effective outbound IP resources of the cluster load balancer. + EffectiveOutboundIPs []ResourceReference `json:"effectiveOutboundIPs,omitempty"` + + // EnableMultipleStandardLoadBalancers: Enable multiple standard load balancers per AKS cluster or not. + EnableMultipleStandardLoadBalancers *bool `json:"enableMultipleStandardLoadBalancers,omitempty"` + + // +kubebuilder:validation:Maximum=120 + // +kubebuilder:validation:Minimum=4 + // IdleTimeoutInMinutes: Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 + // (inclusive). The default value is 30 minutes. + IdleTimeoutInMinutes *int `json:"idleTimeoutInMinutes,omitempty"` + + // ManagedOutboundIPs: Desired managed outbound IPs for the cluster load balancer. + ManagedOutboundIPs *ManagedClusterLoadBalancerProfile_ManagedOutboundIPs `json:"managedOutboundIPs,omitempty"` + + // OutboundIPPrefixes: Desired outbound IP Prefix resources for the cluster load balancer. + OutboundIPPrefixes *ManagedClusterLoadBalancerProfile_OutboundIPPrefixes `json:"outboundIPPrefixes,omitempty"` + + // OutboundIPs: Desired outbound IP resources for the cluster load balancer. + OutboundIPs *ManagedClusterLoadBalancerProfile_OutboundIPs `json:"outboundIPs,omitempty"` +} + +var _ genruntime.ARMTransformer = &ManagedClusterLoadBalancerProfile{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (profile *ManagedClusterLoadBalancerProfile) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if profile == nil { + return nil, nil + } + result := &arm.ManagedClusterLoadBalancerProfile{} + + // Set property "AllocatedOutboundPorts": + if profile.AllocatedOutboundPorts != nil { + allocatedOutboundPorts := *profile.AllocatedOutboundPorts + result.AllocatedOutboundPorts = &allocatedOutboundPorts + } + + // Set property "BackendPoolType": + if profile.BackendPoolType != nil { + var temp string + temp = string(*profile.BackendPoolType) + backendPoolType := arm.ManagedClusterLoadBalancerProfile_BackendPoolType(temp) + result.BackendPoolType = &backendPoolType + } + + // Set property "EffectiveOutboundIPs": + for _, item := range profile.EffectiveOutboundIPs { + item_ARM, err := item.ConvertToARM(resolved) + if err != nil { + return nil, err + } + result.EffectiveOutboundIPs = append(result.EffectiveOutboundIPs, *item_ARM.(*arm.ResourceReference)) + } + + // Set property "EnableMultipleStandardLoadBalancers": + if profile.EnableMultipleStandardLoadBalancers != nil { + enableMultipleStandardLoadBalancers := *profile.EnableMultipleStandardLoadBalancers + result.EnableMultipleStandardLoadBalancers = &enableMultipleStandardLoadBalancers + } + + // Set property "IdleTimeoutInMinutes": + if profile.IdleTimeoutInMinutes != nil { + idleTimeoutInMinutes := *profile.IdleTimeoutInMinutes + result.IdleTimeoutInMinutes = &idleTimeoutInMinutes + } + + // Set property "ManagedOutboundIPs": + if profile.ManagedOutboundIPs != nil { + managedOutboundIPs_ARM, err := (*profile.ManagedOutboundIPs).ConvertToARM(resolved) + if err != nil { + return nil, err + } + managedOutboundIPs := *managedOutboundIPs_ARM.(*arm.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs) + result.ManagedOutboundIPs = &managedOutboundIPs + } + + // Set property "OutboundIPPrefixes": + if profile.OutboundIPPrefixes != nil { + outboundIPPrefixes_ARM, err := (*profile.OutboundIPPrefixes).ConvertToARM(resolved) + if err != nil { + return nil, err + } + outboundIPPrefixes := *outboundIPPrefixes_ARM.(*arm.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes) + result.OutboundIPPrefixes = &outboundIPPrefixes + } + + // Set property "OutboundIPs": + if profile.OutboundIPs != nil { + outboundIPs_ARM, err := (*profile.OutboundIPs).ConvertToARM(resolved) + if err != nil { + return nil, err + } + outboundIPs := *outboundIPs_ARM.(*arm.ManagedClusterLoadBalancerProfile_OutboundIPs) + result.OutboundIPs = &outboundIPs + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (profile *ManagedClusterLoadBalancerProfile) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ManagedClusterLoadBalancerProfile{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (profile *ManagedClusterLoadBalancerProfile) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ManagedClusterLoadBalancerProfile) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ManagedClusterLoadBalancerProfile, got %T", armInput) + } + + // Set property "AllocatedOutboundPorts": + if typedInput.AllocatedOutboundPorts != nil { + allocatedOutboundPorts := *typedInput.AllocatedOutboundPorts + profile.AllocatedOutboundPorts = &allocatedOutboundPorts + } + + // Set property "BackendPoolType": + if typedInput.BackendPoolType != nil { + var temp string + temp = string(*typedInput.BackendPoolType) + backendPoolType := ManagedClusterLoadBalancerProfile_BackendPoolType(temp) + profile.BackendPoolType = &backendPoolType + } + + // Set property "EffectiveOutboundIPs": + for _, item := range typedInput.EffectiveOutboundIPs { + var item1 ResourceReference + err := item1.PopulateFromARM(owner, item) + if err != nil { + return err + } + profile.EffectiveOutboundIPs = append(profile.EffectiveOutboundIPs, item1) + } + + // Set property "EnableMultipleStandardLoadBalancers": + if typedInput.EnableMultipleStandardLoadBalancers != nil { + enableMultipleStandardLoadBalancers := *typedInput.EnableMultipleStandardLoadBalancers + profile.EnableMultipleStandardLoadBalancers = &enableMultipleStandardLoadBalancers + } + + // Set property "IdleTimeoutInMinutes": + if typedInput.IdleTimeoutInMinutes != nil { + idleTimeoutInMinutes := *typedInput.IdleTimeoutInMinutes + profile.IdleTimeoutInMinutes = &idleTimeoutInMinutes + } + + // Set property "ManagedOutboundIPs": + if typedInput.ManagedOutboundIPs != nil { + var managedOutboundIPs1 ManagedClusterLoadBalancerProfile_ManagedOutboundIPs + err := managedOutboundIPs1.PopulateFromARM(owner, *typedInput.ManagedOutboundIPs) + if err != nil { + return err + } + managedOutboundIPs := managedOutboundIPs1 + profile.ManagedOutboundIPs = &managedOutboundIPs + } + + // Set property "OutboundIPPrefixes": + if typedInput.OutboundIPPrefixes != nil { + var outboundIPPrefixes1 ManagedClusterLoadBalancerProfile_OutboundIPPrefixes + err := outboundIPPrefixes1.PopulateFromARM(owner, *typedInput.OutboundIPPrefixes) + if err != nil { + return err + } + outboundIPPrefixes := outboundIPPrefixes1 + profile.OutboundIPPrefixes = &outboundIPPrefixes + } + + // Set property "OutboundIPs": + if typedInput.OutboundIPs != nil { + var outboundIPs1 ManagedClusterLoadBalancerProfile_OutboundIPs + err := outboundIPs1.PopulateFromARM(owner, *typedInput.OutboundIPs) + if err != nil { + return err + } + outboundIPs := outboundIPs1 + profile.OutboundIPs = &outboundIPs + } + + // No error + return nil +} + +// AssignProperties_From_ManagedClusterLoadBalancerProfile populates our ManagedClusterLoadBalancerProfile from the provided source ManagedClusterLoadBalancerProfile +func (profile *ManagedClusterLoadBalancerProfile) AssignProperties_From_ManagedClusterLoadBalancerProfile(source *storage.ManagedClusterLoadBalancerProfile) error { + + // AllocatedOutboundPorts + if source.AllocatedOutboundPorts != nil { + allocatedOutboundPort := *source.AllocatedOutboundPorts + profile.AllocatedOutboundPorts = &allocatedOutboundPort + } else { + profile.AllocatedOutboundPorts = nil + } + + // BackendPoolType + if source.BackendPoolType != nil { + backendPoolType := *source.BackendPoolType + backendPoolTypeTemp := genruntime.ToEnum(backendPoolType, managedClusterLoadBalancerProfile_BackendPoolType_Values) + profile.BackendPoolType = &backendPoolTypeTemp + } else { + profile.BackendPoolType = nil + } + + // EffectiveOutboundIPs + if source.EffectiveOutboundIPs != nil { + effectiveOutboundIPList := make([]ResourceReference, len(source.EffectiveOutboundIPs)) + for effectiveOutboundIPIndex, effectiveOutboundIPItem := range source.EffectiveOutboundIPs { + // Shadow the loop variable to avoid aliasing + effectiveOutboundIPItem := effectiveOutboundIPItem + var effectiveOutboundIP ResourceReference + err := effectiveOutboundIP.AssignProperties_From_ResourceReference(&effectiveOutboundIPItem) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ResourceReference() to populate field EffectiveOutboundIPs") + } + effectiveOutboundIPList[effectiveOutboundIPIndex] = effectiveOutboundIP + } + profile.EffectiveOutboundIPs = effectiveOutboundIPList + } else { + profile.EffectiveOutboundIPs = nil + } + + // EnableMultipleStandardLoadBalancers + if source.EnableMultipleStandardLoadBalancers != nil { + enableMultipleStandardLoadBalancer := *source.EnableMultipleStandardLoadBalancers + profile.EnableMultipleStandardLoadBalancers = &enableMultipleStandardLoadBalancer + } else { + profile.EnableMultipleStandardLoadBalancers = nil + } + + // IdleTimeoutInMinutes + if source.IdleTimeoutInMinutes != nil { + idleTimeoutInMinute := *source.IdleTimeoutInMinutes + profile.IdleTimeoutInMinutes = &idleTimeoutInMinute + } else { + profile.IdleTimeoutInMinutes = nil + } + + // ManagedOutboundIPs + if source.ManagedOutboundIPs != nil { + var managedOutboundIP ManagedClusterLoadBalancerProfile_ManagedOutboundIPs + err := managedOutboundIP.AssignProperties_From_ManagedClusterLoadBalancerProfile_ManagedOutboundIPs(source.ManagedOutboundIPs) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterLoadBalancerProfile_ManagedOutboundIPs() to populate field ManagedOutboundIPs") + } + profile.ManagedOutboundIPs = &managedOutboundIP + } else { + profile.ManagedOutboundIPs = nil + } + + // OutboundIPPrefixes + if source.OutboundIPPrefixes != nil { + var outboundIPPrefix ManagedClusterLoadBalancerProfile_OutboundIPPrefixes + err := outboundIPPrefix.AssignProperties_From_ManagedClusterLoadBalancerProfile_OutboundIPPrefixes(source.OutboundIPPrefixes) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterLoadBalancerProfile_OutboundIPPrefixes() to populate field OutboundIPPrefixes") + } + profile.OutboundIPPrefixes = &outboundIPPrefix + } else { + profile.OutboundIPPrefixes = nil + } + + // OutboundIPs + if source.OutboundIPs != nil { + var outboundIP ManagedClusterLoadBalancerProfile_OutboundIPs + err := outboundIP.AssignProperties_From_ManagedClusterLoadBalancerProfile_OutboundIPs(source.OutboundIPs) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterLoadBalancerProfile_OutboundIPs() to populate field OutboundIPs") + } + profile.OutboundIPs = &outboundIP + } else { + profile.OutboundIPs = nil + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterLoadBalancerProfile populates the provided destination ManagedClusterLoadBalancerProfile from our ManagedClusterLoadBalancerProfile +func (profile *ManagedClusterLoadBalancerProfile) AssignProperties_To_ManagedClusterLoadBalancerProfile(destination *storage.ManagedClusterLoadBalancerProfile) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // AllocatedOutboundPorts + if profile.AllocatedOutboundPorts != nil { + allocatedOutboundPort := *profile.AllocatedOutboundPorts + destination.AllocatedOutboundPorts = &allocatedOutboundPort + } else { + destination.AllocatedOutboundPorts = nil + } + + // BackendPoolType + if profile.BackendPoolType != nil { + backendPoolType := string(*profile.BackendPoolType) + destination.BackendPoolType = &backendPoolType + } else { + destination.BackendPoolType = nil + } + + // EffectiveOutboundIPs + if profile.EffectiveOutboundIPs != nil { + effectiveOutboundIPList := make([]storage.ResourceReference, len(profile.EffectiveOutboundIPs)) + for effectiveOutboundIPIndex, effectiveOutboundIPItem := range profile.EffectiveOutboundIPs { + // Shadow the loop variable to avoid aliasing + effectiveOutboundIPItem := effectiveOutboundIPItem + var effectiveOutboundIP storage.ResourceReference + err := effectiveOutboundIPItem.AssignProperties_To_ResourceReference(&effectiveOutboundIP) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ResourceReference() to populate field EffectiveOutboundIPs") + } + effectiveOutboundIPList[effectiveOutboundIPIndex] = effectiveOutboundIP + } + destination.EffectiveOutboundIPs = effectiveOutboundIPList + } else { + destination.EffectiveOutboundIPs = nil + } + + // EnableMultipleStandardLoadBalancers + if profile.EnableMultipleStandardLoadBalancers != nil { + enableMultipleStandardLoadBalancer := *profile.EnableMultipleStandardLoadBalancers + destination.EnableMultipleStandardLoadBalancers = &enableMultipleStandardLoadBalancer + } else { + destination.EnableMultipleStandardLoadBalancers = nil + } + + // IdleTimeoutInMinutes + if profile.IdleTimeoutInMinutes != nil { + idleTimeoutInMinute := *profile.IdleTimeoutInMinutes + destination.IdleTimeoutInMinutes = &idleTimeoutInMinute + } else { + destination.IdleTimeoutInMinutes = nil + } + + // ManagedOutboundIPs + if profile.ManagedOutboundIPs != nil { + var managedOutboundIP storage.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs + err := profile.ManagedOutboundIPs.AssignProperties_To_ManagedClusterLoadBalancerProfile_ManagedOutboundIPs(&managedOutboundIP) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterLoadBalancerProfile_ManagedOutboundIPs() to populate field ManagedOutboundIPs") + } + destination.ManagedOutboundIPs = &managedOutboundIP + } else { + destination.ManagedOutboundIPs = nil + } + + // OutboundIPPrefixes + if profile.OutboundIPPrefixes != nil { + var outboundIPPrefix storage.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes + err := profile.OutboundIPPrefixes.AssignProperties_To_ManagedClusterLoadBalancerProfile_OutboundIPPrefixes(&outboundIPPrefix) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterLoadBalancerProfile_OutboundIPPrefixes() to populate field OutboundIPPrefixes") + } + destination.OutboundIPPrefixes = &outboundIPPrefix + } else { + destination.OutboundIPPrefixes = nil + } + + // OutboundIPs + if profile.OutboundIPs != nil { + var outboundIP storage.ManagedClusterLoadBalancerProfile_OutboundIPs + err := profile.OutboundIPs.AssignProperties_To_ManagedClusterLoadBalancerProfile_OutboundIPs(&outboundIP) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterLoadBalancerProfile_OutboundIPs() to populate field OutboundIPs") + } + destination.OutboundIPs = &outboundIP + } else { + destination.OutboundIPs = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_ManagedClusterLoadBalancerProfile_STATUS populates our ManagedClusterLoadBalancerProfile from the provided source ManagedClusterLoadBalancerProfile_STATUS +func (profile *ManagedClusterLoadBalancerProfile) Initialize_From_ManagedClusterLoadBalancerProfile_STATUS(source *ManagedClusterLoadBalancerProfile_STATUS) error { + + // AllocatedOutboundPorts + if source.AllocatedOutboundPorts != nil { + allocatedOutboundPort := *source.AllocatedOutboundPorts + profile.AllocatedOutboundPorts = &allocatedOutboundPort + } else { + profile.AllocatedOutboundPorts = nil + } + + // BackendPoolType + if source.BackendPoolType != nil { + backendPoolType := genruntime.ToEnum(string(*source.BackendPoolType), managedClusterLoadBalancerProfile_BackendPoolType_Values) + profile.BackendPoolType = &backendPoolType + } else { + profile.BackendPoolType = nil + } + + // EffectiveOutboundIPs + if source.EffectiveOutboundIPs != nil { + effectiveOutboundIPList := make([]ResourceReference, len(source.EffectiveOutboundIPs)) + for effectiveOutboundIPIndex, effectiveOutboundIPItem := range source.EffectiveOutboundIPs { + // Shadow the loop variable to avoid aliasing + effectiveOutboundIPItem := effectiveOutboundIPItem + var effectiveOutboundIP ResourceReference + err := effectiveOutboundIP.Initialize_From_ResourceReference_STATUS(&effectiveOutboundIPItem) + if err != nil { + return errors.Wrap(err, "calling Initialize_From_ResourceReference_STATUS() to populate field EffectiveOutboundIPs") + } + effectiveOutboundIPList[effectiveOutboundIPIndex] = effectiveOutboundIP + } + profile.EffectiveOutboundIPs = effectiveOutboundIPList + } else { + profile.EffectiveOutboundIPs = nil + } + + // EnableMultipleStandardLoadBalancers + if source.EnableMultipleStandardLoadBalancers != nil { + enableMultipleStandardLoadBalancer := *source.EnableMultipleStandardLoadBalancers + profile.EnableMultipleStandardLoadBalancers = &enableMultipleStandardLoadBalancer + } else { + profile.EnableMultipleStandardLoadBalancers = nil + } + + // IdleTimeoutInMinutes + if source.IdleTimeoutInMinutes != nil { + idleTimeoutInMinute := *source.IdleTimeoutInMinutes + profile.IdleTimeoutInMinutes = &idleTimeoutInMinute + } else { + profile.IdleTimeoutInMinutes = nil + } + + // ManagedOutboundIPs + if source.ManagedOutboundIPs != nil { + var managedOutboundIP ManagedClusterLoadBalancerProfile_ManagedOutboundIPs + err := managedOutboundIP.Initialize_From_ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS(source.ManagedOutboundIPs) + if err != nil { + return errors.Wrap(err, "calling Initialize_From_ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS() to populate field ManagedOutboundIPs") + } + profile.ManagedOutboundIPs = &managedOutboundIP + } else { + profile.ManagedOutboundIPs = nil + } + + // OutboundIPPrefixes + if source.OutboundIPPrefixes != nil { + var outboundIPPrefix ManagedClusterLoadBalancerProfile_OutboundIPPrefixes + err := outboundIPPrefix.Initialize_From_ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS(source.OutboundIPPrefixes) + if err != nil { + return errors.Wrap(err, "calling Initialize_From_ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS() to populate field OutboundIPPrefixes") + } + profile.OutboundIPPrefixes = &outboundIPPrefix + } else { + profile.OutboundIPPrefixes = nil + } + + // OutboundIPs + if source.OutboundIPs != nil { + var outboundIP ManagedClusterLoadBalancerProfile_OutboundIPs + err := outboundIP.Initialize_From_ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS(source.OutboundIPs) + if err != nil { + return errors.Wrap(err, "calling Initialize_From_ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS() to populate field OutboundIPs") + } + profile.OutboundIPs = &outboundIP + } else { + profile.OutboundIPs = nil + } + + // No error + return nil +} + +// Profile of the managed cluster load balancer. +type ManagedClusterLoadBalancerProfile_STATUS struct { + // AllocatedOutboundPorts: The desired number of allocated SNAT ports per VM. Allowed values are in the range of 0 to 64000 + // (inclusive). The default value is 0 which results in Azure dynamically allocating ports. + AllocatedOutboundPorts *int `json:"allocatedOutboundPorts,omitempty"` + + // BackendPoolType: The type of the managed inbound Load Balancer BackendPool. + BackendPoolType *ManagedClusterLoadBalancerProfile_BackendPoolType_STATUS `json:"backendPoolType,omitempty"` + + // EffectiveOutboundIPs: The effective outbound IP resources of the cluster load balancer. + EffectiveOutboundIPs []ResourceReference_STATUS `json:"effectiveOutboundIPs,omitempty"` + + // EnableMultipleStandardLoadBalancers: Enable multiple standard load balancers per AKS cluster or not. + EnableMultipleStandardLoadBalancers *bool `json:"enableMultipleStandardLoadBalancers,omitempty"` + + // IdleTimeoutInMinutes: Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 + // (inclusive). The default value is 30 minutes. + IdleTimeoutInMinutes *int `json:"idleTimeoutInMinutes,omitempty"` + + // ManagedOutboundIPs: Desired managed outbound IPs for the cluster load balancer. + ManagedOutboundIPs *ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS `json:"managedOutboundIPs,omitempty"` + + // OutboundIPPrefixes: Desired outbound IP Prefix resources for the cluster load balancer. + OutboundIPPrefixes *ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS `json:"outboundIPPrefixes,omitempty"` + + // OutboundIPs: Desired outbound IP resources for the cluster load balancer. + OutboundIPs *ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS `json:"outboundIPs,omitempty"` +} + +var _ genruntime.FromARMConverter = &ManagedClusterLoadBalancerProfile_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (profile *ManagedClusterLoadBalancerProfile_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ManagedClusterLoadBalancerProfile_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (profile *ManagedClusterLoadBalancerProfile_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ManagedClusterLoadBalancerProfile_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ManagedClusterLoadBalancerProfile_STATUS, got %T", armInput) + } + + // Set property "AllocatedOutboundPorts": + if typedInput.AllocatedOutboundPorts != nil { + allocatedOutboundPorts := *typedInput.AllocatedOutboundPorts + profile.AllocatedOutboundPorts = &allocatedOutboundPorts + } + + // Set property "BackendPoolType": + if typedInput.BackendPoolType != nil { + var temp string + temp = string(*typedInput.BackendPoolType) + backendPoolType := ManagedClusterLoadBalancerProfile_BackendPoolType_STATUS(temp) + profile.BackendPoolType = &backendPoolType + } + + // Set property "EffectiveOutboundIPs": + for _, item := range typedInput.EffectiveOutboundIPs { + var item1 ResourceReference_STATUS + err := item1.PopulateFromARM(owner, item) + if err != nil { + return err + } + profile.EffectiveOutboundIPs = append(profile.EffectiveOutboundIPs, item1) + } + + // Set property "EnableMultipleStandardLoadBalancers": + if typedInput.EnableMultipleStandardLoadBalancers != nil { + enableMultipleStandardLoadBalancers := *typedInput.EnableMultipleStandardLoadBalancers + profile.EnableMultipleStandardLoadBalancers = &enableMultipleStandardLoadBalancers + } + + // Set property "IdleTimeoutInMinutes": + if typedInput.IdleTimeoutInMinutes != nil { + idleTimeoutInMinutes := *typedInput.IdleTimeoutInMinutes + profile.IdleTimeoutInMinutes = &idleTimeoutInMinutes + } + + // Set property "ManagedOutboundIPs": + if typedInput.ManagedOutboundIPs != nil { + var managedOutboundIPs1 ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS + err := managedOutboundIPs1.PopulateFromARM(owner, *typedInput.ManagedOutboundIPs) + if err != nil { + return err + } + managedOutboundIPs := managedOutboundIPs1 + profile.ManagedOutboundIPs = &managedOutboundIPs + } + + // Set property "OutboundIPPrefixes": + if typedInput.OutboundIPPrefixes != nil { + var outboundIPPrefixes1 ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS + err := outboundIPPrefixes1.PopulateFromARM(owner, *typedInput.OutboundIPPrefixes) + if err != nil { + return err + } + outboundIPPrefixes := outboundIPPrefixes1 + profile.OutboundIPPrefixes = &outboundIPPrefixes + } + + // Set property "OutboundIPs": + if typedInput.OutboundIPs != nil { + var outboundIPs1 ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS + err := outboundIPs1.PopulateFromARM(owner, *typedInput.OutboundIPs) + if err != nil { + return err + } + outboundIPs := outboundIPs1 + profile.OutboundIPs = &outboundIPs + } + + // No error + return nil +} + +// AssignProperties_From_ManagedClusterLoadBalancerProfile_STATUS populates our ManagedClusterLoadBalancerProfile_STATUS from the provided source ManagedClusterLoadBalancerProfile_STATUS +func (profile *ManagedClusterLoadBalancerProfile_STATUS) AssignProperties_From_ManagedClusterLoadBalancerProfile_STATUS(source *storage.ManagedClusterLoadBalancerProfile_STATUS) error { + + // AllocatedOutboundPorts + profile.AllocatedOutboundPorts = genruntime.ClonePointerToInt(source.AllocatedOutboundPorts) + + // BackendPoolType + if source.BackendPoolType != nil { + backendPoolType := *source.BackendPoolType + backendPoolTypeTemp := genruntime.ToEnum(backendPoolType, managedClusterLoadBalancerProfile_BackendPoolType_STATUS_Values) + profile.BackendPoolType = &backendPoolTypeTemp + } else { + profile.BackendPoolType = nil + } + + // EffectiveOutboundIPs + if source.EffectiveOutboundIPs != nil { + effectiveOutboundIPList := make([]ResourceReference_STATUS, len(source.EffectiveOutboundIPs)) + for effectiveOutboundIPIndex, effectiveOutboundIPItem := range source.EffectiveOutboundIPs { + // Shadow the loop variable to avoid aliasing + effectiveOutboundIPItem := effectiveOutboundIPItem + var effectiveOutboundIP ResourceReference_STATUS + err := effectiveOutboundIP.AssignProperties_From_ResourceReference_STATUS(&effectiveOutboundIPItem) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ResourceReference_STATUS() to populate field EffectiveOutboundIPs") + } + effectiveOutboundIPList[effectiveOutboundIPIndex] = effectiveOutboundIP + } + profile.EffectiveOutboundIPs = effectiveOutboundIPList + } else { + profile.EffectiveOutboundIPs = nil + } + + // EnableMultipleStandardLoadBalancers + if source.EnableMultipleStandardLoadBalancers != nil { + enableMultipleStandardLoadBalancer := *source.EnableMultipleStandardLoadBalancers + profile.EnableMultipleStandardLoadBalancers = &enableMultipleStandardLoadBalancer + } else { + profile.EnableMultipleStandardLoadBalancers = nil + } + + // IdleTimeoutInMinutes + profile.IdleTimeoutInMinutes = genruntime.ClonePointerToInt(source.IdleTimeoutInMinutes) + + // ManagedOutboundIPs + if source.ManagedOutboundIPs != nil { + var managedOutboundIP ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS + err := managedOutboundIP.AssignProperties_From_ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS(source.ManagedOutboundIPs) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS() to populate field ManagedOutboundIPs") + } + profile.ManagedOutboundIPs = &managedOutboundIP + } else { + profile.ManagedOutboundIPs = nil + } + + // OutboundIPPrefixes + if source.OutboundIPPrefixes != nil { + var outboundIPPrefix ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS + err := outboundIPPrefix.AssignProperties_From_ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS(source.OutboundIPPrefixes) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS() to populate field OutboundIPPrefixes") + } + profile.OutboundIPPrefixes = &outboundIPPrefix + } else { + profile.OutboundIPPrefixes = nil + } + + // OutboundIPs + if source.OutboundIPs != nil { + var outboundIP ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS + err := outboundIP.AssignProperties_From_ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS(source.OutboundIPs) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS() to populate field OutboundIPs") + } + profile.OutboundIPs = &outboundIP + } else { + profile.OutboundIPs = nil + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterLoadBalancerProfile_STATUS populates the provided destination ManagedClusterLoadBalancerProfile_STATUS from our ManagedClusterLoadBalancerProfile_STATUS +func (profile *ManagedClusterLoadBalancerProfile_STATUS) AssignProperties_To_ManagedClusterLoadBalancerProfile_STATUS(destination *storage.ManagedClusterLoadBalancerProfile_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // AllocatedOutboundPorts + destination.AllocatedOutboundPorts = genruntime.ClonePointerToInt(profile.AllocatedOutboundPorts) + + // BackendPoolType + if profile.BackendPoolType != nil { + backendPoolType := string(*profile.BackendPoolType) + destination.BackendPoolType = &backendPoolType + } else { + destination.BackendPoolType = nil + } + + // EffectiveOutboundIPs + if profile.EffectiveOutboundIPs != nil { + effectiveOutboundIPList := make([]storage.ResourceReference_STATUS, len(profile.EffectiveOutboundIPs)) + for effectiveOutboundIPIndex, effectiveOutboundIPItem := range profile.EffectiveOutboundIPs { + // Shadow the loop variable to avoid aliasing + effectiveOutboundIPItem := effectiveOutboundIPItem + var effectiveOutboundIP storage.ResourceReference_STATUS + err := effectiveOutboundIPItem.AssignProperties_To_ResourceReference_STATUS(&effectiveOutboundIP) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ResourceReference_STATUS() to populate field EffectiveOutboundIPs") + } + effectiveOutboundIPList[effectiveOutboundIPIndex] = effectiveOutboundIP + } + destination.EffectiveOutboundIPs = effectiveOutboundIPList + } else { + destination.EffectiveOutboundIPs = nil + } + + // EnableMultipleStandardLoadBalancers + if profile.EnableMultipleStandardLoadBalancers != nil { + enableMultipleStandardLoadBalancer := *profile.EnableMultipleStandardLoadBalancers + destination.EnableMultipleStandardLoadBalancers = &enableMultipleStandardLoadBalancer + } else { + destination.EnableMultipleStandardLoadBalancers = nil + } + + // IdleTimeoutInMinutes + destination.IdleTimeoutInMinutes = genruntime.ClonePointerToInt(profile.IdleTimeoutInMinutes) + + // ManagedOutboundIPs + if profile.ManagedOutboundIPs != nil { + var managedOutboundIP storage.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS + err := profile.ManagedOutboundIPs.AssignProperties_To_ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS(&managedOutboundIP) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS() to populate field ManagedOutboundIPs") + } + destination.ManagedOutboundIPs = &managedOutboundIP + } else { + destination.ManagedOutboundIPs = nil + } + + // OutboundIPPrefixes + if profile.OutboundIPPrefixes != nil { + var outboundIPPrefix storage.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS + err := profile.OutboundIPPrefixes.AssignProperties_To_ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS(&outboundIPPrefix) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS() to populate field OutboundIPPrefixes") + } + destination.OutboundIPPrefixes = &outboundIPPrefix + } else { + destination.OutboundIPPrefixes = nil + } + + // OutboundIPs + if profile.OutboundIPs != nil { + var outboundIP storage.ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS + err := profile.OutboundIPs.AssignProperties_To_ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS(&outboundIP) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS() to populate field OutboundIPs") + } + destination.OutboundIPs = &outboundIP + } else { + destination.OutboundIPs = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Profile of the managed cluster NAT gateway. +type ManagedClusterNATGatewayProfile struct { + // EffectiveOutboundIPs: The effective outbound IP resources of the cluster NAT gateway. + EffectiveOutboundIPs []ResourceReference `json:"effectiveOutboundIPs,omitempty"` + + // +kubebuilder:validation:Maximum=120 + // +kubebuilder:validation:Minimum=4 + // IdleTimeoutInMinutes: Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 + // (inclusive). The default value is 4 minutes. + IdleTimeoutInMinutes *int `json:"idleTimeoutInMinutes,omitempty"` + + // ManagedOutboundIPProfile: Profile of the managed outbound IP resources of the cluster NAT gateway. + ManagedOutboundIPProfile *ManagedClusterManagedOutboundIPProfile `json:"managedOutboundIPProfile,omitempty"` +} + +var _ genruntime.ARMTransformer = &ManagedClusterNATGatewayProfile{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (profile *ManagedClusterNATGatewayProfile) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if profile == nil { + return nil, nil + } + result := &arm.ManagedClusterNATGatewayProfile{} + + // Set property "EffectiveOutboundIPs": + for _, item := range profile.EffectiveOutboundIPs { + item_ARM, err := item.ConvertToARM(resolved) + if err != nil { + return nil, err + } + result.EffectiveOutboundIPs = append(result.EffectiveOutboundIPs, *item_ARM.(*arm.ResourceReference)) + } + + // Set property "IdleTimeoutInMinutes": + if profile.IdleTimeoutInMinutes != nil { + idleTimeoutInMinutes := *profile.IdleTimeoutInMinutes + result.IdleTimeoutInMinutes = &idleTimeoutInMinutes + } + + // Set property "ManagedOutboundIPProfile": + if profile.ManagedOutboundIPProfile != nil { + managedOutboundIPProfile_ARM, err := (*profile.ManagedOutboundIPProfile).ConvertToARM(resolved) + if err != nil { + return nil, err + } + managedOutboundIPProfile := *managedOutboundIPProfile_ARM.(*arm.ManagedClusterManagedOutboundIPProfile) + result.ManagedOutboundIPProfile = &managedOutboundIPProfile + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (profile *ManagedClusterNATGatewayProfile) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ManagedClusterNATGatewayProfile{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (profile *ManagedClusterNATGatewayProfile) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ManagedClusterNATGatewayProfile) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ManagedClusterNATGatewayProfile, got %T", armInput) + } + + // Set property "EffectiveOutboundIPs": + for _, item := range typedInput.EffectiveOutboundIPs { + var item1 ResourceReference + err := item1.PopulateFromARM(owner, item) + if err != nil { + return err + } + profile.EffectiveOutboundIPs = append(profile.EffectiveOutboundIPs, item1) + } + + // Set property "IdleTimeoutInMinutes": + if typedInput.IdleTimeoutInMinutes != nil { + idleTimeoutInMinutes := *typedInput.IdleTimeoutInMinutes + profile.IdleTimeoutInMinutes = &idleTimeoutInMinutes + } + + // Set property "ManagedOutboundIPProfile": + if typedInput.ManagedOutboundIPProfile != nil { + var managedOutboundIPProfile1 ManagedClusterManagedOutboundIPProfile + err := managedOutboundIPProfile1.PopulateFromARM(owner, *typedInput.ManagedOutboundIPProfile) + if err != nil { + return err + } + managedOutboundIPProfile := managedOutboundIPProfile1 + profile.ManagedOutboundIPProfile = &managedOutboundIPProfile + } + + // No error + return nil +} + +// AssignProperties_From_ManagedClusterNATGatewayProfile populates our ManagedClusterNATGatewayProfile from the provided source ManagedClusterNATGatewayProfile +func (profile *ManagedClusterNATGatewayProfile) AssignProperties_From_ManagedClusterNATGatewayProfile(source *storage.ManagedClusterNATGatewayProfile) error { + + // EffectiveOutboundIPs + if source.EffectiveOutboundIPs != nil { + effectiveOutboundIPList := make([]ResourceReference, len(source.EffectiveOutboundIPs)) + for effectiveOutboundIPIndex, effectiveOutboundIPItem := range source.EffectiveOutboundIPs { + // Shadow the loop variable to avoid aliasing + effectiveOutboundIPItem := effectiveOutboundIPItem + var effectiveOutboundIP ResourceReference + err := effectiveOutboundIP.AssignProperties_From_ResourceReference(&effectiveOutboundIPItem) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ResourceReference() to populate field EffectiveOutboundIPs") + } + effectiveOutboundIPList[effectiveOutboundIPIndex] = effectiveOutboundIP + } + profile.EffectiveOutboundIPs = effectiveOutboundIPList + } else { + profile.EffectiveOutboundIPs = nil + } + + // IdleTimeoutInMinutes + if source.IdleTimeoutInMinutes != nil { + idleTimeoutInMinute := *source.IdleTimeoutInMinutes + profile.IdleTimeoutInMinutes = &idleTimeoutInMinute + } else { + profile.IdleTimeoutInMinutes = nil + } + + // ManagedOutboundIPProfile + if source.ManagedOutboundIPProfile != nil { + var managedOutboundIPProfile ManagedClusterManagedOutboundIPProfile + err := managedOutboundIPProfile.AssignProperties_From_ManagedClusterManagedOutboundIPProfile(source.ManagedOutboundIPProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterManagedOutboundIPProfile() to populate field ManagedOutboundIPProfile") + } + profile.ManagedOutboundIPProfile = &managedOutboundIPProfile + } else { + profile.ManagedOutboundIPProfile = nil + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterNATGatewayProfile populates the provided destination ManagedClusterNATGatewayProfile from our ManagedClusterNATGatewayProfile +func (profile *ManagedClusterNATGatewayProfile) AssignProperties_To_ManagedClusterNATGatewayProfile(destination *storage.ManagedClusterNATGatewayProfile) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // EffectiveOutboundIPs + if profile.EffectiveOutboundIPs != nil { + effectiveOutboundIPList := make([]storage.ResourceReference, len(profile.EffectiveOutboundIPs)) + for effectiveOutboundIPIndex, effectiveOutboundIPItem := range profile.EffectiveOutboundIPs { + // Shadow the loop variable to avoid aliasing + effectiveOutboundIPItem := effectiveOutboundIPItem + var effectiveOutboundIP storage.ResourceReference + err := effectiveOutboundIPItem.AssignProperties_To_ResourceReference(&effectiveOutboundIP) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ResourceReference() to populate field EffectiveOutboundIPs") + } + effectiveOutboundIPList[effectiveOutboundIPIndex] = effectiveOutboundIP + } + destination.EffectiveOutboundIPs = effectiveOutboundIPList + } else { + destination.EffectiveOutboundIPs = nil + } + + // IdleTimeoutInMinutes + if profile.IdleTimeoutInMinutes != nil { + idleTimeoutInMinute := *profile.IdleTimeoutInMinutes + destination.IdleTimeoutInMinutes = &idleTimeoutInMinute + } else { + destination.IdleTimeoutInMinutes = nil + } + + // ManagedOutboundIPProfile + if profile.ManagedOutboundIPProfile != nil { + var managedOutboundIPProfile storage.ManagedClusterManagedOutboundIPProfile + err := profile.ManagedOutboundIPProfile.AssignProperties_To_ManagedClusterManagedOutboundIPProfile(&managedOutboundIPProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterManagedOutboundIPProfile() to populate field ManagedOutboundIPProfile") + } + destination.ManagedOutboundIPProfile = &managedOutboundIPProfile + } else { + destination.ManagedOutboundIPProfile = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_ManagedClusterNATGatewayProfile_STATUS populates our ManagedClusterNATGatewayProfile from the provided source ManagedClusterNATGatewayProfile_STATUS +func (profile *ManagedClusterNATGatewayProfile) Initialize_From_ManagedClusterNATGatewayProfile_STATUS(source *ManagedClusterNATGatewayProfile_STATUS) error { + + // EffectiveOutboundIPs + if source.EffectiveOutboundIPs != nil { + effectiveOutboundIPList := make([]ResourceReference, len(source.EffectiveOutboundIPs)) + for effectiveOutboundIPIndex, effectiveOutboundIPItem := range source.EffectiveOutboundIPs { + // Shadow the loop variable to avoid aliasing + effectiveOutboundIPItem := effectiveOutboundIPItem + var effectiveOutboundIP ResourceReference + err := effectiveOutboundIP.Initialize_From_ResourceReference_STATUS(&effectiveOutboundIPItem) + if err != nil { + return errors.Wrap(err, "calling Initialize_From_ResourceReference_STATUS() to populate field EffectiveOutboundIPs") + } + effectiveOutboundIPList[effectiveOutboundIPIndex] = effectiveOutboundIP + } + profile.EffectiveOutboundIPs = effectiveOutboundIPList + } else { + profile.EffectiveOutboundIPs = nil + } + + // IdleTimeoutInMinutes + if source.IdleTimeoutInMinutes != nil { + idleTimeoutInMinute := *source.IdleTimeoutInMinutes + profile.IdleTimeoutInMinutes = &idleTimeoutInMinute + } else { + profile.IdleTimeoutInMinutes = nil + } + + // ManagedOutboundIPProfile + if source.ManagedOutboundIPProfile != nil { + var managedOutboundIPProfile ManagedClusterManagedOutboundIPProfile + err := managedOutboundIPProfile.Initialize_From_ManagedClusterManagedOutboundIPProfile_STATUS(source.ManagedOutboundIPProfile) + if err != nil { + return errors.Wrap(err, "calling Initialize_From_ManagedClusterManagedOutboundIPProfile_STATUS() to populate field ManagedOutboundIPProfile") + } + profile.ManagedOutboundIPProfile = &managedOutboundIPProfile + } else { + profile.ManagedOutboundIPProfile = nil + } + + // No error + return nil +} + +// Profile of the managed cluster NAT gateway. +type ManagedClusterNATGatewayProfile_STATUS struct { + // EffectiveOutboundIPs: The effective outbound IP resources of the cluster NAT gateway. + EffectiveOutboundIPs []ResourceReference_STATUS `json:"effectiveOutboundIPs,omitempty"` + + // IdleTimeoutInMinutes: Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 + // (inclusive). The default value is 4 minutes. + IdleTimeoutInMinutes *int `json:"idleTimeoutInMinutes,omitempty"` + + // ManagedOutboundIPProfile: Profile of the managed outbound IP resources of the cluster NAT gateway. + ManagedOutboundIPProfile *ManagedClusterManagedOutboundIPProfile_STATUS `json:"managedOutboundIPProfile,omitempty"` +} + +var _ genruntime.FromARMConverter = &ManagedClusterNATGatewayProfile_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (profile *ManagedClusterNATGatewayProfile_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ManagedClusterNATGatewayProfile_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (profile *ManagedClusterNATGatewayProfile_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ManagedClusterNATGatewayProfile_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ManagedClusterNATGatewayProfile_STATUS, got %T", armInput) + } + + // Set property "EffectiveOutboundIPs": + for _, item := range typedInput.EffectiveOutboundIPs { + var item1 ResourceReference_STATUS + err := item1.PopulateFromARM(owner, item) + if err != nil { + return err + } + profile.EffectiveOutboundIPs = append(profile.EffectiveOutboundIPs, item1) + } + + // Set property "IdleTimeoutInMinutes": + if typedInput.IdleTimeoutInMinutes != nil { + idleTimeoutInMinutes := *typedInput.IdleTimeoutInMinutes + profile.IdleTimeoutInMinutes = &idleTimeoutInMinutes + } + + // Set property "ManagedOutboundIPProfile": + if typedInput.ManagedOutboundIPProfile != nil { + var managedOutboundIPProfile1 ManagedClusterManagedOutboundIPProfile_STATUS + err := managedOutboundIPProfile1.PopulateFromARM(owner, *typedInput.ManagedOutboundIPProfile) + if err != nil { + return err + } + managedOutboundIPProfile := managedOutboundIPProfile1 + profile.ManagedOutboundIPProfile = &managedOutboundIPProfile + } + + // No error + return nil +} + +// AssignProperties_From_ManagedClusterNATGatewayProfile_STATUS populates our ManagedClusterNATGatewayProfile_STATUS from the provided source ManagedClusterNATGatewayProfile_STATUS +func (profile *ManagedClusterNATGatewayProfile_STATUS) AssignProperties_From_ManagedClusterNATGatewayProfile_STATUS(source *storage.ManagedClusterNATGatewayProfile_STATUS) error { + + // EffectiveOutboundIPs + if source.EffectiveOutboundIPs != nil { + effectiveOutboundIPList := make([]ResourceReference_STATUS, len(source.EffectiveOutboundIPs)) + for effectiveOutboundIPIndex, effectiveOutboundIPItem := range source.EffectiveOutboundIPs { + // Shadow the loop variable to avoid aliasing + effectiveOutboundIPItem := effectiveOutboundIPItem + var effectiveOutboundIP ResourceReference_STATUS + err := effectiveOutboundIP.AssignProperties_From_ResourceReference_STATUS(&effectiveOutboundIPItem) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ResourceReference_STATUS() to populate field EffectiveOutboundIPs") + } + effectiveOutboundIPList[effectiveOutboundIPIndex] = effectiveOutboundIP + } + profile.EffectiveOutboundIPs = effectiveOutboundIPList + } else { + profile.EffectiveOutboundIPs = nil + } + + // IdleTimeoutInMinutes + profile.IdleTimeoutInMinutes = genruntime.ClonePointerToInt(source.IdleTimeoutInMinutes) + + // ManagedOutboundIPProfile + if source.ManagedOutboundIPProfile != nil { + var managedOutboundIPProfile ManagedClusterManagedOutboundIPProfile_STATUS + err := managedOutboundIPProfile.AssignProperties_From_ManagedClusterManagedOutboundIPProfile_STATUS(source.ManagedOutboundIPProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterManagedOutboundIPProfile_STATUS() to populate field ManagedOutboundIPProfile") + } + profile.ManagedOutboundIPProfile = &managedOutboundIPProfile + } else { + profile.ManagedOutboundIPProfile = nil + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterNATGatewayProfile_STATUS populates the provided destination ManagedClusterNATGatewayProfile_STATUS from our ManagedClusterNATGatewayProfile_STATUS +func (profile *ManagedClusterNATGatewayProfile_STATUS) AssignProperties_To_ManagedClusterNATGatewayProfile_STATUS(destination *storage.ManagedClusterNATGatewayProfile_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // EffectiveOutboundIPs + if profile.EffectiveOutboundIPs != nil { + effectiveOutboundIPList := make([]storage.ResourceReference_STATUS, len(profile.EffectiveOutboundIPs)) + for effectiveOutboundIPIndex, effectiveOutboundIPItem := range profile.EffectiveOutboundIPs { + // Shadow the loop variable to avoid aliasing + effectiveOutboundIPItem := effectiveOutboundIPItem + var effectiveOutboundIP storage.ResourceReference_STATUS + err := effectiveOutboundIPItem.AssignProperties_To_ResourceReference_STATUS(&effectiveOutboundIP) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ResourceReference_STATUS() to populate field EffectiveOutboundIPs") + } + effectiveOutboundIPList[effectiveOutboundIPIndex] = effectiveOutboundIP + } + destination.EffectiveOutboundIPs = effectiveOutboundIPList + } else { + destination.EffectiveOutboundIPs = nil + } + + // IdleTimeoutInMinutes + destination.IdleTimeoutInMinutes = genruntime.ClonePointerToInt(profile.IdleTimeoutInMinutes) + + // ManagedOutboundIPProfile + if profile.ManagedOutboundIPProfile != nil { + var managedOutboundIPProfile storage.ManagedClusterManagedOutboundIPProfile_STATUS + err := profile.ManagedOutboundIPProfile.AssignProperties_To_ManagedClusterManagedOutboundIPProfile_STATUS(&managedOutboundIPProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterManagedOutboundIPProfile_STATUS() to populate field ManagedOutboundIPProfile") + } + destination.ManagedOutboundIPProfile = &managedOutboundIPProfile + } else { + destination.ManagedOutboundIPProfile = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// +kubebuilder:validation:Enum={"ReadOnly","Unrestricted"} +type ManagedClusterNodeResourceGroupProfile_RestrictionLevel string + +const ( + ManagedClusterNodeResourceGroupProfile_RestrictionLevel_ReadOnly = ManagedClusterNodeResourceGroupProfile_RestrictionLevel("ReadOnly") + ManagedClusterNodeResourceGroupProfile_RestrictionLevel_Unrestricted = ManagedClusterNodeResourceGroupProfile_RestrictionLevel("Unrestricted") +) + +// Mapping from string to ManagedClusterNodeResourceGroupProfile_RestrictionLevel +var managedClusterNodeResourceGroupProfile_RestrictionLevel_Values = map[string]ManagedClusterNodeResourceGroupProfile_RestrictionLevel{ + "readonly": ManagedClusterNodeResourceGroupProfile_RestrictionLevel_ReadOnly, + "unrestricted": ManagedClusterNodeResourceGroupProfile_RestrictionLevel_Unrestricted, +} + +type ManagedClusterNodeResourceGroupProfile_RestrictionLevel_STATUS string + +const ( + ManagedClusterNodeResourceGroupProfile_RestrictionLevel_STATUS_ReadOnly = ManagedClusterNodeResourceGroupProfile_RestrictionLevel_STATUS("ReadOnly") + ManagedClusterNodeResourceGroupProfile_RestrictionLevel_STATUS_Unrestricted = ManagedClusterNodeResourceGroupProfile_RestrictionLevel_STATUS("Unrestricted") +) + +// Mapping from string to ManagedClusterNodeResourceGroupProfile_RestrictionLevel_STATUS +var managedClusterNodeResourceGroupProfile_RestrictionLevel_STATUS_Values = map[string]ManagedClusterNodeResourceGroupProfile_RestrictionLevel_STATUS{ + "readonly": ManagedClusterNodeResourceGroupProfile_RestrictionLevel_STATUS_ReadOnly, + "unrestricted": ManagedClusterNodeResourceGroupProfile_RestrictionLevel_STATUS_Unrestricted, +} + +type ManagedClusterOperatorConfigMaps struct { + // OIDCIssuerProfile: indicates where the OIDCIssuerProfile config map should be placed. If omitted, no config map will be + // created. + OIDCIssuerProfile *genruntime.ConfigMapDestination `json:"oidcIssuerProfile,omitempty"` +} + +// AssignProperties_From_ManagedClusterOperatorConfigMaps populates our ManagedClusterOperatorConfigMaps from the provided source ManagedClusterOperatorConfigMaps +func (maps *ManagedClusterOperatorConfigMaps) AssignProperties_From_ManagedClusterOperatorConfigMaps(source *storage.ManagedClusterOperatorConfigMaps) error { + + // OIDCIssuerProfile + if source.OIDCIssuerProfile != nil { + oidcIssuerProfile := source.OIDCIssuerProfile.Copy() + maps.OIDCIssuerProfile = &oidcIssuerProfile + } else { + maps.OIDCIssuerProfile = nil + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterOperatorConfigMaps populates the provided destination ManagedClusterOperatorConfigMaps from our ManagedClusterOperatorConfigMaps +func (maps *ManagedClusterOperatorConfigMaps) AssignProperties_To_ManagedClusterOperatorConfigMaps(destination *storage.ManagedClusterOperatorConfigMaps) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // OIDCIssuerProfile + if maps.OIDCIssuerProfile != nil { + oidcIssuerProfile := maps.OIDCIssuerProfile.Copy() + destination.OIDCIssuerProfile = &oidcIssuerProfile + } else { + destination.OIDCIssuerProfile = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +type ManagedClusterOperatorSecrets struct { + // AdminCredentials: indicates where the AdminCredentials secret should be placed. If omitted, the secret will not be + // retrieved from Azure. + AdminCredentials *genruntime.SecretDestination `json:"adminCredentials,omitempty"` + + // UserCredentials: indicates where the UserCredentials secret should be placed. If omitted, the secret will not be + // retrieved from Azure. + UserCredentials *genruntime.SecretDestination `json:"userCredentials,omitempty"` +} + +// AssignProperties_From_ManagedClusterOperatorSecrets populates our ManagedClusterOperatorSecrets from the provided source ManagedClusterOperatorSecrets +func (secrets *ManagedClusterOperatorSecrets) AssignProperties_From_ManagedClusterOperatorSecrets(source *storage.ManagedClusterOperatorSecrets) error { + + // AdminCredentials + if source.AdminCredentials != nil { + adminCredential := source.AdminCredentials.Copy() + secrets.AdminCredentials = &adminCredential + } else { + secrets.AdminCredentials = nil + } + + // UserCredentials + if source.UserCredentials != nil { + userCredential := source.UserCredentials.Copy() + secrets.UserCredentials = &userCredential + } else { + secrets.UserCredentials = nil + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterOperatorSecrets populates the provided destination ManagedClusterOperatorSecrets from our ManagedClusterOperatorSecrets +func (secrets *ManagedClusterOperatorSecrets) AssignProperties_To_ManagedClusterOperatorSecrets(destination *storage.ManagedClusterOperatorSecrets) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // AdminCredentials + if secrets.AdminCredentials != nil { + adminCredential := secrets.AdminCredentials.Copy() + destination.AdminCredentials = &adminCredential + } else { + destination.AdminCredentials = nil + } + + // UserCredentials + if secrets.UserCredentials != nil { + userCredential := secrets.UserCredentials.Copy() + destination.UserCredentials = &userCredential + } else { + destination.UserCredentials = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Details about the pod identity assigned to the Managed Cluster. +type ManagedClusterPodIdentity struct { + // BindingSelector: The binding selector to use for the AzureIdentityBinding resource. + BindingSelector *string `json:"bindingSelector,omitempty"` + + // +kubebuilder:validation:Required + // Identity: The user assigned identity details. + Identity *UserAssignedIdentity `json:"identity,omitempty"` + + // +kubebuilder:validation:Required + // Name: The name of the pod identity. + Name *string `json:"name,omitempty"` + + // +kubebuilder:validation:Required + // Namespace: The namespace of the pod identity. + Namespace *string `json:"namespace,omitempty"` +} + +var _ genruntime.ARMTransformer = &ManagedClusterPodIdentity{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (identity *ManagedClusterPodIdentity) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if identity == nil { + return nil, nil + } + result := &arm.ManagedClusterPodIdentity{} + + // Set property "BindingSelector": + if identity.BindingSelector != nil { + bindingSelector := *identity.BindingSelector + result.BindingSelector = &bindingSelector + } + + // Set property "Identity": + if identity.Identity != nil { + identity_ARM, err := (*identity.Identity).ConvertToARM(resolved) + if err != nil { + return nil, err + } + identity1 := *identity_ARM.(*arm.UserAssignedIdentity) + result.Identity = &identity1 + } + + // Set property "Name": + if identity.Name != nil { + name := *identity.Name + result.Name = &name + } + + // Set property "Namespace": + if identity.Namespace != nil { + namespace := *identity.Namespace + result.Namespace = &namespace + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (identity *ManagedClusterPodIdentity) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ManagedClusterPodIdentity{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (identity *ManagedClusterPodIdentity) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ManagedClusterPodIdentity) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ManagedClusterPodIdentity, got %T", armInput) + } + + // Set property "BindingSelector": + if typedInput.BindingSelector != nil { + bindingSelector := *typedInput.BindingSelector + identity.BindingSelector = &bindingSelector + } + + // Set property "Identity": + if typedInput.Identity != nil { + var identity2 UserAssignedIdentity + err := identity2.PopulateFromARM(owner, *typedInput.Identity) + if err != nil { + return err + } + identity1 := identity2 + identity.Identity = &identity1 + } + + // Set property "Name": + if typedInput.Name != nil { + name := *typedInput.Name + identity.Name = &name + } + + // Set property "Namespace": + if typedInput.Namespace != nil { + namespace := *typedInput.Namespace + identity.Namespace = &namespace + } + + // No error + return nil +} + +// AssignProperties_From_ManagedClusterPodIdentity populates our ManagedClusterPodIdentity from the provided source ManagedClusterPodIdentity +func (identity *ManagedClusterPodIdentity) AssignProperties_From_ManagedClusterPodIdentity(source *storage.ManagedClusterPodIdentity) error { + + // BindingSelector + identity.BindingSelector = genruntime.ClonePointerToString(source.BindingSelector) + + // Identity + if source.Identity != nil { + var identityLocal UserAssignedIdentity + err := identityLocal.AssignProperties_From_UserAssignedIdentity(source.Identity) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_UserAssignedIdentity() to populate field Identity") + } + identity.Identity = &identityLocal + } else { + identity.Identity = nil + } + + // Name + identity.Name = genruntime.ClonePointerToString(source.Name) + + // Namespace + identity.Namespace = genruntime.ClonePointerToString(source.Namespace) + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterPodIdentity populates the provided destination ManagedClusterPodIdentity from our ManagedClusterPodIdentity +func (identity *ManagedClusterPodIdentity) AssignProperties_To_ManagedClusterPodIdentity(destination *storage.ManagedClusterPodIdentity) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // BindingSelector + destination.BindingSelector = genruntime.ClonePointerToString(identity.BindingSelector) + + // Identity + if identity.Identity != nil { + var identityLocal storage.UserAssignedIdentity + err := identity.Identity.AssignProperties_To_UserAssignedIdentity(&identityLocal) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_UserAssignedIdentity() to populate field Identity") + } + destination.Identity = &identityLocal + } else { + destination.Identity = nil + } + + // Name + destination.Name = genruntime.ClonePointerToString(identity.Name) + + // Namespace + destination.Namespace = genruntime.ClonePointerToString(identity.Namespace) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_ManagedClusterPodIdentity_STATUS populates our ManagedClusterPodIdentity from the provided source ManagedClusterPodIdentity_STATUS +func (identity *ManagedClusterPodIdentity) Initialize_From_ManagedClusterPodIdentity_STATUS(source *ManagedClusterPodIdentity_STATUS) error { + + // BindingSelector + identity.BindingSelector = genruntime.ClonePointerToString(source.BindingSelector) + + // Identity + if source.Identity != nil { + var identityLocal UserAssignedIdentity + err := identityLocal.Initialize_From_UserAssignedIdentity_STATUS(source.Identity) + if err != nil { + return errors.Wrap(err, "calling Initialize_From_UserAssignedIdentity_STATUS() to populate field Identity") + } + identity.Identity = &identityLocal + } else { + identity.Identity = nil + } + + // Name + identity.Name = genruntime.ClonePointerToString(source.Name) + + // Namespace + identity.Namespace = genruntime.ClonePointerToString(source.Namespace) + + // No error + return nil +} + +// Details about the pod identity assigned to the Managed Cluster. +type ManagedClusterPodIdentity_STATUS struct { + // BindingSelector: The binding selector to use for the AzureIdentityBinding resource. + BindingSelector *string `json:"bindingSelector,omitempty"` + + // Identity: The user assigned identity details. + Identity *UserAssignedIdentity_STATUS `json:"identity,omitempty"` + + // Name: The name of the pod identity. + Name *string `json:"name,omitempty"` + + // Namespace: The namespace of the pod identity. + Namespace *string `json:"namespace,omitempty"` + ProvisioningInfo *ManagedClusterPodIdentity_ProvisioningInfo_STATUS `json:"provisioningInfo,omitempty"` + + // ProvisioningState: The current provisioning state of the pod identity. + ProvisioningState *ManagedClusterPodIdentity_ProvisioningState_STATUS `json:"provisioningState,omitempty"` +} + +var _ genruntime.FromARMConverter = &ManagedClusterPodIdentity_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (identity *ManagedClusterPodIdentity_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ManagedClusterPodIdentity_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (identity *ManagedClusterPodIdentity_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ManagedClusterPodIdentity_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ManagedClusterPodIdentity_STATUS, got %T", armInput) + } + + // Set property "BindingSelector": + if typedInput.BindingSelector != nil { + bindingSelector := *typedInput.BindingSelector + identity.BindingSelector = &bindingSelector + } + + // Set property "Identity": + if typedInput.Identity != nil { + var identity2 UserAssignedIdentity_STATUS + err := identity2.PopulateFromARM(owner, *typedInput.Identity) + if err != nil { + return err + } + identity1 := identity2 + identity.Identity = &identity1 + } + + // Set property "Name": + if typedInput.Name != nil { + name := *typedInput.Name + identity.Name = &name + } + + // Set property "Namespace": + if typedInput.Namespace != nil { + namespace := *typedInput.Namespace + identity.Namespace = &namespace + } + + // Set property "ProvisioningInfo": + if typedInput.ProvisioningInfo != nil { + var provisioningInfo1 ManagedClusterPodIdentity_ProvisioningInfo_STATUS + err := provisioningInfo1.PopulateFromARM(owner, *typedInput.ProvisioningInfo) + if err != nil { + return err + } + provisioningInfo := provisioningInfo1 + identity.ProvisioningInfo = &provisioningInfo + } + + // Set property "ProvisioningState": + if typedInput.ProvisioningState != nil { + var temp string + temp = string(*typedInput.ProvisioningState) + provisioningState := ManagedClusterPodIdentity_ProvisioningState_STATUS(temp) + identity.ProvisioningState = &provisioningState + } + + // No error + return nil +} + +// AssignProperties_From_ManagedClusterPodIdentity_STATUS populates our ManagedClusterPodIdentity_STATUS from the provided source ManagedClusterPodIdentity_STATUS +func (identity *ManagedClusterPodIdentity_STATUS) AssignProperties_From_ManagedClusterPodIdentity_STATUS(source *storage.ManagedClusterPodIdentity_STATUS) error { + + // BindingSelector + identity.BindingSelector = genruntime.ClonePointerToString(source.BindingSelector) + + // Identity + if source.Identity != nil { + var identityLocal UserAssignedIdentity_STATUS + err := identityLocal.AssignProperties_From_UserAssignedIdentity_STATUS(source.Identity) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_UserAssignedIdentity_STATUS() to populate field Identity") + } + identity.Identity = &identityLocal + } else { + identity.Identity = nil + } + + // Name + identity.Name = genruntime.ClonePointerToString(source.Name) + + // Namespace + identity.Namespace = genruntime.ClonePointerToString(source.Namespace) + + // ProvisioningInfo + if source.ProvisioningInfo != nil { + var provisioningInfo ManagedClusterPodIdentity_ProvisioningInfo_STATUS + err := provisioningInfo.AssignProperties_From_ManagedClusterPodIdentity_ProvisioningInfo_STATUS(source.ProvisioningInfo) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterPodIdentity_ProvisioningInfo_STATUS() to populate field ProvisioningInfo") + } + identity.ProvisioningInfo = &provisioningInfo + } else { + identity.ProvisioningInfo = nil + } + + // ProvisioningState + if source.ProvisioningState != nil { + provisioningState := *source.ProvisioningState + provisioningStateTemp := genruntime.ToEnum(provisioningState, managedClusterPodIdentity_ProvisioningState_STATUS_Values) + identity.ProvisioningState = &provisioningStateTemp + } else { + identity.ProvisioningState = nil + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterPodIdentity_STATUS populates the provided destination ManagedClusterPodIdentity_STATUS from our ManagedClusterPodIdentity_STATUS +func (identity *ManagedClusterPodIdentity_STATUS) AssignProperties_To_ManagedClusterPodIdentity_STATUS(destination *storage.ManagedClusterPodIdentity_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // BindingSelector + destination.BindingSelector = genruntime.ClonePointerToString(identity.BindingSelector) + + // Identity + if identity.Identity != nil { + var identityLocal storage.UserAssignedIdentity_STATUS + err := identity.Identity.AssignProperties_To_UserAssignedIdentity_STATUS(&identityLocal) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_UserAssignedIdentity_STATUS() to populate field Identity") + } + destination.Identity = &identityLocal + } else { + destination.Identity = nil + } + + // Name + destination.Name = genruntime.ClonePointerToString(identity.Name) + + // Namespace + destination.Namespace = genruntime.ClonePointerToString(identity.Namespace) + + // ProvisioningInfo + if identity.ProvisioningInfo != nil { + var provisioningInfo storage.ManagedClusterPodIdentity_ProvisioningInfo_STATUS + err := identity.ProvisioningInfo.AssignProperties_To_ManagedClusterPodIdentity_ProvisioningInfo_STATUS(&provisioningInfo) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterPodIdentity_ProvisioningInfo_STATUS() to populate field ProvisioningInfo") + } + destination.ProvisioningInfo = &provisioningInfo + } else { + destination.ProvisioningInfo = nil + } + + // ProvisioningState + if identity.ProvisioningState != nil { + provisioningState := string(*identity.ProvisioningState) + destination.ProvisioningState = &provisioningState + } else { + destination.ProvisioningState = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// See [disable AAD Pod Identity for a specific +// Pod/Application](https://azure.github.io/aad-pod-identity/docs/configure/application_exception/) for more details. +type ManagedClusterPodIdentityException struct { + // +kubebuilder:validation:Required + // Name: The name of the pod identity exception. + Name *string `json:"name,omitempty"` + + // +kubebuilder:validation:Required + // Namespace: The namespace of the pod identity exception. + Namespace *string `json:"namespace,omitempty"` + + // +kubebuilder:validation:Required + // PodLabels: The pod labels to match. + PodLabels map[string]string `json:"podLabels,omitempty"` +} + +var _ genruntime.ARMTransformer = &ManagedClusterPodIdentityException{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (exception *ManagedClusterPodIdentityException) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if exception == nil { + return nil, nil + } + result := &arm.ManagedClusterPodIdentityException{} + + // Set property "Name": + if exception.Name != nil { + name := *exception.Name + result.Name = &name + } + + // Set property "Namespace": + if exception.Namespace != nil { + namespace := *exception.Namespace + result.Namespace = &namespace + } + + // Set property "PodLabels": + if exception.PodLabels != nil { + result.PodLabels = make(map[string]string, len(exception.PodLabels)) + for key, value := range exception.PodLabels { + result.PodLabels[key] = value + } + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (exception *ManagedClusterPodIdentityException) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ManagedClusterPodIdentityException{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (exception *ManagedClusterPodIdentityException) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ManagedClusterPodIdentityException) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ManagedClusterPodIdentityException, got %T", armInput) + } + + // Set property "Name": + if typedInput.Name != nil { + name := *typedInput.Name + exception.Name = &name + } + + // Set property "Namespace": + if typedInput.Namespace != nil { + namespace := *typedInput.Namespace + exception.Namespace = &namespace + } + + // Set property "PodLabels": + if typedInput.PodLabels != nil { + exception.PodLabels = make(map[string]string, len(typedInput.PodLabels)) + for key, value := range typedInput.PodLabels { + exception.PodLabels[key] = value + } + } + + // No error + return nil +} + +// AssignProperties_From_ManagedClusterPodIdentityException populates our ManagedClusterPodIdentityException from the provided source ManagedClusterPodIdentityException +func (exception *ManagedClusterPodIdentityException) AssignProperties_From_ManagedClusterPodIdentityException(source *storage.ManagedClusterPodIdentityException) error { + + // Name + exception.Name = genruntime.ClonePointerToString(source.Name) + + // Namespace + exception.Namespace = genruntime.ClonePointerToString(source.Namespace) + + // PodLabels + exception.PodLabels = genruntime.CloneMapOfStringToString(source.PodLabels) + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterPodIdentityException populates the provided destination ManagedClusterPodIdentityException from our ManagedClusterPodIdentityException +func (exception *ManagedClusterPodIdentityException) AssignProperties_To_ManagedClusterPodIdentityException(destination *storage.ManagedClusterPodIdentityException) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Name + destination.Name = genruntime.ClonePointerToString(exception.Name) + + // Namespace + destination.Namespace = genruntime.ClonePointerToString(exception.Namespace) + + // PodLabels + destination.PodLabels = genruntime.CloneMapOfStringToString(exception.PodLabels) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_ManagedClusterPodIdentityException_STATUS populates our ManagedClusterPodIdentityException from the provided source ManagedClusterPodIdentityException_STATUS +func (exception *ManagedClusterPodIdentityException) Initialize_From_ManagedClusterPodIdentityException_STATUS(source *ManagedClusterPodIdentityException_STATUS) error { + + // Name + exception.Name = genruntime.ClonePointerToString(source.Name) + + // Namespace + exception.Namespace = genruntime.ClonePointerToString(source.Namespace) + + // PodLabels + exception.PodLabels = genruntime.CloneMapOfStringToString(source.PodLabels) + + // No error + return nil +} + +// See [disable AAD Pod Identity for a specific +// Pod/Application](https://azure.github.io/aad-pod-identity/docs/configure/application_exception/) for more details. +type ManagedClusterPodIdentityException_STATUS struct { + // Name: The name of the pod identity exception. + Name *string `json:"name,omitempty"` + + // Namespace: The namespace of the pod identity exception. + Namespace *string `json:"namespace,omitempty"` + + // PodLabels: The pod labels to match. + PodLabels map[string]string `json:"podLabels,omitempty"` +} + +var _ genruntime.FromARMConverter = &ManagedClusterPodIdentityException_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (exception *ManagedClusterPodIdentityException_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ManagedClusterPodIdentityException_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (exception *ManagedClusterPodIdentityException_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ManagedClusterPodIdentityException_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ManagedClusterPodIdentityException_STATUS, got %T", armInput) + } + + // Set property "Name": + if typedInput.Name != nil { + name := *typedInput.Name + exception.Name = &name + } + + // Set property "Namespace": + if typedInput.Namespace != nil { + namespace := *typedInput.Namespace + exception.Namespace = &namespace + } + + // Set property "PodLabels": + if typedInput.PodLabels != nil { + exception.PodLabels = make(map[string]string, len(typedInput.PodLabels)) + for key, value := range typedInput.PodLabels { + exception.PodLabels[key] = value + } + } + + // No error + return nil +} + +// AssignProperties_From_ManagedClusterPodIdentityException_STATUS populates our ManagedClusterPodIdentityException_STATUS from the provided source ManagedClusterPodIdentityException_STATUS +func (exception *ManagedClusterPodIdentityException_STATUS) AssignProperties_From_ManagedClusterPodIdentityException_STATUS(source *storage.ManagedClusterPodIdentityException_STATUS) error { + + // Name + exception.Name = genruntime.ClonePointerToString(source.Name) + + // Namespace + exception.Namespace = genruntime.ClonePointerToString(source.Namespace) + + // PodLabels + exception.PodLabels = genruntime.CloneMapOfStringToString(source.PodLabels) + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterPodIdentityException_STATUS populates the provided destination ManagedClusterPodIdentityException_STATUS from our ManagedClusterPodIdentityException_STATUS +func (exception *ManagedClusterPodIdentityException_STATUS) AssignProperties_To_ManagedClusterPodIdentityException_STATUS(destination *storage.ManagedClusterPodIdentityException_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Name + destination.Name = genruntime.ClonePointerToString(exception.Name) + + // Namespace + destination.Namespace = genruntime.ClonePointerToString(exception.Namespace) + + // PodLabels + destination.PodLabels = genruntime.CloneMapOfStringToString(exception.PodLabels) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// +kubebuilder:validation:Enum={"least-waste","most-pods","priority","random"} +type ManagedClusterProperties_AutoScalerProfile_Expander string + +const ( + ManagedClusterProperties_AutoScalerProfile_Expander_LeastWaste = ManagedClusterProperties_AutoScalerProfile_Expander("least-waste") + ManagedClusterProperties_AutoScalerProfile_Expander_MostPods = ManagedClusterProperties_AutoScalerProfile_Expander("most-pods") + ManagedClusterProperties_AutoScalerProfile_Expander_Priority = ManagedClusterProperties_AutoScalerProfile_Expander("priority") + ManagedClusterProperties_AutoScalerProfile_Expander_Random = ManagedClusterProperties_AutoScalerProfile_Expander("random") +) + +// Mapping from string to ManagedClusterProperties_AutoScalerProfile_Expander +var managedClusterProperties_AutoScalerProfile_Expander_Values = map[string]ManagedClusterProperties_AutoScalerProfile_Expander{ + "least-waste": ManagedClusterProperties_AutoScalerProfile_Expander_LeastWaste, + "most-pods": ManagedClusterProperties_AutoScalerProfile_Expander_MostPods, + "priority": ManagedClusterProperties_AutoScalerProfile_Expander_Priority, + "random": ManagedClusterProperties_AutoScalerProfile_Expander_Random, +} + +type ManagedClusterProperties_AutoScalerProfile_Expander_STATUS string + +const ( + ManagedClusterProperties_AutoScalerProfile_Expander_STATUS_LeastWaste = ManagedClusterProperties_AutoScalerProfile_Expander_STATUS("least-waste") + ManagedClusterProperties_AutoScalerProfile_Expander_STATUS_MostPods = ManagedClusterProperties_AutoScalerProfile_Expander_STATUS("most-pods") + ManagedClusterProperties_AutoScalerProfile_Expander_STATUS_Priority = ManagedClusterProperties_AutoScalerProfile_Expander_STATUS("priority") + ManagedClusterProperties_AutoScalerProfile_Expander_STATUS_Random = ManagedClusterProperties_AutoScalerProfile_Expander_STATUS("random") +) + +// Mapping from string to ManagedClusterProperties_AutoScalerProfile_Expander_STATUS +var managedClusterProperties_AutoScalerProfile_Expander_STATUS_Values = map[string]ManagedClusterProperties_AutoScalerProfile_Expander_STATUS{ + "least-waste": ManagedClusterProperties_AutoScalerProfile_Expander_STATUS_LeastWaste, + "most-pods": ManagedClusterProperties_AutoScalerProfile_Expander_STATUS_MostPods, + "priority": ManagedClusterProperties_AutoScalerProfile_Expander_STATUS_Priority, + "random": ManagedClusterProperties_AutoScalerProfile_Expander_STATUS_Random, +} + +// Microsoft Defender settings for the security profile. +type ManagedClusterSecurityProfileDefender struct { + // LogAnalyticsWorkspaceResourceReference: Resource ID of the Log Analytics workspace to be associated with Microsoft + // Defender. When Microsoft Defender is enabled, this field is required and must be a valid workspace resource ID. When + // Microsoft Defender is disabled, leave the field empty. + LogAnalyticsWorkspaceResourceReference *genruntime.ResourceReference `armReference:"LogAnalyticsWorkspaceResourceId" json:"logAnalyticsWorkspaceResourceReference,omitempty"` + + // SecurityMonitoring: Microsoft Defender threat detection for Cloud settings for the security profile. + SecurityMonitoring *ManagedClusterSecurityProfileDefenderSecurityMonitoring `json:"securityMonitoring,omitempty"` +} + +var _ genruntime.ARMTransformer = &ManagedClusterSecurityProfileDefender{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (defender *ManagedClusterSecurityProfileDefender) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if defender == nil { + return nil, nil + } + result := &arm.ManagedClusterSecurityProfileDefender{} + + // Set property "LogAnalyticsWorkspaceResourceId": + if defender.LogAnalyticsWorkspaceResourceReference != nil { + logAnalyticsWorkspaceResourceReferenceARMID, err := resolved.ResolvedReferences.Lookup(*defender.LogAnalyticsWorkspaceResourceReference) + if err != nil { + return nil, err + } + logAnalyticsWorkspaceResourceReference := logAnalyticsWorkspaceResourceReferenceARMID + result.LogAnalyticsWorkspaceResourceId = &logAnalyticsWorkspaceResourceReference + } + + // Set property "SecurityMonitoring": + if defender.SecurityMonitoring != nil { + securityMonitoring_ARM, err := (*defender.SecurityMonitoring).ConvertToARM(resolved) + if err != nil { + return nil, err + } + securityMonitoring := *securityMonitoring_ARM.(*arm.ManagedClusterSecurityProfileDefenderSecurityMonitoring) + result.SecurityMonitoring = &securityMonitoring + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (defender *ManagedClusterSecurityProfileDefender) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ManagedClusterSecurityProfileDefender{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (defender *ManagedClusterSecurityProfileDefender) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ManagedClusterSecurityProfileDefender) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ManagedClusterSecurityProfileDefender, got %T", armInput) + } + + // no assignment for property "LogAnalyticsWorkspaceResourceReference" + + // Set property "SecurityMonitoring": + if typedInput.SecurityMonitoring != nil { + var securityMonitoring1 ManagedClusterSecurityProfileDefenderSecurityMonitoring + err := securityMonitoring1.PopulateFromARM(owner, *typedInput.SecurityMonitoring) + if err != nil { + return err + } + securityMonitoring := securityMonitoring1 + defender.SecurityMonitoring = &securityMonitoring + } + + // No error + return nil +} + +// AssignProperties_From_ManagedClusterSecurityProfileDefender populates our ManagedClusterSecurityProfileDefender from the provided source ManagedClusterSecurityProfileDefender +func (defender *ManagedClusterSecurityProfileDefender) AssignProperties_From_ManagedClusterSecurityProfileDefender(source *storage.ManagedClusterSecurityProfileDefender) error { + + // LogAnalyticsWorkspaceResourceReference + if source.LogAnalyticsWorkspaceResourceReference != nil { + logAnalyticsWorkspaceResourceReference := source.LogAnalyticsWorkspaceResourceReference.Copy() + defender.LogAnalyticsWorkspaceResourceReference = &logAnalyticsWorkspaceResourceReference + } else { + defender.LogAnalyticsWorkspaceResourceReference = nil + } + + // SecurityMonitoring + if source.SecurityMonitoring != nil { + var securityMonitoring ManagedClusterSecurityProfileDefenderSecurityMonitoring + err := securityMonitoring.AssignProperties_From_ManagedClusterSecurityProfileDefenderSecurityMonitoring(source.SecurityMonitoring) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterSecurityProfileDefenderSecurityMonitoring() to populate field SecurityMonitoring") + } + defender.SecurityMonitoring = &securityMonitoring + } else { + defender.SecurityMonitoring = nil + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterSecurityProfileDefender populates the provided destination ManagedClusterSecurityProfileDefender from our ManagedClusterSecurityProfileDefender +func (defender *ManagedClusterSecurityProfileDefender) AssignProperties_To_ManagedClusterSecurityProfileDefender(destination *storage.ManagedClusterSecurityProfileDefender) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // LogAnalyticsWorkspaceResourceReference + if defender.LogAnalyticsWorkspaceResourceReference != nil { + logAnalyticsWorkspaceResourceReference := defender.LogAnalyticsWorkspaceResourceReference.Copy() + destination.LogAnalyticsWorkspaceResourceReference = &logAnalyticsWorkspaceResourceReference + } else { + destination.LogAnalyticsWorkspaceResourceReference = nil + } + + // SecurityMonitoring + if defender.SecurityMonitoring != nil { + var securityMonitoring storage.ManagedClusterSecurityProfileDefenderSecurityMonitoring + err := defender.SecurityMonitoring.AssignProperties_To_ManagedClusterSecurityProfileDefenderSecurityMonitoring(&securityMonitoring) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterSecurityProfileDefenderSecurityMonitoring() to populate field SecurityMonitoring") + } + destination.SecurityMonitoring = &securityMonitoring + } else { + destination.SecurityMonitoring = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_ManagedClusterSecurityProfileDefender_STATUS populates our ManagedClusterSecurityProfileDefender from the provided source ManagedClusterSecurityProfileDefender_STATUS +func (defender *ManagedClusterSecurityProfileDefender) Initialize_From_ManagedClusterSecurityProfileDefender_STATUS(source *ManagedClusterSecurityProfileDefender_STATUS) error { + + // LogAnalyticsWorkspaceResourceReference + if source.LogAnalyticsWorkspaceResourceId != nil { + logAnalyticsWorkspaceResourceReference := genruntime.CreateResourceReferenceFromARMID(*source.LogAnalyticsWorkspaceResourceId) + defender.LogAnalyticsWorkspaceResourceReference = &logAnalyticsWorkspaceResourceReference + } else { + defender.LogAnalyticsWorkspaceResourceReference = nil + } + + // SecurityMonitoring + if source.SecurityMonitoring != nil { + var securityMonitoring ManagedClusterSecurityProfileDefenderSecurityMonitoring + err := securityMonitoring.Initialize_From_ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS(source.SecurityMonitoring) + if err != nil { + return errors.Wrap(err, "calling Initialize_From_ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS() to populate field SecurityMonitoring") + } + defender.SecurityMonitoring = &securityMonitoring + } else { + defender.SecurityMonitoring = nil + } + + // No error + return nil +} + +// Microsoft Defender settings for the security profile. +type ManagedClusterSecurityProfileDefender_STATUS struct { + // LogAnalyticsWorkspaceResourceId: Resource ID of the Log Analytics workspace to be associated with Microsoft Defender. + // When Microsoft Defender is enabled, this field is required and must be a valid workspace resource ID. When Microsoft + // Defender is disabled, leave the field empty. + LogAnalyticsWorkspaceResourceId *string `json:"logAnalyticsWorkspaceResourceId,omitempty"` + + // SecurityMonitoring: Microsoft Defender threat detection for Cloud settings for the security profile. + SecurityMonitoring *ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS `json:"securityMonitoring,omitempty"` +} + +var _ genruntime.FromARMConverter = &ManagedClusterSecurityProfileDefender_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (defender *ManagedClusterSecurityProfileDefender_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ManagedClusterSecurityProfileDefender_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (defender *ManagedClusterSecurityProfileDefender_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ManagedClusterSecurityProfileDefender_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ManagedClusterSecurityProfileDefender_STATUS, got %T", armInput) + } + + // Set property "LogAnalyticsWorkspaceResourceId": + if typedInput.LogAnalyticsWorkspaceResourceId != nil { + logAnalyticsWorkspaceResourceId := *typedInput.LogAnalyticsWorkspaceResourceId + defender.LogAnalyticsWorkspaceResourceId = &logAnalyticsWorkspaceResourceId + } + + // Set property "SecurityMonitoring": + if typedInput.SecurityMonitoring != nil { + var securityMonitoring1 ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS + err := securityMonitoring1.PopulateFromARM(owner, *typedInput.SecurityMonitoring) + if err != nil { + return err + } + securityMonitoring := securityMonitoring1 + defender.SecurityMonitoring = &securityMonitoring + } + + // No error + return nil +} + +// AssignProperties_From_ManagedClusterSecurityProfileDefender_STATUS populates our ManagedClusterSecurityProfileDefender_STATUS from the provided source ManagedClusterSecurityProfileDefender_STATUS +func (defender *ManagedClusterSecurityProfileDefender_STATUS) AssignProperties_From_ManagedClusterSecurityProfileDefender_STATUS(source *storage.ManagedClusterSecurityProfileDefender_STATUS) error { + + // LogAnalyticsWorkspaceResourceId + defender.LogAnalyticsWorkspaceResourceId = genruntime.ClonePointerToString(source.LogAnalyticsWorkspaceResourceId) + + // SecurityMonitoring + if source.SecurityMonitoring != nil { + var securityMonitoring ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS + err := securityMonitoring.AssignProperties_From_ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS(source.SecurityMonitoring) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS() to populate field SecurityMonitoring") + } + defender.SecurityMonitoring = &securityMonitoring + } else { + defender.SecurityMonitoring = nil + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterSecurityProfileDefender_STATUS populates the provided destination ManagedClusterSecurityProfileDefender_STATUS from our ManagedClusterSecurityProfileDefender_STATUS +func (defender *ManagedClusterSecurityProfileDefender_STATUS) AssignProperties_To_ManagedClusterSecurityProfileDefender_STATUS(destination *storage.ManagedClusterSecurityProfileDefender_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // LogAnalyticsWorkspaceResourceId + destination.LogAnalyticsWorkspaceResourceId = genruntime.ClonePointerToString(defender.LogAnalyticsWorkspaceResourceId) + + // SecurityMonitoring + if defender.SecurityMonitoring != nil { + var securityMonitoring storage.ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS + err := defender.SecurityMonitoring.AssignProperties_To_ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS(&securityMonitoring) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS() to populate field SecurityMonitoring") + } + destination.SecurityMonitoring = &securityMonitoring + } else { + destination.SecurityMonitoring = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Image Cleaner removes unused images from nodes, freeing up disk space and helping to reduce attack surface area. Here +// are settings for the security profile. +type ManagedClusterSecurityProfileImageCleaner struct { + // Enabled: Whether to enable Image Cleaner on AKS cluster. + Enabled *bool `json:"enabled,omitempty"` + + // IntervalHours: Image Cleaner scanning interval in hours. + IntervalHours *int `json:"intervalHours,omitempty"` +} + +var _ genruntime.ARMTransformer = &ManagedClusterSecurityProfileImageCleaner{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (cleaner *ManagedClusterSecurityProfileImageCleaner) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if cleaner == nil { + return nil, nil + } + result := &arm.ManagedClusterSecurityProfileImageCleaner{} + + // Set property "Enabled": + if cleaner.Enabled != nil { + enabled := *cleaner.Enabled + result.Enabled = &enabled + } + + // Set property "IntervalHours": + if cleaner.IntervalHours != nil { + intervalHours := *cleaner.IntervalHours + result.IntervalHours = &intervalHours + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (cleaner *ManagedClusterSecurityProfileImageCleaner) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ManagedClusterSecurityProfileImageCleaner{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (cleaner *ManagedClusterSecurityProfileImageCleaner) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ManagedClusterSecurityProfileImageCleaner) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ManagedClusterSecurityProfileImageCleaner, got %T", armInput) + } + + // Set property "Enabled": + if typedInput.Enabled != nil { + enabled := *typedInput.Enabled + cleaner.Enabled = &enabled + } + + // Set property "IntervalHours": + if typedInput.IntervalHours != nil { + intervalHours := *typedInput.IntervalHours + cleaner.IntervalHours = &intervalHours + } + + // No error + return nil +} + +// AssignProperties_From_ManagedClusterSecurityProfileImageCleaner populates our ManagedClusterSecurityProfileImageCleaner from the provided source ManagedClusterSecurityProfileImageCleaner +func (cleaner *ManagedClusterSecurityProfileImageCleaner) AssignProperties_From_ManagedClusterSecurityProfileImageCleaner(source *storage.ManagedClusterSecurityProfileImageCleaner) error { + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + cleaner.Enabled = &enabled + } else { + cleaner.Enabled = nil + } + + // IntervalHours + cleaner.IntervalHours = genruntime.ClonePointerToInt(source.IntervalHours) + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterSecurityProfileImageCleaner populates the provided destination ManagedClusterSecurityProfileImageCleaner from our ManagedClusterSecurityProfileImageCleaner +func (cleaner *ManagedClusterSecurityProfileImageCleaner) AssignProperties_To_ManagedClusterSecurityProfileImageCleaner(destination *storage.ManagedClusterSecurityProfileImageCleaner) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Enabled + if cleaner.Enabled != nil { + enabled := *cleaner.Enabled + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // IntervalHours + destination.IntervalHours = genruntime.ClonePointerToInt(cleaner.IntervalHours) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_ManagedClusterSecurityProfileImageCleaner_STATUS populates our ManagedClusterSecurityProfileImageCleaner from the provided source ManagedClusterSecurityProfileImageCleaner_STATUS +func (cleaner *ManagedClusterSecurityProfileImageCleaner) Initialize_From_ManagedClusterSecurityProfileImageCleaner_STATUS(source *ManagedClusterSecurityProfileImageCleaner_STATUS) error { + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + cleaner.Enabled = &enabled + } else { + cleaner.Enabled = nil + } + + // IntervalHours + cleaner.IntervalHours = genruntime.ClonePointerToInt(source.IntervalHours) + + // No error + return nil +} + +// Image Cleaner removes unused images from nodes, freeing up disk space and helping to reduce attack surface area. Here +// are settings for the security profile. +type ManagedClusterSecurityProfileImageCleaner_STATUS struct { + // Enabled: Whether to enable Image Cleaner on AKS cluster. + Enabled *bool `json:"enabled,omitempty"` + + // IntervalHours: Image Cleaner scanning interval in hours. + IntervalHours *int `json:"intervalHours,omitempty"` +} + +var _ genruntime.FromARMConverter = &ManagedClusterSecurityProfileImageCleaner_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (cleaner *ManagedClusterSecurityProfileImageCleaner_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ManagedClusterSecurityProfileImageCleaner_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (cleaner *ManagedClusterSecurityProfileImageCleaner_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ManagedClusterSecurityProfileImageCleaner_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ManagedClusterSecurityProfileImageCleaner_STATUS, got %T", armInput) + } + + // Set property "Enabled": + if typedInput.Enabled != nil { + enabled := *typedInput.Enabled + cleaner.Enabled = &enabled + } + + // Set property "IntervalHours": + if typedInput.IntervalHours != nil { + intervalHours := *typedInput.IntervalHours + cleaner.IntervalHours = &intervalHours + } + + // No error + return nil +} + +// AssignProperties_From_ManagedClusterSecurityProfileImageCleaner_STATUS populates our ManagedClusterSecurityProfileImageCleaner_STATUS from the provided source ManagedClusterSecurityProfileImageCleaner_STATUS +func (cleaner *ManagedClusterSecurityProfileImageCleaner_STATUS) AssignProperties_From_ManagedClusterSecurityProfileImageCleaner_STATUS(source *storage.ManagedClusterSecurityProfileImageCleaner_STATUS) error { + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + cleaner.Enabled = &enabled + } else { + cleaner.Enabled = nil + } + + // IntervalHours + cleaner.IntervalHours = genruntime.ClonePointerToInt(source.IntervalHours) + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterSecurityProfileImageCleaner_STATUS populates the provided destination ManagedClusterSecurityProfileImageCleaner_STATUS from our ManagedClusterSecurityProfileImageCleaner_STATUS +func (cleaner *ManagedClusterSecurityProfileImageCleaner_STATUS) AssignProperties_To_ManagedClusterSecurityProfileImageCleaner_STATUS(destination *storage.ManagedClusterSecurityProfileImageCleaner_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Enabled + if cleaner.Enabled != nil { + enabled := *cleaner.Enabled + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // IntervalHours + destination.IntervalHours = genruntime.ClonePointerToInt(cleaner.IntervalHours) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Workload identity settings for the security profile. +type ManagedClusterSecurityProfileWorkloadIdentity struct { + // Enabled: Whether to enable workload identity. + Enabled *bool `json:"enabled,omitempty"` +} + +var _ genruntime.ARMTransformer = &ManagedClusterSecurityProfileWorkloadIdentity{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (identity *ManagedClusterSecurityProfileWorkloadIdentity) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if identity == nil { + return nil, nil + } + result := &arm.ManagedClusterSecurityProfileWorkloadIdentity{} + + // Set property "Enabled": + if identity.Enabled != nil { + enabled := *identity.Enabled + result.Enabled = &enabled + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (identity *ManagedClusterSecurityProfileWorkloadIdentity) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ManagedClusterSecurityProfileWorkloadIdentity{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (identity *ManagedClusterSecurityProfileWorkloadIdentity) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ManagedClusterSecurityProfileWorkloadIdentity) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ManagedClusterSecurityProfileWorkloadIdentity, got %T", armInput) + } + + // Set property "Enabled": + if typedInput.Enabled != nil { + enabled := *typedInput.Enabled + identity.Enabled = &enabled + } + + // No error + return nil +} + +// AssignProperties_From_ManagedClusterSecurityProfileWorkloadIdentity populates our ManagedClusterSecurityProfileWorkloadIdentity from the provided source ManagedClusterSecurityProfileWorkloadIdentity +func (identity *ManagedClusterSecurityProfileWorkloadIdentity) AssignProperties_From_ManagedClusterSecurityProfileWorkloadIdentity(source *storage.ManagedClusterSecurityProfileWorkloadIdentity) error { + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + identity.Enabled = &enabled + } else { + identity.Enabled = nil + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterSecurityProfileWorkloadIdentity populates the provided destination ManagedClusterSecurityProfileWorkloadIdentity from our ManagedClusterSecurityProfileWorkloadIdentity +func (identity *ManagedClusterSecurityProfileWorkloadIdentity) AssignProperties_To_ManagedClusterSecurityProfileWorkloadIdentity(destination *storage.ManagedClusterSecurityProfileWorkloadIdentity) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Enabled + if identity.Enabled != nil { + enabled := *identity.Enabled + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_ManagedClusterSecurityProfileWorkloadIdentity_STATUS populates our ManagedClusterSecurityProfileWorkloadIdentity from the provided source ManagedClusterSecurityProfileWorkloadIdentity_STATUS +func (identity *ManagedClusterSecurityProfileWorkloadIdentity) Initialize_From_ManagedClusterSecurityProfileWorkloadIdentity_STATUS(source *ManagedClusterSecurityProfileWorkloadIdentity_STATUS) error { + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + identity.Enabled = &enabled + } else { + identity.Enabled = nil + } + + // No error + return nil +} + +// Workload identity settings for the security profile. +type ManagedClusterSecurityProfileWorkloadIdentity_STATUS struct { + // Enabled: Whether to enable workload identity. + Enabled *bool `json:"enabled,omitempty"` +} + +var _ genruntime.FromARMConverter = &ManagedClusterSecurityProfileWorkloadIdentity_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (identity *ManagedClusterSecurityProfileWorkloadIdentity_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ManagedClusterSecurityProfileWorkloadIdentity_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (identity *ManagedClusterSecurityProfileWorkloadIdentity_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ManagedClusterSecurityProfileWorkloadIdentity_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ManagedClusterSecurityProfileWorkloadIdentity_STATUS, got %T", armInput) + } + + // Set property "Enabled": + if typedInput.Enabled != nil { + enabled := *typedInput.Enabled + identity.Enabled = &enabled + } + + // No error + return nil +} + +// AssignProperties_From_ManagedClusterSecurityProfileWorkloadIdentity_STATUS populates our ManagedClusterSecurityProfileWorkloadIdentity_STATUS from the provided source ManagedClusterSecurityProfileWorkloadIdentity_STATUS +func (identity *ManagedClusterSecurityProfileWorkloadIdentity_STATUS) AssignProperties_From_ManagedClusterSecurityProfileWorkloadIdentity_STATUS(source *storage.ManagedClusterSecurityProfileWorkloadIdentity_STATUS) error { + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + identity.Enabled = &enabled + } else { + identity.Enabled = nil + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterSecurityProfileWorkloadIdentity_STATUS populates the provided destination ManagedClusterSecurityProfileWorkloadIdentity_STATUS from our ManagedClusterSecurityProfileWorkloadIdentity_STATUS +func (identity *ManagedClusterSecurityProfileWorkloadIdentity_STATUS) AssignProperties_To_ManagedClusterSecurityProfileWorkloadIdentity_STATUS(destination *storage.ManagedClusterSecurityProfileWorkloadIdentity_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Enabled + if identity.Enabled != nil { + enabled := *identity.Enabled + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// +kubebuilder:validation:Enum={"Base"} +type ManagedClusterSKU_Name string + +const ManagedClusterSKU_Name_Base = ManagedClusterSKU_Name("Base") + +// Mapping from string to ManagedClusterSKU_Name +var managedClusterSKU_Name_Values = map[string]ManagedClusterSKU_Name{ + "base": ManagedClusterSKU_Name_Base, +} + +type ManagedClusterSKU_Name_STATUS string + +const ManagedClusterSKU_Name_STATUS_Base = ManagedClusterSKU_Name_STATUS("Base") + +// Mapping from string to ManagedClusterSKU_Name_STATUS +var managedClusterSKU_Name_STATUS_Values = map[string]ManagedClusterSKU_Name_STATUS{ + "base": ManagedClusterSKU_Name_STATUS_Base, +} + +// +kubebuilder:validation:Enum={"Free","Premium","Standard"} +type ManagedClusterSKU_Tier string + +const ( + ManagedClusterSKU_Tier_Free = ManagedClusterSKU_Tier("Free") + ManagedClusterSKU_Tier_Premium = ManagedClusterSKU_Tier("Premium") + ManagedClusterSKU_Tier_Standard = ManagedClusterSKU_Tier("Standard") +) + +// Mapping from string to ManagedClusterSKU_Tier +var managedClusterSKU_Tier_Values = map[string]ManagedClusterSKU_Tier{ + "free": ManagedClusterSKU_Tier_Free, + "premium": ManagedClusterSKU_Tier_Premium, + "standard": ManagedClusterSKU_Tier_Standard, +} + +type ManagedClusterSKU_Tier_STATUS string + +const ( + ManagedClusterSKU_Tier_STATUS_Free = ManagedClusterSKU_Tier_STATUS("Free") + ManagedClusterSKU_Tier_STATUS_Premium = ManagedClusterSKU_Tier_STATUS("Premium") + ManagedClusterSKU_Tier_STATUS_Standard = ManagedClusterSKU_Tier_STATUS("Standard") +) + +// Mapping from string to ManagedClusterSKU_Tier_STATUS +var managedClusterSKU_Tier_STATUS_Values = map[string]ManagedClusterSKU_Tier_STATUS{ + "free": ManagedClusterSKU_Tier_STATUS_Free, + "premium": ManagedClusterSKU_Tier_STATUS_Premium, + "standard": ManagedClusterSKU_Tier_STATUS_Standard, +} + +// AzureBlob CSI Driver settings for the storage profile. +type ManagedClusterStorageProfileBlobCSIDriver struct { + // Enabled: Whether to enable AzureBlob CSI Driver. The default value is false. + Enabled *bool `json:"enabled,omitempty"` +} + +var _ genruntime.ARMTransformer = &ManagedClusterStorageProfileBlobCSIDriver{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (driver *ManagedClusterStorageProfileBlobCSIDriver) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if driver == nil { + return nil, nil + } + result := &arm.ManagedClusterStorageProfileBlobCSIDriver{} + + // Set property "Enabled": + if driver.Enabled != nil { + enabled := *driver.Enabled + result.Enabled = &enabled + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (driver *ManagedClusterStorageProfileBlobCSIDriver) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ManagedClusterStorageProfileBlobCSIDriver{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (driver *ManagedClusterStorageProfileBlobCSIDriver) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ManagedClusterStorageProfileBlobCSIDriver) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ManagedClusterStorageProfileBlobCSIDriver, got %T", armInput) + } + + // Set property "Enabled": + if typedInput.Enabled != nil { + enabled := *typedInput.Enabled + driver.Enabled = &enabled + } + + // No error + return nil +} + +// AssignProperties_From_ManagedClusterStorageProfileBlobCSIDriver populates our ManagedClusterStorageProfileBlobCSIDriver from the provided source ManagedClusterStorageProfileBlobCSIDriver +func (driver *ManagedClusterStorageProfileBlobCSIDriver) AssignProperties_From_ManagedClusterStorageProfileBlobCSIDriver(source *storage.ManagedClusterStorageProfileBlobCSIDriver) error { + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + driver.Enabled = &enabled + } else { + driver.Enabled = nil + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterStorageProfileBlobCSIDriver populates the provided destination ManagedClusterStorageProfileBlobCSIDriver from our ManagedClusterStorageProfileBlobCSIDriver +func (driver *ManagedClusterStorageProfileBlobCSIDriver) AssignProperties_To_ManagedClusterStorageProfileBlobCSIDriver(destination *storage.ManagedClusterStorageProfileBlobCSIDriver) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Enabled + if driver.Enabled != nil { + enabled := *driver.Enabled + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_ManagedClusterStorageProfileBlobCSIDriver_STATUS populates our ManagedClusterStorageProfileBlobCSIDriver from the provided source ManagedClusterStorageProfileBlobCSIDriver_STATUS +func (driver *ManagedClusterStorageProfileBlobCSIDriver) Initialize_From_ManagedClusterStorageProfileBlobCSIDriver_STATUS(source *ManagedClusterStorageProfileBlobCSIDriver_STATUS) error { + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + driver.Enabled = &enabled + } else { + driver.Enabled = nil + } + + // No error + return nil +} + +// AzureBlob CSI Driver settings for the storage profile. +type ManagedClusterStorageProfileBlobCSIDriver_STATUS struct { + // Enabled: Whether to enable AzureBlob CSI Driver. The default value is false. + Enabled *bool `json:"enabled,omitempty"` +} + +var _ genruntime.FromARMConverter = &ManagedClusterStorageProfileBlobCSIDriver_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (driver *ManagedClusterStorageProfileBlobCSIDriver_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ManagedClusterStorageProfileBlobCSIDriver_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (driver *ManagedClusterStorageProfileBlobCSIDriver_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ManagedClusterStorageProfileBlobCSIDriver_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ManagedClusterStorageProfileBlobCSIDriver_STATUS, got %T", armInput) + } + + // Set property "Enabled": + if typedInput.Enabled != nil { + enabled := *typedInput.Enabled + driver.Enabled = &enabled + } + + // No error + return nil +} + +// AssignProperties_From_ManagedClusterStorageProfileBlobCSIDriver_STATUS populates our ManagedClusterStorageProfileBlobCSIDriver_STATUS from the provided source ManagedClusterStorageProfileBlobCSIDriver_STATUS +func (driver *ManagedClusterStorageProfileBlobCSIDriver_STATUS) AssignProperties_From_ManagedClusterStorageProfileBlobCSIDriver_STATUS(source *storage.ManagedClusterStorageProfileBlobCSIDriver_STATUS) error { + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + driver.Enabled = &enabled + } else { + driver.Enabled = nil + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterStorageProfileBlobCSIDriver_STATUS populates the provided destination ManagedClusterStorageProfileBlobCSIDriver_STATUS from our ManagedClusterStorageProfileBlobCSIDriver_STATUS +func (driver *ManagedClusterStorageProfileBlobCSIDriver_STATUS) AssignProperties_To_ManagedClusterStorageProfileBlobCSIDriver_STATUS(destination *storage.ManagedClusterStorageProfileBlobCSIDriver_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Enabled + if driver.Enabled != nil { + enabled := *driver.Enabled + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// AzureDisk CSI Driver settings for the storage profile. +type ManagedClusterStorageProfileDiskCSIDriver struct { + // Enabled: Whether to enable AzureDisk CSI Driver. The default value is true. + Enabled *bool `json:"enabled,omitempty"` +} + +var _ genruntime.ARMTransformer = &ManagedClusterStorageProfileDiskCSIDriver{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (driver *ManagedClusterStorageProfileDiskCSIDriver) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if driver == nil { + return nil, nil + } + result := &arm.ManagedClusterStorageProfileDiskCSIDriver{} + + // Set property "Enabled": + if driver.Enabled != nil { + enabled := *driver.Enabled + result.Enabled = &enabled + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (driver *ManagedClusterStorageProfileDiskCSIDriver) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ManagedClusterStorageProfileDiskCSIDriver{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (driver *ManagedClusterStorageProfileDiskCSIDriver) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ManagedClusterStorageProfileDiskCSIDriver) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ManagedClusterStorageProfileDiskCSIDriver, got %T", armInput) + } + + // Set property "Enabled": + if typedInput.Enabled != nil { + enabled := *typedInput.Enabled + driver.Enabled = &enabled + } + + // No error + return nil +} + +// AssignProperties_From_ManagedClusterStorageProfileDiskCSIDriver populates our ManagedClusterStorageProfileDiskCSIDriver from the provided source ManagedClusterStorageProfileDiskCSIDriver +func (driver *ManagedClusterStorageProfileDiskCSIDriver) AssignProperties_From_ManagedClusterStorageProfileDiskCSIDriver(source *storage.ManagedClusterStorageProfileDiskCSIDriver) error { + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + driver.Enabled = &enabled + } else { + driver.Enabled = nil + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterStorageProfileDiskCSIDriver populates the provided destination ManagedClusterStorageProfileDiskCSIDriver from our ManagedClusterStorageProfileDiskCSIDriver +func (driver *ManagedClusterStorageProfileDiskCSIDriver) AssignProperties_To_ManagedClusterStorageProfileDiskCSIDriver(destination *storage.ManagedClusterStorageProfileDiskCSIDriver) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Enabled + if driver.Enabled != nil { + enabled := *driver.Enabled + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_ManagedClusterStorageProfileDiskCSIDriver_STATUS populates our ManagedClusterStorageProfileDiskCSIDriver from the provided source ManagedClusterStorageProfileDiskCSIDriver_STATUS +func (driver *ManagedClusterStorageProfileDiskCSIDriver) Initialize_From_ManagedClusterStorageProfileDiskCSIDriver_STATUS(source *ManagedClusterStorageProfileDiskCSIDriver_STATUS) error { + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + driver.Enabled = &enabled + } else { + driver.Enabled = nil + } + + // No error + return nil +} + +// AzureDisk CSI Driver settings for the storage profile. +type ManagedClusterStorageProfileDiskCSIDriver_STATUS struct { + // Enabled: Whether to enable AzureDisk CSI Driver. The default value is true. + Enabled *bool `json:"enabled,omitempty"` +} + +var _ genruntime.FromARMConverter = &ManagedClusterStorageProfileDiskCSIDriver_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (driver *ManagedClusterStorageProfileDiskCSIDriver_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ManagedClusterStorageProfileDiskCSIDriver_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (driver *ManagedClusterStorageProfileDiskCSIDriver_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ManagedClusterStorageProfileDiskCSIDriver_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ManagedClusterStorageProfileDiskCSIDriver_STATUS, got %T", armInput) + } + + // Set property "Enabled": + if typedInput.Enabled != nil { + enabled := *typedInput.Enabled + driver.Enabled = &enabled + } + + // No error + return nil +} + +// AssignProperties_From_ManagedClusterStorageProfileDiskCSIDriver_STATUS populates our ManagedClusterStorageProfileDiskCSIDriver_STATUS from the provided source ManagedClusterStorageProfileDiskCSIDriver_STATUS +func (driver *ManagedClusterStorageProfileDiskCSIDriver_STATUS) AssignProperties_From_ManagedClusterStorageProfileDiskCSIDriver_STATUS(source *storage.ManagedClusterStorageProfileDiskCSIDriver_STATUS) error { + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + driver.Enabled = &enabled + } else { + driver.Enabled = nil + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterStorageProfileDiskCSIDriver_STATUS populates the provided destination ManagedClusterStorageProfileDiskCSIDriver_STATUS from our ManagedClusterStorageProfileDiskCSIDriver_STATUS +func (driver *ManagedClusterStorageProfileDiskCSIDriver_STATUS) AssignProperties_To_ManagedClusterStorageProfileDiskCSIDriver_STATUS(destination *storage.ManagedClusterStorageProfileDiskCSIDriver_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Enabled + if driver.Enabled != nil { + enabled := *driver.Enabled + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// AzureFile CSI Driver settings for the storage profile. +type ManagedClusterStorageProfileFileCSIDriver struct { + // Enabled: Whether to enable AzureFile CSI Driver. The default value is true. + Enabled *bool `json:"enabled,omitempty"` +} + +var _ genruntime.ARMTransformer = &ManagedClusterStorageProfileFileCSIDriver{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (driver *ManagedClusterStorageProfileFileCSIDriver) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if driver == nil { + return nil, nil + } + result := &arm.ManagedClusterStorageProfileFileCSIDriver{} + + // Set property "Enabled": + if driver.Enabled != nil { + enabled := *driver.Enabled + result.Enabled = &enabled + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (driver *ManagedClusterStorageProfileFileCSIDriver) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ManagedClusterStorageProfileFileCSIDriver{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (driver *ManagedClusterStorageProfileFileCSIDriver) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ManagedClusterStorageProfileFileCSIDriver) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ManagedClusterStorageProfileFileCSIDriver, got %T", armInput) + } + + // Set property "Enabled": + if typedInput.Enabled != nil { + enabled := *typedInput.Enabled + driver.Enabled = &enabled + } + + // No error + return nil +} + +// AssignProperties_From_ManagedClusterStorageProfileFileCSIDriver populates our ManagedClusterStorageProfileFileCSIDriver from the provided source ManagedClusterStorageProfileFileCSIDriver +func (driver *ManagedClusterStorageProfileFileCSIDriver) AssignProperties_From_ManagedClusterStorageProfileFileCSIDriver(source *storage.ManagedClusterStorageProfileFileCSIDriver) error { + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + driver.Enabled = &enabled + } else { + driver.Enabled = nil + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterStorageProfileFileCSIDriver populates the provided destination ManagedClusterStorageProfileFileCSIDriver from our ManagedClusterStorageProfileFileCSIDriver +func (driver *ManagedClusterStorageProfileFileCSIDriver) AssignProperties_To_ManagedClusterStorageProfileFileCSIDriver(destination *storage.ManagedClusterStorageProfileFileCSIDriver) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Enabled + if driver.Enabled != nil { + enabled := *driver.Enabled + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_ManagedClusterStorageProfileFileCSIDriver_STATUS populates our ManagedClusterStorageProfileFileCSIDriver from the provided source ManagedClusterStorageProfileFileCSIDriver_STATUS +func (driver *ManagedClusterStorageProfileFileCSIDriver) Initialize_From_ManagedClusterStorageProfileFileCSIDriver_STATUS(source *ManagedClusterStorageProfileFileCSIDriver_STATUS) error { + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + driver.Enabled = &enabled + } else { + driver.Enabled = nil + } + + // No error + return nil +} + +// AzureFile CSI Driver settings for the storage profile. +type ManagedClusterStorageProfileFileCSIDriver_STATUS struct { + // Enabled: Whether to enable AzureFile CSI Driver. The default value is true. + Enabled *bool `json:"enabled,omitempty"` +} + +var _ genruntime.FromARMConverter = &ManagedClusterStorageProfileFileCSIDriver_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (driver *ManagedClusterStorageProfileFileCSIDriver_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ManagedClusterStorageProfileFileCSIDriver_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (driver *ManagedClusterStorageProfileFileCSIDriver_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ManagedClusterStorageProfileFileCSIDriver_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ManagedClusterStorageProfileFileCSIDriver_STATUS, got %T", armInput) + } + + // Set property "Enabled": + if typedInput.Enabled != nil { + enabled := *typedInput.Enabled + driver.Enabled = &enabled + } + + // No error + return nil +} + +// AssignProperties_From_ManagedClusterStorageProfileFileCSIDriver_STATUS populates our ManagedClusterStorageProfileFileCSIDriver_STATUS from the provided source ManagedClusterStorageProfileFileCSIDriver_STATUS +func (driver *ManagedClusterStorageProfileFileCSIDriver_STATUS) AssignProperties_From_ManagedClusterStorageProfileFileCSIDriver_STATUS(source *storage.ManagedClusterStorageProfileFileCSIDriver_STATUS) error { + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + driver.Enabled = &enabled + } else { + driver.Enabled = nil + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterStorageProfileFileCSIDriver_STATUS populates the provided destination ManagedClusterStorageProfileFileCSIDriver_STATUS from our ManagedClusterStorageProfileFileCSIDriver_STATUS +func (driver *ManagedClusterStorageProfileFileCSIDriver_STATUS) AssignProperties_To_ManagedClusterStorageProfileFileCSIDriver_STATUS(destination *storage.ManagedClusterStorageProfileFileCSIDriver_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Enabled + if driver.Enabled != nil { + enabled := *driver.Enabled + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Snapshot Controller settings for the storage profile. +type ManagedClusterStorageProfileSnapshotController struct { + // Enabled: Whether to enable Snapshot Controller. The default value is true. + Enabled *bool `json:"enabled,omitempty"` +} + +var _ genruntime.ARMTransformer = &ManagedClusterStorageProfileSnapshotController{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (controller *ManagedClusterStorageProfileSnapshotController) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if controller == nil { + return nil, nil + } + result := &arm.ManagedClusterStorageProfileSnapshotController{} + + // Set property "Enabled": + if controller.Enabled != nil { + enabled := *controller.Enabled + result.Enabled = &enabled + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (controller *ManagedClusterStorageProfileSnapshotController) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ManagedClusterStorageProfileSnapshotController{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (controller *ManagedClusterStorageProfileSnapshotController) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ManagedClusterStorageProfileSnapshotController) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ManagedClusterStorageProfileSnapshotController, got %T", armInput) + } + + // Set property "Enabled": + if typedInput.Enabled != nil { + enabled := *typedInput.Enabled + controller.Enabled = &enabled + } + + // No error + return nil +} + +// AssignProperties_From_ManagedClusterStorageProfileSnapshotController populates our ManagedClusterStorageProfileSnapshotController from the provided source ManagedClusterStorageProfileSnapshotController +func (controller *ManagedClusterStorageProfileSnapshotController) AssignProperties_From_ManagedClusterStorageProfileSnapshotController(source *storage.ManagedClusterStorageProfileSnapshotController) error { + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + controller.Enabled = &enabled + } else { + controller.Enabled = nil + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterStorageProfileSnapshotController populates the provided destination ManagedClusterStorageProfileSnapshotController from our ManagedClusterStorageProfileSnapshotController +func (controller *ManagedClusterStorageProfileSnapshotController) AssignProperties_To_ManagedClusterStorageProfileSnapshotController(destination *storage.ManagedClusterStorageProfileSnapshotController) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Enabled + if controller.Enabled != nil { + enabled := *controller.Enabled + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_ManagedClusterStorageProfileSnapshotController_STATUS populates our ManagedClusterStorageProfileSnapshotController from the provided source ManagedClusterStorageProfileSnapshotController_STATUS +func (controller *ManagedClusterStorageProfileSnapshotController) Initialize_From_ManagedClusterStorageProfileSnapshotController_STATUS(source *ManagedClusterStorageProfileSnapshotController_STATUS) error { + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + controller.Enabled = &enabled + } else { + controller.Enabled = nil + } + + // No error + return nil +} + +// Snapshot Controller settings for the storage profile. +type ManagedClusterStorageProfileSnapshotController_STATUS struct { + // Enabled: Whether to enable Snapshot Controller. The default value is true. + Enabled *bool `json:"enabled,omitempty"` +} + +var _ genruntime.FromARMConverter = &ManagedClusterStorageProfileSnapshotController_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (controller *ManagedClusterStorageProfileSnapshotController_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ManagedClusterStorageProfileSnapshotController_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (controller *ManagedClusterStorageProfileSnapshotController_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ManagedClusterStorageProfileSnapshotController_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ManagedClusterStorageProfileSnapshotController_STATUS, got %T", armInput) + } + + // Set property "Enabled": + if typedInput.Enabled != nil { + enabled := *typedInput.Enabled + controller.Enabled = &enabled + } + + // No error + return nil +} + +// AssignProperties_From_ManagedClusterStorageProfileSnapshotController_STATUS populates our ManagedClusterStorageProfileSnapshotController_STATUS from the provided source ManagedClusterStorageProfileSnapshotController_STATUS +func (controller *ManagedClusterStorageProfileSnapshotController_STATUS) AssignProperties_From_ManagedClusterStorageProfileSnapshotController_STATUS(source *storage.ManagedClusterStorageProfileSnapshotController_STATUS) error { + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + controller.Enabled = &enabled + } else { + controller.Enabled = nil + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterStorageProfileSnapshotController_STATUS populates the provided destination ManagedClusterStorageProfileSnapshotController_STATUS from our ManagedClusterStorageProfileSnapshotController_STATUS +func (controller *ManagedClusterStorageProfileSnapshotController_STATUS) AssignProperties_To_ManagedClusterStorageProfileSnapshotController_STATUS(destination *storage.ManagedClusterStorageProfileSnapshotController_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Enabled + if controller.Enabled != nil { + enabled := *controller.Enabled + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// +kubebuilder:validation:Enum={"None","Windows_Server"} +type ManagedClusterWindowsProfile_LicenseType string + +const ( + ManagedClusterWindowsProfile_LicenseType_None = ManagedClusterWindowsProfile_LicenseType("None") + ManagedClusterWindowsProfile_LicenseType_Windows_Server = ManagedClusterWindowsProfile_LicenseType("Windows_Server") +) + +// Mapping from string to ManagedClusterWindowsProfile_LicenseType +var managedClusterWindowsProfile_LicenseType_Values = map[string]ManagedClusterWindowsProfile_LicenseType{ + "none": ManagedClusterWindowsProfile_LicenseType_None, + "windows_server": ManagedClusterWindowsProfile_LicenseType_Windows_Server, +} + +type ManagedClusterWindowsProfile_LicenseType_STATUS string + +const ( + ManagedClusterWindowsProfile_LicenseType_STATUS_None = ManagedClusterWindowsProfile_LicenseType_STATUS("None") + ManagedClusterWindowsProfile_LicenseType_STATUS_Windows_Server = ManagedClusterWindowsProfile_LicenseType_STATUS("Windows_Server") +) + +// Mapping from string to ManagedClusterWindowsProfile_LicenseType_STATUS +var managedClusterWindowsProfile_LicenseType_STATUS_Values = map[string]ManagedClusterWindowsProfile_LicenseType_STATUS{ + "none": ManagedClusterWindowsProfile_LicenseType_STATUS_None, + "windows_server": ManagedClusterWindowsProfile_LicenseType_STATUS_Windows_Server, +} + +// KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile. +type ManagedClusterWorkloadAutoScalerProfileKeda struct { + // +kubebuilder:validation:Required + // Enabled: Whether to enable KEDA. + Enabled *bool `json:"enabled,omitempty"` +} + +var _ genruntime.ARMTransformer = &ManagedClusterWorkloadAutoScalerProfileKeda{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (keda *ManagedClusterWorkloadAutoScalerProfileKeda) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if keda == nil { + return nil, nil + } + result := &arm.ManagedClusterWorkloadAutoScalerProfileKeda{} + + // Set property "Enabled": + if keda.Enabled != nil { + enabled := *keda.Enabled + result.Enabled = &enabled + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (keda *ManagedClusterWorkloadAutoScalerProfileKeda) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ManagedClusterWorkloadAutoScalerProfileKeda{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (keda *ManagedClusterWorkloadAutoScalerProfileKeda) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ManagedClusterWorkloadAutoScalerProfileKeda) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ManagedClusterWorkloadAutoScalerProfileKeda, got %T", armInput) + } + + // Set property "Enabled": + if typedInput.Enabled != nil { + enabled := *typedInput.Enabled + keda.Enabled = &enabled + } + + // No error + return nil +} + +// AssignProperties_From_ManagedClusterWorkloadAutoScalerProfileKeda populates our ManagedClusterWorkloadAutoScalerProfileKeda from the provided source ManagedClusterWorkloadAutoScalerProfileKeda +func (keda *ManagedClusterWorkloadAutoScalerProfileKeda) AssignProperties_From_ManagedClusterWorkloadAutoScalerProfileKeda(source *storage.ManagedClusterWorkloadAutoScalerProfileKeda) error { + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + keda.Enabled = &enabled + } else { + keda.Enabled = nil + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterWorkloadAutoScalerProfileKeda populates the provided destination ManagedClusterWorkloadAutoScalerProfileKeda from our ManagedClusterWorkloadAutoScalerProfileKeda +func (keda *ManagedClusterWorkloadAutoScalerProfileKeda) AssignProperties_To_ManagedClusterWorkloadAutoScalerProfileKeda(destination *storage.ManagedClusterWorkloadAutoScalerProfileKeda) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Enabled + if keda.Enabled != nil { + enabled := *keda.Enabled + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_ManagedClusterWorkloadAutoScalerProfileKeda_STATUS populates our ManagedClusterWorkloadAutoScalerProfileKeda from the provided source ManagedClusterWorkloadAutoScalerProfileKeda_STATUS +func (keda *ManagedClusterWorkloadAutoScalerProfileKeda) Initialize_From_ManagedClusterWorkloadAutoScalerProfileKeda_STATUS(source *ManagedClusterWorkloadAutoScalerProfileKeda_STATUS) error { + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + keda.Enabled = &enabled + } else { + keda.Enabled = nil + } + + // No error + return nil +} + +// KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile. +type ManagedClusterWorkloadAutoScalerProfileKeda_STATUS struct { + // Enabled: Whether to enable KEDA. + Enabled *bool `json:"enabled,omitempty"` +} + +var _ genruntime.FromARMConverter = &ManagedClusterWorkloadAutoScalerProfileKeda_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (keda *ManagedClusterWorkloadAutoScalerProfileKeda_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ManagedClusterWorkloadAutoScalerProfileKeda_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (keda *ManagedClusterWorkloadAutoScalerProfileKeda_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ManagedClusterWorkloadAutoScalerProfileKeda_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ManagedClusterWorkloadAutoScalerProfileKeda_STATUS, got %T", armInput) + } + + // Set property "Enabled": + if typedInput.Enabled != nil { + enabled := *typedInput.Enabled + keda.Enabled = &enabled + } + + // No error + return nil +} + +// AssignProperties_From_ManagedClusterWorkloadAutoScalerProfileKeda_STATUS populates our ManagedClusterWorkloadAutoScalerProfileKeda_STATUS from the provided source ManagedClusterWorkloadAutoScalerProfileKeda_STATUS +func (keda *ManagedClusterWorkloadAutoScalerProfileKeda_STATUS) AssignProperties_From_ManagedClusterWorkloadAutoScalerProfileKeda_STATUS(source *storage.ManagedClusterWorkloadAutoScalerProfileKeda_STATUS) error { + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + keda.Enabled = &enabled + } else { + keda.Enabled = nil + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterWorkloadAutoScalerProfileKeda_STATUS populates the provided destination ManagedClusterWorkloadAutoScalerProfileKeda_STATUS from our ManagedClusterWorkloadAutoScalerProfileKeda_STATUS +func (keda *ManagedClusterWorkloadAutoScalerProfileKeda_STATUS) AssignProperties_To_ManagedClusterWorkloadAutoScalerProfileKeda_STATUS(destination *storage.ManagedClusterWorkloadAutoScalerProfileKeda_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Enabled + if keda.Enabled != nil { + enabled := *keda.Enabled + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// VPA (Vertical Pod Autoscaler) settings for the workload auto-scaler profile. +type ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler struct { + // +kubebuilder:validation:Required + // Enabled: Whether to enable VPA. Default value is false. + Enabled *bool `json:"enabled,omitempty"` +} + +var _ genruntime.ARMTransformer = &ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (autoscaler *ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if autoscaler == nil { + return nil, nil + } + result := &arm.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler{} + + // Set property "Enabled": + if autoscaler.Enabled != nil { + enabled := *autoscaler.Enabled + result.Enabled = &enabled + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (autoscaler *ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (autoscaler *ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler, got %T", armInput) + } + + // Set property "Enabled": + if typedInput.Enabled != nil { + enabled := *typedInput.Enabled + autoscaler.Enabled = &enabled + } + + // No error + return nil +} + +// AssignProperties_From_ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler populates our ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler from the provided source ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler +func (autoscaler *ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler) AssignProperties_From_ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler(source *storage.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler) error { + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + autoscaler.Enabled = &enabled + } else { + autoscaler.Enabled = nil + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler populates the provided destination ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler from our ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler +func (autoscaler *ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler) AssignProperties_To_ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler(destination *storage.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Enabled + if autoscaler.Enabled != nil { + enabled := *autoscaler.Enabled + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS populates our ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler from the provided source ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS +func (autoscaler *ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler) Initialize_From_ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS(source *ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS) error { + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + autoscaler.Enabled = &enabled + } else { + autoscaler.Enabled = nil + } + + // No error + return nil +} + +// VPA (Vertical Pod Autoscaler) settings for the workload auto-scaler profile. +type ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS struct { + // Enabled: Whether to enable VPA. Default value is false. + Enabled *bool `json:"enabled,omitempty"` +} + +var _ genruntime.FromARMConverter = &ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (autoscaler *ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (autoscaler *ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS, got %T", armInput) + } + + // Set property "Enabled": + if typedInput.Enabled != nil { + enabled := *typedInput.Enabled + autoscaler.Enabled = &enabled + } + + // No error + return nil +} + +// AssignProperties_From_ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS populates our ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS from the provided source ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS +func (autoscaler *ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS) AssignProperties_From_ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS(source *storage.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS) error { + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + autoscaler.Enabled = &enabled + } else { + autoscaler.Enabled = nil + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS populates the provided destination ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS from our ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS +func (autoscaler *ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS) AssignProperties_To_ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS(destination *storage.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Enabled + if autoscaler.Enabled != nil { + enabled := *autoscaler.Enabled + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +type PowerState_Code_STATUS string + +const ( + PowerState_Code_STATUS_Running = PowerState_Code_STATUS("Running") + PowerState_Code_STATUS_Stopped = PowerState_Code_STATUS("Stopped") +) + +// Mapping from string to PowerState_Code_STATUS +var powerState_Code_STATUS_Values = map[string]PowerState_Code_STATUS{ + "running": PowerState_Code_STATUS_Running, + "stopped": PowerState_Code_STATUS_Stopped, +} + +// +kubebuilder:validation:Enum={"Disabled","Istio"} +type ServiceMeshProfile_Mode string + +const ( + ServiceMeshProfile_Mode_Disabled = ServiceMeshProfile_Mode("Disabled") + ServiceMeshProfile_Mode_Istio = ServiceMeshProfile_Mode("Istio") +) + +// Mapping from string to ServiceMeshProfile_Mode +var serviceMeshProfile_Mode_Values = map[string]ServiceMeshProfile_Mode{ + "disabled": ServiceMeshProfile_Mode_Disabled, + "istio": ServiceMeshProfile_Mode_Istio, +} + +type ServiceMeshProfile_Mode_STATUS string + +const ( + ServiceMeshProfile_Mode_STATUS_Disabled = ServiceMeshProfile_Mode_STATUS("Disabled") + ServiceMeshProfile_Mode_STATUS_Istio = ServiceMeshProfile_Mode_STATUS("Istio") +) + +// Mapping from string to ServiceMeshProfile_Mode_STATUS +var serviceMeshProfile_Mode_STATUS_Values = map[string]ServiceMeshProfile_Mode_STATUS{ + "disabled": ServiceMeshProfile_Mode_STATUS_Disabled, + "istio": ServiceMeshProfile_Mode_STATUS_Istio, +} + +// Settings for overrides when upgrading a cluster. +type UpgradeOverrideSettings struct { + // ForceUpgrade: Whether to force upgrade the cluster. Note that this option instructs upgrade operation to bypass upgrade + // protections such as checking for deprecated API usage. Enable this option only with caution. + ForceUpgrade *bool `json:"forceUpgrade,omitempty"` + + // Until: Until when the overrides are effective. Note that this only matches the start time of an upgrade, and the + // effectiveness won't change once an upgrade starts even if the `until` expires as upgrade proceeds. This field is not set + // by default. It must be set for the overrides to take effect. + Until *string `json:"until,omitempty"` +} + +var _ genruntime.ARMTransformer = &UpgradeOverrideSettings{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (settings *UpgradeOverrideSettings) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if settings == nil { + return nil, nil + } + result := &arm.UpgradeOverrideSettings{} + + // Set property "ForceUpgrade": + if settings.ForceUpgrade != nil { + forceUpgrade := *settings.ForceUpgrade + result.ForceUpgrade = &forceUpgrade + } + + // Set property "Until": + if settings.Until != nil { + until := *settings.Until + result.Until = &until + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (settings *UpgradeOverrideSettings) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.UpgradeOverrideSettings{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (settings *UpgradeOverrideSettings) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.UpgradeOverrideSettings) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.UpgradeOverrideSettings, got %T", armInput) + } + + // Set property "ForceUpgrade": + if typedInput.ForceUpgrade != nil { + forceUpgrade := *typedInput.ForceUpgrade + settings.ForceUpgrade = &forceUpgrade + } + + // Set property "Until": + if typedInput.Until != nil { + until := *typedInput.Until + settings.Until = &until + } + + // No error + return nil +} + +// AssignProperties_From_UpgradeOverrideSettings populates our UpgradeOverrideSettings from the provided source UpgradeOverrideSettings +func (settings *UpgradeOverrideSettings) AssignProperties_From_UpgradeOverrideSettings(source *storage.UpgradeOverrideSettings) error { + + // ForceUpgrade + if source.ForceUpgrade != nil { + forceUpgrade := *source.ForceUpgrade + settings.ForceUpgrade = &forceUpgrade + } else { + settings.ForceUpgrade = nil + } + + // Until + settings.Until = genruntime.ClonePointerToString(source.Until) + + // No error + return nil +} + +// AssignProperties_To_UpgradeOverrideSettings populates the provided destination UpgradeOverrideSettings from our UpgradeOverrideSettings +func (settings *UpgradeOverrideSettings) AssignProperties_To_UpgradeOverrideSettings(destination *storage.UpgradeOverrideSettings) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // ForceUpgrade + if settings.ForceUpgrade != nil { + forceUpgrade := *settings.ForceUpgrade + destination.ForceUpgrade = &forceUpgrade + } else { + destination.ForceUpgrade = nil + } + + // Until + destination.Until = genruntime.ClonePointerToString(settings.Until) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_UpgradeOverrideSettings_STATUS populates our UpgradeOverrideSettings from the provided source UpgradeOverrideSettings_STATUS +func (settings *UpgradeOverrideSettings) Initialize_From_UpgradeOverrideSettings_STATUS(source *UpgradeOverrideSettings_STATUS) error { + + // ForceUpgrade + if source.ForceUpgrade != nil { + forceUpgrade := *source.ForceUpgrade + settings.ForceUpgrade = &forceUpgrade + } else { + settings.ForceUpgrade = nil + } + + // Until + settings.Until = genruntime.ClonePointerToString(source.Until) + + // No error + return nil +} + +// Settings for overrides when upgrading a cluster. +type UpgradeOverrideSettings_STATUS struct { + // ForceUpgrade: Whether to force upgrade the cluster. Note that this option instructs upgrade operation to bypass upgrade + // protections such as checking for deprecated API usage. Enable this option only with caution. + ForceUpgrade *bool `json:"forceUpgrade,omitempty"` + + // Until: Until when the overrides are effective. Note that this only matches the start time of an upgrade, and the + // effectiveness won't change once an upgrade starts even if the `until` expires as upgrade proceeds. This field is not set + // by default. It must be set for the overrides to take effect. + Until *string `json:"until,omitempty"` +} + +var _ genruntime.FromARMConverter = &UpgradeOverrideSettings_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (settings *UpgradeOverrideSettings_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.UpgradeOverrideSettings_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (settings *UpgradeOverrideSettings_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.UpgradeOverrideSettings_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.UpgradeOverrideSettings_STATUS, got %T", armInput) + } + + // Set property "ForceUpgrade": + if typedInput.ForceUpgrade != nil { + forceUpgrade := *typedInput.ForceUpgrade + settings.ForceUpgrade = &forceUpgrade + } + + // Set property "Until": + if typedInput.Until != nil { + until := *typedInput.Until + settings.Until = &until + } + + // No error + return nil +} + +// AssignProperties_From_UpgradeOverrideSettings_STATUS populates our UpgradeOverrideSettings_STATUS from the provided source UpgradeOverrideSettings_STATUS +func (settings *UpgradeOverrideSettings_STATUS) AssignProperties_From_UpgradeOverrideSettings_STATUS(source *storage.UpgradeOverrideSettings_STATUS) error { + + // ForceUpgrade + if source.ForceUpgrade != nil { + forceUpgrade := *source.ForceUpgrade + settings.ForceUpgrade = &forceUpgrade + } else { + settings.ForceUpgrade = nil + } + + // Until + settings.Until = genruntime.ClonePointerToString(source.Until) + + // No error + return nil +} + +// AssignProperties_To_UpgradeOverrideSettings_STATUS populates the provided destination UpgradeOverrideSettings_STATUS from our UpgradeOverrideSettings_STATUS +func (settings *UpgradeOverrideSettings_STATUS) AssignProperties_To_UpgradeOverrideSettings_STATUS(destination *storage.UpgradeOverrideSettings_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // ForceUpgrade + if settings.ForceUpgrade != nil { + forceUpgrade := *settings.ForceUpgrade + destination.ForceUpgrade = &forceUpgrade + } else { + destination.ForceUpgrade = nil + } + + // Until + destination.Until = genruntime.ClonePointerToString(settings.Until) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Information about the user assigned identity for the resource +type UserAssignedIdentityDetails struct { + Reference genruntime.ResourceReference `armReference:"Reference" json:"reference,omitempty"` +} + +// AssignProperties_From_UserAssignedIdentityDetails populates our UserAssignedIdentityDetails from the provided source UserAssignedIdentityDetails +func (details *UserAssignedIdentityDetails) AssignProperties_From_UserAssignedIdentityDetails(source *storage.UserAssignedIdentityDetails) error { + + // Reference + details.Reference = source.Reference.Copy() + + // No error + return nil +} + +// AssignProperties_To_UserAssignedIdentityDetails populates the provided destination UserAssignedIdentityDetails from our UserAssignedIdentityDetails +func (details *UserAssignedIdentityDetails) AssignProperties_To_UserAssignedIdentityDetails(destination *storage.UserAssignedIdentityDetails) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Reference + destination.Reference = details.Reference.Copy() + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Windows gMSA Profile in the managed cluster. +type WindowsGmsaProfile struct { + // DnsServer: Specifies the DNS server for Windows gMSA. + // Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster. + DnsServer *string `json:"dnsServer,omitempty"` + + // Enabled: Specifies whether to enable Windows gMSA in the managed cluster. + Enabled *bool `json:"enabled,omitempty"` + + // RootDomainName: Specifies the root domain name for Windows gMSA. + // Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster. + RootDomainName *string `json:"rootDomainName,omitempty"` +} + +var _ genruntime.ARMTransformer = &WindowsGmsaProfile{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (profile *WindowsGmsaProfile) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if profile == nil { + return nil, nil + } + result := &arm.WindowsGmsaProfile{} + + // Set property "DnsServer": + if profile.DnsServer != nil { + dnsServer := *profile.DnsServer + result.DnsServer = &dnsServer + } + + // Set property "Enabled": + if profile.Enabled != nil { + enabled := *profile.Enabled + result.Enabled = &enabled + } + + // Set property "RootDomainName": + if profile.RootDomainName != nil { + rootDomainName := *profile.RootDomainName + result.RootDomainName = &rootDomainName + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (profile *WindowsGmsaProfile) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.WindowsGmsaProfile{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (profile *WindowsGmsaProfile) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.WindowsGmsaProfile) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.WindowsGmsaProfile, got %T", armInput) + } + + // Set property "DnsServer": + if typedInput.DnsServer != nil { + dnsServer := *typedInput.DnsServer + profile.DnsServer = &dnsServer + } + + // Set property "Enabled": + if typedInput.Enabled != nil { + enabled := *typedInput.Enabled + profile.Enabled = &enabled + } + + // Set property "RootDomainName": + if typedInput.RootDomainName != nil { + rootDomainName := *typedInput.RootDomainName + profile.RootDomainName = &rootDomainName + } + + // No error + return nil +} + +// AssignProperties_From_WindowsGmsaProfile populates our WindowsGmsaProfile from the provided source WindowsGmsaProfile +func (profile *WindowsGmsaProfile) AssignProperties_From_WindowsGmsaProfile(source *storage.WindowsGmsaProfile) error { + + // DnsServer + profile.DnsServer = genruntime.ClonePointerToString(source.DnsServer) + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + profile.Enabled = &enabled + } else { + profile.Enabled = nil + } + + // RootDomainName + profile.RootDomainName = genruntime.ClonePointerToString(source.RootDomainName) + + // No error + return nil +} + +// AssignProperties_To_WindowsGmsaProfile populates the provided destination WindowsGmsaProfile from our WindowsGmsaProfile +func (profile *WindowsGmsaProfile) AssignProperties_To_WindowsGmsaProfile(destination *storage.WindowsGmsaProfile) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // DnsServer + destination.DnsServer = genruntime.ClonePointerToString(profile.DnsServer) + + // Enabled + if profile.Enabled != nil { + enabled := *profile.Enabled + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // RootDomainName + destination.RootDomainName = genruntime.ClonePointerToString(profile.RootDomainName) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_WindowsGmsaProfile_STATUS populates our WindowsGmsaProfile from the provided source WindowsGmsaProfile_STATUS +func (profile *WindowsGmsaProfile) Initialize_From_WindowsGmsaProfile_STATUS(source *WindowsGmsaProfile_STATUS) error { + + // DnsServer + profile.DnsServer = genruntime.ClonePointerToString(source.DnsServer) + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + profile.Enabled = &enabled + } else { + profile.Enabled = nil + } + + // RootDomainName + profile.RootDomainName = genruntime.ClonePointerToString(source.RootDomainName) + + // No error + return nil +} + +// Windows gMSA Profile in the managed cluster. +type WindowsGmsaProfile_STATUS struct { + // DnsServer: Specifies the DNS server for Windows gMSA. + // Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster. + DnsServer *string `json:"dnsServer,omitempty"` + + // Enabled: Specifies whether to enable Windows gMSA in the managed cluster. + Enabled *bool `json:"enabled,omitempty"` + + // RootDomainName: Specifies the root domain name for Windows gMSA. + // Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster. + RootDomainName *string `json:"rootDomainName,omitempty"` +} + +var _ genruntime.FromARMConverter = &WindowsGmsaProfile_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (profile *WindowsGmsaProfile_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.WindowsGmsaProfile_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (profile *WindowsGmsaProfile_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.WindowsGmsaProfile_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.WindowsGmsaProfile_STATUS, got %T", armInput) + } + + // Set property "DnsServer": + if typedInput.DnsServer != nil { + dnsServer := *typedInput.DnsServer + profile.DnsServer = &dnsServer + } + + // Set property "Enabled": + if typedInput.Enabled != nil { + enabled := *typedInput.Enabled + profile.Enabled = &enabled + } + + // Set property "RootDomainName": + if typedInput.RootDomainName != nil { + rootDomainName := *typedInput.RootDomainName + profile.RootDomainName = &rootDomainName + } + + // No error + return nil +} + +// AssignProperties_From_WindowsGmsaProfile_STATUS populates our WindowsGmsaProfile_STATUS from the provided source WindowsGmsaProfile_STATUS +func (profile *WindowsGmsaProfile_STATUS) AssignProperties_From_WindowsGmsaProfile_STATUS(source *storage.WindowsGmsaProfile_STATUS) error { + + // DnsServer + profile.DnsServer = genruntime.ClonePointerToString(source.DnsServer) + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + profile.Enabled = &enabled + } else { + profile.Enabled = nil + } + + // RootDomainName + profile.RootDomainName = genruntime.ClonePointerToString(source.RootDomainName) + + // No error + return nil +} + +// AssignProperties_To_WindowsGmsaProfile_STATUS populates the provided destination WindowsGmsaProfile_STATUS from our WindowsGmsaProfile_STATUS +func (profile *WindowsGmsaProfile_STATUS) AssignProperties_To_WindowsGmsaProfile_STATUS(destination *storage.WindowsGmsaProfile_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // DnsServer + destination.DnsServer = genruntime.ClonePointerToString(profile.DnsServer) + + // Enabled + if profile.Enabled != nil { + enabled := *profile.Enabled + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // RootDomainName + destination.RootDomainName = genruntime.ClonePointerToString(profile.RootDomainName) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Observability profile to enable advanced network metrics and flow logs with historical contexts. +type AdvancedNetworkingObservability struct { + // Enabled: Indicates the enablement of Advanced Networking observability functionalities on clusters. + Enabled *bool `json:"enabled,omitempty"` +} + +var _ genruntime.ARMTransformer = &AdvancedNetworkingObservability{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (observability *AdvancedNetworkingObservability) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if observability == nil { + return nil, nil + } + result := &arm.AdvancedNetworkingObservability{} + + // Set property "Enabled": + if observability.Enabled != nil { + enabled := *observability.Enabled + result.Enabled = &enabled + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (observability *AdvancedNetworkingObservability) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.AdvancedNetworkingObservability{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (observability *AdvancedNetworkingObservability) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.AdvancedNetworkingObservability) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.AdvancedNetworkingObservability, got %T", armInput) + } + + // Set property "Enabled": + if typedInput.Enabled != nil { + enabled := *typedInput.Enabled + observability.Enabled = &enabled + } + + // No error + return nil +} + +// AssignProperties_From_AdvancedNetworkingObservability populates our AdvancedNetworkingObservability from the provided source AdvancedNetworkingObservability +func (observability *AdvancedNetworkingObservability) AssignProperties_From_AdvancedNetworkingObservability(source *storage.AdvancedNetworkingObservability) error { + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + observability.Enabled = &enabled + } else { + observability.Enabled = nil + } + + // No error + return nil +} + +// AssignProperties_To_AdvancedNetworkingObservability populates the provided destination AdvancedNetworkingObservability from our AdvancedNetworkingObservability +func (observability *AdvancedNetworkingObservability) AssignProperties_To_AdvancedNetworkingObservability(destination *storage.AdvancedNetworkingObservability) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Enabled + if observability.Enabled != nil { + enabled := *observability.Enabled + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_AdvancedNetworkingObservability_STATUS populates our AdvancedNetworkingObservability from the provided source AdvancedNetworkingObservability_STATUS +func (observability *AdvancedNetworkingObservability) Initialize_From_AdvancedNetworkingObservability_STATUS(source *AdvancedNetworkingObservability_STATUS) error { + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + observability.Enabled = &enabled + } else { + observability.Enabled = nil + } + + // No error + return nil +} + +// Observability profile to enable advanced network metrics and flow logs with historical contexts. +type AdvancedNetworkingObservability_STATUS struct { + // Enabled: Indicates the enablement of Advanced Networking observability functionalities on clusters. + Enabled *bool `json:"enabled,omitempty"` +} + +var _ genruntime.FromARMConverter = &AdvancedNetworkingObservability_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (observability *AdvancedNetworkingObservability_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.AdvancedNetworkingObservability_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (observability *AdvancedNetworkingObservability_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.AdvancedNetworkingObservability_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.AdvancedNetworkingObservability_STATUS, got %T", armInput) + } + + // Set property "Enabled": + if typedInput.Enabled != nil { + enabled := *typedInput.Enabled + observability.Enabled = &enabled + } + + // No error + return nil +} + +// AssignProperties_From_AdvancedNetworkingObservability_STATUS populates our AdvancedNetworkingObservability_STATUS from the provided source AdvancedNetworkingObservability_STATUS +func (observability *AdvancedNetworkingObservability_STATUS) AssignProperties_From_AdvancedNetworkingObservability_STATUS(source *storage.AdvancedNetworkingObservability_STATUS) error { + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + observability.Enabled = &enabled + } else { + observability.Enabled = nil + } + + // No error + return nil +} + +// AssignProperties_To_AdvancedNetworkingObservability_STATUS populates the provided destination AdvancedNetworkingObservability_STATUS from our AdvancedNetworkingObservability_STATUS +func (observability *AdvancedNetworkingObservability_STATUS) AssignProperties_To_AdvancedNetworkingObservability_STATUS(destination *storage.AdvancedNetworkingObservability_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Enabled + if observability.Enabled != nil { + enabled := *observability.Enabled + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Security profile to enable security features on cilium based cluster. +type AdvancedNetworkingSecurity struct { + // Enabled: This feature allows user to configure network policy based on DNS (FQDN) names. It can be enabled only on + // cilium based clusters. If not specified, the default is false. + Enabled *bool `json:"enabled,omitempty"` +} + +var _ genruntime.ARMTransformer = &AdvancedNetworkingSecurity{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (security *AdvancedNetworkingSecurity) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if security == nil { + return nil, nil + } + result := &arm.AdvancedNetworkingSecurity{} + + // Set property "Enabled": + if security.Enabled != nil { + enabled := *security.Enabled + result.Enabled = &enabled + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (security *AdvancedNetworkingSecurity) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.AdvancedNetworkingSecurity{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (security *AdvancedNetworkingSecurity) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.AdvancedNetworkingSecurity) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.AdvancedNetworkingSecurity, got %T", armInput) + } + + // Set property "Enabled": + if typedInput.Enabled != nil { + enabled := *typedInput.Enabled + security.Enabled = &enabled + } + + // No error + return nil +} + +// AssignProperties_From_AdvancedNetworkingSecurity populates our AdvancedNetworkingSecurity from the provided source AdvancedNetworkingSecurity +func (security *AdvancedNetworkingSecurity) AssignProperties_From_AdvancedNetworkingSecurity(source *storage.AdvancedNetworkingSecurity) error { + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + security.Enabled = &enabled + } else { + security.Enabled = nil + } + + // No error + return nil +} + +// AssignProperties_To_AdvancedNetworkingSecurity populates the provided destination AdvancedNetworkingSecurity from our AdvancedNetworkingSecurity +func (security *AdvancedNetworkingSecurity) AssignProperties_To_AdvancedNetworkingSecurity(destination *storage.AdvancedNetworkingSecurity) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Enabled + if security.Enabled != nil { + enabled := *security.Enabled + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_AdvancedNetworkingSecurity_STATUS populates our AdvancedNetworkingSecurity from the provided source AdvancedNetworkingSecurity_STATUS +func (security *AdvancedNetworkingSecurity) Initialize_From_AdvancedNetworkingSecurity_STATUS(source *AdvancedNetworkingSecurity_STATUS) error { + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + security.Enabled = &enabled + } else { + security.Enabled = nil + } + + // No error + return nil +} + +// Security profile to enable security features on cilium based cluster. +type AdvancedNetworkingSecurity_STATUS struct { + // Enabled: This feature allows user to configure network policy based on DNS (FQDN) names. It can be enabled only on + // cilium based clusters. If not specified, the default is false. + Enabled *bool `json:"enabled,omitempty"` +} + +var _ genruntime.FromARMConverter = &AdvancedNetworkingSecurity_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (security *AdvancedNetworkingSecurity_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.AdvancedNetworkingSecurity_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (security *AdvancedNetworkingSecurity_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.AdvancedNetworkingSecurity_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.AdvancedNetworkingSecurity_STATUS, got %T", armInput) + } + + // Set property "Enabled": + if typedInput.Enabled != nil { + enabled := *typedInput.Enabled + security.Enabled = &enabled + } + + // No error + return nil +} + +// AssignProperties_From_AdvancedNetworkingSecurity_STATUS populates our AdvancedNetworkingSecurity_STATUS from the provided source AdvancedNetworkingSecurity_STATUS +func (security *AdvancedNetworkingSecurity_STATUS) AssignProperties_From_AdvancedNetworkingSecurity_STATUS(source *storage.AdvancedNetworkingSecurity_STATUS) error { + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + security.Enabled = &enabled + } else { + security.Enabled = nil + } + + // No error + return nil +} + +// AssignProperties_To_AdvancedNetworkingSecurity_STATUS populates the provided destination AdvancedNetworkingSecurity_STATUS from our AdvancedNetworkingSecurity_STATUS +func (security *AdvancedNetworkingSecurity_STATUS) AssignProperties_To_AdvancedNetworkingSecurity_STATUS(destination *storage.AdvancedNetworkingSecurity_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Enabled + if security.Enabled != nil { + enabled := *security.Enabled + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// +kubebuilder:validation:Enum={"Private","Public"} +type AzureKeyVaultKms_KeyVaultNetworkAccess string + +const ( + AzureKeyVaultKms_KeyVaultNetworkAccess_Private = AzureKeyVaultKms_KeyVaultNetworkAccess("Private") + AzureKeyVaultKms_KeyVaultNetworkAccess_Public = AzureKeyVaultKms_KeyVaultNetworkAccess("Public") +) + +// Mapping from string to AzureKeyVaultKms_KeyVaultNetworkAccess +var azureKeyVaultKms_KeyVaultNetworkAccess_Values = map[string]AzureKeyVaultKms_KeyVaultNetworkAccess{ + "private": AzureKeyVaultKms_KeyVaultNetworkAccess_Private, + "public": AzureKeyVaultKms_KeyVaultNetworkAccess_Public, +} + +type AzureKeyVaultKms_KeyVaultNetworkAccess_STATUS string + +const ( + AzureKeyVaultKms_KeyVaultNetworkAccess_STATUS_Private = AzureKeyVaultKms_KeyVaultNetworkAccess_STATUS("Private") + AzureKeyVaultKms_KeyVaultNetworkAccess_STATUS_Public = AzureKeyVaultKms_KeyVaultNetworkAccess_STATUS("Public") +) + +// Mapping from string to AzureKeyVaultKms_KeyVaultNetworkAccess_STATUS +var azureKeyVaultKms_KeyVaultNetworkAccess_STATUS_Values = map[string]AzureKeyVaultKms_KeyVaultNetworkAccess_STATUS{ + "private": AzureKeyVaultKms_KeyVaultNetworkAccess_STATUS_Private, + "public": AzureKeyVaultKms_KeyVaultNetworkAccess_STATUS_Public, +} + +// Contains information about SSH certificate public key data. +type ContainerServiceSshPublicKey struct { + // +kubebuilder:validation:Required + // KeyData: Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or + // without headers. + KeyData *string `json:"keyData,omitempty"` +} + +var _ genruntime.ARMTransformer = &ContainerServiceSshPublicKey{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (publicKey *ContainerServiceSshPublicKey) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if publicKey == nil { + return nil, nil + } + result := &arm.ContainerServiceSshPublicKey{} + + // Set property "KeyData": + if publicKey.KeyData != nil { + keyData := *publicKey.KeyData + result.KeyData = &keyData + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (publicKey *ContainerServiceSshPublicKey) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ContainerServiceSshPublicKey{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (publicKey *ContainerServiceSshPublicKey) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ContainerServiceSshPublicKey) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ContainerServiceSshPublicKey, got %T", armInput) + } + + // Set property "KeyData": + if typedInput.KeyData != nil { + keyData := *typedInput.KeyData + publicKey.KeyData = &keyData + } + + // No error + return nil +} + +// AssignProperties_From_ContainerServiceSshPublicKey populates our ContainerServiceSshPublicKey from the provided source ContainerServiceSshPublicKey +func (publicKey *ContainerServiceSshPublicKey) AssignProperties_From_ContainerServiceSshPublicKey(source *storage.ContainerServiceSshPublicKey) error { + + // KeyData + publicKey.KeyData = genruntime.ClonePointerToString(source.KeyData) + + // No error + return nil +} + +// AssignProperties_To_ContainerServiceSshPublicKey populates the provided destination ContainerServiceSshPublicKey from our ContainerServiceSshPublicKey +func (publicKey *ContainerServiceSshPublicKey) AssignProperties_To_ContainerServiceSshPublicKey(destination *storage.ContainerServiceSshPublicKey) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // KeyData + destination.KeyData = genruntime.ClonePointerToString(publicKey.KeyData) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_ContainerServiceSshPublicKey_STATUS populates our ContainerServiceSshPublicKey from the provided source ContainerServiceSshPublicKey_STATUS +func (publicKey *ContainerServiceSshPublicKey) Initialize_From_ContainerServiceSshPublicKey_STATUS(source *ContainerServiceSshPublicKey_STATUS) error { + + // KeyData + publicKey.KeyData = genruntime.ClonePointerToString(source.KeyData) + + // No error + return nil +} + +// Contains information about SSH certificate public key data. +type ContainerServiceSshPublicKey_STATUS struct { + // KeyData: Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or + // without headers. + KeyData *string `json:"keyData,omitempty"` +} + +var _ genruntime.FromARMConverter = &ContainerServiceSshPublicKey_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (publicKey *ContainerServiceSshPublicKey_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ContainerServiceSshPublicKey_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (publicKey *ContainerServiceSshPublicKey_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ContainerServiceSshPublicKey_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ContainerServiceSshPublicKey_STATUS, got %T", armInput) + } + + // Set property "KeyData": + if typedInput.KeyData != nil { + keyData := *typedInput.KeyData + publicKey.KeyData = &keyData + } + + // No error + return nil +} + +// AssignProperties_From_ContainerServiceSshPublicKey_STATUS populates our ContainerServiceSshPublicKey_STATUS from the provided source ContainerServiceSshPublicKey_STATUS +func (publicKey *ContainerServiceSshPublicKey_STATUS) AssignProperties_From_ContainerServiceSshPublicKey_STATUS(source *storage.ContainerServiceSshPublicKey_STATUS) error { + + // KeyData + publicKey.KeyData = genruntime.ClonePointerToString(source.KeyData) + + // No error + return nil +} + +// AssignProperties_To_ContainerServiceSshPublicKey_STATUS populates the provided destination ContainerServiceSshPublicKey_STATUS from our ContainerServiceSshPublicKey_STATUS +func (publicKey *ContainerServiceSshPublicKey_STATUS) AssignProperties_To_ContainerServiceSshPublicKey_STATUS(destination *storage.ContainerServiceSshPublicKey_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // KeyData + destination.KeyData = genruntime.ClonePointerToString(publicKey.KeyData) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Istio Service Mesh Certificate Authority (CA) configuration. For now, we only support plugin certificates as described +// here https://aka.ms/asm-plugin-ca +type IstioCertificateAuthority struct { + // Plugin: Plugin certificates information for Service Mesh. + Plugin *IstioPluginCertificateAuthority `json:"plugin,omitempty"` +} + +var _ genruntime.ARMTransformer = &IstioCertificateAuthority{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (authority *IstioCertificateAuthority) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if authority == nil { + return nil, nil + } + result := &arm.IstioCertificateAuthority{} + + // Set property "Plugin": + if authority.Plugin != nil { + plugin_ARM, err := (*authority.Plugin).ConvertToARM(resolved) + if err != nil { + return nil, err + } + plugin := *plugin_ARM.(*arm.IstioPluginCertificateAuthority) + result.Plugin = &plugin + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (authority *IstioCertificateAuthority) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.IstioCertificateAuthority{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (authority *IstioCertificateAuthority) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.IstioCertificateAuthority) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.IstioCertificateAuthority, got %T", armInput) + } + + // Set property "Plugin": + if typedInput.Plugin != nil { + var plugin1 IstioPluginCertificateAuthority + err := plugin1.PopulateFromARM(owner, *typedInput.Plugin) + if err != nil { + return err + } + plugin := plugin1 + authority.Plugin = &plugin + } + + // No error + return nil +} + +// AssignProperties_From_IstioCertificateAuthority populates our IstioCertificateAuthority from the provided source IstioCertificateAuthority +func (authority *IstioCertificateAuthority) AssignProperties_From_IstioCertificateAuthority(source *storage.IstioCertificateAuthority) error { + + // Plugin + if source.Plugin != nil { + var plugin IstioPluginCertificateAuthority + err := plugin.AssignProperties_From_IstioPluginCertificateAuthority(source.Plugin) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_IstioPluginCertificateAuthority() to populate field Plugin") + } + authority.Plugin = &plugin + } else { + authority.Plugin = nil + } + + // No error + return nil +} + +// AssignProperties_To_IstioCertificateAuthority populates the provided destination IstioCertificateAuthority from our IstioCertificateAuthority +func (authority *IstioCertificateAuthority) AssignProperties_To_IstioCertificateAuthority(destination *storage.IstioCertificateAuthority) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Plugin + if authority.Plugin != nil { + var plugin storage.IstioPluginCertificateAuthority + err := authority.Plugin.AssignProperties_To_IstioPluginCertificateAuthority(&plugin) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_IstioPluginCertificateAuthority() to populate field Plugin") + } + destination.Plugin = &plugin + } else { + destination.Plugin = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_IstioCertificateAuthority_STATUS populates our IstioCertificateAuthority from the provided source IstioCertificateAuthority_STATUS +func (authority *IstioCertificateAuthority) Initialize_From_IstioCertificateAuthority_STATUS(source *IstioCertificateAuthority_STATUS) error { + + // Plugin + if source.Plugin != nil { + var plugin IstioPluginCertificateAuthority + err := plugin.Initialize_From_IstioPluginCertificateAuthority_STATUS(source.Plugin) + if err != nil { + return errors.Wrap(err, "calling Initialize_From_IstioPluginCertificateAuthority_STATUS() to populate field Plugin") + } + authority.Plugin = &plugin + } else { + authority.Plugin = nil + } + + // No error + return nil +} + +// Istio Service Mesh Certificate Authority (CA) configuration. For now, we only support plugin certificates as described +// here https://aka.ms/asm-plugin-ca +type IstioCertificateAuthority_STATUS struct { + // Plugin: Plugin certificates information for Service Mesh. + Plugin *IstioPluginCertificateAuthority_STATUS `json:"plugin,omitempty"` +} + +var _ genruntime.FromARMConverter = &IstioCertificateAuthority_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (authority *IstioCertificateAuthority_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.IstioCertificateAuthority_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (authority *IstioCertificateAuthority_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.IstioCertificateAuthority_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.IstioCertificateAuthority_STATUS, got %T", armInput) + } + + // Set property "Plugin": + if typedInput.Plugin != nil { + var plugin1 IstioPluginCertificateAuthority_STATUS + err := plugin1.PopulateFromARM(owner, *typedInput.Plugin) + if err != nil { + return err + } + plugin := plugin1 + authority.Plugin = &plugin + } + + // No error + return nil +} + +// AssignProperties_From_IstioCertificateAuthority_STATUS populates our IstioCertificateAuthority_STATUS from the provided source IstioCertificateAuthority_STATUS +func (authority *IstioCertificateAuthority_STATUS) AssignProperties_From_IstioCertificateAuthority_STATUS(source *storage.IstioCertificateAuthority_STATUS) error { + + // Plugin + if source.Plugin != nil { + var plugin IstioPluginCertificateAuthority_STATUS + err := plugin.AssignProperties_From_IstioPluginCertificateAuthority_STATUS(source.Plugin) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_IstioPluginCertificateAuthority_STATUS() to populate field Plugin") + } + authority.Plugin = &plugin + } else { + authority.Plugin = nil + } + + // No error + return nil +} + +// AssignProperties_To_IstioCertificateAuthority_STATUS populates the provided destination IstioCertificateAuthority_STATUS from our IstioCertificateAuthority_STATUS +func (authority *IstioCertificateAuthority_STATUS) AssignProperties_To_IstioCertificateAuthority_STATUS(destination *storage.IstioCertificateAuthority_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Plugin + if authority.Plugin != nil { + var plugin storage.IstioPluginCertificateAuthority_STATUS + err := authority.Plugin.AssignProperties_To_IstioPluginCertificateAuthority_STATUS(&plugin) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_IstioPluginCertificateAuthority_STATUS() to populate field Plugin") + } + destination.Plugin = &plugin + } else { + destination.Plugin = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Istio components configuration. +type IstioComponents struct { + // EgressGateways: Istio egress gateways. + EgressGateways []IstioEgressGateway `json:"egressGateways,omitempty"` + + // IngressGateways: Istio ingress gateways. + IngressGateways []IstioIngressGateway `json:"ingressGateways,omitempty"` +} + +var _ genruntime.ARMTransformer = &IstioComponents{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (components *IstioComponents) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if components == nil { + return nil, nil + } + result := &arm.IstioComponents{} + + // Set property "EgressGateways": + for _, item := range components.EgressGateways { + item_ARM, err := item.ConvertToARM(resolved) + if err != nil { + return nil, err + } + result.EgressGateways = append(result.EgressGateways, *item_ARM.(*arm.IstioEgressGateway)) + } + + // Set property "IngressGateways": + for _, item := range components.IngressGateways { + item_ARM, err := item.ConvertToARM(resolved) + if err != nil { + return nil, err + } + result.IngressGateways = append(result.IngressGateways, *item_ARM.(*arm.IstioIngressGateway)) + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (components *IstioComponents) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.IstioComponents{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (components *IstioComponents) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.IstioComponents) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.IstioComponents, got %T", armInput) + } + + // Set property "EgressGateways": + for _, item := range typedInput.EgressGateways { + var item1 IstioEgressGateway + err := item1.PopulateFromARM(owner, item) + if err != nil { + return err + } + components.EgressGateways = append(components.EgressGateways, item1) + } + + // Set property "IngressGateways": + for _, item := range typedInput.IngressGateways { + var item1 IstioIngressGateway + err := item1.PopulateFromARM(owner, item) + if err != nil { + return err + } + components.IngressGateways = append(components.IngressGateways, item1) + } + + // No error + return nil +} + +// AssignProperties_From_IstioComponents populates our IstioComponents from the provided source IstioComponents +func (components *IstioComponents) AssignProperties_From_IstioComponents(source *storage.IstioComponents) error { + + // EgressGateways + if source.EgressGateways != nil { + egressGatewayList := make([]IstioEgressGateway, len(source.EgressGateways)) + for egressGatewayIndex, egressGatewayItem := range source.EgressGateways { + // Shadow the loop variable to avoid aliasing + egressGatewayItem := egressGatewayItem + var egressGateway IstioEgressGateway + err := egressGateway.AssignProperties_From_IstioEgressGateway(&egressGatewayItem) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_IstioEgressGateway() to populate field EgressGateways") + } + egressGatewayList[egressGatewayIndex] = egressGateway + } + components.EgressGateways = egressGatewayList + } else { + components.EgressGateways = nil + } + + // IngressGateways + if source.IngressGateways != nil { + ingressGatewayList := make([]IstioIngressGateway, len(source.IngressGateways)) + for ingressGatewayIndex, ingressGatewayItem := range source.IngressGateways { + // Shadow the loop variable to avoid aliasing + ingressGatewayItem := ingressGatewayItem + var ingressGateway IstioIngressGateway + err := ingressGateway.AssignProperties_From_IstioIngressGateway(&ingressGatewayItem) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_IstioIngressGateway() to populate field IngressGateways") + } + ingressGatewayList[ingressGatewayIndex] = ingressGateway + } + components.IngressGateways = ingressGatewayList + } else { + components.IngressGateways = nil + } + + // No error + return nil +} + +// AssignProperties_To_IstioComponents populates the provided destination IstioComponents from our IstioComponents +func (components *IstioComponents) AssignProperties_To_IstioComponents(destination *storage.IstioComponents) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // EgressGateways + if components.EgressGateways != nil { + egressGatewayList := make([]storage.IstioEgressGateway, len(components.EgressGateways)) + for egressGatewayIndex, egressGatewayItem := range components.EgressGateways { + // Shadow the loop variable to avoid aliasing + egressGatewayItem := egressGatewayItem + var egressGateway storage.IstioEgressGateway + err := egressGatewayItem.AssignProperties_To_IstioEgressGateway(&egressGateway) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_IstioEgressGateway() to populate field EgressGateways") + } + egressGatewayList[egressGatewayIndex] = egressGateway + } + destination.EgressGateways = egressGatewayList + } else { + destination.EgressGateways = nil + } + + // IngressGateways + if components.IngressGateways != nil { + ingressGatewayList := make([]storage.IstioIngressGateway, len(components.IngressGateways)) + for ingressGatewayIndex, ingressGatewayItem := range components.IngressGateways { + // Shadow the loop variable to avoid aliasing + ingressGatewayItem := ingressGatewayItem + var ingressGateway storage.IstioIngressGateway + err := ingressGatewayItem.AssignProperties_To_IstioIngressGateway(&ingressGateway) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_IstioIngressGateway() to populate field IngressGateways") + } + ingressGatewayList[ingressGatewayIndex] = ingressGateway + } + destination.IngressGateways = ingressGatewayList + } else { + destination.IngressGateways = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_IstioComponents_STATUS populates our IstioComponents from the provided source IstioComponents_STATUS +func (components *IstioComponents) Initialize_From_IstioComponents_STATUS(source *IstioComponents_STATUS) error { + + // EgressGateways + if source.EgressGateways != nil { + egressGatewayList := make([]IstioEgressGateway, len(source.EgressGateways)) + for egressGatewayIndex, egressGatewayItem := range source.EgressGateways { + // Shadow the loop variable to avoid aliasing + egressGatewayItem := egressGatewayItem + var egressGateway IstioEgressGateway + err := egressGateway.Initialize_From_IstioEgressGateway_STATUS(&egressGatewayItem) + if err != nil { + return errors.Wrap(err, "calling Initialize_From_IstioEgressGateway_STATUS() to populate field EgressGateways") + } + egressGatewayList[egressGatewayIndex] = egressGateway + } + components.EgressGateways = egressGatewayList + } else { + components.EgressGateways = nil + } + + // IngressGateways + if source.IngressGateways != nil { + ingressGatewayList := make([]IstioIngressGateway, len(source.IngressGateways)) + for ingressGatewayIndex, ingressGatewayItem := range source.IngressGateways { + // Shadow the loop variable to avoid aliasing + ingressGatewayItem := ingressGatewayItem + var ingressGateway IstioIngressGateway + err := ingressGateway.Initialize_From_IstioIngressGateway_STATUS(&ingressGatewayItem) + if err != nil { + return errors.Wrap(err, "calling Initialize_From_IstioIngressGateway_STATUS() to populate field IngressGateways") + } + ingressGatewayList[ingressGatewayIndex] = ingressGateway + } + components.IngressGateways = ingressGatewayList + } else { + components.IngressGateways = nil + } + + // No error + return nil +} + +// Istio components configuration. +type IstioComponents_STATUS struct { + // EgressGateways: Istio egress gateways. + EgressGateways []IstioEgressGateway_STATUS `json:"egressGateways,omitempty"` + + // IngressGateways: Istio ingress gateways. + IngressGateways []IstioIngressGateway_STATUS `json:"ingressGateways,omitempty"` +} + +var _ genruntime.FromARMConverter = &IstioComponents_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (components *IstioComponents_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.IstioComponents_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (components *IstioComponents_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.IstioComponents_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.IstioComponents_STATUS, got %T", armInput) + } + + // Set property "EgressGateways": + for _, item := range typedInput.EgressGateways { + var item1 IstioEgressGateway_STATUS + err := item1.PopulateFromARM(owner, item) + if err != nil { + return err + } + components.EgressGateways = append(components.EgressGateways, item1) + } + + // Set property "IngressGateways": + for _, item := range typedInput.IngressGateways { + var item1 IstioIngressGateway_STATUS + err := item1.PopulateFromARM(owner, item) + if err != nil { + return err + } + components.IngressGateways = append(components.IngressGateways, item1) + } + + // No error + return nil +} + +// AssignProperties_From_IstioComponents_STATUS populates our IstioComponents_STATUS from the provided source IstioComponents_STATUS +func (components *IstioComponents_STATUS) AssignProperties_From_IstioComponents_STATUS(source *storage.IstioComponents_STATUS) error { + + // EgressGateways + if source.EgressGateways != nil { + egressGatewayList := make([]IstioEgressGateway_STATUS, len(source.EgressGateways)) + for egressGatewayIndex, egressGatewayItem := range source.EgressGateways { + // Shadow the loop variable to avoid aliasing + egressGatewayItem := egressGatewayItem + var egressGateway IstioEgressGateway_STATUS + err := egressGateway.AssignProperties_From_IstioEgressGateway_STATUS(&egressGatewayItem) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_IstioEgressGateway_STATUS() to populate field EgressGateways") + } + egressGatewayList[egressGatewayIndex] = egressGateway + } + components.EgressGateways = egressGatewayList + } else { + components.EgressGateways = nil + } + + // IngressGateways + if source.IngressGateways != nil { + ingressGatewayList := make([]IstioIngressGateway_STATUS, len(source.IngressGateways)) + for ingressGatewayIndex, ingressGatewayItem := range source.IngressGateways { + // Shadow the loop variable to avoid aliasing + ingressGatewayItem := ingressGatewayItem + var ingressGateway IstioIngressGateway_STATUS + err := ingressGateway.AssignProperties_From_IstioIngressGateway_STATUS(&ingressGatewayItem) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_IstioIngressGateway_STATUS() to populate field IngressGateways") + } + ingressGatewayList[ingressGatewayIndex] = ingressGateway + } + components.IngressGateways = ingressGatewayList + } else { + components.IngressGateways = nil + } + + // No error + return nil +} + +// AssignProperties_To_IstioComponents_STATUS populates the provided destination IstioComponents_STATUS from our IstioComponents_STATUS +func (components *IstioComponents_STATUS) AssignProperties_To_IstioComponents_STATUS(destination *storage.IstioComponents_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // EgressGateways + if components.EgressGateways != nil { + egressGatewayList := make([]storage.IstioEgressGateway_STATUS, len(components.EgressGateways)) + for egressGatewayIndex, egressGatewayItem := range components.EgressGateways { + // Shadow the loop variable to avoid aliasing + egressGatewayItem := egressGatewayItem + var egressGateway storage.IstioEgressGateway_STATUS + err := egressGatewayItem.AssignProperties_To_IstioEgressGateway_STATUS(&egressGateway) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_IstioEgressGateway_STATUS() to populate field EgressGateways") + } + egressGatewayList[egressGatewayIndex] = egressGateway + } + destination.EgressGateways = egressGatewayList + } else { + destination.EgressGateways = nil + } + + // IngressGateways + if components.IngressGateways != nil { + ingressGatewayList := make([]storage.IstioIngressGateway_STATUS, len(components.IngressGateways)) + for ingressGatewayIndex, ingressGatewayItem := range components.IngressGateways { + // Shadow the loop variable to avoid aliasing + ingressGatewayItem := ingressGatewayItem + var ingressGateway storage.IstioIngressGateway_STATUS + err := ingressGatewayItem.AssignProperties_To_IstioIngressGateway_STATUS(&ingressGateway) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_IstioIngressGateway_STATUS() to populate field IngressGateways") + } + ingressGatewayList[ingressGatewayIndex] = ingressGateway + } + destination.IngressGateways = ingressGatewayList + } else { + destination.IngressGateways = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Kube State Metrics profile for the Azure Managed Prometheus addon. These optional settings are for the +// kube-state-metrics pod that is deployed with the addon. See aka.ms/AzureManagedPrometheus-optional-parameters for +// details. +type ManagedClusterAzureMonitorProfileKubeStateMetrics struct { + // MetricAnnotationsAllowList: Comma-separated list of Kubernetes annotation keys that will be used in the resource's + // labels metric (Example: 'namespaces=[kubernetes.io/team,...],pods=[kubernetes.io/team],...'). By default the metric + // contains only resource name and namespace labels. + MetricAnnotationsAllowList *string `json:"metricAnnotationsAllowList,omitempty"` + + // MetricLabelsAllowlist: Comma-separated list of additional Kubernetes label keys that will be used in the resource's + // labels metric (Example: 'namespaces=[k8s-label-1,k8s-label-n,...],pods=[app],...'). By default the metric contains only + // resource name and namespace labels. + MetricLabelsAllowlist *string `json:"metricLabelsAllowlist,omitempty"` +} + +var _ genruntime.ARMTransformer = &ManagedClusterAzureMonitorProfileKubeStateMetrics{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (metrics *ManagedClusterAzureMonitorProfileKubeStateMetrics) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if metrics == nil { + return nil, nil + } + result := &arm.ManagedClusterAzureMonitorProfileKubeStateMetrics{} + + // Set property "MetricAnnotationsAllowList": + if metrics.MetricAnnotationsAllowList != nil { + metricAnnotationsAllowList := *metrics.MetricAnnotationsAllowList + result.MetricAnnotationsAllowList = &metricAnnotationsAllowList + } + + // Set property "MetricLabelsAllowlist": + if metrics.MetricLabelsAllowlist != nil { + metricLabelsAllowlist := *metrics.MetricLabelsAllowlist + result.MetricLabelsAllowlist = &metricLabelsAllowlist + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (metrics *ManagedClusterAzureMonitorProfileKubeStateMetrics) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ManagedClusterAzureMonitorProfileKubeStateMetrics{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (metrics *ManagedClusterAzureMonitorProfileKubeStateMetrics) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ManagedClusterAzureMonitorProfileKubeStateMetrics) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ManagedClusterAzureMonitorProfileKubeStateMetrics, got %T", armInput) + } + + // Set property "MetricAnnotationsAllowList": + if typedInput.MetricAnnotationsAllowList != nil { + metricAnnotationsAllowList := *typedInput.MetricAnnotationsAllowList + metrics.MetricAnnotationsAllowList = &metricAnnotationsAllowList + } + + // Set property "MetricLabelsAllowlist": + if typedInput.MetricLabelsAllowlist != nil { + metricLabelsAllowlist := *typedInput.MetricLabelsAllowlist + metrics.MetricLabelsAllowlist = &metricLabelsAllowlist + } + + // No error + return nil +} + +// AssignProperties_From_ManagedClusterAzureMonitorProfileKubeStateMetrics populates our ManagedClusterAzureMonitorProfileKubeStateMetrics from the provided source ManagedClusterAzureMonitorProfileKubeStateMetrics +func (metrics *ManagedClusterAzureMonitorProfileKubeStateMetrics) AssignProperties_From_ManagedClusterAzureMonitorProfileKubeStateMetrics(source *storage.ManagedClusterAzureMonitorProfileKubeStateMetrics) error { + + // MetricAnnotationsAllowList + metrics.MetricAnnotationsAllowList = genruntime.ClonePointerToString(source.MetricAnnotationsAllowList) + + // MetricLabelsAllowlist + metrics.MetricLabelsAllowlist = genruntime.ClonePointerToString(source.MetricLabelsAllowlist) + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterAzureMonitorProfileKubeStateMetrics populates the provided destination ManagedClusterAzureMonitorProfileKubeStateMetrics from our ManagedClusterAzureMonitorProfileKubeStateMetrics +func (metrics *ManagedClusterAzureMonitorProfileKubeStateMetrics) AssignProperties_To_ManagedClusterAzureMonitorProfileKubeStateMetrics(destination *storage.ManagedClusterAzureMonitorProfileKubeStateMetrics) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // MetricAnnotationsAllowList + destination.MetricAnnotationsAllowList = genruntime.ClonePointerToString(metrics.MetricAnnotationsAllowList) + + // MetricLabelsAllowlist + destination.MetricLabelsAllowlist = genruntime.ClonePointerToString(metrics.MetricLabelsAllowlist) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS populates our ManagedClusterAzureMonitorProfileKubeStateMetrics from the provided source ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS +func (metrics *ManagedClusterAzureMonitorProfileKubeStateMetrics) Initialize_From_ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS(source *ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS) error { + + // MetricAnnotationsAllowList + metrics.MetricAnnotationsAllowList = genruntime.ClonePointerToString(source.MetricAnnotationsAllowList) + + // MetricLabelsAllowlist + metrics.MetricLabelsAllowlist = genruntime.ClonePointerToString(source.MetricLabelsAllowlist) + + // No error + return nil +} + +// Kube State Metrics profile for the Azure Managed Prometheus addon. These optional settings are for the +// kube-state-metrics pod that is deployed with the addon. See aka.ms/AzureManagedPrometheus-optional-parameters for +// details. +type ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS struct { + // MetricAnnotationsAllowList: Comma-separated list of Kubernetes annotation keys that will be used in the resource's + // labels metric (Example: 'namespaces=[kubernetes.io/team,...],pods=[kubernetes.io/team],...'). By default the metric + // contains only resource name and namespace labels. + MetricAnnotationsAllowList *string `json:"metricAnnotationsAllowList,omitempty"` + + // MetricLabelsAllowlist: Comma-separated list of additional Kubernetes label keys that will be used in the resource's + // labels metric (Example: 'namespaces=[k8s-label-1,k8s-label-n,...],pods=[app],...'). By default the metric contains only + // resource name and namespace labels. + MetricLabelsAllowlist *string `json:"metricLabelsAllowlist,omitempty"` +} + +var _ genruntime.FromARMConverter = &ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (metrics *ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (metrics *ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS, got %T", armInput) + } + + // Set property "MetricAnnotationsAllowList": + if typedInput.MetricAnnotationsAllowList != nil { + metricAnnotationsAllowList := *typedInput.MetricAnnotationsAllowList + metrics.MetricAnnotationsAllowList = &metricAnnotationsAllowList + } + + // Set property "MetricLabelsAllowlist": + if typedInput.MetricLabelsAllowlist != nil { + metricLabelsAllowlist := *typedInput.MetricLabelsAllowlist + metrics.MetricLabelsAllowlist = &metricLabelsAllowlist + } + + // No error + return nil +} + +// AssignProperties_From_ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS populates our ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS from the provided source ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS +func (metrics *ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS) AssignProperties_From_ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS(source *storage.ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS) error { + + // MetricAnnotationsAllowList + metrics.MetricAnnotationsAllowList = genruntime.ClonePointerToString(source.MetricAnnotationsAllowList) + + // MetricLabelsAllowlist + metrics.MetricLabelsAllowlist = genruntime.ClonePointerToString(source.MetricLabelsAllowlist) + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS populates the provided destination ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS from our ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS +func (metrics *ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS) AssignProperties_To_ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS(destination *storage.ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // MetricAnnotationsAllowList + destination.MetricAnnotationsAllowList = genruntime.ClonePointerToString(metrics.MetricAnnotationsAllowList) + + // MetricLabelsAllowlist + destination.MetricLabelsAllowlist = genruntime.ClonePointerToString(metrics.MetricLabelsAllowlist) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// +kubebuilder:validation:Enum={"NodeIP","NodeIPConfiguration"} +type ManagedClusterLoadBalancerProfile_BackendPoolType string + +const ( + ManagedClusterLoadBalancerProfile_BackendPoolType_NodeIP = ManagedClusterLoadBalancerProfile_BackendPoolType("NodeIP") + ManagedClusterLoadBalancerProfile_BackendPoolType_NodeIPConfiguration = ManagedClusterLoadBalancerProfile_BackendPoolType("NodeIPConfiguration") +) + +// Mapping from string to ManagedClusterLoadBalancerProfile_BackendPoolType +var managedClusterLoadBalancerProfile_BackendPoolType_Values = map[string]ManagedClusterLoadBalancerProfile_BackendPoolType{ + "nodeip": ManagedClusterLoadBalancerProfile_BackendPoolType_NodeIP, + "nodeipconfiguration": ManagedClusterLoadBalancerProfile_BackendPoolType_NodeIPConfiguration, +} + +type ManagedClusterLoadBalancerProfile_BackendPoolType_STATUS string + +const ( + ManagedClusterLoadBalancerProfile_BackendPoolType_STATUS_NodeIP = ManagedClusterLoadBalancerProfile_BackendPoolType_STATUS("NodeIP") + ManagedClusterLoadBalancerProfile_BackendPoolType_STATUS_NodeIPConfiguration = ManagedClusterLoadBalancerProfile_BackendPoolType_STATUS("NodeIPConfiguration") +) + +// Mapping from string to ManagedClusterLoadBalancerProfile_BackendPoolType_STATUS +var managedClusterLoadBalancerProfile_BackendPoolType_STATUS_Values = map[string]ManagedClusterLoadBalancerProfile_BackendPoolType_STATUS{ + "nodeip": ManagedClusterLoadBalancerProfile_BackendPoolType_STATUS_NodeIP, + "nodeipconfiguration": ManagedClusterLoadBalancerProfile_BackendPoolType_STATUS_NodeIPConfiguration, +} + +type ManagedClusterLoadBalancerProfile_ManagedOutboundIPs struct { + // +kubebuilder:validation:Maximum=100 + // +kubebuilder:validation:Minimum=1 + // Count: The desired number of IPv4 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values + // must be in the range of 1 to 100 (inclusive). The default value is 1. + Count *int `json:"count,omitempty"` + + // +kubebuilder:validation:Maximum=100 + // +kubebuilder:validation:Minimum=0 + // CountIPv6: The desired number of IPv6 outbound IPs created/managed by Azure for the cluster load balancer. Allowed + // values must be in the range of 1 to 100 (inclusive). The default value is 0 for single-stack and 1 for dual-stack. + CountIPv6 *int `json:"countIPv6,omitempty"` +} + +var _ genruntime.ARMTransformer = &ManagedClusterLoadBalancerProfile_ManagedOutboundIPs{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (iPs *ManagedClusterLoadBalancerProfile_ManagedOutboundIPs) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if iPs == nil { + return nil, nil + } + result := &arm.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs{} + + // Set property "Count": + if iPs.Count != nil { + count := *iPs.Count + result.Count = &count + } + + // Set property "CountIPv6": + if iPs.CountIPv6 != nil { + countIPv6 := *iPs.CountIPv6 + result.CountIPv6 = &countIPv6 + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (iPs *ManagedClusterLoadBalancerProfile_ManagedOutboundIPs) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (iPs *ManagedClusterLoadBalancerProfile_ManagedOutboundIPs) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs, got %T", armInput) + } + + // Set property "Count": + if typedInput.Count != nil { + count := *typedInput.Count + iPs.Count = &count + } + + // Set property "CountIPv6": + if typedInput.CountIPv6 != nil { + countIPv6 := *typedInput.CountIPv6 + iPs.CountIPv6 = &countIPv6 + } + + // No error + return nil +} + +// AssignProperties_From_ManagedClusterLoadBalancerProfile_ManagedOutboundIPs populates our ManagedClusterLoadBalancerProfile_ManagedOutboundIPs from the provided source ManagedClusterLoadBalancerProfile_ManagedOutboundIPs +func (iPs *ManagedClusterLoadBalancerProfile_ManagedOutboundIPs) AssignProperties_From_ManagedClusterLoadBalancerProfile_ManagedOutboundIPs(source *storage.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs) error { + + // Count + if source.Count != nil { + count := *source.Count + iPs.Count = &count + } else { + iPs.Count = nil + } + + // CountIPv6 + if source.CountIPv6 != nil { + countIPv6 := *source.CountIPv6 + iPs.CountIPv6 = &countIPv6 + } else { + iPs.CountIPv6 = nil + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterLoadBalancerProfile_ManagedOutboundIPs populates the provided destination ManagedClusterLoadBalancerProfile_ManagedOutboundIPs from our ManagedClusterLoadBalancerProfile_ManagedOutboundIPs +func (iPs *ManagedClusterLoadBalancerProfile_ManagedOutboundIPs) AssignProperties_To_ManagedClusterLoadBalancerProfile_ManagedOutboundIPs(destination *storage.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Count + if iPs.Count != nil { + count := *iPs.Count + destination.Count = &count + } else { + destination.Count = nil + } + + // CountIPv6 + if iPs.CountIPv6 != nil { + countIPv6 := *iPs.CountIPv6 + destination.CountIPv6 = &countIPv6 + } else { + destination.CountIPv6 = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS populates our ManagedClusterLoadBalancerProfile_ManagedOutboundIPs from the provided source ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS +func (iPs *ManagedClusterLoadBalancerProfile_ManagedOutboundIPs) Initialize_From_ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS(source *ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS) error { + + // Count + if source.Count != nil { + count := *source.Count + iPs.Count = &count + } else { + iPs.Count = nil + } + + // CountIPv6 + if source.CountIPv6 != nil { + countIPv6 := *source.CountIPv6 + iPs.CountIPv6 = &countIPv6 + } else { + iPs.CountIPv6 = nil + } + + // No error + return nil +} + +type ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS struct { + // Count: The desired number of IPv4 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values + // must be in the range of 1 to 100 (inclusive). The default value is 1. + Count *int `json:"count,omitempty"` + + // CountIPv6: The desired number of IPv6 outbound IPs created/managed by Azure for the cluster load balancer. Allowed + // values must be in the range of 1 to 100 (inclusive). The default value is 0 for single-stack and 1 for dual-stack. + CountIPv6 *int `json:"countIPv6,omitempty"` +} + +var _ genruntime.FromARMConverter = &ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (iPs *ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (iPs *ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS, got %T", armInput) + } + + // Set property "Count": + if typedInput.Count != nil { + count := *typedInput.Count + iPs.Count = &count + } + + // Set property "CountIPv6": + if typedInput.CountIPv6 != nil { + countIPv6 := *typedInput.CountIPv6 + iPs.CountIPv6 = &countIPv6 + } + + // No error + return nil +} + +// AssignProperties_From_ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS populates our ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS from the provided source ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS +func (iPs *ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS) AssignProperties_From_ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS(source *storage.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS) error { + + // Count + iPs.Count = genruntime.ClonePointerToInt(source.Count) + + // CountIPv6 + iPs.CountIPv6 = genruntime.ClonePointerToInt(source.CountIPv6) + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS populates the provided destination ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS from our ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS +func (iPs *ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS) AssignProperties_To_ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS(destination *storage.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Count + destination.Count = genruntime.ClonePointerToInt(iPs.Count) + + // CountIPv6 + destination.CountIPv6 = genruntime.ClonePointerToInt(iPs.CountIPv6) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +type ManagedClusterLoadBalancerProfile_OutboundIPPrefixes struct { + // PublicIPPrefixes: A list of public IP prefix resources. + PublicIPPrefixes []ResourceReference `json:"publicIPPrefixes,omitempty"` +} + +var _ genruntime.ARMTransformer = &ManagedClusterLoadBalancerProfile_OutboundIPPrefixes{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (prefixes *ManagedClusterLoadBalancerProfile_OutboundIPPrefixes) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if prefixes == nil { + return nil, nil + } + result := &arm.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes{} + + // Set property "PublicIPPrefixes": + for _, item := range prefixes.PublicIPPrefixes { + item_ARM, err := item.ConvertToARM(resolved) + if err != nil { + return nil, err + } + result.PublicIPPrefixes = append(result.PublicIPPrefixes, *item_ARM.(*arm.ResourceReference)) + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (prefixes *ManagedClusterLoadBalancerProfile_OutboundIPPrefixes) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (prefixes *ManagedClusterLoadBalancerProfile_OutboundIPPrefixes) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes, got %T", armInput) + } + + // Set property "PublicIPPrefixes": + for _, item := range typedInput.PublicIPPrefixes { + var item1 ResourceReference + err := item1.PopulateFromARM(owner, item) + if err != nil { + return err + } + prefixes.PublicIPPrefixes = append(prefixes.PublicIPPrefixes, item1) + } + + // No error + return nil +} + +// AssignProperties_From_ManagedClusterLoadBalancerProfile_OutboundIPPrefixes populates our ManagedClusterLoadBalancerProfile_OutboundIPPrefixes from the provided source ManagedClusterLoadBalancerProfile_OutboundIPPrefixes +func (prefixes *ManagedClusterLoadBalancerProfile_OutboundIPPrefixes) AssignProperties_From_ManagedClusterLoadBalancerProfile_OutboundIPPrefixes(source *storage.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes) error { + + // PublicIPPrefixes + if source.PublicIPPrefixes != nil { + publicIPPrefixList := make([]ResourceReference, len(source.PublicIPPrefixes)) + for publicIPPrefixIndex, publicIPPrefixItem := range source.PublicIPPrefixes { + // Shadow the loop variable to avoid aliasing + publicIPPrefixItem := publicIPPrefixItem + var publicIPPrefix ResourceReference + err := publicIPPrefix.AssignProperties_From_ResourceReference(&publicIPPrefixItem) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ResourceReference() to populate field PublicIPPrefixes") + } + publicIPPrefixList[publicIPPrefixIndex] = publicIPPrefix + } + prefixes.PublicIPPrefixes = publicIPPrefixList + } else { + prefixes.PublicIPPrefixes = nil + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterLoadBalancerProfile_OutboundIPPrefixes populates the provided destination ManagedClusterLoadBalancerProfile_OutboundIPPrefixes from our ManagedClusterLoadBalancerProfile_OutboundIPPrefixes +func (prefixes *ManagedClusterLoadBalancerProfile_OutboundIPPrefixes) AssignProperties_To_ManagedClusterLoadBalancerProfile_OutboundIPPrefixes(destination *storage.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // PublicIPPrefixes + if prefixes.PublicIPPrefixes != nil { + publicIPPrefixList := make([]storage.ResourceReference, len(prefixes.PublicIPPrefixes)) + for publicIPPrefixIndex, publicIPPrefixItem := range prefixes.PublicIPPrefixes { + // Shadow the loop variable to avoid aliasing + publicIPPrefixItem := publicIPPrefixItem + var publicIPPrefix storage.ResourceReference + err := publicIPPrefixItem.AssignProperties_To_ResourceReference(&publicIPPrefix) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ResourceReference() to populate field PublicIPPrefixes") + } + publicIPPrefixList[publicIPPrefixIndex] = publicIPPrefix + } + destination.PublicIPPrefixes = publicIPPrefixList + } else { + destination.PublicIPPrefixes = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS populates our ManagedClusterLoadBalancerProfile_OutboundIPPrefixes from the provided source ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS +func (prefixes *ManagedClusterLoadBalancerProfile_OutboundIPPrefixes) Initialize_From_ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS(source *ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS) error { + + // PublicIPPrefixes + if source.PublicIPPrefixes != nil { + publicIPPrefixList := make([]ResourceReference, len(source.PublicIPPrefixes)) + for publicIPPrefixIndex, publicIPPrefixItem := range source.PublicIPPrefixes { + // Shadow the loop variable to avoid aliasing + publicIPPrefixItem := publicIPPrefixItem + var publicIPPrefix ResourceReference + err := publicIPPrefix.Initialize_From_ResourceReference_STATUS(&publicIPPrefixItem) + if err != nil { + return errors.Wrap(err, "calling Initialize_From_ResourceReference_STATUS() to populate field PublicIPPrefixes") + } + publicIPPrefixList[publicIPPrefixIndex] = publicIPPrefix + } + prefixes.PublicIPPrefixes = publicIPPrefixList + } else { + prefixes.PublicIPPrefixes = nil + } + + // No error + return nil +} + +type ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS struct { + // PublicIPPrefixes: A list of public IP prefix resources. + PublicIPPrefixes []ResourceReference_STATUS `json:"publicIPPrefixes,omitempty"` +} + +var _ genruntime.FromARMConverter = &ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (prefixes *ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (prefixes *ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS, got %T", armInput) + } + + // Set property "PublicIPPrefixes": + for _, item := range typedInput.PublicIPPrefixes { + var item1 ResourceReference_STATUS + err := item1.PopulateFromARM(owner, item) + if err != nil { + return err + } + prefixes.PublicIPPrefixes = append(prefixes.PublicIPPrefixes, item1) + } + + // No error + return nil +} + +// AssignProperties_From_ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS populates our ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS from the provided source ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS +func (prefixes *ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS) AssignProperties_From_ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS(source *storage.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS) error { + + // PublicIPPrefixes + if source.PublicIPPrefixes != nil { + publicIPPrefixList := make([]ResourceReference_STATUS, len(source.PublicIPPrefixes)) + for publicIPPrefixIndex, publicIPPrefixItem := range source.PublicIPPrefixes { + // Shadow the loop variable to avoid aliasing + publicIPPrefixItem := publicIPPrefixItem + var publicIPPrefix ResourceReference_STATUS + err := publicIPPrefix.AssignProperties_From_ResourceReference_STATUS(&publicIPPrefixItem) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ResourceReference_STATUS() to populate field PublicIPPrefixes") + } + publicIPPrefixList[publicIPPrefixIndex] = publicIPPrefix + } + prefixes.PublicIPPrefixes = publicIPPrefixList + } else { + prefixes.PublicIPPrefixes = nil + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS populates the provided destination ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS from our ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS +func (prefixes *ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS) AssignProperties_To_ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS(destination *storage.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // PublicIPPrefixes + if prefixes.PublicIPPrefixes != nil { + publicIPPrefixList := make([]storage.ResourceReference_STATUS, len(prefixes.PublicIPPrefixes)) + for publicIPPrefixIndex, publicIPPrefixItem := range prefixes.PublicIPPrefixes { + // Shadow the loop variable to avoid aliasing + publicIPPrefixItem := publicIPPrefixItem + var publicIPPrefix storage.ResourceReference_STATUS + err := publicIPPrefixItem.AssignProperties_To_ResourceReference_STATUS(&publicIPPrefix) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ResourceReference_STATUS() to populate field PublicIPPrefixes") + } + publicIPPrefixList[publicIPPrefixIndex] = publicIPPrefix + } + destination.PublicIPPrefixes = publicIPPrefixList + } else { + destination.PublicIPPrefixes = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +type ManagedClusterLoadBalancerProfile_OutboundIPs struct { + // PublicIPs: A list of public IP resources. + PublicIPs []ResourceReference `json:"publicIPs,omitempty"` +} + +var _ genruntime.ARMTransformer = &ManagedClusterLoadBalancerProfile_OutboundIPs{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (iPs *ManagedClusterLoadBalancerProfile_OutboundIPs) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if iPs == nil { + return nil, nil + } + result := &arm.ManagedClusterLoadBalancerProfile_OutboundIPs{} + + // Set property "PublicIPs": + for _, item := range iPs.PublicIPs { + item_ARM, err := item.ConvertToARM(resolved) + if err != nil { + return nil, err + } + result.PublicIPs = append(result.PublicIPs, *item_ARM.(*arm.ResourceReference)) + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (iPs *ManagedClusterLoadBalancerProfile_OutboundIPs) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ManagedClusterLoadBalancerProfile_OutboundIPs{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (iPs *ManagedClusterLoadBalancerProfile_OutboundIPs) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ManagedClusterLoadBalancerProfile_OutboundIPs) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ManagedClusterLoadBalancerProfile_OutboundIPs, got %T", armInput) + } + + // Set property "PublicIPs": + for _, item := range typedInput.PublicIPs { + var item1 ResourceReference + err := item1.PopulateFromARM(owner, item) + if err != nil { + return err + } + iPs.PublicIPs = append(iPs.PublicIPs, item1) + } + + // No error + return nil +} + +// AssignProperties_From_ManagedClusterLoadBalancerProfile_OutboundIPs populates our ManagedClusterLoadBalancerProfile_OutboundIPs from the provided source ManagedClusterLoadBalancerProfile_OutboundIPs +func (iPs *ManagedClusterLoadBalancerProfile_OutboundIPs) AssignProperties_From_ManagedClusterLoadBalancerProfile_OutboundIPs(source *storage.ManagedClusterLoadBalancerProfile_OutboundIPs) error { + + // PublicIPs + if source.PublicIPs != nil { + publicIPList := make([]ResourceReference, len(source.PublicIPs)) + for publicIPIndex, publicIPItem := range source.PublicIPs { + // Shadow the loop variable to avoid aliasing + publicIPItem := publicIPItem + var publicIP ResourceReference + err := publicIP.AssignProperties_From_ResourceReference(&publicIPItem) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ResourceReference() to populate field PublicIPs") + } + publicIPList[publicIPIndex] = publicIP + } + iPs.PublicIPs = publicIPList + } else { + iPs.PublicIPs = nil + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterLoadBalancerProfile_OutboundIPs populates the provided destination ManagedClusterLoadBalancerProfile_OutboundIPs from our ManagedClusterLoadBalancerProfile_OutboundIPs +func (iPs *ManagedClusterLoadBalancerProfile_OutboundIPs) AssignProperties_To_ManagedClusterLoadBalancerProfile_OutboundIPs(destination *storage.ManagedClusterLoadBalancerProfile_OutboundIPs) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // PublicIPs + if iPs.PublicIPs != nil { + publicIPList := make([]storage.ResourceReference, len(iPs.PublicIPs)) + for publicIPIndex, publicIPItem := range iPs.PublicIPs { + // Shadow the loop variable to avoid aliasing + publicIPItem := publicIPItem + var publicIP storage.ResourceReference + err := publicIPItem.AssignProperties_To_ResourceReference(&publicIP) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ResourceReference() to populate field PublicIPs") + } + publicIPList[publicIPIndex] = publicIP + } + destination.PublicIPs = publicIPList + } else { + destination.PublicIPs = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS populates our ManagedClusterLoadBalancerProfile_OutboundIPs from the provided source ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS +func (iPs *ManagedClusterLoadBalancerProfile_OutboundIPs) Initialize_From_ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS(source *ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS) error { + + // PublicIPs + if source.PublicIPs != nil { + publicIPList := make([]ResourceReference, len(source.PublicIPs)) + for publicIPIndex, publicIPItem := range source.PublicIPs { + // Shadow the loop variable to avoid aliasing + publicIPItem := publicIPItem + var publicIP ResourceReference + err := publicIP.Initialize_From_ResourceReference_STATUS(&publicIPItem) + if err != nil { + return errors.Wrap(err, "calling Initialize_From_ResourceReference_STATUS() to populate field PublicIPs") + } + publicIPList[publicIPIndex] = publicIP + } + iPs.PublicIPs = publicIPList + } else { + iPs.PublicIPs = nil + } + + // No error + return nil +} + +type ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS struct { + // PublicIPs: A list of public IP resources. + PublicIPs []ResourceReference_STATUS `json:"publicIPs,omitempty"` +} + +var _ genruntime.FromARMConverter = &ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (iPs *ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (iPs *ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS, got %T", armInput) + } + + // Set property "PublicIPs": + for _, item := range typedInput.PublicIPs { + var item1 ResourceReference_STATUS + err := item1.PopulateFromARM(owner, item) + if err != nil { + return err + } + iPs.PublicIPs = append(iPs.PublicIPs, item1) + } + + // No error + return nil +} + +// AssignProperties_From_ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS populates our ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS from the provided source ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS +func (iPs *ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS) AssignProperties_From_ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS(source *storage.ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS) error { + + // PublicIPs + if source.PublicIPs != nil { + publicIPList := make([]ResourceReference_STATUS, len(source.PublicIPs)) + for publicIPIndex, publicIPItem := range source.PublicIPs { + // Shadow the loop variable to avoid aliasing + publicIPItem := publicIPItem + var publicIP ResourceReference_STATUS + err := publicIP.AssignProperties_From_ResourceReference_STATUS(&publicIPItem) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ResourceReference_STATUS() to populate field PublicIPs") + } + publicIPList[publicIPIndex] = publicIP + } + iPs.PublicIPs = publicIPList + } else { + iPs.PublicIPs = nil + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS populates the provided destination ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS from our ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS +func (iPs *ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS) AssignProperties_To_ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS(destination *storage.ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // PublicIPs + if iPs.PublicIPs != nil { + publicIPList := make([]storage.ResourceReference_STATUS, len(iPs.PublicIPs)) + for publicIPIndex, publicIPItem := range iPs.PublicIPs { + // Shadow the loop variable to avoid aliasing + publicIPItem := publicIPItem + var publicIP storage.ResourceReference_STATUS + err := publicIPItem.AssignProperties_To_ResourceReference_STATUS(&publicIP) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ResourceReference_STATUS() to populate field PublicIPs") + } + publicIPList[publicIPIndex] = publicIP + } + destination.PublicIPs = publicIPList + } else { + destination.PublicIPs = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Profile of the managed outbound IP resources of the managed cluster. +type ManagedClusterManagedOutboundIPProfile struct { + // +kubebuilder:validation:Maximum=16 + // +kubebuilder:validation:Minimum=1 + // Count: The desired number of outbound IPs created/managed by Azure. Allowed values must be in the range of 1 to 16 + // (inclusive). The default value is 1. + Count *int `json:"count,omitempty"` +} + +var _ genruntime.ARMTransformer = &ManagedClusterManagedOutboundIPProfile{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (profile *ManagedClusterManagedOutboundIPProfile) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if profile == nil { + return nil, nil + } + result := &arm.ManagedClusterManagedOutboundIPProfile{} + + // Set property "Count": + if profile.Count != nil { + count := *profile.Count + result.Count = &count + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (profile *ManagedClusterManagedOutboundIPProfile) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ManagedClusterManagedOutboundIPProfile{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (profile *ManagedClusterManagedOutboundIPProfile) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ManagedClusterManagedOutboundIPProfile) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ManagedClusterManagedOutboundIPProfile, got %T", armInput) + } + + // Set property "Count": + if typedInput.Count != nil { + count := *typedInput.Count + profile.Count = &count + } + + // No error + return nil +} + +// AssignProperties_From_ManagedClusterManagedOutboundIPProfile populates our ManagedClusterManagedOutboundIPProfile from the provided source ManagedClusterManagedOutboundIPProfile +func (profile *ManagedClusterManagedOutboundIPProfile) AssignProperties_From_ManagedClusterManagedOutboundIPProfile(source *storage.ManagedClusterManagedOutboundIPProfile) error { + + // Count + if source.Count != nil { + count := *source.Count + profile.Count = &count + } else { + profile.Count = nil + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterManagedOutboundIPProfile populates the provided destination ManagedClusterManagedOutboundIPProfile from our ManagedClusterManagedOutboundIPProfile +func (profile *ManagedClusterManagedOutboundIPProfile) AssignProperties_To_ManagedClusterManagedOutboundIPProfile(destination *storage.ManagedClusterManagedOutboundIPProfile) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Count + if profile.Count != nil { + count := *profile.Count + destination.Count = &count + } else { + destination.Count = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_ManagedClusterManagedOutboundIPProfile_STATUS populates our ManagedClusterManagedOutboundIPProfile from the provided source ManagedClusterManagedOutboundIPProfile_STATUS +func (profile *ManagedClusterManagedOutboundIPProfile) Initialize_From_ManagedClusterManagedOutboundIPProfile_STATUS(source *ManagedClusterManagedOutboundIPProfile_STATUS) error { + + // Count + if source.Count != nil { + count := *source.Count + profile.Count = &count + } else { + profile.Count = nil + } + + // No error + return nil +} + +// Profile of the managed outbound IP resources of the managed cluster. +type ManagedClusterManagedOutboundIPProfile_STATUS struct { + // Count: The desired number of outbound IPs created/managed by Azure. Allowed values must be in the range of 1 to 16 + // (inclusive). The default value is 1. + Count *int `json:"count,omitempty"` +} + +var _ genruntime.FromARMConverter = &ManagedClusterManagedOutboundIPProfile_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (profile *ManagedClusterManagedOutboundIPProfile_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ManagedClusterManagedOutboundIPProfile_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (profile *ManagedClusterManagedOutboundIPProfile_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ManagedClusterManagedOutboundIPProfile_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ManagedClusterManagedOutboundIPProfile_STATUS, got %T", armInput) + } + + // Set property "Count": + if typedInput.Count != nil { + count := *typedInput.Count + profile.Count = &count + } + + // No error + return nil +} + +// AssignProperties_From_ManagedClusterManagedOutboundIPProfile_STATUS populates our ManagedClusterManagedOutboundIPProfile_STATUS from the provided source ManagedClusterManagedOutboundIPProfile_STATUS +func (profile *ManagedClusterManagedOutboundIPProfile_STATUS) AssignProperties_From_ManagedClusterManagedOutboundIPProfile_STATUS(source *storage.ManagedClusterManagedOutboundIPProfile_STATUS) error { + + // Count + profile.Count = genruntime.ClonePointerToInt(source.Count) + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterManagedOutboundIPProfile_STATUS populates the provided destination ManagedClusterManagedOutboundIPProfile_STATUS from our ManagedClusterManagedOutboundIPProfile_STATUS +func (profile *ManagedClusterManagedOutboundIPProfile_STATUS) AssignProperties_To_ManagedClusterManagedOutboundIPProfile_STATUS(destination *storage.ManagedClusterManagedOutboundIPProfile_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Count + destination.Count = genruntime.ClonePointerToInt(profile.Count) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +type ManagedClusterPodIdentity_ProvisioningInfo_STATUS struct { + // Error: Pod identity assignment error (if any). + Error *ManagedClusterPodIdentityProvisioningError_STATUS `json:"error,omitempty"` +} + +var _ genruntime.FromARMConverter = &ManagedClusterPodIdentity_ProvisioningInfo_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (info *ManagedClusterPodIdentity_ProvisioningInfo_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ManagedClusterPodIdentity_ProvisioningInfo_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (info *ManagedClusterPodIdentity_ProvisioningInfo_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ManagedClusterPodIdentity_ProvisioningInfo_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ManagedClusterPodIdentity_ProvisioningInfo_STATUS, got %T", armInput) + } + + // Set property "Error": + if typedInput.Error != nil { + var error1 ManagedClusterPodIdentityProvisioningError_STATUS + err := error1.PopulateFromARM(owner, *typedInput.Error) + if err != nil { + return err + } + error := error1 + info.Error = &error + } + + // No error + return nil +} + +// AssignProperties_From_ManagedClusterPodIdentity_ProvisioningInfo_STATUS populates our ManagedClusterPodIdentity_ProvisioningInfo_STATUS from the provided source ManagedClusterPodIdentity_ProvisioningInfo_STATUS +func (info *ManagedClusterPodIdentity_ProvisioningInfo_STATUS) AssignProperties_From_ManagedClusterPodIdentity_ProvisioningInfo_STATUS(source *storage.ManagedClusterPodIdentity_ProvisioningInfo_STATUS) error { + + // Error + if source.Error != nil { + var error ManagedClusterPodIdentityProvisioningError_STATUS + err := error.AssignProperties_From_ManagedClusterPodIdentityProvisioningError_STATUS(source.Error) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterPodIdentityProvisioningError_STATUS() to populate field Error") + } + info.Error = &error + } else { + info.Error = nil + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterPodIdentity_ProvisioningInfo_STATUS populates the provided destination ManagedClusterPodIdentity_ProvisioningInfo_STATUS from our ManagedClusterPodIdentity_ProvisioningInfo_STATUS +func (info *ManagedClusterPodIdentity_ProvisioningInfo_STATUS) AssignProperties_To_ManagedClusterPodIdentity_ProvisioningInfo_STATUS(destination *storage.ManagedClusterPodIdentity_ProvisioningInfo_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Error + if info.Error != nil { + var error storage.ManagedClusterPodIdentityProvisioningError_STATUS + err := info.Error.AssignProperties_To_ManagedClusterPodIdentityProvisioningError_STATUS(&error) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterPodIdentityProvisioningError_STATUS() to populate field Error") + } + destination.Error = &error + } else { + destination.Error = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +type ManagedClusterPodIdentity_ProvisioningState_STATUS string + +const ( + ManagedClusterPodIdentity_ProvisioningState_STATUS_Assigned = ManagedClusterPodIdentity_ProvisioningState_STATUS("Assigned") + ManagedClusterPodIdentity_ProvisioningState_STATUS_Canceled = ManagedClusterPodIdentity_ProvisioningState_STATUS("Canceled") + ManagedClusterPodIdentity_ProvisioningState_STATUS_Deleting = ManagedClusterPodIdentity_ProvisioningState_STATUS("Deleting") + ManagedClusterPodIdentity_ProvisioningState_STATUS_Failed = ManagedClusterPodIdentity_ProvisioningState_STATUS("Failed") + ManagedClusterPodIdentity_ProvisioningState_STATUS_Succeeded = ManagedClusterPodIdentity_ProvisioningState_STATUS("Succeeded") + ManagedClusterPodIdentity_ProvisioningState_STATUS_Updating = ManagedClusterPodIdentity_ProvisioningState_STATUS("Updating") +) + +// Mapping from string to ManagedClusterPodIdentity_ProvisioningState_STATUS +var managedClusterPodIdentity_ProvisioningState_STATUS_Values = map[string]ManagedClusterPodIdentity_ProvisioningState_STATUS{ + "assigned": ManagedClusterPodIdentity_ProvisioningState_STATUS_Assigned, + "canceled": ManagedClusterPodIdentity_ProvisioningState_STATUS_Canceled, + "deleting": ManagedClusterPodIdentity_ProvisioningState_STATUS_Deleting, + "failed": ManagedClusterPodIdentity_ProvisioningState_STATUS_Failed, + "succeeded": ManagedClusterPodIdentity_ProvisioningState_STATUS_Succeeded, + "updating": ManagedClusterPodIdentity_ProvisioningState_STATUS_Updating, +} + +// Microsoft Defender settings for the security profile threat detection. +type ManagedClusterSecurityProfileDefenderSecurityMonitoring struct { + // Enabled: Whether to enable Defender threat detection + Enabled *bool `json:"enabled,omitempty"` +} + +var _ genruntime.ARMTransformer = &ManagedClusterSecurityProfileDefenderSecurityMonitoring{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (monitoring *ManagedClusterSecurityProfileDefenderSecurityMonitoring) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if monitoring == nil { + return nil, nil + } + result := &arm.ManagedClusterSecurityProfileDefenderSecurityMonitoring{} + + // Set property "Enabled": + if monitoring.Enabled != nil { + enabled := *monitoring.Enabled + result.Enabled = &enabled + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (monitoring *ManagedClusterSecurityProfileDefenderSecurityMonitoring) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ManagedClusterSecurityProfileDefenderSecurityMonitoring{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (monitoring *ManagedClusterSecurityProfileDefenderSecurityMonitoring) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ManagedClusterSecurityProfileDefenderSecurityMonitoring) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ManagedClusterSecurityProfileDefenderSecurityMonitoring, got %T", armInput) + } + + // Set property "Enabled": + if typedInput.Enabled != nil { + enabled := *typedInput.Enabled + monitoring.Enabled = &enabled + } + + // No error + return nil +} + +// AssignProperties_From_ManagedClusterSecurityProfileDefenderSecurityMonitoring populates our ManagedClusterSecurityProfileDefenderSecurityMonitoring from the provided source ManagedClusterSecurityProfileDefenderSecurityMonitoring +func (monitoring *ManagedClusterSecurityProfileDefenderSecurityMonitoring) AssignProperties_From_ManagedClusterSecurityProfileDefenderSecurityMonitoring(source *storage.ManagedClusterSecurityProfileDefenderSecurityMonitoring) error { + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + monitoring.Enabled = &enabled + } else { + monitoring.Enabled = nil + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterSecurityProfileDefenderSecurityMonitoring populates the provided destination ManagedClusterSecurityProfileDefenderSecurityMonitoring from our ManagedClusterSecurityProfileDefenderSecurityMonitoring +func (monitoring *ManagedClusterSecurityProfileDefenderSecurityMonitoring) AssignProperties_To_ManagedClusterSecurityProfileDefenderSecurityMonitoring(destination *storage.ManagedClusterSecurityProfileDefenderSecurityMonitoring) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Enabled + if monitoring.Enabled != nil { + enabled := *monitoring.Enabled + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS populates our ManagedClusterSecurityProfileDefenderSecurityMonitoring from the provided source ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS +func (monitoring *ManagedClusterSecurityProfileDefenderSecurityMonitoring) Initialize_From_ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS(source *ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS) error { + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + monitoring.Enabled = &enabled + } else { + monitoring.Enabled = nil + } + + // No error + return nil +} + +// Microsoft Defender settings for the security profile threat detection. +type ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS struct { + // Enabled: Whether to enable Defender threat detection + Enabled *bool `json:"enabled,omitempty"` +} + +var _ genruntime.FromARMConverter = &ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (monitoring *ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (monitoring *ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS, got %T", armInput) + } + + // Set property "Enabled": + if typedInput.Enabled != nil { + enabled := *typedInput.Enabled + monitoring.Enabled = &enabled + } + + // No error + return nil +} + +// AssignProperties_From_ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS populates our ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS from the provided source ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS +func (monitoring *ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS) AssignProperties_From_ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS(source *storage.ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS) error { + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + monitoring.Enabled = &enabled + } else { + monitoring.Enabled = nil + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS populates the provided destination ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS from our ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS +func (monitoring *ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS) AssignProperties_To_ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS(destination *storage.ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Enabled + if monitoring.Enabled != nil { + enabled := *monitoring.Enabled + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// A reference to an Azure resource. +type ResourceReference struct { + // Reference: The fully qualified Azure resource id. + Reference *genruntime.ResourceReference `armReference:"Id" json:"reference,omitempty"` +} + +var _ genruntime.ARMTransformer = &ResourceReference{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (reference *ResourceReference) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if reference == nil { + return nil, nil + } + result := &arm.ResourceReference{} + + // Set property "Id": + if reference.Reference != nil { + referenceARMID, err := resolved.ResolvedReferences.Lookup(*reference.Reference) + if err != nil { + return nil, err + } + reference1 := referenceARMID + result.Id = &reference1 + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (reference *ResourceReference) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ResourceReference{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (reference *ResourceReference) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + _, ok := armInput.(arm.ResourceReference) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ResourceReference, got %T", armInput) + } + + // no assignment for property "Reference" + + // No error + return nil +} + +// AssignProperties_From_ResourceReference populates our ResourceReference from the provided source ResourceReference +func (reference *ResourceReference) AssignProperties_From_ResourceReference(source *storage.ResourceReference) error { + + // Reference + if source.Reference != nil { + referenceTemp := source.Reference.Copy() + reference.Reference = &referenceTemp + } else { + reference.Reference = nil + } + + // No error + return nil +} + +// AssignProperties_To_ResourceReference populates the provided destination ResourceReference from our ResourceReference +func (reference *ResourceReference) AssignProperties_To_ResourceReference(destination *storage.ResourceReference) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Reference + if reference.Reference != nil { + referenceTemp := reference.Reference.Copy() + destination.Reference = &referenceTemp + } else { + destination.Reference = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_ResourceReference_STATUS populates our ResourceReference from the provided source ResourceReference_STATUS +func (reference *ResourceReference) Initialize_From_ResourceReference_STATUS(source *ResourceReference_STATUS) error { + + // Reference + if source.Id != nil { + referenceTemp := genruntime.CreateResourceReferenceFromARMID(*source.Id) + reference.Reference = &referenceTemp + } else { + reference.Reference = nil + } + + // No error + return nil +} + +// A reference to an Azure resource. +type ResourceReference_STATUS struct { + // Id: The fully qualified Azure resource id. + Id *string `json:"id,omitempty"` +} + +var _ genruntime.FromARMConverter = &ResourceReference_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (reference *ResourceReference_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ResourceReference_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (reference *ResourceReference_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ResourceReference_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ResourceReference_STATUS, got %T", armInput) + } + + // Set property "Id": + if typedInput.Id != nil { + id := *typedInput.Id + reference.Id = &id + } + + // No error + return nil +} + +// AssignProperties_From_ResourceReference_STATUS populates our ResourceReference_STATUS from the provided source ResourceReference_STATUS +func (reference *ResourceReference_STATUS) AssignProperties_From_ResourceReference_STATUS(source *storage.ResourceReference_STATUS) error { + + // Id + reference.Id = genruntime.ClonePointerToString(source.Id) + + // No error + return nil +} + +// AssignProperties_To_ResourceReference_STATUS populates the provided destination ResourceReference_STATUS from our ResourceReference_STATUS +func (reference *ResourceReference_STATUS) AssignProperties_To_ResourceReference_STATUS(destination *storage.ResourceReference_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Id + destination.Id = genruntime.ClonePointerToString(reference.Id) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Istio egress gateway configuration. +type IstioEgressGateway struct { + // +kubebuilder:validation:Required + // Enabled: Whether to enable the egress gateway. + Enabled *bool `json:"enabled,omitempty"` +} + +var _ genruntime.ARMTransformer = &IstioEgressGateway{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (gateway *IstioEgressGateway) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if gateway == nil { + return nil, nil + } + result := &arm.IstioEgressGateway{} + + // Set property "Enabled": + if gateway.Enabled != nil { + enabled := *gateway.Enabled + result.Enabled = &enabled + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (gateway *IstioEgressGateway) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.IstioEgressGateway{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (gateway *IstioEgressGateway) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.IstioEgressGateway) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.IstioEgressGateway, got %T", armInput) + } + + // Set property "Enabled": + if typedInput.Enabled != nil { + enabled := *typedInput.Enabled + gateway.Enabled = &enabled + } + + // No error + return nil +} + +// AssignProperties_From_IstioEgressGateway populates our IstioEgressGateway from the provided source IstioEgressGateway +func (gateway *IstioEgressGateway) AssignProperties_From_IstioEgressGateway(source *storage.IstioEgressGateway) error { + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + gateway.Enabled = &enabled + } else { + gateway.Enabled = nil + } + + // No error + return nil +} + +// AssignProperties_To_IstioEgressGateway populates the provided destination IstioEgressGateway from our IstioEgressGateway +func (gateway *IstioEgressGateway) AssignProperties_To_IstioEgressGateway(destination *storage.IstioEgressGateway) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Enabled + if gateway.Enabled != nil { + enabled := *gateway.Enabled + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_IstioEgressGateway_STATUS populates our IstioEgressGateway from the provided source IstioEgressGateway_STATUS +func (gateway *IstioEgressGateway) Initialize_From_IstioEgressGateway_STATUS(source *IstioEgressGateway_STATUS) error { + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + gateway.Enabled = &enabled + } else { + gateway.Enabled = nil + } + + // No error + return nil +} + +// Istio egress gateway configuration. +type IstioEgressGateway_STATUS struct { + // Enabled: Whether to enable the egress gateway. + Enabled *bool `json:"enabled,omitempty"` +} + +var _ genruntime.FromARMConverter = &IstioEgressGateway_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (gateway *IstioEgressGateway_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.IstioEgressGateway_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (gateway *IstioEgressGateway_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.IstioEgressGateway_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.IstioEgressGateway_STATUS, got %T", armInput) + } + + // Set property "Enabled": + if typedInput.Enabled != nil { + enabled := *typedInput.Enabled + gateway.Enabled = &enabled + } + + // No error + return nil +} + +// AssignProperties_From_IstioEgressGateway_STATUS populates our IstioEgressGateway_STATUS from the provided source IstioEgressGateway_STATUS +func (gateway *IstioEgressGateway_STATUS) AssignProperties_From_IstioEgressGateway_STATUS(source *storage.IstioEgressGateway_STATUS) error { + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + gateway.Enabled = &enabled + } else { + gateway.Enabled = nil + } + + // No error + return nil +} + +// AssignProperties_To_IstioEgressGateway_STATUS populates the provided destination IstioEgressGateway_STATUS from our IstioEgressGateway_STATUS +func (gateway *IstioEgressGateway_STATUS) AssignProperties_To_IstioEgressGateway_STATUS(destination *storage.IstioEgressGateway_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Enabled + if gateway.Enabled != nil { + enabled := *gateway.Enabled + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Istio ingress gateway configuration. For now, we support up to one external ingress gateway named +// `aks-istio-ingressgateway-external` and one internal ingress gateway named `aks-istio-ingressgateway-internal`. +type IstioIngressGateway struct { + // +kubebuilder:validation:Required + // Enabled: Whether to enable the ingress gateway. + Enabled *bool `json:"enabled,omitempty"` + + // +kubebuilder:validation:Required + // Mode: Mode of an ingress gateway. + Mode *IstioIngressGateway_Mode `json:"mode,omitempty"` +} + +var _ genruntime.ARMTransformer = &IstioIngressGateway{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (gateway *IstioIngressGateway) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if gateway == nil { + return nil, nil + } + result := &arm.IstioIngressGateway{} + + // Set property "Enabled": + if gateway.Enabled != nil { + enabled := *gateway.Enabled + result.Enabled = &enabled + } + + // Set property "Mode": + if gateway.Mode != nil { + var temp string + temp = string(*gateway.Mode) + mode := arm.IstioIngressGateway_Mode(temp) + result.Mode = &mode + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (gateway *IstioIngressGateway) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.IstioIngressGateway{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (gateway *IstioIngressGateway) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.IstioIngressGateway) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.IstioIngressGateway, got %T", armInput) + } + + // Set property "Enabled": + if typedInput.Enabled != nil { + enabled := *typedInput.Enabled + gateway.Enabled = &enabled + } + + // Set property "Mode": + if typedInput.Mode != nil { + var temp string + temp = string(*typedInput.Mode) + mode := IstioIngressGateway_Mode(temp) + gateway.Mode = &mode + } + + // No error + return nil +} + +// AssignProperties_From_IstioIngressGateway populates our IstioIngressGateway from the provided source IstioIngressGateway +func (gateway *IstioIngressGateway) AssignProperties_From_IstioIngressGateway(source *storage.IstioIngressGateway) error { + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + gateway.Enabled = &enabled + } else { + gateway.Enabled = nil + } + + // Mode + if source.Mode != nil { + mode := *source.Mode + modeTemp := genruntime.ToEnum(mode, istioIngressGateway_Mode_Values) + gateway.Mode = &modeTemp + } else { + gateway.Mode = nil + } + + // No error + return nil +} + +// AssignProperties_To_IstioIngressGateway populates the provided destination IstioIngressGateway from our IstioIngressGateway +func (gateway *IstioIngressGateway) AssignProperties_To_IstioIngressGateway(destination *storage.IstioIngressGateway) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Enabled + if gateway.Enabled != nil { + enabled := *gateway.Enabled + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // Mode + if gateway.Mode != nil { + mode := string(*gateway.Mode) + destination.Mode = &mode + } else { + destination.Mode = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_IstioIngressGateway_STATUS populates our IstioIngressGateway from the provided source IstioIngressGateway_STATUS +func (gateway *IstioIngressGateway) Initialize_From_IstioIngressGateway_STATUS(source *IstioIngressGateway_STATUS) error { + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + gateway.Enabled = &enabled + } else { + gateway.Enabled = nil + } + + // Mode + if source.Mode != nil { + mode := genruntime.ToEnum(string(*source.Mode), istioIngressGateway_Mode_Values) + gateway.Mode = &mode + } else { + gateway.Mode = nil + } + + // No error + return nil +} + +// Istio ingress gateway configuration. For now, we support up to one external ingress gateway named +// `aks-istio-ingressgateway-external` and one internal ingress gateway named `aks-istio-ingressgateway-internal`. +type IstioIngressGateway_STATUS struct { + // Enabled: Whether to enable the ingress gateway. + Enabled *bool `json:"enabled,omitempty"` + + // Mode: Mode of an ingress gateway. + Mode *IstioIngressGateway_Mode_STATUS `json:"mode,omitempty"` +} + +var _ genruntime.FromARMConverter = &IstioIngressGateway_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (gateway *IstioIngressGateway_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.IstioIngressGateway_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (gateway *IstioIngressGateway_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.IstioIngressGateway_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.IstioIngressGateway_STATUS, got %T", armInput) + } + + // Set property "Enabled": + if typedInput.Enabled != nil { + enabled := *typedInput.Enabled + gateway.Enabled = &enabled + } + + // Set property "Mode": + if typedInput.Mode != nil { + var temp string + temp = string(*typedInput.Mode) + mode := IstioIngressGateway_Mode_STATUS(temp) + gateway.Mode = &mode + } + + // No error + return nil +} + +// AssignProperties_From_IstioIngressGateway_STATUS populates our IstioIngressGateway_STATUS from the provided source IstioIngressGateway_STATUS +func (gateway *IstioIngressGateway_STATUS) AssignProperties_From_IstioIngressGateway_STATUS(source *storage.IstioIngressGateway_STATUS) error { + + // Enabled + if source.Enabled != nil { + enabled := *source.Enabled + gateway.Enabled = &enabled + } else { + gateway.Enabled = nil + } + + // Mode + if source.Mode != nil { + mode := *source.Mode + modeTemp := genruntime.ToEnum(mode, istioIngressGateway_Mode_STATUS_Values) + gateway.Mode = &modeTemp + } else { + gateway.Mode = nil + } + + // No error + return nil +} + +// AssignProperties_To_IstioIngressGateway_STATUS populates the provided destination IstioIngressGateway_STATUS from our IstioIngressGateway_STATUS +func (gateway *IstioIngressGateway_STATUS) AssignProperties_To_IstioIngressGateway_STATUS(destination *storage.IstioIngressGateway_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Enabled + if gateway.Enabled != nil { + enabled := *gateway.Enabled + destination.Enabled = &enabled + } else { + destination.Enabled = nil + } + + // Mode + if gateway.Mode != nil { + mode := string(*gateway.Mode) + destination.Mode = &mode + } else { + destination.Mode = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Plugin certificates information for Service Mesh. +type IstioPluginCertificateAuthority struct { + // CertChainObjectName: Certificate chain object name in Azure Key Vault. + CertChainObjectName *string `json:"certChainObjectName,omitempty"` + + // CertObjectName: Intermediate certificate object name in Azure Key Vault. + CertObjectName *string `json:"certObjectName,omitempty"` + + // KeyObjectName: Intermediate certificate private key object name in Azure Key Vault. + KeyObjectName *string `json:"keyObjectName,omitempty"` + + // KeyVaultReference: The resource ID of the Key Vault. + KeyVaultReference *genruntime.ResourceReference `armReference:"KeyVaultId" json:"keyVaultReference,omitempty"` + + // RootCertObjectName: Root certificate object name in Azure Key Vault. + RootCertObjectName *string `json:"rootCertObjectName,omitempty"` +} + +var _ genruntime.ARMTransformer = &IstioPluginCertificateAuthority{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (authority *IstioPluginCertificateAuthority) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if authority == nil { + return nil, nil + } + result := &arm.IstioPluginCertificateAuthority{} + + // Set property "CertChainObjectName": + if authority.CertChainObjectName != nil { + certChainObjectName := *authority.CertChainObjectName + result.CertChainObjectName = &certChainObjectName + } + + // Set property "CertObjectName": + if authority.CertObjectName != nil { + certObjectName := *authority.CertObjectName + result.CertObjectName = &certObjectName + } + + // Set property "KeyObjectName": + if authority.KeyObjectName != nil { + keyObjectName := *authority.KeyObjectName + result.KeyObjectName = &keyObjectName + } + + // Set property "KeyVaultId": + if authority.KeyVaultReference != nil { + keyVaultReferenceARMID, err := resolved.ResolvedReferences.Lookup(*authority.KeyVaultReference) + if err != nil { + return nil, err + } + keyVaultReference := keyVaultReferenceARMID + result.KeyVaultId = &keyVaultReference + } + + // Set property "RootCertObjectName": + if authority.RootCertObjectName != nil { + rootCertObjectName := *authority.RootCertObjectName + result.RootCertObjectName = &rootCertObjectName + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (authority *IstioPluginCertificateAuthority) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.IstioPluginCertificateAuthority{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (authority *IstioPluginCertificateAuthority) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.IstioPluginCertificateAuthority) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.IstioPluginCertificateAuthority, got %T", armInput) + } + + // Set property "CertChainObjectName": + if typedInput.CertChainObjectName != nil { + certChainObjectName := *typedInput.CertChainObjectName + authority.CertChainObjectName = &certChainObjectName + } + + // Set property "CertObjectName": + if typedInput.CertObjectName != nil { + certObjectName := *typedInput.CertObjectName + authority.CertObjectName = &certObjectName + } + + // Set property "KeyObjectName": + if typedInput.KeyObjectName != nil { + keyObjectName := *typedInput.KeyObjectName + authority.KeyObjectName = &keyObjectName + } + + // no assignment for property "KeyVaultReference" + + // Set property "RootCertObjectName": + if typedInput.RootCertObjectName != nil { + rootCertObjectName := *typedInput.RootCertObjectName + authority.RootCertObjectName = &rootCertObjectName + } + + // No error + return nil +} + +// AssignProperties_From_IstioPluginCertificateAuthority populates our IstioPluginCertificateAuthority from the provided source IstioPluginCertificateAuthority +func (authority *IstioPluginCertificateAuthority) AssignProperties_From_IstioPluginCertificateAuthority(source *storage.IstioPluginCertificateAuthority) error { + + // CertChainObjectName + authority.CertChainObjectName = genruntime.ClonePointerToString(source.CertChainObjectName) + + // CertObjectName + authority.CertObjectName = genruntime.ClonePointerToString(source.CertObjectName) + + // KeyObjectName + authority.KeyObjectName = genruntime.ClonePointerToString(source.KeyObjectName) + + // KeyVaultReference + if source.KeyVaultReference != nil { + keyVaultReference := source.KeyVaultReference.Copy() + authority.KeyVaultReference = &keyVaultReference + } else { + authority.KeyVaultReference = nil + } + + // RootCertObjectName + authority.RootCertObjectName = genruntime.ClonePointerToString(source.RootCertObjectName) + + // No error + return nil +} + +// AssignProperties_To_IstioPluginCertificateAuthority populates the provided destination IstioPluginCertificateAuthority from our IstioPluginCertificateAuthority +func (authority *IstioPluginCertificateAuthority) AssignProperties_To_IstioPluginCertificateAuthority(destination *storage.IstioPluginCertificateAuthority) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // CertChainObjectName + destination.CertChainObjectName = genruntime.ClonePointerToString(authority.CertChainObjectName) + + // CertObjectName + destination.CertObjectName = genruntime.ClonePointerToString(authority.CertObjectName) + + // KeyObjectName + destination.KeyObjectName = genruntime.ClonePointerToString(authority.KeyObjectName) + + // KeyVaultReference + if authority.KeyVaultReference != nil { + keyVaultReference := authority.KeyVaultReference.Copy() + destination.KeyVaultReference = &keyVaultReference + } else { + destination.KeyVaultReference = nil + } + + // RootCertObjectName + destination.RootCertObjectName = genruntime.ClonePointerToString(authority.RootCertObjectName) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_IstioPluginCertificateAuthority_STATUS populates our IstioPluginCertificateAuthority from the provided source IstioPluginCertificateAuthority_STATUS +func (authority *IstioPluginCertificateAuthority) Initialize_From_IstioPluginCertificateAuthority_STATUS(source *IstioPluginCertificateAuthority_STATUS) error { + + // CertChainObjectName + authority.CertChainObjectName = genruntime.ClonePointerToString(source.CertChainObjectName) + + // CertObjectName + authority.CertObjectName = genruntime.ClonePointerToString(source.CertObjectName) + + // KeyObjectName + authority.KeyObjectName = genruntime.ClonePointerToString(source.KeyObjectName) + + // KeyVaultReference + if source.KeyVaultId != nil { + keyVaultReference := genruntime.CreateResourceReferenceFromARMID(*source.KeyVaultId) + authority.KeyVaultReference = &keyVaultReference + } else { + authority.KeyVaultReference = nil + } + + // RootCertObjectName + authority.RootCertObjectName = genruntime.ClonePointerToString(source.RootCertObjectName) + + // No error + return nil +} + +// Plugin certificates information for Service Mesh. +type IstioPluginCertificateAuthority_STATUS struct { + // CertChainObjectName: Certificate chain object name in Azure Key Vault. + CertChainObjectName *string `json:"certChainObjectName,omitempty"` + + // CertObjectName: Intermediate certificate object name in Azure Key Vault. + CertObjectName *string `json:"certObjectName,omitempty"` + + // KeyObjectName: Intermediate certificate private key object name in Azure Key Vault. + KeyObjectName *string `json:"keyObjectName,omitempty"` + + // KeyVaultId: The resource ID of the Key Vault. + KeyVaultId *string `json:"keyVaultId,omitempty"` + + // RootCertObjectName: Root certificate object name in Azure Key Vault. + RootCertObjectName *string `json:"rootCertObjectName,omitempty"` +} + +var _ genruntime.FromARMConverter = &IstioPluginCertificateAuthority_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (authority *IstioPluginCertificateAuthority_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.IstioPluginCertificateAuthority_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (authority *IstioPluginCertificateAuthority_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.IstioPluginCertificateAuthority_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.IstioPluginCertificateAuthority_STATUS, got %T", armInput) + } + + // Set property "CertChainObjectName": + if typedInput.CertChainObjectName != nil { + certChainObjectName := *typedInput.CertChainObjectName + authority.CertChainObjectName = &certChainObjectName + } + + // Set property "CertObjectName": + if typedInput.CertObjectName != nil { + certObjectName := *typedInput.CertObjectName + authority.CertObjectName = &certObjectName + } + + // Set property "KeyObjectName": + if typedInput.KeyObjectName != nil { + keyObjectName := *typedInput.KeyObjectName + authority.KeyObjectName = &keyObjectName + } + + // Set property "KeyVaultId": + if typedInput.KeyVaultId != nil { + keyVaultId := *typedInput.KeyVaultId + authority.KeyVaultId = &keyVaultId + } + + // Set property "RootCertObjectName": + if typedInput.RootCertObjectName != nil { + rootCertObjectName := *typedInput.RootCertObjectName + authority.RootCertObjectName = &rootCertObjectName + } + + // No error + return nil +} + +// AssignProperties_From_IstioPluginCertificateAuthority_STATUS populates our IstioPluginCertificateAuthority_STATUS from the provided source IstioPluginCertificateAuthority_STATUS +func (authority *IstioPluginCertificateAuthority_STATUS) AssignProperties_From_IstioPluginCertificateAuthority_STATUS(source *storage.IstioPluginCertificateAuthority_STATUS) error { + + // CertChainObjectName + authority.CertChainObjectName = genruntime.ClonePointerToString(source.CertChainObjectName) + + // CertObjectName + authority.CertObjectName = genruntime.ClonePointerToString(source.CertObjectName) + + // KeyObjectName + authority.KeyObjectName = genruntime.ClonePointerToString(source.KeyObjectName) + + // KeyVaultId + authority.KeyVaultId = genruntime.ClonePointerToString(source.KeyVaultId) + + // RootCertObjectName + authority.RootCertObjectName = genruntime.ClonePointerToString(source.RootCertObjectName) + + // No error + return nil +} + +// AssignProperties_To_IstioPluginCertificateAuthority_STATUS populates the provided destination IstioPluginCertificateAuthority_STATUS from our IstioPluginCertificateAuthority_STATUS +func (authority *IstioPluginCertificateAuthority_STATUS) AssignProperties_To_IstioPluginCertificateAuthority_STATUS(destination *storage.IstioPluginCertificateAuthority_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // CertChainObjectName + destination.CertChainObjectName = genruntime.ClonePointerToString(authority.CertChainObjectName) + + // CertObjectName + destination.CertObjectName = genruntime.ClonePointerToString(authority.CertObjectName) + + // KeyObjectName + destination.KeyObjectName = genruntime.ClonePointerToString(authority.KeyObjectName) + + // KeyVaultId + destination.KeyVaultId = genruntime.ClonePointerToString(authority.KeyVaultId) + + // RootCertObjectName + destination.RootCertObjectName = genruntime.ClonePointerToString(authority.RootCertObjectName) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// An error response from the pod identity provisioning. +type ManagedClusterPodIdentityProvisioningError_STATUS struct { + // Error: Details about the error. + Error *ManagedClusterPodIdentityProvisioningErrorBody_STATUS `json:"error,omitempty"` +} + +var _ genruntime.FromARMConverter = &ManagedClusterPodIdentityProvisioningError_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (error *ManagedClusterPodIdentityProvisioningError_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ManagedClusterPodIdentityProvisioningError_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (error *ManagedClusterPodIdentityProvisioningError_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ManagedClusterPodIdentityProvisioningError_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ManagedClusterPodIdentityProvisioningError_STATUS, got %T", armInput) + } + + // Set property "Error": + if typedInput.Error != nil { + var error2 ManagedClusterPodIdentityProvisioningErrorBody_STATUS + err := error2.PopulateFromARM(owner, *typedInput.Error) + if err != nil { + return err + } + error1 := error2 + error.Error = &error1 + } + + // No error + return nil +} + +// AssignProperties_From_ManagedClusterPodIdentityProvisioningError_STATUS populates our ManagedClusterPodIdentityProvisioningError_STATUS from the provided source ManagedClusterPodIdentityProvisioningError_STATUS +func (error *ManagedClusterPodIdentityProvisioningError_STATUS) AssignProperties_From_ManagedClusterPodIdentityProvisioningError_STATUS(source *storage.ManagedClusterPodIdentityProvisioningError_STATUS) error { + + // Error + if source.Error != nil { + var errorLocal ManagedClusterPodIdentityProvisioningErrorBody_STATUS + err := errorLocal.AssignProperties_From_ManagedClusterPodIdentityProvisioningErrorBody_STATUS(source.Error) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterPodIdentityProvisioningErrorBody_STATUS() to populate field Error") + } + error.Error = &errorLocal + } else { + error.Error = nil + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterPodIdentityProvisioningError_STATUS populates the provided destination ManagedClusterPodIdentityProvisioningError_STATUS from our ManagedClusterPodIdentityProvisioningError_STATUS +func (error *ManagedClusterPodIdentityProvisioningError_STATUS) AssignProperties_To_ManagedClusterPodIdentityProvisioningError_STATUS(destination *storage.ManagedClusterPodIdentityProvisioningError_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Error + if error.Error != nil { + var errorLocal storage.ManagedClusterPodIdentityProvisioningErrorBody_STATUS + err := error.Error.AssignProperties_To_ManagedClusterPodIdentityProvisioningErrorBody_STATUS(&errorLocal) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterPodIdentityProvisioningErrorBody_STATUS() to populate field Error") + } + destination.Error = &errorLocal + } else { + destination.Error = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// +kubebuilder:validation:Enum={"External","Internal"} +type IstioIngressGateway_Mode string + +const ( + IstioIngressGateway_Mode_External = IstioIngressGateway_Mode("External") + IstioIngressGateway_Mode_Internal = IstioIngressGateway_Mode("Internal") +) + +// Mapping from string to IstioIngressGateway_Mode +var istioIngressGateway_Mode_Values = map[string]IstioIngressGateway_Mode{ + "external": IstioIngressGateway_Mode_External, + "internal": IstioIngressGateway_Mode_Internal, +} + +type IstioIngressGateway_Mode_STATUS string + +const ( + IstioIngressGateway_Mode_STATUS_External = IstioIngressGateway_Mode_STATUS("External") + IstioIngressGateway_Mode_STATUS_Internal = IstioIngressGateway_Mode_STATUS("Internal") +) + +// Mapping from string to IstioIngressGateway_Mode_STATUS +var istioIngressGateway_Mode_STATUS_Values = map[string]IstioIngressGateway_Mode_STATUS{ + "external": IstioIngressGateway_Mode_STATUS_External, + "internal": IstioIngressGateway_Mode_STATUS_Internal, +} + +// An error response from the pod identity provisioning. +type ManagedClusterPodIdentityProvisioningErrorBody_STATUS struct { + // Code: An identifier for the error. Codes are invariant and are intended to be consumed programmatically. + Code *string `json:"code,omitempty"` + + // Details: A list of additional details about the error. + Details []ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled `json:"details,omitempty"` + + // Message: A message describing the error, intended to be suitable for display in a user interface. + Message *string `json:"message,omitempty"` + + // Target: The target of the particular error. For example, the name of the property in error. + Target *string `json:"target,omitempty"` +} + +var _ genruntime.FromARMConverter = &ManagedClusterPodIdentityProvisioningErrorBody_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (body *ManagedClusterPodIdentityProvisioningErrorBody_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ManagedClusterPodIdentityProvisioningErrorBody_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (body *ManagedClusterPodIdentityProvisioningErrorBody_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ManagedClusterPodIdentityProvisioningErrorBody_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ManagedClusterPodIdentityProvisioningErrorBody_STATUS, got %T", armInput) + } + + // Set property "Code": + if typedInput.Code != nil { + code := *typedInput.Code + body.Code = &code + } + + // Set property "Details": + for _, item := range typedInput.Details { + var item1 ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled + err := item1.PopulateFromARM(owner, item) + if err != nil { + return err + } + body.Details = append(body.Details, item1) + } + + // Set property "Message": + if typedInput.Message != nil { + message := *typedInput.Message + body.Message = &message + } + + // Set property "Target": + if typedInput.Target != nil { + target := *typedInput.Target + body.Target = &target + } + + // No error + return nil +} + +// AssignProperties_From_ManagedClusterPodIdentityProvisioningErrorBody_STATUS populates our ManagedClusterPodIdentityProvisioningErrorBody_STATUS from the provided source ManagedClusterPodIdentityProvisioningErrorBody_STATUS +func (body *ManagedClusterPodIdentityProvisioningErrorBody_STATUS) AssignProperties_From_ManagedClusterPodIdentityProvisioningErrorBody_STATUS(source *storage.ManagedClusterPodIdentityProvisioningErrorBody_STATUS) error { + + // Code + body.Code = genruntime.ClonePointerToString(source.Code) + + // Details + if source.Details != nil { + detailList := make([]ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled, len(source.Details)) + for detailIndex, detailItem := range source.Details { + // Shadow the loop variable to avoid aliasing + detailItem := detailItem + var detail ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled + err := detail.AssignProperties_From_ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled(&detailItem) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled() to populate field Details") + } + detailList[detailIndex] = detail + } + body.Details = detailList + } else { + body.Details = nil + } + + // Message + body.Message = genruntime.ClonePointerToString(source.Message) + + // Target + body.Target = genruntime.ClonePointerToString(source.Target) + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterPodIdentityProvisioningErrorBody_STATUS populates the provided destination ManagedClusterPodIdentityProvisioningErrorBody_STATUS from our ManagedClusterPodIdentityProvisioningErrorBody_STATUS +func (body *ManagedClusterPodIdentityProvisioningErrorBody_STATUS) AssignProperties_To_ManagedClusterPodIdentityProvisioningErrorBody_STATUS(destination *storage.ManagedClusterPodIdentityProvisioningErrorBody_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Code + destination.Code = genruntime.ClonePointerToString(body.Code) + + // Details + if body.Details != nil { + detailList := make([]storage.ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled, len(body.Details)) + for detailIndex, detailItem := range body.Details { + // Shadow the loop variable to avoid aliasing + detailItem := detailItem + var detail storage.ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled + err := detailItem.AssignProperties_To_ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled(&detail) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled() to populate field Details") + } + detailList[detailIndex] = detail + } + destination.Details = detailList + } else { + destination.Details = nil + } + + // Message + destination.Message = genruntime.ClonePointerToString(body.Message) + + // Target + destination.Target = genruntime.ClonePointerToString(body.Target) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +type ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled struct { + // Code: An identifier for the error. Codes are invariant and are intended to be consumed programmatically. + Code *string `json:"code,omitempty"` + + // Message: A message describing the error, intended to be suitable for display in a user interface. + Message *string `json:"message,omitempty"` + + // Target: The target of the particular error. For example, the name of the property in error. + Target *string `json:"target,omitempty"` +} + +var _ genruntime.FromARMConverter = &ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (unrolled *ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (unrolled *ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled, got %T", armInput) + } + + // Set property "Code": + if typedInput.Code != nil { + code := *typedInput.Code + unrolled.Code = &code + } + + // Set property "Message": + if typedInput.Message != nil { + message := *typedInput.Message + unrolled.Message = &message + } + + // Set property "Target": + if typedInput.Target != nil { + target := *typedInput.Target + unrolled.Target = &target + } + + // No error + return nil +} + +// AssignProperties_From_ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled populates our ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled from the provided source ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled +func (unrolled *ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled) AssignProperties_From_ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled(source *storage.ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled) error { + + // Code + unrolled.Code = genruntime.ClonePointerToString(source.Code) + + // Message + unrolled.Message = genruntime.ClonePointerToString(source.Message) + + // Target + unrolled.Target = genruntime.ClonePointerToString(source.Target) + + // No error + return nil +} + +// AssignProperties_To_ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled populates the provided destination ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled from our ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled +func (unrolled *ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled) AssignProperties_To_ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled(destination *storage.ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Code + destination.Code = genruntime.ClonePointerToString(unrolled.Code) + + // Message + destination.Message = genruntime.ClonePointerToString(unrolled.Message) + + // Target + destination.Target = genruntime.ClonePointerToString(unrolled.Target) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +func init() { + SchemeBuilder.Register(&ManagedCluster{}, &ManagedClusterList{}) +} diff --git a/v2/api/containerservice/v1api20240901/managed_cluster_types_gen_test.go b/v2/api/containerservice/v1api20240901/managed_cluster_types_gen_test.go new file mode 100644 index 00000000000..c811b0174a4 --- /dev/null +++ b/v2/api/containerservice/v1api20240901/managed_cluster_types_gen_test.go @@ -0,0 +1,15643 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package v1api20240901 + +import ( + "encoding/json" + storage "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20240901/storage" + "github.com/google/go-cmp/cmp" + "github.com/google/go-cmp/cmp/cmpopts" + "github.com/kr/pretty" + "github.com/kylelemons/godebug/diff" + "github.com/leanovate/gopter" + "github.com/leanovate/gopter/gen" + "github.com/leanovate/gopter/prop" + "os" + "reflect" + "testing" +) + +func Test_AdvancedNetworking_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from AdvancedNetworking to AdvancedNetworking via AssignProperties_To_AdvancedNetworking & AssignProperties_From_AdvancedNetworking returns original", + prop.ForAll(RunPropertyAssignmentTestForAdvancedNetworking, AdvancedNetworkingGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForAdvancedNetworking tests if a specific instance of AdvancedNetworking can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForAdvancedNetworking(subject AdvancedNetworking) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.AdvancedNetworking + err := copied.AssignProperties_To_AdvancedNetworking(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual AdvancedNetworking + err = actual.AssignProperties_From_AdvancedNetworking(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_AdvancedNetworking_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of AdvancedNetworking via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAdvancedNetworking, AdvancedNetworkingGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAdvancedNetworking runs a test to see if a specific instance of AdvancedNetworking round trips to JSON and back losslessly +func RunJSONSerializationTestForAdvancedNetworking(subject AdvancedNetworking) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AdvancedNetworking + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of AdvancedNetworking instances for property testing - lazily instantiated by AdvancedNetworkingGenerator() +var advancedNetworkingGenerator gopter.Gen + +// AdvancedNetworkingGenerator returns a generator of AdvancedNetworking instances for property testing. +// We first initialize advancedNetworkingGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func AdvancedNetworkingGenerator() gopter.Gen { + if advancedNetworkingGenerator != nil { + return advancedNetworkingGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAdvancedNetworking(generators) + advancedNetworkingGenerator = gen.Struct(reflect.TypeOf(AdvancedNetworking{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAdvancedNetworking(generators) + AddRelatedPropertyGeneratorsForAdvancedNetworking(generators) + advancedNetworkingGenerator = gen.Struct(reflect.TypeOf(AdvancedNetworking{}), generators) + + return advancedNetworkingGenerator +} + +// AddIndependentPropertyGeneratorsForAdvancedNetworking is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAdvancedNetworking(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +// AddRelatedPropertyGeneratorsForAdvancedNetworking is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForAdvancedNetworking(gens map[string]gopter.Gen) { + gens["Observability"] = gen.PtrOf(AdvancedNetworkingObservabilityGenerator()) + gens["Security"] = gen.PtrOf(AdvancedNetworkingSecurityGenerator()) +} + +func Test_AdvancedNetworkingObservability_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from AdvancedNetworkingObservability to AdvancedNetworkingObservability via AssignProperties_To_AdvancedNetworkingObservability & AssignProperties_From_AdvancedNetworkingObservability returns original", + prop.ForAll(RunPropertyAssignmentTestForAdvancedNetworkingObservability, AdvancedNetworkingObservabilityGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForAdvancedNetworkingObservability tests if a specific instance of AdvancedNetworkingObservability can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForAdvancedNetworkingObservability(subject AdvancedNetworkingObservability) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.AdvancedNetworkingObservability + err := copied.AssignProperties_To_AdvancedNetworkingObservability(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual AdvancedNetworkingObservability + err = actual.AssignProperties_From_AdvancedNetworkingObservability(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_AdvancedNetworkingObservability_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of AdvancedNetworkingObservability via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAdvancedNetworkingObservability, AdvancedNetworkingObservabilityGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAdvancedNetworkingObservability runs a test to see if a specific instance of AdvancedNetworkingObservability round trips to JSON and back losslessly +func RunJSONSerializationTestForAdvancedNetworkingObservability(subject AdvancedNetworkingObservability) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AdvancedNetworkingObservability + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of AdvancedNetworkingObservability instances for property testing - lazily instantiated by +// AdvancedNetworkingObservabilityGenerator() +var advancedNetworkingObservabilityGenerator gopter.Gen + +// AdvancedNetworkingObservabilityGenerator returns a generator of AdvancedNetworkingObservability instances for property testing. +func AdvancedNetworkingObservabilityGenerator() gopter.Gen { + if advancedNetworkingObservabilityGenerator != nil { + return advancedNetworkingObservabilityGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAdvancedNetworkingObservability(generators) + advancedNetworkingObservabilityGenerator = gen.Struct(reflect.TypeOf(AdvancedNetworkingObservability{}), generators) + + return advancedNetworkingObservabilityGenerator +} + +// AddIndependentPropertyGeneratorsForAdvancedNetworkingObservability is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAdvancedNetworkingObservability(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +func Test_AdvancedNetworkingObservability_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from AdvancedNetworkingObservability_STATUS to AdvancedNetworkingObservability_STATUS via AssignProperties_To_AdvancedNetworkingObservability_STATUS & AssignProperties_From_AdvancedNetworkingObservability_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForAdvancedNetworkingObservability_STATUS, AdvancedNetworkingObservability_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForAdvancedNetworkingObservability_STATUS tests if a specific instance of AdvancedNetworkingObservability_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForAdvancedNetworkingObservability_STATUS(subject AdvancedNetworkingObservability_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.AdvancedNetworkingObservability_STATUS + err := copied.AssignProperties_To_AdvancedNetworkingObservability_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual AdvancedNetworkingObservability_STATUS + err = actual.AssignProperties_From_AdvancedNetworkingObservability_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_AdvancedNetworkingObservability_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of AdvancedNetworkingObservability_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAdvancedNetworkingObservability_STATUS, AdvancedNetworkingObservability_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAdvancedNetworkingObservability_STATUS runs a test to see if a specific instance of AdvancedNetworkingObservability_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForAdvancedNetworkingObservability_STATUS(subject AdvancedNetworkingObservability_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AdvancedNetworkingObservability_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of AdvancedNetworkingObservability_STATUS instances for property testing - lazily instantiated by +// AdvancedNetworkingObservability_STATUSGenerator() +var advancedNetworkingObservability_STATUSGenerator gopter.Gen + +// AdvancedNetworkingObservability_STATUSGenerator returns a generator of AdvancedNetworkingObservability_STATUS instances for property testing. +func AdvancedNetworkingObservability_STATUSGenerator() gopter.Gen { + if advancedNetworkingObservability_STATUSGenerator != nil { + return advancedNetworkingObservability_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAdvancedNetworkingObservability_STATUS(generators) + advancedNetworkingObservability_STATUSGenerator = gen.Struct(reflect.TypeOf(AdvancedNetworkingObservability_STATUS{}), generators) + + return advancedNetworkingObservability_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForAdvancedNetworkingObservability_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAdvancedNetworkingObservability_STATUS(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +func Test_AdvancedNetworkingSecurity_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from AdvancedNetworkingSecurity to AdvancedNetworkingSecurity via AssignProperties_To_AdvancedNetworkingSecurity & AssignProperties_From_AdvancedNetworkingSecurity returns original", + prop.ForAll(RunPropertyAssignmentTestForAdvancedNetworkingSecurity, AdvancedNetworkingSecurityGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForAdvancedNetworkingSecurity tests if a specific instance of AdvancedNetworkingSecurity can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForAdvancedNetworkingSecurity(subject AdvancedNetworkingSecurity) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.AdvancedNetworkingSecurity + err := copied.AssignProperties_To_AdvancedNetworkingSecurity(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual AdvancedNetworkingSecurity + err = actual.AssignProperties_From_AdvancedNetworkingSecurity(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_AdvancedNetworkingSecurity_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of AdvancedNetworkingSecurity via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAdvancedNetworkingSecurity, AdvancedNetworkingSecurityGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAdvancedNetworkingSecurity runs a test to see if a specific instance of AdvancedNetworkingSecurity round trips to JSON and back losslessly +func RunJSONSerializationTestForAdvancedNetworkingSecurity(subject AdvancedNetworkingSecurity) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AdvancedNetworkingSecurity + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of AdvancedNetworkingSecurity instances for property testing - lazily instantiated by +// AdvancedNetworkingSecurityGenerator() +var advancedNetworkingSecurityGenerator gopter.Gen + +// AdvancedNetworkingSecurityGenerator returns a generator of AdvancedNetworkingSecurity instances for property testing. +func AdvancedNetworkingSecurityGenerator() gopter.Gen { + if advancedNetworkingSecurityGenerator != nil { + return advancedNetworkingSecurityGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAdvancedNetworkingSecurity(generators) + advancedNetworkingSecurityGenerator = gen.Struct(reflect.TypeOf(AdvancedNetworkingSecurity{}), generators) + + return advancedNetworkingSecurityGenerator +} + +// AddIndependentPropertyGeneratorsForAdvancedNetworkingSecurity is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAdvancedNetworkingSecurity(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +func Test_AdvancedNetworkingSecurity_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from AdvancedNetworkingSecurity_STATUS to AdvancedNetworkingSecurity_STATUS via AssignProperties_To_AdvancedNetworkingSecurity_STATUS & AssignProperties_From_AdvancedNetworkingSecurity_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForAdvancedNetworkingSecurity_STATUS, AdvancedNetworkingSecurity_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForAdvancedNetworkingSecurity_STATUS tests if a specific instance of AdvancedNetworkingSecurity_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForAdvancedNetworkingSecurity_STATUS(subject AdvancedNetworkingSecurity_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.AdvancedNetworkingSecurity_STATUS + err := copied.AssignProperties_To_AdvancedNetworkingSecurity_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual AdvancedNetworkingSecurity_STATUS + err = actual.AssignProperties_From_AdvancedNetworkingSecurity_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_AdvancedNetworkingSecurity_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of AdvancedNetworkingSecurity_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAdvancedNetworkingSecurity_STATUS, AdvancedNetworkingSecurity_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAdvancedNetworkingSecurity_STATUS runs a test to see if a specific instance of AdvancedNetworkingSecurity_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForAdvancedNetworkingSecurity_STATUS(subject AdvancedNetworkingSecurity_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AdvancedNetworkingSecurity_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of AdvancedNetworkingSecurity_STATUS instances for property testing - lazily instantiated by +// AdvancedNetworkingSecurity_STATUSGenerator() +var advancedNetworkingSecurity_STATUSGenerator gopter.Gen + +// AdvancedNetworkingSecurity_STATUSGenerator returns a generator of AdvancedNetworkingSecurity_STATUS instances for property testing. +func AdvancedNetworkingSecurity_STATUSGenerator() gopter.Gen { + if advancedNetworkingSecurity_STATUSGenerator != nil { + return advancedNetworkingSecurity_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAdvancedNetworkingSecurity_STATUS(generators) + advancedNetworkingSecurity_STATUSGenerator = gen.Struct(reflect.TypeOf(AdvancedNetworkingSecurity_STATUS{}), generators) + + return advancedNetworkingSecurity_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForAdvancedNetworkingSecurity_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAdvancedNetworkingSecurity_STATUS(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +func Test_AdvancedNetworking_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from AdvancedNetworking_STATUS to AdvancedNetworking_STATUS via AssignProperties_To_AdvancedNetworking_STATUS & AssignProperties_From_AdvancedNetworking_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForAdvancedNetworking_STATUS, AdvancedNetworking_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForAdvancedNetworking_STATUS tests if a specific instance of AdvancedNetworking_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForAdvancedNetworking_STATUS(subject AdvancedNetworking_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.AdvancedNetworking_STATUS + err := copied.AssignProperties_To_AdvancedNetworking_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual AdvancedNetworking_STATUS + err = actual.AssignProperties_From_AdvancedNetworking_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_AdvancedNetworking_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of AdvancedNetworking_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAdvancedNetworking_STATUS, AdvancedNetworking_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAdvancedNetworking_STATUS runs a test to see if a specific instance of AdvancedNetworking_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForAdvancedNetworking_STATUS(subject AdvancedNetworking_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AdvancedNetworking_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of AdvancedNetworking_STATUS instances for property testing - lazily instantiated by +// AdvancedNetworking_STATUSGenerator() +var advancedNetworking_STATUSGenerator gopter.Gen + +// AdvancedNetworking_STATUSGenerator returns a generator of AdvancedNetworking_STATUS instances for property testing. +// We first initialize advancedNetworking_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func AdvancedNetworking_STATUSGenerator() gopter.Gen { + if advancedNetworking_STATUSGenerator != nil { + return advancedNetworking_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAdvancedNetworking_STATUS(generators) + advancedNetworking_STATUSGenerator = gen.Struct(reflect.TypeOf(AdvancedNetworking_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAdvancedNetworking_STATUS(generators) + AddRelatedPropertyGeneratorsForAdvancedNetworking_STATUS(generators) + advancedNetworking_STATUSGenerator = gen.Struct(reflect.TypeOf(AdvancedNetworking_STATUS{}), generators) + + return advancedNetworking_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForAdvancedNetworking_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAdvancedNetworking_STATUS(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +// AddRelatedPropertyGeneratorsForAdvancedNetworking_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForAdvancedNetworking_STATUS(gens map[string]gopter.Gen) { + gens["Observability"] = gen.PtrOf(AdvancedNetworkingObservability_STATUSGenerator()) + gens["Security"] = gen.PtrOf(AdvancedNetworkingSecurity_STATUSGenerator()) +} + +func Test_AzureKeyVaultKms_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from AzureKeyVaultKms to AzureKeyVaultKms via AssignProperties_To_AzureKeyVaultKms & AssignProperties_From_AzureKeyVaultKms returns original", + prop.ForAll(RunPropertyAssignmentTestForAzureKeyVaultKms, AzureKeyVaultKmsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForAzureKeyVaultKms tests if a specific instance of AzureKeyVaultKms can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForAzureKeyVaultKms(subject AzureKeyVaultKms) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.AzureKeyVaultKms + err := copied.AssignProperties_To_AzureKeyVaultKms(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual AzureKeyVaultKms + err = actual.AssignProperties_From_AzureKeyVaultKms(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_AzureKeyVaultKms_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of AzureKeyVaultKms via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAzureKeyVaultKms, AzureKeyVaultKmsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAzureKeyVaultKms runs a test to see if a specific instance of AzureKeyVaultKms round trips to JSON and back losslessly +func RunJSONSerializationTestForAzureKeyVaultKms(subject AzureKeyVaultKms) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AzureKeyVaultKms + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of AzureKeyVaultKms instances for property testing - lazily instantiated by AzureKeyVaultKmsGenerator() +var azureKeyVaultKmsGenerator gopter.Gen + +// AzureKeyVaultKmsGenerator returns a generator of AzureKeyVaultKms instances for property testing. +func AzureKeyVaultKmsGenerator() gopter.Gen { + if azureKeyVaultKmsGenerator != nil { + return azureKeyVaultKmsGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAzureKeyVaultKms(generators) + azureKeyVaultKmsGenerator = gen.Struct(reflect.TypeOf(AzureKeyVaultKms{}), generators) + + return azureKeyVaultKmsGenerator +} + +// AddIndependentPropertyGeneratorsForAzureKeyVaultKms is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAzureKeyVaultKms(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) + gens["KeyId"] = gen.PtrOf(gen.AlphaString()) + gens["KeyVaultNetworkAccess"] = gen.PtrOf(gen.OneConstOf(AzureKeyVaultKms_KeyVaultNetworkAccess_Private, AzureKeyVaultKms_KeyVaultNetworkAccess_Public)) +} + +func Test_AzureKeyVaultKms_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from AzureKeyVaultKms_STATUS to AzureKeyVaultKms_STATUS via AssignProperties_To_AzureKeyVaultKms_STATUS & AssignProperties_From_AzureKeyVaultKms_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForAzureKeyVaultKms_STATUS, AzureKeyVaultKms_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForAzureKeyVaultKms_STATUS tests if a specific instance of AzureKeyVaultKms_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForAzureKeyVaultKms_STATUS(subject AzureKeyVaultKms_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.AzureKeyVaultKms_STATUS + err := copied.AssignProperties_To_AzureKeyVaultKms_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual AzureKeyVaultKms_STATUS + err = actual.AssignProperties_From_AzureKeyVaultKms_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_AzureKeyVaultKms_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of AzureKeyVaultKms_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAzureKeyVaultKms_STATUS, AzureKeyVaultKms_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAzureKeyVaultKms_STATUS runs a test to see if a specific instance of AzureKeyVaultKms_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForAzureKeyVaultKms_STATUS(subject AzureKeyVaultKms_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AzureKeyVaultKms_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of AzureKeyVaultKms_STATUS instances for property testing - lazily instantiated by +// AzureKeyVaultKms_STATUSGenerator() +var azureKeyVaultKms_STATUSGenerator gopter.Gen + +// AzureKeyVaultKms_STATUSGenerator returns a generator of AzureKeyVaultKms_STATUS instances for property testing. +func AzureKeyVaultKms_STATUSGenerator() gopter.Gen { + if azureKeyVaultKms_STATUSGenerator != nil { + return azureKeyVaultKms_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAzureKeyVaultKms_STATUS(generators) + azureKeyVaultKms_STATUSGenerator = gen.Struct(reflect.TypeOf(AzureKeyVaultKms_STATUS{}), generators) + + return azureKeyVaultKms_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForAzureKeyVaultKms_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAzureKeyVaultKms_STATUS(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) + gens["KeyId"] = gen.PtrOf(gen.AlphaString()) + gens["KeyVaultNetworkAccess"] = gen.PtrOf(gen.OneConstOf(AzureKeyVaultKms_KeyVaultNetworkAccess_STATUS_Private, AzureKeyVaultKms_KeyVaultNetworkAccess_STATUS_Public)) + gens["KeyVaultResourceId"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ClusterUpgradeSettings_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ClusterUpgradeSettings to ClusterUpgradeSettings via AssignProperties_To_ClusterUpgradeSettings & AssignProperties_From_ClusterUpgradeSettings returns original", + prop.ForAll(RunPropertyAssignmentTestForClusterUpgradeSettings, ClusterUpgradeSettingsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForClusterUpgradeSettings tests if a specific instance of ClusterUpgradeSettings can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForClusterUpgradeSettings(subject ClusterUpgradeSettings) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ClusterUpgradeSettings + err := copied.AssignProperties_To_ClusterUpgradeSettings(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ClusterUpgradeSettings + err = actual.AssignProperties_From_ClusterUpgradeSettings(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ClusterUpgradeSettings_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ClusterUpgradeSettings via JSON returns original", + prop.ForAll(RunJSONSerializationTestForClusterUpgradeSettings, ClusterUpgradeSettingsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForClusterUpgradeSettings runs a test to see if a specific instance of ClusterUpgradeSettings round trips to JSON and back losslessly +func RunJSONSerializationTestForClusterUpgradeSettings(subject ClusterUpgradeSettings) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ClusterUpgradeSettings + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ClusterUpgradeSettings instances for property testing - lazily instantiated by +// ClusterUpgradeSettingsGenerator() +var clusterUpgradeSettingsGenerator gopter.Gen + +// ClusterUpgradeSettingsGenerator returns a generator of ClusterUpgradeSettings instances for property testing. +func ClusterUpgradeSettingsGenerator() gopter.Gen { + if clusterUpgradeSettingsGenerator != nil { + return clusterUpgradeSettingsGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForClusterUpgradeSettings(generators) + clusterUpgradeSettingsGenerator = gen.Struct(reflect.TypeOf(ClusterUpgradeSettings{}), generators) + + return clusterUpgradeSettingsGenerator +} + +// AddRelatedPropertyGeneratorsForClusterUpgradeSettings is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForClusterUpgradeSettings(gens map[string]gopter.Gen) { + gens["OverrideSettings"] = gen.PtrOf(UpgradeOverrideSettingsGenerator()) +} + +func Test_ClusterUpgradeSettings_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ClusterUpgradeSettings_STATUS to ClusterUpgradeSettings_STATUS via AssignProperties_To_ClusterUpgradeSettings_STATUS & AssignProperties_From_ClusterUpgradeSettings_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForClusterUpgradeSettings_STATUS, ClusterUpgradeSettings_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForClusterUpgradeSettings_STATUS tests if a specific instance of ClusterUpgradeSettings_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForClusterUpgradeSettings_STATUS(subject ClusterUpgradeSettings_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ClusterUpgradeSettings_STATUS + err := copied.AssignProperties_To_ClusterUpgradeSettings_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ClusterUpgradeSettings_STATUS + err = actual.AssignProperties_From_ClusterUpgradeSettings_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ClusterUpgradeSettings_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ClusterUpgradeSettings_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForClusterUpgradeSettings_STATUS, ClusterUpgradeSettings_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForClusterUpgradeSettings_STATUS runs a test to see if a specific instance of ClusterUpgradeSettings_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForClusterUpgradeSettings_STATUS(subject ClusterUpgradeSettings_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ClusterUpgradeSettings_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ClusterUpgradeSettings_STATUS instances for property testing - lazily instantiated by +// ClusterUpgradeSettings_STATUSGenerator() +var clusterUpgradeSettings_STATUSGenerator gopter.Gen + +// ClusterUpgradeSettings_STATUSGenerator returns a generator of ClusterUpgradeSettings_STATUS instances for property testing. +func ClusterUpgradeSettings_STATUSGenerator() gopter.Gen { + if clusterUpgradeSettings_STATUSGenerator != nil { + return clusterUpgradeSettings_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForClusterUpgradeSettings_STATUS(generators) + clusterUpgradeSettings_STATUSGenerator = gen.Struct(reflect.TypeOf(ClusterUpgradeSettings_STATUS{}), generators) + + return clusterUpgradeSettings_STATUSGenerator +} + +// AddRelatedPropertyGeneratorsForClusterUpgradeSettings_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForClusterUpgradeSettings_STATUS(gens map[string]gopter.Gen) { + gens["OverrideSettings"] = gen.PtrOf(UpgradeOverrideSettings_STATUSGenerator()) +} + +func Test_ContainerServiceLinuxProfile_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ContainerServiceLinuxProfile to ContainerServiceLinuxProfile via AssignProperties_To_ContainerServiceLinuxProfile & AssignProperties_From_ContainerServiceLinuxProfile returns original", + prop.ForAll(RunPropertyAssignmentTestForContainerServiceLinuxProfile, ContainerServiceLinuxProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForContainerServiceLinuxProfile tests if a specific instance of ContainerServiceLinuxProfile can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForContainerServiceLinuxProfile(subject ContainerServiceLinuxProfile) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ContainerServiceLinuxProfile + err := copied.AssignProperties_To_ContainerServiceLinuxProfile(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ContainerServiceLinuxProfile + err = actual.AssignProperties_From_ContainerServiceLinuxProfile(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ContainerServiceLinuxProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ContainerServiceLinuxProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForContainerServiceLinuxProfile, ContainerServiceLinuxProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForContainerServiceLinuxProfile runs a test to see if a specific instance of ContainerServiceLinuxProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForContainerServiceLinuxProfile(subject ContainerServiceLinuxProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ContainerServiceLinuxProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ContainerServiceLinuxProfile instances for property testing - lazily instantiated by +// ContainerServiceLinuxProfileGenerator() +var containerServiceLinuxProfileGenerator gopter.Gen + +// ContainerServiceLinuxProfileGenerator returns a generator of ContainerServiceLinuxProfile instances for property testing. +// We first initialize containerServiceLinuxProfileGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func ContainerServiceLinuxProfileGenerator() gopter.Gen { + if containerServiceLinuxProfileGenerator != nil { + return containerServiceLinuxProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForContainerServiceLinuxProfile(generators) + containerServiceLinuxProfileGenerator = gen.Struct(reflect.TypeOf(ContainerServiceLinuxProfile{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForContainerServiceLinuxProfile(generators) + AddRelatedPropertyGeneratorsForContainerServiceLinuxProfile(generators) + containerServiceLinuxProfileGenerator = gen.Struct(reflect.TypeOf(ContainerServiceLinuxProfile{}), generators) + + return containerServiceLinuxProfileGenerator +} + +// AddIndependentPropertyGeneratorsForContainerServiceLinuxProfile is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForContainerServiceLinuxProfile(gens map[string]gopter.Gen) { + gens["AdminUsername"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForContainerServiceLinuxProfile is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForContainerServiceLinuxProfile(gens map[string]gopter.Gen) { + gens["Ssh"] = gen.PtrOf(ContainerServiceSshConfigurationGenerator()) +} + +func Test_ContainerServiceLinuxProfile_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ContainerServiceLinuxProfile_STATUS to ContainerServiceLinuxProfile_STATUS via AssignProperties_To_ContainerServiceLinuxProfile_STATUS & AssignProperties_From_ContainerServiceLinuxProfile_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForContainerServiceLinuxProfile_STATUS, ContainerServiceLinuxProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForContainerServiceLinuxProfile_STATUS tests if a specific instance of ContainerServiceLinuxProfile_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForContainerServiceLinuxProfile_STATUS(subject ContainerServiceLinuxProfile_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ContainerServiceLinuxProfile_STATUS + err := copied.AssignProperties_To_ContainerServiceLinuxProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ContainerServiceLinuxProfile_STATUS + err = actual.AssignProperties_From_ContainerServiceLinuxProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ContainerServiceLinuxProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ContainerServiceLinuxProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForContainerServiceLinuxProfile_STATUS, ContainerServiceLinuxProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForContainerServiceLinuxProfile_STATUS runs a test to see if a specific instance of ContainerServiceLinuxProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForContainerServiceLinuxProfile_STATUS(subject ContainerServiceLinuxProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ContainerServiceLinuxProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ContainerServiceLinuxProfile_STATUS instances for property testing - lazily instantiated by +// ContainerServiceLinuxProfile_STATUSGenerator() +var containerServiceLinuxProfile_STATUSGenerator gopter.Gen + +// ContainerServiceLinuxProfile_STATUSGenerator returns a generator of ContainerServiceLinuxProfile_STATUS instances for property testing. +// We first initialize containerServiceLinuxProfile_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func ContainerServiceLinuxProfile_STATUSGenerator() gopter.Gen { + if containerServiceLinuxProfile_STATUSGenerator != nil { + return containerServiceLinuxProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForContainerServiceLinuxProfile_STATUS(generators) + containerServiceLinuxProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ContainerServiceLinuxProfile_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForContainerServiceLinuxProfile_STATUS(generators) + AddRelatedPropertyGeneratorsForContainerServiceLinuxProfile_STATUS(generators) + containerServiceLinuxProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ContainerServiceLinuxProfile_STATUS{}), generators) + + return containerServiceLinuxProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForContainerServiceLinuxProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForContainerServiceLinuxProfile_STATUS(gens map[string]gopter.Gen) { + gens["AdminUsername"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForContainerServiceLinuxProfile_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForContainerServiceLinuxProfile_STATUS(gens map[string]gopter.Gen) { + gens["Ssh"] = gen.PtrOf(ContainerServiceSshConfiguration_STATUSGenerator()) +} + +func Test_ContainerServiceNetworkProfile_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ContainerServiceNetworkProfile to ContainerServiceNetworkProfile via AssignProperties_To_ContainerServiceNetworkProfile & AssignProperties_From_ContainerServiceNetworkProfile returns original", + prop.ForAll(RunPropertyAssignmentTestForContainerServiceNetworkProfile, ContainerServiceNetworkProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForContainerServiceNetworkProfile tests if a specific instance of ContainerServiceNetworkProfile can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForContainerServiceNetworkProfile(subject ContainerServiceNetworkProfile) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ContainerServiceNetworkProfile + err := copied.AssignProperties_To_ContainerServiceNetworkProfile(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ContainerServiceNetworkProfile + err = actual.AssignProperties_From_ContainerServiceNetworkProfile(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ContainerServiceNetworkProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ContainerServiceNetworkProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForContainerServiceNetworkProfile, ContainerServiceNetworkProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForContainerServiceNetworkProfile runs a test to see if a specific instance of ContainerServiceNetworkProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForContainerServiceNetworkProfile(subject ContainerServiceNetworkProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ContainerServiceNetworkProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ContainerServiceNetworkProfile instances for property testing - lazily instantiated by +// ContainerServiceNetworkProfileGenerator() +var containerServiceNetworkProfileGenerator gopter.Gen + +// ContainerServiceNetworkProfileGenerator returns a generator of ContainerServiceNetworkProfile instances for property testing. +// We first initialize containerServiceNetworkProfileGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func ContainerServiceNetworkProfileGenerator() gopter.Gen { + if containerServiceNetworkProfileGenerator != nil { + return containerServiceNetworkProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForContainerServiceNetworkProfile(generators) + containerServiceNetworkProfileGenerator = gen.Struct(reflect.TypeOf(ContainerServiceNetworkProfile{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForContainerServiceNetworkProfile(generators) + AddRelatedPropertyGeneratorsForContainerServiceNetworkProfile(generators) + containerServiceNetworkProfileGenerator = gen.Struct(reflect.TypeOf(ContainerServiceNetworkProfile{}), generators) + + return containerServiceNetworkProfileGenerator +} + +// AddIndependentPropertyGeneratorsForContainerServiceNetworkProfile is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForContainerServiceNetworkProfile(gens map[string]gopter.Gen) { + gens["DnsServiceIP"] = gen.PtrOf(gen.AlphaString()) + gens["IpFamilies"] = gen.SliceOf(gen.OneConstOf(ContainerServiceNetworkProfile_IpFamilies_IPv4, ContainerServiceNetworkProfile_IpFamilies_IPv6)) + gens["LoadBalancerSku"] = gen.PtrOf(gen.OneConstOf(ContainerServiceNetworkProfile_LoadBalancerSku_Basic, ContainerServiceNetworkProfile_LoadBalancerSku_Standard)) + gens["NetworkDataplane"] = gen.PtrOf(gen.OneConstOf(ContainerServiceNetworkProfile_NetworkDataplane_Azure, ContainerServiceNetworkProfile_NetworkDataplane_Cilium)) + gens["NetworkMode"] = gen.PtrOf(gen.OneConstOf(ContainerServiceNetworkProfile_NetworkMode_Bridge, ContainerServiceNetworkProfile_NetworkMode_Transparent)) + gens["NetworkPlugin"] = gen.PtrOf(gen.OneConstOf(ContainerServiceNetworkProfile_NetworkPlugin_Azure, ContainerServiceNetworkProfile_NetworkPlugin_Kubenet, ContainerServiceNetworkProfile_NetworkPlugin_None)) + gens["NetworkPluginMode"] = gen.PtrOf(gen.OneConstOf(ContainerServiceNetworkProfile_NetworkPluginMode_Overlay)) + gens["NetworkPolicy"] = gen.PtrOf(gen.OneConstOf( + ContainerServiceNetworkProfile_NetworkPolicy_Azure, + ContainerServiceNetworkProfile_NetworkPolicy_Calico, + ContainerServiceNetworkProfile_NetworkPolicy_Cilium, + ContainerServiceNetworkProfile_NetworkPolicy_None)) + gens["OutboundType"] = gen.PtrOf(gen.OneConstOf( + ContainerServiceNetworkProfile_OutboundType_LoadBalancer, + ContainerServiceNetworkProfile_OutboundType_ManagedNATGateway, + ContainerServiceNetworkProfile_OutboundType_UserAssignedNATGateway, + ContainerServiceNetworkProfile_OutboundType_UserDefinedRouting)) + gens["PodCidr"] = gen.PtrOf(gen.AlphaString()) + gens["PodCidrs"] = gen.SliceOf(gen.AlphaString()) + gens["ServiceCidr"] = gen.PtrOf(gen.AlphaString()) + gens["ServiceCidrs"] = gen.SliceOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForContainerServiceNetworkProfile is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForContainerServiceNetworkProfile(gens map[string]gopter.Gen) { + gens["AdvancedNetworking"] = gen.PtrOf(AdvancedNetworkingGenerator()) + gens["LoadBalancerProfile"] = gen.PtrOf(ManagedClusterLoadBalancerProfileGenerator()) + gens["NatGatewayProfile"] = gen.PtrOf(ManagedClusterNATGatewayProfileGenerator()) +} + +func Test_ContainerServiceNetworkProfile_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ContainerServiceNetworkProfile_STATUS to ContainerServiceNetworkProfile_STATUS via AssignProperties_To_ContainerServiceNetworkProfile_STATUS & AssignProperties_From_ContainerServiceNetworkProfile_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForContainerServiceNetworkProfile_STATUS, ContainerServiceNetworkProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForContainerServiceNetworkProfile_STATUS tests if a specific instance of ContainerServiceNetworkProfile_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForContainerServiceNetworkProfile_STATUS(subject ContainerServiceNetworkProfile_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ContainerServiceNetworkProfile_STATUS + err := copied.AssignProperties_To_ContainerServiceNetworkProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ContainerServiceNetworkProfile_STATUS + err = actual.AssignProperties_From_ContainerServiceNetworkProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ContainerServiceNetworkProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ContainerServiceNetworkProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForContainerServiceNetworkProfile_STATUS, ContainerServiceNetworkProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForContainerServiceNetworkProfile_STATUS runs a test to see if a specific instance of ContainerServiceNetworkProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForContainerServiceNetworkProfile_STATUS(subject ContainerServiceNetworkProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ContainerServiceNetworkProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ContainerServiceNetworkProfile_STATUS instances for property testing - lazily instantiated by +// ContainerServiceNetworkProfile_STATUSGenerator() +var containerServiceNetworkProfile_STATUSGenerator gopter.Gen + +// ContainerServiceNetworkProfile_STATUSGenerator returns a generator of ContainerServiceNetworkProfile_STATUS instances for property testing. +// We first initialize containerServiceNetworkProfile_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func ContainerServiceNetworkProfile_STATUSGenerator() gopter.Gen { + if containerServiceNetworkProfile_STATUSGenerator != nil { + return containerServiceNetworkProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForContainerServiceNetworkProfile_STATUS(generators) + containerServiceNetworkProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ContainerServiceNetworkProfile_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForContainerServiceNetworkProfile_STATUS(generators) + AddRelatedPropertyGeneratorsForContainerServiceNetworkProfile_STATUS(generators) + containerServiceNetworkProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ContainerServiceNetworkProfile_STATUS{}), generators) + + return containerServiceNetworkProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForContainerServiceNetworkProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForContainerServiceNetworkProfile_STATUS(gens map[string]gopter.Gen) { + gens["DnsServiceIP"] = gen.PtrOf(gen.AlphaString()) + gens["IpFamilies"] = gen.SliceOf(gen.OneConstOf(ContainerServiceNetworkProfile_IpFamilies_STATUS_IPv4, ContainerServiceNetworkProfile_IpFamilies_STATUS_IPv6)) + gens["LoadBalancerSku"] = gen.PtrOf(gen.OneConstOf(ContainerServiceNetworkProfile_LoadBalancerSku_STATUS_Basic, ContainerServiceNetworkProfile_LoadBalancerSku_STATUS_Standard)) + gens["NetworkDataplane"] = gen.PtrOf(gen.OneConstOf(ContainerServiceNetworkProfile_NetworkDataplane_STATUS_Azure, ContainerServiceNetworkProfile_NetworkDataplane_STATUS_Cilium)) + gens["NetworkMode"] = gen.PtrOf(gen.OneConstOf(ContainerServiceNetworkProfile_NetworkMode_STATUS_Bridge, ContainerServiceNetworkProfile_NetworkMode_STATUS_Transparent)) + gens["NetworkPlugin"] = gen.PtrOf(gen.OneConstOf(ContainerServiceNetworkProfile_NetworkPlugin_STATUS_Azure, ContainerServiceNetworkProfile_NetworkPlugin_STATUS_Kubenet, ContainerServiceNetworkProfile_NetworkPlugin_STATUS_None)) + gens["NetworkPluginMode"] = gen.PtrOf(gen.OneConstOf(ContainerServiceNetworkProfile_NetworkPluginMode_STATUS_Overlay)) + gens["NetworkPolicy"] = gen.PtrOf(gen.OneConstOf( + ContainerServiceNetworkProfile_NetworkPolicy_STATUS_Azure, + ContainerServiceNetworkProfile_NetworkPolicy_STATUS_Calico, + ContainerServiceNetworkProfile_NetworkPolicy_STATUS_Cilium, + ContainerServiceNetworkProfile_NetworkPolicy_STATUS_None)) + gens["OutboundType"] = gen.PtrOf(gen.OneConstOf( + ContainerServiceNetworkProfile_OutboundType_STATUS_LoadBalancer, + ContainerServiceNetworkProfile_OutboundType_STATUS_ManagedNATGateway, + ContainerServiceNetworkProfile_OutboundType_STATUS_UserAssignedNATGateway, + ContainerServiceNetworkProfile_OutboundType_STATUS_UserDefinedRouting)) + gens["PodCidr"] = gen.PtrOf(gen.AlphaString()) + gens["PodCidrs"] = gen.SliceOf(gen.AlphaString()) + gens["ServiceCidr"] = gen.PtrOf(gen.AlphaString()) + gens["ServiceCidrs"] = gen.SliceOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForContainerServiceNetworkProfile_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForContainerServiceNetworkProfile_STATUS(gens map[string]gopter.Gen) { + gens["AdvancedNetworking"] = gen.PtrOf(AdvancedNetworking_STATUSGenerator()) + gens["LoadBalancerProfile"] = gen.PtrOf(ManagedClusterLoadBalancerProfile_STATUSGenerator()) + gens["NatGatewayProfile"] = gen.PtrOf(ManagedClusterNATGatewayProfile_STATUSGenerator()) +} + +func Test_ContainerServiceSshConfiguration_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ContainerServiceSshConfiguration to ContainerServiceSshConfiguration via AssignProperties_To_ContainerServiceSshConfiguration & AssignProperties_From_ContainerServiceSshConfiguration returns original", + prop.ForAll(RunPropertyAssignmentTestForContainerServiceSshConfiguration, ContainerServiceSshConfigurationGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForContainerServiceSshConfiguration tests if a specific instance of ContainerServiceSshConfiguration can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForContainerServiceSshConfiguration(subject ContainerServiceSshConfiguration) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ContainerServiceSshConfiguration + err := copied.AssignProperties_To_ContainerServiceSshConfiguration(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ContainerServiceSshConfiguration + err = actual.AssignProperties_From_ContainerServiceSshConfiguration(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ContainerServiceSshConfiguration_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ContainerServiceSshConfiguration via JSON returns original", + prop.ForAll(RunJSONSerializationTestForContainerServiceSshConfiguration, ContainerServiceSshConfigurationGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForContainerServiceSshConfiguration runs a test to see if a specific instance of ContainerServiceSshConfiguration round trips to JSON and back losslessly +func RunJSONSerializationTestForContainerServiceSshConfiguration(subject ContainerServiceSshConfiguration) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ContainerServiceSshConfiguration + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ContainerServiceSshConfiguration instances for property testing - lazily instantiated by +// ContainerServiceSshConfigurationGenerator() +var containerServiceSshConfigurationGenerator gopter.Gen + +// ContainerServiceSshConfigurationGenerator returns a generator of ContainerServiceSshConfiguration instances for property testing. +func ContainerServiceSshConfigurationGenerator() gopter.Gen { + if containerServiceSshConfigurationGenerator != nil { + return containerServiceSshConfigurationGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForContainerServiceSshConfiguration(generators) + containerServiceSshConfigurationGenerator = gen.Struct(reflect.TypeOf(ContainerServiceSshConfiguration{}), generators) + + return containerServiceSshConfigurationGenerator +} + +// AddRelatedPropertyGeneratorsForContainerServiceSshConfiguration is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForContainerServiceSshConfiguration(gens map[string]gopter.Gen) { + gens["PublicKeys"] = gen.SliceOf(ContainerServiceSshPublicKeyGenerator()) +} + +func Test_ContainerServiceSshConfiguration_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ContainerServiceSshConfiguration_STATUS to ContainerServiceSshConfiguration_STATUS via AssignProperties_To_ContainerServiceSshConfiguration_STATUS & AssignProperties_From_ContainerServiceSshConfiguration_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForContainerServiceSshConfiguration_STATUS, ContainerServiceSshConfiguration_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForContainerServiceSshConfiguration_STATUS tests if a specific instance of ContainerServiceSshConfiguration_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForContainerServiceSshConfiguration_STATUS(subject ContainerServiceSshConfiguration_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ContainerServiceSshConfiguration_STATUS + err := copied.AssignProperties_To_ContainerServiceSshConfiguration_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ContainerServiceSshConfiguration_STATUS + err = actual.AssignProperties_From_ContainerServiceSshConfiguration_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ContainerServiceSshConfiguration_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ContainerServiceSshConfiguration_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForContainerServiceSshConfiguration_STATUS, ContainerServiceSshConfiguration_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForContainerServiceSshConfiguration_STATUS runs a test to see if a specific instance of ContainerServiceSshConfiguration_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForContainerServiceSshConfiguration_STATUS(subject ContainerServiceSshConfiguration_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ContainerServiceSshConfiguration_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ContainerServiceSshConfiguration_STATUS instances for property testing - lazily instantiated by +// ContainerServiceSshConfiguration_STATUSGenerator() +var containerServiceSshConfiguration_STATUSGenerator gopter.Gen + +// ContainerServiceSshConfiguration_STATUSGenerator returns a generator of ContainerServiceSshConfiguration_STATUS instances for property testing. +func ContainerServiceSshConfiguration_STATUSGenerator() gopter.Gen { + if containerServiceSshConfiguration_STATUSGenerator != nil { + return containerServiceSshConfiguration_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForContainerServiceSshConfiguration_STATUS(generators) + containerServiceSshConfiguration_STATUSGenerator = gen.Struct(reflect.TypeOf(ContainerServiceSshConfiguration_STATUS{}), generators) + + return containerServiceSshConfiguration_STATUSGenerator +} + +// AddRelatedPropertyGeneratorsForContainerServiceSshConfiguration_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForContainerServiceSshConfiguration_STATUS(gens map[string]gopter.Gen) { + gens["PublicKeys"] = gen.SliceOf(ContainerServiceSshPublicKey_STATUSGenerator()) +} + +func Test_ContainerServiceSshPublicKey_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ContainerServiceSshPublicKey to ContainerServiceSshPublicKey via AssignProperties_To_ContainerServiceSshPublicKey & AssignProperties_From_ContainerServiceSshPublicKey returns original", + prop.ForAll(RunPropertyAssignmentTestForContainerServiceSshPublicKey, ContainerServiceSshPublicKeyGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForContainerServiceSshPublicKey tests if a specific instance of ContainerServiceSshPublicKey can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForContainerServiceSshPublicKey(subject ContainerServiceSshPublicKey) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ContainerServiceSshPublicKey + err := copied.AssignProperties_To_ContainerServiceSshPublicKey(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ContainerServiceSshPublicKey + err = actual.AssignProperties_From_ContainerServiceSshPublicKey(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ContainerServiceSshPublicKey_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ContainerServiceSshPublicKey via JSON returns original", + prop.ForAll(RunJSONSerializationTestForContainerServiceSshPublicKey, ContainerServiceSshPublicKeyGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForContainerServiceSshPublicKey runs a test to see if a specific instance of ContainerServiceSshPublicKey round trips to JSON and back losslessly +func RunJSONSerializationTestForContainerServiceSshPublicKey(subject ContainerServiceSshPublicKey) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ContainerServiceSshPublicKey + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ContainerServiceSshPublicKey instances for property testing - lazily instantiated by +// ContainerServiceSshPublicKeyGenerator() +var containerServiceSshPublicKeyGenerator gopter.Gen + +// ContainerServiceSshPublicKeyGenerator returns a generator of ContainerServiceSshPublicKey instances for property testing. +func ContainerServiceSshPublicKeyGenerator() gopter.Gen { + if containerServiceSshPublicKeyGenerator != nil { + return containerServiceSshPublicKeyGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForContainerServiceSshPublicKey(generators) + containerServiceSshPublicKeyGenerator = gen.Struct(reflect.TypeOf(ContainerServiceSshPublicKey{}), generators) + + return containerServiceSshPublicKeyGenerator +} + +// AddIndependentPropertyGeneratorsForContainerServiceSshPublicKey is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForContainerServiceSshPublicKey(gens map[string]gopter.Gen) { + gens["KeyData"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ContainerServiceSshPublicKey_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ContainerServiceSshPublicKey_STATUS to ContainerServiceSshPublicKey_STATUS via AssignProperties_To_ContainerServiceSshPublicKey_STATUS & AssignProperties_From_ContainerServiceSshPublicKey_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForContainerServiceSshPublicKey_STATUS, ContainerServiceSshPublicKey_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForContainerServiceSshPublicKey_STATUS tests if a specific instance of ContainerServiceSshPublicKey_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForContainerServiceSshPublicKey_STATUS(subject ContainerServiceSshPublicKey_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ContainerServiceSshPublicKey_STATUS + err := copied.AssignProperties_To_ContainerServiceSshPublicKey_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ContainerServiceSshPublicKey_STATUS + err = actual.AssignProperties_From_ContainerServiceSshPublicKey_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ContainerServiceSshPublicKey_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ContainerServiceSshPublicKey_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForContainerServiceSshPublicKey_STATUS, ContainerServiceSshPublicKey_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForContainerServiceSshPublicKey_STATUS runs a test to see if a specific instance of ContainerServiceSshPublicKey_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForContainerServiceSshPublicKey_STATUS(subject ContainerServiceSshPublicKey_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ContainerServiceSshPublicKey_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ContainerServiceSshPublicKey_STATUS instances for property testing - lazily instantiated by +// ContainerServiceSshPublicKey_STATUSGenerator() +var containerServiceSshPublicKey_STATUSGenerator gopter.Gen + +// ContainerServiceSshPublicKey_STATUSGenerator returns a generator of ContainerServiceSshPublicKey_STATUS instances for property testing. +func ContainerServiceSshPublicKey_STATUSGenerator() gopter.Gen { + if containerServiceSshPublicKey_STATUSGenerator != nil { + return containerServiceSshPublicKey_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForContainerServiceSshPublicKey_STATUS(generators) + containerServiceSshPublicKey_STATUSGenerator = gen.Struct(reflect.TypeOf(ContainerServiceSshPublicKey_STATUS{}), generators) + + return containerServiceSshPublicKey_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForContainerServiceSshPublicKey_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForContainerServiceSshPublicKey_STATUS(gens map[string]gopter.Gen) { + gens["KeyData"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_DelegatedResource_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from DelegatedResource to DelegatedResource via AssignProperties_To_DelegatedResource & AssignProperties_From_DelegatedResource returns original", + prop.ForAll(RunPropertyAssignmentTestForDelegatedResource, DelegatedResourceGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForDelegatedResource tests if a specific instance of DelegatedResource can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForDelegatedResource(subject DelegatedResource) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.DelegatedResource + err := copied.AssignProperties_To_DelegatedResource(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual DelegatedResource + err = actual.AssignProperties_From_DelegatedResource(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_DelegatedResource_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of DelegatedResource via JSON returns original", + prop.ForAll(RunJSONSerializationTestForDelegatedResource, DelegatedResourceGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForDelegatedResource runs a test to see if a specific instance of DelegatedResource round trips to JSON and back losslessly +func RunJSONSerializationTestForDelegatedResource(subject DelegatedResource) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual DelegatedResource + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of DelegatedResource instances for property testing - lazily instantiated by DelegatedResourceGenerator() +var delegatedResourceGenerator gopter.Gen + +// DelegatedResourceGenerator returns a generator of DelegatedResource instances for property testing. +func DelegatedResourceGenerator() gopter.Gen { + if delegatedResourceGenerator != nil { + return delegatedResourceGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForDelegatedResource(generators) + delegatedResourceGenerator = gen.Struct(reflect.TypeOf(DelegatedResource{}), generators) + + return delegatedResourceGenerator +} + +// AddIndependentPropertyGeneratorsForDelegatedResource is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForDelegatedResource(gens map[string]gopter.Gen) { + gens["Location"] = gen.PtrOf(gen.AlphaString()) + gens["ReferralResource"] = gen.PtrOf(gen.AlphaString()) + gens["TenantId"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_DelegatedResource_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from DelegatedResource_STATUS to DelegatedResource_STATUS via AssignProperties_To_DelegatedResource_STATUS & AssignProperties_From_DelegatedResource_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForDelegatedResource_STATUS, DelegatedResource_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForDelegatedResource_STATUS tests if a specific instance of DelegatedResource_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForDelegatedResource_STATUS(subject DelegatedResource_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.DelegatedResource_STATUS + err := copied.AssignProperties_To_DelegatedResource_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual DelegatedResource_STATUS + err = actual.AssignProperties_From_DelegatedResource_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_DelegatedResource_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of DelegatedResource_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForDelegatedResource_STATUS, DelegatedResource_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForDelegatedResource_STATUS runs a test to see if a specific instance of DelegatedResource_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForDelegatedResource_STATUS(subject DelegatedResource_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual DelegatedResource_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of DelegatedResource_STATUS instances for property testing - lazily instantiated by +// DelegatedResource_STATUSGenerator() +var delegatedResource_STATUSGenerator gopter.Gen + +// DelegatedResource_STATUSGenerator returns a generator of DelegatedResource_STATUS instances for property testing. +func DelegatedResource_STATUSGenerator() gopter.Gen { + if delegatedResource_STATUSGenerator != nil { + return delegatedResource_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForDelegatedResource_STATUS(generators) + delegatedResource_STATUSGenerator = gen.Struct(reflect.TypeOf(DelegatedResource_STATUS{}), generators) + + return delegatedResource_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForDelegatedResource_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForDelegatedResource_STATUS(gens map[string]gopter.Gen) { + gens["Location"] = gen.PtrOf(gen.AlphaString()) + gens["ReferralResource"] = gen.PtrOf(gen.AlphaString()) + gens["ResourceId"] = gen.PtrOf(gen.AlphaString()) + gens["TenantId"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ExtendedLocation_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ExtendedLocation to ExtendedLocation via AssignProperties_To_ExtendedLocation & AssignProperties_From_ExtendedLocation returns original", + prop.ForAll(RunPropertyAssignmentTestForExtendedLocation, ExtendedLocationGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForExtendedLocation tests if a specific instance of ExtendedLocation can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForExtendedLocation(subject ExtendedLocation) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ExtendedLocation + err := copied.AssignProperties_To_ExtendedLocation(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ExtendedLocation + err = actual.AssignProperties_From_ExtendedLocation(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ExtendedLocation_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ExtendedLocation via JSON returns original", + prop.ForAll(RunJSONSerializationTestForExtendedLocation, ExtendedLocationGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForExtendedLocation runs a test to see if a specific instance of ExtendedLocation round trips to JSON and back losslessly +func RunJSONSerializationTestForExtendedLocation(subject ExtendedLocation) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ExtendedLocation + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ExtendedLocation instances for property testing - lazily instantiated by ExtendedLocationGenerator() +var extendedLocationGenerator gopter.Gen + +// ExtendedLocationGenerator returns a generator of ExtendedLocation instances for property testing. +func ExtendedLocationGenerator() gopter.Gen { + if extendedLocationGenerator != nil { + return extendedLocationGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForExtendedLocation(generators) + extendedLocationGenerator = gen.Struct(reflect.TypeOf(ExtendedLocation{}), generators) + + return extendedLocationGenerator +} + +// AddIndependentPropertyGeneratorsForExtendedLocation is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForExtendedLocation(gens map[string]gopter.Gen) { + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["Type"] = gen.PtrOf(gen.OneConstOf(ExtendedLocationType_EdgeZone)) +} + +func Test_ExtendedLocation_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ExtendedLocation_STATUS to ExtendedLocation_STATUS via AssignProperties_To_ExtendedLocation_STATUS & AssignProperties_From_ExtendedLocation_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForExtendedLocation_STATUS, ExtendedLocation_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForExtendedLocation_STATUS tests if a specific instance of ExtendedLocation_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForExtendedLocation_STATUS(subject ExtendedLocation_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ExtendedLocation_STATUS + err := copied.AssignProperties_To_ExtendedLocation_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ExtendedLocation_STATUS + err = actual.AssignProperties_From_ExtendedLocation_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ExtendedLocation_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ExtendedLocation_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForExtendedLocation_STATUS, ExtendedLocation_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForExtendedLocation_STATUS runs a test to see if a specific instance of ExtendedLocation_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForExtendedLocation_STATUS(subject ExtendedLocation_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ExtendedLocation_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ExtendedLocation_STATUS instances for property testing - lazily instantiated by +// ExtendedLocation_STATUSGenerator() +var extendedLocation_STATUSGenerator gopter.Gen + +// ExtendedLocation_STATUSGenerator returns a generator of ExtendedLocation_STATUS instances for property testing. +func ExtendedLocation_STATUSGenerator() gopter.Gen { + if extendedLocation_STATUSGenerator != nil { + return extendedLocation_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForExtendedLocation_STATUS(generators) + extendedLocation_STATUSGenerator = gen.Struct(reflect.TypeOf(ExtendedLocation_STATUS{}), generators) + + return extendedLocation_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForExtendedLocation_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForExtendedLocation_STATUS(gens map[string]gopter.Gen) { + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["Type"] = gen.PtrOf(gen.OneConstOf(ExtendedLocationType_STATUS_EdgeZone)) +} + +func Test_IstioCertificateAuthority_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from IstioCertificateAuthority to IstioCertificateAuthority via AssignProperties_To_IstioCertificateAuthority & AssignProperties_From_IstioCertificateAuthority returns original", + prop.ForAll(RunPropertyAssignmentTestForIstioCertificateAuthority, IstioCertificateAuthorityGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForIstioCertificateAuthority tests if a specific instance of IstioCertificateAuthority can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForIstioCertificateAuthority(subject IstioCertificateAuthority) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.IstioCertificateAuthority + err := copied.AssignProperties_To_IstioCertificateAuthority(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual IstioCertificateAuthority + err = actual.AssignProperties_From_IstioCertificateAuthority(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_IstioCertificateAuthority_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of IstioCertificateAuthority via JSON returns original", + prop.ForAll(RunJSONSerializationTestForIstioCertificateAuthority, IstioCertificateAuthorityGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForIstioCertificateAuthority runs a test to see if a specific instance of IstioCertificateAuthority round trips to JSON and back losslessly +func RunJSONSerializationTestForIstioCertificateAuthority(subject IstioCertificateAuthority) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual IstioCertificateAuthority + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of IstioCertificateAuthority instances for property testing - lazily instantiated by +// IstioCertificateAuthorityGenerator() +var istioCertificateAuthorityGenerator gopter.Gen + +// IstioCertificateAuthorityGenerator returns a generator of IstioCertificateAuthority instances for property testing. +func IstioCertificateAuthorityGenerator() gopter.Gen { + if istioCertificateAuthorityGenerator != nil { + return istioCertificateAuthorityGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForIstioCertificateAuthority(generators) + istioCertificateAuthorityGenerator = gen.Struct(reflect.TypeOf(IstioCertificateAuthority{}), generators) + + return istioCertificateAuthorityGenerator +} + +// AddRelatedPropertyGeneratorsForIstioCertificateAuthority is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForIstioCertificateAuthority(gens map[string]gopter.Gen) { + gens["Plugin"] = gen.PtrOf(IstioPluginCertificateAuthorityGenerator()) +} + +func Test_IstioCertificateAuthority_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from IstioCertificateAuthority_STATUS to IstioCertificateAuthority_STATUS via AssignProperties_To_IstioCertificateAuthority_STATUS & AssignProperties_From_IstioCertificateAuthority_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForIstioCertificateAuthority_STATUS, IstioCertificateAuthority_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForIstioCertificateAuthority_STATUS tests if a specific instance of IstioCertificateAuthority_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForIstioCertificateAuthority_STATUS(subject IstioCertificateAuthority_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.IstioCertificateAuthority_STATUS + err := copied.AssignProperties_To_IstioCertificateAuthority_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual IstioCertificateAuthority_STATUS + err = actual.AssignProperties_From_IstioCertificateAuthority_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_IstioCertificateAuthority_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of IstioCertificateAuthority_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForIstioCertificateAuthority_STATUS, IstioCertificateAuthority_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForIstioCertificateAuthority_STATUS runs a test to see if a specific instance of IstioCertificateAuthority_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForIstioCertificateAuthority_STATUS(subject IstioCertificateAuthority_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual IstioCertificateAuthority_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of IstioCertificateAuthority_STATUS instances for property testing - lazily instantiated by +// IstioCertificateAuthority_STATUSGenerator() +var istioCertificateAuthority_STATUSGenerator gopter.Gen + +// IstioCertificateAuthority_STATUSGenerator returns a generator of IstioCertificateAuthority_STATUS instances for property testing. +func IstioCertificateAuthority_STATUSGenerator() gopter.Gen { + if istioCertificateAuthority_STATUSGenerator != nil { + return istioCertificateAuthority_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForIstioCertificateAuthority_STATUS(generators) + istioCertificateAuthority_STATUSGenerator = gen.Struct(reflect.TypeOf(IstioCertificateAuthority_STATUS{}), generators) + + return istioCertificateAuthority_STATUSGenerator +} + +// AddRelatedPropertyGeneratorsForIstioCertificateAuthority_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForIstioCertificateAuthority_STATUS(gens map[string]gopter.Gen) { + gens["Plugin"] = gen.PtrOf(IstioPluginCertificateAuthority_STATUSGenerator()) +} + +func Test_IstioComponents_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from IstioComponents to IstioComponents via AssignProperties_To_IstioComponents & AssignProperties_From_IstioComponents returns original", + prop.ForAll(RunPropertyAssignmentTestForIstioComponents, IstioComponentsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForIstioComponents tests if a specific instance of IstioComponents can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForIstioComponents(subject IstioComponents) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.IstioComponents + err := copied.AssignProperties_To_IstioComponents(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual IstioComponents + err = actual.AssignProperties_From_IstioComponents(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_IstioComponents_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of IstioComponents via JSON returns original", + prop.ForAll(RunJSONSerializationTestForIstioComponents, IstioComponentsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForIstioComponents runs a test to see if a specific instance of IstioComponents round trips to JSON and back losslessly +func RunJSONSerializationTestForIstioComponents(subject IstioComponents) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual IstioComponents + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of IstioComponents instances for property testing - lazily instantiated by IstioComponentsGenerator() +var istioComponentsGenerator gopter.Gen + +// IstioComponentsGenerator returns a generator of IstioComponents instances for property testing. +func IstioComponentsGenerator() gopter.Gen { + if istioComponentsGenerator != nil { + return istioComponentsGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForIstioComponents(generators) + istioComponentsGenerator = gen.Struct(reflect.TypeOf(IstioComponents{}), generators) + + return istioComponentsGenerator +} + +// AddRelatedPropertyGeneratorsForIstioComponents is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForIstioComponents(gens map[string]gopter.Gen) { + gens["EgressGateways"] = gen.SliceOf(IstioEgressGatewayGenerator()) + gens["IngressGateways"] = gen.SliceOf(IstioIngressGatewayGenerator()) +} + +func Test_IstioComponents_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from IstioComponents_STATUS to IstioComponents_STATUS via AssignProperties_To_IstioComponents_STATUS & AssignProperties_From_IstioComponents_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForIstioComponents_STATUS, IstioComponents_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForIstioComponents_STATUS tests if a specific instance of IstioComponents_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForIstioComponents_STATUS(subject IstioComponents_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.IstioComponents_STATUS + err := copied.AssignProperties_To_IstioComponents_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual IstioComponents_STATUS + err = actual.AssignProperties_From_IstioComponents_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_IstioComponents_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of IstioComponents_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForIstioComponents_STATUS, IstioComponents_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForIstioComponents_STATUS runs a test to see if a specific instance of IstioComponents_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForIstioComponents_STATUS(subject IstioComponents_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual IstioComponents_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of IstioComponents_STATUS instances for property testing - lazily instantiated by +// IstioComponents_STATUSGenerator() +var istioComponents_STATUSGenerator gopter.Gen + +// IstioComponents_STATUSGenerator returns a generator of IstioComponents_STATUS instances for property testing. +func IstioComponents_STATUSGenerator() gopter.Gen { + if istioComponents_STATUSGenerator != nil { + return istioComponents_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForIstioComponents_STATUS(generators) + istioComponents_STATUSGenerator = gen.Struct(reflect.TypeOf(IstioComponents_STATUS{}), generators) + + return istioComponents_STATUSGenerator +} + +// AddRelatedPropertyGeneratorsForIstioComponents_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForIstioComponents_STATUS(gens map[string]gopter.Gen) { + gens["EgressGateways"] = gen.SliceOf(IstioEgressGateway_STATUSGenerator()) + gens["IngressGateways"] = gen.SliceOf(IstioIngressGateway_STATUSGenerator()) +} + +func Test_IstioEgressGateway_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from IstioEgressGateway to IstioEgressGateway via AssignProperties_To_IstioEgressGateway & AssignProperties_From_IstioEgressGateway returns original", + prop.ForAll(RunPropertyAssignmentTestForIstioEgressGateway, IstioEgressGatewayGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForIstioEgressGateway tests if a specific instance of IstioEgressGateway can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForIstioEgressGateway(subject IstioEgressGateway) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.IstioEgressGateway + err := copied.AssignProperties_To_IstioEgressGateway(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual IstioEgressGateway + err = actual.AssignProperties_From_IstioEgressGateway(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_IstioEgressGateway_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of IstioEgressGateway via JSON returns original", + prop.ForAll(RunJSONSerializationTestForIstioEgressGateway, IstioEgressGatewayGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForIstioEgressGateway runs a test to see if a specific instance of IstioEgressGateway round trips to JSON and back losslessly +func RunJSONSerializationTestForIstioEgressGateway(subject IstioEgressGateway) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual IstioEgressGateway + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of IstioEgressGateway instances for property testing - lazily instantiated by IstioEgressGatewayGenerator() +var istioEgressGatewayGenerator gopter.Gen + +// IstioEgressGatewayGenerator returns a generator of IstioEgressGateway instances for property testing. +func IstioEgressGatewayGenerator() gopter.Gen { + if istioEgressGatewayGenerator != nil { + return istioEgressGatewayGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForIstioEgressGateway(generators) + istioEgressGatewayGenerator = gen.Struct(reflect.TypeOf(IstioEgressGateway{}), generators) + + return istioEgressGatewayGenerator +} + +// AddIndependentPropertyGeneratorsForIstioEgressGateway is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForIstioEgressGateway(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +func Test_IstioEgressGateway_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from IstioEgressGateway_STATUS to IstioEgressGateway_STATUS via AssignProperties_To_IstioEgressGateway_STATUS & AssignProperties_From_IstioEgressGateway_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForIstioEgressGateway_STATUS, IstioEgressGateway_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForIstioEgressGateway_STATUS tests if a specific instance of IstioEgressGateway_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForIstioEgressGateway_STATUS(subject IstioEgressGateway_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.IstioEgressGateway_STATUS + err := copied.AssignProperties_To_IstioEgressGateway_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual IstioEgressGateway_STATUS + err = actual.AssignProperties_From_IstioEgressGateway_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_IstioEgressGateway_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of IstioEgressGateway_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForIstioEgressGateway_STATUS, IstioEgressGateway_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForIstioEgressGateway_STATUS runs a test to see if a specific instance of IstioEgressGateway_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForIstioEgressGateway_STATUS(subject IstioEgressGateway_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual IstioEgressGateway_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of IstioEgressGateway_STATUS instances for property testing - lazily instantiated by +// IstioEgressGateway_STATUSGenerator() +var istioEgressGateway_STATUSGenerator gopter.Gen + +// IstioEgressGateway_STATUSGenerator returns a generator of IstioEgressGateway_STATUS instances for property testing. +func IstioEgressGateway_STATUSGenerator() gopter.Gen { + if istioEgressGateway_STATUSGenerator != nil { + return istioEgressGateway_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForIstioEgressGateway_STATUS(generators) + istioEgressGateway_STATUSGenerator = gen.Struct(reflect.TypeOf(IstioEgressGateway_STATUS{}), generators) + + return istioEgressGateway_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForIstioEgressGateway_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForIstioEgressGateway_STATUS(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +func Test_IstioIngressGateway_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from IstioIngressGateway to IstioIngressGateway via AssignProperties_To_IstioIngressGateway & AssignProperties_From_IstioIngressGateway returns original", + prop.ForAll(RunPropertyAssignmentTestForIstioIngressGateway, IstioIngressGatewayGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForIstioIngressGateway tests if a specific instance of IstioIngressGateway can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForIstioIngressGateway(subject IstioIngressGateway) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.IstioIngressGateway + err := copied.AssignProperties_To_IstioIngressGateway(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual IstioIngressGateway + err = actual.AssignProperties_From_IstioIngressGateway(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_IstioIngressGateway_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of IstioIngressGateway via JSON returns original", + prop.ForAll(RunJSONSerializationTestForIstioIngressGateway, IstioIngressGatewayGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForIstioIngressGateway runs a test to see if a specific instance of IstioIngressGateway round trips to JSON and back losslessly +func RunJSONSerializationTestForIstioIngressGateway(subject IstioIngressGateway) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual IstioIngressGateway + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of IstioIngressGateway instances for property testing - lazily instantiated by +// IstioIngressGatewayGenerator() +var istioIngressGatewayGenerator gopter.Gen + +// IstioIngressGatewayGenerator returns a generator of IstioIngressGateway instances for property testing. +func IstioIngressGatewayGenerator() gopter.Gen { + if istioIngressGatewayGenerator != nil { + return istioIngressGatewayGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForIstioIngressGateway(generators) + istioIngressGatewayGenerator = gen.Struct(reflect.TypeOf(IstioIngressGateway{}), generators) + + return istioIngressGatewayGenerator +} + +// AddIndependentPropertyGeneratorsForIstioIngressGateway is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForIstioIngressGateway(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) + gens["Mode"] = gen.PtrOf(gen.OneConstOf(IstioIngressGateway_Mode_External, IstioIngressGateway_Mode_Internal)) +} + +func Test_IstioIngressGateway_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from IstioIngressGateway_STATUS to IstioIngressGateway_STATUS via AssignProperties_To_IstioIngressGateway_STATUS & AssignProperties_From_IstioIngressGateway_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForIstioIngressGateway_STATUS, IstioIngressGateway_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForIstioIngressGateway_STATUS tests if a specific instance of IstioIngressGateway_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForIstioIngressGateway_STATUS(subject IstioIngressGateway_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.IstioIngressGateway_STATUS + err := copied.AssignProperties_To_IstioIngressGateway_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual IstioIngressGateway_STATUS + err = actual.AssignProperties_From_IstioIngressGateway_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_IstioIngressGateway_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of IstioIngressGateway_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForIstioIngressGateway_STATUS, IstioIngressGateway_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForIstioIngressGateway_STATUS runs a test to see if a specific instance of IstioIngressGateway_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForIstioIngressGateway_STATUS(subject IstioIngressGateway_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual IstioIngressGateway_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of IstioIngressGateway_STATUS instances for property testing - lazily instantiated by +// IstioIngressGateway_STATUSGenerator() +var istioIngressGateway_STATUSGenerator gopter.Gen + +// IstioIngressGateway_STATUSGenerator returns a generator of IstioIngressGateway_STATUS instances for property testing. +func IstioIngressGateway_STATUSGenerator() gopter.Gen { + if istioIngressGateway_STATUSGenerator != nil { + return istioIngressGateway_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForIstioIngressGateway_STATUS(generators) + istioIngressGateway_STATUSGenerator = gen.Struct(reflect.TypeOf(IstioIngressGateway_STATUS{}), generators) + + return istioIngressGateway_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForIstioIngressGateway_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForIstioIngressGateway_STATUS(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) + gens["Mode"] = gen.PtrOf(gen.OneConstOf(IstioIngressGateway_Mode_STATUS_External, IstioIngressGateway_Mode_STATUS_Internal)) +} + +func Test_IstioPluginCertificateAuthority_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from IstioPluginCertificateAuthority to IstioPluginCertificateAuthority via AssignProperties_To_IstioPluginCertificateAuthority & AssignProperties_From_IstioPluginCertificateAuthority returns original", + prop.ForAll(RunPropertyAssignmentTestForIstioPluginCertificateAuthority, IstioPluginCertificateAuthorityGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForIstioPluginCertificateAuthority tests if a specific instance of IstioPluginCertificateAuthority can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForIstioPluginCertificateAuthority(subject IstioPluginCertificateAuthority) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.IstioPluginCertificateAuthority + err := copied.AssignProperties_To_IstioPluginCertificateAuthority(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual IstioPluginCertificateAuthority + err = actual.AssignProperties_From_IstioPluginCertificateAuthority(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_IstioPluginCertificateAuthority_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of IstioPluginCertificateAuthority via JSON returns original", + prop.ForAll(RunJSONSerializationTestForIstioPluginCertificateAuthority, IstioPluginCertificateAuthorityGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForIstioPluginCertificateAuthority runs a test to see if a specific instance of IstioPluginCertificateAuthority round trips to JSON and back losslessly +func RunJSONSerializationTestForIstioPluginCertificateAuthority(subject IstioPluginCertificateAuthority) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual IstioPluginCertificateAuthority + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of IstioPluginCertificateAuthority instances for property testing - lazily instantiated by +// IstioPluginCertificateAuthorityGenerator() +var istioPluginCertificateAuthorityGenerator gopter.Gen + +// IstioPluginCertificateAuthorityGenerator returns a generator of IstioPluginCertificateAuthority instances for property testing. +func IstioPluginCertificateAuthorityGenerator() gopter.Gen { + if istioPluginCertificateAuthorityGenerator != nil { + return istioPluginCertificateAuthorityGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForIstioPluginCertificateAuthority(generators) + istioPluginCertificateAuthorityGenerator = gen.Struct(reflect.TypeOf(IstioPluginCertificateAuthority{}), generators) + + return istioPluginCertificateAuthorityGenerator +} + +// AddIndependentPropertyGeneratorsForIstioPluginCertificateAuthority is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForIstioPluginCertificateAuthority(gens map[string]gopter.Gen) { + gens["CertChainObjectName"] = gen.PtrOf(gen.AlphaString()) + gens["CertObjectName"] = gen.PtrOf(gen.AlphaString()) + gens["KeyObjectName"] = gen.PtrOf(gen.AlphaString()) + gens["RootCertObjectName"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_IstioPluginCertificateAuthority_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from IstioPluginCertificateAuthority_STATUS to IstioPluginCertificateAuthority_STATUS via AssignProperties_To_IstioPluginCertificateAuthority_STATUS & AssignProperties_From_IstioPluginCertificateAuthority_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForIstioPluginCertificateAuthority_STATUS, IstioPluginCertificateAuthority_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForIstioPluginCertificateAuthority_STATUS tests if a specific instance of IstioPluginCertificateAuthority_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForIstioPluginCertificateAuthority_STATUS(subject IstioPluginCertificateAuthority_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.IstioPluginCertificateAuthority_STATUS + err := copied.AssignProperties_To_IstioPluginCertificateAuthority_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual IstioPluginCertificateAuthority_STATUS + err = actual.AssignProperties_From_IstioPluginCertificateAuthority_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_IstioPluginCertificateAuthority_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of IstioPluginCertificateAuthority_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForIstioPluginCertificateAuthority_STATUS, IstioPluginCertificateAuthority_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForIstioPluginCertificateAuthority_STATUS runs a test to see if a specific instance of IstioPluginCertificateAuthority_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForIstioPluginCertificateAuthority_STATUS(subject IstioPluginCertificateAuthority_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual IstioPluginCertificateAuthority_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of IstioPluginCertificateAuthority_STATUS instances for property testing - lazily instantiated by +// IstioPluginCertificateAuthority_STATUSGenerator() +var istioPluginCertificateAuthority_STATUSGenerator gopter.Gen + +// IstioPluginCertificateAuthority_STATUSGenerator returns a generator of IstioPluginCertificateAuthority_STATUS instances for property testing. +func IstioPluginCertificateAuthority_STATUSGenerator() gopter.Gen { + if istioPluginCertificateAuthority_STATUSGenerator != nil { + return istioPluginCertificateAuthority_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForIstioPluginCertificateAuthority_STATUS(generators) + istioPluginCertificateAuthority_STATUSGenerator = gen.Struct(reflect.TypeOf(IstioPluginCertificateAuthority_STATUS{}), generators) + + return istioPluginCertificateAuthority_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForIstioPluginCertificateAuthority_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForIstioPluginCertificateAuthority_STATUS(gens map[string]gopter.Gen) { + gens["CertChainObjectName"] = gen.PtrOf(gen.AlphaString()) + gens["CertObjectName"] = gen.PtrOf(gen.AlphaString()) + gens["KeyObjectName"] = gen.PtrOf(gen.AlphaString()) + gens["KeyVaultId"] = gen.PtrOf(gen.AlphaString()) + gens["RootCertObjectName"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_IstioServiceMesh_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from IstioServiceMesh to IstioServiceMesh via AssignProperties_To_IstioServiceMesh & AssignProperties_From_IstioServiceMesh returns original", + prop.ForAll(RunPropertyAssignmentTestForIstioServiceMesh, IstioServiceMeshGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForIstioServiceMesh tests if a specific instance of IstioServiceMesh can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForIstioServiceMesh(subject IstioServiceMesh) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.IstioServiceMesh + err := copied.AssignProperties_To_IstioServiceMesh(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual IstioServiceMesh + err = actual.AssignProperties_From_IstioServiceMesh(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_IstioServiceMesh_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of IstioServiceMesh via JSON returns original", + prop.ForAll(RunJSONSerializationTestForIstioServiceMesh, IstioServiceMeshGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForIstioServiceMesh runs a test to see if a specific instance of IstioServiceMesh round trips to JSON and back losslessly +func RunJSONSerializationTestForIstioServiceMesh(subject IstioServiceMesh) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual IstioServiceMesh + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of IstioServiceMesh instances for property testing - lazily instantiated by IstioServiceMeshGenerator() +var istioServiceMeshGenerator gopter.Gen + +// IstioServiceMeshGenerator returns a generator of IstioServiceMesh instances for property testing. +// We first initialize istioServiceMeshGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func IstioServiceMeshGenerator() gopter.Gen { + if istioServiceMeshGenerator != nil { + return istioServiceMeshGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForIstioServiceMesh(generators) + istioServiceMeshGenerator = gen.Struct(reflect.TypeOf(IstioServiceMesh{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForIstioServiceMesh(generators) + AddRelatedPropertyGeneratorsForIstioServiceMesh(generators) + istioServiceMeshGenerator = gen.Struct(reflect.TypeOf(IstioServiceMesh{}), generators) + + return istioServiceMeshGenerator +} + +// AddIndependentPropertyGeneratorsForIstioServiceMesh is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForIstioServiceMesh(gens map[string]gopter.Gen) { + gens["Revisions"] = gen.SliceOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForIstioServiceMesh is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForIstioServiceMesh(gens map[string]gopter.Gen) { + gens["CertificateAuthority"] = gen.PtrOf(IstioCertificateAuthorityGenerator()) + gens["Components"] = gen.PtrOf(IstioComponentsGenerator()) +} + +func Test_IstioServiceMesh_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from IstioServiceMesh_STATUS to IstioServiceMesh_STATUS via AssignProperties_To_IstioServiceMesh_STATUS & AssignProperties_From_IstioServiceMesh_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForIstioServiceMesh_STATUS, IstioServiceMesh_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForIstioServiceMesh_STATUS tests if a specific instance of IstioServiceMesh_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForIstioServiceMesh_STATUS(subject IstioServiceMesh_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.IstioServiceMesh_STATUS + err := copied.AssignProperties_To_IstioServiceMesh_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual IstioServiceMesh_STATUS + err = actual.AssignProperties_From_IstioServiceMesh_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_IstioServiceMesh_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of IstioServiceMesh_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForIstioServiceMesh_STATUS, IstioServiceMesh_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForIstioServiceMesh_STATUS runs a test to see if a specific instance of IstioServiceMesh_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForIstioServiceMesh_STATUS(subject IstioServiceMesh_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual IstioServiceMesh_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of IstioServiceMesh_STATUS instances for property testing - lazily instantiated by +// IstioServiceMesh_STATUSGenerator() +var istioServiceMesh_STATUSGenerator gopter.Gen + +// IstioServiceMesh_STATUSGenerator returns a generator of IstioServiceMesh_STATUS instances for property testing. +// We first initialize istioServiceMesh_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func IstioServiceMesh_STATUSGenerator() gopter.Gen { + if istioServiceMesh_STATUSGenerator != nil { + return istioServiceMesh_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForIstioServiceMesh_STATUS(generators) + istioServiceMesh_STATUSGenerator = gen.Struct(reflect.TypeOf(IstioServiceMesh_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForIstioServiceMesh_STATUS(generators) + AddRelatedPropertyGeneratorsForIstioServiceMesh_STATUS(generators) + istioServiceMesh_STATUSGenerator = gen.Struct(reflect.TypeOf(IstioServiceMesh_STATUS{}), generators) + + return istioServiceMesh_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForIstioServiceMesh_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForIstioServiceMesh_STATUS(gens map[string]gopter.Gen) { + gens["Revisions"] = gen.SliceOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForIstioServiceMesh_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForIstioServiceMesh_STATUS(gens map[string]gopter.Gen) { + gens["CertificateAuthority"] = gen.PtrOf(IstioCertificateAuthority_STATUSGenerator()) + gens["Components"] = gen.PtrOf(IstioComponents_STATUSGenerator()) +} + +func Test_ManagedCluster_WhenConvertedToHub_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + parameters.MinSuccessfulTests = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedCluster to hub returns original", + prop.ForAll(RunResourceConversionTestForManagedCluster, ManagedClusterGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunResourceConversionTestForManagedCluster tests if a specific instance of ManagedCluster round trips to the hub storage version and back losslessly +func RunResourceConversionTestForManagedCluster(subject ManagedCluster) string { + // Copy subject to make sure conversion doesn't modify it + copied := subject.DeepCopy() + + // Convert to our hub version + var hub storage.ManagedCluster + err := copied.ConvertTo(&hub) + if err != nil { + return err.Error() + } + + // Convert from our hub version + var actual ManagedCluster + err = actual.ConvertFrom(&hub) + if err != nil { + return err.Error() + } + + // Compare actual with what we started with + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ManagedCluster_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedCluster to ManagedCluster via AssignProperties_To_ManagedCluster & AssignProperties_From_ManagedCluster returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedCluster, ManagedClusterGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedCluster tests if a specific instance of ManagedCluster can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedCluster(subject ManagedCluster) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedCluster + err := copied.AssignProperties_To_ManagedCluster(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedCluster + err = actual.AssignProperties_From_ManagedCluster(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ManagedCluster_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 20 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedCluster via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedCluster, ManagedClusterGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedCluster runs a test to see if a specific instance of ManagedCluster round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedCluster(subject ManagedCluster) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedCluster + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedCluster instances for property testing - lazily instantiated by ManagedClusterGenerator() +var managedClusterGenerator gopter.Gen + +// ManagedClusterGenerator returns a generator of ManagedCluster instances for property testing. +func ManagedClusterGenerator() gopter.Gen { + if managedClusterGenerator != nil { + return managedClusterGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForManagedCluster(generators) + managedClusterGenerator = gen.Struct(reflect.TypeOf(ManagedCluster{}), generators) + + return managedClusterGenerator +} + +// AddRelatedPropertyGeneratorsForManagedCluster is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedCluster(gens map[string]gopter.Gen) { + gens["Spec"] = ManagedCluster_SpecGenerator() + gens["Status"] = ManagedCluster_STATUSGenerator() +} + +func Test_ManagedClusterAADProfile_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterAADProfile to ManagedClusterAADProfile via AssignProperties_To_ManagedClusterAADProfile & AssignProperties_From_ManagedClusterAADProfile returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterAADProfile, ManagedClusterAADProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterAADProfile tests if a specific instance of ManagedClusterAADProfile can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterAADProfile(subject ManagedClusterAADProfile) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterAADProfile + err := copied.AssignProperties_To_ManagedClusterAADProfile(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterAADProfile + err = actual.AssignProperties_From_ManagedClusterAADProfile(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ManagedClusterAADProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterAADProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterAADProfile, ManagedClusterAADProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterAADProfile runs a test to see if a specific instance of ManagedClusterAADProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterAADProfile(subject ManagedClusterAADProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterAADProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterAADProfile instances for property testing - lazily instantiated by +// ManagedClusterAADProfileGenerator() +var managedClusterAADProfileGenerator gopter.Gen + +// ManagedClusterAADProfileGenerator returns a generator of ManagedClusterAADProfile instances for property testing. +func ManagedClusterAADProfileGenerator() gopter.Gen { + if managedClusterAADProfileGenerator != nil { + return managedClusterAADProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterAADProfile(generators) + managedClusterAADProfileGenerator = gen.Struct(reflect.TypeOf(ManagedClusterAADProfile{}), generators) + + return managedClusterAADProfileGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterAADProfile is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterAADProfile(gens map[string]gopter.Gen) { + gens["AdminGroupObjectIDs"] = gen.SliceOf(gen.AlphaString()) + gens["ClientAppID"] = gen.PtrOf(gen.AlphaString()) + gens["EnableAzureRBAC"] = gen.PtrOf(gen.Bool()) + gens["Managed"] = gen.PtrOf(gen.Bool()) + gens["ServerAppID"] = gen.PtrOf(gen.AlphaString()) + gens["ServerAppSecret"] = gen.PtrOf(gen.AlphaString()) + gens["TenantID"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ManagedClusterAADProfile_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterAADProfile_STATUS to ManagedClusterAADProfile_STATUS via AssignProperties_To_ManagedClusterAADProfile_STATUS & AssignProperties_From_ManagedClusterAADProfile_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterAADProfile_STATUS, ManagedClusterAADProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterAADProfile_STATUS tests if a specific instance of ManagedClusterAADProfile_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterAADProfile_STATUS(subject ManagedClusterAADProfile_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterAADProfile_STATUS + err := copied.AssignProperties_To_ManagedClusterAADProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterAADProfile_STATUS + err = actual.AssignProperties_From_ManagedClusterAADProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ManagedClusterAADProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterAADProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterAADProfile_STATUS, ManagedClusterAADProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterAADProfile_STATUS runs a test to see if a specific instance of ManagedClusterAADProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterAADProfile_STATUS(subject ManagedClusterAADProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterAADProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterAADProfile_STATUS instances for property testing - lazily instantiated by +// ManagedClusterAADProfile_STATUSGenerator() +var managedClusterAADProfile_STATUSGenerator gopter.Gen + +// ManagedClusterAADProfile_STATUSGenerator returns a generator of ManagedClusterAADProfile_STATUS instances for property testing. +func ManagedClusterAADProfile_STATUSGenerator() gopter.Gen { + if managedClusterAADProfile_STATUSGenerator != nil { + return managedClusterAADProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterAADProfile_STATUS(generators) + managedClusterAADProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterAADProfile_STATUS{}), generators) + + return managedClusterAADProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterAADProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterAADProfile_STATUS(gens map[string]gopter.Gen) { + gens["AdminGroupObjectIDs"] = gen.SliceOf(gen.AlphaString()) + gens["ClientAppID"] = gen.PtrOf(gen.AlphaString()) + gens["EnableAzureRBAC"] = gen.PtrOf(gen.Bool()) + gens["Managed"] = gen.PtrOf(gen.Bool()) + gens["ServerAppID"] = gen.PtrOf(gen.AlphaString()) + gens["ServerAppSecret"] = gen.PtrOf(gen.AlphaString()) + gens["TenantID"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ManagedClusterAPIServerAccessProfile_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterAPIServerAccessProfile to ManagedClusterAPIServerAccessProfile via AssignProperties_To_ManagedClusterAPIServerAccessProfile & AssignProperties_From_ManagedClusterAPIServerAccessProfile returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterAPIServerAccessProfile, ManagedClusterAPIServerAccessProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterAPIServerAccessProfile tests if a specific instance of ManagedClusterAPIServerAccessProfile can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterAPIServerAccessProfile(subject ManagedClusterAPIServerAccessProfile) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterAPIServerAccessProfile + err := copied.AssignProperties_To_ManagedClusterAPIServerAccessProfile(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterAPIServerAccessProfile + err = actual.AssignProperties_From_ManagedClusterAPIServerAccessProfile(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ManagedClusterAPIServerAccessProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterAPIServerAccessProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterAPIServerAccessProfile, ManagedClusterAPIServerAccessProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterAPIServerAccessProfile runs a test to see if a specific instance of ManagedClusterAPIServerAccessProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterAPIServerAccessProfile(subject ManagedClusterAPIServerAccessProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterAPIServerAccessProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterAPIServerAccessProfile instances for property testing - lazily instantiated by +// ManagedClusterAPIServerAccessProfileGenerator() +var managedClusterAPIServerAccessProfileGenerator gopter.Gen + +// ManagedClusterAPIServerAccessProfileGenerator returns a generator of ManagedClusterAPIServerAccessProfile instances for property testing. +func ManagedClusterAPIServerAccessProfileGenerator() gopter.Gen { + if managedClusterAPIServerAccessProfileGenerator != nil { + return managedClusterAPIServerAccessProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterAPIServerAccessProfile(generators) + managedClusterAPIServerAccessProfileGenerator = gen.Struct(reflect.TypeOf(ManagedClusterAPIServerAccessProfile{}), generators) + + return managedClusterAPIServerAccessProfileGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterAPIServerAccessProfile is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterAPIServerAccessProfile(gens map[string]gopter.Gen) { + gens["AuthorizedIPRanges"] = gen.SliceOf(gen.AlphaString()) + gens["DisableRunCommand"] = gen.PtrOf(gen.Bool()) + gens["EnablePrivateCluster"] = gen.PtrOf(gen.Bool()) + gens["EnablePrivateClusterPublicFQDN"] = gen.PtrOf(gen.Bool()) + gens["PrivateDNSZone"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ManagedClusterAPIServerAccessProfile_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterAPIServerAccessProfile_STATUS to ManagedClusterAPIServerAccessProfile_STATUS via AssignProperties_To_ManagedClusterAPIServerAccessProfile_STATUS & AssignProperties_From_ManagedClusterAPIServerAccessProfile_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterAPIServerAccessProfile_STATUS, ManagedClusterAPIServerAccessProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterAPIServerAccessProfile_STATUS tests if a specific instance of ManagedClusterAPIServerAccessProfile_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterAPIServerAccessProfile_STATUS(subject ManagedClusterAPIServerAccessProfile_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterAPIServerAccessProfile_STATUS + err := copied.AssignProperties_To_ManagedClusterAPIServerAccessProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterAPIServerAccessProfile_STATUS + err = actual.AssignProperties_From_ManagedClusterAPIServerAccessProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ManagedClusterAPIServerAccessProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterAPIServerAccessProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterAPIServerAccessProfile_STATUS, ManagedClusterAPIServerAccessProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterAPIServerAccessProfile_STATUS runs a test to see if a specific instance of ManagedClusterAPIServerAccessProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterAPIServerAccessProfile_STATUS(subject ManagedClusterAPIServerAccessProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterAPIServerAccessProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterAPIServerAccessProfile_STATUS instances for property testing - lazily instantiated by +// ManagedClusterAPIServerAccessProfile_STATUSGenerator() +var managedClusterAPIServerAccessProfile_STATUSGenerator gopter.Gen + +// ManagedClusterAPIServerAccessProfile_STATUSGenerator returns a generator of ManagedClusterAPIServerAccessProfile_STATUS instances for property testing. +func ManagedClusterAPIServerAccessProfile_STATUSGenerator() gopter.Gen { + if managedClusterAPIServerAccessProfile_STATUSGenerator != nil { + return managedClusterAPIServerAccessProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterAPIServerAccessProfile_STATUS(generators) + managedClusterAPIServerAccessProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterAPIServerAccessProfile_STATUS{}), generators) + + return managedClusterAPIServerAccessProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterAPIServerAccessProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterAPIServerAccessProfile_STATUS(gens map[string]gopter.Gen) { + gens["AuthorizedIPRanges"] = gen.SliceOf(gen.AlphaString()) + gens["DisableRunCommand"] = gen.PtrOf(gen.Bool()) + gens["EnablePrivateCluster"] = gen.PtrOf(gen.Bool()) + gens["EnablePrivateClusterPublicFQDN"] = gen.PtrOf(gen.Bool()) + gens["PrivateDNSZone"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ManagedClusterAddonProfile_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterAddonProfile to ManagedClusterAddonProfile via AssignProperties_To_ManagedClusterAddonProfile & AssignProperties_From_ManagedClusterAddonProfile returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterAddonProfile, ManagedClusterAddonProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterAddonProfile tests if a specific instance of ManagedClusterAddonProfile can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterAddonProfile(subject ManagedClusterAddonProfile) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterAddonProfile + err := copied.AssignProperties_To_ManagedClusterAddonProfile(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterAddonProfile + err = actual.AssignProperties_From_ManagedClusterAddonProfile(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ManagedClusterAddonProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterAddonProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterAddonProfile, ManagedClusterAddonProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterAddonProfile runs a test to see if a specific instance of ManagedClusterAddonProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterAddonProfile(subject ManagedClusterAddonProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterAddonProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterAddonProfile instances for property testing - lazily instantiated by +// ManagedClusterAddonProfileGenerator() +var managedClusterAddonProfileGenerator gopter.Gen + +// ManagedClusterAddonProfileGenerator returns a generator of ManagedClusterAddonProfile instances for property testing. +func ManagedClusterAddonProfileGenerator() gopter.Gen { + if managedClusterAddonProfileGenerator != nil { + return managedClusterAddonProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterAddonProfile(generators) + managedClusterAddonProfileGenerator = gen.Struct(reflect.TypeOf(ManagedClusterAddonProfile{}), generators) + + return managedClusterAddonProfileGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterAddonProfile is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterAddonProfile(gens map[string]gopter.Gen) { + gens["Config"] = gen.MapOf( + gen.AlphaString(), + gen.AlphaString()) + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +func Test_ManagedClusterAddonProfile_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterAddonProfile_STATUS to ManagedClusterAddonProfile_STATUS via AssignProperties_To_ManagedClusterAddonProfile_STATUS & AssignProperties_From_ManagedClusterAddonProfile_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterAddonProfile_STATUS, ManagedClusterAddonProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterAddonProfile_STATUS tests if a specific instance of ManagedClusterAddonProfile_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterAddonProfile_STATUS(subject ManagedClusterAddonProfile_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterAddonProfile_STATUS + err := copied.AssignProperties_To_ManagedClusterAddonProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterAddonProfile_STATUS + err = actual.AssignProperties_From_ManagedClusterAddonProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ManagedClusterAddonProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterAddonProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterAddonProfile_STATUS, ManagedClusterAddonProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterAddonProfile_STATUS runs a test to see if a specific instance of ManagedClusterAddonProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterAddonProfile_STATUS(subject ManagedClusterAddonProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterAddonProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterAddonProfile_STATUS instances for property testing - lazily instantiated by +// ManagedClusterAddonProfile_STATUSGenerator() +var managedClusterAddonProfile_STATUSGenerator gopter.Gen + +// ManagedClusterAddonProfile_STATUSGenerator returns a generator of ManagedClusterAddonProfile_STATUS instances for property testing. +// We first initialize managedClusterAddonProfile_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func ManagedClusterAddonProfile_STATUSGenerator() gopter.Gen { + if managedClusterAddonProfile_STATUSGenerator != nil { + return managedClusterAddonProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterAddonProfile_STATUS(generators) + managedClusterAddonProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterAddonProfile_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterAddonProfile_STATUS(generators) + AddRelatedPropertyGeneratorsForManagedClusterAddonProfile_STATUS(generators) + managedClusterAddonProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterAddonProfile_STATUS{}), generators) + + return managedClusterAddonProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterAddonProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterAddonProfile_STATUS(gens map[string]gopter.Gen) { + gens["Config"] = gen.MapOf( + gen.AlphaString(), + gen.AlphaString()) + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +// AddRelatedPropertyGeneratorsForManagedClusterAddonProfile_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterAddonProfile_STATUS(gens map[string]gopter.Gen) { + gens["Identity"] = gen.PtrOf(UserAssignedIdentity_STATUSGenerator()) +} + +func Test_ManagedClusterAgentPoolProfile_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterAgentPoolProfile to ManagedClusterAgentPoolProfile via AssignProperties_To_ManagedClusterAgentPoolProfile & AssignProperties_From_ManagedClusterAgentPoolProfile returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterAgentPoolProfile, ManagedClusterAgentPoolProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterAgentPoolProfile tests if a specific instance of ManagedClusterAgentPoolProfile can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterAgentPoolProfile(subject ManagedClusterAgentPoolProfile) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterAgentPoolProfile + err := copied.AssignProperties_To_ManagedClusterAgentPoolProfile(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterAgentPoolProfile + err = actual.AssignProperties_From_ManagedClusterAgentPoolProfile(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ManagedClusterAgentPoolProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterAgentPoolProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterAgentPoolProfile, ManagedClusterAgentPoolProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterAgentPoolProfile runs a test to see if a specific instance of ManagedClusterAgentPoolProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterAgentPoolProfile(subject ManagedClusterAgentPoolProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterAgentPoolProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterAgentPoolProfile instances for property testing - lazily instantiated by +// ManagedClusterAgentPoolProfileGenerator() +var managedClusterAgentPoolProfileGenerator gopter.Gen + +// ManagedClusterAgentPoolProfileGenerator returns a generator of ManagedClusterAgentPoolProfile instances for property testing. +// We first initialize managedClusterAgentPoolProfileGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func ManagedClusterAgentPoolProfileGenerator() gopter.Gen { + if managedClusterAgentPoolProfileGenerator != nil { + return managedClusterAgentPoolProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterAgentPoolProfile(generators) + managedClusterAgentPoolProfileGenerator = gen.Struct(reflect.TypeOf(ManagedClusterAgentPoolProfile{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterAgentPoolProfile(generators) + AddRelatedPropertyGeneratorsForManagedClusterAgentPoolProfile(generators) + managedClusterAgentPoolProfileGenerator = gen.Struct(reflect.TypeOf(ManagedClusterAgentPoolProfile{}), generators) + + return managedClusterAgentPoolProfileGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterAgentPoolProfile is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterAgentPoolProfile(gens map[string]gopter.Gen) { + gens["AvailabilityZones"] = gen.SliceOf(gen.AlphaString()) + gens["Count"] = gen.PtrOf(gen.Int()) + gens["EnableAutoScaling"] = gen.PtrOf(gen.Bool()) + gens["EnableEncryptionAtHost"] = gen.PtrOf(gen.Bool()) + gens["EnableFIPS"] = gen.PtrOf(gen.Bool()) + gens["EnableNodePublicIP"] = gen.PtrOf(gen.Bool()) + gens["EnableUltraSSD"] = gen.PtrOf(gen.Bool()) + gens["GpuInstanceProfile"] = gen.PtrOf(gen.OneConstOf( + GPUInstanceProfile_MIG1G, + GPUInstanceProfile_MIG2G, + GPUInstanceProfile_MIG3G, + GPUInstanceProfile_MIG4G, + GPUInstanceProfile_MIG7G)) + gens["KubeletDiskType"] = gen.PtrOf(gen.OneConstOf(KubeletDiskType_OS, KubeletDiskType_Temporary)) + gens["MaxCount"] = gen.PtrOf(gen.Int()) + gens["MaxPods"] = gen.PtrOf(gen.Int()) + gens["MinCount"] = gen.PtrOf(gen.Int()) + gens["Mode"] = gen.PtrOf(gen.OneConstOf(AgentPoolMode_System, AgentPoolMode_User)) + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["NodeLabels"] = gen.MapOf( + gen.AlphaString(), + gen.AlphaString()) + gens["NodeTaints"] = gen.SliceOf(gen.AlphaString()) + gens["OrchestratorVersion"] = gen.PtrOf(gen.AlphaString()) + gens["OsDiskSizeGB"] = gen.PtrOf(gen.Int().Map(func(it int) ContainerServiceOSDisk { + return ContainerServiceOSDisk(it) + })) + gens["OsDiskType"] = gen.PtrOf(gen.OneConstOf(OSDiskType_Ephemeral, OSDiskType_Managed)) + gens["OsSKU"] = gen.PtrOf(gen.OneConstOf( + OSSKU_AzureLinux, + OSSKU_CBLMariner, + OSSKU_Ubuntu, + OSSKU_Windows2019, + OSSKU_Windows2022)) + gens["OsType"] = gen.PtrOf(gen.OneConstOf(OSType_Linux, OSType_Windows)) + gens["ScaleDownMode"] = gen.PtrOf(gen.OneConstOf(ScaleDownMode_Deallocate, ScaleDownMode_Delete)) + gens["ScaleSetEvictionPolicy"] = gen.PtrOf(gen.OneConstOf(ScaleSetEvictionPolicy_Deallocate, ScaleSetEvictionPolicy_Delete)) + gens["ScaleSetPriority"] = gen.PtrOf(gen.OneConstOf(ScaleSetPriority_Regular, ScaleSetPriority_Spot)) + gens["SpotMaxPrice"] = gen.PtrOf(gen.Float64()) + gens["Tags"] = gen.MapOf( + gen.AlphaString(), + gen.AlphaString()) + gens["Type"] = gen.PtrOf(gen.OneConstOf(AgentPoolType_AvailabilitySet, AgentPoolType_VirtualMachineScaleSets)) + gens["VmSize"] = gen.PtrOf(gen.AlphaString()) + gens["WorkloadRuntime"] = gen.PtrOf(gen.OneConstOf(WorkloadRuntime_OCIContainer, WorkloadRuntime_WasmWasi)) +} + +// AddRelatedPropertyGeneratorsForManagedClusterAgentPoolProfile is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterAgentPoolProfile(gens map[string]gopter.Gen) { + gens["CreationData"] = gen.PtrOf(CreationDataGenerator()) + gens["KubeletConfig"] = gen.PtrOf(KubeletConfigGenerator()) + gens["LinuxOSConfig"] = gen.PtrOf(LinuxOSConfigGenerator()) + gens["NetworkProfile"] = gen.PtrOf(AgentPoolNetworkProfileGenerator()) + gens["PowerState"] = gen.PtrOf(PowerStateGenerator()) + gens["SecurityProfile"] = gen.PtrOf(AgentPoolSecurityProfileGenerator()) + gens["UpgradeSettings"] = gen.PtrOf(AgentPoolUpgradeSettingsGenerator()) + gens["WindowsProfile"] = gen.PtrOf(AgentPoolWindowsProfileGenerator()) +} + +func Test_ManagedClusterAgentPoolProfile_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterAgentPoolProfile_STATUS to ManagedClusterAgentPoolProfile_STATUS via AssignProperties_To_ManagedClusterAgentPoolProfile_STATUS & AssignProperties_From_ManagedClusterAgentPoolProfile_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterAgentPoolProfile_STATUS, ManagedClusterAgentPoolProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterAgentPoolProfile_STATUS tests if a specific instance of ManagedClusterAgentPoolProfile_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterAgentPoolProfile_STATUS(subject ManagedClusterAgentPoolProfile_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterAgentPoolProfile_STATUS + err := copied.AssignProperties_To_ManagedClusterAgentPoolProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterAgentPoolProfile_STATUS + err = actual.AssignProperties_From_ManagedClusterAgentPoolProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ManagedClusterAgentPoolProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterAgentPoolProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterAgentPoolProfile_STATUS, ManagedClusterAgentPoolProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterAgentPoolProfile_STATUS runs a test to see if a specific instance of ManagedClusterAgentPoolProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterAgentPoolProfile_STATUS(subject ManagedClusterAgentPoolProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterAgentPoolProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterAgentPoolProfile_STATUS instances for property testing - lazily instantiated by +// ManagedClusterAgentPoolProfile_STATUSGenerator() +var managedClusterAgentPoolProfile_STATUSGenerator gopter.Gen + +// ManagedClusterAgentPoolProfile_STATUSGenerator returns a generator of ManagedClusterAgentPoolProfile_STATUS instances for property testing. +// We first initialize managedClusterAgentPoolProfile_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func ManagedClusterAgentPoolProfile_STATUSGenerator() gopter.Gen { + if managedClusterAgentPoolProfile_STATUSGenerator != nil { + return managedClusterAgentPoolProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterAgentPoolProfile_STATUS(generators) + managedClusterAgentPoolProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterAgentPoolProfile_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterAgentPoolProfile_STATUS(generators) + AddRelatedPropertyGeneratorsForManagedClusterAgentPoolProfile_STATUS(generators) + managedClusterAgentPoolProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterAgentPoolProfile_STATUS{}), generators) + + return managedClusterAgentPoolProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterAgentPoolProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterAgentPoolProfile_STATUS(gens map[string]gopter.Gen) { + gens["AvailabilityZones"] = gen.SliceOf(gen.AlphaString()) + gens["CapacityReservationGroupID"] = gen.PtrOf(gen.AlphaString()) + gens["Count"] = gen.PtrOf(gen.Int()) + gens["CurrentOrchestratorVersion"] = gen.PtrOf(gen.AlphaString()) + gens["ETag"] = gen.PtrOf(gen.AlphaString()) + gens["EnableAutoScaling"] = gen.PtrOf(gen.Bool()) + gens["EnableEncryptionAtHost"] = gen.PtrOf(gen.Bool()) + gens["EnableFIPS"] = gen.PtrOf(gen.Bool()) + gens["EnableNodePublicIP"] = gen.PtrOf(gen.Bool()) + gens["EnableUltraSSD"] = gen.PtrOf(gen.Bool()) + gens["GpuInstanceProfile"] = gen.PtrOf(gen.OneConstOf( + GPUInstanceProfile_STATUS_MIG1G, + GPUInstanceProfile_STATUS_MIG2G, + GPUInstanceProfile_STATUS_MIG3G, + GPUInstanceProfile_STATUS_MIG4G, + GPUInstanceProfile_STATUS_MIG7G)) + gens["HostGroupID"] = gen.PtrOf(gen.AlphaString()) + gens["KubeletDiskType"] = gen.PtrOf(gen.OneConstOf(KubeletDiskType_STATUS_OS, KubeletDiskType_STATUS_Temporary)) + gens["MaxCount"] = gen.PtrOf(gen.Int()) + gens["MaxPods"] = gen.PtrOf(gen.Int()) + gens["MinCount"] = gen.PtrOf(gen.Int()) + gens["Mode"] = gen.PtrOf(gen.OneConstOf(AgentPoolMode_STATUS_System, AgentPoolMode_STATUS_User)) + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["NodeImageVersion"] = gen.PtrOf(gen.AlphaString()) + gens["NodeLabels"] = gen.MapOf( + gen.AlphaString(), + gen.AlphaString()) + gens["NodePublicIPPrefixID"] = gen.PtrOf(gen.AlphaString()) + gens["NodeTaints"] = gen.SliceOf(gen.AlphaString()) + gens["OrchestratorVersion"] = gen.PtrOf(gen.AlphaString()) + gens["OsDiskSizeGB"] = gen.PtrOf(gen.Int()) + gens["OsDiskType"] = gen.PtrOf(gen.OneConstOf(OSDiskType_STATUS_Ephemeral, OSDiskType_STATUS_Managed)) + gens["OsSKU"] = gen.PtrOf(gen.OneConstOf( + OSSKU_STATUS_AzureLinux, + OSSKU_STATUS_CBLMariner, + OSSKU_STATUS_Ubuntu, + OSSKU_STATUS_Windows2019, + OSSKU_STATUS_Windows2022)) + gens["OsType"] = gen.PtrOf(gen.OneConstOf(OSType_STATUS_Linux, OSType_STATUS_Windows)) + gens["PodSubnetID"] = gen.PtrOf(gen.AlphaString()) + gens["ProvisioningState"] = gen.PtrOf(gen.AlphaString()) + gens["ProximityPlacementGroupID"] = gen.PtrOf(gen.AlphaString()) + gens["ScaleDownMode"] = gen.PtrOf(gen.OneConstOf(ScaleDownMode_STATUS_Deallocate, ScaleDownMode_STATUS_Delete)) + gens["ScaleSetEvictionPolicy"] = gen.PtrOf(gen.OneConstOf(ScaleSetEvictionPolicy_STATUS_Deallocate, ScaleSetEvictionPolicy_STATUS_Delete)) + gens["ScaleSetPriority"] = gen.PtrOf(gen.OneConstOf(ScaleSetPriority_STATUS_Regular, ScaleSetPriority_STATUS_Spot)) + gens["SpotMaxPrice"] = gen.PtrOf(gen.Float64()) + gens["Tags"] = gen.MapOf( + gen.AlphaString(), + gen.AlphaString()) + gens["Type"] = gen.PtrOf(gen.OneConstOf(AgentPoolType_STATUS_AvailabilitySet, AgentPoolType_STATUS_VirtualMachineScaleSets)) + gens["VmSize"] = gen.PtrOf(gen.AlphaString()) + gens["VnetSubnetID"] = gen.PtrOf(gen.AlphaString()) + gens["WorkloadRuntime"] = gen.PtrOf(gen.OneConstOf(WorkloadRuntime_STATUS_OCIContainer, WorkloadRuntime_STATUS_WasmWasi)) +} + +// AddRelatedPropertyGeneratorsForManagedClusterAgentPoolProfile_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterAgentPoolProfile_STATUS(gens map[string]gopter.Gen) { + gens["CreationData"] = gen.PtrOf(CreationData_STATUSGenerator()) + gens["KubeletConfig"] = gen.PtrOf(KubeletConfig_STATUSGenerator()) + gens["LinuxOSConfig"] = gen.PtrOf(LinuxOSConfig_STATUSGenerator()) + gens["NetworkProfile"] = gen.PtrOf(AgentPoolNetworkProfile_STATUSGenerator()) + gens["PowerState"] = gen.PtrOf(PowerState_STATUSGenerator()) + gens["SecurityProfile"] = gen.PtrOf(AgentPoolSecurityProfile_STATUSGenerator()) + gens["UpgradeSettings"] = gen.PtrOf(AgentPoolUpgradeSettings_STATUSGenerator()) + gens["WindowsProfile"] = gen.PtrOf(AgentPoolWindowsProfile_STATUSGenerator()) +} + +func Test_ManagedClusterAutoUpgradeProfile_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterAutoUpgradeProfile to ManagedClusterAutoUpgradeProfile via AssignProperties_To_ManagedClusterAutoUpgradeProfile & AssignProperties_From_ManagedClusterAutoUpgradeProfile returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterAutoUpgradeProfile, ManagedClusterAutoUpgradeProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterAutoUpgradeProfile tests if a specific instance of ManagedClusterAutoUpgradeProfile can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterAutoUpgradeProfile(subject ManagedClusterAutoUpgradeProfile) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterAutoUpgradeProfile + err := copied.AssignProperties_To_ManagedClusterAutoUpgradeProfile(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterAutoUpgradeProfile + err = actual.AssignProperties_From_ManagedClusterAutoUpgradeProfile(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ManagedClusterAutoUpgradeProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterAutoUpgradeProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterAutoUpgradeProfile, ManagedClusterAutoUpgradeProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterAutoUpgradeProfile runs a test to see if a specific instance of ManagedClusterAutoUpgradeProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterAutoUpgradeProfile(subject ManagedClusterAutoUpgradeProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterAutoUpgradeProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterAutoUpgradeProfile instances for property testing - lazily instantiated by +// ManagedClusterAutoUpgradeProfileGenerator() +var managedClusterAutoUpgradeProfileGenerator gopter.Gen + +// ManagedClusterAutoUpgradeProfileGenerator returns a generator of ManagedClusterAutoUpgradeProfile instances for property testing. +func ManagedClusterAutoUpgradeProfileGenerator() gopter.Gen { + if managedClusterAutoUpgradeProfileGenerator != nil { + return managedClusterAutoUpgradeProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterAutoUpgradeProfile(generators) + managedClusterAutoUpgradeProfileGenerator = gen.Struct(reflect.TypeOf(ManagedClusterAutoUpgradeProfile{}), generators) + + return managedClusterAutoUpgradeProfileGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterAutoUpgradeProfile is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterAutoUpgradeProfile(gens map[string]gopter.Gen) { + gens["NodeOSUpgradeChannel"] = gen.PtrOf(gen.OneConstOf( + ManagedClusterAutoUpgradeProfile_NodeOSUpgradeChannel_NodeImage, + ManagedClusterAutoUpgradeProfile_NodeOSUpgradeChannel_None, + ManagedClusterAutoUpgradeProfile_NodeOSUpgradeChannel_SecurityPatch, + ManagedClusterAutoUpgradeProfile_NodeOSUpgradeChannel_Unmanaged)) + gens["UpgradeChannel"] = gen.PtrOf(gen.OneConstOf( + ManagedClusterAutoUpgradeProfile_UpgradeChannel_NodeImage, + ManagedClusterAutoUpgradeProfile_UpgradeChannel_None, + ManagedClusterAutoUpgradeProfile_UpgradeChannel_Patch, + ManagedClusterAutoUpgradeProfile_UpgradeChannel_Rapid, + ManagedClusterAutoUpgradeProfile_UpgradeChannel_Stable)) +} + +func Test_ManagedClusterAutoUpgradeProfile_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterAutoUpgradeProfile_STATUS to ManagedClusterAutoUpgradeProfile_STATUS via AssignProperties_To_ManagedClusterAutoUpgradeProfile_STATUS & AssignProperties_From_ManagedClusterAutoUpgradeProfile_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterAutoUpgradeProfile_STATUS, ManagedClusterAutoUpgradeProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterAutoUpgradeProfile_STATUS tests if a specific instance of ManagedClusterAutoUpgradeProfile_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterAutoUpgradeProfile_STATUS(subject ManagedClusterAutoUpgradeProfile_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterAutoUpgradeProfile_STATUS + err := copied.AssignProperties_To_ManagedClusterAutoUpgradeProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterAutoUpgradeProfile_STATUS + err = actual.AssignProperties_From_ManagedClusterAutoUpgradeProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ManagedClusterAutoUpgradeProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterAutoUpgradeProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterAutoUpgradeProfile_STATUS, ManagedClusterAutoUpgradeProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterAutoUpgradeProfile_STATUS runs a test to see if a specific instance of ManagedClusterAutoUpgradeProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterAutoUpgradeProfile_STATUS(subject ManagedClusterAutoUpgradeProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterAutoUpgradeProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterAutoUpgradeProfile_STATUS instances for property testing - lazily instantiated by +// ManagedClusterAutoUpgradeProfile_STATUSGenerator() +var managedClusterAutoUpgradeProfile_STATUSGenerator gopter.Gen + +// ManagedClusterAutoUpgradeProfile_STATUSGenerator returns a generator of ManagedClusterAutoUpgradeProfile_STATUS instances for property testing. +func ManagedClusterAutoUpgradeProfile_STATUSGenerator() gopter.Gen { + if managedClusterAutoUpgradeProfile_STATUSGenerator != nil { + return managedClusterAutoUpgradeProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterAutoUpgradeProfile_STATUS(generators) + managedClusterAutoUpgradeProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterAutoUpgradeProfile_STATUS{}), generators) + + return managedClusterAutoUpgradeProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterAutoUpgradeProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterAutoUpgradeProfile_STATUS(gens map[string]gopter.Gen) { + gens["NodeOSUpgradeChannel"] = gen.PtrOf(gen.OneConstOf( + ManagedClusterAutoUpgradeProfile_NodeOSUpgradeChannel_STATUS_NodeImage, + ManagedClusterAutoUpgradeProfile_NodeOSUpgradeChannel_STATUS_None, + ManagedClusterAutoUpgradeProfile_NodeOSUpgradeChannel_STATUS_SecurityPatch, + ManagedClusterAutoUpgradeProfile_NodeOSUpgradeChannel_STATUS_Unmanaged)) + gens["UpgradeChannel"] = gen.PtrOf(gen.OneConstOf( + ManagedClusterAutoUpgradeProfile_UpgradeChannel_STATUS_NodeImage, + ManagedClusterAutoUpgradeProfile_UpgradeChannel_STATUS_None, + ManagedClusterAutoUpgradeProfile_UpgradeChannel_STATUS_Patch, + ManagedClusterAutoUpgradeProfile_UpgradeChannel_STATUS_Rapid, + ManagedClusterAutoUpgradeProfile_UpgradeChannel_STATUS_Stable)) +} + +func Test_ManagedClusterAzureMonitorProfile_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterAzureMonitorProfile to ManagedClusterAzureMonitorProfile via AssignProperties_To_ManagedClusterAzureMonitorProfile & AssignProperties_From_ManagedClusterAzureMonitorProfile returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterAzureMonitorProfile, ManagedClusterAzureMonitorProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterAzureMonitorProfile tests if a specific instance of ManagedClusterAzureMonitorProfile can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterAzureMonitorProfile(subject ManagedClusterAzureMonitorProfile) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterAzureMonitorProfile + err := copied.AssignProperties_To_ManagedClusterAzureMonitorProfile(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterAzureMonitorProfile + err = actual.AssignProperties_From_ManagedClusterAzureMonitorProfile(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ManagedClusterAzureMonitorProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterAzureMonitorProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterAzureMonitorProfile, ManagedClusterAzureMonitorProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterAzureMonitorProfile runs a test to see if a specific instance of ManagedClusterAzureMonitorProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterAzureMonitorProfile(subject ManagedClusterAzureMonitorProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterAzureMonitorProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterAzureMonitorProfile instances for property testing - lazily instantiated by +// ManagedClusterAzureMonitorProfileGenerator() +var managedClusterAzureMonitorProfileGenerator gopter.Gen + +// ManagedClusterAzureMonitorProfileGenerator returns a generator of ManagedClusterAzureMonitorProfile instances for property testing. +func ManagedClusterAzureMonitorProfileGenerator() gopter.Gen { + if managedClusterAzureMonitorProfileGenerator != nil { + return managedClusterAzureMonitorProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForManagedClusterAzureMonitorProfile(generators) + managedClusterAzureMonitorProfileGenerator = gen.Struct(reflect.TypeOf(ManagedClusterAzureMonitorProfile{}), generators) + + return managedClusterAzureMonitorProfileGenerator +} + +// AddRelatedPropertyGeneratorsForManagedClusterAzureMonitorProfile is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterAzureMonitorProfile(gens map[string]gopter.Gen) { + gens["Metrics"] = gen.PtrOf(ManagedClusterAzureMonitorProfileMetricsGenerator()) +} + +func Test_ManagedClusterAzureMonitorProfileKubeStateMetrics_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterAzureMonitorProfileKubeStateMetrics to ManagedClusterAzureMonitorProfileKubeStateMetrics via AssignProperties_To_ManagedClusterAzureMonitorProfileKubeStateMetrics & AssignProperties_From_ManagedClusterAzureMonitorProfileKubeStateMetrics returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterAzureMonitorProfileKubeStateMetrics, ManagedClusterAzureMonitorProfileKubeStateMetricsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterAzureMonitorProfileKubeStateMetrics tests if a specific instance of ManagedClusterAzureMonitorProfileKubeStateMetrics can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterAzureMonitorProfileKubeStateMetrics(subject ManagedClusterAzureMonitorProfileKubeStateMetrics) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterAzureMonitorProfileKubeStateMetrics + err := copied.AssignProperties_To_ManagedClusterAzureMonitorProfileKubeStateMetrics(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterAzureMonitorProfileKubeStateMetrics + err = actual.AssignProperties_From_ManagedClusterAzureMonitorProfileKubeStateMetrics(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ManagedClusterAzureMonitorProfileKubeStateMetrics_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterAzureMonitorProfileKubeStateMetrics via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterAzureMonitorProfileKubeStateMetrics, ManagedClusterAzureMonitorProfileKubeStateMetricsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterAzureMonitorProfileKubeStateMetrics runs a test to see if a specific instance of ManagedClusterAzureMonitorProfileKubeStateMetrics round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterAzureMonitorProfileKubeStateMetrics(subject ManagedClusterAzureMonitorProfileKubeStateMetrics) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterAzureMonitorProfileKubeStateMetrics + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterAzureMonitorProfileKubeStateMetrics instances for property testing - lazily instantiated +// by ManagedClusterAzureMonitorProfileKubeStateMetricsGenerator() +var managedClusterAzureMonitorProfileKubeStateMetricsGenerator gopter.Gen + +// ManagedClusterAzureMonitorProfileKubeStateMetricsGenerator returns a generator of ManagedClusterAzureMonitorProfileKubeStateMetrics instances for property testing. +func ManagedClusterAzureMonitorProfileKubeStateMetricsGenerator() gopter.Gen { + if managedClusterAzureMonitorProfileKubeStateMetricsGenerator != nil { + return managedClusterAzureMonitorProfileKubeStateMetricsGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterAzureMonitorProfileKubeStateMetrics(generators) + managedClusterAzureMonitorProfileKubeStateMetricsGenerator = gen.Struct(reflect.TypeOf(ManagedClusterAzureMonitorProfileKubeStateMetrics{}), generators) + + return managedClusterAzureMonitorProfileKubeStateMetricsGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterAzureMonitorProfileKubeStateMetrics is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterAzureMonitorProfileKubeStateMetrics(gens map[string]gopter.Gen) { + gens["MetricAnnotationsAllowList"] = gen.PtrOf(gen.AlphaString()) + gens["MetricLabelsAllowlist"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS to ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS via AssignProperties_To_ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS & AssignProperties_From_ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS, ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS tests if a specific instance of ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS(subject ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS + err := copied.AssignProperties_To_ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS + err = actual.AssignProperties_From_ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS, ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS runs a test to see if a specific instance of ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS(subject ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS instances for property testing - lazily +// instantiated by ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUSGenerator() +var managedClusterAzureMonitorProfileKubeStateMetrics_STATUSGenerator gopter.Gen + +// ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUSGenerator returns a generator of ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS instances for property testing. +func ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUSGenerator() gopter.Gen { + if managedClusterAzureMonitorProfileKubeStateMetrics_STATUSGenerator != nil { + return managedClusterAzureMonitorProfileKubeStateMetrics_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS(generators) + managedClusterAzureMonitorProfileKubeStateMetrics_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS{}), generators) + + return managedClusterAzureMonitorProfileKubeStateMetrics_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS(gens map[string]gopter.Gen) { + gens["MetricAnnotationsAllowList"] = gen.PtrOf(gen.AlphaString()) + gens["MetricLabelsAllowlist"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ManagedClusterAzureMonitorProfileMetrics_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterAzureMonitorProfileMetrics to ManagedClusterAzureMonitorProfileMetrics via AssignProperties_To_ManagedClusterAzureMonitorProfileMetrics & AssignProperties_From_ManagedClusterAzureMonitorProfileMetrics returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterAzureMonitorProfileMetrics, ManagedClusterAzureMonitorProfileMetricsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterAzureMonitorProfileMetrics tests if a specific instance of ManagedClusterAzureMonitorProfileMetrics can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterAzureMonitorProfileMetrics(subject ManagedClusterAzureMonitorProfileMetrics) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterAzureMonitorProfileMetrics + err := copied.AssignProperties_To_ManagedClusterAzureMonitorProfileMetrics(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterAzureMonitorProfileMetrics + err = actual.AssignProperties_From_ManagedClusterAzureMonitorProfileMetrics(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ManagedClusterAzureMonitorProfileMetrics_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterAzureMonitorProfileMetrics via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterAzureMonitorProfileMetrics, ManagedClusterAzureMonitorProfileMetricsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterAzureMonitorProfileMetrics runs a test to see if a specific instance of ManagedClusterAzureMonitorProfileMetrics round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterAzureMonitorProfileMetrics(subject ManagedClusterAzureMonitorProfileMetrics) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterAzureMonitorProfileMetrics + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterAzureMonitorProfileMetrics instances for property testing - lazily instantiated by +// ManagedClusterAzureMonitorProfileMetricsGenerator() +var managedClusterAzureMonitorProfileMetricsGenerator gopter.Gen + +// ManagedClusterAzureMonitorProfileMetricsGenerator returns a generator of ManagedClusterAzureMonitorProfileMetrics instances for property testing. +// We first initialize managedClusterAzureMonitorProfileMetricsGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func ManagedClusterAzureMonitorProfileMetricsGenerator() gopter.Gen { + if managedClusterAzureMonitorProfileMetricsGenerator != nil { + return managedClusterAzureMonitorProfileMetricsGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterAzureMonitorProfileMetrics(generators) + managedClusterAzureMonitorProfileMetricsGenerator = gen.Struct(reflect.TypeOf(ManagedClusterAzureMonitorProfileMetrics{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterAzureMonitorProfileMetrics(generators) + AddRelatedPropertyGeneratorsForManagedClusterAzureMonitorProfileMetrics(generators) + managedClusterAzureMonitorProfileMetricsGenerator = gen.Struct(reflect.TypeOf(ManagedClusterAzureMonitorProfileMetrics{}), generators) + + return managedClusterAzureMonitorProfileMetricsGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterAzureMonitorProfileMetrics is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterAzureMonitorProfileMetrics(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +// AddRelatedPropertyGeneratorsForManagedClusterAzureMonitorProfileMetrics is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterAzureMonitorProfileMetrics(gens map[string]gopter.Gen) { + gens["KubeStateMetrics"] = gen.PtrOf(ManagedClusterAzureMonitorProfileKubeStateMetricsGenerator()) +} + +func Test_ManagedClusterAzureMonitorProfileMetrics_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterAzureMonitorProfileMetrics_STATUS to ManagedClusterAzureMonitorProfileMetrics_STATUS via AssignProperties_To_ManagedClusterAzureMonitorProfileMetrics_STATUS & AssignProperties_From_ManagedClusterAzureMonitorProfileMetrics_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterAzureMonitorProfileMetrics_STATUS, ManagedClusterAzureMonitorProfileMetrics_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterAzureMonitorProfileMetrics_STATUS tests if a specific instance of ManagedClusterAzureMonitorProfileMetrics_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterAzureMonitorProfileMetrics_STATUS(subject ManagedClusterAzureMonitorProfileMetrics_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterAzureMonitorProfileMetrics_STATUS + err := copied.AssignProperties_To_ManagedClusterAzureMonitorProfileMetrics_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterAzureMonitorProfileMetrics_STATUS + err = actual.AssignProperties_From_ManagedClusterAzureMonitorProfileMetrics_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ManagedClusterAzureMonitorProfileMetrics_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterAzureMonitorProfileMetrics_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterAzureMonitorProfileMetrics_STATUS, ManagedClusterAzureMonitorProfileMetrics_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterAzureMonitorProfileMetrics_STATUS runs a test to see if a specific instance of ManagedClusterAzureMonitorProfileMetrics_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterAzureMonitorProfileMetrics_STATUS(subject ManagedClusterAzureMonitorProfileMetrics_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterAzureMonitorProfileMetrics_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterAzureMonitorProfileMetrics_STATUS instances for property testing - lazily instantiated by +// ManagedClusterAzureMonitorProfileMetrics_STATUSGenerator() +var managedClusterAzureMonitorProfileMetrics_STATUSGenerator gopter.Gen + +// ManagedClusterAzureMonitorProfileMetrics_STATUSGenerator returns a generator of ManagedClusterAzureMonitorProfileMetrics_STATUS instances for property testing. +// We first initialize managedClusterAzureMonitorProfileMetrics_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func ManagedClusterAzureMonitorProfileMetrics_STATUSGenerator() gopter.Gen { + if managedClusterAzureMonitorProfileMetrics_STATUSGenerator != nil { + return managedClusterAzureMonitorProfileMetrics_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterAzureMonitorProfileMetrics_STATUS(generators) + managedClusterAzureMonitorProfileMetrics_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterAzureMonitorProfileMetrics_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterAzureMonitorProfileMetrics_STATUS(generators) + AddRelatedPropertyGeneratorsForManagedClusterAzureMonitorProfileMetrics_STATUS(generators) + managedClusterAzureMonitorProfileMetrics_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterAzureMonitorProfileMetrics_STATUS{}), generators) + + return managedClusterAzureMonitorProfileMetrics_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterAzureMonitorProfileMetrics_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterAzureMonitorProfileMetrics_STATUS(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +// AddRelatedPropertyGeneratorsForManagedClusterAzureMonitorProfileMetrics_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterAzureMonitorProfileMetrics_STATUS(gens map[string]gopter.Gen) { + gens["KubeStateMetrics"] = gen.PtrOf(ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUSGenerator()) +} + +func Test_ManagedClusterAzureMonitorProfile_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterAzureMonitorProfile_STATUS to ManagedClusterAzureMonitorProfile_STATUS via AssignProperties_To_ManagedClusterAzureMonitorProfile_STATUS & AssignProperties_From_ManagedClusterAzureMonitorProfile_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterAzureMonitorProfile_STATUS, ManagedClusterAzureMonitorProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterAzureMonitorProfile_STATUS tests if a specific instance of ManagedClusterAzureMonitorProfile_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterAzureMonitorProfile_STATUS(subject ManagedClusterAzureMonitorProfile_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterAzureMonitorProfile_STATUS + err := copied.AssignProperties_To_ManagedClusterAzureMonitorProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterAzureMonitorProfile_STATUS + err = actual.AssignProperties_From_ManagedClusterAzureMonitorProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ManagedClusterAzureMonitorProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterAzureMonitorProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterAzureMonitorProfile_STATUS, ManagedClusterAzureMonitorProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterAzureMonitorProfile_STATUS runs a test to see if a specific instance of ManagedClusterAzureMonitorProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterAzureMonitorProfile_STATUS(subject ManagedClusterAzureMonitorProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterAzureMonitorProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterAzureMonitorProfile_STATUS instances for property testing - lazily instantiated by +// ManagedClusterAzureMonitorProfile_STATUSGenerator() +var managedClusterAzureMonitorProfile_STATUSGenerator gopter.Gen + +// ManagedClusterAzureMonitorProfile_STATUSGenerator returns a generator of ManagedClusterAzureMonitorProfile_STATUS instances for property testing. +func ManagedClusterAzureMonitorProfile_STATUSGenerator() gopter.Gen { + if managedClusterAzureMonitorProfile_STATUSGenerator != nil { + return managedClusterAzureMonitorProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForManagedClusterAzureMonitorProfile_STATUS(generators) + managedClusterAzureMonitorProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterAzureMonitorProfile_STATUS{}), generators) + + return managedClusterAzureMonitorProfile_STATUSGenerator +} + +// AddRelatedPropertyGeneratorsForManagedClusterAzureMonitorProfile_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterAzureMonitorProfile_STATUS(gens map[string]gopter.Gen) { + gens["Metrics"] = gen.PtrOf(ManagedClusterAzureMonitorProfileMetrics_STATUSGenerator()) +} + +func Test_ManagedClusterCostAnalysis_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterCostAnalysis to ManagedClusterCostAnalysis via AssignProperties_To_ManagedClusterCostAnalysis & AssignProperties_From_ManagedClusterCostAnalysis returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterCostAnalysis, ManagedClusterCostAnalysisGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterCostAnalysis tests if a specific instance of ManagedClusterCostAnalysis can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterCostAnalysis(subject ManagedClusterCostAnalysis) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterCostAnalysis + err := copied.AssignProperties_To_ManagedClusterCostAnalysis(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterCostAnalysis + err = actual.AssignProperties_From_ManagedClusterCostAnalysis(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ManagedClusterCostAnalysis_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterCostAnalysis via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterCostAnalysis, ManagedClusterCostAnalysisGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterCostAnalysis runs a test to see if a specific instance of ManagedClusterCostAnalysis round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterCostAnalysis(subject ManagedClusterCostAnalysis) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterCostAnalysis + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterCostAnalysis instances for property testing - lazily instantiated by +// ManagedClusterCostAnalysisGenerator() +var managedClusterCostAnalysisGenerator gopter.Gen + +// ManagedClusterCostAnalysisGenerator returns a generator of ManagedClusterCostAnalysis instances for property testing. +func ManagedClusterCostAnalysisGenerator() gopter.Gen { + if managedClusterCostAnalysisGenerator != nil { + return managedClusterCostAnalysisGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterCostAnalysis(generators) + managedClusterCostAnalysisGenerator = gen.Struct(reflect.TypeOf(ManagedClusterCostAnalysis{}), generators) + + return managedClusterCostAnalysisGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterCostAnalysis is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterCostAnalysis(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +func Test_ManagedClusterCostAnalysis_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterCostAnalysis_STATUS to ManagedClusterCostAnalysis_STATUS via AssignProperties_To_ManagedClusterCostAnalysis_STATUS & AssignProperties_From_ManagedClusterCostAnalysis_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterCostAnalysis_STATUS, ManagedClusterCostAnalysis_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterCostAnalysis_STATUS tests if a specific instance of ManagedClusterCostAnalysis_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterCostAnalysis_STATUS(subject ManagedClusterCostAnalysis_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterCostAnalysis_STATUS + err := copied.AssignProperties_To_ManagedClusterCostAnalysis_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterCostAnalysis_STATUS + err = actual.AssignProperties_From_ManagedClusterCostAnalysis_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ManagedClusterCostAnalysis_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterCostAnalysis_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterCostAnalysis_STATUS, ManagedClusterCostAnalysis_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterCostAnalysis_STATUS runs a test to see if a specific instance of ManagedClusterCostAnalysis_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterCostAnalysis_STATUS(subject ManagedClusterCostAnalysis_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterCostAnalysis_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterCostAnalysis_STATUS instances for property testing - lazily instantiated by +// ManagedClusterCostAnalysis_STATUSGenerator() +var managedClusterCostAnalysis_STATUSGenerator gopter.Gen + +// ManagedClusterCostAnalysis_STATUSGenerator returns a generator of ManagedClusterCostAnalysis_STATUS instances for property testing. +func ManagedClusterCostAnalysis_STATUSGenerator() gopter.Gen { + if managedClusterCostAnalysis_STATUSGenerator != nil { + return managedClusterCostAnalysis_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterCostAnalysis_STATUS(generators) + managedClusterCostAnalysis_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterCostAnalysis_STATUS{}), generators) + + return managedClusterCostAnalysis_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterCostAnalysis_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterCostAnalysis_STATUS(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +func Test_ManagedClusterHTTPProxyConfig_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterHTTPProxyConfig to ManagedClusterHTTPProxyConfig via AssignProperties_To_ManagedClusterHTTPProxyConfig & AssignProperties_From_ManagedClusterHTTPProxyConfig returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterHTTPProxyConfig, ManagedClusterHTTPProxyConfigGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterHTTPProxyConfig tests if a specific instance of ManagedClusterHTTPProxyConfig can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterHTTPProxyConfig(subject ManagedClusterHTTPProxyConfig) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterHTTPProxyConfig + err := copied.AssignProperties_To_ManagedClusterHTTPProxyConfig(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterHTTPProxyConfig + err = actual.AssignProperties_From_ManagedClusterHTTPProxyConfig(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ManagedClusterHTTPProxyConfig_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterHTTPProxyConfig via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterHTTPProxyConfig, ManagedClusterHTTPProxyConfigGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterHTTPProxyConfig runs a test to see if a specific instance of ManagedClusterHTTPProxyConfig round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterHTTPProxyConfig(subject ManagedClusterHTTPProxyConfig) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterHTTPProxyConfig + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterHTTPProxyConfig instances for property testing - lazily instantiated by +// ManagedClusterHTTPProxyConfigGenerator() +var managedClusterHTTPProxyConfigGenerator gopter.Gen + +// ManagedClusterHTTPProxyConfigGenerator returns a generator of ManagedClusterHTTPProxyConfig instances for property testing. +func ManagedClusterHTTPProxyConfigGenerator() gopter.Gen { + if managedClusterHTTPProxyConfigGenerator != nil { + return managedClusterHTTPProxyConfigGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterHTTPProxyConfig(generators) + managedClusterHTTPProxyConfigGenerator = gen.Struct(reflect.TypeOf(ManagedClusterHTTPProxyConfig{}), generators) + + return managedClusterHTTPProxyConfigGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterHTTPProxyConfig is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterHTTPProxyConfig(gens map[string]gopter.Gen) { + gens["HttpProxy"] = gen.PtrOf(gen.AlphaString()) + gens["HttpsProxy"] = gen.PtrOf(gen.AlphaString()) + gens["NoProxy"] = gen.SliceOf(gen.AlphaString()) + gens["TrustedCa"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ManagedClusterHTTPProxyConfig_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterHTTPProxyConfig_STATUS to ManagedClusterHTTPProxyConfig_STATUS via AssignProperties_To_ManagedClusterHTTPProxyConfig_STATUS & AssignProperties_From_ManagedClusterHTTPProxyConfig_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterHTTPProxyConfig_STATUS, ManagedClusterHTTPProxyConfig_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterHTTPProxyConfig_STATUS tests if a specific instance of ManagedClusterHTTPProxyConfig_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterHTTPProxyConfig_STATUS(subject ManagedClusterHTTPProxyConfig_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterHTTPProxyConfig_STATUS + err := copied.AssignProperties_To_ManagedClusterHTTPProxyConfig_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterHTTPProxyConfig_STATUS + err = actual.AssignProperties_From_ManagedClusterHTTPProxyConfig_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ManagedClusterHTTPProxyConfig_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterHTTPProxyConfig_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterHTTPProxyConfig_STATUS, ManagedClusterHTTPProxyConfig_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterHTTPProxyConfig_STATUS runs a test to see if a specific instance of ManagedClusterHTTPProxyConfig_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterHTTPProxyConfig_STATUS(subject ManagedClusterHTTPProxyConfig_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterHTTPProxyConfig_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterHTTPProxyConfig_STATUS instances for property testing - lazily instantiated by +// ManagedClusterHTTPProxyConfig_STATUSGenerator() +var managedClusterHTTPProxyConfig_STATUSGenerator gopter.Gen + +// ManagedClusterHTTPProxyConfig_STATUSGenerator returns a generator of ManagedClusterHTTPProxyConfig_STATUS instances for property testing. +func ManagedClusterHTTPProxyConfig_STATUSGenerator() gopter.Gen { + if managedClusterHTTPProxyConfig_STATUSGenerator != nil { + return managedClusterHTTPProxyConfig_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterHTTPProxyConfig_STATUS(generators) + managedClusterHTTPProxyConfig_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterHTTPProxyConfig_STATUS{}), generators) + + return managedClusterHTTPProxyConfig_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterHTTPProxyConfig_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterHTTPProxyConfig_STATUS(gens map[string]gopter.Gen) { + gens["HttpProxy"] = gen.PtrOf(gen.AlphaString()) + gens["HttpsProxy"] = gen.PtrOf(gen.AlphaString()) + gens["NoProxy"] = gen.SliceOf(gen.AlphaString()) + gens["TrustedCa"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ManagedClusterIdentity_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterIdentity to ManagedClusterIdentity via AssignProperties_To_ManagedClusterIdentity & AssignProperties_From_ManagedClusterIdentity returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterIdentity, ManagedClusterIdentityGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterIdentity tests if a specific instance of ManagedClusterIdentity can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterIdentity(subject ManagedClusterIdentity) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterIdentity + err := copied.AssignProperties_To_ManagedClusterIdentity(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterIdentity + err = actual.AssignProperties_From_ManagedClusterIdentity(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ManagedClusterIdentity_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterIdentity via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterIdentity, ManagedClusterIdentityGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterIdentity runs a test to see if a specific instance of ManagedClusterIdentity round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterIdentity(subject ManagedClusterIdentity) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterIdentity + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterIdentity instances for property testing - lazily instantiated by +// ManagedClusterIdentityGenerator() +var managedClusterIdentityGenerator gopter.Gen + +// ManagedClusterIdentityGenerator returns a generator of ManagedClusterIdentity instances for property testing. +// We first initialize managedClusterIdentityGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func ManagedClusterIdentityGenerator() gopter.Gen { + if managedClusterIdentityGenerator != nil { + return managedClusterIdentityGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterIdentity(generators) + managedClusterIdentityGenerator = gen.Struct(reflect.TypeOf(ManagedClusterIdentity{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterIdentity(generators) + AddRelatedPropertyGeneratorsForManagedClusterIdentity(generators) + managedClusterIdentityGenerator = gen.Struct(reflect.TypeOf(ManagedClusterIdentity{}), generators) + + return managedClusterIdentityGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterIdentity is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterIdentity(gens map[string]gopter.Gen) { + gens["Type"] = gen.PtrOf(gen.OneConstOf(ManagedClusterIdentity_Type_None, ManagedClusterIdentity_Type_SystemAssigned, ManagedClusterIdentity_Type_UserAssigned)) +} + +// AddRelatedPropertyGeneratorsForManagedClusterIdentity is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterIdentity(gens map[string]gopter.Gen) { + gens["DelegatedResources"] = gen.MapOf( + gen.AlphaString(), + DelegatedResourceGenerator()) + gens["UserAssignedIdentities"] = gen.SliceOf(UserAssignedIdentityDetailsGenerator()) +} + +func Test_ManagedClusterIdentity_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterIdentity_STATUS to ManagedClusterIdentity_STATUS via AssignProperties_To_ManagedClusterIdentity_STATUS & AssignProperties_From_ManagedClusterIdentity_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterIdentity_STATUS, ManagedClusterIdentity_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterIdentity_STATUS tests if a specific instance of ManagedClusterIdentity_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterIdentity_STATUS(subject ManagedClusterIdentity_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterIdentity_STATUS + err := copied.AssignProperties_To_ManagedClusterIdentity_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterIdentity_STATUS + err = actual.AssignProperties_From_ManagedClusterIdentity_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ManagedClusterIdentity_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterIdentity_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterIdentity_STATUS, ManagedClusterIdentity_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterIdentity_STATUS runs a test to see if a specific instance of ManagedClusterIdentity_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterIdentity_STATUS(subject ManagedClusterIdentity_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterIdentity_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterIdentity_STATUS instances for property testing - lazily instantiated by +// ManagedClusterIdentity_STATUSGenerator() +var managedClusterIdentity_STATUSGenerator gopter.Gen + +// ManagedClusterIdentity_STATUSGenerator returns a generator of ManagedClusterIdentity_STATUS instances for property testing. +// We first initialize managedClusterIdentity_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func ManagedClusterIdentity_STATUSGenerator() gopter.Gen { + if managedClusterIdentity_STATUSGenerator != nil { + return managedClusterIdentity_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterIdentity_STATUS(generators) + managedClusterIdentity_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterIdentity_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterIdentity_STATUS(generators) + AddRelatedPropertyGeneratorsForManagedClusterIdentity_STATUS(generators) + managedClusterIdentity_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterIdentity_STATUS{}), generators) + + return managedClusterIdentity_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterIdentity_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterIdentity_STATUS(gens map[string]gopter.Gen) { + gens["PrincipalId"] = gen.PtrOf(gen.AlphaString()) + gens["TenantId"] = gen.PtrOf(gen.AlphaString()) + gens["Type"] = gen.PtrOf(gen.OneConstOf(ManagedClusterIdentity_Type_STATUS_None, ManagedClusterIdentity_Type_STATUS_SystemAssigned, ManagedClusterIdentity_Type_STATUS_UserAssigned)) +} + +// AddRelatedPropertyGeneratorsForManagedClusterIdentity_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterIdentity_STATUS(gens map[string]gopter.Gen) { + gens["DelegatedResources"] = gen.MapOf( + gen.AlphaString(), + DelegatedResource_STATUSGenerator()) + gens["UserAssignedIdentities"] = gen.MapOf( + gen.AlphaString(), + ManagedClusterIdentity_UserAssignedIdentities_STATUSGenerator()) +} + +func Test_ManagedClusterIdentity_UserAssignedIdentities_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterIdentity_UserAssignedIdentities_STATUS to ManagedClusterIdentity_UserAssignedIdentities_STATUS via AssignProperties_To_ManagedClusterIdentity_UserAssignedIdentities_STATUS & AssignProperties_From_ManagedClusterIdentity_UserAssignedIdentities_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterIdentity_UserAssignedIdentities_STATUS, ManagedClusterIdentity_UserAssignedIdentities_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterIdentity_UserAssignedIdentities_STATUS tests if a specific instance of ManagedClusterIdentity_UserAssignedIdentities_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterIdentity_UserAssignedIdentities_STATUS(subject ManagedClusterIdentity_UserAssignedIdentities_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterIdentity_UserAssignedIdentities_STATUS + err := copied.AssignProperties_To_ManagedClusterIdentity_UserAssignedIdentities_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterIdentity_UserAssignedIdentities_STATUS + err = actual.AssignProperties_From_ManagedClusterIdentity_UserAssignedIdentities_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ManagedClusterIdentity_UserAssignedIdentities_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterIdentity_UserAssignedIdentities_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterIdentity_UserAssignedIdentities_STATUS, ManagedClusterIdentity_UserAssignedIdentities_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterIdentity_UserAssignedIdentities_STATUS runs a test to see if a specific instance of ManagedClusterIdentity_UserAssignedIdentities_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterIdentity_UserAssignedIdentities_STATUS(subject ManagedClusterIdentity_UserAssignedIdentities_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterIdentity_UserAssignedIdentities_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterIdentity_UserAssignedIdentities_STATUS instances for property testing - lazily +// instantiated by ManagedClusterIdentity_UserAssignedIdentities_STATUSGenerator() +var managedClusterIdentity_UserAssignedIdentities_STATUSGenerator gopter.Gen + +// ManagedClusterIdentity_UserAssignedIdentities_STATUSGenerator returns a generator of ManagedClusterIdentity_UserAssignedIdentities_STATUS instances for property testing. +func ManagedClusterIdentity_UserAssignedIdentities_STATUSGenerator() gopter.Gen { + if managedClusterIdentity_UserAssignedIdentities_STATUSGenerator != nil { + return managedClusterIdentity_UserAssignedIdentities_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterIdentity_UserAssignedIdentities_STATUS(generators) + managedClusterIdentity_UserAssignedIdentities_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterIdentity_UserAssignedIdentities_STATUS{}), generators) + + return managedClusterIdentity_UserAssignedIdentities_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterIdentity_UserAssignedIdentities_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterIdentity_UserAssignedIdentities_STATUS(gens map[string]gopter.Gen) { + gens["ClientId"] = gen.PtrOf(gen.AlphaString()) + gens["PrincipalId"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ManagedClusterIngressProfile_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterIngressProfile to ManagedClusterIngressProfile via AssignProperties_To_ManagedClusterIngressProfile & AssignProperties_From_ManagedClusterIngressProfile returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterIngressProfile, ManagedClusterIngressProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterIngressProfile tests if a specific instance of ManagedClusterIngressProfile can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterIngressProfile(subject ManagedClusterIngressProfile) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterIngressProfile + err := copied.AssignProperties_To_ManagedClusterIngressProfile(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterIngressProfile + err = actual.AssignProperties_From_ManagedClusterIngressProfile(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ManagedClusterIngressProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterIngressProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterIngressProfile, ManagedClusterIngressProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterIngressProfile runs a test to see if a specific instance of ManagedClusterIngressProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterIngressProfile(subject ManagedClusterIngressProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterIngressProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterIngressProfile instances for property testing - lazily instantiated by +// ManagedClusterIngressProfileGenerator() +var managedClusterIngressProfileGenerator gopter.Gen + +// ManagedClusterIngressProfileGenerator returns a generator of ManagedClusterIngressProfile instances for property testing. +func ManagedClusterIngressProfileGenerator() gopter.Gen { + if managedClusterIngressProfileGenerator != nil { + return managedClusterIngressProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForManagedClusterIngressProfile(generators) + managedClusterIngressProfileGenerator = gen.Struct(reflect.TypeOf(ManagedClusterIngressProfile{}), generators) + + return managedClusterIngressProfileGenerator +} + +// AddRelatedPropertyGeneratorsForManagedClusterIngressProfile is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterIngressProfile(gens map[string]gopter.Gen) { + gens["WebAppRouting"] = gen.PtrOf(ManagedClusterIngressProfileWebAppRoutingGenerator()) +} + +func Test_ManagedClusterIngressProfileWebAppRouting_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterIngressProfileWebAppRouting to ManagedClusterIngressProfileWebAppRouting via AssignProperties_To_ManagedClusterIngressProfileWebAppRouting & AssignProperties_From_ManagedClusterIngressProfileWebAppRouting returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterIngressProfileWebAppRouting, ManagedClusterIngressProfileWebAppRoutingGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterIngressProfileWebAppRouting tests if a specific instance of ManagedClusterIngressProfileWebAppRouting can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterIngressProfileWebAppRouting(subject ManagedClusterIngressProfileWebAppRouting) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterIngressProfileWebAppRouting + err := copied.AssignProperties_To_ManagedClusterIngressProfileWebAppRouting(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterIngressProfileWebAppRouting + err = actual.AssignProperties_From_ManagedClusterIngressProfileWebAppRouting(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ManagedClusterIngressProfileWebAppRouting_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterIngressProfileWebAppRouting via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterIngressProfileWebAppRouting, ManagedClusterIngressProfileWebAppRoutingGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterIngressProfileWebAppRouting runs a test to see if a specific instance of ManagedClusterIngressProfileWebAppRouting round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterIngressProfileWebAppRouting(subject ManagedClusterIngressProfileWebAppRouting) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterIngressProfileWebAppRouting + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterIngressProfileWebAppRouting instances for property testing - lazily instantiated by +// ManagedClusterIngressProfileWebAppRoutingGenerator() +var managedClusterIngressProfileWebAppRoutingGenerator gopter.Gen + +// ManagedClusterIngressProfileWebAppRoutingGenerator returns a generator of ManagedClusterIngressProfileWebAppRouting instances for property testing. +func ManagedClusterIngressProfileWebAppRoutingGenerator() gopter.Gen { + if managedClusterIngressProfileWebAppRoutingGenerator != nil { + return managedClusterIngressProfileWebAppRoutingGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterIngressProfileWebAppRouting(generators) + managedClusterIngressProfileWebAppRoutingGenerator = gen.Struct(reflect.TypeOf(ManagedClusterIngressProfileWebAppRouting{}), generators) + + return managedClusterIngressProfileWebAppRoutingGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterIngressProfileWebAppRouting is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterIngressProfileWebAppRouting(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +func Test_ManagedClusterIngressProfileWebAppRouting_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterIngressProfileWebAppRouting_STATUS to ManagedClusterIngressProfileWebAppRouting_STATUS via AssignProperties_To_ManagedClusterIngressProfileWebAppRouting_STATUS & AssignProperties_From_ManagedClusterIngressProfileWebAppRouting_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterIngressProfileWebAppRouting_STATUS, ManagedClusterIngressProfileWebAppRouting_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterIngressProfileWebAppRouting_STATUS tests if a specific instance of ManagedClusterIngressProfileWebAppRouting_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterIngressProfileWebAppRouting_STATUS(subject ManagedClusterIngressProfileWebAppRouting_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterIngressProfileWebAppRouting_STATUS + err := copied.AssignProperties_To_ManagedClusterIngressProfileWebAppRouting_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterIngressProfileWebAppRouting_STATUS + err = actual.AssignProperties_From_ManagedClusterIngressProfileWebAppRouting_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ManagedClusterIngressProfileWebAppRouting_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterIngressProfileWebAppRouting_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterIngressProfileWebAppRouting_STATUS, ManagedClusterIngressProfileWebAppRouting_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterIngressProfileWebAppRouting_STATUS runs a test to see if a specific instance of ManagedClusterIngressProfileWebAppRouting_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterIngressProfileWebAppRouting_STATUS(subject ManagedClusterIngressProfileWebAppRouting_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterIngressProfileWebAppRouting_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterIngressProfileWebAppRouting_STATUS instances for property testing - lazily instantiated by +// ManagedClusterIngressProfileWebAppRouting_STATUSGenerator() +var managedClusterIngressProfileWebAppRouting_STATUSGenerator gopter.Gen + +// ManagedClusterIngressProfileWebAppRouting_STATUSGenerator returns a generator of ManagedClusterIngressProfileWebAppRouting_STATUS instances for property testing. +// We first initialize managedClusterIngressProfileWebAppRouting_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func ManagedClusterIngressProfileWebAppRouting_STATUSGenerator() gopter.Gen { + if managedClusterIngressProfileWebAppRouting_STATUSGenerator != nil { + return managedClusterIngressProfileWebAppRouting_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterIngressProfileWebAppRouting_STATUS(generators) + managedClusterIngressProfileWebAppRouting_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterIngressProfileWebAppRouting_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterIngressProfileWebAppRouting_STATUS(generators) + AddRelatedPropertyGeneratorsForManagedClusterIngressProfileWebAppRouting_STATUS(generators) + managedClusterIngressProfileWebAppRouting_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterIngressProfileWebAppRouting_STATUS{}), generators) + + return managedClusterIngressProfileWebAppRouting_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterIngressProfileWebAppRouting_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterIngressProfileWebAppRouting_STATUS(gens map[string]gopter.Gen) { + gens["DnsZoneResourceIds"] = gen.SliceOf(gen.AlphaString()) + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +// AddRelatedPropertyGeneratorsForManagedClusterIngressProfileWebAppRouting_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterIngressProfileWebAppRouting_STATUS(gens map[string]gopter.Gen) { + gens["Identity"] = gen.PtrOf(UserAssignedIdentity_STATUSGenerator()) +} + +func Test_ManagedClusterIngressProfile_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterIngressProfile_STATUS to ManagedClusterIngressProfile_STATUS via AssignProperties_To_ManagedClusterIngressProfile_STATUS & AssignProperties_From_ManagedClusterIngressProfile_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterIngressProfile_STATUS, ManagedClusterIngressProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterIngressProfile_STATUS tests if a specific instance of ManagedClusterIngressProfile_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterIngressProfile_STATUS(subject ManagedClusterIngressProfile_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterIngressProfile_STATUS + err := copied.AssignProperties_To_ManagedClusterIngressProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterIngressProfile_STATUS + err = actual.AssignProperties_From_ManagedClusterIngressProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ManagedClusterIngressProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterIngressProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterIngressProfile_STATUS, ManagedClusterIngressProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterIngressProfile_STATUS runs a test to see if a specific instance of ManagedClusterIngressProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterIngressProfile_STATUS(subject ManagedClusterIngressProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterIngressProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterIngressProfile_STATUS instances for property testing - lazily instantiated by +// ManagedClusterIngressProfile_STATUSGenerator() +var managedClusterIngressProfile_STATUSGenerator gopter.Gen + +// ManagedClusterIngressProfile_STATUSGenerator returns a generator of ManagedClusterIngressProfile_STATUS instances for property testing. +func ManagedClusterIngressProfile_STATUSGenerator() gopter.Gen { + if managedClusterIngressProfile_STATUSGenerator != nil { + return managedClusterIngressProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForManagedClusterIngressProfile_STATUS(generators) + managedClusterIngressProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterIngressProfile_STATUS{}), generators) + + return managedClusterIngressProfile_STATUSGenerator +} + +// AddRelatedPropertyGeneratorsForManagedClusterIngressProfile_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterIngressProfile_STATUS(gens map[string]gopter.Gen) { + gens["WebAppRouting"] = gen.PtrOf(ManagedClusterIngressProfileWebAppRouting_STATUSGenerator()) +} + +func Test_ManagedClusterLoadBalancerProfile_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterLoadBalancerProfile to ManagedClusterLoadBalancerProfile via AssignProperties_To_ManagedClusterLoadBalancerProfile & AssignProperties_From_ManagedClusterLoadBalancerProfile returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterLoadBalancerProfile, ManagedClusterLoadBalancerProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterLoadBalancerProfile tests if a specific instance of ManagedClusterLoadBalancerProfile can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterLoadBalancerProfile(subject ManagedClusterLoadBalancerProfile) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterLoadBalancerProfile + err := copied.AssignProperties_To_ManagedClusterLoadBalancerProfile(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterLoadBalancerProfile + err = actual.AssignProperties_From_ManagedClusterLoadBalancerProfile(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ManagedClusterLoadBalancerProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterLoadBalancerProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterLoadBalancerProfile, ManagedClusterLoadBalancerProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterLoadBalancerProfile runs a test to see if a specific instance of ManagedClusterLoadBalancerProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterLoadBalancerProfile(subject ManagedClusterLoadBalancerProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterLoadBalancerProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterLoadBalancerProfile instances for property testing - lazily instantiated by +// ManagedClusterLoadBalancerProfileGenerator() +var managedClusterLoadBalancerProfileGenerator gopter.Gen + +// ManagedClusterLoadBalancerProfileGenerator returns a generator of ManagedClusterLoadBalancerProfile instances for property testing. +// We first initialize managedClusterLoadBalancerProfileGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func ManagedClusterLoadBalancerProfileGenerator() gopter.Gen { + if managedClusterLoadBalancerProfileGenerator != nil { + return managedClusterLoadBalancerProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterLoadBalancerProfile(generators) + managedClusterLoadBalancerProfileGenerator = gen.Struct(reflect.TypeOf(ManagedClusterLoadBalancerProfile{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterLoadBalancerProfile(generators) + AddRelatedPropertyGeneratorsForManagedClusterLoadBalancerProfile(generators) + managedClusterLoadBalancerProfileGenerator = gen.Struct(reflect.TypeOf(ManagedClusterLoadBalancerProfile{}), generators) + + return managedClusterLoadBalancerProfileGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterLoadBalancerProfile is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterLoadBalancerProfile(gens map[string]gopter.Gen) { + gens["AllocatedOutboundPorts"] = gen.PtrOf(gen.Int()) + gens["BackendPoolType"] = gen.PtrOf(gen.OneConstOf(ManagedClusterLoadBalancerProfile_BackendPoolType_NodeIP, ManagedClusterLoadBalancerProfile_BackendPoolType_NodeIPConfiguration)) + gens["EnableMultipleStandardLoadBalancers"] = gen.PtrOf(gen.Bool()) + gens["IdleTimeoutInMinutes"] = gen.PtrOf(gen.Int()) +} + +// AddRelatedPropertyGeneratorsForManagedClusterLoadBalancerProfile is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterLoadBalancerProfile(gens map[string]gopter.Gen) { + gens["EffectiveOutboundIPs"] = gen.SliceOf(ResourceReferenceGenerator()) + gens["ManagedOutboundIPs"] = gen.PtrOf(ManagedClusterLoadBalancerProfile_ManagedOutboundIPsGenerator()) + gens["OutboundIPPrefixes"] = gen.PtrOf(ManagedClusterLoadBalancerProfile_OutboundIPPrefixesGenerator()) + gens["OutboundIPs"] = gen.PtrOf(ManagedClusterLoadBalancerProfile_OutboundIPsGenerator()) +} + +func Test_ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterLoadBalancerProfile_ManagedOutboundIPs to ManagedClusterLoadBalancerProfile_ManagedOutboundIPs via AssignProperties_To_ManagedClusterLoadBalancerProfile_ManagedOutboundIPs & AssignProperties_From_ManagedClusterLoadBalancerProfile_ManagedOutboundIPs returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterLoadBalancerProfile_ManagedOutboundIPs, ManagedClusterLoadBalancerProfile_ManagedOutboundIPsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterLoadBalancerProfile_ManagedOutboundIPs tests if a specific instance of ManagedClusterLoadBalancerProfile_ManagedOutboundIPs can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterLoadBalancerProfile_ManagedOutboundIPs(subject ManagedClusterLoadBalancerProfile_ManagedOutboundIPs) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs + err := copied.AssignProperties_To_ManagedClusterLoadBalancerProfile_ManagedOutboundIPs(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterLoadBalancerProfile_ManagedOutboundIPs + err = actual.AssignProperties_From_ManagedClusterLoadBalancerProfile_ManagedOutboundIPs(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterLoadBalancerProfile_ManagedOutboundIPs via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterLoadBalancerProfile_ManagedOutboundIPs, ManagedClusterLoadBalancerProfile_ManagedOutboundIPsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterLoadBalancerProfile_ManagedOutboundIPs runs a test to see if a specific instance of ManagedClusterLoadBalancerProfile_ManagedOutboundIPs round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterLoadBalancerProfile_ManagedOutboundIPs(subject ManagedClusterLoadBalancerProfile_ManagedOutboundIPs) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterLoadBalancerProfile_ManagedOutboundIPs + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterLoadBalancerProfile_ManagedOutboundIPs instances for property testing - lazily +// instantiated by ManagedClusterLoadBalancerProfile_ManagedOutboundIPsGenerator() +var managedClusterLoadBalancerProfile_ManagedOutboundIPsGenerator gopter.Gen + +// ManagedClusterLoadBalancerProfile_ManagedOutboundIPsGenerator returns a generator of ManagedClusterLoadBalancerProfile_ManagedOutboundIPs instances for property testing. +func ManagedClusterLoadBalancerProfile_ManagedOutboundIPsGenerator() gopter.Gen { + if managedClusterLoadBalancerProfile_ManagedOutboundIPsGenerator != nil { + return managedClusterLoadBalancerProfile_ManagedOutboundIPsGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterLoadBalancerProfile_ManagedOutboundIPs(generators) + managedClusterLoadBalancerProfile_ManagedOutboundIPsGenerator = gen.Struct(reflect.TypeOf(ManagedClusterLoadBalancerProfile_ManagedOutboundIPs{}), generators) + + return managedClusterLoadBalancerProfile_ManagedOutboundIPsGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterLoadBalancerProfile_ManagedOutboundIPs is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterLoadBalancerProfile_ManagedOutboundIPs(gens map[string]gopter.Gen) { + gens["Count"] = gen.PtrOf(gen.Int()) + gens["CountIPv6"] = gen.PtrOf(gen.Int()) +} + +func Test_ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS to ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS via AssignProperties_To_ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS & AssignProperties_From_ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS, ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS tests if a specific instance of ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS(subject ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS + err := copied.AssignProperties_To_ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS + err = actual.AssignProperties_From_ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS, ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS runs a test to see if a specific instance of ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS(subject ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS instances for property testing - lazily +// instantiated by ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUSGenerator() +var managedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUSGenerator gopter.Gen + +// ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUSGenerator returns a generator of ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS instances for property testing. +func ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUSGenerator() gopter.Gen { + if managedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUSGenerator != nil { + return managedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS(generators) + managedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS{}), generators) + + return managedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS(gens map[string]gopter.Gen) { + gens["Count"] = gen.PtrOf(gen.Int()) + gens["CountIPv6"] = gen.PtrOf(gen.Int()) +} + +func Test_ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterLoadBalancerProfile_OutboundIPPrefixes to ManagedClusterLoadBalancerProfile_OutboundIPPrefixes via AssignProperties_To_ManagedClusterLoadBalancerProfile_OutboundIPPrefixes & AssignProperties_From_ManagedClusterLoadBalancerProfile_OutboundIPPrefixes returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterLoadBalancerProfile_OutboundIPPrefixes, ManagedClusterLoadBalancerProfile_OutboundIPPrefixesGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterLoadBalancerProfile_OutboundIPPrefixes tests if a specific instance of ManagedClusterLoadBalancerProfile_OutboundIPPrefixes can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterLoadBalancerProfile_OutboundIPPrefixes(subject ManagedClusterLoadBalancerProfile_OutboundIPPrefixes) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes + err := copied.AssignProperties_To_ManagedClusterLoadBalancerProfile_OutboundIPPrefixes(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterLoadBalancerProfile_OutboundIPPrefixes + err = actual.AssignProperties_From_ManagedClusterLoadBalancerProfile_OutboundIPPrefixes(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterLoadBalancerProfile_OutboundIPPrefixes via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterLoadBalancerProfile_OutboundIPPrefixes, ManagedClusterLoadBalancerProfile_OutboundIPPrefixesGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterLoadBalancerProfile_OutboundIPPrefixes runs a test to see if a specific instance of ManagedClusterLoadBalancerProfile_OutboundIPPrefixes round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterLoadBalancerProfile_OutboundIPPrefixes(subject ManagedClusterLoadBalancerProfile_OutboundIPPrefixes) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterLoadBalancerProfile_OutboundIPPrefixes + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterLoadBalancerProfile_OutboundIPPrefixes instances for property testing - lazily +// instantiated by ManagedClusterLoadBalancerProfile_OutboundIPPrefixesGenerator() +var managedClusterLoadBalancerProfile_OutboundIPPrefixesGenerator gopter.Gen + +// ManagedClusterLoadBalancerProfile_OutboundIPPrefixesGenerator returns a generator of ManagedClusterLoadBalancerProfile_OutboundIPPrefixes instances for property testing. +func ManagedClusterLoadBalancerProfile_OutboundIPPrefixesGenerator() gopter.Gen { + if managedClusterLoadBalancerProfile_OutboundIPPrefixesGenerator != nil { + return managedClusterLoadBalancerProfile_OutboundIPPrefixesGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForManagedClusterLoadBalancerProfile_OutboundIPPrefixes(generators) + managedClusterLoadBalancerProfile_OutboundIPPrefixesGenerator = gen.Struct(reflect.TypeOf(ManagedClusterLoadBalancerProfile_OutboundIPPrefixes{}), generators) + + return managedClusterLoadBalancerProfile_OutboundIPPrefixesGenerator +} + +// AddRelatedPropertyGeneratorsForManagedClusterLoadBalancerProfile_OutboundIPPrefixes is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterLoadBalancerProfile_OutboundIPPrefixes(gens map[string]gopter.Gen) { + gens["PublicIPPrefixes"] = gen.SliceOf(ResourceReferenceGenerator()) +} + +func Test_ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS to ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS via AssignProperties_To_ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS & AssignProperties_From_ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS, ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS tests if a specific instance of ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS(subject ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS + err := copied.AssignProperties_To_ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS + err = actual.AssignProperties_From_ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS, ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS runs a test to see if a specific instance of ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS(subject ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS instances for property testing - lazily +// instantiated by ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUSGenerator() +var managedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUSGenerator gopter.Gen + +// ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUSGenerator returns a generator of ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS instances for property testing. +func ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUSGenerator() gopter.Gen { + if managedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUSGenerator != nil { + return managedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS(generators) + managedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS{}), generators) + + return managedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUSGenerator +} + +// AddRelatedPropertyGeneratorsForManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS(gens map[string]gopter.Gen) { + gens["PublicIPPrefixes"] = gen.SliceOf(ResourceReference_STATUSGenerator()) +} + +func Test_ManagedClusterLoadBalancerProfile_OutboundIPs_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterLoadBalancerProfile_OutboundIPs to ManagedClusterLoadBalancerProfile_OutboundIPs via AssignProperties_To_ManagedClusterLoadBalancerProfile_OutboundIPs & AssignProperties_From_ManagedClusterLoadBalancerProfile_OutboundIPs returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterLoadBalancerProfile_OutboundIPs, ManagedClusterLoadBalancerProfile_OutboundIPsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterLoadBalancerProfile_OutboundIPs tests if a specific instance of ManagedClusterLoadBalancerProfile_OutboundIPs can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterLoadBalancerProfile_OutboundIPs(subject ManagedClusterLoadBalancerProfile_OutboundIPs) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterLoadBalancerProfile_OutboundIPs + err := copied.AssignProperties_To_ManagedClusterLoadBalancerProfile_OutboundIPs(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterLoadBalancerProfile_OutboundIPs + err = actual.AssignProperties_From_ManagedClusterLoadBalancerProfile_OutboundIPs(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ManagedClusterLoadBalancerProfile_OutboundIPs_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterLoadBalancerProfile_OutboundIPs via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterLoadBalancerProfile_OutboundIPs, ManagedClusterLoadBalancerProfile_OutboundIPsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterLoadBalancerProfile_OutboundIPs runs a test to see if a specific instance of ManagedClusterLoadBalancerProfile_OutboundIPs round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterLoadBalancerProfile_OutboundIPs(subject ManagedClusterLoadBalancerProfile_OutboundIPs) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterLoadBalancerProfile_OutboundIPs + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterLoadBalancerProfile_OutboundIPs instances for property testing - lazily instantiated by +// ManagedClusterLoadBalancerProfile_OutboundIPsGenerator() +var managedClusterLoadBalancerProfile_OutboundIPsGenerator gopter.Gen + +// ManagedClusterLoadBalancerProfile_OutboundIPsGenerator returns a generator of ManagedClusterLoadBalancerProfile_OutboundIPs instances for property testing. +func ManagedClusterLoadBalancerProfile_OutboundIPsGenerator() gopter.Gen { + if managedClusterLoadBalancerProfile_OutboundIPsGenerator != nil { + return managedClusterLoadBalancerProfile_OutboundIPsGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForManagedClusterLoadBalancerProfile_OutboundIPs(generators) + managedClusterLoadBalancerProfile_OutboundIPsGenerator = gen.Struct(reflect.TypeOf(ManagedClusterLoadBalancerProfile_OutboundIPs{}), generators) + + return managedClusterLoadBalancerProfile_OutboundIPsGenerator +} + +// AddRelatedPropertyGeneratorsForManagedClusterLoadBalancerProfile_OutboundIPs is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterLoadBalancerProfile_OutboundIPs(gens map[string]gopter.Gen) { + gens["PublicIPs"] = gen.SliceOf(ResourceReferenceGenerator()) +} + +func Test_ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS to ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS via AssignProperties_To_ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS & AssignProperties_From_ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterLoadBalancerProfile_OutboundIPs_STATUS, ManagedClusterLoadBalancerProfile_OutboundIPs_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterLoadBalancerProfile_OutboundIPs_STATUS tests if a specific instance of ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterLoadBalancerProfile_OutboundIPs_STATUS(subject ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS + err := copied.AssignProperties_To_ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS + err = actual.AssignProperties_From_ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterLoadBalancerProfile_OutboundIPs_STATUS, ManagedClusterLoadBalancerProfile_OutboundIPs_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterLoadBalancerProfile_OutboundIPs_STATUS runs a test to see if a specific instance of ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterLoadBalancerProfile_OutboundIPs_STATUS(subject ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS instances for property testing - lazily +// instantiated by ManagedClusterLoadBalancerProfile_OutboundIPs_STATUSGenerator() +var managedClusterLoadBalancerProfile_OutboundIPs_STATUSGenerator gopter.Gen + +// ManagedClusterLoadBalancerProfile_OutboundIPs_STATUSGenerator returns a generator of ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS instances for property testing. +func ManagedClusterLoadBalancerProfile_OutboundIPs_STATUSGenerator() gopter.Gen { + if managedClusterLoadBalancerProfile_OutboundIPs_STATUSGenerator != nil { + return managedClusterLoadBalancerProfile_OutboundIPs_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForManagedClusterLoadBalancerProfile_OutboundIPs_STATUS(generators) + managedClusterLoadBalancerProfile_OutboundIPs_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS{}), generators) + + return managedClusterLoadBalancerProfile_OutboundIPs_STATUSGenerator +} + +// AddRelatedPropertyGeneratorsForManagedClusterLoadBalancerProfile_OutboundIPs_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterLoadBalancerProfile_OutboundIPs_STATUS(gens map[string]gopter.Gen) { + gens["PublicIPs"] = gen.SliceOf(ResourceReference_STATUSGenerator()) +} + +func Test_ManagedClusterLoadBalancerProfile_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterLoadBalancerProfile_STATUS to ManagedClusterLoadBalancerProfile_STATUS via AssignProperties_To_ManagedClusterLoadBalancerProfile_STATUS & AssignProperties_From_ManagedClusterLoadBalancerProfile_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterLoadBalancerProfile_STATUS, ManagedClusterLoadBalancerProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterLoadBalancerProfile_STATUS tests if a specific instance of ManagedClusterLoadBalancerProfile_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterLoadBalancerProfile_STATUS(subject ManagedClusterLoadBalancerProfile_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterLoadBalancerProfile_STATUS + err := copied.AssignProperties_To_ManagedClusterLoadBalancerProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterLoadBalancerProfile_STATUS + err = actual.AssignProperties_From_ManagedClusterLoadBalancerProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ManagedClusterLoadBalancerProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterLoadBalancerProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterLoadBalancerProfile_STATUS, ManagedClusterLoadBalancerProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterLoadBalancerProfile_STATUS runs a test to see if a specific instance of ManagedClusterLoadBalancerProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterLoadBalancerProfile_STATUS(subject ManagedClusterLoadBalancerProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterLoadBalancerProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterLoadBalancerProfile_STATUS instances for property testing - lazily instantiated by +// ManagedClusterLoadBalancerProfile_STATUSGenerator() +var managedClusterLoadBalancerProfile_STATUSGenerator gopter.Gen + +// ManagedClusterLoadBalancerProfile_STATUSGenerator returns a generator of ManagedClusterLoadBalancerProfile_STATUS instances for property testing. +// We first initialize managedClusterLoadBalancerProfile_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func ManagedClusterLoadBalancerProfile_STATUSGenerator() gopter.Gen { + if managedClusterLoadBalancerProfile_STATUSGenerator != nil { + return managedClusterLoadBalancerProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterLoadBalancerProfile_STATUS(generators) + managedClusterLoadBalancerProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterLoadBalancerProfile_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterLoadBalancerProfile_STATUS(generators) + AddRelatedPropertyGeneratorsForManagedClusterLoadBalancerProfile_STATUS(generators) + managedClusterLoadBalancerProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterLoadBalancerProfile_STATUS{}), generators) + + return managedClusterLoadBalancerProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterLoadBalancerProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterLoadBalancerProfile_STATUS(gens map[string]gopter.Gen) { + gens["AllocatedOutboundPorts"] = gen.PtrOf(gen.Int()) + gens["BackendPoolType"] = gen.PtrOf(gen.OneConstOf(ManagedClusterLoadBalancerProfile_BackendPoolType_STATUS_NodeIP, ManagedClusterLoadBalancerProfile_BackendPoolType_STATUS_NodeIPConfiguration)) + gens["EnableMultipleStandardLoadBalancers"] = gen.PtrOf(gen.Bool()) + gens["IdleTimeoutInMinutes"] = gen.PtrOf(gen.Int()) +} + +// AddRelatedPropertyGeneratorsForManagedClusterLoadBalancerProfile_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterLoadBalancerProfile_STATUS(gens map[string]gopter.Gen) { + gens["EffectiveOutboundIPs"] = gen.SliceOf(ResourceReference_STATUSGenerator()) + gens["ManagedOutboundIPs"] = gen.PtrOf(ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUSGenerator()) + gens["OutboundIPPrefixes"] = gen.PtrOf(ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUSGenerator()) + gens["OutboundIPs"] = gen.PtrOf(ManagedClusterLoadBalancerProfile_OutboundIPs_STATUSGenerator()) +} + +func Test_ManagedClusterManagedOutboundIPProfile_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterManagedOutboundIPProfile to ManagedClusterManagedOutboundIPProfile via AssignProperties_To_ManagedClusterManagedOutboundIPProfile & AssignProperties_From_ManagedClusterManagedOutboundIPProfile returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterManagedOutboundIPProfile, ManagedClusterManagedOutboundIPProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterManagedOutboundIPProfile tests if a specific instance of ManagedClusterManagedOutboundIPProfile can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterManagedOutboundIPProfile(subject ManagedClusterManagedOutboundIPProfile) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterManagedOutboundIPProfile + err := copied.AssignProperties_To_ManagedClusterManagedOutboundIPProfile(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterManagedOutboundIPProfile + err = actual.AssignProperties_From_ManagedClusterManagedOutboundIPProfile(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ManagedClusterManagedOutboundIPProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterManagedOutboundIPProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterManagedOutboundIPProfile, ManagedClusterManagedOutboundIPProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterManagedOutboundIPProfile runs a test to see if a specific instance of ManagedClusterManagedOutboundIPProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterManagedOutboundIPProfile(subject ManagedClusterManagedOutboundIPProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterManagedOutboundIPProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterManagedOutboundIPProfile instances for property testing - lazily instantiated by +// ManagedClusterManagedOutboundIPProfileGenerator() +var managedClusterManagedOutboundIPProfileGenerator gopter.Gen + +// ManagedClusterManagedOutboundIPProfileGenerator returns a generator of ManagedClusterManagedOutboundIPProfile instances for property testing. +func ManagedClusterManagedOutboundIPProfileGenerator() gopter.Gen { + if managedClusterManagedOutboundIPProfileGenerator != nil { + return managedClusterManagedOutboundIPProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterManagedOutboundIPProfile(generators) + managedClusterManagedOutboundIPProfileGenerator = gen.Struct(reflect.TypeOf(ManagedClusterManagedOutboundIPProfile{}), generators) + + return managedClusterManagedOutboundIPProfileGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterManagedOutboundIPProfile is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterManagedOutboundIPProfile(gens map[string]gopter.Gen) { + gens["Count"] = gen.PtrOf(gen.Int()) +} + +func Test_ManagedClusterManagedOutboundIPProfile_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterManagedOutboundIPProfile_STATUS to ManagedClusterManagedOutboundIPProfile_STATUS via AssignProperties_To_ManagedClusterManagedOutboundIPProfile_STATUS & AssignProperties_From_ManagedClusterManagedOutboundIPProfile_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterManagedOutboundIPProfile_STATUS, ManagedClusterManagedOutboundIPProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterManagedOutboundIPProfile_STATUS tests if a specific instance of ManagedClusterManagedOutboundIPProfile_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterManagedOutboundIPProfile_STATUS(subject ManagedClusterManagedOutboundIPProfile_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterManagedOutboundIPProfile_STATUS + err := copied.AssignProperties_To_ManagedClusterManagedOutboundIPProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterManagedOutboundIPProfile_STATUS + err = actual.AssignProperties_From_ManagedClusterManagedOutboundIPProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ManagedClusterManagedOutboundIPProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterManagedOutboundIPProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterManagedOutboundIPProfile_STATUS, ManagedClusterManagedOutboundIPProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterManagedOutboundIPProfile_STATUS runs a test to see if a specific instance of ManagedClusterManagedOutboundIPProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterManagedOutboundIPProfile_STATUS(subject ManagedClusterManagedOutboundIPProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterManagedOutboundIPProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterManagedOutboundIPProfile_STATUS instances for property testing - lazily instantiated by +// ManagedClusterManagedOutboundIPProfile_STATUSGenerator() +var managedClusterManagedOutboundIPProfile_STATUSGenerator gopter.Gen + +// ManagedClusterManagedOutboundIPProfile_STATUSGenerator returns a generator of ManagedClusterManagedOutboundIPProfile_STATUS instances for property testing. +func ManagedClusterManagedOutboundIPProfile_STATUSGenerator() gopter.Gen { + if managedClusterManagedOutboundIPProfile_STATUSGenerator != nil { + return managedClusterManagedOutboundIPProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterManagedOutboundIPProfile_STATUS(generators) + managedClusterManagedOutboundIPProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterManagedOutboundIPProfile_STATUS{}), generators) + + return managedClusterManagedOutboundIPProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterManagedOutboundIPProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterManagedOutboundIPProfile_STATUS(gens map[string]gopter.Gen) { + gens["Count"] = gen.PtrOf(gen.Int()) +} + +func Test_ManagedClusterMetricsProfile_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterMetricsProfile to ManagedClusterMetricsProfile via AssignProperties_To_ManagedClusterMetricsProfile & AssignProperties_From_ManagedClusterMetricsProfile returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterMetricsProfile, ManagedClusterMetricsProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterMetricsProfile tests if a specific instance of ManagedClusterMetricsProfile can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterMetricsProfile(subject ManagedClusterMetricsProfile) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterMetricsProfile + err := copied.AssignProperties_To_ManagedClusterMetricsProfile(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterMetricsProfile + err = actual.AssignProperties_From_ManagedClusterMetricsProfile(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ManagedClusterMetricsProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterMetricsProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterMetricsProfile, ManagedClusterMetricsProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterMetricsProfile runs a test to see if a specific instance of ManagedClusterMetricsProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterMetricsProfile(subject ManagedClusterMetricsProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterMetricsProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterMetricsProfile instances for property testing - lazily instantiated by +// ManagedClusterMetricsProfileGenerator() +var managedClusterMetricsProfileGenerator gopter.Gen + +// ManagedClusterMetricsProfileGenerator returns a generator of ManagedClusterMetricsProfile instances for property testing. +func ManagedClusterMetricsProfileGenerator() gopter.Gen { + if managedClusterMetricsProfileGenerator != nil { + return managedClusterMetricsProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForManagedClusterMetricsProfile(generators) + managedClusterMetricsProfileGenerator = gen.Struct(reflect.TypeOf(ManagedClusterMetricsProfile{}), generators) + + return managedClusterMetricsProfileGenerator +} + +// AddRelatedPropertyGeneratorsForManagedClusterMetricsProfile is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterMetricsProfile(gens map[string]gopter.Gen) { + gens["CostAnalysis"] = gen.PtrOf(ManagedClusterCostAnalysisGenerator()) +} + +func Test_ManagedClusterMetricsProfile_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterMetricsProfile_STATUS to ManagedClusterMetricsProfile_STATUS via AssignProperties_To_ManagedClusterMetricsProfile_STATUS & AssignProperties_From_ManagedClusterMetricsProfile_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterMetricsProfile_STATUS, ManagedClusterMetricsProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterMetricsProfile_STATUS tests if a specific instance of ManagedClusterMetricsProfile_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterMetricsProfile_STATUS(subject ManagedClusterMetricsProfile_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterMetricsProfile_STATUS + err := copied.AssignProperties_To_ManagedClusterMetricsProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterMetricsProfile_STATUS + err = actual.AssignProperties_From_ManagedClusterMetricsProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ManagedClusterMetricsProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterMetricsProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterMetricsProfile_STATUS, ManagedClusterMetricsProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterMetricsProfile_STATUS runs a test to see if a specific instance of ManagedClusterMetricsProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterMetricsProfile_STATUS(subject ManagedClusterMetricsProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterMetricsProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterMetricsProfile_STATUS instances for property testing - lazily instantiated by +// ManagedClusterMetricsProfile_STATUSGenerator() +var managedClusterMetricsProfile_STATUSGenerator gopter.Gen + +// ManagedClusterMetricsProfile_STATUSGenerator returns a generator of ManagedClusterMetricsProfile_STATUS instances for property testing. +func ManagedClusterMetricsProfile_STATUSGenerator() gopter.Gen { + if managedClusterMetricsProfile_STATUSGenerator != nil { + return managedClusterMetricsProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForManagedClusterMetricsProfile_STATUS(generators) + managedClusterMetricsProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterMetricsProfile_STATUS{}), generators) + + return managedClusterMetricsProfile_STATUSGenerator +} + +// AddRelatedPropertyGeneratorsForManagedClusterMetricsProfile_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterMetricsProfile_STATUS(gens map[string]gopter.Gen) { + gens["CostAnalysis"] = gen.PtrOf(ManagedClusterCostAnalysis_STATUSGenerator()) +} + +func Test_ManagedClusterNATGatewayProfile_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterNATGatewayProfile to ManagedClusterNATGatewayProfile via AssignProperties_To_ManagedClusterNATGatewayProfile & AssignProperties_From_ManagedClusterNATGatewayProfile returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterNATGatewayProfile, ManagedClusterNATGatewayProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterNATGatewayProfile tests if a specific instance of ManagedClusterNATGatewayProfile can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterNATGatewayProfile(subject ManagedClusterNATGatewayProfile) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterNATGatewayProfile + err := copied.AssignProperties_To_ManagedClusterNATGatewayProfile(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterNATGatewayProfile + err = actual.AssignProperties_From_ManagedClusterNATGatewayProfile(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ManagedClusterNATGatewayProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterNATGatewayProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterNATGatewayProfile, ManagedClusterNATGatewayProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterNATGatewayProfile runs a test to see if a specific instance of ManagedClusterNATGatewayProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterNATGatewayProfile(subject ManagedClusterNATGatewayProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterNATGatewayProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterNATGatewayProfile instances for property testing - lazily instantiated by +// ManagedClusterNATGatewayProfileGenerator() +var managedClusterNATGatewayProfileGenerator gopter.Gen + +// ManagedClusterNATGatewayProfileGenerator returns a generator of ManagedClusterNATGatewayProfile instances for property testing. +// We first initialize managedClusterNATGatewayProfileGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func ManagedClusterNATGatewayProfileGenerator() gopter.Gen { + if managedClusterNATGatewayProfileGenerator != nil { + return managedClusterNATGatewayProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterNATGatewayProfile(generators) + managedClusterNATGatewayProfileGenerator = gen.Struct(reflect.TypeOf(ManagedClusterNATGatewayProfile{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterNATGatewayProfile(generators) + AddRelatedPropertyGeneratorsForManagedClusterNATGatewayProfile(generators) + managedClusterNATGatewayProfileGenerator = gen.Struct(reflect.TypeOf(ManagedClusterNATGatewayProfile{}), generators) + + return managedClusterNATGatewayProfileGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterNATGatewayProfile is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterNATGatewayProfile(gens map[string]gopter.Gen) { + gens["IdleTimeoutInMinutes"] = gen.PtrOf(gen.Int()) +} + +// AddRelatedPropertyGeneratorsForManagedClusterNATGatewayProfile is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterNATGatewayProfile(gens map[string]gopter.Gen) { + gens["EffectiveOutboundIPs"] = gen.SliceOf(ResourceReferenceGenerator()) + gens["ManagedOutboundIPProfile"] = gen.PtrOf(ManagedClusterManagedOutboundIPProfileGenerator()) +} + +func Test_ManagedClusterNATGatewayProfile_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterNATGatewayProfile_STATUS to ManagedClusterNATGatewayProfile_STATUS via AssignProperties_To_ManagedClusterNATGatewayProfile_STATUS & AssignProperties_From_ManagedClusterNATGatewayProfile_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterNATGatewayProfile_STATUS, ManagedClusterNATGatewayProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterNATGatewayProfile_STATUS tests if a specific instance of ManagedClusterNATGatewayProfile_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterNATGatewayProfile_STATUS(subject ManagedClusterNATGatewayProfile_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterNATGatewayProfile_STATUS + err := copied.AssignProperties_To_ManagedClusterNATGatewayProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterNATGatewayProfile_STATUS + err = actual.AssignProperties_From_ManagedClusterNATGatewayProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ManagedClusterNATGatewayProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterNATGatewayProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterNATGatewayProfile_STATUS, ManagedClusterNATGatewayProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterNATGatewayProfile_STATUS runs a test to see if a specific instance of ManagedClusterNATGatewayProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterNATGatewayProfile_STATUS(subject ManagedClusterNATGatewayProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterNATGatewayProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterNATGatewayProfile_STATUS instances for property testing - lazily instantiated by +// ManagedClusterNATGatewayProfile_STATUSGenerator() +var managedClusterNATGatewayProfile_STATUSGenerator gopter.Gen + +// ManagedClusterNATGatewayProfile_STATUSGenerator returns a generator of ManagedClusterNATGatewayProfile_STATUS instances for property testing. +// We first initialize managedClusterNATGatewayProfile_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func ManagedClusterNATGatewayProfile_STATUSGenerator() gopter.Gen { + if managedClusterNATGatewayProfile_STATUSGenerator != nil { + return managedClusterNATGatewayProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterNATGatewayProfile_STATUS(generators) + managedClusterNATGatewayProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterNATGatewayProfile_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterNATGatewayProfile_STATUS(generators) + AddRelatedPropertyGeneratorsForManagedClusterNATGatewayProfile_STATUS(generators) + managedClusterNATGatewayProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterNATGatewayProfile_STATUS{}), generators) + + return managedClusterNATGatewayProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterNATGatewayProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterNATGatewayProfile_STATUS(gens map[string]gopter.Gen) { + gens["IdleTimeoutInMinutes"] = gen.PtrOf(gen.Int()) +} + +// AddRelatedPropertyGeneratorsForManagedClusterNATGatewayProfile_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterNATGatewayProfile_STATUS(gens map[string]gopter.Gen) { + gens["EffectiveOutboundIPs"] = gen.SliceOf(ResourceReference_STATUSGenerator()) + gens["ManagedOutboundIPProfile"] = gen.PtrOf(ManagedClusterManagedOutboundIPProfile_STATUSGenerator()) +} + +func Test_ManagedClusterNodeResourceGroupProfile_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterNodeResourceGroupProfile to ManagedClusterNodeResourceGroupProfile via AssignProperties_To_ManagedClusterNodeResourceGroupProfile & AssignProperties_From_ManagedClusterNodeResourceGroupProfile returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterNodeResourceGroupProfile, ManagedClusterNodeResourceGroupProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterNodeResourceGroupProfile tests if a specific instance of ManagedClusterNodeResourceGroupProfile can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterNodeResourceGroupProfile(subject ManagedClusterNodeResourceGroupProfile) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterNodeResourceGroupProfile + err := copied.AssignProperties_To_ManagedClusterNodeResourceGroupProfile(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterNodeResourceGroupProfile + err = actual.AssignProperties_From_ManagedClusterNodeResourceGroupProfile(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ManagedClusterNodeResourceGroupProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterNodeResourceGroupProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterNodeResourceGroupProfile, ManagedClusterNodeResourceGroupProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterNodeResourceGroupProfile runs a test to see if a specific instance of ManagedClusterNodeResourceGroupProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterNodeResourceGroupProfile(subject ManagedClusterNodeResourceGroupProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterNodeResourceGroupProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterNodeResourceGroupProfile instances for property testing - lazily instantiated by +// ManagedClusterNodeResourceGroupProfileGenerator() +var managedClusterNodeResourceGroupProfileGenerator gopter.Gen + +// ManagedClusterNodeResourceGroupProfileGenerator returns a generator of ManagedClusterNodeResourceGroupProfile instances for property testing. +func ManagedClusterNodeResourceGroupProfileGenerator() gopter.Gen { + if managedClusterNodeResourceGroupProfileGenerator != nil { + return managedClusterNodeResourceGroupProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterNodeResourceGroupProfile(generators) + managedClusterNodeResourceGroupProfileGenerator = gen.Struct(reflect.TypeOf(ManagedClusterNodeResourceGroupProfile{}), generators) + + return managedClusterNodeResourceGroupProfileGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterNodeResourceGroupProfile is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterNodeResourceGroupProfile(gens map[string]gopter.Gen) { + gens["RestrictionLevel"] = gen.PtrOf(gen.OneConstOf(ManagedClusterNodeResourceGroupProfile_RestrictionLevel_ReadOnly, ManagedClusterNodeResourceGroupProfile_RestrictionLevel_Unrestricted)) +} + +func Test_ManagedClusterNodeResourceGroupProfile_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterNodeResourceGroupProfile_STATUS to ManagedClusterNodeResourceGroupProfile_STATUS via AssignProperties_To_ManagedClusterNodeResourceGroupProfile_STATUS & AssignProperties_From_ManagedClusterNodeResourceGroupProfile_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterNodeResourceGroupProfile_STATUS, ManagedClusterNodeResourceGroupProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterNodeResourceGroupProfile_STATUS tests if a specific instance of ManagedClusterNodeResourceGroupProfile_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterNodeResourceGroupProfile_STATUS(subject ManagedClusterNodeResourceGroupProfile_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterNodeResourceGroupProfile_STATUS + err := copied.AssignProperties_To_ManagedClusterNodeResourceGroupProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterNodeResourceGroupProfile_STATUS + err = actual.AssignProperties_From_ManagedClusterNodeResourceGroupProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ManagedClusterNodeResourceGroupProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterNodeResourceGroupProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterNodeResourceGroupProfile_STATUS, ManagedClusterNodeResourceGroupProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterNodeResourceGroupProfile_STATUS runs a test to see if a specific instance of ManagedClusterNodeResourceGroupProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterNodeResourceGroupProfile_STATUS(subject ManagedClusterNodeResourceGroupProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterNodeResourceGroupProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterNodeResourceGroupProfile_STATUS instances for property testing - lazily instantiated by +// ManagedClusterNodeResourceGroupProfile_STATUSGenerator() +var managedClusterNodeResourceGroupProfile_STATUSGenerator gopter.Gen + +// ManagedClusterNodeResourceGroupProfile_STATUSGenerator returns a generator of ManagedClusterNodeResourceGroupProfile_STATUS instances for property testing. +func ManagedClusterNodeResourceGroupProfile_STATUSGenerator() gopter.Gen { + if managedClusterNodeResourceGroupProfile_STATUSGenerator != nil { + return managedClusterNodeResourceGroupProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterNodeResourceGroupProfile_STATUS(generators) + managedClusterNodeResourceGroupProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterNodeResourceGroupProfile_STATUS{}), generators) + + return managedClusterNodeResourceGroupProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterNodeResourceGroupProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterNodeResourceGroupProfile_STATUS(gens map[string]gopter.Gen) { + gens["RestrictionLevel"] = gen.PtrOf(gen.OneConstOf(ManagedClusterNodeResourceGroupProfile_RestrictionLevel_STATUS_ReadOnly, ManagedClusterNodeResourceGroupProfile_RestrictionLevel_STATUS_Unrestricted)) +} + +func Test_ManagedClusterOIDCIssuerProfile_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterOIDCIssuerProfile to ManagedClusterOIDCIssuerProfile via AssignProperties_To_ManagedClusterOIDCIssuerProfile & AssignProperties_From_ManagedClusterOIDCIssuerProfile returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterOIDCIssuerProfile, ManagedClusterOIDCIssuerProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterOIDCIssuerProfile tests if a specific instance of ManagedClusterOIDCIssuerProfile can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterOIDCIssuerProfile(subject ManagedClusterOIDCIssuerProfile) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterOIDCIssuerProfile + err := copied.AssignProperties_To_ManagedClusterOIDCIssuerProfile(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterOIDCIssuerProfile + err = actual.AssignProperties_From_ManagedClusterOIDCIssuerProfile(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ManagedClusterOIDCIssuerProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterOIDCIssuerProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterOIDCIssuerProfile, ManagedClusterOIDCIssuerProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterOIDCIssuerProfile runs a test to see if a specific instance of ManagedClusterOIDCIssuerProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterOIDCIssuerProfile(subject ManagedClusterOIDCIssuerProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterOIDCIssuerProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterOIDCIssuerProfile instances for property testing - lazily instantiated by +// ManagedClusterOIDCIssuerProfileGenerator() +var managedClusterOIDCIssuerProfileGenerator gopter.Gen + +// ManagedClusterOIDCIssuerProfileGenerator returns a generator of ManagedClusterOIDCIssuerProfile instances for property testing. +func ManagedClusterOIDCIssuerProfileGenerator() gopter.Gen { + if managedClusterOIDCIssuerProfileGenerator != nil { + return managedClusterOIDCIssuerProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterOIDCIssuerProfile(generators) + managedClusterOIDCIssuerProfileGenerator = gen.Struct(reflect.TypeOf(ManagedClusterOIDCIssuerProfile{}), generators) + + return managedClusterOIDCIssuerProfileGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterOIDCIssuerProfile is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterOIDCIssuerProfile(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +func Test_ManagedClusterOIDCIssuerProfile_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterOIDCIssuerProfile_STATUS to ManagedClusterOIDCIssuerProfile_STATUS via AssignProperties_To_ManagedClusterOIDCIssuerProfile_STATUS & AssignProperties_From_ManagedClusterOIDCIssuerProfile_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterOIDCIssuerProfile_STATUS, ManagedClusterOIDCIssuerProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterOIDCIssuerProfile_STATUS tests if a specific instance of ManagedClusterOIDCIssuerProfile_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterOIDCIssuerProfile_STATUS(subject ManagedClusterOIDCIssuerProfile_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterOIDCIssuerProfile_STATUS + err := copied.AssignProperties_To_ManagedClusterOIDCIssuerProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterOIDCIssuerProfile_STATUS + err = actual.AssignProperties_From_ManagedClusterOIDCIssuerProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ManagedClusterOIDCIssuerProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterOIDCIssuerProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterOIDCIssuerProfile_STATUS, ManagedClusterOIDCIssuerProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterOIDCIssuerProfile_STATUS runs a test to see if a specific instance of ManagedClusterOIDCIssuerProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterOIDCIssuerProfile_STATUS(subject ManagedClusterOIDCIssuerProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterOIDCIssuerProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterOIDCIssuerProfile_STATUS instances for property testing - lazily instantiated by +// ManagedClusterOIDCIssuerProfile_STATUSGenerator() +var managedClusterOIDCIssuerProfile_STATUSGenerator gopter.Gen + +// ManagedClusterOIDCIssuerProfile_STATUSGenerator returns a generator of ManagedClusterOIDCIssuerProfile_STATUS instances for property testing. +func ManagedClusterOIDCIssuerProfile_STATUSGenerator() gopter.Gen { + if managedClusterOIDCIssuerProfile_STATUSGenerator != nil { + return managedClusterOIDCIssuerProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterOIDCIssuerProfile_STATUS(generators) + managedClusterOIDCIssuerProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterOIDCIssuerProfile_STATUS{}), generators) + + return managedClusterOIDCIssuerProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterOIDCIssuerProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterOIDCIssuerProfile_STATUS(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) + gens["IssuerURL"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ManagedClusterOperatorConfigMaps_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterOperatorConfigMaps to ManagedClusterOperatorConfigMaps via AssignProperties_To_ManagedClusterOperatorConfigMaps & AssignProperties_From_ManagedClusterOperatorConfigMaps returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterOperatorConfigMaps, ManagedClusterOperatorConfigMapsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterOperatorConfigMaps tests if a specific instance of ManagedClusterOperatorConfigMaps can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterOperatorConfigMaps(subject ManagedClusterOperatorConfigMaps) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterOperatorConfigMaps + err := copied.AssignProperties_To_ManagedClusterOperatorConfigMaps(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterOperatorConfigMaps + err = actual.AssignProperties_From_ManagedClusterOperatorConfigMaps(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ManagedClusterOperatorConfigMaps_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterOperatorConfigMaps via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterOperatorConfigMaps, ManagedClusterOperatorConfigMapsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterOperatorConfigMaps runs a test to see if a specific instance of ManagedClusterOperatorConfigMaps round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterOperatorConfigMaps(subject ManagedClusterOperatorConfigMaps) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterOperatorConfigMaps + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterOperatorConfigMaps instances for property testing - lazily instantiated by +// ManagedClusterOperatorConfigMapsGenerator() +var managedClusterOperatorConfigMapsGenerator gopter.Gen + +// ManagedClusterOperatorConfigMapsGenerator returns a generator of ManagedClusterOperatorConfigMaps instances for property testing. +func ManagedClusterOperatorConfigMapsGenerator() gopter.Gen { + if managedClusterOperatorConfigMapsGenerator != nil { + return managedClusterOperatorConfigMapsGenerator + } + + generators := make(map[string]gopter.Gen) + managedClusterOperatorConfigMapsGenerator = gen.Struct(reflect.TypeOf(ManagedClusterOperatorConfigMaps{}), generators) + + return managedClusterOperatorConfigMapsGenerator +} + +func Test_ManagedClusterOperatorSecrets_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterOperatorSecrets to ManagedClusterOperatorSecrets via AssignProperties_To_ManagedClusterOperatorSecrets & AssignProperties_From_ManagedClusterOperatorSecrets returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterOperatorSecrets, ManagedClusterOperatorSecretsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterOperatorSecrets tests if a specific instance of ManagedClusterOperatorSecrets can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterOperatorSecrets(subject ManagedClusterOperatorSecrets) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterOperatorSecrets + err := copied.AssignProperties_To_ManagedClusterOperatorSecrets(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterOperatorSecrets + err = actual.AssignProperties_From_ManagedClusterOperatorSecrets(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ManagedClusterOperatorSecrets_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterOperatorSecrets via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterOperatorSecrets, ManagedClusterOperatorSecretsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterOperatorSecrets runs a test to see if a specific instance of ManagedClusterOperatorSecrets round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterOperatorSecrets(subject ManagedClusterOperatorSecrets) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterOperatorSecrets + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterOperatorSecrets instances for property testing - lazily instantiated by +// ManagedClusterOperatorSecretsGenerator() +var managedClusterOperatorSecretsGenerator gopter.Gen + +// ManagedClusterOperatorSecretsGenerator returns a generator of ManagedClusterOperatorSecrets instances for property testing. +func ManagedClusterOperatorSecretsGenerator() gopter.Gen { + if managedClusterOperatorSecretsGenerator != nil { + return managedClusterOperatorSecretsGenerator + } + + generators := make(map[string]gopter.Gen) + managedClusterOperatorSecretsGenerator = gen.Struct(reflect.TypeOf(ManagedClusterOperatorSecrets{}), generators) + + return managedClusterOperatorSecretsGenerator +} + +func Test_ManagedClusterOperatorSpec_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterOperatorSpec to ManagedClusterOperatorSpec via AssignProperties_To_ManagedClusterOperatorSpec & AssignProperties_From_ManagedClusterOperatorSpec returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterOperatorSpec, ManagedClusterOperatorSpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterOperatorSpec tests if a specific instance of ManagedClusterOperatorSpec can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterOperatorSpec(subject ManagedClusterOperatorSpec) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterOperatorSpec + err := copied.AssignProperties_To_ManagedClusterOperatorSpec(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterOperatorSpec + err = actual.AssignProperties_From_ManagedClusterOperatorSpec(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ManagedClusterOperatorSpec_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterOperatorSpec via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterOperatorSpec, ManagedClusterOperatorSpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterOperatorSpec runs a test to see if a specific instance of ManagedClusterOperatorSpec round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterOperatorSpec(subject ManagedClusterOperatorSpec) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterOperatorSpec + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterOperatorSpec instances for property testing - lazily instantiated by +// ManagedClusterOperatorSpecGenerator() +var managedClusterOperatorSpecGenerator gopter.Gen + +// ManagedClusterOperatorSpecGenerator returns a generator of ManagedClusterOperatorSpec instances for property testing. +func ManagedClusterOperatorSpecGenerator() gopter.Gen { + if managedClusterOperatorSpecGenerator != nil { + return managedClusterOperatorSpecGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForManagedClusterOperatorSpec(generators) + managedClusterOperatorSpecGenerator = gen.Struct(reflect.TypeOf(ManagedClusterOperatorSpec{}), generators) + + return managedClusterOperatorSpecGenerator +} + +// AddRelatedPropertyGeneratorsForManagedClusterOperatorSpec is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterOperatorSpec(gens map[string]gopter.Gen) { + gens["ConfigMaps"] = gen.PtrOf(ManagedClusterOperatorConfigMapsGenerator()) + gens["Secrets"] = gen.PtrOf(ManagedClusterOperatorSecretsGenerator()) +} + +func Test_ManagedClusterPodIdentity_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterPodIdentity to ManagedClusterPodIdentity via AssignProperties_To_ManagedClusterPodIdentity & AssignProperties_From_ManagedClusterPodIdentity returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterPodIdentity, ManagedClusterPodIdentityGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterPodIdentity tests if a specific instance of ManagedClusterPodIdentity can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterPodIdentity(subject ManagedClusterPodIdentity) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterPodIdentity + err := copied.AssignProperties_To_ManagedClusterPodIdentity(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterPodIdentity + err = actual.AssignProperties_From_ManagedClusterPodIdentity(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ManagedClusterPodIdentity_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterPodIdentity via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterPodIdentity, ManagedClusterPodIdentityGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterPodIdentity runs a test to see if a specific instance of ManagedClusterPodIdentity round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterPodIdentity(subject ManagedClusterPodIdentity) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterPodIdentity + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterPodIdentity instances for property testing - lazily instantiated by +// ManagedClusterPodIdentityGenerator() +var managedClusterPodIdentityGenerator gopter.Gen + +// ManagedClusterPodIdentityGenerator returns a generator of ManagedClusterPodIdentity instances for property testing. +// We first initialize managedClusterPodIdentityGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func ManagedClusterPodIdentityGenerator() gopter.Gen { + if managedClusterPodIdentityGenerator != nil { + return managedClusterPodIdentityGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterPodIdentity(generators) + managedClusterPodIdentityGenerator = gen.Struct(reflect.TypeOf(ManagedClusterPodIdentity{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterPodIdentity(generators) + AddRelatedPropertyGeneratorsForManagedClusterPodIdentity(generators) + managedClusterPodIdentityGenerator = gen.Struct(reflect.TypeOf(ManagedClusterPodIdentity{}), generators) + + return managedClusterPodIdentityGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterPodIdentity is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterPodIdentity(gens map[string]gopter.Gen) { + gens["BindingSelector"] = gen.PtrOf(gen.AlphaString()) + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["Namespace"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForManagedClusterPodIdentity is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterPodIdentity(gens map[string]gopter.Gen) { + gens["Identity"] = gen.PtrOf(UserAssignedIdentityGenerator()) +} + +func Test_ManagedClusterPodIdentityException_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterPodIdentityException to ManagedClusterPodIdentityException via AssignProperties_To_ManagedClusterPodIdentityException & AssignProperties_From_ManagedClusterPodIdentityException returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterPodIdentityException, ManagedClusterPodIdentityExceptionGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterPodIdentityException tests if a specific instance of ManagedClusterPodIdentityException can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterPodIdentityException(subject ManagedClusterPodIdentityException) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterPodIdentityException + err := copied.AssignProperties_To_ManagedClusterPodIdentityException(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterPodIdentityException + err = actual.AssignProperties_From_ManagedClusterPodIdentityException(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ManagedClusterPodIdentityException_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterPodIdentityException via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterPodIdentityException, ManagedClusterPodIdentityExceptionGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterPodIdentityException runs a test to see if a specific instance of ManagedClusterPodIdentityException round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterPodIdentityException(subject ManagedClusterPodIdentityException) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterPodIdentityException + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterPodIdentityException instances for property testing - lazily instantiated by +// ManagedClusterPodIdentityExceptionGenerator() +var managedClusterPodIdentityExceptionGenerator gopter.Gen + +// ManagedClusterPodIdentityExceptionGenerator returns a generator of ManagedClusterPodIdentityException instances for property testing. +func ManagedClusterPodIdentityExceptionGenerator() gopter.Gen { + if managedClusterPodIdentityExceptionGenerator != nil { + return managedClusterPodIdentityExceptionGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterPodIdentityException(generators) + managedClusterPodIdentityExceptionGenerator = gen.Struct(reflect.TypeOf(ManagedClusterPodIdentityException{}), generators) + + return managedClusterPodIdentityExceptionGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterPodIdentityException is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterPodIdentityException(gens map[string]gopter.Gen) { + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["Namespace"] = gen.PtrOf(gen.AlphaString()) + gens["PodLabels"] = gen.MapOf( + gen.AlphaString(), + gen.AlphaString()) +} + +func Test_ManagedClusterPodIdentityException_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterPodIdentityException_STATUS to ManagedClusterPodIdentityException_STATUS via AssignProperties_To_ManagedClusterPodIdentityException_STATUS & AssignProperties_From_ManagedClusterPodIdentityException_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterPodIdentityException_STATUS, ManagedClusterPodIdentityException_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterPodIdentityException_STATUS tests if a specific instance of ManagedClusterPodIdentityException_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterPodIdentityException_STATUS(subject ManagedClusterPodIdentityException_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterPodIdentityException_STATUS + err := copied.AssignProperties_To_ManagedClusterPodIdentityException_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterPodIdentityException_STATUS + err = actual.AssignProperties_From_ManagedClusterPodIdentityException_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ManagedClusterPodIdentityException_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterPodIdentityException_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterPodIdentityException_STATUS, ManagedClusterPodIdentityException_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterPodIdentityException_STATUS runs a test to see if a specific instance of ManagedClusterPodIdentityException_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterPodIdentityException_STATUS(subject ManagedClusterPodIdentityException_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterPodIdentityException_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterPodIdentityException_STATUS instances for property testing - lazily instantiated by +// ManagedClusterPodIdentityException_STATUSGenerator() +var managedClusterPodIdentityException_STATUSGenerator gopter.Gen + +// ManagedClusterPodIdentityException_STATUSGenerator returns a generator of ManagedClusterPodIdentityException_STATUS instances for property testing. +func ManagedClusterPodIdentityException_STATUSGenerator() gopter.Gen { + if managedClusterPodIdentityException_STATUSGenerator != nil { + return managedClusterPodIdentityException_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterPodIdentityException_STATUS(generators) + managedClusterPodIdentityException_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterPodIdentityException_STATUS{}), generators) + + return managedClusterPodIdentityException_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterPodIdentityException_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterPodIdentityException_STATUS(gens map[string]gopter.Gen) { + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["Namespace"] = gen.PtrOf(gen.AlphaString()) + gens["PodLabels"] = gen.MapOf( + gen.AlphaString(), + gen.AlphaString()) +} + +func Test_ManagedClusterPodIdentityProfile_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterPodIdentityProfile to ManagedClusterPodIdentityProfile via AssignProperties_To_ManagedClusterPodIdentityProfile & AssignProperties_From_ManagedClusterPodIdentityProfile returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterPodIdentityProfile, ManagedClusterPodIdentityProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterPodIdentityProfile tests if a specific instance of ManagedClusterPodIdentityProfile can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterPodIdentityProfile(subject ManagedClusterPodIdentityProfile) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterPodIdentityProfile + err := copied.AssignProperties_To_ManagedClusterPodIdentityProfile(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterPodIdentityProfile + err = actual.AssignProperties_From_ManagedClusterPodIdentityProfile(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ManagedClusterPodIdentityProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterPodIdentityProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterPodIdentityProfile, ManagedClusterPodIdentityProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterPodIdentityProfile runs a test to see if a specific instance of ManagedClusterPodIdentityProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterPodIdentityProfile(subject ManagedClusterPodIdentityProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterPodIdentityProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterPodIdentityProfile instances for property testing - lazily instantiated by +// ManagedClusterPodIdentityProfileGenerator() +var managedClusterPodIdentityProfileGenerator gopter.Gen + +// ManagedClusterPodIdentityProfileGenerator returns a generator of ManagedClusterPodIdentityProfile instances for property testing. +// We first initialize managedClusterPodIdentityProfileGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func ManagedClusterPodIdentityProfileGenerator() gopter.Gen { + if managedClusterPodIdentityProfileGenerator != nil { + return managedClusterPodIdentityProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterPodIdentityProfile(generators) + managedClusterPodIdentityProfileGenerator = gen.Struct(reflect.TypeOf(ManagedClusterPodIdentityProfile{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterPodIdentityProfile(generators) + AddRelatedPropertyGeneratorsForManagedClusterPodIdentityProfile(generators) + managedClusterPodIdentityProfileGenerator = gen.Struct(reflect.TypeOf(ManagedClusterPodIdentityProfile{}), generators) + + return managedClusterPodIdentityProfileGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterPodIdentityProfile is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterPodIdentityProfile(gens map[string]gopter.Gen) { + gens["AllowNetworkPluginKubenet"] = gen.PtrOf(gen.Bool()) + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +// AddRelatedPropertyGeneratorsForManagedClusterPodIdentityProfile is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterPodIdentityProfile(gens map[string]gopter.Gen) { + gens["UserAssignedIdentities"] = gen.SliceOf(ManagedClusterPodIdentityGenerator()) + gens["UserAssignedIdentityExceptions"] = gen.SliceOf(ManagedClusterPodIdentityExceptionGenerator()) +} + +func Test_ManagedClusterPodIdentityProfile_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterPodIdentityProfile_STATUS to ManagedClusterPodIdentityProfile_STATUS via AssignProperties_To_ManagedClusterPodIdentityProfile_STATUS & AssignProperties_From_ManagedClusterPodIdentityProfile_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterPodIdentityProfile_STATUS, ManagedClusterPodIdentityProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterPodIdentityProfile_STATUS tests if a specific instance of ManagedClusterPodIdentityProfile_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterPodIdentityProfile_STATUS(subject ManagedClusterPodIdentityProfile_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterPodIdentityProfile_STATUS + err := copied.AssignProperties_To_ManagedClusterPodIdentityProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterPodIdentityProfile_STATUS + err = actual.AssignProperties_From_ManagedClusterPodIdentityProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ManagedClusterPodIdentityProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterPodIdentityProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterPodIdentityProfile_STATUS, ManagedClusterPodIdentityProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterPodIdentityProfile_STATUS runs a test to see if a specific instance of ManagedClusterPodIdentityProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterPodIdentityProfile_STATUS(subject ManagedClusterPodIdentityProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterPodIdentityProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterPodIdentityProfile_STATUS instances for property testing - lazily instantiated by +// ManagedClusterPodIdentityProfile_STATUSGenerator() +var managedClusterPodIdentityProfile_STATUSGenerator gopter.Gen + +// ManagedClusterPodIdentityProfile_STATUSGenerator returns a generator of ManagedClusterPodIdentityProfile_STATUS instances for property testing. +// We first initialize managedClusterPodIdentityProfile_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func ManagedClusterPodIdentityProfile_STATUSGenerator() gopter.Gen { + if managedClusterPodIdentityProfile_STATUSGenerator != nil { + return managedClusterPodIdentityProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterPodIdentityProfile_STATUS(generators) + managedClusterPodIdentityProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterPodIdentityProfile_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterPodIdentityProfile_STATUS(generators) + AddRelatedPropertyGeneratorsForManagedClusterPodIdentityProfile_STATUS(generators) + managedClusterPodIdentityProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterPodIdentityProfile_STATUS{}), generators) + + return managedClusterPodIdentityProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterPodIdentityProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterPodIdentityProfile_STATUS(gens map[string]gopter.Gen) { + gens["AllowNetworkPluginKubenet"] = gen.PtrOf(gen.Bool()) + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +// AddRelatedPropertyGeneratorsForManagedClusterPodIdentityProfile_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterPodIdentityProfile_STATUS(gens map[string]gopter.Gen) { + gens["UserAssignedIdentities"] = gen.SliceOf(ManagedClusterPodIdentity_STATUSGenerator()) + gens["UserAssignedIdentityExceptions"] = gen.SliceOf(ManagedClusterPodIdentityException_STATUSGenerator()) +} + +func Test_ManagedClusterPodIdentityProvisioningErrorBody_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterPodIdentityProvisioningErrorBody_STATUS to ManagedClusterPodIdentityProvisioningErrorBody_STATUS via AssignProperties_To_ManagedClusterPodIdentityProvisioningErrorBody_STATUS & AssignProperties_From_ManagedClusterPodIdentityProvisioningErrorBody_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterPodIdentityProvisioningErrorBody_STATUS, ManagedClusterPodIdentityProvisioningErrorBody_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterPodIdentityProvisioningErrorBody_STATUS tests if a specific instance of ManagedClusterPodIdentityProvisioningErrorBody_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterPodIdentityProvisioningErrorBody_STATUS(subject ManagedClusterPodIdentityProvisioningErrorBody_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterPodIdentityProvisioningErrorBody_STATUS + err := copied.AssignProperties_To_ManagedClusterPodIdentityProvisioningErrorBody_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterPodIdentityProvisioningErrorBody_STATUS + err = actual.AssignProperties_From_ManagedClusterPodIdentityProvisioningErrorBody_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ManagedClusterPodIdentityProvisioningErrorBody_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterPodIdentityProvisioningErrorBody_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterPodIdentityProvisioningErrorBody_STATUS, ManagedClusterPodIdentityProvisioningErrorBody_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterPodIdentityProvisioningErrorBody_STATUS runs a test to see if a specific instance of ManagedClusterPodIdentityProvisioningErrorBody_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterPodIdentityProvisioningErrorBody_STATUS(subject ManagedClusterPodIdentityProvisioningErrorBody_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterPodIdentityProvisioningErrorBody_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterPodIdentityProvisioningErrorBody_STATUS instances for property testing - lazily +// instantiated by ManagedClusterPodIdentityProvisioningErrorBody_STATUSGenerator() +var managedClusterPodIdentityProvisioningErrorBody_STATUSGenerator gopter.Gen + +// ManagedClusterPodIdentityProvisioningErrorBody_STATUSGenerator returns a generator of ManagedClusterPodIdentityProvisioningErrorBody_STATUS instances for property testing. +// We first initialize managedClusterPodIdentityProvisioningErrorBody_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func ManagedClusterPodIdentityProvisioningErrorBody_STATUSGenerator() gopter.Gen { + if managedClusterPodIdentityProvisioningErrorBody_STATUSGenerator != nil { + return managedClusterPodIdentityProvisioningErrorBody_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterPodIdentityProvisioningErrorBody_STATUS(generators) + managedClusterPodIdentityProvisioningErrorBody_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterPodIdentityProvisioningErrorBody_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterPodIdentityProvisioningErrorBody_STATUS(generators) + AddRelatedPropertyGeneratorsForManagedClusterPodIdentityProvisioningErrorBody_STATUS(generators) + managedClusterPodIdentityProvisioningErrorBody_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterPodIdentityProvisioningErrorBody_STATUS{}), generators) + + return managedClusterPodIdentityProvisioningErrorBody_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterPodIdentityProvisioningErrorBody_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterPodIdentityProvisioningErrorBody_STATUS(gens map[string]gopter.Gen) { + gens["Code"] = gen.PtrOf(gen.AlphaString()) + gens["Message"] = gen.PtrOf(gen.AlphaString()) + gens["Target"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForManagedClusterPodIdentityProvisioningErrorBody_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterPodIdentityProvisioningErrorBody_STATUS(gens map[string]gopter.Gen) { + gens["Details"] = gen.SliceOf(ManagedClusterPodIdentityProvisioningErrorBody_STATUS_UnrolledGenerator()) +} + +func Test_ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled to ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled via AssignProperties_To_ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled & AssignProperties_From_ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled, ManagedClusterPodIdentityProvisioningErrorBody_STATUS_UnrolledGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled tests if a specific instance of ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled(subject ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled + err := copied.AssignProperties_To_ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled + err = actual.AssignProperties_From_ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled, ManagedClusterPodIdentityProvisioningErrorBody_STATUS_UnrolledGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled runs a test to see if a specific instance of ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled(subject ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled instances for property testing - lazily +// instantiated by ManagedClusterPodIdentityProvisioningErrorBody_STATUS_UnrolledGenerator() +var managedClusterPodIdentityProvisioningErrorBody_STATUS_UnrolledGenerator gopter.Gen + +// ManagedClusterPodIdentityProvisioningErrorBody_STATUS_UnrolledGenerator returns a generator of ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled instances for property testing. +func ManagedClusterPodIdentityProvisioningErrorBody_STATUS_UnrolledGenerator() gopter.Gen { + if managedClusterPodIdentityProvisioningErrorBody_STATUS_UnrolledGenerator != nil { + return managedClusterPodIdentityProvisioningErrorBody_STATUS_UnrolledGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled(generators) + managedClusterPodIdentityProvisioningErrorBody_STATUS_UnrolledGenerator = gen.Struct(reflect.TypeOf(ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled{}), generators) + + return managedClusterPodIdentityProvisioningErrorBody_STATUS_UnrolledGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled(gens map[string]gopter.Gen) { + gens["Code"] = gen.PtrOf(gen.AlphaString()) + gens["Message"] = gen.PtrOf(gen.AlphaString()) + gens["Target"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ManagedClusterPodIdentityProvisioningError_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterPodIdentityProvisioningError_STATUS to ManagedClusterPodIdentityProvisioningError_STATUS via AssignProperties_To_ManagedClusterPodIdentityProvisioningError_STATUS & AssignProperties_From_ManagedClusterPodIdentityProvisioningError_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterPodIdentityProvisioningError_STATUS, ManagedClusterPodIdentityProvisioningError_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterPodIdentityProvisioningError_STATUS tests if a specific instance of ManagedClusterPodIdentityProvisioningError_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterPodIdentityProvisioningError_STATUS(subject ManagedClusterPodIdentityProvisioningError_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterPodIdentityProvisioningError_STATUS + err := copied.AssignProperties_To_ManagedClusterPodIdentityProvisioningError_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterPodIdentityProvisioningError_STATUS + err = actual.AssignProperties_From_ManagedClusterPodIdentityProvisioningError_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ManagedClusterPodIdentityProvisioningError_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterPodIdentityProvisioningError_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterPodIdentityProvisioningError_STATUS, ManagedClusterPodIdentityProvisioningError_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterPodIdentityProvisioningError_STATUS runs a test to see if a specific instance of ManagedClusterPodIdentityProvisioningError_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterPodIdentityProvisioningError_STATUS(subject ManagedClusterPodIdentityProvisioningError_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterPodIdentityProvisioningError_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterPodIdentityProvisioningError_STATUS instances for property testing - lazily instantiated +// by ManagedClusterPodIdentityProvisioningError_STATUSGenerator() +var managedClusterPodIdentityProvisioningError_STATUSGenerator gopter.Gen + +// ManagedClusterPodIdentityProvisioningError_STATUSGenerator returns a generator of ManagedClusterPodIdentityProvisioningError_STATUS instances for property testing. +func ManagedClusterPodIdentityProvisioningError_STATUSGenerator() gopter.Gen { + if managedClusterPodIdentityProvisioningError_STATUSGenerator != nil { + return managedClusterPodIdentityProvisioningError_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForManagedClusterPodIdentityProvisioningError_STATUS(generators) + managedClusterPodIdentityProvisioningError_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterPodIdentityProvisioningError_STATUS{}), generators) + + return managedClusterPodIdentityProvisioningError_STATUSGenerator +} + +// AddRelatedPropertyGeneratorsForManagedClusterPodIdentityProvisioningError_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterPodIdentityProvisioningError_STATUS(gens map[string]gopter.Gen) { + gens["Error"] = gen.PtrOf(ManagedClusterPodIdentityProvisioningErrorBody_STATUSGenerator()) +} + +func Test_ManagedClusterPodIdentity_ProvisioningInfo_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterPodIdentity_ProvisioningInfo_STATUS to ManagedClusterPodIdentity_ProvisioningInfo_STATUS via AssignProperties_To_ManagedClusterPodIdentity_ProvisioningInfo_STATUS & AssignProperties_From_ManagedClusterPodIdentity_ProvisioningInfo_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterPodIdentity_ProvisioningInfo_STATUS, ManagedClusterPodIdentity_ProvisioningInfo_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterPodIdentity_ProvisioningInfo_STATUS tests if a specific instance of ManagedClusterPodIdentity_ProvisioningInfo_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterPodIdentity_ProvisioningInfo_STATUS(subject ManagedClusterPodIdentity_ProvisioningInfo_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterPodIdentity_ProvisioningInfo_STATUS + err := copied.AssignProperties_To_ManagedClusterPodIdentity_ProvisioningInfo_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterPodIdentity_ProvisioningInfo_STATUS + err = actual.AssignProperties_From_ManagedClusterPodIdentity_ProvisioningInfo_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ManagedClusterPodIdentity_ProvisioningInfo_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterPodIdentity_ProvisioningInfo_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterPodIdentity_ProvisioningInfo_STATUS, ManagedClusterPodIdentity_ProvisioningInfo_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterPodIdentity_ProvisioningInfo_STATUS runs a test to see if a specific instance of ManagedClusterPodIdentity_ProvisioningInfo_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterPodIdentity_ProvisioningInfo_STATUS(subject ManagedClusterPodIdentity_ProvisioningInfo_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterPodIdentity_ProvisioningInfo_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterPodIdentity_ProvisioningInfo_STATUS instances for property testing - lazily instantiated +// by ManagedClusterPodIdentity_ProvisioningInfo_STATUSGenerator() +var managedClusterPodIdentity_ProvisioningInfo_STATUSGenerator gopter.Gen + +// ManagedClusterPodIdentity_ProvisioningInfo_STATUSGenerator returns a generator of ManagedClusterPodIdentity_ProvisioningInfo_STATUS instances for property testing. +func ManagedClusterPodIdentity_ProvisioningInfo_STATUSGenerator() gopter.Gen { + if managedClusterPodIdentity_ProvisioningInfo_STATUSGenerator != nil { + return managedClusterPodIdentity_ProvisioningInfo_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForManagedClusterPodIdentity_ProvisioningInfo_STATUS(generators) + managedClusterPodIdentity_ProvisioningInfo_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterPodIdentity_ProvisioningInfo_STATUS{}), generators) + + return managedClusterPodIdentity_ProvisioningInfo_STATUSGenerator +} + +// AddRelatedPropertyGeneratorsForManagedClusterPodIdentity_ProvisioningInfo_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterPodIdentity_ProvisioningInfo_STATUS(gens map[string]gopter.Gen) { + gens["Error"] = gen.PtrOf(ManagedClusterPodIdentityProvisioningError_STATUSGenerator()) +} + +func Test_ManagedClusterPodIdentity_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterPodIdentity_STATUS to ManagedClusterPodIdentity_STATUS via AssignProperties_To_ManagedClusterPodIdentity_STATUS & AssignProperties_From_ManagedClusterPodIdentity_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterPodIdentity_STATUS, ManagedClusterPodIdentity_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterPodIdentity_STATUS tests if a specific instance of ManagedClusterPodIdentity_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterPodIdentity_STATUS(subject ManagedClusterPodIdentity_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterPodIdentity_STATUS + err := copied.AssignProperties_To_ManagedClusterPodIdentity_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterPodIdentity_STATUS + err = actual.AssignProperties_From_ManagedClusterPodIdentity_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ManagedClusterPodIdentity_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterPodIdentity_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterPodIdentity_STATUS, ManagedClusterPodIdentity_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterPodIdentity_STATUS runs a test to see if a specific instance of ManagedClusterPodIdentity_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterPodIdentity_STATUS(subject ManagedClusterPodIdentity_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterPodIdentity_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterPodIdentity_STATUS instances for property testing - lazily instantiated by +// ManagedClusterPodIdentity_STATUSGenerator() +var managedClusterPodIdentity_STATUSGenerator gopter.Gen + +// ManagedClusterPodIdentity_STATUSGenerator returns a generator of ManagedClusterPodIdentity_STATUS instances for property testing. +// We first initialize managedClusterPodIdentity_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func ManagedClusterPodIdentity_STATUSGenerator() gopter.Gen { + if managedClusterPodIdentity_STATUSGenerator != nil { + return managedClusterPodIdentity_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterPodIdentity_STATUS(generators) + managedClusterPodIdentity_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterPodIdentity_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterPodIdentity_STATUS(generators) + AddRelatedPropertyGeneratorsForManagedClusterPodIdentity_STATUS(generators) + managedClusterPodIdentity_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterPodIdentity_STATUS{}), generators) + + return managedClusterPodIdentity_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterPodIdentity_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterPodIdentity_STATUS(gens map[string]gopter.Gen) { + gens["BindingSelector"] = gen.PtrOf(gen.AlphaString()) + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["Namespace"] = gen.PtrOf(gen.AlphaString()) + gens["ProvisioningState"] = gen.PtrOf(gen.OneConstOf( + ManagedClusterPodIdentity_ProvisioningState_STATUS_Assigned, + ManagedClusterPodIdentity_ProvisioningState_STATUS_Canceled, + ManagedClusterPodIdentity_ProvisioningState_STATUS_Deleting, + ManagedClusterPodIdentity_ProvisioningState_STATUS_Failed, + ManagedClusterPodIdentity_ProvisioningState_STATUS_Succeeded, + ManagedClusterPodIdentity_ProvisioningState_STATUS_Updating)) +} + +// AddRelatedPropertyGeneratorsForManagedClusterPodIdentity_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterPodIdentity_STATUS(gens map[string]gopter.Gen) { + gens["Identity"] = gen.PtrOf(UserAssignedIdentity_STATUSGenerator()) + gens["ProvisioningInfo"] = gen.PtrOf(ManagedClusterPodIdentity_ProvisioningInfo_STATUSGenerator()) +} + +func Test_ManagedClusterProperties_AutoScalerProfile_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterProperties_AutoScalerProfile to ManagedClusterProperties_AutoScalerProfile via AssignProperties_To_ManagedClusterProperties_AutoScalerProfile & AssignProperties_From_ManagedClusterProperties_AutoScalerProfile returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterProperties_AutoScalerProfile, ManagedClusterProperties_AutoScalerProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterProperties_AutoScalerProfile tests if a specific instance of ManagedClusterProperties_AutoScalerProfile can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterProperties_AutoScalerProfile(subject ManagedClusterProperties_AutoScalerProfile) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterProperties_AutoScalerProfile + err := copied.AssignProperties_To_ManagedClusterProperties_AutoScalerProfile(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterProperties_AutoScalerProfile + err = actual.AssignProperties_From_ManagedClusterProperties_AutoScalerProfile(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ManagedClusterProperties_AutoScalerProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterProperties_AutoScalerProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterProperties_AutoScalerProfile, ManagedClusterProperties_AutoScalerProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterProperties_AutoScalerProfile runs a test to see if a specific instance of ManagedClusterProperties_AutoScalerProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterProperties_AutoScalerProfile(subject ManagedClusterProperties_AutoScalerProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterProperties_AutoScalerProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterProperties_AutoScalerProfile instances for property testing - lazily instantiated by +// ManagedClusterProperties_AutoScalerProfileGenerator() +var managedClusterProperties_AutoScalerProfileGenerator gopter.Gen + +// ManagedClusterProperties_AutoScalerProfileGenerator returns a generator of ManagedClusterProperties_AutoScalerProfile instances for property testing. +func ManagedClusterProperties_AutoScalerProfileGenerator() gopter.Gen { + if managedClusterProperties_AutoScalerProfileGenerator != nil { + return managedClusterProperties_AutoScalerProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterProperties_AutoScalerProfile(generators) + managedClusterProperties_AutoScalerProfileGenerator = gen.Struct(reflect.TypeOf(ManagedClusterProperties_AutoScalerProfile{}), generators) + + return managedClusterProperties_AutoScalerProfileGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterProperties_AutoScalerProfile is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterProperties_AutoScalerProfile(gens map[string]gopter.Gen) { + gens["BalanceSimilarNodeGroups"] = gen.PtrOf(gen.AlphaString()) + gens["DaemonsetEvictionForEmptyNodes"] = gen.PtrOf(gen.Bool()) + gens["DaemonsetEvictionForOccupiedNodes"] = gen.PtrOf(gen.Bool()) + gens["Expander"] = gen.PtrOf(gen.OneConstOf( + ManagedClusterProperties_AutoScalerProfile_Expander_LeastWaste, + ManagedClusterProperties_AutoScalerProfile_Expander_MostPods, + ManagedClusterProperties_AutoScalerProfile_Expander_Priority, + ManagedClusterProperties_AutoScalerProfile_Expander_Random)) + gens["IgnoreDaemonsetsUtilization"] = gen.PtrOf(gen.Bool()) + gens["MaxEmptyBulkDelete"] = gen.PtrOf(gen.AlphaString()) + gens["MaxGracefulTerminationSec"] = gen.PtrOf(gen.AlphaString()) + gens["MaxNodeProvisionTime"] = gen.PtrOf(gen.AlphaString()) + gens["MaxTotalUnreadyPercentage"] = gen.PtrOf(gen.AlphaString()) + gens["NewPodScaleUpDelay"] = gen.PtrOf(gen.AlphaString()) + gens["OkTotalUnreadyCount"] = gen.PtrOf(gen.AlphaString()) + gens["ScaleDownDelayAfterAdd"] = gen.PtrOf(gen.AlphaString()) + gens["ScaleDownDelayAfterDelete"] = gen.PtrOf(gen.AlphaString()) + gens["ScaleDownDelayAfterFailure"] = gen.PtrOf(gen.AlphaString()) + gens["ScaleDownUnneededTime"] = gen.PtrOf(gen.AlphaString()) + gens["ScaleDownUnreadyTime"] = gen.PtrOf(gen.AlphaString()) + gens["ScaleDownUtilizationThreshold"] = gen.PtrOf(gen.AlphaString()) + gens["ScanInterval"] = gen.PtrOf(gen.AlphaString()) + gens["SkipNodesWithLocalStorage"] = gen.PtrOf(gen.AlphaString()) + gens["SkipNodesWithSystemPods"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ManagedClusterProperties_AutoScalerProfile_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterProperties_AutoScalerProfile_STATUS to ManagedClusterProperties_AutoScalerProfile_STATUS via AssignProperties_To_ManagedClusterProperties_AutoScalerProfile_STATUS & AssignProperties_From_ManagedClusterProperties_AutoScalerProfile_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterProperties_AutoScalerProfile_STATUS, ManagedClusterProperties_AutoScalerProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterProperties_AutoScalerProfile_STATUS tests if a specific instance of ManagedClusterProperties_AutoScalerProfile_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterProperties_AutoScalerProfile_STATUS(subject ManagedClusterProperties_AutoScalerProfile_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterProperties_AutoScalerProfile_STATUS + err := copied.AssignProperties_To_ManagedClusterProperties_AutoScalerProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterProperties_AutoScalerProfile_STATUS + err = actual.AssignProperties_From_ManagedClusterProperties_AutoScalerProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ManagedClusterProperties_AutoScalerProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterProperties_AutoScalerProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterProperties_AutoScalerProfile_STATUS, ManagedClusterProperties_AutoScalerProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterProperties_AutoScalerProfile_STATUS runs a test to see if a specific instance of ManagedClusterProperties_AutoScalerProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterProperties_AutoScalerProfile_STATUS(subject ManagedClusterProperties_AutoScalerProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterProperties_AutoScalerProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterProperties_AutoScalerProfile_STATUS instances for property testing - lazily instantiated +// by ManagedClusterProperties_AutoScalerProfile_STATUSGenerator() +var managedClusterProperties_AutoScalerProfile_STATUSGenerator gopter.Gen + +// ManagedClusterProperties_AutoScalerProfile_STATUSGenerator returns a generator of ManagedClusterProperties_AutoScalerProfile_STATUS instances for property testing. +func ManagedClusterProperties_AutoScalerProfile_STATUSGenerator() gopter.Gen { + if managedClusterProperties_AutoScalerProfile_STATUSGenerator != nil { + return managedClusterProperties_AutoScalerProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterProperties_AutoScalerProfile_STATUS(generators) + managedClusterProperties_AutoScalerProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterProperties_AutoScalerProfile_STATUS{}), generators) + + return managedClusterProperties_AutoScalerProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterProperties_AutoScalerProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterProperties_AutoScalerProfile_STATUS(gens map[string]gopter.Gen) { + gens["BalanceSimilarNodeGroups"] = gen.PtrOf(gen.AlphaString()) + gens["DaemonsetEvictionForEmptyNodes"] = gen.PtrOf(gen.Bool()) + gens["DaemonsetEvictionForOccupiedNodes"] = gen.PtrOf(gen.Bool()) + gens["Expander"] = gen.PtrOf(gen.OneConstOf( + ManagedClusterProperties_AutoScalerProfile_Expander_STATUS_LeastWaste, + ManagedClusterProperties_AutoScalerProfile_Expander_STATUS_MostPods, + ManagedClusterProperties_AutoScalerProfile_Expander_STATUS_Priority, + ManagedClusterProperties_AutoScalerProfile_Expander_STATUS_Random)) + gens["IgnoreDaemonsetsUtilization"] = gen.PtrOf(gen.Bool()) + gens["MaxEmptyBulkDelete"] = gen.PtrOf(gen.AlphaString()) + gens["MaxGracefulTerminationSec"] = gen.PtrOf(gen.AlphaString()) + gens["MaxNodeProvisionTime"] = gen.PtrOf(gen.AlphaString()) + gens["MaxTotalUnreadyPercentage"] = gen.PtrOf(gen.AlphaString()) + gens["NewPodScaleUpDelay"] = gen.PtrOf(gen.AlphaString()) + gens["OkTotalUnreadyCount"] = gen.PtrOf(gen.AlphaString()) + gens["ScaleDownDelayAfterAdd"] = gen.PtrOf(gen.AlphaString()) + gens["ScaleDownDelayAfterDelete"] = gen.PtrOf(gen.AlphaString()) + gens["ScaleDownDelayAfterFailure"] = gen.PtrOf(gen.AlphaString()) + gens["ScaleDownUnneededTime"] = gen.PtrOf(gen.AlphaString()) + gens["ScaleDownUnreadyTime"] = gen.PtrOf(gen.AlphaString()) + gens["ScaleDownUtilizationThreshold"] = gen.PtrOf(gen.AlphaString()) + gens["ScanInterval"] = gen.PtrOf(gen.AlphaString()) + gens["SkipNodesWithLocalStorage"] = gen.PtrOf(gen.AlphaString()) + gens["SkipNodesWithSystemPods"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ManagedClusterSKU_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterSKU to ManagedClusterSKU via AssignProperties_To_ManagedClusterSKU & AssignProperties_From_ManagedClusterSKU returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterSKU, ManagedClusterSKUGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterSKU tests if a specific instance of ManagedClusterSKU can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterSKU(subject ManagedClusterSKU) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterSKU + err := copied.AssignProperties_To_ManagedClusterSKU(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterSKU + err = actual.AssignProperties_From_ManagedClusterSKU(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ManagedClusterSKU_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterSKU via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterSKU, ManagedClusterSKUGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterSKU runs a test to see if a specific instance of ManagedClusterSKU round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterSKU(subject ManagedClusterSKU) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterSKU + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterSKU instances for property testing - lazily instantiated by ManagedClusterSKUGenerator() +var managedClusterSKUGenerator gopter.Gen + +// ManagedClusterSKUGenerator returns a generator of ManagedClusterSKU instances for property testing. +func ManagedClusterSKUGenerator() gopter.Gen { + if managedClusterSKUGenerator != nil { + return managedClusterSKUGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterSKU(generators) + managedClusterSKUGenerator = gen.Struct(reflect.TypeOf(ManagedClusterSKU{}), generators) + + return managedClusterSKUGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterSKU is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterSKU(gens map[string]gopter.Gen) { + gens["Name"] = gen.PtrOf(gen.OneConstOf(ManagedClusterSKU_Name_Base)) + gens["Tier"] = gen.PtrOf(gen.OneConstOf(ManagedClusterSKU_Tier_Free, ManagedClusterSKU_Tier_Premium, ManagedClusterSKU_Tier_Standard)) +} + +func Test_ManagedClusterSKU_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterSKU_STATUS to ManagedClusterSKU_STATUS via AssignProperties_To_ManagedClusterSKU_STATUS & AssignProperties_From_ManagedClusterSKU_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterSKU_STATUS, ManagedClusterSKU_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterSKU_STATUS tests if a specific instance of ManagedClusterSKU_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterSKU_STATUS(subject ManagedClusterSKU_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterSKU_STATUS + err := copied.AssignProperties_To_ManagedClusterSKU_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterSKU_STATUS + err = actual.AssignProperties_From_ManagedClusterSKU_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ManagedClusterSKU_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterSKU_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterSKU_STATUS, ManagedClusterSKU_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterSKU_STATUS runs a test to see if a specific instance of ManagedClusterSKU_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterSKU_STATUS(subject ManagedClusterSKU_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterSKU_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterSKU_STATUS instances for property testing - lazily instantiated by +// ManagedClusterSKU_STATUSGenerator() +var managedClusterSKU_STATUSGenerator gopter.Gen + +// ManagedClusterSKU_STATUSGenerator returns a generator of ManagedClusterSKU_STATUS instances for property testing. +func ManagedClusterSKU_STATUSGenerator() gopter.Gen { + if managedClusterSKU_STATUSGenerator != nil { + return managedClusterSKU_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterSKU_STATUS(generators) + managedClusterSKU_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterSKU_STATUS{}), generators) + + return managedClusterSKU_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterSKU_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterSKU_STATUS(gens map[string]gopter.Gen) { + gens["Name"] = gen.PtrOf(gen.OneConstOf(ManagedClusterSKU_Name_STATUS_Base)) + gens["Tier"] = gen.PtrOf(gen.OneConstOf(ManagedClusterSKU_Tier_STATUS_Free, ManagedClusterSKU_Tier_STATUS_Premium, ManagedClusterSKU_Tier_STATUS_Standard)) +} + +func Test_ManagedClusterSecurityProfile_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterSecurityProfile to ManagedClusterSecurityProfile via AssignProperties_To_ManagedClusterSecurityProfile & AssignProperties_From_ManagedClusterSecurityProfile returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterSecurityProfile, ManagedClusterSecurityProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterSecurityProfile tests if a specific instance of ManagedClusterSecurityProfile can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterSecurityProfile(subject ManagedClusterSecurityProfile) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterSecurityProfile + err := copied.AssignProperties_To_ManagedClusterSecurityProfile(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterSecurityProfile + err = actual.AssignProperties_From_ManagedClusterSecurityProfile(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ManagedClusterSecurityProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterSecurityProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterSecurityProfile, ManagedClusterSecurityProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterSecurityProfile runs a test to see if a specific instance of ManagedClusterSecurityProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterSecurityProfile(subject ManagedClusterSecurityProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterSecurityProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterSecurityProfile instances for property testing - lazily instantiated by +// ManagedClusterSecurityProfileGenerator() +var managedClusterSecurityProfileGenerator gopter.Gen + +// ManagedClusterSecurityProfileGenerator returns a generator of ManagedClusterSecurityProfile instances for property testing. +func ManagedClusterSecurityProfileGenerator() gopter.Gen { + if managedClusterSecurityProfileGenerator != nil { + return managedClusterSecurityProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForManagedClusterSecurityProfile(generators) + managedClusterSecurityProfileGenerator = gen.Struct(reflect.TypeOf(ManagedClusterSecurityProfile{}), generators) + + return managedClusterSecurityProfileGenerator +} + +// AddRelatedPropertyGeneratorsForManagedClusterSecurityProfile is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterSecurityProfile(gens map[string]gopter.Gen) { + gens["AzureKeyVaultKms"] = gen.PtrOf(AzureKeyVaultKmsGenerator()) + gens["Defender"] = gen.PtrOf(ManagedClusterSecurityProfileDefenderGenerator()) + gens["ImageCleaner"] = gen.PtrOf(ManagedClusterSecurityProfileImageCleanerGenerator()) + gens["WorkloadIdentity"] = gen.PtrOf(ManagedClusterSecurityProfileWorkloadIdentityGenerator()) +} + +func Test_ManagedClusterSecurityProfileDefender_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterSecurityProfileDefender to ManagedClusterSecurityProfileDefender via AssignProperties_To_ManagedClusterSecurityProfileDefender & AssignProperties_From_ManagedClusterSecurityProfileDefender returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterSecurityProfileDefender, ManagedClusterSecurityProfileDefenderGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterSecurityProfileDefender tests if a specific instance of ManagedClusterSecurityProfileDefender can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterSecurityProfileDefender(subject ManagedClusterSecurityProfileDefender) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterSecurityProfileDefender + err := copied.AssignProperties_To_ManagedClusterSecurityProfileDefender(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterSecurityProfileDefender + err = actual.AssignProperties_From_ManagedClusterSecurityProfileDefender(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ManagedClusterSecurityProfileDefender_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterSecurityProfileDefender via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterSecurityProfileDefender, ManagedClusterSecurityProfileDefenderGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterSecurityProfileDefender runs a test to see if a specific instance of ManagedClusterSecurityProfileDefender round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterSecurityProfileDefender(subject ManagedClusterSecurityProfileDefender) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterSecurityProfileDefender + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterSecurityProfileDefender instances for property testing - lazily instantiated by +// ManagedClusterSecurityProfileDefenderGenerator() +var managedClusterSecurityProfileDefenderGenerator gopter.Gen + +// ManagedClusterSecurityProfileDefenderGenerator returns a generator of ManagedClusterSecurityProfileDefender instances for property testing. +func ManagedClusterSecurityProfileDefenderGenerator() gopter.Gen { + if managedClusterSecurityProfileDefenderGenerator != nil { + return managedClusterSecurityProfileDefenderGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForManagedClusterSecurityProfileDefender(generators) + managedClusterSecurityProfileDefenderGenerator = gen.Struct(reflect.TypeOf(ManagedClusterSecurityProfileDefender{}), generators) + + return managedClusterSecurityProfileDefenderGenerator +} + +// AddRelatedPropertyGeneratorsForManagedClusterSecurityProfileDefender is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterSecurityProfileDefender(gens map[string]gopter.Gen) { + gens["SecurityMonitoring"] = gen.PtrOf(ManagedClusterSecurityProfileDefenderSecurityMonitoringGenerator()) +} + +func Test_ManagedClusterSecurityProfileDefenderSecurityMonitoring_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterSecurityProfileDefenderSecurityMonitoring to ManagedClusterSecurityProfileDefenderSecurityMonitoring via AssignProperties_To_ManagedClusterSecurityProfileDefenderSecurityMonitoring & AssignProperties_From_ManagedClusterSecurityProfileDefenderSecurityMonitoring returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterSecurityProfileDefenderSecurityMonitoring, ManagedClusterSecurityProfileDefenderSecurityMonitoringGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterSecurityProfileDefenderSecurityMonitoring tests if a specific instance of ManagedClusterSecurityProfileDefenderSecurityMonitoring can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterSecurityProfileDefenderSecurityMonitoring(subject ManagedClusterSecurityProfileDefenderSecurityMonitoring) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterSecurityProfileDefenderSecurityMonitoring + err := copied.AssignProperties_To_ManagedClusterSecurityProfileDefenderSecurityMonitoring(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterSecurityProfileDefenderSecurityMonitoring + err = actual.AssignProperties_From_ManagedClusterSecurityProfileDefenderSecurityMonitoring(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ManagedClusterSecurityProfileDefenderSecurityMonitoring_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterSecurityProfileDefenderSecurityMonitoring via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterSecurityProfileDefenderSecurityMonitoring, ManagedClusterSecurityProfileDefenderSecurityMonitoringGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterSecurityProfileDefenderSecurityMonitoring runs a test to see if a specific instance of ManagedClusterSecurityProfileDefenderSecurityMonitoring round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterSecurityProfileDefenderSecurityMonitoring(subject ManagedClusterSecurityProfileDefenderSecurityMonitoring) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterSecurityProfileDefenderSecurityMonitoring + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterSecurityProfileDefenderSecurityMonitoring instances for property testing - lazily +// instantiated by ManagedClusterSecurityProfileDefenderSecurityMonitoringGenerator() +var managedClusterSecurityProfileDefenderSecurityMonitoringGenerator gopter.Gen + +// ManagedClusterSecurityProfileDefenderSecurityMonitoringGenerator returns a generator of ManagedClusterSecurityProfileDefenderSecurityMonitoring instances for property testing. +func ManagedClusterSecurityProfileDefenderSecurityMonitoringGenerator() gopter.Gen { + if managedClusterSecurityProfileDefenderSecurityMonitoringGenerator != nil { + return managedClusterSecurityProfileDefenderSecurityMonitoringGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterSecurityProfileDefenderSecurityMonitoring(generators) + managedClusterSecurityProfileDefenderSecurityMonitoringGenerator = gen.Struct(reflect.TypeOf(ManagedClusterSecurityProfileDefenderSecurityMonitoring{}), generators) + + return managedClusterSecurityProfileDefenderSecurityMonitoringGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterSecurityProfileDefenderSecurityMonitoring is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterSecurityProfileDefenderSecurityMonitoring(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +func Test_ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS to ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS via AssignProperties_To_ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS & AssignProperties_From_ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS, ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS tests if a specific instance of ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS(subject ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS + err := copied.AssignProperties_To_ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS + err = actual.AssignProperties_From_ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS, ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS runs a test to see if a specific instance of ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS(subject ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS instances for property testing - lazily +// instantiated by ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUSGenerator() +var managedClusterSecurityProfileDefenderSecurityMonitoring_STATUSGenerator gopter.Gen + +// ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUSGenerator returns a generator of ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS instances for property testing. +func ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUSGenerator() gopter.Gen { + if managedClusterSecurityProfileDefenderSecurityMonitoring_STATUSGenerator != nil { + return managedClusterSecurityProfileDefenderSecurityMonitoring_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS(generators) + managedClusterSecurityProfileDefenderSecurityMonitoring_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS{}), generators) + + return managedClusterSecurityProfileDefenderSecurityMonitoring_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +func Test_ManagedClusterSecurityProfileDefender_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterSecurityProfileDefender_STATUS to ManagedClusterSecurityProfileDefender_STATUS via AssignProperties_To_ManagedClusterSecurityProfileDefender_STATUS & AssignProperties_From_ManagedClusterSecurityProfileDefender_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterSecurityProfileDefender_STATUS, ManagedClusterSecurityProfileDefender_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterSecurityProfileDefender_STATUS tests if a specific instance of ManagedClusterSecurityProfileDefender_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterSecurityProfileDefender_STATUS(subject ManagedClusterSecurityProfileDefender_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterSecurityProfileDefender_STATUS + err := copied.AssignProperties_To_ManagedClusterSecurityProfileDefender_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterSecurityProfileDefender_STATUS + err = actual.AssignProperties_From_ManagedClusterSecurityProfileDefender_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ManagedClusterSecurityProfileDefender_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterSecurityProfileDefender_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterSecurityProfileDefender_STATUS, ManagedClusterSecurityProfileDefender_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterSecurityProfileDefender_STATUS runs a test to see if a specific instance of ManagedClusterSecurityProfileDefender_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterSecurityProfileDefender_STATUS(subject ManagedClusterSecurityProfileDefender_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterSecurityProfileDefender_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterSecurityProfileDefender_STATUS instances for property testing - lazily instantiated by +// ManagedClusterSecurityProfileDefender_STATUSGenerator() +var managedClusterSecurityProfileDefender_STATUSGenerator gopter.Gen + +// ManagedClusterSecurityProfileDefender_STATUSGenerator returns a generator of ManagedClusterSecurityProfileDefender_STATUS instances for property testing. +// We first initialize managedClusterSecurityProfileDefender_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func ManagedClusterSecurityProfileDefender_STATUSGenerator() gopter.Gen { + if managedClusterSecurityProfileDefender_STATUSGenerator != nil { + return managedClusterSecurityProfileDefender_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterSecurityProfileDefender_STATUS(generators) + managedClusterSecurityProfileDefender_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterSecurityProfileDefender_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterSecurityProfileDefender_STATUS(generators) + AddRelatedPropertyGeneratorsForManagedClusterSecurityProfileDefender_STATUS(generators) + managedClusterSecurityProfileDefender_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterSecurityProfileDefender_STATUS{}), generators) + + return managedClusterSecurityProfileDefender_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterSecurityProfileDefender_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterSecurityProfileDefender_STATUS(gens map[string]gopter.Gen) { + gens["LogAnalyticsWorkspaceResourceId"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForManagedClusterSecurityProfileDefender_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterSecurityProfileDefender_STATUS(gens map[string]gopter.Gen) { + gens["SecurityMonitoring"] = gen.PtrOf(ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUSGenerator()) +} + +func Test_ManagedClusterSecurityProfileImageCleaner_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterSecurityProfileImageCleaner to ManagedClusterSecurityProfileImageCleaner via AssignProperties_To_ManagedClusterSecurityProfileImageCleaner & AssignProperties_From_ManagedClusterSecurityProfileImageCleaner returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterSecurityProfileImageCleaner, ManagedClusterSecurityProfileImageCleanerGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterSecurityProfileImageCleaner tests if a specific instance of ManagedClusterSecurityProfileImageCleaner can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterSecurityProfileImageCleaner(subject ManagedClusterSecurityProfileImageCleaner) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterSecurityProfileImageCleaner + err := copied.AssignProperties_To_ManagedClusterSecurityProfileImageCleaner(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterSecurityProfileImageCleaner + err = actual.AssignProperties_From_ManagedClusterSecurityProfileImageCleaner(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ManagedClusterSecurityProfileImageCleaner_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterSecurityProfileImageCleaner via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterSecurityProfileImageCleaner, ManagedClusterSecurityProfileImageCleanerGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterSecurityProfileImageCleaner runs a test to see if a specific instance of ManagedClusterSecurityProfileImageCleaner round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterSecurityProfileImageCleaner(subject ManagedClusterSecurityProfileImageCleaner) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterSecurityProfileImageCleaner + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterSecurityProfileImageCleaner instances for property testing - lazily instantiated by +// ManagedClusterSecurityProfileImageCleanerGenerator() +var managedClusterSecurityProfileImageCleanerGenerator gopter.Gen + +// ManagedClusterSecurityProfileImageCleanerGenerator returns a generator of ManagedClusterSecurityProfileImageCleaner instances for property testing. +func ManagedClusterSecurityProfileImageCleanerGenerator() gopter.Gen { + if managedClusterSecurityProfileImageCleanerGenerator != nil { + return managedClusterSecurityProfileImageCleanerGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterSecurityProfileImageCleaner(generators) + managedClusterSecurityProfileImageCleanerGenerator = gen.Struct(reflect.TypeOf(ManagedClusterSecurityProfileImageCleaner{}), generators) + + return managedClusterSecurityProfileImageCleanerGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterSecurityProfileImageCleaner is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterSecurityProfileImageCleaner(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) + gens["IntervalHours"] = gen.PtrOf(gen.Int()) +} + +func Test_ManagedClusterSecurityProfileImageCleaner_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterSecurityProfileImageCleaner_STATUS to ManagedClusterSecurityProfileImageCleaner_STATUS via AssignProperties_To_ManagedClusterSecurityProfileImageCleaner_STATUS & AssignProperties_From_ManagedClusterSecurityProfileImageCleaner_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterSecurityProfileImageCleaner_STATUS, ManagedClusterSecurityProfileImageCleaner_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterSecurityProfileImageCleaner_STATUS tests if a specific instance of ManagedClusterSecurityProfileImageCleaner_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterSecurityProfileImageCleaner_STATUS(subject ManagedClusterSecurityProfileImageCleaner_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterSecurityProfileImageCleaner_STATUS + err := copied.AssignProperties_To_ManagedClusterSecurityProfileImageCleaner_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterSecurityProfileImageCleaner_STATUS + err = actual.AssignProperties_From_ManagedClusterSecurityProfileImageCleaner_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ManagedClusterSecurityProfileImageCleaner_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterSecurityProfileImageCleaner_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterSecurityProfileImageCleaner_STATUS, ManagedClusterSecurityProfileImageCleaner_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterSecurityProfileImageCleaner_STATUS runs a test to see if a specific instance of ManagedClusterSecurityProfileImageCleaner_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterSecurityProfileImageCleaner_STATUS(subject ManagedClusterSecurityProfileImageCleaner_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterSecurityProfileImageCleaner_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterSecurityProfileImageCleaner_STATUS instances for property testing - lazily instantiated by +// ManagedClusterSecurityProfileImageCleaner_STATUSGenerator() +var managedClusterSecurityProfileImageCleaner_STATUSGenerator gopter.Gen + +// ManagedClusterSecurityProfileImageCleaner_STATUSGenerator returns a generator of ManagedClusterSecurityProfileImageCleaner_STATUS instances for property testing. +func ManagedClusterSecurityProfileImageCleaner_STATUSGenerator() gopter.Gen { + if managedClusterSecurityProfileImageCleaner_STATUSGenerator != nil { + return managedClusterSecurityProfileImageCleaner_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterSecurityProfileImageCleaner_STATUS(generators) + managedClusterSecurityProfileImageCleaner_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterSecurityProfileImageCleaner_STATUS{}), generators) + + return managedClusterSecurityProfileImageCleaner_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterSecurityProfileImageCleaner_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterSecurityProfileImageCleaner_STATUS(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) + gens["IntervalHours"] = gen.PtrOf(gen.Int()) +} + +func Test_ManagedClusterSecurityProfileWorkloadIdentity_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterSecurityProfileWorkloadIdentity to ManagedClusterSecurityProfileWorkloadIdentity via AssignProperties_To_ManagedClusterSecurityProfileWorkloadIdentity & AssignProperties_From_ManagedClusterSecurityProfileWorkloadIdentity returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterSecurityProfileWorkloadIdentity, ManagedClusterSecurityProfileWorkloadIdentityGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterSecurityProfileWorkloadIdentity tests if a specific instance of ManagedClusterSecurityProfileWorkloadIdentity can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterSecurityProfileWorkloadIdentity(subject ManagedClusterSecurityProfileWorkloadIdentity) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterSecurityProfileWorkloadIdentity + err := copied.AssignProperties_To_ManagedClusterSecurityProfileWorkloadIdentity(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterSecurityProfileWorkloadIdentity + err = actual.AssignProperties_From_ManagedClusterSecurityProfileWorkloadIdentity(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ManagedClusterSecurityProfileWorkloadIdentity_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterSecurityProfileWorkloadIdentity via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterSecurityProfileWorkloadIdentity, ManagedClusterSecurityProfileWorkloadIdentityGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterSecurityProfileWorkloadIdentity runs a test to see if a specific instance of ManagedClusterSecurityProfileWorkloadIdentity round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterSecurityProfileWorkloadIdentity(subject ManagedClusterSecurityProfileWorkloadIdentity) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterSecurityProfileWorkloadIdentity + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterSecurityProfileWorkloadIdentity instances for property testing - lazily instantiated by +// ManagedClusterSecurityProfileWorkloadIdentityGenerator() +var managedClusterSecurityProfileWorkloadIdentityGenerator gopter.Gen + +// ManagedClusterSecurityProfileWorkloadIdentityGenerator returns a generator of ManagedClusterSecurityProfileWorkloadIdentity instances for property testing. +func ManagedClusterSecurityProfileWorkloadIdentityGenerator() gopter.Gen { + if managedClusterSecurityProfileWorkloadIdentityGenerator != nil { + return managedClusterSecurityProfileWorkloadIdentityGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterSecurityProfileWorkloadIdentity(generators) + managedClusterSecurityProfileWorkloadIdentityGenerator = gen.Struct(reflect.TypeOf(ManagedClusterSecurityProfileWorkloadIdentity{}), generators) + + return managedClusterSecurityProfileWorkloadIdentityGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterSecurityProfileWorkloadIdentity is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterSecurityProfileWorkloadIdentity(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +func Test_ManagedClusterSecurityProfileWorkloadIdentity_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterSecurityProfileWorkloadIdentity_STATUS to ManagedClusterSecurityProfileWorkloadIdentity_STATUS via AssignProperties_To_ManagedClusterSecurityProfileWorkloadIdentity_STATUS & AssignProperties_From_ManagedClusterSecurityProfileWorkloadIdentity_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterSecurityProfileWorkloadIdentity_STATUS, ManagedClusterSecurityProfileWorkloadIdentity_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterSecurityProfileWorkloadIdentity_STATUS tests if a specific instance of ManagedClusterSecurityProfileWorkloadIdentity_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterSecurityProfileWorkloadIdentity_STATUS(subject ManagedClusterSecurityProfileWorkloadIdentity_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterSecurityProfileWorkloadIdentity_STATUS + err := copied.AssignProperties_To_ManagedClusterSecurityProfileWorkloadIdentity_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterSecurityProfileWorkloadIdentity_STATUS + err = actual.AssignProperties_From_ManagedClusterSecurityProfileWorkloadIdentity_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ManagedClusterSecurityProfileWorkloadIdentity_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterSecurityProfileWorkloadIdentity_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterSecurityProfileWorkloadIdentity_STATUS, ManagedClusterSecurityProfileWorkloadIdentity_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterSecurityProfileWorkloadIdentity_STATUS runs a test to see if a specific instance of ManagedClusterSecurityProfileWorkloadIdentity_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterSecurityProfileWorkloadIdentity_STATUS(subject ManagedClusterSecurityProfileWorkloadIdentity_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterSecurityProfileWorkloadIdentity_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterSecurityProfileWorkloadIdentity_STATUS instances for property testing - lazily +// instantiated by ManagedClusterSecurityProfileWorkloadIdentity_STATUSGenerator() +var managedClusterSecurityProfileWorkloadIdentity_STATUSGenerator gopter.Gen + +// ManagedClusterSecurityProfileWorkloadIdentity_STATUSGenerator returns a generator of ManagedClusterSecurityProfileWorkloadIdentity_STATUS instances for property testing. +func ManagedClusterSecurityProfileWorkloadIdentity_STATUSGenerator() gopter.Gen { + if managedClusterSecurityProfileWorkloadIdentity_STATUSGenerator != nil { + return managedClusterSecurityProfileWorkloadIdentity_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterSecurityProfileWorkloadIdentity_STATUS(generators) + managedClusterSecurityProfileWorkloadIdentity_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterSecurityProfileWorkloadIdentity_STATUS{}), generators) + + return managedClusterSecurityProfileWorkloadIdentity_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterSecurityProfileWorkloadIdentity_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterSecurityProfileWorkloadIdentity_STATUS(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +func Test_ManagedClusterSecurityProfile_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterSecurityProfile_STATUS to ManagedClusterSecurityProfile_STATUS via AssignProperties_To_ManagedClusterSecurityProfile_STATUS & AssignProperties_From_ManagedClusterSecurityProfile_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterSecurityProfile_STATUS, ManagedClusterSecurityProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterSecurityProfile_STATUS tests if a specific instance of ManagedClusterSecurityProfile_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterSecurityProfile_STATUS(subject ManagedClusterSecurityProfile_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterSecurityProfile_STATUS + err := copied.AssignProperties_To_ManagedClusterSecurityProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterSecurityProfile_STATUS + err = actual.AssignProperties_From_ManagedClusterSecurityProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ManagedClusterSecurityProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterSecurityProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterSecurityProfile_STATUS, ManagedClusterSecurityProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterSecurityProfile_STATUS runs a test to see if a specific instance of ManagedClusterSecurityProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterSecurityProfile_STATUS(subject ManagedClusterSecurityProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterSecurityProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterSecurityProfile_STATUS instances for property testing - lazily instantiated by +// ManagedClusterSecurityProfile_STATUSGenerator() +var managedClusterSecurityProfile_STATUSGenerator gopter.Gen + +// ManagedClusterSecurityProfile_STATUSGenerator returns a generator of ManagedClusterSecurityProfile_STATUS instances for property testing. +func ManagedClusterSecurityProfile_STATUSGenerator() gopter.Gen { + if managedClusterSecurityProfile_STATUSGenerator != nil { + return managedClusterSecurityProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForManagedClusterSecurityProfile_STATUS(generators) + managedClusterSecurityProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterSecurityProfile_STATUS{}), generators) + + return managedClusterSecurityProfile_STATUSGenerator +} + +// AddRelatedPropertyGeneratorsForManagedClusterSecurityProfile_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterSecurityProfile_STATUS(gens map[string]gopter.Gen) { + gens["AzureKeyVaultKms"] = gen.PtrOf(AzureKeyVaultKms_STATUSGenerator()) + gens["Defender"] = gen.PtrOf(ManagedClusterSecurityProfileDefender_STATUSGenerator()) + gens["ImageCleaner"] = gen.PtrOf(ManagedClusterSecurityProfileImageCleaner_STATUSGenerator()) + gens["WorkloadIdentity"] = gen.PtrOf(ManagedClusterSecurityProfileWorkloadIdentity_STATUSGenerator()) +} + +func Test_ManagedClusterServicePrincipalProfile_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterServicePrincipalProfile to ManagedClusterServicePrincipalProfile via AssignProperties_To_ManagedClusterServicePrincipalProfile & AssignProperties_From_ManagedClusterServicePrincipalProfile returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterServicePrincipalProfile, ManagedClusterServicePrincipalProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterServicePrincipalProfile tests if a specific instance of ManagedClusterServicePrincipalProfile can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterServicePrincipalProfile(subject ManagedClusterServicePrincipalProfile) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterServicePrincipalProfile + err := copied.AssignProperties_To_ManagedClusterServicePrincipalProfile(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterServicePrincipalProfile + err = actual.AssignProperties_From_ManagedClusterServicePrincipalProfile(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ManagedClusterServicePrincipalProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterServicePrincipalProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterServicePrincipalProfile, ManagedClusterServicePrincipalProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterServicePrincipalProfile runs a test to see if a specific instance of ManagedClusterServicePrincipalProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterServicePrincipalProfile(subject ManagedClusterServicePrincipalProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterServicePrincipalProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterServicePrincipalProfile instances for property testing - lazily instantiated by +// ManagedClusterServicePrincipalProfileGenerator() +var managedClusterServicePrincipalProfileGenerator gopter.Gen + +// ManagedClusterServicePrincipalProfileGenerator returns a generator of ManagedClusterServicePrincipalProfile instances for property testing. +func ManagedClusterServicePrincipalProfileGenerator() gopter.Gen { + if managedClusterServicePrincipalProfileGenerator != nil { + return managedClusterServicePrincipalProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterServicePrincipalProfile(generators) + managedClusterServicePrincipalProfileGenerator = gen.Struct(reflect.TypeOf(ManagedClusterServicePrincipalProfile{}), generators) + + return managedClusterServicePrincipalProfileGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterServicePrincipalProfile is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterServicePrincipalProfile(gens map[string]gopter.Gen) { + gens["ClientId"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ManagedClusterServicePrincipalProfile_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterServicePrincipalProfile_STATUS to ManagedClusterServicePrincipalProfile_STATUS via AssignProperties_To_ManagedClusterServicePrincipalProfile_STATUS & AssignProperties_From_ManagedClusterServicePrincipalProfile_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterServicePrincipalProfile_STATUS, ManagedClusterServicePrincipalProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterServicePrincipalProfile_STATUS tests if a specific instance of ManagedClusterServicePrincipalProfile_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterServicePrincipalProfile_STATUS(subject ManagedClusterServicePrincipalProfile_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterServicePrincipalProfile_STATUS + err := copied.AssignProperties_To_ManagedClusterServicePrincipalProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterServicePrincipalProfile_STATUS + err = actual.AssignProperties_From_ManagedClusterServicePrincipalProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ManagedClusterServicePrincipalProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterServicePrincipalProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterServicePrincipalProfile_STATUS, ManagedClusterServicePrincipalProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterServicePrincipalProfile_STATUS runs a test to see if a specific instance of ManagedClusterServicePrincipalProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterServicePrincipalProfile_STATUS(subject ManagedClusterServicePrincipalProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterServicePrincipalProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterServicePrincipalProfile_STATUS instances for property testing - lazily instantiated by +// ManagedClusterServicePrincipalProfile_STATUSGenerator() +var managedClusterServicePrincipalProfile_STATUSGenerator gopter.Gen + +// ManagedClusterServicePrincipalProfile_STATUSGenerator returns a generator of ManagedClusterServicePrincipalProfile_STATUS instances for property testing. +func ManagedClusterServicePrincipalProfile_STATUSGenerator() gopter.Gen { + if managedClusterServicePrincipalProfile_STATUSGenerator != nil { + return managedClusterServicePrincipalProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterServicePrincipalProfile_STATUS(generators) + managedClusterServicePrincipalProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterServicePrincipalProfile_STATUS{}), generators) + + return managedClusterServicePrincipalProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterServicePrincipalProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterServicePrincipalProfile_STATUS(gens map[string]gopter.Gen) { + gens["ClientId"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ManagedClusterStorageProfile_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterStorageProfile to ManagedClusterStorageProfile via AssignProperties_To_ManagedClusterStorageProfile & AssignProperties_From_ManagedClusterStorageProfile returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterStorageProfile, ManagedClusterStorageProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterStorageProfile tests if a specific instance of ManagedClusterStorageProfile can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterStorageProfile(subject ManagedClusterStorageProfile) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterStorageProfile + err := copied.AssignProperties_To_ManagedClusterStorageProfile(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterStorageProfile + err = actual.AssignProperties_From_ManagedClusterStorageProfile(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ManagedClusterStorageProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterStorageProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterStorageProfile, ManagedClusterStorageProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterStorageProfile runs a test to see if a specific instance of ManagedClusterStorageProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterStorageProfile(subject ManagedClusterStorageProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterStorageProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterStorageProfile instances for property testing - lazily instantiated by +// ManagedClusterStorageProfileGenerator() +var managedClusterStorageProfileGenerator gopter.Gen + +// ManagedClusterStorageProfileGenerator returns a generator of ManagedClusterStorageProfile instances for property testing. +func ManagedClusterStorageProfileGenerator() gopter.Gen { + if managedClusterStorageProfileGenerator != nil { + return managedClusterStorageProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForManagedClusterStorageProfile(generators) + managedClusterStorageProfileGenerator = gen.Struct(reflect.TypeOf(ManagedClusterStorageProfile{}), generators) + + return managedClusterStorageProfileGenerator +} + +// AddRelatedPropertyGeneratorsForManagedClusterStorageProfile is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterStorageProfile(gens map[string]gopter.Gen) { + gens["BlobCSIDriver"] = gen.PtrOf(ManagedClusterStorageProfileBlobCSIDriverGenerator()) + gens["DiskCSIDriver"] = gen.PtrOf(ManagedClusterStorageProfileDiskCSIDriverGenerator()) + gens["FileCSIDriver"] = gen.PtrOf(ManagedClusterStorageProfileFileCSIDriverGenerator()) + gens["SnapshotController"] = gen.PtrOf(ManagedClusterStorageProfileSnapshotControllerGenerator()) +} + +func Test_ManagedClusterStorageProfileBlobCSIDriver_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterStorageProfileBlobCSIDriver to ManagedClusterStorageProfileBlobCSIDriver via AssignProperties_To_ManagedClusterStorageProfileBlobCSIDriver & AssignProperties_From_ManagedClusterStorageProfileBlobCSIDriver returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterStorageProfileBlobCSIDriver, ManagedClusterStorageProfileBlobCSIDriverGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterStorageProfileBlobCSIDriver tests if a specific instance of ManagedClusterStorageProfileBlobCSIDriver can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterStorageProfileBlobCSIDriver(subject ManagedClusterStorageProfileBlobCSIDriver) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterStorageProfileBlobCSIDriver + err := copied.AssignProperties_To_ManagedClusterStorageProfileBlobCSIDriver(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterStorageProfileBlobCSIDriver + err = actual.AssignProperties_From_ManagedClusterStorageProfileBlobCSIDriver(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ManagedClusterStorageProfileBlobCSIDriver_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterStorageProfileBlobCSIDriver via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterStorageProfileBlobCSIDriver, ManagedClusterStorageProfileBlobCSIDriverGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterStorageProfileBlobCSIDriver runs a test to see if a specific instance of ManagedClusterStorageProfileBlobCSIDriver round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterStorageProfileBlobCSIDriver(subject ManagedClusterStorageProfileBlobCSIDriver) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterStorageProfileBlobCSIDriver + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterStorageProfileBlobCSIDriver instances for property testing - lazily instantiated by +// ManagedClusterStorageProfileBlobCSIDriverGenerator() +var managedClusterStorageProfileBlobCSIDriverGenerator gopter.Gen + +// ManagedClusterStorageProfileBlobCSIDriverGenerator returns a generator of ManagedClusterStorageProfileBlobCSIDriver instances for property testing. +func ManagedClusterStorageProfileBlobCSIDriverGenerator() gopter.Gen { + if managedClusterStorageProfileBlobCSIDriverGenerator != nil { + return managedClusterStorageProfileBlobCSIDriverGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterStorageProfileBlobCSIDriver(generators) + managedClusterStorageProfileBlobCSIDriverGenerator = gen.Struct(reflect.TypeOf(ManagedClusterStorageProfileBlobCSIDriver{}), generators) + + return managedClusterStorageProfileBlobCSIDriverGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterStorageProfileBlobCSIDriver is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterStorageProfileBlobCSIDriver(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +func Test_ManagedClusterStorageProfileBlobCSIDriver_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterStorageProfileBlobCSIDriver_STATUS to ManagedClusterStorageProfileBlobCSIDriver_STATUS via AssignProperties_To_ManagedClusterStorageProfileBlobCSIDriver_STATUS & AssignProperties_From_ManagedClusterStorageProfileBlobCSIDriver_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterStorageProfileBlobCSIDriver_STATUS, ManagedClusterStorageProfileBlobCSIDriver_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterStorageProfileBlobCSIDriver_STATUS tests if a specific instance of ManagedClusterStorageProfileBlobCSIDriver_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterStorageProfileBlobCSIDriver_STATUS(subject ManagedClusterStorageProfileBlobCSIDriver_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterStorageProfileBlobCSIDriver_STATUS + err := copied.AssignProperties_To_ManagedClusterStorageProfileBlobCSIDriver_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterStorageProfileBlobCSIDriver_STATUS + err = actual.AssignProperties_From_ManagedClusterStorageProfileBlobCSIDriver_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ManagedClusterStorageProfileBlobCSIDriver_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterStorageProfileBlobCSIDriver_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterStorageProfileBlobCSIDriver_STATUS, ManagedClusterStorageProfileBlobCSIDriver_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterStorageProfileBlobCSIDriver_STATUS runs a test to see if a specific instance of ManagedClusterStorageProfileBlobCSIDriver_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterStorageProfileBlobCSIDriver_STATUS(subject ManagedClusterStorageProfileBlobCSIDriver_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterStorageProfileBlobCSIDriver_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterStorageProfileBlobCSIDriver_STATUS instances for property testing - lazily instantiated by +// ManagedClusterStorageProfileBlobCSIDriver_STATUSGenerator() +var managedClusterStorageProfileBlobCSIDriver_STATUSGenerator gopter.Gen + +// ManagedClusterStorageProfileBlobCSIDriver_STATUSGenerator returns a generator of ManagedClusterStorageProfileBlobCSIDriver_STATUS instances for property testing. +func ManagedClusterStorageProfileBlobCSIDriver_STATUSGenerator() gopter.Gen { + if managedClusterStorageProfileBlobCSIDriver_STATUSGenerator != nil { + return managedClusterStorageProfileBlobCSIDriver_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterStorageProfileBlobCSIDriver_STATUS(generators) + managedClusterStorageProfileBlobCSIDriver_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterStorageProfileBlobCSIDriver_STATUS{}), generators) + + return managedClusterStorageProfileBlobCSIDriver_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterStorageProfileBlobCSIDriver_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterStorageProfileBlobCSIDriver_STATUS(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +func Test_ManagedClusterStorageProfileDiskCSIDriver_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterStorageProfileDiskCSIDriver to ManagedClusterStorageProfileDiskCSIDriver via AssignProperties_To_ManagedClusterStorageProfileDiskCSIDriver & AssignProperties_From_ManagedClusterStorageProfileDiskCSIDriver returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterStorageProfileDiskCSIDriver, ManagedClusterStorageProfileDiskCSIDriverGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterStorageProfileDiskCSIDriver tests if a specific instance of ManagedClusterStorageProfileDiskCSIDriver can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterStorageProfileDiskCSIDriver(subject ManagedClusterStorageProfileDiskCSIDriver) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterStorageProfileDiskCSIDriver + err := copied.AssignProperties_To_ManagedClusterStorageProfileDiskCSIDriver(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterStorageProfileDiskCSIDriver + err = actual.AssignProperties_From_ManagedClusterStorageProfileDiskCSIDriver(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ManagedClusterStorageProfileDiskCSIDriver_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterStorageProfileDiskCSIDriver via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterStorageProfileDiskCSIDriver, ManagedClusterStorageProfileDiskCSIDriverGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterStorageProfileDiskCSIDriver runs a test to see if a specific instance of ManagedClusterStorageProfileDiskCSIDriver round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterStorageProfileDiskCSIDriver(subject ManagedClusterStorageProfileDiskCSIDriver) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterStorageProfileDiskCSIDriver + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterStorageProfileDiskCSIDriver instances for property testing - lazily instantiated by +// ManagedClusterStorageProfileDiskCSIDriverGenerator() +var managedClusterStorageProfileDiskCSIDriverGenerator gopter.Gen + +// ManagedClusterStorageProfileDiskCSIDriverGenerator returns a generator of ManagedClusterStorageProfileDiskCSIDriver instances for property testing. +func ManagedClusterStorageProfileDiskCSIDriverGenerator() gopter.Gen { + if managedClusterStorageProfileDiskCSIDriverGenerator != nil { + return managedClusterStorageProfileDiskCSIDriverGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterStorageProfileDiskCSIDriver(generators) + managedClusterStorageProfileDiskCSIDriverGenerator = gen.Struct(reflect.TypeOf(ManagedClusterStorageProfileDiskCSIDriver{}), generators) + + return managedClusterStorageProfileDiskCSIDriverGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterStorageProfileDiskCSIDriver is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterStorageProfileDiskCSIDriver(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +func Test_ManagedClusterStorageProfileDiskCSIDriver_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterStorageProfileDiskCSIDriver_STATUS to ManagedClusterStorageProfileDiskCSIDriver_STATUS via AssignProperties_To_ManagedClusterStorageProfileDiskCSIDriver_STATUS & AssignProperties_From_ManagedClusterStorageProfileDiskCSIDriver_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterStorageProfileDiskCSIDriver_STATUS, ManagedClusterStorageProfileDiskCSIDriver_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterStorageProfileDiskCSIDriver_STATUS tests if a specific instance of ManagedClusterStorageProfileDiskCSIDriver_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterStorageProfileDiskCSIDriver_STATUS(subject ManagedClusterStorageProfileDiskCSIDriver_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterStorageProfileDiskCSIDriver_STATUS + err := copied.AssignProperties_To_ManagedClusterStorageProfileDiskCSIDriver_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterStorageProfileDiskCSIDriver_STATUS + err = actual.AssignProperties_From_ManagedClusterStorageProfileDiskCSIDriver_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ManagedClusterStorageProfileDiskCSIDriver_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterStorageProfileDiskCSIDriver_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterStorageProfileDiskCSIDriver_STATUS, ManagedClusterStorageProfileDiskCSIDriver_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterStorageProfileDiskCSIDriver_STATUS runs a test to see if a specific instance of ManagedClusterStorageProfileDiskCSIDriver_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterStorageProfileDiskCSIDriver_STATUS(subject ManagedClusterStorageProfileDiskCSIDriver_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterStorageProfileDiskCSIDriver_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterStorageProfileDiskCSIDriver_STATUS instances for property testing - lazily instantiated by +// ManagedClusterStorageProfileDiskCSIDriver_STATUSGenerator() +var managedClusterStorageProfileDiskCSIDriver_STATUSGenerator gopter.Gen + +// ManagedClusterStorageProfileDiskCSIDriver_STATUSGenerator returns a generator of ManagedClusterStorageProfileDiskCSIDriver_STATUS instances for property testing. +func ManagedClusterStorageProfileDiskCSIDriver_STATUSGenerator() gopter.Gen { + if managedClusterStorageProfileDiskCSIDriver_STATUSGenerator != nil { + return managedClusterStorageProfileDiskCSIDriver_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterStorageProfileDiskCSIDriver_STATUS(generators) + managedClusterStorageProfileDiskCSIDriver_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterStorageProfileDiskCSIDriver_STATUS{}), generators) + + return managedClusterStorageProfileDiskCSIDriver_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterStorageProfileDiskCSIDriver_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterStorageProfileDiskCSIDriver_STATUS(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +func Test_ManagedClusterStorageProfileFileCSIDriver_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterStorageProfileFileCSIDriver to ManagedClusterStorageProfileFileCSIDriver via AssignProperties_To_ManagedClusterStorageProfileFileCSIDriver & AssignProperties_From_ManagedClusterStorageProfileFileCSIDriver returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterStorageProfileFileCSIDriver, ManagedClusterStorageProfileFileCSIDriverGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterStorageProfileFileCSIDriver tests if a specific instance of ManagedClusterStorageProfileFileCSIDriver can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterStorageProfileFileCSIDriver(subject ManagedClusterStorageProfileFileCSIDriver) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterStorageProfileFileCSIDriver + err := copied.AssignProperties_To_ManagedClusterStorageProfileFileCSIDriver(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterStorageProfileFileCSIDriver + err = actual.AssignProperties_From_ManagedClusterStorageProfileFileCSIDriver(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ManagedClusterStorageProfileFileCSIDriver_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterStorageProfileFileCSIDriver via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterStorageProfileFileCSIDriver, ManagedClusterStorageProfileFileCSIDriverGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterStorageProfileFileCSIDriver runs a test to see if a specific instance of ManagedClusterStorageProfileFileCSIDriver round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterStorageProfileFileCSIDriver(subject ManagedClusterStorageProfileFileCSIDriver) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterStorageProfileFileCSIDriver + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterStorageProfileFileCSIDriver instances for property testing - lazily instantiated by +// ManagedClusterStorageProfileFileCSIDriverGenerator() +var managedClusterStorageProfileFileCSIDriverGenerator gopter.Gen + +// ManagedClusterStorageProfileFileCSIDriverGenerator returns a generator of ManagedClusterStorageProfileFileCSIDriver instances for property testing. +func ManagedClusterStorageProfileFileCSIDriverGenerator() gopter.Gen { + if managedClusterStorageProfileFileCSIDriverGenerator != nil { + return managedClusterStorageProfileFileCSIDriverGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterStorageProfileFileCSIDriver(generators) + managedClusterStorageProfileFileCSIDriverGenerator = gen.Struct(reflect.TypeOf(ManagedClusterStorageProfileFileCSIDriver{}), generators) + + return managedClusterStorageProfileFileCSIDriverGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterStorageProfileFileCSIDriver is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterStorageProfileFileCSIDriver(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +func Test_ManagedClusterStorageProfileFileCSIDriver_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterStorageProfileFileCSIDriver_STATUS to ManagedClusterStorageProfileFileCSIDriver_STATUS via AssignProperties_To_ManagedClusterStorageProfileFileCSIDriver_STATUS & AssignProperties_From_ManagedClusterStorageProfileFileCSIDriver_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterStorageProfileFileCSIDriver_STATUS, ManagedClusterStorageProfileFileCSIDriver_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterStorageProfileFileCSIDriver_STATUS tests if a specific instance of ManagedClusterStorageProfileFileCSIDriver_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterStorageProfileFileCSIDriver_STATUS(subject ManagedClusterStorageProfileFileCSIDriver_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterStorageProfileFileCSIDriver_STATUS + err := copied.AssignProperties_To_ManagedClusterStorageProfileFileCSIDriver_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterStorageProfileFileCSIDriver_STATUS + err = actual.AssignProperties_From_ManagedClusterStorageProfileFileCSIDriver_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ManagedClusterStorageProfileFileCSIDriver_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterStorageProfileFileCSIDriver_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterStorageProfileFileCSIDriver_STATUS, ManagedClusterStorageProfileFileCSIDriver_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterStorageProfileFileCSIDriver_STATUS runs a test to see if a specific instance of ManagedClusterStorageProfileFileCSIDriver_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterStorageProfileFileCSIDriver_STATUS(subject ManagedClusterStorageProfileFileCSIDriver_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterStorageProfileFileCSIDriver_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterStorageProfileFileCSIDriver_STATUS instances for property testing - lazily instantiated by +// ManagedClusterStorageProfileFileCSIDriver_STATUSGenerator() +var managedClusterStorageProfileFileCSIDriver_STATUSGenerator gopter.Gen + +// ManagedClusterStorageProfileFileCSIDriver_STATUSGenerator returns a generator of ManagedClusterStorageProfileFileCSIDriver_STATUS instances for property testing. +func ManagedClusterStorageProfileFileCSIDriver_STATUSGenerator() gopter.Gen { + if managedClusterStorageProfileFileCSIDriver_STATUSGenerator != nil { + return managedClusterStorageProfileFileCSIDriver_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterStorageProfileFileCSIDriver_STATUS(generators) + managedClusterStorageProfileFileCSIDriver_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterStorageProfileFileCSIDriver_STATUS{}), generators) + + return managedClusterStorageProfileFileCSIDriver_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterStorageProfileFileCSIDriver_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterStorageProfileFileCSIDriver_STATUS(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +func Test_ManagedClusterStorageProfileSnapshotController_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterStorageProfileSnapshotController to ManagedClusterStorageProfileSnapshotController via AssignProperties_To_ManagedClusterStorageProfileSnapshotController & AssignProperties_From_ManagedClusterStorageProfileSnapshotController returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterStorageProfileSnapshotController, ManagedClusterStorageProfileSnapshotControllerGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterStorageProfileSnapshotController tests if a specific instance of ManagedClusterStorageProfileSnapshotController can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterStorageProfileSnapshotController(subject ManagedClusterStorageProfileSnapshotController) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterStorageProfileSnapshotController + err := copied.AssignProperties_To_ManagedClusterStorageProfileSnapshotController(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterStorageProfileSnapshotController + err = actual.AssignProperties_From_ManagedClusterStorageProfileSnapshotController(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ManagedClusterStorageProfileSnapshotController_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterStorageProfileSnapshotController via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterStorageProfileSnapshotController, ManagedClusterStorageProfileSnapshotControllerGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterStorageProfileSnapshotController runs a test to see if a specific instance of ManagedClusterStorageProfileSnapshotController round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterStorageProfileSnapshotController(subject ManagedClusterStorageProfileSnapshotController) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterStorageProfileSnapshotController + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterStorageProfileSnapshotController instances for property testing - lazily instantiated by +// ManagedClusterStorageProfileSnapshotControllerGenerator() +var managedClusterStorageProfileSnapshotControllerGenerator gopter.Gen + +// ManagedClusterStorageProfileSnapshotControllerGenerator returns a generator of ManagedClusterStorageProfileSnapshotController instances for property testing. +func ManagedClusterStorageProfileSnapshotControllerGenerator() gopter.Gen { + if managedClusterStorageProfileSnapshotControllerGenerator != nil { + return managedClusterStorageProfileSnapshotControllerGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterStorageProfileSnapshotController(generators) + managedClusterStorageProfileSnapshotControllerGenerator = gen.Struct(reflect.TypeOf(ManagedClusterStorageProfileSnapshotController{}), generators) + + return managedClusterStorageProfileSnapshotControllerGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterStorageProfileSnapshotController is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterStorageProfileSnapshotController(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +func Test_ManagedClusterStorageProfileSnapshotController_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterStorageProfileSnapshotController_STATUS to ManagedClusterStorageProfileSnapshotController_STATUS via AssignProperties_To_ManagedClusterStorageProfileSnapshotController_STATUS & AssignProperties_From_ManagedClusterStorageProfileSnapshotController_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterStorageProfileSnapshotController_STATUS, ManagedClusterStorageProfileSnapshotController_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterStorageProfileSnapshotController_STATUS tests if a specific instance of ManagedClusterStorageProfileSnapshotController_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterStorageProfileSnapshotController_STATUS(subject ManagedClusterStorageProfileSnapshotController_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterStorageProfileSnapshotController_STATUS + err := copied.AssignProperties_To_ManagedClusterStorageProfileSnapshotController_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterStorageProfileSnapshotController_STATUS + err = actual.AssignProperties_From_ManagedClusterStorageProfileSnapshotController_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ManagedClusterStorageProfileSnapshotController_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterStorageProfileSnapshotController_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterStorageProfileSnapshotController_STATUS, ManagedClusterStorageProfileSnapshotController_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterStorageProfileSnapshotController_STATUS runs a test to see if a specific instance of ManagedClusterStorageProfileSnapshotController_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterStorageProfileSnapshotController_STATUS(subject ManagedClusterStorageProfileSnapshotController_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterStorageProfileSnapshotController_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterStorageProfileSnapshotController_STATUS instances for property testing - lazily +// instantiated by ManagedClusterStorageProfileSnapshotController_STATUSGenerator() +var managedClusterStorageProfileSnapshotController_STATUSGenerator gopter.Gen + +// ManagedClusterStorageProfileSnapshotController_STATUSGenerator returns a generator of ManagedClusterStorageProfileSnapshotController_STATUS instances for property testing. +func ManagedClusterStorageProfileSnapshotController_STATUSGenerator() gopter.Gen { + if managedClusterStorageProfileSnapshotController_STATUSGenerator != nil { + return managedClusterStorageProfileSnapshotController_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterStorageProfileSnapshotController_STATUS(generators) + managedClusterStorageProfileSnapshotController_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterStorageProfileSnapshotController_STATUS{}), generators) + + return managedClusterStorageProfileSnapshotController_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterStorageProfileSnapshotController_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterStorageProfileSnapshotController_STATUS(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +func Test_ManagedClusterStorageProfile_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterStorageProfile_STATUS to ManagedClusterStorageProfile_STATUS via AssignProperties_To_ManagedClusterStorageProfile_STATUS & AssignProperties_From_ManagedClusterStorageProfile_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterStorageProfile_STATUS, ManagedClusterStorageProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterStorageProfile_STATUS tests if a specific instance of ManagedClusterStorageProfile_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterStorageProfile_STATUS(subject ManagedClusterStorageProfile_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterStorageProfile_STATUS + err := copied.AssignProperties_To_ManagedClusterStorageProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterStorageProfile_STATUS + err = actual.AssignProperties_From_ManagedClusterStorageProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ManagedClusterStorageProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterStorageProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterStorageProfile_STATUS, ManagedClusterStorageProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterStorageProfile_STATUS runs a test to see if a specific instance of ManagedClusterStorageProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterStorageProfile_STATUS(subject ManagedClusterStorageProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterStorageProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterStorageProfile_STATUS instances for property testing - lazily instantiated by +// ManagedClusterStorageProfile_STATUSGenerator() +var managedClusterStorageProfile_STATUSGenerator gopter.Gen + +// ManagedClusterStorageProfile_STATUSGenerator returns a generator of ManagedClusterStorageProfile_STATUS instances for property testing. +func ManagedClusterStorageProfile_STATUSGenerator() gopter.Gen { + if managedClusterStorageProfile_STATUSGenerator != nil { + return managedClusterStorageProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForManagedClusterStorageProfile_STATUS(generators) + managedClusterStorageProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterStorageProfile_STATUS{}), generators) + + return managedClusterStorageProfile_STATUSGenerator +} + +// AddRelatedPropertyGeneratorsForManagedClusterStorageProfile_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterStorageProfile_STATUS(gens map[string]gopter.Gen) { + gens["BlobCSIDriver"] = gen.PtrOf(ManagedClusterStorageProfileBlobCSIDriver_STATUSGenerator()) + gens["DiskCSIDriver"] = gen.PtrOf(ManagedClusterStorageProfileDiskCSIDriver_STATUSGenerator()) + gens["FileCSIDriver"] = gen.PtrOf(ManagedClusterStorageProfileFileCSIDriver_STATUSGenerator()) + gens["SnapshotController"] = gen.PtrOf(ManagedClusterStorageProfileSnapshotController_STATUSGenerator()) +} + +func Test_ManagedClusterWindowsProfile_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterWindowsProfile to ManagedClusterWindowsProfile via AssignProperties_To_ManagedClusterWindowsProfile & AssignProperties_From_ManagedClusterWindowsProfile returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterWindowsProfile, ManagedClusterWindowsProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterWindowsProfile tests if a specific instance of ManagedClusterWindowsProfile can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterWindowsProfile(subject ManagedClusterWindowsProfile) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterWindowsProfile + err := copied.AssignProperties_To_ManagedClusterWindowsProfile(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterWindowsProfile + err = actual.AssignProperties_From_ManagedClusterWindowsProfile(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ManagedClusterWindowsProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterWindowsProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterWindowsProfile, ManagedClusterWindowsProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterWindowsProfile runs a test to see if a specific instance of ManagedClusterWindowsProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterWindowsProfile(subject ManagedClusterWindowsProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterWindowsProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterWindowsProfile instances for property testing - lazily instantiated by +// ManagedClusterWindowsProfileGenerator() +var managedClusterWindowsProfileGenerator gopter.Gen + +// ManagedClusterWindowsProfileGenerator returns a generator of ManagedClusterWindowsProfile instances for property testing. +// We first initialize managedClusterWindowsProfileGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func ManagedClusterWindowsProfileGenerator() gopter.Gen { + if managedClusterWindowsProfileGenerator != nil { + return managedClusterWindowsProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterWindowsProfile(generators) + managedClusterWindowsProfileGenerator = gen.Struct(reflect.TypeOf(ManagedClusterWindowsProfile{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterWindowsProfile(generators) + AddRelatedPropertyGeneratorsForManagedClusterWindowsProfile(generators) + managedClusterWindowsProfileGenerator = gen.Struct(reflect.TypeOf(ManagedClusterWindowsProfile{}), generators) + + return managedClusterWindowsProfileGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterWindowsProfile is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterWindowsProfile(gens map[string]gopter.Gen) { + gens["AdminUsername"] = gen.PtrOf(gen.AlphaString()) + gens["EnableCSIProxy"] = gen.PtrOf(gen.Bool()) + gens["LicenseType"] = gen.PtrOf(gen.OneConstOf(ManagedClusterWindowsProfile_LicenseType_None, ManagedClusterWindowsProfile_LicenseType_Windows_Server)) +} + +// AddRelatedPropertyGeneratorsForManagedClusterWindowsProfile is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterWindowsProfile(gens map[string]gopter.Gen) { + gens["GmsaProfile"] = gen.PtrOf(WindowsGmsaProfileGenerator()) +} + +func Test_ManagedClusterWindowsProfile_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterWindowsProfile_STATUS to ManagedClusterWindowsProfile_STATUS via AssignProperties_To_ManagedClusterWindowsProfile_STATUS & AssignProperties_From_ManagedClusterWindowsProfile_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterWindowsProfile_STATUS, ManagedClusterWindowsProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterWindowsProfile_STATUS tests if a specific instance of ManagedClusterWindowsProfile_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterWindowsProfile_STATUS(subject ManagedClusterWindowsProfile_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterWindowsProfile_STATUS + err := copied.AssignProperties_To_ManagedClusterWindowsProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterWindowsProfile_STATUS + err = actual.AssignProperties_From_ManagedClusterWindowsProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ManagedClusterWindowsProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterWindowsProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterWindowsProfile_STATUS, ManagedClusterWindowsProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterWindowsProfile_STATUS runs a test to see if a specific instance of ManagedClusterWindowsProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterWindowsProfile_STATUS(subject ManagedClusterWindowsProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterWindowsProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterWindowsProfile_STATUS instances for property testing - lazily instantiated by +// ManagedClusterWindowsProfile_STATUSGenerator() +var managedClusterWindowsProfile_STATUSGenerator gopter.Gen + +// ManagedClusterWindowsProfile_STATUSGenerator returns a generator of ManagedClusterWindowsProfile_STATUS instances for property testing. +// We first initialize managedClusterWindowsProfile_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func ManagedClusterWindowsProfile_STATUSGenerator() gopter.Gen { + if managedClusterWindowsProfile_STATUSGenerator != nil { + return managedClusterWindowsProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterWindowsProfile_STATUS(generators) + managedClusterWindowsProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterWindowsProfile_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterWindowsProfile_STATUS(generators) + AddRelatedPropertyGeneratorsForManagedClusterWindowsProfile_STATUS(generators) + managedClusterWindowsProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterWindowsProfile_STATUS{}), generators) + + return managedClusterWindowsProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterWindowsProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterWindowsProfile_STATUS(gens map[string]gopter.Gen) { + gens["AdminUsername"] = gen.PtrOf(gen.AlphaString()) + gens["EnableCSIProxy"] = gen.PtrOf(gen.Bool()) + gens["LicenseType"] = gen.PtrOf(gen.OneConstOf(ManagedClusterWindowsProfile_LicenseType_STATUS_None, ManagedClusterWindowsProfile_LicenseType_STATUS_Windows_Server)) +} + +// AddRelatedPropertyGeneratorsForManagedClusterWindowsProfile_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterWindowsProfile_STATUS(gens map[string]gopter.Gen) { + gens["GmsaProfile"] = gen.PtrOf(WindowsGmsaProfile_STATUSGenerator()) +} + +func Test_ManagedClusterWorkloadAutoScalerProfile_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterWorkloadAutoScalerProfile to ManagedClusterWorkloadAutoScalerProfile via AssignProperties_To_ManagedClusterWorkloadAutoScalerProfile & AssignProperties_From_ManagedClusterWorkloadAutoScalerProfile returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterWorkloadAutoScalerProfile, ManagedClusterWorkloadAutoScalerProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterWorkloadAutoScalerProfile tests if a specific instance of ManagedClusterWorkloadAutoScalerProfile can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterWorkloadAutoScalerProfile(subject ManagedClusterWorkloadAutoScalerProfile) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterWorkloadAutoScalerProfile + err := copied.AssignProperties_To_ManagedClusterWorkloadAutoScalerProfile(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterWorkloadAutoScalerProfile + err = actual.AssignProperties_From_ManagedClusterWorkloadAutoScalerProfile(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ManagedClusterWorkloadAutoScalerProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterWorkloadAutoScalerProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterWorkloadAutoScalerProfile, ManagedClusterWorkloadAutoScalerProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterWorkloadAutoScalerProfile runs a test to see if a specific instance of ManagedClusterWorkloadAutoScalerProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterWorkloadAutoScalerProfile(subject ManagedClusterWorkloadAutoScalerProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterWorkloadAutoScalerProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterWorkloadAutoScalerProfile instances for property testing - lazily instantiated by +// ManagedClusterWorkloadAutoScalerProfileGenerator() +var managedClusterWorkloadAutoScalerProfileGenerator gopter.Gen + +// ManagedClusterWorkloadAutoScalerProfileGenerator returns a generator of ManagedClusterWorkloadAutoScalerProfile instances for property testing. +func ManagedClusterWorkloadAutoScalerProfileGenerator() gopter.Gen { + if managedClusterWorkloadAutoScalerProfileGenerator != nil { + return managedClusterWorkloadAutoScalerProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForManagedClusterWorkloadAutoScalerProfile(generators) + managedClusterWorkloadAutoScalerProfileGenerator = gen.Struct(reflect.TypeOf(ManagedClusterWorkloadAutoScalerProfile{}), generators) + + return managedClusterWorkloadAutoScalerProfileGenerator +} + +// AddRelatedPropertyGeneratorsForManagedClusterWorkloadAutoScalerProfile is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterWorkloadAutoScalerProfile(gens map[string]gopter.Gen) { + gens["Keda"] = gen.PtrOf(ManagedClusterWorkloadAutoScalerProfileKedaGenerator()) + gens["VerticalPodAutoscaler"] = gen.PtrOf(ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerGenerator()) +} + +func Test_ManagedClusterWorkloadAutoScalerProfileKeda_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterWorkloadAutoScalerProfileKeda to ManagedClusterWorkloadAutoScalerProfileKeda via AssignProperties_To_ManagedClusterWorkloadAutoScalerProfileKeda & AssignProperties_From_ManagedClusterWorkloadAutoScalerProfileKeda returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterWorkloadAutoScalerProfileKeda, ManagedClusterWorkloadAutoScalerProfileKedaGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterWorkloadAutoScalerProfileKeda tests if a specific instance of ManagedClusterWorkloadAutoScalerProfileKeda can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterWorkloadAutoScalerProfileKeda(subject ManagedClusterWorkloadAutoScalerProfileKeda) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterWorkloadAutoScalerProfileKeda + err := copied.AssignProperties_To_ManagedClusterWorkloadAutoScalerProfileKeda(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterWorkloadAutoScalerProfileKeda + err = actual.AssignProperties_From_ManagedClusterWorkloadAutoScalerProfileKeda(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ManagedClusterWorkloadAutoScalerProfileKeda_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterWorkloadAutoScalerProfileKeda via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterWorkloadAutoScalerProfileKeda, ManagedClusterWorkloadAutoScalerProfileKedaGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterWorkloadAutoScalerProfileKeda runs a test to see if a specific instance of ManagedClusterWorkloadAutoScalerProfileKeda round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterWorkloadAutoScalerProfileKeda(subject ManagedClusterWorkloadAutoScalerProfileKeda) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterWorkloadAutoScalerProfileKeda + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterWorkloadAutoScalerProfileKeda instances for property testing - lazily instantiated by +// ManagedClusterWorkloadAutoScalerProfileKedaGenerator() +var managedClusterWorkloadAutoScalerProfileKedaGenerator gopter.Gen + +// ManagedClusterWorkloadAutoScalerProfileKedaGenerator returns a generator of ManagedClusterWorkloadAutoScalerProfileKeda instances for property testing. +func ManagedClusterWorkloadAutoScalerProfileKedaGenerator() gopter.Gen { + if managedClusterWorkloadAutoScalerProfileKedaGenerator != nil { + return managedClusterWorkloadAutoScalerProfileKedaGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterWorkloadAutoScalerProfileKeda(generators) + managedClusterWorkloadAutoScalerProfileKedaGenerator = gen.Struct(reflect.TypeOf(ManagedClusterWorkloadAutoScalerProfileKeda{}), generators) + + return managedClusterWorkloadAutoScalerProfileKedaGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterWorkloadAutoScalerProfileKeda is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterWorkloadAutoScalerProfileKeda(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +func Test_ManagedClusterWorkloadAutoScalerProfileKeda_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterWorkloadAutoScalerProfileKeda_STATUS to ManagedClusterWorkloadAutoScalerProfileKeda_STATUS via AssignProperties_To_ManagedClusterWorkloadAutoScalerProfileKeda_STATUS & AssignProperties_From_ManagedClusterWorkloadAutoScalerProfileKeda_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterWorkloadAutoScalerProfileKeda_STATUS, ManagedClusterWorkloadAutoScalerProfileKeda_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterWorkloadAutoScalerProfileKeda_STATUS tests if a specific instance of ManagedClusterWorkloadAutoScalerProfileKeda_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterWorkloadAutoScalerProfileKeda_STATUS(subject ManagedClusterWorkloadAutoScalerProfileKeda_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterWorkloadAutoScalerProfileKeda_STATUS + err := copied.AssignProperties_To_ManagedClusterWorkloadAutoScalerProfileKeda_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterWorkloadAutoScalerProfileKeda_STATUS + err = actual.AssignProperties_From_ManagedClusterWorkloadAutoScalerProfileKeda_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ManagedClusterWorkloadAutoScalerProfileKeda_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterWorkloadAutoScalerProfileKeda_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterWorkloadAutoScalerProfileKeda_STATUS, ManagedClusterWorkloadAutoScalerProfileKeda_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterWorkloadAutoScalerProfileKeda_STATUS runs a test to see if a specific instance of ManagedClusterWorkloadAutoScalerProfileKeda_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterWorkloadAutoScalerProfileKeda_STATUS(subject ManagedClusterWorkloadAutoScalerProfileKeda_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterWorkloadAutoScalerProfileKeda_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterWorkloadAutoScalerProfileKeda_STATUS instances for property testing - lazily instantiated +// by ManagedClusterWorkloadAutoScalerProfileKeda_STATUSGenerator() +var managedClusterWorkloadAutoScalerProfileKeda_STATUSGenerator gopter.Gen + +// ManagedClusterWorkloadAutoScalerProfileKeda_STATUSGenerator returns a generator of ManagedClusterWorkloadAutoScalerProfileKeda_STATUS instances for property testing. +func ManagedClusterWorkloadAutoScalerProfileKeda_STATUSGenerator() gopter.Gen { + if managedClusterWorkloadAutoScalerProfileKeda_STATUSGenerator != nil { + return managedClusterWorkloadAutoScalerProfileKeda_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterWorkloadAutoScalerProfileKeda_STATUS(generators) + managedClusterWorkloadAutoScalerProfileKeda_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterWorkloadAutoScalerProfileKeda_STATUS{}), generators) + + return managedClusterWorkloadAutoScalerProfileKeda_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterWorkloadAutoScalerProfileKeda_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterWorkloadAutoScalerProfileKeda_STATUS(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +func Test_ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler to ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler via AssignProperties_To_ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler & AssignProperties_From_ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler, ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler tests if a specific instance of ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler(subject ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler + err := copied.AssignProperties_To_ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler + err = actual.AssignProperties_From_ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler, ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler runs a test to see if a specific instance of ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler(subject ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler instances for property testing - lazily +// instantiated by ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerGenerator() +var managedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerGenerator gopter.Gen + +// ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerGenerator returns a generator of ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler instances for property testing. +func ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerGenerator() gopter.Gen { + if managedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerGenerator != nil { + return managedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler(generators) + managedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerGenerator = gen.Struct(reflect.TypeOf(ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler{}), generators) + + return managedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +func Test_ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS to ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS via AssignProperties_To_ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS & AssignProperties_From_ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS, ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS tests if a specific instance of ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS(subject ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS + err := copied.AssignProperties_To_ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS + err = actual.AssignProperties_From_ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS, ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS runs a test to see if a specific instance of ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS(subject ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS instances for property testing - +// lazily instantiated by ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUSGenerator() +var managedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUSGenerator gopter.Gen + +// ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUSGenerator returns a generator of ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS instances for property testing. +func ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUSGenerator() gopter.Gen { + if managedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUSGenerator != nil { + return managedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS(generators) + managedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS{}), generators) + + return managedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +func Test_ManagedClusterWorkloadAutoScalerProfile_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClusterWorkloadAutoScalerProfile_STATUS to ManagedClusterWorkloadAutoScalerProfile_STATUS via AssignProperties_To_ManagedClusterWorkloadAutoScalerProfile_STATUS & AssignProperties_From_ManagedClusterWorkloadAutoScalerProfile_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClusterWorkloadAutoScalerProfile_STATUS, ManagedClusterWorkloadAutoScalerProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClusterWorkloadAutoScalerProfile_STATUS tests if a specific instance of ManagedClusterWorkloadAutoScalerProfile_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClusterWorkloadAutoScalerProfile_STATUS(subject ManagedClusterWorkloadAutoScalerProfile_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClusterWorkloadAutoScalerProfile_STATUS + err := copied.AssignProperties_To_ManagedClusterWorkloadAutoScalerProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClusterWorkloadAutoScalerProfile_STATUS + err = actual.AssignProperties_From_ManagedClusterWorkloadAutoScalerProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ManagedClusterWorkloadAutoScalerProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterWorkloadAutoScalerProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterWorkloadAutoScalerProfile_STATUS, ManagedClusterWorkloadAutoScalerProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterWorkloadAutoScalerProfile_STATUS runs a test to see if a specific instance of ManagedClusterWorkloadAutoScalerProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterWorkloadAutoScalerProfile_STATUS(subject ManagedClusterWorkloadAutoScalerProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterWorkloadAutoScalerProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterWorkloadAutoScalerProfile_STATUS instances for property testing - lazily instantiated by +// ManagedClusterWorkloadAutoScalerProfile_STATUSGenerator() +var managedClusterWorkloadAutoScalerProfile_STATUSGenerator gopter.Gen + +// ManagedClusterWorkloadAutoScalerProfile_STATUSGenerator returns a generator of ManagedClusterWorkloadAutoScalerProfile_STATUS instances for property testing. +func ManagedClusterWorkloadAutoScalerProfile_STATUSGenerator() gopter.Gen { + if managedClusterWorkloadAutoScalerProfile_STATUSGenerator != nil { + return managedClusterWorkloadAutoScalerProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForManagedClusterWorkloadAutoScalerProfile_STATUS(generators) + managedClusterWorkloadAutoScalerProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterWorkloadAutoScalerProfile_STATUS{}), generators) + + return managedClusterWorkloadAutoScalerProfile_STATUSGenerator +} + +// AddRelatedPropertyGeneratorsForManagedClusterWorkloadAutoScalerProfile_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterWorkloadAutoScalerProfile_STATUS(gens map[string]gopter.Gen) { + gens["Keda"] = gen.PtrOf(ManagedClusterWorkloadAutoScalerProfileKeda_STATUSGenerator()) + gens["VerticalPodAutoscaler"] = gen.PtrOf(ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUSGenerator()) +} + +func Test_ManagedCluster_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedCluster_STATUS to ManagedCluster_STATUS via AssignProperties_To_ManagedCluster_STATUS & AssignProperties_From_ManagedCluster_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedCluster_STATUS, ManagedCluster_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedCluster_STATUS tests if a specific instance of ManagedCluster_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedCluster_STATUS(subject ManagedCluster_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedCluster_STATUS + err := copied.AssignProperties_To_ManagedCluster_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedCluster_STATUS + err = actual.AssignProperties_From_ManagedCluster_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ManagedCluster_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedCluster_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedCluster_STATUS, ManagedCluster_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedCluster_STATUS runs a test to see if a specific instance of ManagedCluster_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedCluster_STATUS(subject ManagedCluster_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedCluster_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedCluster_STATUS instances for property testing - lazily instantiated by +// ManagedCluster_STATUSGenerator() +var managedCluster_STATUSGenerator gopter.Gen + +// ManagedCluster_STATUSGenerator returns a generator of ManagedCluster_STATUS instances for property testing. +func ManagedCluster_STATUSGenerator() gopter.Gen { + if managedCluster_STATUSGenerator != nil { + return managedCluster_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForManagedCluster_STATUS(generators) + managedCluster_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedCluster_STATUS{}), generators) + + return managedCluster_STATUSGenerator +} + +// AddRelatedPropertyGeneratorsForManagedCluster_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedCluster_STATUS(gens map[string]gopter.Gen) { + gens["AadProfile"] = gen.PtrOf(ManagedClusterAADProfile_STATUSGenerator()) + gens["AddonProfiles"] = gen.MapOf( + gen.AlphaString(), + ManagedClusterAddonProfile_STATUSGenerator()) + gens["AgentPoolProfiles"] = gen.SliceOf(ManagedClusterAgentPoolProfile_STATUSGenerator()) + gens["ApiServerAccessProfile"] = gen.PtrOf(ManagedClusterAPIServerAccessProfile_STATUSGenerator()) + gens["AutoScalerProfile"] = gen.PtrOf(ManagedClusterProperties_AutoScalerProfile_STATUSGenerator()) + gens["AutoUpgradeProfile"] = gen.PtrOf(ManagedClusterAutoUpgradeProfile_STATUSGenerator()) + gens["AzureMonitorProfile"] = gen.PtrOf(ManagedClusterAzureMonitorProfile_STATUSGenerator()) + gens["ExtendedLocation"] = gen.PtrOf(ExtendedLocation_STATUSGenerator()) + gens["HttpProxyConfig"] = gen.PtrOf(ManagedClusterHTTPProxyConfig_STATUSGenerator()) + gens["Identity"] = gen.PtrOf(ManagedClusterIdentity_STATUSGenerator()) + gens["IdentityProfile"] = gen.MapOf( + gen.AlphaString(), + UserAssignedIdentity_STATUSGenerator()) + gens["IngressProfile"] = gen.PtrOf(ManagedClusterIngressProfile_STATUSGenerator()) + gens["LinuxProfile"] = gen.PtrOf(ContainerServiceLinuxProfile_STATUSGenerator()) + gens["MetricsProfile"] = gen.PtrOf(ManagedClusterMetricsProfile_STATUSGenerator()) + gens["NetworkProfile"] = gen.PtrOf(ContainerServiceNetworkProfile_STATUSGenerator()) + gens["NodeResourceGroupProfile"] = gen.PtrOf(ManagedClusterNodeResourceGroupProfile_STATUSGenerator()) + gens["OidcIssuerProfile"] = gen.PtrOf(ManagedClusterOIDCIssuerProfile_STATUSGenerator()) + gens["PodIdentityProfile"] = gen.PtrOf(ManagedClusterPodIdentityProfile_STATUSGenerator()) + gens["PowerState"] = gen.PtrOf(PowerState_STATUSGenerator()) + gens["PrivateLinkResources"] = gen.SliceOf(PrivateLinkResource_STATUSGenerator()) + gens["SecurityProfile"] = gen.PtrOf(ManagedClusterSecurityProfile_STATUSGenerator()) + gens["ServiceMeshProfile"] = gen.PtrOf(ServiceMeshProfile_STATUSGenerator()) + gens["ServicePrincipalProfile"] = gen.PtrOf(ManagedClusterServicePrincipalProfile_STATUSGenerator()) + gens["Sku"] = gen.PtrOf(ManagedClusterSKU_STATUSGenerator()) + gens["StorageProfile"] = gen.PtrOf(ManagedClusterStorageProfile_STATUSGenerator()) + gens["SystemData"] = gen.PtrOf(SystemData_STATUSGenerator()) + gens["UpgradeSettings"] = gen.PtrOf(ClusterUpgradeSettings_STATUSGenerator()) + gens["WindowsProfile"] = gen.PtrOf(ManagedClusterWindowsProfile_STATUSGenerator()) + gens["WorkloadAutoScalerProfile"] = gen.PtrOf(ManagedClusterWorkloadAutoScalerProfile_STATUSGenerator()) +} + +func Test_ManagedCluster_Spec_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedCluster_Spec to ManagedCluster_Spec via AssignProperties_To_ManagedCluster_Spec & AssignProperties_From_ManagedCluster_Spec returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedCluster_Spec, ManagedCluster_SpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedCluster_Spec tests if a specific instance of ManagedCluster_Spec can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedCluster_Spec(subject ManagedCluster_Spec) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedCluster_Spec + err := copied.AssignProperties_To_ManagedCluster_Spec(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedCluster_Spec + err = actual.AssignProperties_From_ManagedCluster_Spec(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ManagedCluster_Spec_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedCluster_Spec via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedCluster_Spec, ManagedCluster_SpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedCluster_Spec runs a test to see if a specific instance of ManagedCluster_Spec round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedCluster_Spec(subject ManagedCluster_Spec) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedCluster_Spec + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedCluster_Spec instances for property testing - lazily instantiated by +// ManagedCluster_SpecGenerator() +var managedCluster_SpecGenerator gopter.Gen + +// ManagedCluster_SpecGenerator returns a generator of ManagedCluster_Spec instances for property testing. +// We first initialize managedCluster_SpecGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func ManagedCluster_SpecGenerator() gopter.Gen { + if managedCluster_SpecGenerator != nil { + return managedCluster_SpecGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedCluster_Spec(generators) + managedCluster_SpecGenerator = gen.Struct(reflect.TypeOf(ManagedCluster_Spec{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedCluster_Spec(generators) + AddRelatedPropertyGeneratorsForManagedCluster_Spec(generators) + managedCluster_SpecGenerator = gen.Struct(reflect.TypeOf(ManagedCluster_Spec{}), generators) + + return managedCluster_SpecGenerator +} + +// AddIndependentPropertyGeneratorsForManagedCluster_Spec is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedCluster_Spec(gens map[string]gopter.Gen) { + gens["AzureName"] = gen.AlphaString() + gens["DisableLocalAccounts"] = gen.PtrOf(gen.Bool()) + gens["DnsPrefix"] = gen.PtrOf(gen.AlphaString()) + gens["EnablePodSecurityPolicy"] = gen.PtrOf(gen.Bool()) + gens["EnableRBAC"] = gen.PtrOf(gen.Bool()) + gens["FqdnSubdomain"] = gen.PtrOf(gen.AlphaString()) + gens["KubernetesVersion"] = gen.PtrOf(gen.AlphaString()) + gens["Location"] = gen.PtrOf(gen.AlphaString()) + gens["NodeResourceGroup"] = gen.PtrOf(gen.AlphaString()) + gens["PublicNetworkAccess"] = gen.PtrOf(gen.OneConstOf(ManagedClusterProperties_PublicNetworkAccess_Disabled, ManagedClusterProperties_PublicNetworkAccess_Enabled)) + gens["SupportPlan"] = gen.PtrOf(gen.OneConstOf(KubernetesSupportPlan_AKSLongTermSupport, KubernetesSupportPlan_KubernetesOfficial)) + gens["Tags"] = gen.MapOf( + gen.AlphaString(), + gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForManagedCluster_Spec is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedCluster_Spec(gens map[string]gopter.Gen) { + gens["AadProfile"] = gen.PtrOf(ManagedClusterAADProfileGenerator()) + gens["AddonProfiles"] = gen.MapOf( + gen.AlphaString(), + ManagedClusterAddonProfileGenerator()) + gens["AgentPoolProfiles"] = gen.SliceOf(ManagedClusterAgentPoolProfileGenerator()) + gens["ApiServerAccessProfile"] = gen.PtrOf(ManagedClusterAPIServerAccessProfileGenerator()) + gens["AutoScalerProfile"] = gen.PtrOf(ManagedClusterProperties_AutoScalerProfileGenerator()) + gens["AutoUpgradeProfile"] = gen.PtrOf(ManagedClusterAutoUpgradeProfileGenerator()) + gens["AzureMonitorProfile"] = gen.PtrOf(ManagedClusterAzureMonitorProfileGenerator()) + gens["ExtendedLocation"] = gen.PtrOf(ExtendedLocationGenerator()) + gens["HttpProxyConfig"] = gen.PtrOf(ManagedClusterHTTPProxyConfigGenerator()) + gens["Identity"] = gen.PtrOf(ManagedClusterIdentityGenerator()) + gens["IdentityProfile"] = gen.MapOf( + gen.AlphaString(), + UserAssignedIdentityGenerator()) + gens["IngressProfile"] = gen.PtrOf(ManagedClusterIngressProfileGenerator()) + gens["LinuxProfile"] = gen.PtrOf(ContainerServiceLinuxProfileGenerator()) + gens["MetricsProfile"] = gen.PtrOf(ManagedClusterMetricsProfileGenerator()) + gens["NetworkProfile"] = gen.PtrOf(ContainerServiceNetworkProfileGenerator()) + gens["NodeResourceGroupProfile"] = gen.PtrOf(ManagedClusterNodeResourceGroupProfileGenerator()) + gens["OidcIssuerProfile"] = gen.PtrOf(ManagedClusterOIDCIssuerProfileGenerator()) + gens["OperatorSpec"] = gen.PtrOf(ManagedClusterOperatorSpecGenerator()) + gens["PodIdentityProfile"] = gen.PtrOf(ManagedClusterPodIdentityProfileGenerator()) + gens["PrivateLinkResources"] = gen.SliceOf(PrivateLinkResourceGenerator()) + gens["SecurityProfile"] = gen.PtrOf(ManagedClusterSecurityProfileGenerator()) + gens["ServiceMeshProfile"] = gen.PtrOf(ServiceMeshProfileGenerator()) + gens["ServicePrincipalProfile"] = gen.PtrOf(ManagedClusterServicePrincipalProfileGenerator()) + gens["Sku"] = gen.PtrOf(ManagedClusterSKUGenerator()) + gens["StorageProfile"] = gen.PtrOf(ManagedClusterStorageProfileGenerator()) + gens["UpgradeSettings"] = gen.PtrOf(ClusterUpgradeSettingsGenerator()) + gens["WindowsProfile"] = gen.PtrOf(ManagedClusterWindowsProfileGenerator()) + gens["WorkloadAutoScalerProfile"] = gen.PtrOf(ManagedClusterWorkloadAutoScalerProfileGenerator()) +} + +func Test_PowerState_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from PowerState_STATUS to PowerState_STATUS via AssignProperties_To_PowerState_STATUS & AssignProperties_From_PowerState_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForPowerState_STATUS, PowerState_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForPowerState_STATUS tests if a specific instance of PowerState_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForPowerState_STATUS(subject PowerState_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.PowerState_STATUS + err := copied.AssignProperties_To_PowerState_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual PowerState_STATUS + err = actual.AssignProperties_From_PowerState_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_PowerState_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of PowerState_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForPowerState_STATUS, PowerState_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForPowerState_STATUS runs a test to see if a specific instance of PowerState_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForPowerState_STATUS(subject PowerState_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual PowerState_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of PowerState_STATUS instances for property testing - lazily instantiated by PowerState_STATUSGenerator() +var powerState_STATUSGenerator gopter.Gen + +// PowerState_STATUSGenerator returns a generator of PowerState_STATUS instances for property testing. +func PowerState_STATUSGenerator() gopter.Gen { + if powerState_STATUSGenerator != nil { + return powerState_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForPowerState_STATUS(generators) + powerState_STATUSGenerator = gen.Struct(reflect.TypeOf(PowerState_STATUS{}), generators) + + return powerState_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForPowerState_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForPowerState_STATUS(gens map[string]gopter.Gen) { + gens["Code"] = gen.PtrOf(gen.OneConstOf(PowerState_Code_STATUS_Running, PowerState_Code_STATUS_Stopped)) +} + +func Test_PrivateLinkResource_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from PrivateLinkResource to PrivateLinkResource via AssignProperties_To_PrivateLinkResource & AssignProperties_From_PrivateLinkResource returns original", + prop.ForAll(RunPropertyAssignmentTestForPrivateLinkResource, PrivateLinkResourceGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForPrivateLinkResource tests if a specific instance of PrivateLinkResource can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForPrivateLinkResource(subject PrivateLinkResource) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.PrivateLinkResource + err := copied.AssignProperties_To_PrivateLinkResource(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual PrivateLinkResource + err = actual.AssignProperties_From_PrivateLinkResource(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_PrivateLinkResource_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of PrivateLinkResource via JSON returns original", + prop.ForAll(RunJSONSerializationTestForPrivateLinkResource, PrivateLinkResourceGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForPrivateLinkResource runs a test to see if a specific instance of PrivateLinkResource round trips to JSON and back losslessly +func RunJSONSerializationTestForPrivateLinkResource(subject PrivateLinkResource) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual PrivateLinkResource + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of PrivateLinkResource instances for property testing - lazily instantiated by +// PrivateLinkResourceGenerator() +var privateLinkResourceGenerator gopter.Gen + +// PrivateLinkResourceGenerator returns a generator of PrivateLinkResource instances for property testing. +func PrivateLinkResourceGenerator() gopter.Gen { + if privateLinkResourceGenerator != nil { + return privateLinkResourceGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForPrivateLinkResource(generators) + privateLinkResourceGenerator = gen.Struct(reflect.TypeOf(PrivateLinkResource{}), generators) + + return privateLinkResourceGenerator +} + +// AddIndependentPropertyGeneratorsForPrivateLinkResource is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForPrivateLinkResource(gens map[string]gopter.Gen) { + gens["GroupId"] = gen.PtrOf(gen.AlphaString()) + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["RequiredMembers"] = gen.SliceOf(gen.AlphaString()) + gens["Type"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_PrivateLinkResource_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from PrivateLinkResource_STATUS to PrivateLinkResource_STATUS via AssignProperties_To_PrivateLinkResource_STATUS & AssignProperties_From_PrivateLinkResource_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForPrivateLinkResource_STATUS, PrivateLinkResource_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForPrivateLinkResource_STATUS tests if a specific instance of PrivateLinkResource_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForPrivateLinkResource_STATUS(subject PrivateLinkResource_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.PrivateLinkResource_STATUS + err := copied.AssignProperties_To_PrivateLinkResource_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual PrivateLinkResource_STATUS + err = actual.AssignProperties_From_PrivateLinkResource_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_PrivateLinkResource_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of PrivateLinkResource_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForPrivateLinkResource_STATUS, PrivateLinkResource_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForPrivateLinkResource_STATUS runs a test to see if a specific instance of PrivateLinkResource_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForPrivateLinkResource_STATUS(subject PrivateLinkResource_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual PrivateLinkResource_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of PrivateLinkResource_STATUS instances for property testing - lazily instantiated by +// PrivateLinkResource_STATUSGenerator() +var privateLinkResource_STATUSGenerator gopter.Gen + +// PrivateLinkResource_STATUSGenerator returns a generator of PrivateLinkResource_STATUS instances for property testing. +func PrivateLinkResource_STATUSGenerator() gopter.Gen { + if privateLinkResource_STATUSGenerator != nil { + return privateLinkResource_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForPrivateLinkResource_STATUS(generators) + privateLinkResource_STATUSGenerator = gen.Struct(reflect.TypeOf(PrivateLinkResource_STATUS{}), generators) + + return privateLinkResource_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForPrivateLinkResource_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForPrivateLinkResource_STATUS(gens map[string]gopter.Gen) { + gens["GroupId"] = gen.PtrOf(gen.AlphaString()) + gens["Id"] = gen.PtrOf(gen.AlphaString()) + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["PrivateLinkServiceID"] = gen.PtrOf(gen.AlphaString()) + gens["RequiredMembers"] = gen.SliceOf(gen.AlphaString()) + gens["Type"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ResourceReference_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ResourceReference to ResourceReference via AssignProperties_To_ResourceReference & AssignProperties_From_ResourceReference returns original", + prop.ForAll(RunPropertyAssignmentTestForResourceReference, ResourceReferenceGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForResourceReference tests if a specific instance of ResourceReference can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForResourceReference(subject ResourceReference) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ResourceReference + err := copied.AssignProperties_To_ResourceReference(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ResourceReference + err = actual.AssignProperties_From_ResourceReference(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ResourceReference_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ResourceReference via JSON returns original", + prop.ForAll(RunJSONSerializationTestForResourceReference, ResourceReferenceGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForResourceReference runs a test to see if a specific instance of ResourceReference round trips to JSON and back losslessly +func RunJSONSerializationTestForResourceReference(subject ResourceReference) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ResourceReference + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ResourceReference instances for property testing - lazily instantiated by ResourceReferenceGenerator() +var resourceReferenceGenerator gopter.Gen + +// ResourceReferenceGenerator returns a generator of ResourceReference instances for property testing. +func ResourceReferenceGenerator() gopter.Gen { + if resourceReferenceGenerator != nil { + return resourceReferenceGenerator + } + + generators := make(map[string]gopter.Gen) + resourceReferenceGenerator = gen.Struct(reflect.TypeOf(ResourceReference{}), generators) + + return resourceReferenceGenerator +} + +func Test_ResourceReference_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ResourceReference_STATUS to ResourceReference_STATUS via AssignProperties_To_ResourceReference_STATUS & AssignProperties_From_ResourceReference_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForResourceReference_STATUS, ResourceReference_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForResourceReference_STATUS tests if a specific instance of ResourceReference_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForResourceReference_STATUS(subject ResourceReference_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ResourceReference_STATUS + err := copied.AssignProperties_To_ResourceReference_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ResourceReference_STATUS + err = actual.AssignProperties_From_ResourceReference_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ResourceReference_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ResourceReference_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForResourceReference_STATUS, ResourceReference_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForResourceReference_STATUS runs a test to see if a specific instance of ResourceReference_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForResourceReference_STATUS(subject ResourceReference_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ResourceReference_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ResourceReference_STATUS instances for property testing - lazily instantiated by +// ResourceReference_STATUSGenerator() +var resourceReference_STATUSGenerator gopter.Gen + +// ResourceReference_STATUSGenerator returns a generator of ResourceReference_STATUS instances for property testing. +func ResourceReference_STATUSGenerator() gopter.Gen { + if resourceReference_STATUSGenerator != nil { + return resourceReference_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForResourceReference_STATUS(generators) + resourceReference_STATUSGenerator = gen.Struct(reflect.TypeOf(ResourceReference_STATUS{}), generators) + + return resourceReference_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForResourceReference_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForResourceReference_STATUS(gens map[string]gopter.Gen) { + gens["Id"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ServiceMeshProfile_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ServiceMeshProfile to ServiceMeshProfile via AssignProperties_To_ServiceMeshProfile & AssignProperties_From_ServiceMeshProfile returns original", + prop.ForAll(RunPropertyAssignmentTestForServiceMeshProfile, ServiceMeshProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForServiceMeshProfile tests if a specific instance of ServiceMeshProfile can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForServiceMeshProfile(subject ServiceMeshProfile) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ServiceMeshProfile + err := copied.AssignProperties_To_ServiceMeshProfile(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ServiceMeshProfile + err = actual.AssignProperties_From_ServiceMeshProfile(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ServiceMeshProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ServiceMeshProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForServiceMeshProfile, ServiceMeshProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForServiceMeshProfile runs a test to see if a specific instance of ServiceMeshProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForServiceMeshProfile(subject ServiceMeshProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ServiceMeshProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ServiceMeshProfile instances for property testing - lazily instantiated by ServiceMeshProfileGenerator() +var serviceMeshProfileGenerator gopter.Gen + +// ServiceMeshProfileGenerator returns a generator of ServiceMeshProfile instances for property testing. +// We first initialize serviceMeshProfileGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func ServiceMeshProfileGenerator() gopter.Gen { + if serviceMeshProfileGenerator != nil { + return serviceMeshProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForServiceMeshProfile(generators) + serviceMeshProfileGenerator = gen.Struct(reflect.TypeOf(ServiceMeshProfile{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForServiceMeshProfile(generators) + AddRelatedPropertyGeneratorsForServiceMeshProfile(generators) + serviceMeshProfileGenerator = gen.Struct(reflect.TypeOf(ServiceMeshProfile{}), generators) + + return serviceMeshProfileGenerator +} + +// AddIndependentPropertyGeneratorsForServiceMeshProfile is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForServiceMeshProfile(gens map[string]gopter.Gen) { + gens["Mode"] = gen.PtrOf(gen.OneConstOf(ServiceMeshProfile_Mode_Disabled, ServiceMeshProfile_Mode_Istio)) +} + +// AddRelatedPropertyGeneratorsForServiceMeshProfile is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForServiceMeshProfile(gens map[string]gopter.Gen) { + gens["Istio"] = gen.PtrOf(IstioServiceMeshGenerator()) +} + +func Test_ServiceMeshProfile_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ServiceMeshProfile_STATUS to ServiceMeshProfile_STATUS via AssignProperties_To_ServiceMeshProfile_STATUS & AssignProperties_From_ServiceMeshProfile_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForServiceMeshProfile_STATUS, ServiceMeshProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForServiceMeshProfile_STATUS tests if a specific instance of ServiceMeshProfile_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForServiceMeshProfile_STATUS(subject ServiceMeshProfile_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ServiceMeshProfile_STATUS + err := copied.AssignProperties_To_ServiceMeshProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ServiceMeshProfile_STATUS + err = actual.AssignProperties_From_ServiceMeshProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ServiceMeshProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ServiceMeshProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForServiceMeshProfile_STATUS, ServiceMeshProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForServiceMeshProfile_STATUS runs a test to see if a specific instance of ServiceMeshProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForServiceMeshProfile_STATUS(subject ServiceMeshProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ServiceMeshProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ServiceMeshProfile_STATUS instances for property testing - lazily instantiated by +// ServiceMeshProfile_STATUSGenerator() +var serviceMeshProfile_STATUSGenerator gopter.Gen + +// ServiceMeshProfile_STATUSGenerator returns a generator of ServiceMeshProfile_STATUS instances for property testing. +// We first initialize serviceMeshProfile_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func ServiceMeshProfile_STATUSGenerator() gopter.Gen { + if serviceMeshProfile_STATUSGenerator != nil { + return serviceMeshProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForServiceMeshProfile_STATUS(generators) + serviceMeshProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ServiceMeshProfile_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForServiceMeshProfile_STATUS(generators) + AddRelatedPropertyGeneratorsForServiceMeshProfile_STATUS(generators) + serviceMeshProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ServiceMeshProfile_STATUS{}), generators) + + return serviceMeshProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForServiceMeshProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForServiceMeshProfile_STATUS(gens map[string]gopter.Gen) { + gens["Mode"] = gen.PtrOf(gen.OneConstOf(ServiceMeshProfile_Mode_STATUS_Disabled, ServiceMeshProfile_Mode_STATUS_Istio)) +} + +// AddRelatedPropertyGeneratorsForServiceMeshProfile_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForServiceMeshProfile_STATUS(gens map[string]gopter.Gen) { + gens["Istio"] = gen.PtrOf(IstioServiceMesh_STATUSGenerator()) +} + +func Test_UpgradeOverrideSettings_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from UpgradeOverrideSettings to UpgradeOverrideSettings via AssignProperties_To_UpgradeOverrideSettings & AssignProperties_From_UpgradeOverrideSettings returns original", + prop.ForAll(RunPropertyAssignmentTestForUpgradeOverrideSettings, UpgradeOverrideSettingsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForUpgradeOverrideSettings tests if a specific instance of UpgradeOverrideSettings can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForUpgradeOverrideSettings(subject UpgradeOverrideSettings) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.UpgradeOverrideSettings + err := copied.AssignProperties_To_UpgradeOverrideSettings(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual UpgradeOverrideSettings + err = actual.AssignProperties_From_UpgradeOverrideSettings(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_UpgradeOverrideSettings_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of UpgradeOverrideSettings via JSON returns original", + prop.ForAll(RunJSONSerializationTestForUpgradeOverrideSettings, UpgradeOverrideSettingsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForUpgradeOverrideSettings runs a test to see if a specific instance of UpgradeOverrideSettings round trips to JSON and back losslessly +func RunJSONSerializationTestForUpgradeOverrideSettings(subject UpgradeOverrideSettings) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual UpgradeOverrideSettings + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of UpgradeOverrideSettings instances for property testing - lazily instantiated by +// UpgradeOverrideSettingsGenerator() +var upgradeOverrideSettingsGenerator gopter.Gen + +// UpgradeOverrideSettingsGenerator returns a generator of UpgradeOverrideSettings instances for property testing. +func UpgradeOverrideSettingsGenerator() gopter.Gen { + if upgradeOverrideSettingsGenerator != nil { + return upgradeOverrideSettingsGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForUpgradeOverrideSettings(generators) + upgradeOverrideSettingsGenerator = gen.Struct(reflect.TypeOf(UpgradeOverrideSettings{}), generators) + + return upgradeOverrideSettingsGenerator +} + +// AddIndependentPropertyGeneratorsForUpgradeOverrideSettings is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForUpgradeOverrideSettings(gens map[string]gopter.Gen) { + gens["ForceUpgrade"] = gen.PtrOf(gen.Bool()) + gens["Until"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_UpgradeOverrideSettings_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from UpgradeOverrideSettings_STATUS to UpgradeOverrideSettings_STATUS via AssignProperties_To_UpgradeOverrideSettings_STATUS & AssignProperties_From_UpgradeOverrideSettings_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForUpgradeOverrideSettings_STATUS, UpgradeOverrideSettings_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForUpgradeOverrideSettings_STATUS tests if a specific instance of UpgradeOverrideSettings_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForUpgradeOverrideSettings_STATUS(subject UpgradeOverrideSettings_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.UpgradeOverrideSettings_STATUS + err := copied.AssignProperties_To_UpgradeOverrideSettings_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual UpgradeOverrideSettings_STATUS + err = actual.AssignProperties_From_UpgradeOverrideSettings_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_UpgradeOverrideSettings_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of UpgradeOverrideSettings_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForUpgradeOverrideSettings_STATUS, UpgradeOverrideSettings_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForUpgradeOverrideSettings_STATUS runs a test to see if a specific instance of UpgradeOverrideSettings_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForUpgradeOverrideSettings_STATUS(subject UpgradeOverrideSettings_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual UpgradeOverrideSettings_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of UpgradeOverrideSettings_STATUS instances for property testing - lazily instantiated by +// UpgradeOverrideSettings_STATUSGenerator() +var upgradeOverrideSettings_STATUSGenerator gopter.Gen + +// UpgradeOverrideSettings_STATUSGenerator returns a generator of UpgradeOverrideSettings_STATUS instances for property testing. +func UpgradeOverrideSettings_STATUSGenerator() gopter.Gen { + if upgradeOverrideSettings_STATUSGenerator != nil { + return upgradeOverrideSettings_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForUpgradeOverrideSettings_STATUS(generators) + upgradeOverrideSettings_STATUSGenerator = gen.Struct(reflect.TypeOf(UpgradeOverrideSettings_STATUS{}), generators) + + return upgradeOverrideSettings_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForUpgradeOverrideSettings_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForUpgradeOverrideSettings_STATUS(gens map[string]gopter.Gen) { + gens["ForceUpgrade"] = gen.PtrOf(gen.Bool()) + gens["Until"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_UserAssignedIdentity_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from UserAssignedIdentity to UserAssignedIdentity via AssignProperties_To_UserAssignedIdentity & AssignProperties_From_UserAssignedIdentity returns original", + prop.ForAll(RunPropertyAssignmentTestForUserAssignedIdentity, UserAssignedIdentityGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForUserAssignedIdentity tests if a specific instance of UserAssignedIdentity can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForUserAssignedIdentity(subject UserAssignedIdentity) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.UserAssignedIdentity + err := copied.AssignProperties_To_UserAssignedIdentity(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual UserAssignedIdentity + err = actual.AssignProperties_From_UserAssignedIdentity(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_UserAssignedIdentity_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of UserAssignedIdentity via JSON returns original", + prop.ForAll(RunJSONSerializationTestForUserAssignedIdentity, UserAssignedIdentityGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForUserAssignedIdentity runs a test to see if a specific instance of UserAssignedIdentity round trips to JSON and back losslessly +func RunJSONSerializationTestForUserAssignedIdentity(subject UserAssignedIdentity) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual UserAssignedIdentity + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of UserAssignedIdentity instances for property testing - lazily instantiated by +// UserAssignedIdentityGenerator() +var userAssignedIdentityGenerator gopter.Gen + +// UserAssignedIdentityGenerator returns a generator of UserAssignedIdentity instances for property testing. +func UserAssignedIdentityGenerator() gopter.Gen { + if userAssignedIdentityGenerator != nil { + return userAssignedIdentityGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForUserAssignedIdentity(generators) + userAssignedIdentityGenerator = gen.Struct(reflect.TypeOf(UserAssignedIdentity{}), generators) + + return userAssignedIdentityGenerator +} + +// AddIndependentPropertyGeneratorsForUserAssignedIdentity is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForUserAssignedIdentity(gens map[string]gopter.Gen) { + gens["ClientId"] = gen.PtrOf(gen.AlphaString()) + gens["ObjectId"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_UserAssignedIdentityDetails_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from UserAssignedIdentityDetails to UserAssignedIdentityDetails via AssignProperties_To_UserAssignedIdentityDetails & AssignProperties_From_UserAssignedIdentityDetails returns original", + prop.ForAll(RunPropertyAssignmentTestForUserAssignedIdentityDetails, UserAssignedIdentityDetailsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForUserAssignedIdentityDetails tests if a specific instance of UserAssignedIdentityDetails can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForUserAssignedIdentityDetails(subject UserAssignedIdentityDetails) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.UserAssignedIdentityDetails + err := copied.AssignProperties_To_UserAssignedIdentityDetails(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual UserAssignedIdentityDetails + err = actual.AssignProperties_From_UserAssignedIdentityDetails(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_UserAssignedIdentityDetails_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of UserAssignedIdentityDetails via JSON returns original", + prop.ForAll(RunJSONSerializationTestForUserAssignedIdentityDetails, UserAssignedIdentityDetailsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForUserAssignedIdentityDetails runs a test to see if a specific instance of UserAssignedIdentityDetails round trips to JSON and back losslessly +func RunJSONSerializationTestForUserAssignedIdentityDetails(subject UserAssignedIdentityDetails) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual UserAssignedIdentityDetails + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of UserAssignedIdentityDetails instances for property testing - lazily instantiated by +// UserAssignedIdentityDetailsGenerator() +var userAssignedIdentityDetailsGenerator gopter.Gen + +// UserAssignedIdentityDetailsGenerator returns a generator of UserAssignedIdentityDetails instances for property testing. +func UserAssignedIdentityDetailsGenerator() gopter.Gen { + if userAssignedIdentityDetailsGenerator != nil { + return userAssignedIdentityDetailsGenerator + } + + generators := make(map[string]gopter.Gen) + userAssignedIdentityDetailsGenerator = gen.Struct(reflect.TypeOf(UserAssignedIdentityDetails{}), generators) + + return userAssignedIdentityDetailsGenerator +} + +func Test_UserAssignedIdentity_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from UserAssignedIdentity_STATUS to UserAssignedIdentity_STATUS via AssignProperties_To_UserAssignedIdentity_STATUS & AssignProperties_From_UserAssignedIdentity_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForUserAssignedIdentity_STATUS, UserAssignedIdentity_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForUserAssignedIdentity_STATUS tests if a specific instance of UserAssignedIdentity_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForUserAssignedIdentity_STATUS(subject UserAssignedIdentity_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.UserAssignedIdentity_STATUS + err := copied.AssignProperties_To_UserAssignedIdentity_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual UserAssignedIdentity_STATUS + err = actual.AssignProperties_From_UserAssignedIdentity_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_UserAssignedIdentity_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of UserAssignedIdentity_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForUserAssignedIdentity_STATUS, UserAssignedIdentity_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForUserAssignedIdentity_STATUS runs a test to see if a specific instance of UserAssignedIdentity_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForUserAssignedIdentity_STATUS(subject UserAssignedIdentity_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual UserAssignedIdentity_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of UserAssignedIdentity_STATUS instances for property testing - lazily instantiated by +// UserAssignedIdentity_STATUSGenerator() +var userAssignedIdentity_STATUSGenerator gopter.Gen + +// UserAssignedIdentity_STATUSGenerator returns a generator of UserAssignedIdentity_STATUS instances for property testing. +func UserAssignedIdentity_STATUSGenerator() gopter.Gen { + if userAssignedIdentity_STATUSGenerator != nil { + return userAssignedIdentity_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForUserAssignedIdentity_STATUS(generators) + userAssignedIdentity_STATUSGenerator = gen.Struct(reflect.TypeOf(UserAssignedIdentity_STATUS{}), generators) + + return userAssignedIdentity_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForUserAssignedIdentity_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForUserAssignedIdentity_STATUS(gens map[string]gopter.Gen) { + gens["ClientId"] = gen.PtrOf(gen.AlphaString()) + gens["ObjectId"] = gen.PtrOf(gen.AlphaString()) + gens["ResourceId"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_WindowsGmsaProfile_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from WindowsGmsaProfile to WindowsGmsaProfile via AssignProperties_To_WindowsGmsaProfile & AssignProperties_From_WindowsGmsaProfile returns original", + prop.ForAll(RunPropertyAssignmentTestForWindowsGmsaProfile, WindowsGmsaProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForWindowsGmsaProfile tests if a specific instance of WindowsGmsaProfile can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForWindowsGmsaProfile(subject WindowsGmsaProfile) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.WindowsGmsaProfile + err := copied.AssignProperties_To_WindowsGmsaProfile(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual WindowsGmsaProfile + err = actual.AssignProperties_From_WindowsGmsaProfile(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_WindowsGmsaProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of WindowsGmsaProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForWindowsGmsaProfile, WindowsGmsaProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForWindowsGmsaProfile runs a test to see if a specific instance of WindowsGmsaProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForWindowsGmsaProfile(subject WindowsGmsaProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual WindowsGmsaProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of WindowsGmsaProfile instances for property testing - lazily instantiated by WindowsGmsaProfileGenerator() +var windowsGmsaProfileGenerator gopter.Gen + +// WindowsGmsaProfileGenerator returns a generator of WindowsGmsaProfile instances for property testing. +func WindowsGmsaProfileGenerator() gopter.Gen { + if windowsGmsaProfileGenerator != nil { + return windowsGmsaProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForWindowsGmsaProfile(generators) + windowsGmsaProfileGenerator = gen.Struct(reflect.TypeOf(WindowsGmsaProfile{}), generators) + + return windowsGmsaProfileGenerator +} + +// AddIndependentPropertyGeneratorsForWindowsGmsaProfile is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForWindowsGmsaProfile(gens map[string]gopter.Gen) { + gens["DnsServer"] = gen.PtrOf(gen.AlphaString()) + gens["Enabled"] = gen.PtrOf(gen.Bool()) + gens["RootDomainName"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_WindowsGmsaProfile_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from WindowsGmsaProfile_STATUS to WindowsGmsaProfile_STATUS via AssignProperties_To_WindowsGmsaProfile_STATUS & AssignProperties_From_WindowsGmsaProfile_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForWindowsGmsaProfile_STATUS, WindowsGmsaProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForWindowsGmsaProfile_STATUS tests if a specific instance of WindowsGmsaProfile_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForWindowsGmsaProfile_STATUS(subject WindowsGmsaProfile_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.WindowsGmsaProfile_STATUS + err := copied.AssignProperties_To_WindowsGmsaProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual WindowsGmsaProfile_STATUS + err = actual.AssignProperties_From_WindowsGmsaProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_WindowsGmsaProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of WindowsGmsaProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForWindowsGmsaProfile_STATUS, WindowsGmsaProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForWindowsGmsaProfile_STATUS runs a test to see if a specific instance of WindowsGmsaProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForWindowsGmsaProfile_STATUS(subject WindowsGmsaProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual WindowsGmsaProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of WindowsGmsaProfile_STATUS instances for property testing - lazily instantiated by +// WindowsGmsaProfile_STATUSGenerator() +var windowsGmsaProfile_STATUSGenerator gopter.Gen + +// WindowsGmsaProfile_STATUSGenerator returns a generator of WindowsGmsaProfile_STATUS instances for property testing. +func WindowsGmsaProfile_STATUSGenerator() gopter.Gen { + if windowsGmsaProfile_STATUSGenerator != nil { + return windowsGmsaProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForWindowsGmsaProfile_STATUS(generators) + windowsGmsaProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(WindowsGmsaProfile_STATUS{}), generators) + + return windowsGmsaProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForWindowsGmsaProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForWindowsGmsaProfile_STATUS(gens map[string]gopter.Gen) { + gens["DnsServer"] = gen.PtrOf(gen.AlphaString()) + gens["Enabled"] = gen.PtrOf(gen.Bool()) + gens["RootDomainName"] = gen.PtrOf(gen.AlphaString()) +} diff --git a/v2/api/containerservice/v1api20240901/managed_clusters_agent_pool_types_gen.go b/v2/api/containerservice/v1api20240901/managed_clusters_agent_pool_types_gen.go new file mode 100644 index 00000000000..204797c3348 --- /dev/null +++ b/v2/api/containerservice/v1api20240901/managed_clusters_agent_pool_types_gen.go @@ -0,0 +1,8107 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package v1api20240901 + +import ( + "fmt" + arm "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20240901/arm" + storage "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20240901/storage" + "github.com/Azure/azure-service-operator/v2/internal/reflecthelpers" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime/conditions" + "github.com/pkg/errors" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/conversion" + "sigs.k8s.io/controller-runtime/pkg/webhook/admission" +) + +// +kubebuilder:object:root=true +// +kubebuilder:subresource:status +// +kubebuilder:printcolumn:name="Ready",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +// +kubebuilder:printcolumn:name="Severity",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].severity" +// +kubebuilder:printcolumn:name="Reason",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].reason" +// +kubebuilder:printcolumn:name="Message",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].message" +// Generator information: +// - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2024-09-01/managedClusters.json +// - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName} +type ManagedClustersAgentPool struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec ManagedClustersAgentPool_Spec `json:"spec,omitempty"` + Status ManagedClustersAgentPool_STATUS `json:"status,omitempty"` +} + +var _ conditions.Conditioner = &ManagedClustersAgentPool{} + +// GetConditions returns the conditions of the resource +func (pool *ManagedClustersAgentPool) GetConditions() conditions.Conditions { + return pool.Status.Conditions +} + +// SetConditions sets the conditions on the resource status +func (pool *ManagedClustersAgentPool) SetConditions(conditions conditions.Conditions) { + pool.Status.Conditions = conditions +} + +var _ conversion.Convertible = &ManagedClustersAgentPool{} + +// ConvertFrom populates our ManagedClustersAgentPool from the provided hub ManagedClustersAgentPool +func (pool *ManagedClustersAgentPool) ConvertFrom(hub conversion.Hub) error { + source, ok := hub.(*storage.ManagedClustersAgentPool) + if !ok { + return fmt.Errorf("expected containerservice/v1api20240901/storage/ManagedClustersAgentPool but received %T instead", hub) + } + + return pool.AssignProperties_From_ManagedClustersAgentPool(source) +} + +// ConvertTo populates the provided hub ManagedClustersAgentPool from our ManagedClustersAgentPool +func (pool *ManagedClustersAgentPool) ConvertTo(hub conversion.Hub) error { + destination, ok := hub.(*storage.ManagedClustersAgentPool) + if !ok { + return fmt.Errorf("expected containerservice/v1api20240901/storage/ManagedClustersAgentPool but received %T instead", hub) + } + + return pool.AssignProperties_To_ManagedClustersAgentPool(destination) +} + +// +kubebuilder:webhook:path=/mutate-containerservice-azure-com-v1api20240901-managedclustersagentpool,mutating=true,sideEffects=None,matchPolicy=Exact,failurePolicy=fail,groups=containerservice.azure.com,resources=managedclustersagentpools,verbs=create;update,versions=v1api20240901,name=default.v1api20240901.managedclustersagentpools.containerservice.azure.com,admissionReviewVersions=v1 + +var _ admission.Defaulter = &ManagedClustersAgentPool{} + +// Default applies defaults to the ManagedClustersAgentPool resource +func (pool *ManagedClustersAgentPool) Default() { + pool.defaultImpl() + var temp any = pool + if runtimeDefaulter, ok := temp.(genruntime.Defaulter); ok { + runtimeDefaulter.CustomDefault() + } +} + +// defaultAzureName defaults the Azure name of the resource to the Kubernetes name +func (pool *ManagedClustersAgentPool) defaultAzureName() { + if pool.Spec.AzureName == "" { + pool.Spec.AzureName = pool.Name + } +} + +// defaultImpl applies the code generated defaults to the ManagedClustersAgentPool resource +func (pool *ManagedClustersAgentPool) defaultImpl() { pool.defaultAzureName() } + +var _ genruntime.ImportableResource = &ManagedClustersAgentPool{} + +// InitializeSpec initializes the spec for this resource from the given status +func (pool *ManagedClustersAgentPool) InitializeSpec(status genruntime.ConvertibleStatus) error { + if s, ok := status.(*ManagedClustersAgentPool_STATUS); ok { + return pool.Spec.Initialize_From_ManagedClustersAgentPool_STATUS(s) + } + + return fmt.Errorf("expected Status of type ManagedClustersAgentPool_STATUS but received %T instead", status) +} + +var _ genruntime.KubernetesResource = &ManagedClustersAgentPool{} + +// AzureName returns the Azure name of the resource +func (pool *ManagedClustersAgentPool) AzureName() string { + return pool.Spec.AzureName +} + +// GetAPIVersion returns the ARM API version of the resource. This is always "2024-09-01" +func (pool ManagedClustersAgentPool) GetAPIVersion() string { + return "2024-09-01" +} + +// GetResourceScope returns the scope of the resource +func (pool *ManagedClustersAgentPool) GetResourceScope() genruntime.ResourceScope { + return genruntime.ResourceScopeResourceGroup +} + +// GetSpec returns the specification of this resource +func (pool *ManagedClustersAgentPool) GetSpec() genruntime.ConvertibleSpec { + return &pool.Spec +} + +// GetStatus returns the status of this resource +func (pool *ManagedClustersAgentPool) GetStatus() genruntime.ConvertibleStatus { + return &pool.Status +} + +// GetSupportedOperations returns the operations supported by the resource +func (pool *ManagedClustersAgentPool) GetSupportedOperations() []genruntime.ResourceOperation { + return []genruntime.ResourceOperation{ + genruntime.ResourceOperationDelete, + genruntime.ResourceOperationGet, + genruntime.ResourceOperationPut, + } +} + +// GetType returns the ARM Type of the resource. This is always "Microsoft.ContainerService/managedClusters/agentPools" +func (pool *ManagedClustersAgentPool) GetType() string { + return "Microsoft.ContainerService/managedClusters/agentPools" +} + +// NewEmptyStatus returns a new empty (blank) status +func (pool *ManagedClustersAgentPool) NewEmptyStatus() genruntime.ConvertibleStatus { + return &ManagedClustersAgentPool_STATUS{} +} + +// Owner returns the ResourceReference of the owner +func (pool *ManagedClustersAgentPool) Owner() *genruntime.ResourceReference { + group, kind := genruntime.LookupOwnerGroupKind(pool.Spec) + return pool.Spec.Owner.AsResourceReference(group, kind) +} + +// SetStatus sets the status of this resource +func (pool *ManagedClustersAgentPool) SetStatus(status genruntime.ConvertibleStatus) error { + // If we have exactly the right type of status, assign it + if st, ok := status.(*ManagedClustersAgentPool_STATUS); ok { + pool.Status = *st + return nil + } + + // Convert status to required version + var st ManagedClustersAgentPool_STATUS + err := status.ConvertStatusTo(&st) + if err != nil { + return errors.Wrap(err, "failed to convert status") + } + + pool.Status = st + return nil +} + +// +kubebuilder:webhook:path=/validate-containerservice-azure-com-v1api20240901-managedclustersagentpool,mutating=false,sideEffects=None,matchPolicy=Exact,failurePolicy=fail,groups=containerservice.azure.com,resources=managedclustersagentpools,verbs=create;update,versions=v1api20240901,name=validate.v1api20240901.managedclustersagentpools.containerservice.azure.com,admissionReviewVersions=v1 + +var _ admission.Validator = &ManagedClustersAgentPool{} + +// ValidateCreate validates the creation of the resource +func (pool *ManagedClustersAgentPool) ValidateCreate() (admission.Warnings, error) { + validations := pool.createValidations() + var temp any = pool + if runtimeValidator, ok := temp.(genruntime.Validator); ok { + validations = append(validations, runtimeValidator.CreateValidations()...) + } + return genruntime.ValidateCreate(validations) +} + +// ValidateDelete validates the deletion of the resource +func (pool *ManagedClustersAgentPool) ValidateDelete() (admission.Warnings, error) { + validations := pool.deleteValidations() + var temp any = pool + if runtimeValidator, ok := temp.(genruntime.Validator); ok { + validations = append(validations, runtimeValidator.DeleteValidations()...) + } + return genruntime.ValidateDelete(validations) +} + +// ValidateUpdate validates an update of the resource +func (pool *ManagedClustersAgentPool) ValidateUpdate(old runtime.Object) (admission.Warnings, error) { + validations := pool.updateValidations() + var temp any = pool + if runtimeValidator, ok := temp.(genruntime.Validator); ok { + validations = append(validations, runtimeValidator.UpdateValidations()...) + } + return genruntime.ValidateUpdate(old, validations) +} + +// createValidations validates the creation of the resource +func (pool *ManagedClustersAgentPool) createValidations() []func() (admission.Warnings, error) { + return []func() (admission.Warnings, error){pool.validateResourceReferences, pool.validateOwnerReference} +} + +// deleteValidations validates the deletion of the resource +func (pool *ManagedClustersAgentPool) deleteValidations() []func() (admission.Warnings, error) { + return nil +} + +// updateValidations validates the update of the resource +func (pool *ManagedClustersAgentPool) updateValidations() []func(old runtime.Object) (admission.Warnings, error) { + return []func(old runtime.Object) (admission.Warnings, error){ + func(old runtime.Object) (admission.Warnings, error) { + return pool.validateResourceReferences() + }, + pool.validateWriteOnceProperties, + func(old runtime.Object) (admission.Warnings, error) { + return pool.validateOwnerReference() + }, + } +} + +// validateOwnerReference validates the owner field +func (pool *ManagedClustersAgentPool) validateOwnerReference() (admission.Warnings, error) { + return genruntime.ValidateOwner(pool) +} + +// validateResourceReferences validates all resource references +func (pool *ManagedClustersAgentPool) validateResourceReferences() (admission.Warnings, error) { + refs, err := reflecthelpers.FindResourceReferences(&pool.Spec) + if err != nil { + return nil, err + } + return genruntime.ValidateResourceReferences(refs) +} + +// validateWriteOnceProperties validates all WriteOnce properties +func (pool *ManagedClustersAgentPool) validateWriteOnceProperties(old runtime.Object) (admission.Warnings, error) { + oldObj, ok := old.(*ManagedClustersAgentPool) + if !ok { + return nil, nil + } + + return genruntime.ValidateWriteOnceProperties(oldObj, pool) +} + +// AssignProperties_From_ManagedClustersAgentPool populates our ManagedClustersAgentPool from the provided source ManagedClustersAgentPool +func (pool *ManagedClustersAgentPool) AssignProperties_From_ManagedClustersAgentPool(source *storage.ManagedClustersAgentPool) error { + + // ObjectMeta + pool.ObjectMeta = *source.ObjectMeta.DeepCopy() + + // Spec + var spec ManagedClustersAgentPool_Spec + err := spec.AssignProperties_From_ManagedClustersAgentPool_Spec(&source.Spec) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClustersAgentPool_Spec() to populate field Spec") + } + pool.Spec = spec + + // Status + var status ManagedClustersAgentPool_STATUS + err = status.AssignProperties_From_ManagedClustersAgentPool_STATUS(&source.Status) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ManagedClustersAgentPool_STATUS() to populate field Status") + } + pool.Status = status + + // No error + return nil +} + +// AssignProperties_To_ManagedClustersAgentPool populates the provided destination ManagedClustersAgentPool from our ManagedClustersAgentPool +func (pool *ManagedClustersAgentPool) AssignProperties_To_ManagedClustersAgentPool(destination *storage.ManagedClustersAgentPool) error { + + // ObjectMeta + destination.ObjectMeta = *pool.ObjectMeta.DeepCopy() + + // Spec + var spec storage.ManagedClustersAgentPool_Spec + err := pool.Spec.AssignProperties_To_ManagedClustersAgentPool_Spec(&spec) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClustersAgentPool_Spec() to populate field Spec") + } + destination.Spec = spec + + // Status + var status storage.ManagedClustersAgentPool_STATUS + err = pool.Status.AssignProperties_To_ManagedClustersAgentPool_STATUS(&status) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ManagedClustersAgentPool_STATUS() to populate field Status") + } + destination.Status = status + + // No error + return nil +} + +// OriginalGVK returns a GroupValueKind for the original API version used to create the resource +func (pool *ManagedClustersAgentPool) OriginalGVK() *schema.GroupVersionKind { + return &schema.GroupVersionKind{ + Group: GroupVersion.Group, + Version: pool.Spec.OriginalVersion(), + Kind: "ManagedClustersAgentPool", + } +} + +// +kubebuilder:object:root=true +// Generator information: +// - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2024-09-01/managedClusters.json +// - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName} +type ManagedClustersAgentPoolList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []ManagedClustersAgentPool `json:"items"` +} + +type ManagedClustersAgentPool_Spec struct { + // AvailabilityZones: The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType + // property is 'VirtualMachineScaleSets'. + AvailabilityZones []string `json:"availabilityZones,omitempty"` + + // +kubebuilder:validation:MaxLength=12 + // +kubebuilder:validation:MinLength=1 + // +kubebuilder:validation:Pattern="^[a-z][a-z0-9]{0,11}$" + // AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + // doesn't have to be. + AzureName string `json:"azureName,omitempty"` + + // CapacityReservationGroupReference: AKS will associate the specified agent pool with the Capacity Reservation Group. + CapacityReservationGroupReference *genruntime.ResourceReference `armReference:"CapacityReservationGroupID" json:"capacityReservationGroupReference,omitempty"` + + // Count: Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) + // for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1. + Count *int `json:"count,omitempty"` + + // CreationData: CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using + // a snapshot. + CreationData *CreationData `json:"creationData,omitempty"` + + // EnableAutoScaling: Whether to enable auto-scaler + EnableAutoScaling *bool `json:"enableAutoScaling,omitempty"` + + // EnableEncryptionAtHost: This is only supported on certain VM sizes and in certain Azure regions. For more information, + // see: https://docs.microsoft.com/azure/aks/enable-host-encryption + EnableEncryptionAtHost *bool `json:"enableEncryptionAtHost,omitempty"` + + // EnableFIPS: See [Add a FIPS-enabled node + // pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more + // details. + EnableFIPS *bool `json:"enableFIPS,omitempty"` + + // EnableNodePublicIP: Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. + // A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine + // to minimize hops. For more information see [assigning a public IP per + // node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The + // default is false. + EnableNodePublicIP *bool `json:"enableNodePublicIP,omitempty"` + + // EnableUltraSSD: Whether to enable UltraSSD + EnableUltraSSD *bool `json:"enableUltraSSD,omitempty"` + + // GpuInstanceProfile: GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU. + GpuInstanceProfile *GPUInstanceProfile `json:"gpuInstanceProfile,omitempty"` + + // HostGroupReference: This is of the form: + // /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. + // For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). + HostGroupReference *genruntime.ResourceReference `armReference:"HostGroupID" json:"hostGroupReference,omitempty"` + + // KubeletConfig: The Kubelet configuration on the agent pool nodes. + KubeletConfig *KubeletConfig `json:"kubeletConfig,omitempty"` + + // KubeletDiskType: Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral + // storage. + KubeletDiskType *KubeletDiskType `json:"kubeletDiskType,omitempty"` + + // LinuxOSConfig: The OS configuration of Linux agent nodes. + LinuxOSConfig *LinuxOSConfig `json:"linuxOSConfig,omitempty"` + + // MaxCount: The maximum number of nodes for auto-scaling + MaxCount *int `json:"maxCount,omitempty"` + + // MaxPods: The maximum number of pods that can run on a node. + MaxPods *int `json:"maxPods,omitempty"` + + // MinCount: The minimum number of nodes for auto-scaling + MinCount *int `json:"minCount,omitempty"` + + // Mode: A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool + // restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools + Mode *AgentPoolMode `json:"mode,omitempty"` + + // NetworkProfile: Network-related settings of an agent pool. + NetworkProfile *AgentPoolNetworkProfile `json:"networkProfile,omitempty"` + + // NodeLabels: The node labels to be persisted across all nodes in agent pool. + NodeLabels map[string]string `json:"nodeLabels,omitempty" serializationType:"explicitEmptyCollection"` + + // NodePublicIPPrefixReference: This is of the form: + // /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} + NodePublicIPPrefixReference *genruntime.ResourceReference `armReference:"NodePublicIPPrefixID" json:"nodePublicIPPrefixReference,omitempty"` + + // NodeTaints: The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule. + NodeTaints []string `json:"nodeTaints,omitempty" serializationType:"explicitEmptyCollection"` + + // OrchestratorVersion: Both patch version (e.g. 1.20.13) and (e.g. 1.20) are supported. + // When is specified, the latest supported GA patch version is chosen automatically. Updating the cluster + // with the same once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer + // patch version is available. As a best practice, you should upgrade all node pools in an AKS cluster to the same + // Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor + // version must be within two minor versions of the control plane version. The node pool version cannot be greater than the + // control plane version. For more information see [upgrading a node + // pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). + OrchestratorVersion *string `json:"orchestratorVersion,omitempty"` + OsDiskSizeGB *ContainerServiceOSDisk `json:"osDiskSizeGB,omitempty"` + + // OsDiskType: The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested + // OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral + // OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). + OsDiskType *OSDiskType `json:"osDiskType,omitempty"` + + // OsSKU: Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 + // when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows. + OsSKU *OSSKU `json:"osSKU,omitempty"` + + // OsType: The operating system type. The default is Linux. + OsType *OSType `json:"osType,omitempty"` + + // +kubebuilder:validation:Required + // Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + // controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + // reference to a containerservice.azure.com/ManagedCluster resource + Owner *genruntime.KnownResourceReference `group:"containerservice.azure.com" json:"owner,omitempty" kind:"ManagedCluster"` + + // PodSubnetReference: If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). + // This is of the form: + // /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + PodSubnetReference *genruntime.ResourceReference `armReference:"PodSubnetID" json:"podSubnetReference,omitempty"` + + // PowerState: When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this + // field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only + // be stopped if it is Running and provisioning state is Succeeded + PowerState *PowerState `json:"powerState,omitempty"` + + // ProximityPlacementGroupReference: The ID for Proximity Placement Group. + ProximityPlacementGroupReference *genruntime.ResourceReference `armReference:"ProximityPlacementGroupID" json:"proximityPlacementGroupReference,omitempty"` + + // ScaleDownMode: This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete. + ScaleDownMode *ScaleDownMode `json:"scaleDownMode,omitempty"` + + // ScaleSetEvictionPolicy: This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is + // 'Delete'. + ScaleSetEvictionPolicy *ScaleSetEvictionPolicy `json:"scaleSetEvictionPolicy,omitempty"` + + // ScaleSetPriority: The Virtual Machine Scale Set priority. If not specified, the default is 'Regular'. + ScaleSetPriority *ScaleSetPriority `json:"scaleSetPriority,omitempty"` + + // SecurityProfile: The security settings of an agent pool. + SecurityProfile *AgentPoolSecurityProfile `json:"securityProfile,omitempty"` + + // SpotMaxPrice: Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any + // on-demand price. For more details on spot pricing, see [spot VMs + // pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing) + SpotMaxPrice *float64 `json:"spotMaxPrice,omitempty"` + + // Tags: The tags to be persisted on the agent pool virtual machine scale set. + Tags map[string]string `json:"tags,omitempty" serializationType:"explicitEmptyCollection"` + + // Type: The type of Agent Pool. + Type *AgentPoolType `json:"type,omitempty"` + + // UpgradeSettings: Settings for upgrading the agentpool + UpgradeSettings *AgentPoolUpgradeSettings `json:"upgradeSettings,omitempty"` + + // VmSize: VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods + // might fail to run correctly. For more details on restricted VM sizes, see: + // https://docs.microsoft.com/azure/aks/quotas-skus-regions + VmSize *string `json:"vmSize,omitempty"` + + // VnetSubnetReference: If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is + // specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: + // /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + VnetSubnetReference *genruntime.ResourceReference `armReference:"VnetSubnetID" json:"vnetSubnetReference,omitempty"` + + // WindowsProfile: The Windows agent pool's specific profile. + WindowsProfile *AgentPoolWindowsProfile `json:"windowsProfile,omitempty"` + + // WorkloadRuntime: Determines the type of workload a node can run. + WorkloadRuntime *WorkloadRuntime `json:"workloadRuntime,omitempty"` +} + +var _ genruntime.ARMTransformer = &ManagedClustersAgentPool_Spec{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (pool *ManagedClustersAgentPool_Spec) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if pool == nil { + return nil, nil + } + result := &arm.ManagedClustersAgentPool_Spec{} + + // Set property "Name": + result.Name = resolved.Name + + // Set property "Properties": + if pool.AvailabilityZones != nil || + pool.CapacityReservationGroupReference != nil || + pool.Count != nil || + pool.CreationData != nil || + pool.EnableAutoScaling != nil || + pool.EnableEncryptionAtHost != nil || + pool.EnableFIPS != nil || + pool.EnableNodePublicIP != nil || + pool.EnableUltraSSD != nil || + pool.GpuInstanceProfile != nil || + pool.HostGroupReference != nil || + pool.KubeletConfig != nil || + pool.KubeletDiskType != nil || + pool.LinuxOSConfig != nil || + pool.MaxCount != nil || + pool.MaxPods != nil || + pool.MinCount != nil || + pool.Mode != nil || + pool.NetworkProfile != nil || + pool.NodeLabels != nil || + pool.NodePublicIPPrefixReference != nil || + pool.NodeTaints != nil || + pool.OrchestratorVersion != nil || + pool.OsDiskSizeGB != nil || + pool.OsDiskType != nil || + pool.OsSKU != nil || + pool.OsType != nil || + pool.PodSubnetReference != nil || + pool.PowerState != nil || + pool.ProximityPlacementGroupReference != nil || + pool.ScaleDownMode != nil || + pool.ScaleSetEvictionPolicy != nil || + pool.ScaleSetPriority != nil || + pool.SecurityProfile != nil || + pool.SpotMaxPrice != nil || + pool.Tags != nil || + pool.Type != nil || + pool.UpgradeSettings != nil || + pool.VmSize != nil || + pool.VnetSubnetReference != nil || + pool.WindowsProfile != nil || + pool.WorkloadRuntime != nil { + result.Properties = &arm.ManagedClusterAgentPoolProfileProperties{} + } + for _, item := range pool.AvailabilityZones { + result.Properties.AvailabilityZones = append(result.Properties.AvailabilityZones, item) + } + if pool.CapacityReservationGroupReference != nil { + capacityReservationGroupIDARMID, err := resolved.ResolvedReferences.Lookup(*pool.CapacityReservationGroupReference) + if err != nil { + return nil, err + } + capacityReservationGroupID := capacityReservationGroupIDARMID + result.Properties.CapacityReservationGroupID = &capacityReservationGroupID + } + if pool.Count != nil { + count := *pool.Count + result.Properties.Count = &count + } + if pool.CreationData != nil { + creationData_ARM, err := (*pool.CreationData).ConvertToARM(resolved) + if err != nil { + return nil, err + } + creationData := *creationData_ARM.(*arm.CreationData) + result.Properties.CreationData = &creationData + } + if pool.EnableAutoScaling != nil { + enableAutoScaling := *pool.EnableAutoScaling + result.Properties.EnableAutoScaling = &enableAutoScaling + } + if pool.EnableEncryptionAtHost != nil { + enableEncryptionAtHost := *pool.EnableEncryptionAtHost + result.Properties.EnableEncryptionAtHost = &enableEncryptionAtHost + } + if pool.EnableFIPS != nil { + enableFIPS := *pool.EnableFIPS + result.Properties.EnableFIPS = &enableFIPS + } + if pool.EnableNodePublicIP != nil { + enableNodePublicIP := *pool.EnableNodePublicIP + result.Properties.EnableNodePublicIP = &enableNodePublicIP + } + if pool.EnableUltraSSD != nil { + enableUltraSSD := *pool.EnableUltraSSD + result.Properties.EnableUltraSSD = &enableUltraSSD + } + if pool.GpuInstanceProfile != nil { + var temp string + temp = string(*pool.GpuInstanceProfile) + gpuInstanceProfile := arm.GPUInstanceProfile(temp) + result.Properties.GpuInstanceProfile = &gpuInstanceProfile + } + if pool.HostGroupReference != nil { + hostGroupIDARMID, err := resolved.ResolvedReferences.Lookup(*pool.HostGroupReference) + if err != nil { + return nil, err + } + hostGroupID := hostGroupIDARMID + result.Properties.HostGroupID = &hostGroupID + } + if pool.KubeletConfig != nil { + kubeletConfig_ARM, err := (*pool.KubeletConfig).ConvertToARM(resolved) + if err != nil { + return nil, err + } + kubeletConfig := *kubeletConfig_ARM.(*arm.KubeletConfig) + result.Properties.KubeletConfig = &kubeletConfig + } + if pool.KubeletDiskType != nil { + var temp string + temp = string(*pool.KubeletDiskType) + kubeletDiskType := arm.KubeletDiskType(temp) + result.Properties.KubeletDiskType = &kubeletDiskType + } + if pool.LinuxOSConfig != nil { + linuxOSConfig_ARM, err := (*pool.LinuxOSConfig).ConvertToARM(resolved) + if err != nil { + return nil, err + } + linuxOSConfig := *linuxOSConfig_ARM.(*arm.LinuxOSConfig) + result.Properties.LinuxOSConfig = &linuxOSConfig + } + if pool.MaxCount != nil { + maxCount := *pool.MaxCount + result.Properties.MaxCount = &maxCount + } + if pool.MaxPods != nil { + maxPods := *pool.MaxPods + result.Properties.MaxPods = &maxPods + } + if pool.MinCount != nil { + minCount := *pool.MinCount + result.Properties.MinCount = &minCount + } + if pool.Mode != nil { + var temp string + temp = string(*pool.Mode) + mode := arm.AgentPoolMode(temp) + result.Properties.Mode = &mode + } + if pool.NetworkProfile != nil { + networkProfile_ARM, err := (*pool.NetworkProfile).ConvertToARM(resolved) + if err != nil { + return nil, err + } + networkProfile := *networkProfile_ARM.(*arm.AgentPoolNetworkProfile) + result.Properties.NetworkProfile = &networkProfile + } + if pool.NodeLabels != nil { + result.Properties.NodeLabels = make(map[string]string, len(pool.NodeLabels)) + for key, value := range pool.NodeLabels { + result.Properties.NodeLabels[key] = value + } + } else { + // Set property to empty map, as this resource is set to serialize all collections explicitly + result.Properties.NodeLabels = make(map[string]string) + } + if pool.NodePublicIPPrefixReference != nil { + nodePublicIPPrefixIDARMID, err := resolved.ResolvedReferences.Lookup(*pool.NodePublicIPPrefixReference) + if err != nil { + return nil, err + } + nodePublicIPPrefixID := nodePublicIPPrefixIDARMID + result.Properties.NodePublicIPPrefixID = &nodePublicIPPrefixID + } + for _, item := range pool.NodeTaints { + result.Properties.NodeTaints = append(result.Properties.NodeTaints, item) + } + if result.Properties.NodeTaints == nil { + // Set property to empty map, as this resource is set to serialize all collections explicitly + result.Properties.NodeTaints = []string{} + } + if pool.OrchestratorVersion != nil { + orchestratorVersion := *pool.OrchestratorVersion + result.Properties.OrchestratorVersion = &orchestratorVersion + } + if pool.OsDiskSizeGB != nil { + osDiskSizeGB := int(*pool.OsDiskSizeGB) + result.Properties.OsDiskSizeGB = &osDiskSizeGB + } + if pool.OsDiskType != nil { + var temp string + temp = string(*pool.OsDiskType) + osDiskType := arm.OSDiskType(temp) + result.Properties.OsDiskType = &osDiskType + } + if pool.OsSKU != nil { + var temp string + temp = string(*pool.OsSKU) + osSKU := arm.OSSKU(temp) + result.Properties.OsSKU = &osSKU + } + if pool.OsType != nil { + var temp string + temp = string(*pool.OsType) + osType := arm.OSType(temp) + result.Properties.OsType = &osType + } + if pool.PodSubnetReference != nil { + podSubnetIDARMID, err := resolved.ResolvedReferences.Lookup(*pool.PodSubnetReference) + if err != nil { + return nil, err + } + podSubnetID := podSubnetIDARMID + result.Properties.PodSubnetID = &podSubnetID + } + if pool.PowerState != nil { + powerState_ARM, err := (*pool.PowerState).ConvertToARM(resolved) + if err != nil { + return nil, err + } + powerState := *powerState_ARM.(*arm.PowerState) + result.Properties.PowerState = &powerState + } + if pool.ProximityPlacementGroupReference != nil { + proximityPlacementGroupIDARMID, err := resolved.ResolvedReferences.Lookup(*pool.ProximityPlacementGroupReference) + if err != nil { + return nil, err + } + proximityPlacementGroupID := proximityPlacementGroupIDARMID + result.Properties.ProximityPlacementGroupID = &proximityPlacementGroupID + } + if pool.ScaleDownMode != nil { + var temp string + temp = string(*pool.ScaleDownMode) + scaleDownMode := arm.ScaleDownMode(temp) + result.Properties.ScaleDownMode = &scaleDownMode + } + if pool.ScaleSetEvictionPolicy != nil { + var temp string + temp = string(*pool.ScaleSetEvictionPolicy) + scaleSetEvictionPolicy := arm.ScaleSetEvictionPolicy(temp) + result.Properties.ScaleSetEvictionPolicy = &scaleSetEvictionPolicy + } + if pool.ScaleSetPriority != nil { + var temp string + temp = string(*pool.ScaleSetPriority) + scaleSetPriority := arm.ScaleSetPriority(temp) + result.Properties.ScaleSetPriority = &scaleSetPriority + } + if pool.SecurityProfile != nil { + securityProfile_ARM, err := (*pool.SecurityProfile).ConvertToARM(resolved) + if err != nil { + return nil, err + } + securityProfile := *securityProfile_ARM.(*arm.AgentPoolSecurityProfile) + result.Properties.SecurityProfile = &securityProfile + } + if pool.SpotMaxPrice != nil { + spotMaxPrice := *pool.SpotMaxPrice + result.Properties.SpotMaxPrice = &spotMaxPrice + } + if pool.Tags != nil { + result.Properties.Tags = make(map[string]string, len(pool.Tags)) + for key, value := range pool.Tags { + result.Properties.Tags[key] = value + } + } else { + // Set property to empty map, as this resource is set to serialize all collections explicitly + result.Properties.Tags = make(map[string]string) + } + if pool.Type != nil { + var temp string + temp = string(*pool.Type) + typeVar := arm.AgentPoolType(temp) + result.Properties.Type = &typeVar + } + if pool.UpgradeSettings != nil { + upgradeSettings_ARM, err := (*pool.UpgradeSettings).ConvertToARM(resolved) + if err != nil { + return nil, err + } + upgradeSettings := *upgradeSettings_ARM.(*arm.AgentPoolUpgradeSettings) + result.Properties.UpgradeSettings = &upgradeSettings + } + if pool.VmSize != nil { + vmSize := *pool.VmSize + result.Properties.VmSize = &vmSize + } + if pool.VnetSubnetReference != nil { + vnetSubnetIDARMID, err := resolved.ResolvedReferences.Lookup(*pool.VnetSubnetReference) + if err != nil { + return nil, err + } + vnetSubnetID := vnetSubnetIDARMID + result.Properties.VnetSubnetID = &vnetSubnetID + } + if pool.WindowsProfile != nil { + windowsProfile_ARM, err := (*pool.WindowsProfile).ConvertToARM(resolved) + if err != nil { + return nil, err + } + windowsProfile := *windowsProfile_ARM.(*arm.AgentPoolWindowsProfile) + result.Properties.WindowsProfile = &windowsProfile + } + if pool.WorkloadRuntime != nil { + var temp string + temp = string(*pool.WorkloadRuntime) + workloadRuntime := arm.WorkloadRuntime(temp) + result.Properties.WorkloadRuntime = &workloadRuntime + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (pool *ManagedClustersAgentPool_Spec) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ManagedClustersAgentPool_Spec{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (pool *ManagedClustersAgentPool_Spec) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ManagedClustersAgentPool_Spec) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ManagedClustersAgentPool_Spec, got %T", armInput) + } + + // Set property "AvailabilityZones": + // copying flattened property: + if typedInput.Properties != nil { + for _, item := range typedInput.Properties.AvailabilityZones { + pool.AvailabilityZones = append(pool.AvailabilityZones, item) + } + } + + // Set property "AzureName": + pool.SetAzureName(genruntime.ExtractKubernetesResourceNameFromARMName(typedInput.Name)) + + // no assignment for property "CapacityReservationGroupReference" + + // Set property "Count": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.Count != nil { + count := *typedInput.Properties.Count + pool.Count = &count + } + } + + // Set property "CreationData": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.CreationData != nil { + var creationData1 CreationData + err := creationData1.PopulateFromARM(owner, *typedInput.Properties.CreationData) + if err != nil { + return err + } + creationData := creationData1 + pool.CreationData = &creationData + } + } + + // Set property "EnableAutoScaling": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.EnableAutoScaling != nil { + enableAutoScaling := *typedInput.Properties.EnableAutoScaling + pool.EnableAutoScaling = &enableAutoScaling + } + } + + // Set property "EnableEncryptionAtHost": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.EnableEncryptionAtHost != nil { + enableEncryptionAtHost := *typedInput.Properties.EnableEncryptionAtHost + pool.EnableEncryptionAtHost = &enableEncryptionAtHost + } + } + + // Set property "EnableFIPS": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.EnableFIPS != nil { + enableFIPS := *typedInput.Properties.EnableFIPS + pool.EnableFIPS = &enableFIPS + } + } + + // Set property "EnableNodePublicIP": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.EnableNodePublicIP != nil { + enableNodePublicIP := *typedInput.Properties.EnableNodePublicIP + pool.EnableNodePublicIP = &enableNodePublicIP + } + } + + // Set property "EnableUltraSSD": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.EnableUltraSSD != nil { + enableUltraSSD := *typedInput.Properties.EnableUltraSSD + pool.EnableUltraSSD = &enableUltraSSD + } + } + + // Set property "GpuInstanceProfile": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.GpuInstanceProfile != nil { + var temp string + temp = string(*typedInput.Properties.GpuInstanceProfile) + gpuInstanceProfile := GPUInstanceProfile(temp) + pool.GpuInstanceProfile = &gpuInstanceProfile + } + } + + // no assignment for property "HostGroupReference" + + // Set property "KubeletConfig": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.KubeletConfig != nil { + var kubeletConfig1 KubeletConfig + err := kubeletConfig1.PopulateFromARM(owner, *typedInput.Properties.KubeletConfig) + if err != nil { + return err + } + kubeletConfig := kubeletConfig1 + pool.KubeletConfig = &kubeletConfig + } + } + + // Set property "KubeletDiskType": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.KubeletDiskType != nil { + var temp string + temp = string(*typedInput.Properties.KubeletDiskType) + kubeletDiskType := KubeletDiskType(temp) + pool.KubeletDiskType = &kubeletDiskType + } + } + + // Set property "LinuxOSConfig": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.LinuxOSConfig != nil { + var linuxOSConfig1 LinuxOSConfig + err := linuxOSConfig1.PopulateFromARM(owner, *typedInput.Properties.LinuxOSConfig) + if err != nil { + return err + } + linuxOSConfig := linuxOSConfig1 + pool.LinuxOSConfig = &linuxOSConfig + } + } + + // Set property "MaxCount": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.MaxCount != nil { + maxCount := *typedInput.Properties.MaxCount + pool.MaxCount = &maxCount + } + } + + // Set property "MaxPods": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.MaxPods != nil { + maxPods := *typedInput.Properties.MaxPods + pool.MaxPods = &maxPods + } + } + + // Set property "MinCount": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.MinCount != nil { + minCount := *typedInput.Properties.MinCount + pool.MinCount = &minCount + } + } + + // Set property "Mode": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.Mode != nil { + var temp string + temp = string(*typedInput.Properties.Mode) + mode := AgentPoolMode(temp) + pool.Mode = &mode + } + } + + // Set property "NetworkProfile": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.NetworkProfile != nil { + var networkProfile1 AgentPoolNetworkProfile + err := networkProfile1.PopulateFromARM(owner, *typedInput.Properties.NetworkProfile) + if err != nil { + return err + } + networkProfile := networkProfile1 + pool.NetworkProfile = &networkProfile + } + } + + // Set property "NodeLabels": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.NodeLabels != nil { + pool.NodeLabels = make(map[string]string, len(typedInput.Properties.NodeLabels)) + for key, value := range typedInput.Properties.NodeLabels { + pool.NodeLabels[key] = value + } + } + } + + // no assignment for property "NodePublicIPPrefixReference" + + // Set property "NodeTaints": + // copying flattened property: + if typedInput.Properties != nil { + for _, item := range typedInput.Properties.NodeTaints { + pool.NodeTaints = append(pool.NodeTaints, item) + } + } + + // Set property "OrchestratorVersion": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.OrchestratorVersion != nil { + orchestratorVersion := *typedInput.Properties.OrchestratorVersion + pool.OrchestratorVersion = &orchestratorVersion + } + } + + // Set property "OsDiskSizeGB": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.OsDiskSizeGB != nil { + osDiskSizeGB := ContainerServiceOSDisk(*typedInput.Properties.OsDiskSizeGB) + pool.OsDiskSizeGB = &osDiskSizeGB + } + } + + // Set property "OsDiskType": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.OsDiskType != nil { + var temp string + temp = string(*typedInput.Properties.OsDiskType) + osDiskType := OSDiskType(temp) + pool.OsDiskType = &osDiskType + } + } + + // Set property "OsSKU": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.OsSKU != nil { + var temp string + temp = string(*typedInput.Properties.OsSKU) + osSKU := OSSKU(temp) + pool.OsSKU = &osSKU + } + } + + // Set property "OsType": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.OsType != nil { + var temp string + temp = string(*typedInput.Properties.OsType) + osType := OSType(temp) + pool.OsType = &osType + } + } + + // Set property "Owner": + pool.Owner = &genruntime.KnownResourceReference{ + Name: owner.Name, + ARMID: owner.ARMID, + } + + // no assignment for property "PodSubnetReference" + + // Set property "PowerState": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.PowerState != nil { + var powerState1 PowerState + err := powerState1.PopulateFromARM(owner, *typedInput.Properties.PowerState) + if err != nil { + return err + } + powerState := powerState1 + pool.PowerState = &powerState + } + } + + // no assignment for property "ProximityPlacementGroupReference" + + // Set property "ScaleDownMode": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.ScaleDownMode != nil { + var temp string + temp = string(*typedInput.Properties.ScaleDownMode) + scaleDownMode := ScaleDownMode(temp) + pool.ScaleDownMode = &scaleDownMode + } + } + + // Set property "ScaleSetEvictionPolicy": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.ScaleSetEvictionPolicy != nil { + var temp string + temp = string(*typedInput.Properties.ScaleSetEvictionPolicy) + scaleSetEvictionPolicy := ScaleSetEvictionPolicy(temp) + pool.ScaleSetEvictionPolicy = &scaleSetEvictionPolicy + } + } + + // Set property "ScaleSetPriority": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.ScaleSetPriority != nil { + var temp string + temp = string(*typedInput.Properties.ScaleSetPriority) + scaleSetPriority := ScaleSetPriority(temp) + pool.ScaleSetPriority = &scaleSetPriority + } + } + + // Set property "SecurityProfile": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.SecurityProfile != nil { + var securityProfile1 AgentPoolSecurityProfile + err := securityProfile1.PopulateFromARM(owner, *typedInput.Properties.SecurityProfile) + if err != nil { + return err + } + securityProfile := securityProfile1 + pool.SecurityProfile = &securityProfile + } + } + + // Set property "SpotMaxPrice": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.SpotMaxPrice != nil { + spotMaxPrice := *typedInput.Properties.SpotMaxPrice + pool.SpotMaxPrice = &spotMaxPrice + } + } + + // Set property "Tags": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.Tags != nil { + pool.Tags = make(map[string]string, len(typedInput.Properties.Tags)) + for key, value := range typedInput.Properties.Tags { + pool.Tags[key] = value + } + } + } + + // Set property "Type": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.Type != nil { + var temp string + temp = string(*typedInput.Properties.Type) + typeVar := AgentPoolType(temp) + pool.Type = &typeVar + } + } + + // Set property "UpgradeSettings": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.UpgradeSettings != nil { + var upgradeSettings1 AgentPoolUpgradeSettings + err := upgradeSettings1.PopulateFromARM(owner, *typedInput.Properties.UpgradeSettings) + if err != nil { + return err + } + upgradeSettings := upgradeSettings1 + pool.UpgradeSettings = &upgradeSettings + } + } + + // Set property "VmSize": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.VmSize != nil { + vmSize := *typedInput.Properties.VmSize + pool.VmSize = &vmSize + } + } + + // no assignment for property "VnetSubnetReference" + + // Set property "WindowsProfile": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.WindowsProfile != nil { + var windowsProfile1 AgentPoolWindowsProfile + err := windowsProfile1.PopulateFromARM(owner, *typedInput.Properties.WindowsProfile) + if err != nil { + return err + } + windowsProfile := windowsProfile1 + pool.WindowsProfile = &windowsProfile + } + } + + // Set property "WorkloadRuntime": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.WorkloadRuntime != nil { + var temp string + temp = string(*typedInput.Properties.WorkloadRuntime) + workloadRuntime := WorkloadRuntime(temp) + pool.WorkloadRuntime = &workloadRuntime + } + } + + // No error + return nil +} + +var _ genruntime.ConvertibleSpec = &ManagedClustersAgentPool_Spec{} + +// ConvertSpecFrom populates our ManagedClustersAgentPool_Spec from the provided source +func (pool *ManagedClustersAgentPool_Spec) ConvertSpecFrom(source genruntime.ConvertibleSpec) error { + src, ok := source.(*storage.ManagedClustersAgentPool_Spec) + if ok { + // Populate our instance from source + return pool.AssignProperties_From_ManagedClustersAgentPool_Spec(src) + } + + // Convert to an intermediate form + src = &storage.ManagedClustersAgentPool_Spec{} + err := src.ConvertSpecFrom(source) + if err != nil { + return errors.Wrap(err, "initial step of conversion in ConvertSpecFrom()") + } + + // Update our instance from src + err = pool.AssignProperties_From_ManagedClustersAgentPool_Spec(src) + if err != nil { + return errors.Wrap(err, "final step of conversion in ConvertSpecFrom()") + } + + return nil +} + +// ConvertSpecTo populates the provided destination from our ManagedClustersAgentPool_Spec +func (pool *ManagedClustersAgentPool_Spec) ConvertSpecTo(destination genruntime.ConvertibleSpec) error { + dst, ok := destination.(*storage.ManagedClustersAgentPool_Spec) + if ok { + // Populate destination from our instance + return pool.AssignProperties_To_ManagedClustersAgentPool_Spec(dst) + } + + // Convert to an intermediate form + dst = &storage.ManagedClustersAgentPool_Spec{} + err := pool.AssignProperties_To_ManagedClustersAgentPool_Spec(dst) + if err != nil { + return errors.Wrap(err, "initial step of conversion in ConvertSpecTo()") + } + + // Update dst from our instance + err = dst.ConvertSpecTo(destination) + if err != nil { + return errors.Wrap(err, "final step of conversion in ConvertSpecTo()") + } + + return nil +} + +// AssignProperties_From_ManagedClustersAgentPool_Spec populates our ManagedClustersAgentPool_Spec from the provided source ManagedClustersAgentPool_Spec +func (pool *ManagedClustersAgentPool_Spec) AssignProperties_From_ManagedClustersAgentPool_Spec(source *storage.ManagedClustersAgentPool_Spec) error { + + // AvailabilityZones + pool.AvailabilityZones = genruntime.CloneSliceOfString(source.AvailabilityZones) + + // AzureName + pool.AzureName = source.AzureName + + // CapacityReservationGroupReference + if source.CapacityReservationGroupReference != nil { + capacityReservationGroupReference := source.CapacityReservationGroupReference.Copy() + pool.CapacityReservationGroupReference = &capacityReservationGroupReference + } else { + pool.CapacityReservationGroupReference = nil + } + + // Count + pool.Count = genruntime.ClonePointerToInt(source.Count) + + // CreationData + if source.CreationData != nil { + var creationDatum CreationData + err := creationDatum.AssignProperties_From_CreationData(source.CreationData) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_CreationData() to populate field CreationData") + } + pool.CreationData = &creationDatum + } else { + pool.CreationData = nil + } + + // EnableAutoScaling + if source.EnableAutoScaling != nil { + enableAutoScaling := *source.EnableAutoScaling + pool.EnableAutoScaling = &enableAutoScaling + } else { + pool.EnableAutoScaling = nil + } + + // EnableEncryptionAtHost + if source.EnableEncryptionAtHost != nil { + enableEncryptionAtHost := *source.EnableEncryptionAtHost + pool.EnableEncryptionAtHost = &enableEncryptionAtHost + } else { + pool.EnableEncryptionAtHost = nil + } + + // EnableFIPS + if source.EnableFIPS != nil { + enableFIPS := *source.EnableFIPS + pool.EnableFIPS = &enableFIPS + } else { + pool.EnableFIPS = nil + } + + // EnableNodePublicIP + if source.EnableNodePublicIP != nil { + enableNodePublicIP := *source.EnableNodePublicIP + pool.EnableNodePublicIP = &enableNodePublicIP + } else { + pool.EnableNodePublicIP = nil + } + + // EnableUltraSSD + if source.EnableUltraSSD != nil { + enableUltraSSD := *source.EnableUltraSSD + pool.EnableUltraSSD = &enableUltraSSD + } else { + pool.EnableUltraSSD = nil + } + + // GpuInstanceProfile + if source.GpuInstanceProfile != nil { + gpuInstanceProfile := *source.GpuInstanceProfile + gpuInstanceProfileTemp := genruntime.ToEnum(gpuInstanceProfile, gPUInstanceProfile_Values) + pool.GpuInstanceProfile = &gpuInstanceProfileTemp + } else { + pool.GpuInstanceProfile = nil + } + + // HostGroupReference + if source.HostGroupReference != nil { + hostGroupReference := source.HostGroupReference.Copy() + pool.HostGroupReference = &hostGroupReference + } else { + pool.HostGroupReference = nil + } + + // KubeletConfig + if source.KubeletConfig != nil { + var kubeletConfig KubeletConfig + err := kubeletConfig.AssignProperties_From_KubeletConfig(source.KubeletConfig) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_KubeletConfig() to populate field KubeletConfig") + } + pool.KubeletConfig = &kubeletConfig + } else { + pool.KubeletConfig = nil + } + + // KubeletDiskType + if source.KubeletDiskType != nil { + kubeletDiskType := *source.KubeletDiskType + kubeletDiskTypeTemp := genruntime.ToEnum(kubeletDiskType, kubeletDiskType_Values) + pool.KubeletDiskType = &kubeletDiskTypeTemp + } else { + pool.KubeletDiskType = nil + } + + // LinuxOSConfig + if source.LinuxOSConfig != nil { + var linuxOSConfig LinuxOSConfig + err := linuxOSConfig.AssignProperties_From_LinuxOSConfig(source.LinuxOSConfig) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_LinuxOSConfig() to populate field LinuxOSConfig") + } + pool.LinuxOSConfig = &linuxOSConfig + } else { + pool.LinuxOSConfig = nil + } + + // MaxCount + pool.MaxCount = genruntime.ClonePointerToInt(source.MaxCount) + + // MaxPods + pool.MaxPods = genruntime.ClonePointerToInt(source.MaxPods) + + // MinCount + pool.MinCount = genruntime.ClonePointerToInt(source.MinCount) + + // Mode + if source.Mode != nil { + mode := *source.Mode + modeTemp := genruntime.ToEnum(mode, agentPoolMode_Values) + pool.Mode = &modeTemp + } else { + pool.Mode = nil + } + + // NetworkProfile + if source.NetworkProfile != nil { + var networkProfile AgentPoolNetworkProfile + err := networkProfile.AssignProperties_From_AgentPoolNetworkProfile(source.NetworkProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_AgentPoolNetworkProfile() to populate field NetworkProfile") + } + pool.NetworkProfile = &networkProfile + } else { + pool.NetworkProfile = nil + } + + // NodeLabels + pool.NodeLabels = genruntime.CloneMapOfStringToString(source.NodeLabels) + + // NodePublicIPPrefixReference + if source.NodePublicIPPrefixReference != nil { + nodePublicIPPrefixReference := source.NodePublicIPPrefixReference.Copy() + pool.NodePublicIPPrefixReference = &nodePublicIPPrefixReference + } else { + pool.NodePublicIPPrefixReference = nil + } + + // NodeTaints + pool.NodeTaints = genruntime.CloneSliceOfString(source.NodeTaints) + + // OrchestratorVersion + pool.OrchestratorVersion = genruntime.ClonePointerToString(source.OrchestratorVersion) + + // OsDiskSizeGB + if source.OsDiskSizeGB != nil { + osDiskSizeGB := ContainerServiceOSDisk(*source.OsDiskSizeGB) + pool.OsDiskSizeGB = &osDiskSizeGB + } else { + pool.OsDiskSizeGB = nil + } + + // OsDiskType + if source.OsDiskType != nil { + osDiskType := *source.OsDiskType + osDiskTypeTemp := genruntime.ToEnum(osDiskType, oSDiskType_Values) + pool.OsDiskType = &osDiskTypeTemp + } else { + pool.OsDiskType = nil + } + + // OsSKU + if source.OsSKU != nil { + osSKU := *source.OsSKU + osSKUTemp := genruntime.ToEnum(osSKU, oSSKU_Values) + pool.OsSKU = &osSKUTemp + } else { + pool.OsSKU = nil + } + + // OsType + if source.OsType != nil { + osType := *source.OsType + osTypeTemp := genruntime.ToEnum(osType, oSType_Values) + pool.OsType = &osTypeTemp + } else { + pool.OsType = nil + } + + // Owner + if source.Owner != nil { + owner := source.Owner.Copy() + pool.Owner = &owner + } else { + pool.Owner = nil + } + + // PodSubnetReference + if source.PodSubnetReference != nil { + podSubnetReference := source.PodSubnetReference.Copy() + pool.PodSubnetReference = &podSubnetReference + } else { + pool.PodSubnetReference = nil + } + + // PowerState + if source.PowerState != nil { + var powerState PowerState + err := powerState.AssignProperties_From_PowerState(source.PowerState) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_PowerState() to populate field PowerState") + } + pool.PowerState = &powerState + } else { + pool.PowerState = nil + } + + // ProximityPlacementGroupReference + if source.ProximityPlacementGroupReference != nil { + proximityPlacementGroupReference := source.ProximityPlacementGroupReference.Copy() + pool.ProximityPlacementGroupReference = &proximityPlacementGroupReference + } else { + pool.ProximityPlacementGroupReference = nil + } + + // ScaleDownMode + if source.ScaleDownMode != nil { + scaleDownMode := *source.ScaleDownMode + scaleDownModeTemp := genruntime.ToEnum(scaleDownMode, scaleDownMode_Values) + pool.ScaleDownMode = &scaleDownModeTemp + } else { + pool.ScaleDownMode = nil + } + + // ScaleSetEvictionPolicy + if source.ScaleSetEvictionPolicy != nil { + scaleSetEvictionPolicy := *source.ScaleSetEvictionPolicy + scaleSetEvictionPolicyTemp := genruntime.ToEnum(scaleSetEvictionPolicy, scaleSetEvictionPolicy_Values) + pool.ScaleSetEvictionPolicy = &scaleSetEvictionPolicyTemp + } else { + pool.ScaleSetEvictionPolicy = nil + } + + // ScaleSetPriority + if source.ScaleSetPriority != nil { + scaleSetPriority := *source.ScaleSetPriority + scaleSetPriorityTemp := genruntime.ToEnum(scaleSetPriority, scaleSetPriority_Values) + pool.ScaleSetPriority = &scaleSetPriorityTemp + } else { + pool.ScaleSetPriority = nil + } + + // SecurityProfile + if source.SecurityProfile != nil { + var securityProfile AgentPoolSecurityProfile + err := securityProfile.AssignProperties_From_AgentPoolSecurityProfile(source.SecurityProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_AgentPoolSecurityProfile() to populate field SecurityProfile") + } + pool.SecurityProfile = &securityProfile + } else { + pool.SecurityProfile = nil + } + + // SpotMaxPrice + if source.SpotMaxPrice != nil { + spotMaxPrice := *source.SpotMaxPrice + pool.SpotMaxPrice = &spotMaxPrice + } else { + pool.SpotMaxPrice = nil + } + + // Tags + pool.Tags = genruntime.CloneMapOfStringToString(source.Tags) + + // Type + if source.Type != nil { + typeVar := *source.Type + typeTemp := genruntime.ToEnum(typeVar, agentPoolType_Values) + pool.Type = &typeTemp + } else { + pool.Type = nil + } + + // UpgradeSettings + if source.UpgradeSettings != nil { + var upgradeSetting AgentPoolUpgradeSettings + err := upgradeSetting.AssignProperties_From_AgentPoolUpgradeSettings(source.UpgradeSettings) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_AgentPoolUpgradeSettings() to populate field UpgradeSettings") + } + pool.UpgradeSettings = &upgradeSetting + } else { + pool.UpgradeSettings = nil + } + + // VmSize + pool.VmSize = genruntime.ClonePointerToString(source.VmSize) + + // VnetSubnetReference + if source.VnetSubnetReference != nil { + vnetSubnetReference := source.VnetSubnetReference.Copy() + pool.VnetSubnetReference = &vnetSubnetReference + } else { + pool.VnetSubnetReference = nil + } + + // WindowsProfile + if source.WindowsProfile != nil { + var windowsProfile AgentPoolWindowsProfile + err := windowsProfile.AssignProperties_From_AgentPoolWindowsProfile(source.WindowsProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_AgentPoolWindowsProfile() to populate field WindowsProfile") + } + pool.WindowsProfile = &windowsProfile + } else { + pool.WindowsProfile = nil + } + + // WorkloadRuntime + if source.WorkloadRuntime != nil { + workloadRuntime := *source.WorkloadRuntime + workloadRuntimeTemp := genruntime.ToEnum(workloadRuntime, workloadRuntime_Values) + pool.WorkloadRuntime = &workloadRuntimeTemp + } else { + pool.WorkloadRuntime = nil + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClustersAgentPool_Spec populates the provided destination ManagedClustersAgentPool_Spec from our ManagedClustersAgentPool_Spec +func (pool *ManagedClustersAgentPool_Spec) AssignProperties_To_ManagedClustersAgentPool_Spec(destination *storage.ManagedClustersAgentPool_Spec) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // AvailabilityZones + destination.AvailabilityZones = genruntime.CloneSliceOfString(pool.AvailabilityZones) + + // AzureName + destination.AzureName = pool.AzureName + + // CapacityReservationGroupReference + if pool.CapacityReservationGroupReference != nil { + capacityReservationGroupReference := pool.CapacityReservationGroupReference.Copy() + destination.CapacityReservationGroupReference = &capacityReservationGroupReference + } else { + destination.CapacityReservationGroupReference = nil + } + + // Count + destination.Count = genruntime.ClonePointerToInt(pool.Count) + + // CreationData + if pool.CreationData != nil { + var creationDatum storage.CreationData + err := pool.CreationData.AssignProperties_To_CreationData(&creationDatum) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_CreationData() to populate field CreationData") + } + destination.CreationData = &creationDatum + } else { + destination.CreationData = nil + } + + // EnableAutoScaling + if pool.EnableAutoScaling != nil { + enableAutoScaling := *pool.EnableAutoScaling + destination.EnableAutoScaling = &enableAutoScaling + } else { + destination.EnableAutoScaling = nil + } + + // EnableEncryptionAtHost + if pool.EnableEncryptionAtHost != nil { + enableEncryptionAtHost := *pool.EnableEncryptionAtHost + destination.EnableEncryptionAtHost = &enableEncryptionAtHost + } else { + destination.EnableEncryptionAtHost = nil + } + + // EnableFIPS + if pool.EnableFIPS != nil { + enableFIPS := *pool.EnableFIPS + destination.EnableFIPS = &enableFIPS + } else { + destination.EnableFIPS = nil + } + + // EnableNodePublicIP + if pool.EnableNodePublicIP != nil { + enableNodePublicIP := *pool.EnableNodePublicIP + destination.EnableNodePublicIP = &enableNodePublicIP + } else { + destination.EnableNodePublicIP = nil + } + + // EnableUltraSSD + if pool.EnableUltraSSD != nil { + enableUltraSSD := *pool.EnableUltraSSD + destination.EnableUltraSSD = &enableUltraSSD + } else { + destination.EnableUltraSSD = nil + } + + // GpuInstanceProfile + if pool.GpuInstanceProfile != nil { + gpuInstanceProfile := string(*pool.GpuInstanceProfile) + destination.GpuInstanceProfile = &gpuInstanceProfile + } else { + destination.GpuInstanceProfile = nil + } + + // HostGroupReference + if pool.HostGroupReference != nil { + hostGroupReference := pool.HostGroupReference.Copy() + destination.HostGroupReference = &hostGroupReference + } else { + destination.HostGroupReference = nil + } + + // KubeletConfig + if pool.KubeletConfig != nil { + var kubeletConfig storage.KubeletConfig + err := pool.KubeletConfig.AssignProperties_To_KubeletConfig(&kubeletConfig) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_KubeletConfig() to populate field KubeletConfig") + } + destination.KubeletConfig = &kubeletConfig + } else { + destination.KubeletConfig = nil + } + + // KubeletDiskType + if pool.KubeletDiskType != nil { + kubeletDiskType := string(*pool.KubeletDiskType) + destination.KubeletDiskType = &kubeletDiskType + } else { + destination.KubeletDiskType = nil + } + + // LinuxOSConfig + if pool.LinuxOSConfig != nil { + var linuxOSConfig storage.LinuxOSConfig + err := pool.LinuxOSConfig.AssignProperties_To_LinuxOSConfig(&linuxOSConfig) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_LinuxOSConfig() to populate field LinuxOSConfig") + } + destination.LinuxOSConfig = &linuxOSConfig + } else { + destination.LinuxOSConfig = nil + } + + // MaxCount + destination.MaxCount = genruntime.ClonePointerToInt(pool.MaxCount) + + // MaxPods + destination.MaxPods = genruntime.ClonePointerToInt(pool.MaxPods) + + // MinCount + destination.MinCount = genruntime.ClonePointerToInt(pool.MinCount) + + // Mode + if pool.Mode != nil { + mode := string(*pool.Mode) + destination.Mode = &mode + } else { + destination.Mode = nil + } + + // NetworkProfile + if pool.NetworkProfile != nil { + var networkProfile storage.AgentPoolNetworkProfile + err := pool.NetworkProfile.AssignProperties_To_AgentPoolNetworkProfile(&networkProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_AgentPoolNetworkProfile() to populate field NetworkProfile") + } + destination.NetworkProfile = &networkProfile + } else { + destination.NetworkProfile = nil + } + + // NodeLabels + destination.NodeLabels = genruntime.CloneMapOfStringToString(pool.NodeLabels) + + // NodePublicIPPrefixReference + if pool.NodePublicIPPrefixReference != nil { + nodePublicIPPrefixReference := pool.NodePublicIPPrefixReference.Copy() + destination.NodePublicIPPrefixReference = &nodePublicIPPrefixReference + } else { + destination.NodePublicIPPrefixReference = nil + } + + // NodeTaints + destination.NodeTaints = genruntime.CloneSliceOfString(pool.NodeTaints) + + // OrchestratorVersion + destination.OrchestratorVersion = genruntime.ClonePointerToString(pool.OrchestratorVersion) + + // OriginalVersion + destination.OriginalVersion = pool.OriginalVersion() + + // OsDiskSizeGB + if pool.OsDiskSizeGB != nil { + osDiskSizeGB := int(*pool.OsDiskSizeGB) + destination.OsDiskSizeGB = &osDiskSizeGB + } else { + destination.OsDiskSizeGB = nil + } + + // OsDiskType + if pool.OsDiskType != nil { + osDiskType := string(*pool.OsDiskType) + destination.OsDiskType = &osDiskType + } else { + destination.OsDiskType = nil + } + + // OsSKU + if pool.OsSKU != nil { + osSKU := string(*pool.OsSKU) + destination.OsSKU = &osSKU + } else { + destination.OsSKU = nil + } + + // OsType + if pool.OsType != nil { + osType := string(*pool.OsType) + destination.OsType = &osType + } else { + destination.OsType = nil + } + + // Owner + if pool.Owner != nil { + owner := pool.Owner.Copy() + destination.Owner = &owner + } else { + destination.Owner = nil + } + + // PodSubnetReference + if pool.PodSubnetReference != nil { + podSubnetReference := pool.PodSubnetReference.Copy() + destination.PodSubnetReference = &podSubnetReference + } else { + destination.PodSubnetReference = nil + } + + // PowerState + if pool.PowerState != nil { + var powerState storage.PowerState + err := pool.PowerState.AssignProperties_To_PowerState(&powerState) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_PowerState() to populate field PowerState") + } + destination.PowerState = &powerState + } else { + destination.PowerState = nil + } + + // ProximityPlacementGroupReference + if pool.ProximityPlacementGroupReference != nil { + proximityPlacementGroupReference := pool.ProximityPlacementGroupReference.Copy() + destination.ProximityPlacementGroupReference = &proximityPlacementGroupReference + } else { + destination.ProximityPlacementGroupReference = nil + } + + // ScaleDownMode + if pool.ScaleDownMode != nil { + scaleDownMode := string(*pool.ScaleDownMode) + destination.ScaleDownMode = &scaleDownMode + } else { + destination.ScaleDownMode = nil + } + + // ScaleSetEvictionPolicy + if pool.ScaleSetEvictionPolicy != nil { + scaleSetEvictionPolicy := string(*pool.ScaleSetEvictionPolicy) + destination.ScaleSetEvictionPolicy = &scaleSetEvictionPolicy + } else { + destination.ScaleSetEvictionPolicy = nil + } + + // ScaleSetPriority + if pool.ScaleSetPriority != nil { + scaleSetPriority := string(*pool.ScaleSetPriority) + destination.ScaleSetPriority = &scaleSetPriority + } else { + destination.ScaleSetPriority = nil + } + + // SecurityProfile + if pool.SecurityProfile != nil { + var securityProfile storage.AgentPoolSecurityProfile + err := pool.SecurityProfile.AssignProperties_To_AgentPoolSecurityProfile(&securityProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_AgentPoolSecurityProfile() to populate field SecurityProfile") + } + destination.SecurityProfile = &securityProfile + } else { + destination.SecurityProfile = nil + } + + // SpotMaxPrice + if pool.SpotMaxPrice != nil { + spotMaxPrice := *pool.SpotMaxPrice + destination.SpotMaxPrice = &spotMaxPrice + } else { + destination.SpotMaxPrice = nil + } + + // Tags + destination.Tags = genruntime.CloneMapOfStringToString(pool.Tags) + + // Type + if pool.Type != nil { + typeVar := string(*pool.Type) + destination.Type = &typeVar + } else { + destination.Type = nil + } + + // UpgradeSettings + if pool.UpgradeSettings != nil { + var upgradeSetting storage.AgentPoolUpgradeSettings + err := pool.UpgradeSettings.AssignProperties_To_AgentPoolUpgradeSettings(&upgradeSetting) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_AgentPoolUpgradeSettings() to populate field UpgradeSettings") + } + destination.UpgradeSettings = &upgradeSetting + } else { + destination.UpgradeSettings = nil + } + + // VmSize + destination.VmSize = genruntime.ClonePointerToString(pool.VmSize) + + // VnetSubnetReference + if pool.VnetSubnetReference != nil { + vnetSubnetReference := pool.VnetSubnetReference.Copy() + destination.VnetSubnetReference = &vnetSubnetReference + } else { + destination.VnetSubnetReference = nil + } + + // WindowsProfile + if pool.WindowsProfile != nil { + var windowsProfile storage.AgentPoolWindowsProfile + err := pool.WindowsProfile.AssignProperties_To_AgentPoolWindowsProfile(&windowsProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_AgentPoolWindowsProfile() to populate field WindowsProfile") + } + destination.WindowsProfile = &windowsProfile + } else { + destination.WindowsProfile = nil + } + + // WorkloadRuntime + if pool.WorkloadRuntime != nil { + workloadRuntime := string(*pool.WorkloadRuntime) + destination.WorkloadRuntime = &workloadRuntime + } else { + destination.WorkloadRuntime = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_ManagedClustersAgentPool_STATUS populates our ManagedClustersAgentPool_Spec from the provided source ManagedClustersAgentPool_STATUS +func (pool *ManagedClustersAgentPool_Spec) Initialize_From_ManagedClustersAgentPool_STATUS(source *ManagedClustersAgentPool_STATUS) error { + + // AvailabilityZones + pool.AvailabilityZones = genruntime.CloneSliceOfString(source.AvailabilityZones) + + // Count + pool.Count = genruntime.ClonePointerToInt(source.Count) + + // CreationData + if source.CreationData != nil { + var creationDatum CreationData + err := creationDatum.Initialize_From_CreationData_STATUS(source.CreationData) + if err != nil { + return errors.Wrap(err, "calling Initialize_From_CreationData_STATUS() to populate field CreationData") + } + pool.CreationData = &creationDatum + } else { + pool.CreationData = nil + } + + // EnableAutoScaling + if source.EnableAutoScaling != nil { + enableAutoScaling := *source.EnableAutoScaling + pool.EnableAutoScaling = &enableAutoScaling + } else { + pool.EnableAutoScaling = nil + } + + // EnableEncryptionAtHost + if source.EnableEncryptionAtHost != nil { + enableEncryptionAtHost := *source.EnableEncryptionAtHost + pool.EnableEncryptionAtHost = &enableEncryptionAtHost + } else { + pool.EnableEncryptionAtHost = nil + } + + // EnableFIPS + if source.EnableFIPS != nil { + enableFIPS := *source.EnableFIPS + pool.EnableFIPS = &enableFIPS + } else { + pool.EnableFIPS = nil + } + + // EnableNodePublicIP + if source.EnableNodePublicIP != nil { + enableNodePublicIP := *source.EnableNodePublicIP + pool.EnableNodePublicIP = &enableNodePublicIP + } else { + pool.EnableNodePublicIP = nil + } + + // EnableUltraSSD + if source.EnableUltraSSD != nil { + enableUltraSSD := *source.EnableUltraSSD + pool.EnableUltraSSD = &enableUltraSSD + } else { + pool.EnableUltraSSD = nil + } + + // GpuInstanceProfile + if source.GpuInstanceProfile != nil { + gpuInstanceProfile := genruntime.ToEnum(string(*source.GpuInstanceProfile), gPUInstanceProfile_Values) + pool.GpuInstanceProfile = &gpuInstanceProfile + } else { + pool.GpuInstanceProfile = nil + } + + // KubeletConfig + if source.KubeletConfig != nil { + var kubeletConfig KubeletConfig + err := kubeletConfig.Initialize_From_KubeletConfig_STATUS(source.KubeletConfig) + if err != nil { + return errors.Wrap(err, "calling Initialize_From_KubeletConfig_STATUS() to populate field KubeletConfig") + } + pool.KubeletConfig = &kubeletConfig + } else { + pool.KubeletConfig = nil + } + + // KubeletDiskType + if source.KubeletDiskType != nil { + kubeletDiskType := genruntime.ToEnum(string(*source.KubeletDiskType), kubeletDiskType_Values) + pool.KubeletDiskType = &kubeletDiskType + } else { + pool.KubeletDiskType = nil + } + + // LinuxOSConfig + if source.LinuxOSConfig != nil { + var linuxOSConfig LinuxOSConfig + err := linuxOSConfig.Initialize_From_LinuxOSConfig_STATUS(source.LinuxOSConfig) + if err != nil { + return errors.Wrap(err, "calling Initialize_From_LinuxOSConfig_STATUS() to populate field LinuxOSConfig") + } + pool.LinuxOSConfig = &linuxOSConfig + } else { + pool.LinuxOSConfig = nil + } + + // MaxCount + pool.MaxCount = genruntime.ClonePointerToInt(source.MaxCount) + + // MaxPods + pool.MaxPods = genruntime.ClonePointerToInt(source.MaxPods) + + // MinCount + pool.MinCount = genruntime.ClonePointerToInt(source.MinCount) + + // Mode + if source.Mode != nil { + mode := genruntime.ToEnum(string(*source.Mode), agentPoolMode_Values) + pool.Mode = &mode + } else { + pool.Mode = nil + } + + // NetworkProfile + if source.NetworkProfile != nil { + var networkProfile AgentPoolNetworkProfile + err := networkProfile.Initialize_From_AgentPoolNetworkProfile_STATUS(source.NetworkProfile) + if err != nil { + return errors.Wrap(err, "calling Initialize_From_AgentPoolNetworkProfile_STATUS() to populate field NetworkProfile") + } + pool.NetworkProfile = &networkProfile + } else { + pool.NetworkProfile = nil + } + + // NodeLabels + pool.NodeLabels = genruntime.CloneMapOfStringToString(source.NodeLabels) + + // NodeTaints + pool.NodeTaints = genruntime.CloneSliceOfString(source.NodeTaints) + + // OrchestratorVersion + pool.OrchestratorVersion = genruntime.ClonePointerToString(source.OrchestratorVersion) + + // OsDiskSizeGB + if source.OsDiskSizeGB != nil { + osDiskSizeGB := ContainerServiceOSDisk(*source.OsDiskSizeGB) + pool.OsDiskSizeGB = &osDiskSizeGB + } else { + pool.OsDiskSizeGB = nil + } + + // OsDiskType + if source.OsDiskType != nil { + osDiskType := genruntime.ToEnum(string(*source.OsDiskType), oSDiskType_Values) + pool.OsDiskType = &osDiskType + } else { + pool.OsDiskType = nil + } + + // OsSKU + if source.OsSKU != nil { + osSKU := genruntime.ToEnum(string(*source.OsSKU), oSSKU_Values) + pool.OsSKU = &osSKU + } else { + pool.OsSKU = nil + } + + // OsType + if source.OsType != nil { + osType := genruntime.ToEnum(string(*source.OsType), oSType_Values) + pool.OsType = &osType + } else { + pool.OsType = nil + } + + // PowerState + if source.PowerState != nil { + var powerState PowerState + err := powerState.Initialize_From_PowerState_STATUS(source.PowerState) + if err != nil { + return errors.Wrap(err, "calling Initialize_From_PowerState_STATUS() to populate field PowerState") + } + pool.PowerState = &powerState + } else { + pool.PowerState = nil + } + + // ScaleDownMode + if source.ScaleDownMode != nil { + scaleDownMode := genruntime.ToEnum(string(*source.ScaleDownMode), scaleDownMode_Values) + pool.ScaleDownMode = &scaleDownMode + } else { + pool.ScaleDownMode = nil + } + + // ScaleSetEvictionPolicy + if source.ScaleSetEvictionPolicy != nil { + scaleSetEvictionPolicy := genruntime.ToEnum(string(*source.ScaleSetEvictionPolicy), scaleSetEvictionPolicy_Values) + pool.ScaleSetEvictionPolicy = &scaleSetEvictionPolicy + } else { + pool.ScaleSetEvictionPolicy = nil + } + + // ScaleSetPriority + if source.ScaleSetPriority != nil { + scaleSetPriority := genruntime.ToEnum(string(*source.ScaleSetPriority), scaleSetPriority_Values) + pool.ScaleSetPriority = &scaleSetPriority + } else { + pool.ScaleSetPriority = nil + } + + // SecurityProfile + if source.SecurityProfile != nil { + var securityProfile AgentPoolSecurityProfile + err := securityProfile.Initialize_From_AgentPoolSecurityProfile_STATUS(source.SecurityProfile) + if err != nil { + return errors.Wrap(err, "calling Initialize_From_AgentPoolSecurityProfile_STATUS() to populate field SecurityProfile") + } + pool.SecurityProfile = &securityProfile + } else { + pool.SecurityProfile = nil + } + + // SpotMaxPrice + if source.SpotMaxPrice != nil { + spotMaxPrice := *source.SpotMaxPrice + pool.SpotMaxPrice = &spotMaxPrice + } else { + pool.SpotMaxPrice = nil + } + + // Tags + pool.Tags = genruntime.CloneMapOfStringToString(source.Tags) + + // Type + if source.PropertiesType != nil { + typeVar := genruntime.ToEnum(string(*source.PropertiesType), agentPoolType_Values) + pool.Type = &typeVar + } else { + pool.Type = nil + } + + // UpgradeSettings + if source.UpgradeSettings != nil { + var upgradeSetting AgentPoolUpgradeSettings + err := upgradeSetting.Initialize_From_AgentPoolUpgradeSettings_STATUS(source.UpgradeSettings) + if err != nil { + return errors.Wrap(err, "calling Initialize_From_AgentPoolUpgradeSettings_STATUS() to populate field UpgradeSettings") + } + pool.UpgradeSettings = &upgradeSetting + } else { + pool.UpgradeSettings = nil + } + + // VmSize + pool.VmSize = genruntime.ClonePointerToString(source.VmSize) + + // WindowsProfile + if source.WindowsProfile != nil { + var windowsProfile AgentPoolWindowsProfile + err := windowsProfile.Initialize_From_AgentPoolWindowsProfile_STATUS(source.WindowsProfile) + if err != nil { + return errors.Wrap(err, "calling Initialize_From_AgentPoolWindowsProfile_STATUS() to populate field WindowsProfile") + } + pool.WindowsProfile = &windowsProfile + } else { + pool.WindowsProfile = nil + } + + // WorkloadRuntime + if source.WorkloadRuntime != nil { + workloadRuntime := genruntime.ToEnum(string(*source.WorkloadRuntime), workloadRuntime_Values) + pool.WorkloadRuntime = &workloadRuntime + } else { + pool.WorkloadRuntime = nil + } + + // No error + return nil +} + +// OriginalVersion returns the original API version used to create the resource. +func (pool *ManagedClustersAgentPool_Spec) OriginalVersion() string { + return GroupVersion.Version +} + +// SetAzureName sets the Azure name of the resource +func (pool *ManagedClustersAgentPool_Spec) SetAzureName(azureName string) { pool.AzureName = azureName } + +type ManagedClustersAgentPool_STATUS struct { + // AvailabilityZones: The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType + // property is 'VirtualMachineScaleSets'. + AvailabilityZones []string `json:"availabilityZones,omitempty"` + + // CapacityReservationGroupID: AKS will associate the specified agent pool with the Capacity Reservation Group. + CapacityReservationGroupID *string `json:"capacityReservationGroupID,omitempty"` + + // Conditions: The observed state of the resource + Conditions []conditions.Condition `json:"conditions,omitempty"` + + // Count: Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) + // for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1. + Count *int `json:"count,omitempty"` + + // CreationData: CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using + // a snapshot. + CreationData *CreationData_STATUS `json:"creationData,omitempty"` + + // CurrentOrchestratorVersion: If orchestratorVersion is a fully specified version , this field will be + // exactly equal to it. If orchestratorVersion is , this field will contain the full + // version being used. + CurrentOrchestratorVersion *string `json:"currentOrchestratorVersion,omitempty"` + + // ETag: Unique read-only string used to implement optimistic concurrency. The eTag value will change when the resource is + // updated. Specify an if-match or if-none-match header with the eTag value for a subsequent request to enable optimistic + // concurrency per the normal etag convention. + ETag *string `json:"eTag,omitempty"` + + // EnableAutoScaling: Whether to enable auto-scaler + EnableAutoScaling *bool `json:"enableAutoScaling,omitempty"` + + // EnableEncryptionAtHost: This is only supported on certain VM sizes and in certain Azure regions. For more information, + // see: https://docs.microsoft.com/azure/aks/enable-host-encryption + EnableEncryptionAtHost *bool `json:"enableEncryptionAtHost,omitempty"` + + // EnableFIPS: See [Add a FIPS-enabled node + // pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more + // details. + EnableFIPS *bool `json:"enableFIPS,omitempty"` + + // EnableNodePublicIP: Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. + // A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine + // to minimize hops. For more information see [assigning a public IP per + // node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The + // default is false. + EnableNodePublicIP *bool `json:"enableNodePublicIP,omitempty"` + + // EnableUltraSSD: Whether to enable UltraSSD + EnableUltraSSD *bool `json:"enableUltraSSD,omitempty"` + + // GpuInstanceProfile: GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU. + GpuInstanceProfile *GPUInstanceProfile_STATUS `json:"gpuInstanceProfile,omitempty"` + + // HostGroupID: This is of the form: + // /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. + // For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). + HostGroupID *string `json:"hostGroupID,omitempty"` + + // Id: Resource ID. + Id *string `json:"id,omitempty"` + + // KubeletConfig: The Kubelet configuration on the agent pool nodes. + KubeletConfig *KubeletConfig_STATUS `json:"kubeletConfig,omitempty"` + + // KubeletDiskType: Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral + // storage. + KubeletDiskType *KubeletDiskType_STATUS `json:"kubeletDiskType,omitempty"` + + // LinuxOSConfig: The OS configuration of Linux agent nodes. + LinuxOSConfig *LinuxOSConfig_STATUS `json:"linuxOSConfig,omitempty"` + + // MaxCount: The maximum number of nodes for auto-scaling + MaxCount *int `json:"maxCount,omitempty"` + + // MaxPods: The maximum number of pods that can run on a node. + MaxPods *int `json:"maxPods,omitempty"` + + // MinCount: The minimum number of nodes for auto-scaling + MinCount *int `json:"minCount,omitempty"` + + // Mode: A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool + // restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools + Mode *AgentPoolMode_STATUS `json:"mode,omitempty"` + + // Name: The name of the resource that is unique within a resource group. This name can be used to access the resource. + Name *string `json:"name,omitempty"` + + // NetworkProfile: Network-related settings of an agent pool. + NetworkProfile *AgentPoolNetworkProfile_STATUS `json:"networkProfile,omitempty"` + + // NodeImageVersion: The version of node image + NodeImageVersion *string `json:"nodeImageVersion,omitempty"` + + // NodeLabels: The node labels to be persisted across all nodes in agent pool. + NodeLabels map[string]string `json:"nodeLabels,omitempty"` + + // NodePublicIPPrefixID: This is of the form: + // /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} + NodePublicIPPrefixID *string `json:"nodePublicIPPrefixID,omitempty"` + + // NodeTaints: The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule. + NodeTaints []string `json:"nodeTaints,omitempty"` + + // OrchestratorVersion: Both patch version (e.g. 1.20.13) and (e.g. 1.20) are supported. + // When is specified, the latest supported GA patch version is chosen automatically. Updating the cluster + // with the same once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer + // patch version is available. As a best practice, you should upgrade all node pools in an AKS cluster to the same + // Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor + // version must be within two minor versions of the control plane version. The node pool version cannot be greater than the + // control plane version. For more information see [upgrading a node + // pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). + OrchestratorVersion *string `json:"orchestratorVersion,omitempty"` + OsDiskSizeGB *int `json:"osDiskSizeGB,omitempty"` + + // OsDiskType: The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested + // OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral + // OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). + OsDiskType *OSDiskType_STATUS `json:"osDiskType,omitempty"` + + // OsSKU: Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 + // when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows. + OsSKU *OSSKU_STATUS `json:"osSKU,omitempty"` + + // OsType: The operating system type. The default is Linux. + OsType *OSType_STATUS `json:"osType,omitempty"` + + // PodSubnetID: If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). This is + // of the form: + // /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + PodSubnetID *string `json:"podSubnetID,omitempty"` + + // PowerState: When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this + // field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only + // be stopped if it is Running and provisioning state is Succeeded + PowerState *PowerState_STATUS `json:"powerState,omitempty"` + + // PropertiesType: The type of Agent Pool. + PropertiesType *AgentPoolType_STATUS `json:"properties_type,omitempty"` + + // ProvisioningState: The current deployment or provisioning state. + ProvisioningState *string `json:"provisioningState,omitempty"` + + // ProximityPlacementGroupID: The ID for Proximity Placement Group. + ProximityPlacementGroupID *string `json:"proximityPlacementGroupID,omitempty"` + + // ScaleDownMode: This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete. + ScaleDownMode *ScaleDownMode_STATUS `json:"scaleDownMode,omitempty"` + + // ScaleSetEvictionPolicy: This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is + // 'Delete'. + ScaleSetEvictionPolicy *ScaleSetEvictionPolicy_STATUS `json:"scaleSetEvictionPolicy,omitempty"` + + // ScaleSetPriority: The Virtual Machine Scale Set priority. If not specified, the default is 'Regular'. + ScaleSetPriority *ScaleSetPriority_STATUS `json:"scaleSetPriority,omitempty"` + + // SecurityProfile: The security settings of an agent pool. + SecurityProfile *AgentPoolSecurityProfile_STATUS `json:"securityProfile,omitempty"` + + // SpotMaxPrice: Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any + // on-demand price. For more details on spot pricing, see [spot VMs + // pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing) + SpotMaxPrice *float64 `json:"spotMaxPrice,omitempty"` + + // Tags: The tags to be persisted on the agent pool virtual machine scale set. + Tags map[string]string `json:"tags,omitempty"` + + // Type: Resource type + Type *string `json:"type,omitempty"` + + // UpgradeSettings: Settings for upgrading the agentpool + UpgradeSettings *AgentPoolUpgradeSettings_STATUS `json:"upgradeSettings,omitempty"` + + // VmSize: VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods + // might fail to run correctly. For more details on restricted VM sizes, see: + // https://docs.microsoft.com/azure/aks/quotas-skus-regions + VmSize *string `json:"vmSize,omitempty"` + + // VnetSubnetID: If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is specified, + // this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: + // /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + VnetSubnetID *string `json:"vnetSubnetID,omitempty"` + + // WindowsProfile: The Windows agent pool's specific profile. + WindowsProfile *AgentPoolWindowsProfile_STATUS `json:"windowsProfile,omitempty"` + + // WorkloadRuntime: Determines the type of workload a node can run. + WorkloadRuntime *WorkloadRuntime_STATUS `json:"workloadRuntime,omitempty"` +} + +var _ genruntime.ConvertibleStatus = &ManagedClustersAgentPool_STATUS{} + +// ConvertStatusFrom populates our ManagedClustersAgentPool_STATUS from the provided source +func (pool *ManagedClustersAgentPool_STATUS) ConvertStatusFrom(source genruntime.ConvertibleStatus) error { + src, ok := source.(*storage.ManagedClustersAgentPool_STATUS) + if ok { + // Populate our instance from source + return pool.AssignProperties_From_ManagedClustersAgentPool_STATUS(src) + } + + // Convert to an intermediate form + src = &storage.ManagedClustersAgentPool_STATUS{} + err := src.ConvertStatusFrom(source) + if err != nil { + return errors.Wrap(err, "initial step of conversion in ConvertStatusFrom()") + } + + // Update our instance from src + err = pool.AssignProperties_From_ManagedClustersAgentPool_STATUS(src) + if err != nil { + return errors.Wrap(err, "final step of conversion in ConvertStatusFrom()") + } + + return nil +} + +// ConvertStatusTo populates the provided destination from our ManagedClustersAgentPool_STATUS +func (pool *ManagedClustersAgentPool_STATUS) ConvertStatusTo(destination genruntime.ConvertibleStatus) error { + dst, ok := destination.(*storage.ManagedClustersAgentPool_STATUS) + if ok { + // Populate destination from our instance + return pool.AssignProperties_To_ManagedClustersAgentPool_STATUS(dst) + } + + // Convert to an intermediate form + dst = &storage.ManagedClustersAgentPool_STATUS{} + err := pool.AssignProperties_To_ManagedClustersAgentPool_STATUS(dst) + if err != nil { + return errors.Wrap(err, "initial step of conversion in ConvertStatusTo()") + } + + // Update dst from our instance + err = dst.ConvertStatusTo(destination) + if err != nil { + return errors.Wrap(err, "final step of conversion in ConvertStatusTo()") + } + + return nil +} + +var _ genruntime.FromARMConverter = &ManagedClustersAgentPool_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (pool *ManagedClustersAgentPool_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.ManagedClustersAgentPool_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (pool *ManagedClustersAgentPool_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.ManagedClustersAgentPool_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.ManagedClustersAgentPool_STATUS, got %T", armInput) + } + + // Set property "AvailabilityZones": + // copying flattened property: + if typedInput.Properties != nil { + for _, item := range typedInput.Properties.AvailabilityZones { + pool.AvailabilityZones = append(pool.AvailabilityZones, item) + } + } + + // Set property "CapacityReservationGroupID": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.CapacityReservationGroupID != nil { + capacityReservationGroupID := *typedInput.Properties.CapacityReservationGroupID + pool.CapacityReservationGroupID = &capacityReservationGroupID + } + } + + // no assignment for property "Conditions" + + // Set property "Count": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.Count != nil { + count := *typedInput.Properties.Count + pool.Count = &count + } + } + + // Set property "CreationData": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.CreationData != nil { + var creationData1 CreationData_STATUS + err := creationData1.PopulateFromARM(owner, *typedInput.Properties.CreationData) + if err != nil { + return err + } + creationData := creationData1 + pool.CreationData = &creationData + } + } + + // Set property "CurrentOrchestratorVersion": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.CurrentOrchestratorVersion != nil { + currentOrchestratorVersion := *typedInput.Properties.CurrentOrchestratorVersion + pool.CurrentOrchestratorVersion = ¤tOrchestratorVersion + } + } + + // Set property "ETag": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.ETag != nil { + eTag := *typedInput.Properties.ETag + pool.ETag = &eTag + } + } + + // Set property "EnableAutoScaling": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.EnableAutoScaling != nil { + enableAutoScaling := *typedInput.Properties.EnableAutoScaling + pool.EnableAutoScaling = &enableAutoScaling + } + } + + // Set property "EnableEncryptionAtHost": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.EnableEncryptionAtHost != nil { + enableEncryptionAtHost := *typedInput.Properties.EnableEncryptionAtHost + pool.EnableEncryptionAtHost = &enableEncryptionAtHost + } + } + + // Set property "EnableFIPS": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.EnableFIPS != nil { + enableFIPS := *typedInput.Properties.EnableFIPS + pool.EnableFIPS = &enableFIPS + } + } + + // Set property "EnableNodePublicIP": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.EnableNodePublicIP != nil { + enableNodePublicIP := *typedInput.Properties.EnableNodePublicIP + pool.EnableNodePublicIP = &enableNodePublicIP + } + } + + // Set property "EnableUltraSSD": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.EnableUltraSSD != nil { + enableUltraSSD := *typedInput.Properties.EnableUltraSSD + pool.EnableUltraSSD = &enableUltraSSD + } + } + + // Set property "GpuInstanceProfile": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.GpuInstanceProfile != nil { + var temp string + temp = string(*typedInput.Properties.GpuInstanceProfile) + gpuInstanceProfile := GPUInstanceProfile_STATUS(temp) + pool.GpuInstanceProfile = &gpuInstanceProfile + } + } + + // Set property "HostGroupID": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.HostGroupID != nil { + hostGroupID := *typedInput.Properties.HostGroupID + pool.HostGroupID = &hostGroupID + } + } + + // Set property "Id": + if typedInput.Id != nil { + id := *typedInput.Id + pool.Id = &id + } + + // Set property "KubeletConfig": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.KubeletConfig != nil { + var kubeletConfig1 KubeletConfig_STATUS + err := kubeletConfig1.PopulateFromARM(owner, *typedInput.Properties.KubeletConfig) + if err != nil { + return err + } + kubeletConfig := kubeletConfig1 + pool.KubeletConfig = &kubeletConfig + } + } + + // Set property "KubeletDiskType": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.KubeletDiskType != nil { + var temp string + temp = string(*typedInput.Properties.KubeletDiskType) + kubeletDiskType := KubeletDiskType_STATUS(temp) + pool.KubeletDiskType = &kubeletDiskType + } + } + + // Set property "LinuxOSConfig": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.LinuxOSConfig != nil { + var linuxOSConfig1 LinuxOSConfig_STATUS + err := linuxOSConfig1.PopulateFromARM(owner, *typedInput.Properties.LinuxOSConfig) + if err != nil { + return err + } + linuxOSConfig := linuxOSConfig1 + pool.LinuxOSConfig = &linuxOSConfig + } + } + + // Set property "MaxCount": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.MaxCount != nil { + maxCount := *typedInput.Properties.MaxCount + pool.MaxCount = &maxCount + } + } + + // Set property "MaxPods": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.MaxPods != nil { + maxPods := *typedInput.Properties.MaxPods + pool.MaxPods = &maxPods + } + } + + // Set property "MinCount": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.MinCount != nil { + minCount := *typedInput.Properties.MinCount + pool.MinCount = &minCount + } + } + + // Set property "Mode": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.Mode != nil { + var temp string + temp = string(*typedInput.Properties.Mode) + mode := AgentPoolMode_STATUS(temp) + pool.Mode = &mode + } + } + + // Set property "Name": + if typedInput.Name != nil { + name := *typedInput.Name + pool.Name = &name + } + + // Set property "NetworkProfile": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.NetworkProfile != nil { + var networkProfile1 AgentPoolNetworkProfile_STATUS + err := networkProfile1.PopulateFromARM(owner, *typedInput.Properties.NetworkProfile) + if err != nil { + return err + } + networkProfile := networkProfile1 + pool.NetworkProfile = &networkProfile + } + } + + // Set property "NodeImageVersion": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.NodeImageVersion != nil { + nodeImageVersion := *typedInput.Properties.NodeImageVersion + pool.NodeImageVersion = &nodeImageVersion + } + } + + // Set property "NodeLabels": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.NodeLabels != nil { + pool.NodeLabels = make(map[string]string, len(typedInput.Properties.NodeLabels)) + for key, value := range typedInput.Properties.NodeLabels { + pool.NodeLabels[key] = value + } + } + } + + // Set property "NodePublicIPPrefixID": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.NodePublicIPPrefixID != nil { + nodePublicIPPrefixID := *typedInput.Properties.NodePublicIPPrefixID + pool.NodePublicIPPrefixID = &nodePublicIPPrefixID + } + } + + // Set property "NodeTaints": + // copying flattened property: + if typedInput.Properties != nil { + for _, item := range typedInput.Properties.NodeTaints { + pool.NodeTaints = append(pool.NodeTaints, item) + } + } + + // Set property "OrchestratorVersion": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.OrchestratorVersion != nil { + orchestratorVersion := *typedInput.Properties.OrchestratorVersion + pool.OrchestratorVersion = &orchestratorVersion + } + } + + // Set property "OsDiskSizeGB": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.OsDiskSizeGB != nil { + osDiskSizeGB := *typedInput.Properties.OsDiskSizeGB + pool.OsDiskSizeGB = &osDiskSizeGB + } + } + + // Set property "OsDiskType": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.OsDiskType != nil { + var temp string + temp = string(*typedInput.Properties.OsDiskType) + osDiskType := OSDiskType_STATUS(temp) + pool.OsDiskType = &osDiskType + } + } + + // Set property "OsSKU": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.OsSKU != nil { + var temp string + temp = string(*typedInput.Properties.OsSKU) + osSKU := OSSKU_STATUS(temp) + pool.OsSKU = &osSKU + } + } + + // Set property "OsType": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.OsType != nil { + var temp string + temp = string(*typedInput.Properties.OsType) + osType := OSType_STATUS(temp) + pool.OsType = &osType + } + } + + // Set property "PodSubnetID": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.PodSubnetID != nil { + podSubnetID := *typedInput.Properties.PodSubnetID + pool.PodSubnetID = &podSubnetID + } + } + + // Set property "PowerState": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.PowerState != nil { + var powerState1 PowerState_STATUS + err := powerState1.PopulateFromARM(owner, *typedInput.Properties.PowerState) + if err != nil { + return err + } + powerState := powerState1 + pool.PowerState = &powerState + } + } + + // Set property "PropertiesType": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.Type != nil { + var temp string + temp = string(*typedInput.Properties.Type) + propertiesType := AgentPoolType_STATUS(temp) + pool.PropertiesType = &propertiesType + } + } + + // Set property "ProvisioningState": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.ProvisioningState != nil { + provisioningState := *typedInput.Properties.ProvisioningState + pool.ProvisioningState = &provisioningState + } + } + + // Set property "ProximityPlacementGroupID": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.ProximityPlacementGroupID != nil { + proximityPlacementGroupID := *typedInput.Properties.ProximityPlacementGroupID + pool.ProximityPlacementGroupID = &proximityPlacementGroupID + } + } + + // Set property "ScaleDownMode": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.ScaleDownMode != nil { + var temp string + temp = string(*typedInput.Properties.ScaleDownMode) + scaleDownMode := ScaleDownMode_STATUS(temp) + pool.ScaleDownMode = &scaleDownMode + } + } + + // Set property "ScaleSetEvictionPolicy": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.ScaleSetEvictionPolicy != nil { + var temp string + temp = string(*typedInput.Properties.ScaleSetEvictionPolicy) + scaleSetEvictionPolicy := ScaleSetEvictionPolicy_STATUS(temp) + pool.ScaleSetEvictionPolicy = &scaleSetEvictionPolicy + } + } + + // Set property "ScaleSetPriority": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.ScaleSetPriority != nil { + var temp string + temp = string(*typedInput.Properties.ScaleSetPriority) + scaleSetPriority := ScaleSetPriority_STATUS(temp) + pool.ScaleSetPriority = &scaleSetPriority + } + } + + // Set property "SecurityProfile": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.SecurityProfile != nil { + var securityProfile1 AgentPoolSecurityProfile_STATUS + err := securityProfile1.PopulateFromARM(owner, *typedInput.Properties.SecurityProfile) + if err != nil { + return err + } + securityProfile := securityProfile1 + pool.SecurityProfile = &securityProfile + } + } + + // Set property "SpotMaxPrice": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.SpotMaxPrice != nil { + spotMaxPrice := *typedInput.Properties.SpotMaxPrice + pool.SpotMaxPrice = &spotMaxPrice + } + } + + // Set property "Tags": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.Tags != nil { + pool.Tags = make(map[string]string, len(typedInput.Properties.Tags)) + for key, value := range typedInput.Properties.Tags { + pool.Tags[key] = value + } + } + } + + // Set property "Type": + if typedInput.Type != nil { + typeVar := *typedInput.Type + pool.Type = &typeVar + } + + // Set property "UpgradeSettings": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.UpgradeSettings != nil { + var upgradeSettings1 AgentPoolUpgradeSettings_STATUS + err := upgradeSettings1.PopulateFromARM(owner, *typedInput.Properties.UpgradeSettings) + if err != nil { + return err + } + upgradeSettings := upgradeSettings1 + pool.UpgradeSettings = &upgradeSettings + } + } + + // Set property "VmSize": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.VmSize != nil { + vmSize := *typedInput.Properties.VmSize + pool.VmSize = &vmSize + } + } + + // Set property "VnetSubnetID": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.VnetSubnetID != nil { + vnetSubnetID := *typedInput.Properties.VnetSubnetID + pool.VnetSubnetID = &vnetSubnetID + } + } + + // Set property "WindowsProfile": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.WindowsProfile != nil { + var windowsProfile1 AgentPoolWindowsProfile_STATUS + err := windowsProfile1.PopulateFromARM(owner, *typedInput.Properties.WindowsProfile) + if err != nil { + return err + } + windowsProfile := windowsProfile1 + pool.WindowsProfile = &windowsProfile + } + } + + // Set property "WorkloadRuntime": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.WorkloadRuntime != nil { + var temp string + temp = string(*typedInput.Properties.WorkloadRuntime) + workloadRuntime := WorkloadRuntime_STATUS(temp) + pool.WorkloadRuntime = &workloadRuntime + } + } + + // No error + return nil +} + +// AssignProperties_From_ManagedClustersAgentPool_STATUS populates our ManagedClustersAgentPool_STATUS from the provided source ManagedClustersAgentPool_STATUS +func (pool *ManagedClustersAgentPool_STATUS) AssignProperties_From_ManagedClustersAgentPool_STATUS(source *storage.ManagedClustersAgentPool_STATUS) error { + + // AvailabilityZones + pool.AvailabilityZones = genruntime.CloneSliceOfString(source.AvailabilityZones) + + // CapacityReservationGroupID + pool.CapacityReservationGroupID = genruntime.ClonePointerToString(source.CapacityReservationGroupID) + + // Conditions + pool.Conditions = genruntime.CloneSliceOfCondition(source.Conditions) + + // Count + pool.Count = genruntime.ClonePointerToInt(source.Count) + + // CreationData + if source.CreationData != nil { + var creationDatum CreationData_STATUS + err := creationDatum.AssignProperties_From_CreationData_STATUS(source.CreationData) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_CreationData_STATUS() to populate field CreationData") + } + pool.CreationData = &creationDatum + } else { + pool.CreationData = nil + } + + // CurrentOrchestratorVersion + pool.CurrentOrchestratorVersion = genruntime.ClonePointerToString(source.CurrentOrchestratorVersion) + + // ETag + pool.ETag = genruntime.ClonePointerToString(source.ETag) + + // EnableAutoScaling + if source.EnableAutoScaling != nil { + enableAutoScaling := *source.EnableAutoScaling + pool.EnableAutoScaling = &enableAutoScaling + } else { + pool.EnableAutoScaling = nil + } + + // EnableEncryptionAtHost + if source.EnableEncryptionAtHost != nil { + enableEncryptionAtHost := *source.EnableEncryptionAtHost + pool.EnableEncryptionAtHost = &enableEncryptionAtHost + } else { + pool.EnableEncryptionAtHost = nil + } + + // EnableFIPS + if source.EnableFIPS != nil { + enableFIPS := *source.EnableFIPS + pool.EnableFIPS = &enableFIPS + } else { + pool.EnableFIPS = nil + } + + // EnableNodePublicIP + if source.EnableNodePublicIP != nil { + enableNodePublicIP := *source.EnableNodePublicIP + pool.EnableNodePublicIP = &enableNodePublicIP + } else { + pool.EnableNodePublicIP = nil + } + + // EnableUltraSSD + if source.EnableUltraSSD != nil { + enableUltraSSD := *source.EnableUltraSSD + pool.EnableUltraSSD = &enableUltraSSD + } else { + pool.EnableUltraSSD = nil + } + + // GpuInstanceProfile + if source.GpuInstanceProfile != nil { + gpuInstanceProfile := *source.GpuInstanceProfile + gpuInstanceProfileTemp := genruntime.ToEnum(gpuInstanceProfile, gPUInstanceProfile_STATUS_Values) + pool.GpuInstanceProfile = &gpuInstanceProfileTemp + } else { + pool.GpuInstanceProfile = nil + } + + // HostGroupID + pool.HostGroupID = genruntime.ClonePointerToString(source.HostGroupID) + + // Id + pool.Id = genruntime.ClonePointerToString(source.Id) + + // KubeletConfig + if source.KubeletConfig != nil { + var kubeletConfig KubeletConfig_STATUS + err := kubeletConfig.AssignProperties_From_KubeletConfig_STATUS(source.KubeletConfig) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_KubeletConfig_STATUS() to populate field KubeletConfig") + } + pool.KubeletConfig = &kubeletConfig + } else { + pool.KubeletConfig = nil + } + + // KubeletDiskType + if source.KubeletDiskType != nil { + kubeletDiskType := *source.KubeletDiskType + kubeletDiskTypeTemp := genruntime.ToEnum(kubeletDiskType, kubeletDiskType_STATUS_Values) + pool.KubeletDiskType = &kubeletDiskTypeTemp + } else { + pool.KubeletDiskType = nil + } + + // LinuxOSConfig + if source.LinuxOSConfig != nil { + var linuxOSConfig LinuxOSConfig_STATUS + err := linuxOSConfig.AssignProperties_From_LinuxOSConfig_STATUS(source.LinuxOSConfig) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_LinuxOSConfig_STATUS() to populate field LinuxOSConfig") + } + pool.LinuxOSConfig = &linuxOSConfig + } else { + pool.LinuxOSConfig = nil + } + + // MaxCount + pool.MaxCount = genruntime.ClonePointerToInt(source.MaxCount) + + // MaxPods + pool.MaxPods = genruntime.ClonePointerToInt(source.MaxPods) + + // MinCount + pool.MinCount = genruntime.ClonePointerToInt(source.MinCount) + + // Mode + if source.Mode != nil { + mode := *source.Mode + modeTemp := genruntime.ToEnum(mode, agentPoolMode_STATUS_Values) + pool.Mode = &modeTemp + } else { + pool.Mode = nil + } + + // Name + pool.Name = genruntime.ClonePointerToString(source.Name) + + // NetworkProfile + if source.NetworkProfile != nil { + var networkProfile AgentPoolNetworkProfile_STATUS + err := networkProfile.AssignProperties_From_AgentPoolNetworkProfile_STATUS(source.NetworkProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_AgentPoolNetworkProfile_STATUS() to populate field NetworkProfile") + } + pool.NetworkProfile = &networkProfile + } else { + pool.NetworkProfile = nil + } + + // NodeImageVersion + pool.NodeImageVersion = genruntime.ClonePointerToString(source.NodeImageVersion) + + // NodeLabels + pool.NodeLabels = genruntime.CloneMapOfStringToString(source.NodeLabels) + + // NodePublicIPPrefixID + pool.NodePublicIPPrefixID = genruntime.ClonePointerToString(source.NodePublicIPPrefixID) + + // NodeTaints + pool.NodeTaints = genruntime.CloneSliceOfString(source.NodeTaints) + + // OrchestratorVersion + pool.OrchestratorVersion = genruntime.ClonePointerToString(source.OrchestratorVersion) + + // OsDiskSizeGB + pool.OsDiskSizeGB = genruntime.ClonePointerToInt(source.OsDiskSizeGB) + + // OsDiskType + if source.OsDiskType != nil { + osDiskType := *source.OsDiskType + osDiskTypeTemp := genruntime.ToEnum(osDiskType, oSDiskType_STATUS_Values) + pool.OsDiskType = &osDiskTypeTemp + } else { + pool.OsDiskType = nil + } + + // OsSKU + if source.OsSKU != nil { + osSKU := *source.OsSKU + osSKUTemp := genruntime.ToEnum(osSKU, oSSKU_STATUS_Values) + pool.OsSKU = &osSKUTemp + } else { + pool.OsSKU = nil + } + + // OsType + if source.OsType != nil { + osType := *source.OsType + osTypeTemp := genruntime.ToEnum(osType, oSType_STATUS_Values) + pool.OsType = &osTypeTemp + } else { + pool.OsType = nil + } + + // PodSubnetID + pool.PodSubnetID = genruntime.ClonePointerToString(source.PodSubnetID) + + // PowerState + if source.PowerState != nil { + var powerState PowerState_STATUS + err := powerState.AssignProperties_From_PowerState_STATUS(source.PowerState) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_PowerState_STATUS() to populate field PowerState") + } + pool.PowerState = &powerState + } else { + pool.PowerState = nil + } + + // PropertiesType + if source.PropertiesType != nil { + propertiesType := *source.PropertiesType + propertiesTypeTemp := genruntime.ToEnum(propertiesType, agentPoolType_STATUS_Values) + pool.PropertiesType = &propertiesTypeTemp + } else { + pool.PropertiesType = nil + } + + // ProvisioningState + pool.ProvisioningState = genruntime.ClonePointerToString(source.ProvisioningState) + + // ProximityPlacementGroupID + pool.ProximityPlacementGroupID = genruntime.ClonePointerToString(source.ProximityPlacementGroupID) + + // ScaleDownMode + if source.ScaleDownMode != nil { + scaleDownMode := *source.ScaleDownMode + scaleDownModeTemp := genruntime.ToEnum(scaleDownMode, scaleDownMode_STATUS_Values) + pool.ScaleDownMode = &scaleDownModeTemp + } else { + pool.ScaleDownMode = nil + } + + // ScaleSetEvictionPolicy + if source.ScaleSetEvictionPolicy != nil { + scaleSetEvictionPolicy := *source.ScaleSetEvictionPolicy + scaleSetEvictionPolicyTemp := genruntime.ToEnum(scaleSetEvictionPolicy, scaleSetEvictionPolicy_STATUS_Values) + pool.ScaleSetEvictionPolicy = &scaleSetEvictionPolicyTemp + } else { + pool.ScaleSetEvictionPolicy = nil + } + + // ScaleSetPriority + if source.ScaleSetPriority != nil { + scaleSetPriority := *source.ScaleSetPriority + scaleSetPriorityTemp := genruntime.ToEnum(scaleSetPriority, scaleSetPriority_STATUS_Values) + pool.ScaleSetPriority = &scaleSetPriorityTemp + } else { + pool.ScaleSetPriority = nil + } + + // SecurityProfile + if source.SecurityProfile != nil { + var securityProfile AgentPoolSecurityProfile_STATUS + err := securityProfile.AssignProperties_From_AgentPoolSecurityProfile_STATUS(source.SecurityProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_AgentPoolSecurityProfile_STATUS() to populate field SecurityProfile") + } + pool.SecurityProfile = &securityProfile + } else { + pool.SecurityProfile = nil + } + + // SpotMaxPrice + if source.SpotMaxPrice != nil { + spotMaxPrice := *source.SpotMaxPrice + pool.SpotMaxPrice = &spotMaxPrice + } else { + pool.SpotMaxPrice = nil + } + + // Tags + pool.Tags = genruntime.CloneMapOfStringToString(source.Tags) + + // Type + pool.Type = genruntime.ClonePointerToString(source.Type) + + // UpgradeSettings + if source.UpgradeSettings != nil { + var upgradeSetting AgentPoolUpgradeSettings_STATUS + err := upgradeSetting.AssignProperties_From_AgentPoolUpgradeSettings_STATUS(source.UpgradeSettings) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_AgentPoolUpgradeSettings_STATUS() to populate field UpgradeSettings") + } + pool.UpgradeSettings = &upgradeSetting + } else { + pool.UpgradeSettings = nil + } + + // VmSize + pool.VmSize = genruntime.ClonePointerToString(source.VmSize) + + // VnetSubnetID + pool.VnetSubnetID = genruntime.ClonePointerToString(source.VnetSubnetID) + + // WindowsProfile + if source.WindowsProfile != nil { + var windowsProfile AgentPoolWindowsProfile_STATUS + err := windowsProfile.AssignProperties_From_AgentPoolWindowsProfile_STATUS(source.WindowsProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_AgentPoolWindowsProfile_STATUS() to populate field WindowsProfile") + } + pool.WindowsProfile = &windowsProfile + } else { + pool.WindowsProfile = nil + } + + // WorkloadRuntime + if source.WorkloadRuntime != nil { + workloadRuntime := *source.WorkloadRuntime + workloadRuntimeTemp := genruntime.ToEnum(workloadRuntime, workloadRuntime_STATUS_Values) + pool.WorkloadRuntime = &workloadRuntimeTemp + } else { + pool.WorkloadRuntime = nil + } + + // No error + return nil +} + +// AssignProperties_To_ManagedClustersAgentPool_STATUS populates the provided destination ManagedClustersAgentPool_STATUS from our ManagedClustersAgentPool_STATUS +func (pool *ManagedClustersAgentPool_STATUS) AssignProperties_To_ManagedClustersAgentPool_STATUS(destination *storage.ManagedClustersAgentPool_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // AvailabilityZones + destination.AvailabilityZones = genruntime.CloneSliceOfString(pool.AvailabilityZones) + + // CapacityReservationGroupID + destination.CapacityReservationGroupID = genruntime.ClonePointerToString(pool.CapacityReservationGroupID) + + // Conditions + destination.Conditions = genruntime.CloneSliceOfCondition(pool.Conditions) + + // Count + destination.Count = genruntime.ClonePointerToInt(pool.Count) + + // CreationData + if pool.CreationData != nil { + var creationDatum storage.CreationData_STATUS + err := pool.CreationData.AssignProperties_To_CreationData_STATUS(&creationDatum) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_CreationData_STATUS() to populate field CreationData") + } + destination.CreationData = &creationDatum + } else { + destination.CreationData = nil + } + + // CurrentOrchestratorVersion + destination.CurrentOrchestratorVersion = genruntime.ClonePointerToString(pool.CurrentOrchestratorVersion) + + // ETag + destination.ETag = genruntime.ClonePointerToString(pool.ETag) + + // EnableAutoScaling + if pool.EnableAutoScaling != nil { + enableAutoScaling := *pool.EnableAutoScaling + destination.EnableAutoScaling = &enableAutoScaling + } else { + destination.EnableAutoScaling = nil + } + + // EnableEncryptionAtHost + if pool.EnableEncryptionAtHost != nil { + enableEncryptionAtHost := *pool.EnableEncryptionAtHost + destination.EnableEncryptionAtHost = &enableEncryptionAtHost + } else { + destination.EnableEncryptionAtHost = nil + } + + // EnableFIPS + if pool.EnableFIPS != nil { + enableFIPS := *pool.EnableFIPS + destination.EnableFIPS = &enableFIPS + } else { + destination.EnableFIPS = nil + } + + // EnableNodePublicIP + if pool.EnableNodePublicIP != nil { + enableNodePublicIP := *pool.EnableNodePublicIP + destination.EnableNodePublicIP = &enableNodePublicIP + } else { + destination.EnableNodePublicIP = nil + } + + // EnableUltraSSD + if pool.EnableUltraSSD != nil { + enableUltraSSD := *pool.EnableUltraSSD + destination.EnableUltraSSD = &enableUltraSSD + } else { + destination.EnableUltraSSD = nil + } + + // GpuInstanceProfile + if pool.GpuInstanceProfile != nil { + gpuInstanceProfile := string(*pool.GpuInstanceProfile) + destination.GpuInstanceProfile = &gpuInstanceProfile + } else { + destination.GpuInstanceProfile = nil + } + + // HostGroupID + destination.HostGroupID = genruntime.ClonePointerToString(pool.HostGroupID) + + // Id + destination.Id = genruntime.ClonePointerToString(pool.Id) + + // KubeletConfig + if pool.KubeletConfig != nil { + var kubeletConfig storage.KubeletConfig_STATUS + err := pool.KubeletConfig.AssignProperties_To_KubeletConfig_STATUS(&kubeletConfig) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_KubeletConfig_STATUS() to populate field KubeletConfig") + } + destination.KubeletConfig = &kubeletConfig + } else { + destination.KubeletConfig = nil + } + + // KubeletDiskType + if pool.KubeletDiskType != nil { + kubeletDiskType := string(*pool.KubeletDiskType) + destination.KubeletDiskType = &kubeletDiskType + } else { + destination.KubeletDiskType = nil + } + + // LinuxOSConfig + if pool.LinuxOSConfig != nil { + var linuxOSConfig storage.LinuxOSConfig_STATUS + err := pool.LinuxOSConfig.AssignProperties_To_LinuxOSConfig_STATUS(&linuxOSConfig) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_LinuxOSConfig_STATUS() to populate field LinuxOSConfig") + } + destination.LinuxOSConfig = &linuxOSConfig + } else { + destination.LinuxOSConfig = nil + } + + // MaxCount + destination.MaxCount = genruntime.ClonePointerToInt(pool.MaxCount) + + // MaxPods + destination.MaxPods = genruntime.ClonePointerToInt(pool.MaxPods) + + // MinCount + destination.MinCount = genruntime.ClonePointerToInt(pool.MinCount) + + // Mode + if pool.Mode != nil { + mode := string(*pool.Mode) + destination.Mode = &mode + } else { + destination.Mode = nil + } + + // Name + destination.Name = genruntime.ClonePointerToString(pool.Name) + + // NetworkProfile + if pool.NetworkProfile != nil { + var networkProfile storage.AgentPoolNetworkProfile_STATUS + err := pool.NetworkProfile.AssignProperties_To_AgentPoolNetworkProfile_STATUS(&networkProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_AgentPoolNetworkProfile_STATUS() to populate field NetworkProfile") + } + destination.NetworkProfile = &networkProfile + } else { + destination.NetworkProfile = nil + } + + // NodeImageVersion + destination.NodeImageVersion = genruntime.ClonePointerToString(pool.NodeImageVersion) + + // NodeLabels + destination.NodeLabels = genruntime.CloneMapOfStringToString(pool.NodeLabels) + + // NodePublicIPPrefixID + destination.NodePublicIPPrefixID = genruntime.ClonePointerToString(pool.NodePublicIPPrefixID) + + // NodeTaints + destination.NodeTaints = genruntime.CloneSliceOfString(pool.NodeTaints) + + // OrchestratorVersion + destination.OrchestratorVersion = genruntime.ClonePointerToString(pool.OrchestratorVersion) + + // OsDiskSizeGB + destination.OsDiskSizeGB = genruntime.ClonePointerToInt(pool.OsDiskSizeGB) + + // OsDiskType + if pool.OsDiskType != nil { + osDiskType := string(*pool.OsDiskType) + destination.OsDiskType = &osDiskType + } else { + destination.OsDiskType = nil + } + + // OsSKU + if pool.OsSKU != nil { + osSKU := string(*pool.OsSKU) + destination.OsSKU = &osSKU + } else { + destination.OsSKU = nil + } + + // OsType + if pool.OsType != nil { + osType := string(*pool.OsType) + destination.OsType = &osType + } else { + destination.OsType = nil + } + + // PodSubnetID + destination.PodSubnetID = genruntime.ClonePointerToString(pool.PodSubnetID) + + // PowerState + if pool.PowerState != nil { + var powerState storage.PowerState_STATUS + err := pool.PowerState.AssignProperties_To_PowerState_STATUS(&powerState) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_PowerState_STATUS() to populate field PowerState") + } + destination.PowerState = &powerState + } else { + destination.PowerState = nil + } + + // PropertiesType + if pool.PropertiesType != nil { + propertiesType := string(*pool.PropertiesType) + destination.PropertiesType = &propertiesType + } else { + destination.PropertiesType = nil + } + + // ProvisioningState + destination.ProvisioningState = genruntime.ClonePointerToString(pool.ProvisioningState) + + // ProximityPlacementGroupID + destination.ProximityPlacementGroupID = genruntime.ClonePointerToString(pool.ProximityPlacementGroupID) + + // ScaleDownMode + if pool.ScaleDownMode != nil { + scaleDownMode := string(*pool.ScaleDownMode) + destination.ScaleDownMode = &scaleDownMode + } else { + destination.ScaleDownMode = nil + } + + // ScaleSetEvictionPolicy + if pool.ScaleSetEvictionPolicy != nil { + scaleSetEvictionPolicy := string(*pool.ScaleSetEvictionPolicy) + destination.ScaleSetEvictionPolicy = &scaleSetEvictionPolicy + } else { + destination.ScaleSetEvictionPolicy = nil + } + + // ScaleSetPriority + if pool.ScaleSetPriority != nil { + scaleSetPriority := string(*pool.ScaleSetPriority) + destination.ScaleSetPriority = &scaleSetPriority + } else { + destination.ScaleSetPriority = nil + } + + // SecurityProfile + if pool.SecurityProfile != nil { + var securityProfile storage.AgentPoolSecurityProfile_STATUS + err := pool.SecurityProfile.AssignProperties_To_AgentPoolSecurityProfile_STATUS(&securityProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_AgentPoolSecurityProfile_STATUS() to populate field SecurityProfile") + } + destination.SecurityProfile = &securityProfile + } else { + destination.SecurityProfile = nil + } + + // SpotMaxPrice + if pool.SpotMaxPrice != nil { + spotMaxPrice := *pool.SpotMaxPrice + destination.SpotMaxPrice = &spotMaxPrice + } else { + destination.SpotMaxPrice = nil + } + + // Tags + destination.Tags = genruntime.CloneMapOfStringToString(pool.Tags) + + // Type + destination.Type = genruntime.ClonePointerToString(pool.Type) + + // UpgradeSettings + if pool.UpgradeSettings != nil { + var upgradeSetting storage.AgentPoolUpgradeSettings_STATUS + err := pool.UpgradeSettings.AssignProperties_To_AgentPoolUpgradeSettings_STATUS(&upgradeSetting) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_AgentPoolUpgradeSettings_STATUS() to populate field UpgradeSettings") + } + destination.UpgradeSettings = &upgradeSetting + } else { + destination.UpgradeSettings = nil + } + + // VmSize + destination.VmSize = genruntime.ClonePointerToString(pool.VmSize) + + // VnetSubnetID + destination.VnetSubnetID = genruntime.ClonePointerToString(pool.VnetSubnetID) + + // WindowsProfile + if pool.WindowsProfile != nil { + var windowsProfile storage.AgentPoolWindowsProfile_STATUS + err := pool.WindowsProfile.AssignProperties_To_AgentPoolWindowsProfile_STATUS(&windowsProfile) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_AgentPoolWindowsProfile_STATUS() to populate field WindowsProfile") + } + destination.WindowsProfile = &windowsProfile + } else { + destination.WindowsProfile = nil + } + + // WorkloadRuntime + if pool.WorkloadRuntime != nil { + workloadRuntime := string(*pool.WorkloadRuntime) + destination.WorkloadRuntime = &workloadRuntime + } else { + destination.WorkloadRuntime = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool restrictions +// and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools +// +kubebuilder:validation:Enum={"System","User"} +type AgentPoolMode string + +const ( + AgentPoolMode_System = AgentPoolMode("System") + AgentPoolMode_User = AgentPoolMode("User") +) + +// Mapping from string to AgentPoolMode +var agentPoolMode_Values = map[string]AgentPoolMode{ + "system": AgentPoolMode_System, + "user": AgentPoolMode_User, +} + +// A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool restrictions +// and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools +type AgentPoolMode_STATUS string + +const ( + AgentPoolMode_STATUS_System = AgentPoolMode_STATUS("System") + AgentPoolMode_STATUS_User = AgentPoolMode_STATUS("User") +) + +// Mapping from string to AgentPoolMode_STATUS +var agentPoolMode_STATUS_Values = map[string]AgentPoolMode_STATUS{ + "system": AgentPoolMode_STATUS_System, + "user": AgentPoolMode_STATUS_User, +} + +// Network settings of an agent pool. +type AgentPoolNetworkProfile struct { + // AllowedHostPorts: The port ranges that are allowed to access. The specified ranges are allowed to overlap. + AllowedHostPorts []PortRange `json:"allowedHostPorts,omitempty"` + + // ApplicationSecurityGroupsReferences: The IDs of the application security groups which agent pool will associate when + // created. + ApplicationSecurityGroupsReferences []genruntime.ResourceReference `armReference:"ApplicationSecurityGroups" json:"applicationSecurityGroupsReferences,omitempty"` + + // NodePublicIPTags: IPTags of instance-level public IPs. + NodePublicIPTags []IPTag `json:"nodePublicIPTags,omitempty"` +} + +var _ genruntime.ARMTransformer = &AgentPoolNetworkProfile{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (profile *AgentPoolNetworkProfile) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if profile == nil { + return nil, nil + } + result := &arm.AgentPoolNetworkProfile{} + + // Set property "AllowedHostPorts": + for _, item := range profile.AllowedHostPorts { + item_ARM, err := item.ConvertToARM(resolved) + if err != nil { + return nil, err + } + result.AllowedHostPorts = append(result.AllowedHostPorts, *item_ARM.(*arm.PortRange)) + } + + // Set property "ApplicationSecurityGroups": + for _, item := range profile.ApplicationSecurityGroupsReferences { + itemARMID, err := resolved.ResolvedReferences.Lookup(item) + if err != nil { + return nil, err + } + result.ApplicationSecurityGroups = append(result.ApplicationSecurityGroups, itemARMID) + } + + // Set property "NodePublicIPTags": + for _, item := range profile.NodePublicIPTags { + item_ARM, err := item.ConvertToARM(resolved) + if err != nil { + return nil, err + } + result.NodePublicIPTags = append(result.NodePublicIPTags, *item_ARM.(*arm.IPTag)) + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (profile *AgentPoolNetworkProfile) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.AgentPoolNetworkProfile{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (profile *AgentPoolNetworkProfile) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.AgentPoolNetworkProfile) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.AgentPoolNetworkProfile, got %T", armInput) + } + + // Set property "AllowedHostPorts": + for _, item := range typedInput.AllowedHostPorts { + var item1 PortRange + err := item1.PopulateFromARM(owner, item) + if err != nil { + return err + } + profile.AllowedHostPorts = append(profile.AllowedHostPorts, item1) + } + + // no assignment for property "ApplicationSecurityGroupsReferences" + + // Set property "NodePublicIPTags": + for _, item := range typedInput.NodePublicIPTags { + var item1 IPTag + err := item1.PopulateFromARM(owner, item) + if err != nil { + return err + } + profile.NodePublicIPTags = append(profile.NodePublicIPTags, item1) + } + + // No error + return nil +} + +// AssignProperties_From_AgentPoolNetworkProfile populates our AgentPoolNetworkProfile from the provided source AgentPoolNetworkProfile +func (profile *AgentPoolNetworkProfile) AssignProperties_From_AgentPoolNetworkProfile(source *storage.AgentPoolNetworkProfile) error { + + // AllowedHostPorts + if source.AllowedHostPorts != nil { + allowedHostPortList := make([]PortRange, len(source.AllowedHostPorts)) + for allowedHostPortIndex, allowedHostPortItem := range source.AllowedHostPorts { + // Shadow the loop variable to avoid aliasing + allowedHostPortItem := allowedHostPortItem + var allowedHostPort PortRange + err := allowedHostPort.AssignProperties_From_PortRange(&allowedHostPortItem) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_PortRange() to populate field AllowedHostPorts") + } + allowedHostPortList[allowedHostPortIndex] = allowedHostPort + } + profile.AllowedHostPorts = allowedHostPortList + } else { + profile.AllowedHostPorts = nil + } + + // ApplicationSecurityGroupsReferences + if source.ApplicationSecurityGroupsReferences != nil { + applicationSecurityGroupsReferenceList := make([]genruntime.ResourceReference, len(source.ApplicationSecurityGroupsReferences)) + for applicationSecurityGroupsReferenceIndex, applicationSecurityGroupsReferenceItem := range source.ApplicationSecurityGroupsReferences { + // Shadow the loop variable to avoid aliasing + applicationSecurityGroupsReferenceItem := applicationSecurityGroupsReferenceItem + applicationSecurityGroupsReferenceList[applicationSecurityGroupsReferenceIndex] = applicationSecurityGroupsReferenceItem.Copy() + } + profile.ApplicationSecurityGroupsReferences = applicationSecurityGroupsReferenceList + } else { + profile.ApplicationSecurityGroupsReferences = nil + } + + // NodePublicIPTags + if source.NodePublicIPTags != nil { + nodePublicIPTagList := make([]IPTag, len(source.NodePublicIPTags)) + for nodePublicIPTagIndex, nodePublicIPTagItem := range source.NodePublicIPTags { + // Shadow the loop variable to avoid aliasing + nodePublicIPTagItem := nodePublicIPTagItem + var nodePublicIPTag IPTag + err := nodePublicIPTag.AssignProperties_From_IPTag(&nodePublicIPTagItem) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_IPTag() to populate field NodePublicIPTags") + } + nodePublicIPTagList[nodePublicIPTagIndex] = nodePublicIPTag + } + profile.NodePublicIPTags = nodePublicIPTagList + } else { + profile.NodePublicIPTags = nil + } + + // No error + return nil +} + +// AssignProperties_To_AgentPoolNetworkProfile populates the provided destination AgentPoolNetworkProfile from our AgentPoolNetworkProfile +func (profile *AgentPoolNetworkProfile) AssignProperties_To_AgentPoolNetworkProfile(destination *storage.AgentPoolNetworkProfile) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // AllowedHostPorts + if profile.AllowedHostPorts != nil { + allowedHostPortList := make([]storage.PortRange, len(profile.AllowedHostPorts)) + for allowedHostPortIndex, allowedHostPortItem := range profile.AllowedHostPorts { + // Shadow the loop variable to avoid aliasing + allowedHostPortItem := allowedHostPortItem + var allowedHostPort storage.PortRange + err := allowedHostPortItem.AssignProperties_To_PortRange(&allowedHostPort) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_PortRange() to populate field AllowedHostPorts") + } + allowedHostPortList[allowedHostPortIndex] = allowedHostPort + } + destination.AllowedHostPorts = allowedHostPortList + } else { + destination.AllowedHostPorts = nil + } + + // ApplicationSecurityGroupsReferences + if profile.ApplicationSecurityGroupsReferences != nil { + applicationSecurityGroupsReferenceList := make([]genruntime.ResourceReference, len(profile.ApplicationSecurityGroupsReferences)) + for applicationSecurityGroupsReferenceIndex, applicationSecurityGroupsReferenceItem := range profile.ApplicationSecurityGroupsReferences { + // Shadow the loop variable to avoid aliasing + applicationSecurityGroupsReferenceItem := applicationSecurityGroupsReferenceItem + applicationSecurityGroupsReferenceList[applicationSecurityGroupsReferenceIndex] = applicationSecurityGroupsReferenceItem.Copy() + } + destination.ApplicationSecurityGroupsReferences = applicationSecurityGroupsReferenceList + } else { + destination.ApplicationSecurityGroupsReferences = nil + } + + // NodePublicIPTags + if profile.NodePublicIPTags != nil { + nodePublicIPTagList := make([]storage.IPTag, len(profile.NodePublicIPTags)) + for nodePublicIPTagIndex, nodePublicIPTagItem := range profile.NodePublicIPTags { + // Shadow the loop variable to avoid aliasing + nodePublicIPTagItem := nodePublicIPTagItem + var nodePublicIPTag storage.IPTag + err := nodePublicIPTagItem.AssignProperties_To_IPTag(&nodePublicIPTag) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_IPTag() to populate field NodePublicIPTags") + } + nodePublicIPTagList[nodePublicIPTagIndex] = nodePublicIPTag + } + destination.NodePublicIPTags = nodePublicIPTagList + } else { + destination.NodePublicIPTags = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_AgentPoolNetworkProfile_STATUS populates our AgentPoolNetworkProfile from the provided source AgentPoolNetworkProfile_STATUS +func (profile *AgentPoolNetworkProfile) Initialize_From_AgentPoolNetworkProfile_STATUS(source *AgentPoolNetworkProfile_STATUS) error { + + // AllowedHostPorts + if source.AllowedHostPorts != nil { + allowedHostPortList := make([]PortRange, len(source.AllowedHostPorts)) + for allowedHostPortIndex, allowedHostPortItem := range source.AllowedHostPorts { + // Shadow the loop variable to avoid aliasing + allowedHostPortItem := allowedHostPortItem + var allowedHostPort PortRange + err := allowedHostPort.Initialize_From_PortRange_STATUS(&allowedHostPortItem) + if err != nil { + return errors.Wrap(err, "calling Initialize_From_PortRange_STATUS() to populate field AllowedHostPorts") + } + allowedHostPortList[allowedHostPortIndex] = allowedHostPort + } + profile.AllowedHostPorts = allowedHostPortList + } else { + profile.AllowedHostPorts = nil + } + + // NodePublicIPTags + if source.NodePublicIPTags != nil { + nodePublicIPTagList := make([]IPTag, len(source.NodePublicIPTags)) + for nodePublicIPTagIndex, nodePublicIPTagItem := range source.NodePublicIPTags { + // Shadow the loop variable to avoid aliasing + nodePublicIPTagItem := nodePublicIPTagItem + var nodePublicIPTag IPTag + err := nodePublicIPTag.Initialize_From_IPTag_STATUS(&nodePublicIPTagItem) + if err != nil { + return errors.Wrap(err, "calling Initialize_From_IPTag_STATUS() to populate field NodePublicIPTags") + } + nodePublicIPTagList[nodePublicIPTagIndex] = nodePublicIPTag + } + profile.NodePublicIPTags = nodePublicIPTagList + } else { + profile.NodePublicIPTags = nil + } + + // No error + return nil +} + +// Network settings of an agent pool. +type AgentPoolNetworkProfile_STATUS struct { + // AllowedHostPorts: The port ranges that are allowed to access. The specified ranges are allowed to overlap. + AllowedHostPorts []PortRange_STATUS `json:"allowedHostPorts,omitempty"` + + // ApplicationSecurityGroups: The IDs of the application security groups which agent pool will associate when created. + ApplicationSecurityGroups []string `json:"applicationSecurityGroups,omitempty"` + + // NodePublicIPTags: IPTags of instance-level public IPs. + NodePublicIPTags []IPTag_STATUS `json:"nodePublicIPTags,omitempty"` +} + +var _ genruntime.FromARMConverter = &AgentPoolNetworkProfile_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (profile *AgentPoolNetworkProfile_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.AgentPoolNetworkProfile_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (profile *AgentPoolNetworkProfile_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.AgentPoolNetworkProfile_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.AgentPoolNetworkProfile_STATUS, got %T", armInput) + } + + // Set property "AllowedHostPorts": + for _, item := range typedInput.AllowedHostPorts { + var item1 PortRange_STATUS + err := item1.PopulateFromARM(owner, item) + if err != nil { + return err + } + profile.AllowedHostPorts = append(profile.AllowedHostPorts, item1) + } + + // Set property "ApplicationSecurityGroups": + for _, item := range typedInput.ApplicationSecurityGroups { + profile.ApplicationSecurityGroups = append(profile.ApplicationSecurityGroups, item) + } + + // Set property "NodePublicIPTags": + for _, item := range typedInput.NodePublicIPTags { + var item1 IPTag_STATUS + err := item1.PopulateFromARM(owner, item) + if err != nil { + return err + } + profile.NodePublicIPTags = append(profile.NodePublicIPTags, item1) + } + + // No error + return nil +} + +// AssignProperties_From_AgentPoolNetworkProfile_STATUS populates our AgentPoolNetworkProfile_STATUS from the provided source AgentPoolNetworkProfile_STATUS +func (profile *AgentPoolNetworkProfile_STATUS) AssignProperties_From_AgentPoolNetworkProfile_STATUS(source *storage.AgentPoolNetworkProfile_STATUS) error { + + // AllowedHostPorts + if source.AllowedHostPorts != nil { + allowedHostPortList := make([]PortRange_STATUS, len(source.AllowedHostPorts)) + for allowedHostPortIndex, allowedHostPortItem := range source.AllowedHostPorts { + // Shadow the loop variable to avoid aliasing + allowedHostPortItem := allowedHostPortItem + var allowedHostPort PortRange_STATUS + err := allowedHostPort.AssignProperties_From_PortRange_STATUS(&allowedHostPortItem) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_PortRange_STATUS() to populate field AllowedHostPorts") + } + allowedHostPortList[allowedHostPortIndex] = allowedHostPort + } + profile.AllowedHostPorts = allowedHostPortList + } else { + profile.AllowedHostPorts = nil + } + + // ApplicationSecurityGroups + profile.ApplicationSecurityGroups = genruntime.CloneSliceOfString(source.ApplicationSecurityGroups) + + // NodePublicIPTags + if source.NodePublicIPTags != nil { + nodePublicIPTagList := make([]IPTag_STATUS, len(source.NodePublicIPTags)) + for nodePublicIPTagIndex, nodePublicIPTagItem := range source.NodePublicIPTags { + // Shadow the loop variable to avoid aliasing + nodePublicIPTagItem := nodePublicIPTagItem + var nodePublicIPTag IPTag_STATUS + err := nodePublicIPTag.AssignProperties_From_IPTag_STATUS(&nodePublicIPTagItem) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_IPTag_STATUS() to populate field NodePublicIPTags") + } + nodePublicIPTagList[nodePublicIPTagIndex] = nodePublicIPTag + } + profile.NodePublicIPTags = nodePublicIPTagList + } else { + profile.NodePublicIPTags = nil + } + + // No error + return nil +} + +// AssignProperties_To_AgentPoolNetworkProfile_STATUS populates the provided destination AgentPoolNetworkProfile_STATUS from our AgentPoolNetworkProfile_STATUS +func (profile *AgentPoolNetworkProfile_STATUS) AssignProperties_To_AgentPoolNetworkProfile_STATUS(destination *storage.AgentPoolNetworkProfile_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // AllowedHostPorts + if profile.AllowedHostPorts != nil { + allowedHostPortList := make([]storage.PortRange_STATUS, len(profile.AllowedHostPorts)) + for allowedHostPortIndex, allowedHostPortItem := range profile.AllowedHostPorts { + // Shadow the loop variable to avoid aliasing + allowedHostPortItem := allowedHostPortItem + var allowedHostPort storage.PortRange_STATUS + err := allowedHostPortItem.AssignProperties_To_PortRange_STATUS(&allowedHostPort) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_PortRange_STATUS() to populate field AllowedHostPorts") + } + allowedHostPortList[allowedHostPortIndex] = allowedHostPort + } + destination.AllowedHostPorts = allowedHostPortList + } else { + destination.AllowedHostPorts = nil + } + + // ApplicationSecurityGroups + destination.ApplicationSecurityGroups = genruntime.CloneSliceOfString(profile.ApplicationSecurityGroups) + + // NodePublicIPTags + if profile.NodePublicIPTags != nil { + nodePublicIPTagList := make([]storage.IPTag_STATUS, len(profile.NodePublicIPTags)) + for nodePublicIPTagIndex, nodePublicIPTagItem := range profile.NodePublicIPTags { + // Shadow the loop variable to avoid aliasing + nodePublicIPTagItem := nodePublicIPTagItem + var nodePublicIPTag storage.IPTag_STATUS + err := nodePublicIPTagItem.AssignProperties_To_IPTag_STATUS(&nodePublicIPTag) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_IPTag_STATUS() to populate field NodePublicIPTags") + } + nodePublicIPTagList[nodePublicIPTagIndex] = nodePublicIPTag + } + destination.NodePublicIPTags = nodePublicIPTagList + } else { + destination.NodePublicIPTags = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// The security settings of an agent pool. +type AgentPoolSecurityProfile struct { + // EnableSecureBoot: Secure Boot is a feature of Trusted Launch which ensures that only signed operating systems and + // drivers can boot. For more details, see aka.ms/aks/trustedlaunch. If not specified, the default is false. + EnableSecureBoot *bool `json:"enableSecureBoot,omitempty"` + + // EnableVTPM: vTPM is a Trusted Launch feature for configuring a dedicated secure vault for keys and measurements held + // locally on the node. For more details, see aka.ms/aks/trustedlaunch. If not specified, the default is false. + EnableVTPM *bool `json:"enableVTPM,omitempty"` +} + +var _ genruntime.ARMTransformer = &AgentPoolSecurityProfile{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (profile *AgentPoolSecurityProfile) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if profile == nil { + return nil, nil + } + result := &arm.AgentPoolSecurityProfile{} + + // Set property "EnableSecureBoot": + if profile.EnableSecureBoot != nil { + enableSecureBoot := *profile.EnableSecureBoot + result.EnableSecureBoot = &enableSecureBoot + } + + // Set property "EnableVTPM": + if profile.EnableVTPM != nil { + enableVTPM := *profile.EnableVTPM + result.EnableVTPM = &enableVTPM + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (profile *AgentPoolSecurityProfile) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.AgentPoolSecurityProfile{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (profile *AgentPoolSecurityProfile) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.AgentPoolSecurityProfile) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.AgentPoolSecurityProfile, got %T", armInput) + } + + // Set property "EnableSecureBoot": + if typedInput.EnableSecureBoot != nil { + enableSecureBoot := *typedInput.EnableSecureBoot + profile.EnableSecureBoot = &enableSecureBoot + } + + // Set property "EnableVTPM": + if typedInput.EnableVTPM != nil { + enableVTPM := *typedInput.EnableVTPM + profile.EnableVTPM = &enableVTPM + } + + // No error + return nil +} + +// AssignProperties_From_AgentPoolSecurityProfile populates our AgentPoolSecurityProfile from the provided source AgentPoolSecurityProfile +func (profile *AgentPoolSecurityProfile) AssignProperties_From_AgentPoolSecurityProfile(source *storage.AgentPoolSecurityProfile) error { + + // EnableSecureBoot + if source.EnableSecureBoot != nil { + enableSecureBoot := *source.EnableSecureBoot + profile.EnableSecureBoot = &enableSecureBoot + } else { + profile.EnableSecureBoot = nil + } + + // EnableVTPM + if source.EnableVTPM != nil { + enableVTPM := *source.EnableVTPM + profile.EnableVTPM = &enableVTPM + } else { + profile.EnableVTPM = nil + } + + // No error + return nil +} + +// AssignProperties_To_AgentPoolSecurityProfile populates the provided destination AgentPoolSecurityProfile from our AgentPoolSecurityProfile +func (profile *AgentPoolSecurityProfile) AssignProperties_To_AgentPoolSecurityProfile(destination *storage.AgentPoolSecurityProfile) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // EnableSecureBoot + if profile.EnableSecureBoot != nil { + enableSecureBoot := *profile.EnableSecureBoot + destination.EnableSecureBoot = &enableSecureBoot + } else { + destination.EnableSecureBoot = nil + } + + // EnableVTPM + if profile.EnableVTPM != nil { + enableVTPM := *profile.EnableVTPM + destination.EnableVTPM = &enableVTPM + } else { + destination.EnableVTPM = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_AgentPoolSecurityProfile_STATUS populates our AgentPoolSecurityProfile from the provided source AgentPoolSecurityProfile_STATUS +func (profile *AgentPoolSecurityProfile) Initialize_From_AgentPoolSecurityProfile_STATUS(source *AgentPoolSecurityProfile_STATUS) error { + + // EnableSecureBoot + if source.EnableSecureBoot != nil { + enableSecureBoot := *source.EnableSecureBoot + profile.EnableSecureBoot = &enableSecureBoot + } else { + profile.EnableSecureBoot = nil + } + + // EnableVTPM + if source.EnableVTPM != nil { + enableVTPM := *source.EnableVTPM + profile.EnableVTPM = &enableVTPM + } else { + profile.EnableVTPM = nil + } + + // No error + return nil +} + +// The security settings of an agent pool. +type AgentPoolSecurityProfile_STATUS struct { + // EnableSecureBoot: Secure Boot is a feature of Trusted Launch which ensures that only signed operating systems and + // drivers can boot. For more details, see aka.ms/aks/trustedlaunch. If not specified, the default is false. + EnableSecureBoot *bool `json:"enableSecureBoot,omitempty"` + + // EnableVTPM: vTPM is a Trusted Launch feature for configuring a dedicated secure vault for keys and measurements held + // locally on the node. For more details, see aka.ms/aks/trustedlaunch. If not specified, the default is false. + EnableVTPM *bool `json:"enableVTPM,omitempty"` +} + +var _ genruntime.FromARMConverter = &AgentPoolSecurityProfile_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (profile *AgentPoolSecurityProfile_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.AgentPoolSecurityProfile_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (profile *AgentPoolSecurityProfile_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.AgentPoolSecurityProfile_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.AgentPoolSecurityProfile_STATUS, got %T", armInput) + } + + // Set property "EnableSecureBoot": + if typedInput.EnableSecureBoot != nil { + enableSecureBoot := *typedInput.EnableSecureBoot + profile.EnableSecureBoot = &enableSecureBoot + } + + // Set property "EnableVTPM": + if typedInput.EnableVTPM != nil { + enableVTPM := *typedInput.EnableVTPM + profile.EnableVTPM = &enableVTPM + } + + // No error + return nil +} + +// AssignProperties_From_AgentPoolSecurityProfile_STATUS populates our AgentPoolSecurityProfile_STATUS from the provided source AgentPoolSecurityProfile_STATUS +func (profile *AgentPoolSecurityProfile_STATUS) AssignProperties_From_AgentPoolSecurityProfile_STATUS(source *storage.AgentPoolSecurityProfile_STATUS) error { + + // EnableSecureBoot + if source.EnableSecureBoot != nil { + enableSecureBoot := *source.EnableSecureBoot + profile.EnableSecureBoot = &enableSecureBoot + } else { + profile.EnableSecureBoot = nil + } + + // EnableVTPM + if source.EnableVTPM != nil { + enableVTPM := *source.EnableVTPM + profile.EnableVTPM = &enableVTPM + } else { + profile.EnableVTPM = nil + } + + // No error + return nil +} + +// AssignProperties_To_AgentPoolSecurityProfile_STATUS populates the provided destination AgentPoolSecurityProfile_STATUS from our AgentPoolSecurityProfile_STATUS +func (profile *AgentPoolSecurityProfile_STATUS) AssignProperties_To_AgentPoolSecurityProfile_STATUS(destination *storage.AgentPoolSecurityProfile_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // EnableSecureBoot + if profile.EnableSecureBoot != nil { + enableSecureBoot := *profile.EnableSecureBoot + destination.EnableSecureBoot = &enableSecureBoot + } else { + destination.EnableSecureBoot = nil + } + + // EnableVTPM + if profile.EnableVTPM != nil { + enableVTPM := *profile.EnableVTPM + destination.EnableVTPM = &enableVTPM + } else { + destination.EnableVTPM = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// The type of Agent Pool. +// +kubebuilder:validation:Enum={"AvailabilitySet","VirtualMachineScaleSets"} +type AgentPoolType string + +const ( + AgentPoolType_AvailabilitySet = AgentPoolType("AvailabilitySet") + AgentPoolType_VirtualMachineScaleSets = AgentPoolType("VirtualMachineScaleSets") +) + +// Mapping from string to AgentPoolType +var agentPoolType_Values = map[string]AgentPoolType{ + "availabilityset": AgentPoolType_AvailabilitySet, + "virtualmachinescalesets": AgentPoolType_VirtualMachineScaleSets, +} + +// The type of Agent Pool. +type AgentPoolType_STATUS string + +const ( + AgentPoolType_STATUS_AvailabilitySet = AgentPoolType_STATUS("AvailabilitySet") + AgentPoolType_STATUS_VirtualMachineScaleSets = AgentPoolType_STATUS("VirtualMachineScaleSets") +) + +// Mapping from string to AgentPoolType_STATUS +var agentPoolType_STATUS_Values = map[string]AgentPoolType_STATUS{ + "availabilityset": AgentPoolType_STATUS_AvailabilitySet, + "virtualmachinescalesets": AgentPoolType_STATUS_VirtualMachineScaleSets, +} + +// Settings for upgrading an agentpool +type AgentPoolUpgradeSettings struct { + // +kubebuilder:validation:Maximum=1440 + // +kubebuilder:validation:Minimum=1 + // DrainTimeoutInMinutes: The amount of time (in minutes) to wait on eviction of pods and graceful termination per node. + // This eviction wait time honors waiting on pod disruption budgets. If this time is exceeded, the upgrade fails. If not + // specified, the default is 30 minutes. + DrainTimeoutInMinutes *int `json:"drainTimeoutInMinutes,omitempty"` + + // MaxSurge: This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it + // is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded + // up. If not specified, the default is 1. For more information, including best practices, see: + // https://docs.microsoft.com/azure/aks/upgrade-cluster#customize-node-surge-upgrade + MaxSurge *string `json:"maxSurge,omitempty"` + + // +kubebuilder:validation:Maximum=30 + // +kubebuilder:validation:Minimum=0 + // NodeSoakDurationInMinutes: The amount of time (in minutes) to wait after draining a node and before reimaging it and + // moving on to next node. If not specified, the default is 0 minutes. + NodeSoakDurationInMinutes *int `json:"nodeSoakDurationInMinutes,omitempty"` +} + +var _ genruntime.ARMTransformer = &AgentPoolUpgradeSettings{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (settings *AgentPoolUpgradeSettings) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if settings == nil { + return nil, nil + } + result := &arm.AgentPoolUpgradeSettings{} + + // Set property "DrainTimeoutInMinutes": + if settings.DrainTimeoutInMinutes != nil { + drainTimeoutInMinutes := *settings.DrainTimeoutInMinutes + result.DrainTimeoutInMinutes = &drainTimeoutInMinutes + } + + // Set property "MaxSurge": + if settings.MaxSurge != nil { + maxSurge := *settings.MaxSurge + result.MaxSurge = &maxSurge + } + + // Set property "NodeSoakDurationInMinutes": + if settings.NodeSoakDurationInMinutes != nil { + nodeSoakDurationInMinutes := *settings.NodeSoakDurationInMinutes + result.NodeSoakDurationInMinutes = &nodeSoakDurationInMinutes + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (settings *AgentPoolUpgradeSettings) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.AgentPoolUpgradeSettings{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (settings *AgentPoolUpgradeSettings) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.AgentPoolUpgradeSettings) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.AgentPoolUpgradeSettings, got %T", armInput) + } + + // Set property "DrainTimeoutInMinutes": + if typedInput.DrainTimeoutInMinutes != nil { + drainTimeoutInMinutes := *typedInput.DrainTimeoutInMinutes + settings.DrainTimeoutInMinutes = &drainTimeoutInMinutes + } + + // Set property "MaxSurge": + if typedInput.MaxSurge != nil { + maxSurge := *typedInput.MaxSurge + settings.MaxSurge = &maxSurge + } + + // Set property "NodeSoakDurationInMinutes": + if typedInput.NodeSoakDurationInMinutes != nil { + nodeSoakDurationInMinutes := *typedInput.NodeSoakDurationInMinutes + settings.NodeSoakDurationInMinutes = &nodeSoakDurationInMinutes + } + + // No error + return nil +} + +// AssignProperties_From_AgentPoolUpgradeSettings populates our AgentPoolUpgradeSettings from the provided source AgentPoolUpgradeSettings +func (settings *AgentPoolUpgradeSettings) AssignProperties_From_AgentPoolUpgradeSettings(source *storage.AgentPoolUpgradeSettings) error { + + // DrainTimeoutInMinutes + if source.DrainTimeoutInMinutes != nil { + drainTimeoutInMinute := *source.DrainTimeoutInMinutes + settings.DrainTimeoutInMinutes = &drainTimeoutInMinute + } else { + settings.DrainTimeoutInMinutes = nil + } + + // MaxSurge + settings.MaxSurge = genruntime.ClonePointerToString(source.MaxSurge) + + // NodeSoakDurationInMinutes + if source.NodeSoakDurationInMinutes != nil { + nodeSoakDurationInMinute := *source.NodeSoakDurationInMinutes + settings.NodeSoakDurationInMinutes = &nodeSoakDurationInMinute + } else { + settings.NodeSoakDurationInMinutes = nil + } + + // No error + return nil +} + +// AssignProperties_To_AgentPoolUpgradeSettings populates the provided destination AgentPoolUpgradeSettings from our AgentPoolUpgradeSettings +func (settings *AgentPoolUpgradeSettings) AssignProperties_To_AgentPoolUpgradeSettings(destination *storage.AgentPoolUpgradeSettings) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // DrainTimeoutInMinutes + if settings.DrainTimeoutInMinutes != nil { + drainTimeoutInMinute := *settings.DrainTimeoutInMinutes + destination.DrainTimeoutInMinutes = &drainTimeoutInMinute + } else { + destination.DrainTimeoutInMinutes = nil + } + + // MaxSurge + destination.MaxSurge = genruntime.ClonePointerToString(settings.MaxSurge) + + // NodeSoakDurationInMinutes + if settings.NodeSoakDurationInMinutes != nil { + nodeSoakDurationInMinute := *settings.NodeSoakDurationInMinutes + destination.NodeSoakDurationInMinutes = &nodeSoakDurationInMinute + } else { + destination.NodeSoakDurationInMinutes = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_AgentPoolUpgradeSettings_STATUS populates our AgentPoolUpgradeSettings from the provided source AgentPoolUpgradeSettings_STATUS +func (settings *AgentPoolUpgradeSettings) Initialize_From_AgentPoolUpgradeSettings_STATUS(source *AgentPoolUpgradeSettings_STATUS) error { + + // DrainTimeoutInMinutes + if source.DrainTimeoutInMinutes != nil { + drainTimeoutInMinute := *source.DrainTimeoutInMinutes + settings.DrainTimeoutInMinutes = &drainTimeoutInMinute + } else { + settings.DrainTimeoutInMinutes = nil + } + + // MaxSurge + settings.MaxSurge = genruntime.ClonePointerToString(source.MaxSurge) + + // NodeSoakDurationInMinutes + if source.NodeSoakDurationInMinutes != nil { + nodeSoakDurationInMinute := *source.NodeSoakDurationInMinutes + settings.NodeSoakDurationInMinutes = &nodeSoakDurationInMinute + } else { + settings.NodeSoakDurationInMinutes = nil + } + + // No error + return nil +} + +// Settings for upgrading an agentpool +type AgentPoolUpgradeSettings_STATUS struct { + // DrainTimeoutInMinutes: The amount of time (in minutes) to wait on eviction of pods and graceful termination per node. + // This eviction wait time honors waiting on pod disruption budgets. If this time is exceeded, the upgrade fails. If not + // specified, the default is 30 minutes. + DrainTimeoutInMinutes *int `json:"drainTimeoutInMinutes,omitempty"` + + // MaxSurge: This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it + // is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded + // up. If not specified, the default is 1. For more information, including best practices, see: + // https://docs.microsoft.com/azure/aks/upgrade-cluster#customize-node-surge-upgrade + MaxSurge *string `json:"maxSurge,omitempty"` + + // NodeSoakDurationInMinutes: The amount of time (in minutes) to wait after draining a node and before reimaging it and + // moving on to next node. If not specified, the default is 0 minutes. + NodeSoakDurationInMinutes *int `json:"nodeSoakDurationInMinutes,omitempty"` +} + +var _ genruntime.FromARMConverter = &AgentPoolUpgradeSettings_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (settings *AgentPoolUpgradeSettings_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.AgentPoolUpgradeSettings_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (settings *AgentPoolUpgradeSettings_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.AgentPoolUpgradeSettings_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.AgentPoolUpgradeSettings_STATUS, got %T", armInput) + } + + // Set property "DrainTimeoutInMinutes": + if typedInput.DrainTimeoutInMinutes != nil { + drainTimeoutInMinutes := *typedInput.DrainTimeoutInMinutes + settings.DrainTimeoutInMinutes = &drainTimeoutInMinutes + } + + // Set property "MaxSurge": + if typedInput.MaxSurge != nil { + maxSurge := *typedInput.MaxSurge + settings.MaxSurge = &maxSurge + } + + // Set property "NodeSoakDurationInMinutes": + if typedInput.NodeSoakDurationInMinutes != nil { + nodeSoakDurationInMinutes := *typedInput.NodeSoakDurationInMinutes + settings.NodeSoakDurationInMinutes = &nodeSoakDurationInMinutes + } + + // No error + return nil +} + +// AssignProperties_From_AgentPoolUpgradeSettings_STATUS populates our AgentPoolUpgradeSettings_STATUS from the provided source AgentPoolUpgradeSettings_STATUS +func (settings *AgentPoolUpgradeSettings_STATUS) AssignProperties_From_AgentPoolUpgradeSettings_STATUS(source *storage.AgentPoolUpgradeSettings_STATUS) error { + + // DrainTimeoutInMinutes + settings.DrainTimeoutInMinutes = genruntime.ClonePointerToInt(source.DrainTimeoutInMinutes) + + // MaxSurge + settings.MaxSurge = genruntime.ClonePointerToString(source.MaxSurge) + + // NodeSoakDurationInMinutes + settings.NodeSoakDurationInMinutes = genruntime.ClonePointerToInt(source.NodeSoakDurationInMinutes) + + // No error + return nil +} + +// AssignProperties_To_AgentPoolUpgradeSettings_STATUS populates the provided destination AgentPoolUpgradeSettings_STATUS from our AgentPoolUpgradeSettings_STATUS +func (settings *AgentPoolUpgradeSettings_STATUS) AssignProperties_To_AgentPoolUpgradeSettings_STATUS(destination *storage.AgentPoolUpgradeSettings_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // DrainTimeoutInMinutes + destination.DrainTimeoutInMinutes = genruntime.ClonePointerToInt(settings.DrainTimeoutInMinutes) + + // MaxSurge + destination.MaxSurge = genruntime.ClonePointerToString(settings.MaxSurge) + + // NodeSoakDurationInMinutes + destination.NodeSoakDurationInMinutes = genruntime.ClonePointerToInt(settings.NodeSoakDurationInMinutes) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// The Windows agent pool's specific profile. +type AgentPoolWindowsProfile struct { + // DisableOutboundNat: The default value is false. Outbound NAT can only be disabled if the cluster outboundType is NAT + // Gateway and the Windows agent pool does not have node public IP enabled. + DisableOutboundNat *bool `json:"disableOutboundNat,omitempty"` +} + +var _ genruntime.ARMTransformer = &AgentPoolWindowsProfile{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (profile *AgentPoolWindowsProfile) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if profile == nil { + return nil, nil + } + result := &arm.AgentPoolWindowsProfile{} + + // Set property "DisableOutboundNat": + if profile.DisableOutboundNat != nil { + disableOutboundNat := *profile.DisableOutboundNat + result.DisableOutboundNat = &disableOutboundNat + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (profile *AgentPoolWindowsProfile) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.AgentPoolWindowsProfile{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (profile *AgentPoolWindowsProfile) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.AgentPoolWindowsProfile) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.AgentPoolWindowsProfile, got %T", armInput) + } + + // Set property "DisableOutboundNat": + if typedInput.DisableOutboundNat != nil { + disableOutboundNat := *typedInput.DisableOutboundNat + profile.DisableOutboundNat = &disableOutboundNat + } + + // No error + return nil +} + +// AssignProperties_From_AgentPoolWindowsProfile populates our AgentPoolWindowsProfile from the provided source AgentPoolWindowsProfile +func (profile *AgentPoolWindowsProfile) AssignProperties_From_AgentPoolWindowsProfile(source *storage.AgentPoolWindowsProfile) error { + + // DisableOutboundNat + if source.DisableOutboundNat != nil { + disableOutboundNat := *source.DisableOutboundNat + profile.DisableOutboundNat = &disableOutboundNat + } else { + profile.DisableOutboundNat = nil + } + + // No error + return nil +} + +// AssignProperties_To_AgentPoolWindowsProfile populates the provided destination AgentPoolWindowsProfile from our AgentPoolWindowsProfile +func (profile *AgentPoolWindowsProfile) AssignProperties_To_AgentPoolWindowsProfile(destination *storage.AgentPoolWindowsProfile) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // DisableOutboundNat + if profile.DisableOutboundNat != nil { + disableOutboundNat := *profile.DisableOutboundNat + destination.DisableOutboundNat = &disableOutboundNat + } else { + destination.DisableOutboundNat = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_AgentPoolWindowsProfile_STATUS populates our AgentPoolWindowsProfile from the provided source AgentPoolWindowsProfile_STATUS +func (profile *AgentPoolWindowsProfile) Initialize_From_AgentPoolWindowsProfile_STATUS(source *AgentPoolWindowsProfile_STATUS) error { + + // DisableOutboundNat + if source.DisableOutboundNat != nil { + disableOutboundNat := *source.DisableOutboundNat + profile.DisableOutboundNat = &disableOutboundNat + } else { + profile.DisableOutboundNat = nil + } + + // No error + return nil +} + +// The Windows agent pool's specific profile. +type AgentPoolWindowsProfile_STATUS struct { + // DisableOutboundNat: The default value is false. Outbound NAT can only be disabled if the cluster outboundType is NAT + // Gateway and the Windows agent pool does not have node public IP enabled. + DisableOutboundNat *bool `json:"disableOutboundNat,omitempty"` +} + +var _ genruntime.FromARMConverter = &AgentPoolWindowsProfile_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (profile *AgentPoolWindowsProfile_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.AgentPoolWindowsProfile_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (profile *AgentPoolWindowsProfile_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.AgentPoolWindowsProfile_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.AgentPoolWindowsProfile_STATUS, got %T", armInput) + } + + // Set property "DisableOutboundNat": + if typedInput.DisableOutboundNat != nil { + disableOutboundNat := *typedInput.DisableOutboundNat + profile.DisableOutboundNat = &disableOutboundNat + } + + // No error + return nil +} + +// AssignProperties_From_AgentPoolWindowsProfile_STATUS populates our AgentPoolWindowsProfile_STATUS from the provided source AgentPoolWindowsProfile_STATUS +func (profile *AgentPoolWindowsProfile_STATUS) AssignProperties_From_AgentPoolWindowsProfile_STATUS(source *storage.AgentPoolWindowsProfile_STATUS) error { + + // DisableOutboundNat + if source.DisableOutboundNat != nil { + disableOutboundNat := *source.DisableOutboundNat + profile.DisableOutboundNat = &disableOutboundNat + } else { + profile.DisableOutboundNat = nil + } + + // No error + return nil +} + +// AssignProperties_To_AgentPoolWindowsProfile_STATUS populates the provided destination AgentPoolWindowsProfile_STATUS from our AgentPoolWindowsProfile_STATUS +func (profile *AgentPoolWindowsProfile_STATUS) AssignProperties_To_AgentPoolWindowsProfile_STATUS(destination *storage.AgentPoolWindowsProfile_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // DisableOutboundNat + if profile.DisableOutboundNat != nil { + disableOutboundNat := *profile.DisableOutboundNat + destination.DisableOutboundNat = &disableOutboundNat + } else { + destination.DisableOutboundNat = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// +kubebuilder:validation:Maximum=2048 +// +kubebuilder:validation:Minimum=0 +type ContainerServiceOSDisk int + +// Data used when creating a target resource from a source resource. +type CreationData struct { + // SourceResourceReference: This is the ARM ID of the source object to be used to create the target object. + SourceResourceReference *genruntime.ResourceReference `armReference:"SourceResourceId" json:"sourceResourceReference,omitempty"` +} + +var _ genruntime.ARMTransformer = &CreationData{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (data *CreationData) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if data == nil { + return nil, nil + } + result := &arm.CreationData{} + + // Set property "SourceResourceId": + if data.SourceResourceReference != nil { + sourceResourceReferenceARMID, err := resolved.ResolvedReferences.Lookup(*data.SourceResourceReference) + if err != nil { + return nil, err + } + sourceResourceReference := sourceResourceReferenceARMID + result.SourceResourceId = &sourceResourceReference + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (data *CreationData) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.CreationData{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (data *CreationData) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + _, ok := armInput.(arm.CreationData) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.CreationData, got %T", armInput) + } + + // no assignment for property "SourceResourceReference" + + // No error + return nil +} + +// AssignProperties_From_CreationData populates our CreationData from the provided source CreationData +func (data *CreationData) AssignProperties_From_CreationData(source *storage.CreationData) error { + + // SourceResourceReference + if source.SourceResourceReference != nil { + sourceResourceReference := source.SourceResourceReference.Copy() + data.SourceResourceReference = &sourceResourceReference + } else { + data.SourceResourceReference = nil + } + + // No error + return nil +} + +// AssignProperties_To_CreationData populates the provided destination CreationData from our CreationData +func (data *CreationData) AssignProperties_To_CreationData(destination *storage.CreationData) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // SourceResourceReference + if data.SourceResourceReference != nil { + sourceResourceReference := data.SourceResourceReference.Copy() + destination.SourceResourceReference = &sourceResourceReference + } else { + destination.SourceResourceReference = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_CreationData_STATUS populates our CreationData from the provided source CreationData_STATUS +func (data *CreationData) Initialize_From_CreationData_STATUS(source *CreationData_STATUS) error { + + // SourceResourceReference + if source.SourceResourceId != nil { + sourceResourceReference := genruntime.CreateResourceReferenceFromARMID(*source.SourceResourceId) + data.SourceResourceReference = &sourceResourceReference + } else { + data.SourceResourceReference = nil + } + + // No error + return nil +} + +// Data used when creating a target resource from a source resource. +type CreationData_STATUS struct { + // SourceResourceId: This is the ARM ID of the source object to be used to create the target object. + SourceResourceId *string `json:"sourceResourceId,omitempty"` +} + +var _ genruntime.FromARMConverter = &CreationData_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (data *CreationData_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.CreationData_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (data *CreationData_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.CreationData_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.CreationData_STATUS, got %T", armInput) + } + + // Set property "SourceResourceId": + if typedInput.SourceResourceId != nil { + sourceResourceId := *typedInput.SourceResourceId + data.SourceResourceId = &sourceResourceId + } + + // No error + return nil +} + +// AssignProperties_From_CreationData_STATUS populates our CreationData_STATUS from the provided source CreationData_STATUS +func (data *CreationData_STATUS) AssignProperties_From_CreationData_STATUS(source *storage.CreationData_STATUS) error { + + // SourceResourceId + data.SourceResourceId = genruntime.ClonePointerToString(source.SourceResourceId) + + // No error + return nil +} + +// AssignProperties_To_CreationData_STATUS populates the provided destination CreationData_STATUS from our CreationData_STATUS +func (data *CreationData_STATUS) AssignProperties_To_CreationData_STATUS(destination *storage.CreationData_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // SourceResourceId + destination.SourceResourceId = genruntime.ClonePointerToString(data.SourceResourceId) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU. +// +kubebuilder:validation:Enum={"MIG1g","MIG2g","MIG3g","MIG4g","MIG7g"} +type GPUInstanceProfile string + +const ( + GPUInstanceProfile_MIG1G = GPUInstanceProfile("MIG1g") + GPUInstanceProfile_MIG2G = GPUInstanceProfile("MIG2g") + GPUInstanceProfile_MIG3G = GPUInstanceProfile("MIG3g") + GPUInstanceProfile_MIG4G = GPUInstanceProfile("MIG4g") + GPUInstanceProfile_MIG7G = GPUInstanceProfile("MIG7g") +) + +// Mapping from string to GPUInstanceProfile +var gPUInstanceProfile_Values = map[string]GPUInstanceProfile{ + "mig1g": GPUInstanceProfile_MIG1G, + "mig2g": GPUInstanceProfile_MIG2G, + "mig3g": GPUInstanceProfile_MIG3G, + "mig4g": GPUInstanceProfile_MIG4G, + "mig7g": GPUInstanceProfile_MIG7G, +} + +// GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU. +type GPUInstanceProfile_STATUS string + +const ( + GPUInstanceProfile_STATUS_MIG1G = GPUInstanceProfile_STATUS("MIG1g") + GPUInstanceProfile_STATUS_MIG2G = GPUInstanceProfile_STATUS("MIG2g") + GPUInstanceProfile_STATUS_MIG3G = GPUInstanceProfile_STATUS("MIG3g") + GPUInstanceProfile_STATUS_MIG4G = GPUInstanceProfile_STATUS("MIG4g") + GPUInstanceProfile_STATUS_MIG7G = GPUInstanceProfile_STATUS("MIG7g") +) + +// Mapping from string to GPUInstanceProfile_STATUS +var gPUInstanceProfile_STATUS_Values = map[string]GPUInstanceProfile_STATUS{ + "mig1g": GPUInstanceProfile_STATUS_MIG1G, + "mig2g": GPUInstanceProfile_STATUS_MIG2G, + "mig3g": GPUInstanceProfile_STATUS_MIG3G, + "mig4g": GPUInstanceProfile_STATUS_MIG4G, + "mig7g": GPUInstanceProfile_STATUS_MIG7G, +} + +// See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. +type KubeletConfig struct { + // AllowedUnsafeSysctls: Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in `*`). + AllowedUnsafeSysctls []string `json:"allowedUnsafeSysctls,omitempty"` + + // +kubebuilder:validation:Minimum=2 + // ContainerLogMaxFiles: The maximum number of container log files that can be present for a container. The number must be + // ≥ 2. + ContainerLogMaxFiles *int `json:"containerLogMaxFiles,omitempty"` + + // ContainerLogMaxSizeMB: The maximum size (e.g. 10Mi) of container log file before it is rotated. + ContainerLogMaxSizeMB *int `json:"containerLogMaxSizeMB,omitempty"` + + // CpuCfsQuota: The default is true. + CpuCfsQuota *bool `json:"cpuCfsQuota,omitempty"` + + // CpuCfsQuotaPeriod: The default is '100ms.' Valid values are a sequence of decimal numbers with an optional fraction and + // a unit suffix. For example: '300ms', '2h45m'. Supported units are 'ns', 'us', 'ms', 's', 'm', and 'h'. + CpuCfsQuotaPeriod *string `json:"cpuCfsQuotaPeriod,omitempty"` + + // CpuManagerPolicy: The default is 'none'. See [Kubernetes CPU management + // policies](https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/#cpu-management-policies) for more + // information. Allowed values are 'none' and 'static'. + CpuManagerPolicy *string `json:"cpuManagerPolicy,omitempty"` + + // FailSwapOn: If set to true it will make the Kubelet fail to start if swap is enabled on the node. + FailSwapOn *bool `json:"failSwapOn,omitempty"` + + // ImageGcHighThreshold: To disable image garbage collection, set to 100. The default is 85% + ImageGcHighThreshold *int `json:"imageGcHighThreshold,omitempty"` + + // ImageGcLowThreshold: This cannot be set higher than imageGcHighThreshold. The default is 80% + ImageGcLowThreshold *int `json:"imageGcLowThreshold,omitempty"` + + // PodMaxPids: The maximum number of processes per pod. + PodMaxPids *int `json:"podMaxPids,omitempty"` + + // TopologyManagerPolicy: For more information see [Kubernetes Topology + // Manager](https://kubernetes.io/docs/tasks/administer-cluster/topology-manager). The default is 'none'. Allowed values + // are 'none', 'best-effort', 'restricted', and 'single-numa-node'. + TopologyManagerPolicy *string `json:"topologyManagerPolicy,omitempty"` +} + +var _ genruntime.ARMTransformer = &KubeletConfig{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (config *KubeletConfig) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if config == nil { + return nil, nil + } + result := &arm.KubeletConfig{} + + // Set property "AllowedUnsafeSysctls": + for _, item := range config.AllowedUnsafeSysctls { + result.AllowedUnsafeSysctls = append(result.AllowedUnsafeSysctls, item) + } + + // Set property "ContainerLogMaxFiles": + if config.ContainerLogMaxFiles != nil { + containerLogMaxFiles := *config.ContainerLogMaxFiles + result.ContainerLogMaxFiles = &containerLogMaxFiles + } + + // Set property "ContainerLogMaxSizeMB": + if config.ContainerLogMaxSizeMB != nil { + containerLogMaxSizeMB := *config.ContainerLogMaxSizeMB + result.ContainerLogMaxSizeMB = &containerLogMaxSizeMB + } + + // Set property "CpuCfsQuota": + if config.CpuCfsQuota != nil { + cpuCfsQuota := *config.CpuCfsQuota + result.CpuCfsQuota = &cpuCfsQuota + } + + // Set property "CpuCfsQuotaPeriod": + if config.CpuCfsQuotaPeriod != nil { + cpuCfsQuotaPeriod := *config.CpuCfsQuotaPeriod + result.CpuCfsQuotaPeriod = &cpuCfsQuotaPeriod + } + + // Set property "CpuManagerPolicy": + if config.CpuManagerPolicy != nil { + cpuManagerPolicy := *config.CpuManagerPolicy + result.CpuManagerPolicy = &cpuManagerPolicy + } + + // Set property "FailSwapOn": + if config.FailSwapOn != nil { + failSwapOn := *config.FailSwapOn + result.FailSwapOn = &failSwapOn + } + + // Set property "ImageGcHighThreshold": + if config.ImageGcHighThreshold != nil { + imageGcHighThreshold := *config.ImageGcHighThreshold + result.ImageGcHighThreshold = &imageGcHighThreshold + } + + // Set property "ImageGcLowThreshold": + if config.ImageGcLowThreshold != nil { + imageGcLowThreshold := *config.ImageGcLowThreshold + result.ImageGcLowThreshold = &imageGcLowThreshold + } + + // Set property "PodMaxPids": + if config.PodMaxPids != nil { + podMaxPids := *config.PodMaxPids + result.PodMaxPids = &podMaxPids + } + + // Set property "TopologyManagerPolicy": + if config.TopologyManagerPolicy != nil { + topologyManagerPolicy := *config.TopologyManagerPolicy + result.TopologyManagerPolicy = &topologyManagerPolicy + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (config *KubeletConfig) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.KubeletConfig{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (config *KubeletConfig) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.KubeletConfig) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.KubeletConfig, got %T", armInput) + } + + // Set property "AllowedUnsafeSysctls": + for _, item := range typedInput.AllowedUnsafeSysctls { + config.AllowedUnsafeSysctls = append(config.AllowedUnsafeSysctls, item) + } + + // Set property "ContainerLogMaxFiles": + if typedInput.ContainerLogMaxFiles != nil { + containerLogMaxFiles := *typedInput.ContainerLogMaxFiles + config.ContainerLogMaxFiles = &containerLogMaxFiles + } + + // Set property "ContainerLogMaxSizeMB": + if typedInput.ContainerLogMaxSizeMB != nil { + containerLogMaxSizeMB := *typedInput.ContainerLogMaxSizeMB + config.ContainerLogMaxSizeMB = &containerLogMaxSizeMB + } + + // Set property "CpuCfsQuota": + if typedInput.CpuCfsQuota != nil { + cpuCfsQuota := *typedInput.CpuCfsQuota + config.CpuCfsQuota = &cpuCfsQuota + } + + // Set property "CpuCfsQuotaPeriod": + if typedInput.CpuCfsQuotaPeriod != nil { + cpuCfsQuotaPeriod := *typedInput.CpuCfsQuotaPeriod + config.CpuCfsQuotaPeriod = &cpuCfsQuotaPeriod + } + + // Set property "CpuManagerPolicy": + if typedInput.CpuManagerPolicy != nil { + cpuManagerPolicy := *typedInput.CpuManagerPolicy + config.CpuManagerPolicy = &cpuManagerPolicy + } + + // Set property "FailSwapOn": + if typedInput.FailSwapOn != nil { + failSwapOn := *typedInput.FailSwapOn + config.FailSwapOn = &failSwapOn + } + + // Set property "ImageGcHighThreshold": + if typedInput.ImageGcHighThreshold != nil { + imageGcHighThreshold := *typedInput.ImageGcHighThreshold + config.ImageGcHighThreshold = &imageGcHighThreshold + } + + // Set property "ImageGcLowThreshold": + if typedInput.ImageGcLowThreshold != nil { + imageGcLowThreshold := *typedInput.ImageGcLowThreshold + config.ImageGcLowThreshold = &imageGcLowThreshold + } + + // Set property "PodMaxPids": + if typedInput.PodMaxPids != nil { + podMaxPids := *typedInput.PodMaxPids + config.PodMaxPids = &podMaxPids + } + + // Set property "TopologyManagerPolicy": + if typedInput.TopologyManagerPolicy != nil { + topologyManagerPolicy := *typedInput.TopologyManagerPolicy + config.TopologyManagerPolicy = &topologyManagerPolicy + } + + // No error + return nil +} + +// AssignProperties_From_KubeletConfig populates our KubeletConfig from the provided source KubeletConfig +func (config *KubeletConfig) AssignProperties_From_KubeletConfig(source *storage.KubeletConfig) error { + + // AllowedUnsafeSysctls + config.AllowedUnsafeSysctls = genruntime.CloneSliceOfString(source.AllowedUnsafeSysctls) + + // ContainerLogMaxFiles + if source.ContainerLogMaxFiles != nil { + containerLogMaxFile := *source.ContainerLogMaxFiles + config.ContainerLogMaxFiles = &containerLogMaxFile + } else { + config.ContainerLogMaxFiles = nil + } + + // ContainerLogMaxSizeMB + config.ContainerLogMaxSizeMB = genruntime.ClonePointerToInt(source.ContainerLogMaxSizeMB) + + // CpuCfsQuota + if source.CpuCfsQuota != nil { + cpuCfsQuota := *source.CpuCfsQuota + config.CpuCfsQuota = &cpuCfsQuota + } else { + config.CpuCfsQuota = nil + } + + // CpuCfsQuotaPeriod + config.CpuCfsQuotaPeriod = genruntime.ClonePointerToString(source.CpuCfsQuotaPeriod) + + // CpuManagerPolicy + config.CpuManagerPolicy = genruntime.ClonePointerToString(source.CpuManagerPolicy) + + // FailSwapOn + if source.FailSwapOn != nil { + failSwapOn := *source.FailSwapOn + config.FailSwapOn = &failSwapOn + } else { + config.FailSwapOn = nil + } + + // ImageGcHighThreshold + config.ImageGcHighThreshold = genruntime.ClonePointerToInt(source.ImageGcHighThreshold) + + // ImageGcLowThreshold + config.ImageGcLowThreshold = genruntime.ClonePointerToInt(source.ImageGcLowThreshold) + + // PodMaxPids + config.PodMaxPids = genruntime.ClonePointerToInt(source.PodMaxPids) + + // TopologyManagerPolicy + config.TopologyManagerPolicy = genruntime.ClonePointerToString(source.TopologyManagerPolicy) + + // No error + return nil +} + +// AssignProperties_To_KubeletConfig populates the provided destination KubeletConfig from our KubeletConfig +func (config *KubeletConfig) AssignProperties_To_KubeletConfig(destination *storage.KubeletConfig) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // AllowedUnsafeSysctls + destination.AllowedUnsafeSysctls = genruntime.CloneSliceOfString(config.AllowedUnsafeSysctls) + + // ContainerLogMaxFiles + if config.ContainerLogMaxFiles != nil { + containerLogMaxFile := *config.ContainerLogMaxFiles + destination.ContainerLogMaxFiles = &containerLogMaxFile + } else { + destination.ContainerLogMaxFiles = nil + } + + // ContainerLogMaxSizeMB + destination.ContainerLogMaxSizeMB = genruntime.ClonePointerToInt(config.ContainerLogMaxSizeMB) + + // CpuCfsQuota + if config.CpuCfsQuota != nil { + cpuCfsQuota := *config.CpuCfsQuota + destination.CpuCfsQuota = &cpuCfsQuota + } else { + destination.CpuCfsQuota = nil + } + + // CpuCfsQuotaPeriod + destination.CpuCfsQuotaPeriod = genruntime.ClonePointerToString(config.CpuCfsQuotaPeriod) + + // CpuManagerPolicy + destination.CpuManagerPolicy = genruntime.ClonePointerToString(config.CpuManagerPolicy) + + // FailSwapOn + if config.FailSwapOn != nil { + failSwapOn := *config.FailSwapOn + destination.FailSwapOn = &failSwapOn + } else { + destination.FailSwapOn = nil + } + + // ImageGcHighThreshold + destination.ImageGcHighThreshold = genruntime.ClonePointerToInt(config.ImageGcHighThreshold) + + // ImageGcLowThreshold + destination.ImageGcLowThreshold = genruntime.ClonePointerToInt(config.ImageGcLowThreshold) + + // PodMaxPids + destination.PodMaxPids = genruntime.ClonePointerToInt(config.PodMaxPids) + + // TopologyManagerPolicy + destination.TopologyManagerPolicy = genruntime.ClonePointerToString(config.TopologyManagerPolicy) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_KubeletConfig_STATUS populates our KubeletConfig from the provided source KubeletConfig_STATUS +func (config *KubeletConfig) Initialize_From_KubeletConfig_STATUS(source *KubeletConfig_STATUS) error { + + // AllowedUnsafeSysctls + config.AllowedUnsafeSysctls = genruntime.CloneSliceOfString(source.AllowedUnsafeSysctls) + + // ContainerLogMaxFiles + if source.ContainerLogMaxFiles != nil { + containerLogMaxFile := *source.ContainerLogMaxFiles + config.ContainerLogMaxFiles = &containerLogMaxFile + } else { + config.ContainerLogMaxFiles = nil + } + + // ContainerLogMaxSizeMB + config.ContainerLogMaxSizeMB = genruntime.ClonePointerToInt(source.ContainerLogMaxSizeMB) + + // CpuCfsQuota + if source.CpuCfsQuota != nil { + cpuCfsQuota := *source.CpuCfsQuota + config.CpuCfsQuota = &cpuCfsQuota + } else { + config.CpuCfsQuota = nil + } + + // CpuCfsQuotaPeriod + config.CpuCfsQuotaPeriod = genruntime.ClonePointerToString(source.CpuCfsQuotaPeriod) + + // CpuManagerPolicy + config.CpuManagerPolicy = genruntime.ClonePointerToString(source.CpuManagerPolicy) + + // FailSwapOn + if source.FailSwapOn != nil { + failSwapOn := *source.FailSwapOn + config.FailSwapOn = &failSwapOn + } else { + config.FailSwapOn = nil + } + + // ImageGcHighThreshold + config.ImageGcHighThreshold = genruntime.ClonePointerToInt(source.ImageGcHighThreshold) + + // ImageGcLowThreshold + config.ImageGcLowThreshold = genruntime.ClonePointerToInt(source.ImageGcLowThreshold) + + // PodMaxPids + config.PodMaxPids = genruntime.ClonePointerToInt(source.PodMaxPids) + + // TopologyManagerPolicy + config.TopologyManagerPolicy = genruntime.ClonePointerToString(source.TopologyManagerPolicy) + + // No error + return nil +} + +// See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. +type KubeletConfig_STATUS struct { + // AllowedUnsafeSysctls: Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in `*`). + AllowedUnsafeSysctls []string `json:"allowedUnsafeSysctls,omitempty"` + + // ContainerLogMaxFiles: The maximum number of container log files that can be present for a container. The number must be + // ≥ 2. + ContainerLogMaxFiles *int `json:"containerLogMaxFiles,omitempty"` + + // ContainerLogMaxSizeMB: The maximum size (e.g. 10Mi) of container log file before it is rotated. + ContainerLogMaxSizeMB *int `json:"containerLogMaxSizeMB,omitempty"` + + // CpuCfsQuota: The default is true. + CpuCfsQuota *bool `json:"cpuCfsQuota,omitempty"` + + // CpuCfsQuotaPeriod: The default is '100ms.' Valid values are a sequence of decimal numbers with an optional fraction and + // a unit suffix. For example: '300ms', '2h45m'. Supported units are 'ns', 'us', 'ms', 's', 'm', and 'h'. + CpuCfsQuotaPeriod *string `json:"cpuCfsQuotaPeriod,omitempty"` + + // CpuManagerPolicy: The default is 'none'. See [Kubernetes CPU management + // policies](https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/#cpu-management-policies) for more + // information. Allowed values are 'none' and 'static'. + CpuManagerPolicy *string `json:"cpuManagerPolicy,omitempty"` + + // FailSwapOn: If set to true it will make the Kubelet fail to start if swap is enabled on the node. + FailSwapOn *bool `json:"failSwapOn,omitempty"` + + // ImageGcHighThreshold: To disable image garbage collection, set to 100. The default is 85% + ImageGcHighThreshold *int `json:"imageGcHighThreshold,omitempty"` + + // ImageGcLowThreshold: This cannot be set higher than imageGcHighThreshold. The default is 80% + ImageGcLowThreshold *int `json:"imageGcLowThreshold,omitempty"` + + // PodMaxPids: The maximum number of processes per pod. + PodMaxPids *int `json:"podMaxPids,omitempty"` + + // TopologyManagerPolicy: For more information see [Kubernetes Topology + // Manager](https://kubernetes.io/docs/tasks/administer-cluster/topology-manager). The default is 'none'. Allowed values + // are 'none', 'best-effort', 'restricted', and 'single-numa-node'. + TopologyManagerPolicy *string `json:"topologyManagerPolicy,omitempty"` +} + +var _ genruntime.FromARMConverter = &KubeletConfig_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (config *KubeletConfig_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.KubeletConfig_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (config *KubeletConfig_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.KubeletConfig_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.KubeletConfig_STATUS, got %T", armInput) + } + + // Set property "AllowedUnsafeSysctls": + for _, item := range typedInput.AllowedUnsafeSysctls { + config.AllowedUnsafeSysctls = append(config.AllowedUnsafeSysctls, item) + } + + // Set property "ContainerLogMaxFiles": + if typedInput.ContainerLogMaxFiles != nil { + containerLogMaxFiles := *typedInput.ContainerLogMaxFiles + config.ContainerLogMaxFiles = &containerLogMaxFiles + } + + // Set property "ContainerLogMaxSizeMB": + if typedInput.ContainerLogMaxSizeMB != nil { + containerLogMaxSizeMB := *typedInput.ContainerLogMaxSizeMB + config.ContainerLogMaxSizeMB = &containerLogMaxSizeMB + } + + // Set property "CpuCfsQuota": + if typedInput.CpuCfsQuota != nil { + cpuCfsQuota := *typedInput.CpuCfsQuota + config.CpuCfsQuota = &cpuCfsQuota + } + + // Set property "CpuCfsQuotaPeriod": + if typedInput.CpuCfsQuotaPeriod != nil { + cpuCfsQuotaPeriod := *typedInput.CpuCfsQuotaPeriod + config.CpuCfsQuotaPeriod = &cpuCfsQuotaPeriod + } + + // Set property "CpuManagerPolicy": + if typedInput.CpuManagerPolicy != nil { + cpuManagerPolicy := *typedInput.CpuManagerPolicy + config.CpuManagerPolicy = &cpuManagerPolicy + } + + // Set property "FailSwapOn": + if typedInput.FailSwapOn != nil { + failSwapOn := *typedInput.FailSwapOn + config.FailSwapOn = &failSwapOn + } + + // Set property "ImageGcHighThreshold": + if typedInput.ImageGcHighThreshold != nil { + imageGcHighThreshold := *typedInput.ImageGcHighThreshold + config.ImageGcHighThreshold = &imageGcHighThreshold + } + + // Set property "ImageGcLowThreshold": + if typedInput.ImageGcLowThreshold != nil { + imageGcLowThreshold := *typedInput.ImageGcLowThreshold + config.ImageGcLowThreshold = &imageGcLowThreshold + } + + // Set property "PodMaxPids": + if typedInput.PodMaxPids != nil { + podMaxPids := *typedInput.PodMaxPids + config.PodMaxPids = &podMaxPids + } + + // Set property "TopologyManagerPolicy": + if typedInput.TopologyManagerPolicy != nil { + topologyManagerPolicy := *typedInput.TopologyManagerPolicy + config.TopologyManagerPolicy = &topologyManagerPolicy + } + + // No error + return nil +} + +// AssignProperties_From_KubeletConfig_STATUS populates our KubeletConfig_STATUS from the provided source KubeletConfig_STATUS +func (config *KubeletConfig_STATUS) AssignProperties_From_KubeletConfig_STATUS(source *storage.KubeletConfig_STATUS) error { + + // AllowedUnsafeSysctls + config.AllowedUnsafeSysctls = genruntime.CloneSliceOfString(source.AllowedUnsafeSysctls) + + // ContainerLogMaxFiles + config.ContainerLogMaxFiles = genruntime.ClonePointerToInt(source.ContainerLogMaxFiles) + + // ContainerLogMaxSizeMB + config.ContainerLogMaxSizeMB = genruntime.ClonePointerToInt(source.ContainerLogMaxSizeMB) + + // CpuCfsQuota + if source.CpuCfsQuota != nil { + cpuCfsQuota := *source.CpuCfsQuota + config.CpuCfsQuota = &cpuCfsQuota + } else { + config.CpuCfsQuota = nil + } + + // CpuCfsQuotaPeriod + config.CpuCfsQuotaPeriod = genruntime.ClonePointerToString(source.CpuCfsQuotaPeriod) + + // CpuManagerPolicy + config.CpuManagerPolicy = genruntime.ClonePointerToString(source.CpuManagerPolicy) + + // FailSwapOn + if source.FailSwapOn != nil { + failSwapOn := *source.FailSwapOn + config.FailSwapOn = &failSwapOn + } else { + config.FailSwapOn = nil + } + + // ImageGcHighThreshold + config.ImageGcHighThreshold = genruntime.ClonePointerToInt(source.ImageGcHighThreshold) + + // ImageGcLowThreshold + config.ImageGcLowThreshold = genruntime.ClonePointerToInt(source.ImageGcLowThreshold) + + // PodMaxPids + config.PodMaxPids = genruntime.ClonePointerToInt(source.PodMaxPids) + + // TopologyManagerPolicy + config.TopologyManagerPolicy = genruntime.ClonePointerToString(source.TopologyManagerPolicy) + + // No error + return nil +} + +// AssignProperties_To_KubeletConfig_STATUS populates the provided destination KubeletConfig_STATUS from our KubeletConfig_STATUS +func (config *KubeletConfig_STATUS) AssignProperties_To_KubeletConfig_STATUS(destination *storage.KubeletConfig_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // AllowedUnsafeSysctls + destination.AllowedUnsafeSysctls = genruntime.CloneSliceOfString(config.AllowedUnsafeSysctls) + + // ContainerLogMaxFiles + destination.ContainerLogMaxFiles = genruntime.ClonePointerToInt(config.ContainerLogMaxFiles) + + // ContainerLogMaxSizeMB + destination.ContainerLogMaxSizeMB = genruntime.ClonePointerToInt(config.ContainerLogMaxSizeMB) + + // CpuCfsQuota + if config.CpuCfsQuota != nil { + cpuCfsQuota := *config.CpuCfsQuota + destination.CpuCfsQuota = &cpuCfsQuota + } else { + destination.CpuCfsQuota = nil + } + + // CpuCfsQuotaPeriod + destination.CpuCfsQuotaPeriod = genruntime.ClonePointerToString(config.CpuCfsQuotaPeriod) + + // CpuManagerPolicy + destination.CpuManagerPolicy = genruntime.ClonePointerToString(config.CpuManagerPolicy) + + // FailSwapOn + if config.FailSwapOn != nil { + failSwapOn := *config.FailSwapOn + destination.FailSwapOn = &failSwapOn + } else { + destination.FailSwapOn = nil + } + + // ImageGcHighThreshold + destination.ImageGcHighThreshold = genruntime.ClonePointerToInt(config.ImageGcHighThreshold) + + // ImageGcLowThreshold + destination.ImageGcLowThreshold = genruntime.ClonePointerToInt(config.ImageGcLowThreshold) + + // PodMaxPids + destination.PodMaxPids = genruntime.ClonePointerToInt(config.PodMaxPids) + + // TopologyManagerPolicy + destination.TopologyManagerPolicy = genruntime.ClonePointerToString(config.TopologyManagerPolicy) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage. +// +kubebuilder:validation:Enum={"OS","Temporary"} +type KubeletDiskType string + +const ( + KubeletDiskType_OS = KubeletDiskType("OS") + KubeletDiskType_Temporary = KubeletDiskType("Temporary") +) + +// Mapping from string to KubeletDiskType +var kubeletDiskType_Values = map[string]KubeletDiskType{ + "os": KubeletDiskType_OS, + "temporary": KubeletDiskType_Temporary, +} + +// Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage. +type KubeletDiskType_STATUS string + +const ( + KubeletDiskType_STATUS_OS = KubeletDiskType_STATUS("OS") + KubeletDiskType_STATUS_Temporary = KubeletDiskType_STATUS("Temporary") +) + +// Mapping from string to KubeletDiskType_STATUS +var kubeletDiskType_STATUS_Values = map[string]KubeletDiskType_STATUS{ + "os": KubeletDiskType_STATUS_OS, + "temporary": KubeletDiskType_STATUS_Temporary, +} + +// See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. +type LinuxOSConfig struct { + // SwapFileSizeMB: The size in MB of a swap file that will be created on each node. + SwapFileSizeMB *int `json:"swapFileSizeMB,omitempty"` + + // Sysctls: Sysctl settings for Linux agent nodes. + Sysctls *SysctlConfig `json:"sysctls,omitempty"` + + // TransparentHugePageDefrag: Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is + // 'madvise'. For more information see [Transparent + // Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). + TransparentHugePageDefrag *string `json:"transparentHugePageDefrag,omitempty"` + + // TransparentHugePageEnabled: Valid values are 'always', 'madvise', and 'never'. The default is 'always'. For more + // information see [Transparent + // Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). + TransparentHugePageEnabled *string `json:"transparentHugePageEnabled,omitempty"` +} + +var _ genruntime.ARMTransformer = &LinuxOSConfig{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (config *LinuxOSConfig) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if config == nil { + return nil, nil + } + result := &arm.LinuxOSConfig{} + + // Set property "SwapFileSizeMB": + if config.SwapFileSizeMB != nil { + swapFileSizeMB := *config.SwapFileSizeMB + result.SwapFileSizeMB = &swapFileSizeMB + } + + // Set property "Sysctls": + if config.Sysctls != nil { + sysctls_ARM, err := (*config.Sysctls).ConvertToARM(resolved) + if err != nil { + return nil, err + } + sysctls := *sysctls_ARM.(*arm.SysctlConfig) + result.Sysctls = &sysctls + } + + // Set property "TransparentHugePageDefrag": + if config.TransparentHugePageDefrag != nil { + transparentHugePageDefrag := *config.TransparentHugePageDefrag + result.TransparentHugePageDefrag = &transparentHugePageDefrag + } + + // Set property "TransparentHugePageEnabled": + if config.TransparentHugePageEnabled != nil { + transparentHugePageEnabled := *config.TransparentHugePageEnabled + result.TransparentHugePageEnabled = &transparentHugePageEnabled + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (config *LinuxOSConfig) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.LinuxOSConfig{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (config *LinuxOSConfig) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.LinuxOSConfig) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.LinuxOSConfig, got %T", armInput) + } + + // Set property "SwapFileSizeMB": + if typedInput.SwapFileSizeMB != nil { + swapFileSizeMB := *typedInput.SwapFileSizeMB + config.SwapFileSizeMB = &swapFileSizeMB + } + + // Set property "Sysctls": + if typedInput.Sysctls != nil { + var sysctls1 SysctlConfig + err := sysctls1.PopulateFromARM(owner, *typedInput.Sysctls) + if err != nil { + return err + } + sysctls := sysctls1 + config.Sysctls = &sysctls + } + + // Set property "TransparentHugePageDefrag": + if typedInput.TransparentHugePageDefrag != nil { + transparentHugePageDefrag := *typedInput.TransparentHugePageDefrag + config.TransparentHugePageDefrag = &transparentHugePageDefrag + } + + // Set property "TransparentHugePageEnabled": + if typedInput.TransparentHugePageEnabled != nil { + transparentHugePageEnabled := *typedInput.TransparentHugePageEnabled + config.TransparentHugePageEnabled = &transparentHugePageEnabled + } + + // No error + return nil +} + +// AssignProperties_From_LinuxOSConfig populates our LinuxOSConfig from the provided source LinuxOSConfig +func (config *LinuxOSConfig) AssignProperties_From_LinuxOSConfig(source *storage.LinuxOSConfig) error { + + // SwapFileSizeMB + config.SwapFileSizeMB = genruntime.ClonePointerToInt(source.SwapFileSizeMB) + + // Sysctls + if source.Sysctls != nil { + var sysctl SysctlConfig + err := sysctl.AssignProperties_From_SysctlConfig(source.Sysctls) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_SysctlConfig() to populate field Sysctls") + } + config.Sysctls = &sysctl + } else { + config.Sysctls = nil + } + + // TransparentHugePageDefrag + config.TransparentHugePageDefrag = genruntime.ClonePointerToString(source.TransparentHugePageDefrag) + + // TransparentHugePageEnabled + config.TransparentHugePageEnabled = genruntime.ClonePointerToString(source.TransparentHugePageEnabled) + + // No error + return nil +} + +// AssignProperties_To_LinuxOSConfig populates the provided destination LinuxOSConfig from our LinuxOSConfig +func (config *LinuxOSConfig) AssignProperties_To_LinuxOSConfig(destination *storage.LinuxOSConfig) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // SwapFileSizeMB + destination.SwapFileSizeMB = genruntime.ClonePointerToInt(config.SwapFileSizeMB) + + // Sysctls + if config.Sysctls != nil { + var sysctl storage.SysctlConfig + err := config.Sysctls.AssignProperties_To_SysctlConfig(&sysctl) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_SysctlConfig() to populate field Sysctls") + } + destination.Sysctls = &sysctl + } else { + destination.Sysctls = nil + } + + // TransparentHugePageDefrag + destination.TransparentHugePageDefrag = genruntime.ClonePointerToString(config.TransparentHugePageDefrag) + + // TransparentHugePageEnabled + destination.TransparentHugePageEnabled = genruntime.ClonePointerToString(config.TransparentHugePageEnabled) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_LinuxOSConfig_STATUS populates our LinuxOSConfig from the provided source LinuxOSConfig_STATUS +func (config *LinuxOSConfig) Initialize_From_LinuxOSConfig_STATUS(source *LinuxOSConfig_STATUS) error { + + // SwapFileSizeMB + config.SwapFileSizeMB = genruntime.ClonePointerToInt(source.SwapFileSizeMB) + + // Sysctls + if source.Sysctls != nil { + var sysctl SysctlConfig + err := sysctl.Initialize_From_SysctlConfig_STATUS(source.Sysctls) + if err != nil { + return errors.Wrap(err, "calling Initialize_From_SysctlConfig_STATUS() to populate field Sysctls") + } + config.Sysctls = &sysctl + } else { + config.Sysctls = nil + } + + // TransparentHugePageDefrag + config.TransparentHugePageDefrag = genruntime.ClonePointerToString(source.TransparentHugePageDefrag) + + // TransparentHugePageEnabled + config.TransparentHugePageEnabled = genruntime.ClonePointerToString(source.TransparentHugePageEnabled) + + // No error + return nil +} + +// See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. +type LinuxOSConfig_STATUS struct { + // SwapFileSizeMB: The size in MB of a swap file that will be created on each node. + SwapFileSizeMB *int `json:"swapFileSizeMB,omitempty"` + + // Sysctls: Sysctl settings for Linux agent nodes. + Sysctls *SysctlConfig_STATUS `json:"sysctls,omitempty"` + + // TransparentHugePageDefrag: Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is + // 'madvise'. For more information see [Transparent + // Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). + TransparentHugePageDefrag *string `json:"transparentHugePageDefrag,omitempty"` + + // TransparentHugePageEnabled: Valid values are 'always', 'madvise', and 'never'. The default is 'always'. For more + // information see [Transparent + // Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). + TransparentHugePageEnabled *string `json:"transparentHugePageEnabled,omitempty"` +} + +var _ genruntime.FromARMConverter = &LinuxOSConfig_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (config *LinuxOSConfig_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.LinuxOSConfig_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (config *LinuxOSConfig_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.LinuxOSConfig_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.LinuxOSConfig_STATUS, got %T", armInput) + } + + // Set property "SwapFileSizeMB": + if typedInput.SwapFileSizeMB != nil { + swapFileSizeMB := *typedInput.SwapFileSizeMB + config.SwapFileSizeMB = &swapFileSizeMB + } + + // Set property "Sysctls": + if typedInput.Sysctls != nil { + var sysctls1 SysctlConfig_STATUS + err := sysctls1.PopulateFromARM(owner, *typedInput.Sysctls) + if err != nil { + return err + } + sysctls := sysctls1 + config.Sysctls = &sysctls + } + + // Set property "TransparentHugePageDefrag": + if typedInput.TransparentHugePageDefrag != nil { + transparentHugePageDefrag := *typedInput.TransparentHugePageDefrag + config.TransparentHugePageDefrag = &transparentHugePageDefrag + } + + // Set property "TransparentHugePageEnabled": + if typedInput.TransparentHugePageEnabled != nil { + transparentHugePageEnabled := *typedInput.TransparentHugePageEnabled + config.TransparentHugePageEnabled = &transparentHugePageEnabled + } + + // No error + return nil +} + +// AssignProperties_From_LinuxOSConfig_STATUS populates our LinuxOSConfig_STATUS from the provided source LinuxOSConfig_STATUS +func (config *LinuxOSConfig_STATUS) AssignProperties_From_LinuxOSConfig_STATUS(source *storage.LinuxOSConfig_STATUS) error { + + // SwapFileSizeMB + config.SwapFileSizeMB = genruntime.ClonePointerToInt(source.SwapFileSizeMB) + + // Sysctls + if source.Sysctls != nil { + var sysctl SysctlConfig_STATUS + err := sysctl.AssignProperties_From_SysctlConfig_STATUS(source.Sysctls) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_SysctlConfig_STATUS() to populate field Sysctls") + } + config.Sysctls = &sysctl + } else { + config.Sysctls = nil + } + + // TransparentHugePageDefrag + config.TransparentHugePageDefrag = genruntime.ClonePointerToString(source.TransparentHugePageDefrag) + + // TransparentHugePageEnabled + config.TransparentHugePageEnabled = genruntime.ClonePointerToString(source.TransparentHugePageEnabled) + + // No error + return nil +} + +// AssignProperties_To_LinuxOSConfig_STATUS populates the provided destination LinuxOSConfig_STATUS from our LinuxOSConfig_STATUS +func (config *LinuxOSConfig_STATUS) AssignProperties_To_LinuxOSConfig_STATUS(destination *storage.LinuxOSConfig_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // SwapFileSizeMB + destination.SwapFileSizeMB = genruntime.ClonePointerToInt(config.SwapFileSizeMB) + + // Sysctls + if config.Sysctls != nil { + var sysctl storage.SysctlConfig_STATUS + err := config.Sysctls.AssignProperties_To_SysctlConfig_STATUS(&sysctl) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_SysctlConfig_STATUS() to populate field Sysctls") + } + destination.Sysctls = &sysctl + } else { + destination.Sysctls = nil + } + + // TransparentHugePageDefrag + destination.TransparentHugePageDefrag = genruntime.ClonePointerToString(config.TransparentHugePageDefrag) + + // TransparentHugePageEnabled + destination.TransparentHugePageEnabled = genruntime.ClonePointerToString(config.TransparentHugePageEnabled) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, +// defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral +// OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). +// +kubebuilder:validation:Enum={"Ephemeral","Managed"} +type OSDiskType string + +const ( + OSDiskType_Ephemeral = OSDiskType("Ephemeral") + OSDiskType_Managed = OSDiskType("Managed") +) + +// Mapping from string to OSDiskType +var oSDiskType_Values = map[string]OSDiskType{ + "ephemeral": OSDiskType_Ephemeral, + "managed": OSDiskType_Managed, +} + +// The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, +// defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral +// OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). +type OSDiskType_STATUS string + +const ( + OSDiskType_STATUS_Ephemeral = OSDiskType_STATUS("Ephemeral") + OSDiskType_STATUS_Managed = OSDiskType_STATUS("Managed") +) + +// Mapping from string to OSDiskType_STATUS +var oSDiskType_STATUS_Values = map[string]OSDiskType_STATUS{ + "ephemeral": OSDiskType_STATUS_Ephemeral, + "managed": OSDiskType_STATUS_Managed, +} + +// Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 when +// Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows. +// +kubebuilder:validation:Enum={"AzureLinux","CBLMariner","Ubuntu","Windows2019","Windows2022"} +type OSSKU string + +const ( + OSSKU_AzureLinux = OSSKU("AzureLinux") + OSSKU_CBLMariner = OSSKU("CBLMariner") + OSSKU_Ubuntu = OSSKU("Ubuntu") + OSSKU_Windows2019 = OSSKU("Windows2019") + OSSKU_Windows2022 = OSSKU("Windows2022") +) + +// Mapping from string to OSSKU +var oSSKU_Values = map[string]OSSKU{ + "azurelinux": OSSKU_AzureLinux, + "cblmariner": OSSKU_CBLMariner, + "ubuntu": OSSKU_Ubuntu, + "windows2019": OSSKU_Windows2019, + "windows2022": OSSKU_Windows2022, +} + +// Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 when +// Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows. +type OSSKU_STATUS string + +const ( + OSSKU_STATUS_AzureLinux = OSSKU_STATUS("AzureLinux") + OSSKU_STATUS_CBLMariner = OSSKU_STATUS("CBLMariner") + OSSKU_STATUS_Ubuntu = OSSKU_STATUS("Ubuntu") + OSSKU_STATUS_Windows2019 = OSSKU_STATUS("Windows2019") + OSSKU_STATUS_Windows2022 = OSSKU_STATUS("Windows2022") +) + +// Mapping from string to OSSKU_STATUS +var oSSKU_STATUS_Values = map[string]OSSKU_STATUS{ + "azurelinux": OSSKU_STATUS_AzureLinux, + "cblmariner": OSSKU_STATUS_CBLMariner, + "ubuntu": OSSKU_STATUS_Ubuntu, + "windows2019": OSSKU_STATUS_Windows2019, + "windows2022": OSSKU_STATUS_Windows2022, +} + +// The operating system type. The default is Linux. +// +kubebuilder:validation:Enum={"Linux","Windows"} +type OSType string + +const ( + OSType_Linux = OSType("Linux") + OSType_Windows = OSType("Windows") +) + +// Mapping from string to OSType +var oSType_Values = map[string]OSType{ + "linux": OSType_Linux, + "windows": OSType_Windows, +} + +// The operating system type. The default is Linux. +type OSType_STATUS string + +const ( + OSType_STATUS_Linux = OSType_STATUS("Linux") + OSType_STATUS_Windows = OSType_STATUS("Windows") +) + +// Mapping from string to OSType_STATUS +var oSType_STATUS_Values = map[string]OSType_STATUS{ + "linux": OSType_STATUS_Linux, + "windows": OSType_STATUS_Windows, +} + +// Describes the Power State of the cluster +type PowerState struct { + // Code: Tells whether the cluster is Running or Stopped + Code *PowerState_Code `json:"code,omitempty"` +} + +var _ genruntime.ARMTransformer = &PowerState{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (state *PowerState) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if state == nil { + return nil, nil + } + result := &arm.PowerState{} + + // Set property "Code": + if state.Code != nil { + var temp string + temp = string(*state.Code) + code := arm.PowerState_Code(temp) + result.Code = &code + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (state *PowerState) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.PowerState{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (state *PowerState) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.PowerState) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.PowerState, got %T", armInput) + } + + // Set property "Code": + if typedInput.Code != nil { + var temp string + temp = string(*typedInput.Code) + code := PowerState_Code(temp) + state.Code = &code + } + + // No error + return nil +} + +// AssignProperties_From_PowerState populates our PowerState from the provided source PowerState +func (state *PowerState) AssignProperties_From_PowerState(source *storage.PowerState) error { + + // Code + if source.Code != nil { + code := *source.Code + codeTemp := genruntime.ToEnum(code, powerState_Code_Values) + state.Code = &codeTemp + } else { + state.Code = nil + } + + // No error + return nil +} + +// AssignProperties_To_PowerState populates the provided destination PowerState from our PowerState +func (state *PowerState) AssignProperties_To_PowerState(destination *storage.PowerState) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Code + if state.Code != nil { + code := string(*state.Code) + destination.Code = &code + } else { + destination.Code = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_PowerState_STATUS populates our PowerState from the provided source PowerState_STATUS +func (state *PowerState) Initialize_From_PowerState_STATUS(source *PowerState_STATUS) error { + + // Code + if source.Code != nil { + code := genruntime.ToEnum(string(*source.Code), powerState_Code_Values) + state.Code = &code + } else { + state.Code = nil + } + + // No error + return nil +} + +// Describes how VMs are added to or removed from Agent Pools. See [billing +// states](https://docs.microsoft.com/azure/virtual-machines/states-billing). +// +kubebuilder:validation:Enum={"Deallocate","Delete"} +type ScaleDownMode string + +const ( + ScaleDownMode_Deallocate = ScaleDownMode("Deallocate") + ScaleDownMode_Delete = ScaleDownMode("Delete") +) + +// Mapping from string to ScaleDownMode +var scaleDownMode_Values = map[string]ScaleDownMode{ + "deallocate": ScaleDownMode_Deallocate, + "delete": ScaleDownMode_Delete, +} + +// Describes how VMs are added to or removed from Agent Pools. See [billing +// states](https://docs.microsoft.com/azure/virtual-machines/states-billing). +type ScaleDownMode_STATUS string + +const ( + ScaleDownMode_STATUS_Deallocate = ScaleDownMode_STATUS("Deallocate") + ScaleDownMode_STATUS_Delete = ScaleDownMode_STATUS("Delete") +) + +// Mapping from string to ScaleDownMode_STATUS +var scaleDownMode_STATUS_Values = map[string]ScaleDownMode_STATUS{ + "deallocate": ScaleDownMode_STATUS_Deallocate, + "delete": ScaleDownMode_STATUS_Delete, +} + +// The eviction policy specifies what to do with the VM when it is evicted. The default is Delete. For more information +// about eviction see [spot VMs](https://docs.microsoft.com/azure/virtual-machines/spot-vms) +// +kubebuilder:validation:Enum={"Deallocate","Delete"} +type ScaleSetEvictionPolicy string + +const ( + ScaleSetEvictionPolicy_Deallocate = ScaleSetEvictionPolicy("Deallocate") + ScaleSetEvictionPolicy_Delete = ScaleSetEvictionPolicy("Delete") +) + +// Mapping from string to ScaleSetEvictionPolicy +var scaleSetEvictionPolicy_Values = map[string]ScaleSetEvictionPolicy{ + "deallocate": ScaleSetEvictionPolicy_Deallocate, + "delete": ScaleSetEvictionPolicy_Delete, +} + +// The eviction policy specifies what to do with the VM when it is evicted. The default is Delete. For more information +// about eviction see [spot VMs](https://docs.microsoft.com/azure/virtual-machines/spot-vms) +type ScaleSetEvictionPolicy_STATUS string + +const ( + ScaleSetEvictionPolicy_STATUS_Deallocate = ScaleSetEvictionPolicy_STATUS("Deallocate") + ScaleSetEvictionPolicy_STATUS_Delete = ScaleSetEvictionPolicy_STATUS("Delete") +) + +// Mapping from string to ScaleSetEvictionPolicy_STATUS +var scaleSetEvictionPolicy_STATUS_Values = map[string]ScaleSetEvictionPolicy_STATUS{ + "deallocate": ScaleSetEvictionPolicy_STATUS_Deallocate, + "delete": ScaleSetEvictionPolicy_STATUS_Delete, +} + +// The Virtual Machine Scale Set priority. +// +kubebuilder:validation:Enum={"Regular","Spot"} +type ScaleSetPriority string + +const ( + ScaleSetPriority_Regular = ScaleSetPriority("Regular") + ScaleSetPriority_Spot = ScaleSetPriority("Spot") +) + +// Mapping from string to ScaleSetPriority +var scaleSetPriority_Values = map[string]ScaleSetPriority{ + "regular": ScaleSetPriority_Regular, + "spot": ScaleSetPriority_Spot, +} + +// The Virtual Machine Scale Set priority. +type ScaleSetPriority_STATUS string + +const ( + ScaleSetPriority_STATUS_Regular = ScaleSetPriority_STATUS("Regular") + ScaleSetPriority_STATUS_Spot = ScaleSetPriority_STATUS("Spot") +) + +// Mapping from string to ScaleSetPriority_STATUS +var scaleSetPriority_STATUS_Values = map[string]ScaleSetPriority_STATUS{ + "regular": ScaleSetPriority_STATUS_Regular, + "spot": ScaleSetPriority_STATUS_Spot, +} + +// Determines the type of workload a node can run. +// +kubebuilder:validation:Enum={"OCIContainer","WasmWasi"} +type WorkloadRuntime string + +const ( + WorkloadRuntime_OCIContainer = WorkloadRuntime("OCIContainer") + WorkloadRuntime_WasmWasi = WorkloadRuntime("WasmWasi") +) + +// Mapping from string to WorkloadRuntime +var workloadRuntime_Values = map[string]WorkloadRuntime{ + "ocicontainer": WorkloadRuntime_OCIContainer, + "wasmwasi": WorkloadRuntime_WasmWasi, +} + +// Determines the type of workload a node can run. +type WorkloadRuntime_STATUS string + +const ( + WorkloadRuntime_STATUS_OCIContainer = WorkloadRuntime_STATUS("OCIContainer") + WorkloadRuntime_STATUS_WasmWasi = WorkloadRuntime_STATUS("WasmWasi") +) + +// Mapping from string to WorkloadRuntime_STATUS +var workloadRuntime_STATUS_Values = map[string]WorkloadRuntime_STATUS{ + "ocicontainer": WorkloadRuntime_STATUS_OCIContainer, + "wasmwasi": WorkloadRuntime_STATUS_WasmWasi, +} + +// Contains the IPTag associated with the object. +type IPTag struct { + // IpTagType: The IP tag type. Example: RoutingPreference. + IpTagType *string `json:"ipTagType,omitempty"` + + // Tag: The value of the IP tag associated with the public IP. Example: Internet. + Tag *string `json:"tag,omitempty"` +} + +var _ genruntime.ARMTransformer = &IPTag{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (ipTag *IPTag) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if ipTag == nil { + return nil, nil + } + result := &arm.IPTag{} + + // Set property "IpTagType": + if ipTag.IpTagType != nil { + ipTagType := *ipTag.IpTagType + result.IpTagType = &ipTagType + } + + // Set property "Tag": + if ipTag.Tag != nil { + tag := *ipTag.Tag + result.Tag = &tag + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (ipTag *IPTag) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.IPTag{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (ipTag *IPTag) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.IPTag) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.IPTag, got %T", armInput) + } + + // Set property "IpTagType": + if typedInput.IpTagType != nil { + ipTagType := *typedInput.IpTagType + ipTag.IpTagType = &ipTagType + } + + // Set property "Tag": + if typedInput.Tag != nil { + tag := *typedInput.Tag + ipTag.Tag = &tag + } + + // No error + return nil +} + +// AssignProperties_From_IPTag populates our IPTag from the provided source IPTag +func (ipTag *IPTag) AssignProperties_From_IPTag(source *storage.IPTag) error { + + // IpTagType + ipTag.IpTagType = genruntime.ClonePointerToString(source.IpTagType) + + // Tag + ipTag.Tag = genruntime.ClonePointerToString(source.Tag) + + // No error + return nil +} + +// AssignProperties_To_IPTag populates the provided destination IPTag from our IPTag +func (ipTag *IPTag) AssignProperties_To_IPTag(destination *storage.IPTag) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // IpTagType + destination.IpTagType = genruntime.ClonePointerToString(ipTag.IpTagType) + + // Tag + destination.Tag = genruntime.ClonePointerToString(ipTag.Tag) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_IPTag_STATUS populates our IPTag from the provided source IPTag_STATUS +func (ipTag *IPTag) Initialize_From_IPTag_STATUS(source *IPTag_STATUS) error { + + // IpTagType + ipTag.IpTagType = genruntime.ClonePointerToString(source.IpTagType) + + // Tag + ipTag.Tag = genruntime.ClonePointerToString(source.Tag) + + // No error + return nil +} + +// Contains the IPTag associated with the object. +type IPTag_STATUS struct { + // IpTagType: The IP tag type. Example: RoutingPreference. + IpTagType *string `json:"ipTagType,omitempty"` + + // Tag: The value of the IP tag associated with the public IP. Example: Internet. + Tag *string `json:"tag,omitempty"` +} + +var _ genruntime.FromARMConverter = &IPTag_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (ipTag *IPTag_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.IPTag_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (ipTag *IPTag_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.IPTag_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.IPTag_STATUS, got %T", armInput) + } + + // Set property "IpTagType": + if typedInput.IpTagType != nil { + ipTagType := *typedInput.IpTagType + ipTag.IpTagType = &ipTagType + } + + // Set property "Tag": + if typedInput.Tag != nil { + tag := *typedInput.Tag + ipTag.Tag = &tag + } + + // No error + return nil +} + +// AssignProperties_From_IPTag_STATUS populates our IPTag_STATUS from the provided source IPTag_STATUS +func (ipTag *IPTag_STATUS) AssignProperties_From_IPTag_STATUS(source *storage.IPTag_STATUS) error { + + // IpTagType + ipTag.IpTagType = genruntime.ClonePointerToString(source.IpTagType) + + // Tag + ipTag.Tag = genruntime.ClonePointerToString(source.Tag) + + // No error + return nil +} + +// AssignProperties_To_IPTag_STATUS populates the provided destination IPTag_STATUS from our IPTag_STATUS +func (ipTag *IPTag_STATUS) AssignProperties_To_IPTag_STATUS(destination *storage.IPTag_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // IpTagType + destination.IpTagType = genruntime.ClonePointerToString(ipTag.IpTagType) + + // Tag + destination.Tag = genruntime.ClonePointerToString(ipTag.Tag) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// The port range. +type PortRange struct { + // +kubebuilder:validation:Maximum=65535 + // +kubebuilder:validation:Minimum=1 + // PortEnd: The maximum port that is included in the range. It should be ranged from 1 to 65535, and be greater than or + // equal to portStart. + PortEnd *int `json:"portEnd,omitempty"` + + // +kubebuilder:validation:Maximum=65535 + // +kubebuilder:validation:Minimum=1 + // PortStart: The minimum port that is included in the range. It should be ranged from 1 to 65535, and be less than or + // equal to portEnd. + PortStart *int `json:"portStart,omitempty"` + + // Protocol: The network protocol of the port. + Protocol *PortRange_Protocol `json:"protocol,omitempty"` +} + +var _ genruntime.ARMTransformer = &PortRange{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (portRange *PortRange) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if portRange == nil { + return nil, nil + } + result := &arm.PortRange{} + + // Set property "PortEnd": + if portRange.PortEnd != nil { + portEnd := *portRange.PortEnd + result.PortEnd = &portEnd + } + + // Set property "PortStart": + if portRange.PortStart != nil { + portStart := *portRange.PortStart + result.PortStart = &portStart + } + + // Set property "Protocol": + if portRange.Protocol != nil { + var temp string + temp = string(*portRange.Protocol) + protocol := arm.PortRange_Protocol(temp) + result.Protocol = &protocol + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (portRange *PortRange) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.PortRange{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (portRange *PortRange) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.PortRange) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.PortRange, got %T", armInput) + } + + // Set property "PortEnd": + if typedInput.PortEnd != nil { + portEnd := *typedInput.PortEnd + portRange.PortEnd = &portEnd + } + + // Set property "PortStart": + if typedInput.PortStart != nil { + portStart := *typedInput.PortStart + portRange.PortStart = &portStart + } + + // Set property "Protocol": + if typedInput.Protocol != nil { + var temp string + temp = string(*typedInput.Protocol) + protocol := PortRange_Protocol(temp) + portRange.Protocol = &protocol + } + + // No error + return nil +} + +// AssignProperties_From_PortRange populates our PortRange from the provided source PortRange +func (portRange *PortRange) AssignProperties_From_PortRange(source *storage.PortRange) error { + + // PortEnd + if source.PortEnd != nil { + portEnd := *source.PortEnd + portRange.PortEnd = &portEnd + } else { + portRange.PortEnd = nil + } + + // PortStart + if source.PortStart != nil { + portStart := *source.PortStart + portRange.PortStart = &portStart + } else { + portRange.PortStart = nil + } + + // Protocol + if source.Protocol != nil { + protocol := *source.Protocol + protocolTemp := genruntime.ToEnum(protocol, portRange_Protocol_Values) + portRange.Protocol = &protocolTemp + } else { + portRange.Protocol = nil + } + + // No error + return nil +} + +// AssignProperties_To_PortRange populates the provided destination PortRange from our PortRange +func (portRange *PortRange) AssignProperties_To_PortRange(destination *storage.PortRange) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // PortEnd + if portRange.PortEnd != nil { + portEnd := *portRange.PortEnd + destination.PortEnd = &portEnd + } else { + destination.PortEnd = nil + } + + // PortStart + if portRange.PortStart != nil { + portStart := *portRange.PortStart + destination.PortStart = &portStart + } else { + destination.PortStart = nil + } + + // Protocol + if portRange.Protocol != nil { + protocol := string(*portRange.Protocol) + destination.Protocol = &protocol + } else { + destination.Protocol = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_PortRange_STATUS populates our PortRange from the provided source PortRange_STATUS +func (portRange *PortRange) Initialize_From_PortRange_STATUS(source *PortRange_STATUS) error { + + // PortEnd + if source.PortEnd != nil { + portEnd := *source.PortEnd + portRange.PortEnd = &portEnd + } else { + portRange.PortEnd = nil + } + + // PortStart + if source.PortStart != nil { + portStart := *source.PortStart + portRange.PortStart = &portStart + } else { + portRange.PortStart = nil + } + + // Protocol + if source.Protocol != nil { + protocol := genruntime.ToEnum(string(*source.Protocol), portRange_Protocol_Values) + portRange.Protocol = &protocol + } else { + portRange.Protocol = nil + } + + // No error + return nil +} + +// The port range. +type PortRange_STATUS struct { + // PortEnd: The maximum port that is included in the range. It should be ranged from 1 to 65535, and be greater than or + // equal to portStart. + PortEnd *int `json:"portEnd,omitempty"` + + // PortStart: The minimum port that is included in the range. It should be ranged from 1 to 65535, and be less than or + // equal to portEnd. + PortStart *int `json:"portStart,omitempty"` + + // Protocol: The network protocol of the port. + Protocol *PortRange_Protocol_STATUS `json:"protocol,omitempty"` +} + +var _ genruntime.FromARMConverter = &PortRange_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (portRange *PortRange_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.PortRange_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (portRange *PortRange_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.PortRange_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.PortRange_STATUS, got %T", armInput) + } + + // Set property "PortEnd": + if typedInput.PortEnd != nil { + portEnd := *typedInput.PortEnd + portRange.PortEnd = &portEnd + } + + // Set property "PortStart": + if typedInput.PortStart != nil { + portStart := *typedInput.PortStart + portRange.PortStart = &portStart + } + + // Set property "Protocol": + if typedInput.Protocol != nil { + var temp string + temp = string(*typedInput.Protocol) + protocol := PortRange_Protocol_STATUS(temp) + portRange.Protocol = &protocol + } + + // No error + return nil +} + +// AssignProperties_From_PortRange_STATUS populates our PortRange_STATUS from the provided source PortRange_STATUS +func (portRange *PortRange_STATUS) AssignProperties_From_PortRange_STATUS(source *storage.PortRange_STATUS) error { + + // PortEnd + portRange.PortEnd = genruntime.ClonePointerToInt(source.PortEnd) + + // PortStart + portRange.PortStart = genruntime.ClonePointerToInt(source.PortStart) + + // Protocol + if source.Protocol != nil { + protocol := *source.Protocol + protocolTemp := genruntime.ToEnum(protocol, portRange_Protocol_STATUS_Values) + portRange.Protocol = &protocolTemp + } else { + portRange.Protocol = nil + } + + // No error + return nil +} + +// AssignProperties_To_PortRange_STATUS populates the provided destination PortRange_STATUS from our PortRange_STATUS +func (portRange *PortRange_STATUS) AssignProperties_To_PortRange_STATUS(destination *storage.PortRange_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // PortEnd + destination.PortEnd = genruntime.ClonePointerToInt(portRange.PortEnd) + + // PortStart + destination.PortStart = genruntime.ClonePointerToInt(portRange.PortStart) + + // Protocol + if portRange.Protocol != nil { + protocol := string(*portRange.Protocol) + destination.Protocol = &protocol + } else { + destination.Protocol = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// +kubebuilder:validation:Enum={"Running","Stopped"} +type PowerState_Code string + +const ( + PowerState_Code_Running = PowerState_Code("Running") + PowerState_Code_Stopped = PowerState_Code("Stopped") +) + +// Mapping from string to PowerState_Code +var powerState_Code_Values = map[string]PowerState_Code{ + "running": PowerState_Code_Running, + "stopped": PowerState_Code_Stopped, +} + +// Sysctl settings for Linux agent nodes. +type SysctlConfig struct { + // FsAioMaxNr: Sysctl setting fs.aio-max-nr. + FsAioMaxNr *int `json:"fsAioMaxNr,omitempty"` + + // FsFileMax: Sysctl setting fs.file-max. + FsFileMax *int `json:"fsFileMax,omitempty"` + + // FsInotifyMaxUserWatches: Sysctl setting fs.inotify.max_user_watches. + FsInotifyMaxUserWatches *int `json:"fsInotifyMaxUserWatches,omitempty"` + + // FsNrOpen: Sysctl setting fs.nr_open. + FsNrOpen *int `json:"fsNrOpen,omitempty"` + + // KernelThreadsMax: Sysctl setting kernel.threads-max. + KernelThreadsMax *int `json:"kernelThreadsMax,omitempty"` + + // NetCoreNetdevMaxBacklog: Sysctl setting net.core.netdev_max_backlog. + NetCoreNetdevMaxBacklog *int `json:"netCoreNetdevMaxBacklog,omitempty"` + + // NetCoreOptmemMax: Sysctl setting net.core.optmem_max. + NetCoreOptmemMax *int `json:"netCoreOptmemMax,omitempty"` + + // NetCoreRmemDefault: Sysctl setting net.core.rmem_default. + NetCoreRmemDefault *int `json:"netCoreRmemDefault,omitempty"` + + // NetCoreRmemMax: Sysctl setting net.core.rmem_max. + NetCoreRmemMax *int `json:"netCoreRmemMax,omitempty"` + + // NetCoreSomaxconn: Sysctl setting net.core.somaxconn. + NetCoreSomaxconn *int `json:"netCoreSomaxconn,omitempty"` + + // NetCoreWmemDefault: Sysctl setting net.core.wmem_default. + NetCoreWmemDefault *int `json:"netCoreWmemDefault,omitempty"` + + // NetCoreWmemMax: Sysctl setting net.core.wmem_max. + NetCoreWmemMax *int `json:"netCoreWmemMax,omitempty"` + + // NetIpv4IpLocalPortRange: Sysctl setting net.ipv4.ip_local_port_range. + NetIpv4IpLocalPortRange *string `json:"netIpv4IpLocalPortRange,omitempty"` + + // NetIpv4NeighDefaultGcThresh1: Sysctl setting net.ipv4.neigh.default.gc_thresh1. + NetIpv4NeighDefaultGcThresh1 *int `json:"netIpv4NeighDefaultGcThresh1,omitempty"` + + // NetIpv4NeighDefaultGcThresh2: Sysctl setting net.ipv4.neigh.default.gc_thresh2. + NetIpv4NeighDefaultGcThresh2 *int `json:"netIpv4NeighDefaultGcThresh2,omitempty"` + + // NetIpv4NeighDefaultGcThresh3: Sysctl setting net.ipv4.neigh.default.gc_thresh3. + NetIpv4NeighDefaultGcThresh3 *int `json:"netIpv4NeighDefaultGcThresh3,omitempty"` + + // NetIpv4TcpFinTimeout: Sysctl setting net.ipv4.tcp_fin_timeout. + NetIpv4TcpFinTimeout *int `json:"netIpv4TcpFinTimeout,omitempty"` + + // NetIpv4TcpKeepaliveProbes: Sysctl setting net.ipv4.tcp_keepalive_probes. + NetIpv4TcpKeepaliveProbes *int `json:"netIpv4TcpKeepaliveProbes,omitempty"` + + // NetIpv4TcpKeepaliveTime: Sysctl setting net.ipv4.tcp_keepalive_time. + NetIpv4TcpKeepaliveTime *int `json:"netIpv4TcpKeepaliveTime,omitempty"` + + // NetIpv4TcpMaxSynBacklog: Sysctl setting net.ipv4.tcp_max_syn_backlog. + NetIpv4TcpMaxSynBacklog *int `json:"netIpv4TcpMaxSynBacklog,omitempty"` + + // NetIpv4TcpMaxTwBuckets: Sysctl setting net.ipv4.tcp_max_tw_buckets. + NetIpv4TcpMaxTwBuckets *int `json:"netIpv4TcpMaxTwBuckets,omitempty"` + + // NetIpv4TcpTwReuse: Sysctl setting net.ipv4.tcp_tw_reuse. + NetIpv4TcpTwReuse *bool `json:"netIpv4TcpTwReuse,omitempty"` + + // +kubebuilder:validation:Maximum=90 + // +kubebuilder:validation:Minimum=10 + // NetIpv4TcpkeepaliveIntvl: Sysctl setting net.ipv4.tcp_keepalive_intvl. + NetIpv4TcpkeepaliveIntvl *int `json:"netIpv4TcpkeepaliveIntvl,omitempty"` + + // +kubebuilder:validation:Maximum=524288 + // +kubebuilder:validation:Minimum=65536 + // NetNetfilterNfConntrackBuckets: Sysctl setting net.netfilter.nf_conntrack_buckets. + NetNetfilterNfConntrackBuckets *int `json:"netNetfilterNfConntrackBuckets,omitempty"` + + // +kubebuilder:validation:Maximum=2097152 + // +kubebuilder:validation:Minimum=131072 + // NetNetfilterNfConntrackMax: Sysctl setting net.netfilter.nf_conntrack_max. + NetNetfilterNfConntrackMax *int `json:"netNetfilterNfConntrackMax,omitempty"` + + // VmMaxMapCount: Sysctl setting vm.max_map_count. + VmMaxMapCount *int `json:"vmMaxMapCount,omitempty"` + + // VmSwappiness: Sysctl setting vm.swappiness. + VmSwappiness *int `json:"vmSwappiness,omitempty"` + + // VmVfsCachePressure: Sysctl setting vm.vfs_cache_pressure. + VmVfsCachePressure *int `json:"vmVfsCachePressure,omitempty"` +} + +var _ genruntime.ARMTransformer = &SysctlConfig{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (config *SysctlConfig) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if config == nil { + return nil, nil + } + result := &arm.SysctlConfig{} + + // Set property "FsAioMaxNr": + if config.FsAioMaxNr != nil { + fsAioMaxNr := *config.FsAioMaxNr + result.FsAioMaxNr = &fsAioMaxNr + } + + // Set property "FsFileMax": + if config.FsFileMax != nil { + fsFileMax := *config.FsFileMax + result.FsFileMax = &fsFileMax + } + + // Set property "FsInotifyMaxUserWatches": + if config.FsInotifyMaxUserWatches != nil { + fsInotifyMaxUserWatches := *config.FsInotifyMaxUserWatches + result.FsInotifyMaxUserWatches = &fsInotifyMaxUserWatches + } + + // Set property "FsNrOpen": + if config.FsNrOpen != nil { + fsNrOpen := *config.FsNrOpen + result.FsNrOpen = &fsNrOpen + } + + // Set property "KernelThreadsMax": + if config.KernelThreadsMax != nil { + kernelThreadsMax := *config.KernelThreadsMax + result.KernelThreadsMax = &kernelThreadsMax + } + + // Set property "NetCoreNetdevMaxBacklog": + if config.NetCoreNetdevMaxBacklog != nil { + netCoreNetdevMaxBacklog := *config.NetCoreNetdevMaxBacklog + result.NetCoreNetdevMaxBacklog = &netCoreNetdevMaxBacklog + } + + // Set property "NetCoreOptmemMax": + if config.NetCoreOptmemMax != nil { + netCoreOptmemMax := *config.NetCoreOptmemMax + result.NetCoreOptmemMax = &netCoreOptmemMax + } + + // Set property "NetCoreRmemDefault": + if config.NetCoreRmemDefault != nil { + netCoreRmemDefault := *config.NetCoreRmemDefault + result.NetCoreRmemDefault = &netCoreRmemDefault + } + + // Set property "NetCoreRmemMax": + if config.NetCoreRmemMax != nil { + netCoreRmemMax := *config.NetCoreRmemMax + result.NetCoreRmemMax = &netCoreRmemMax + } + + // Set property "NetCoreSomaxconn": + if config.NetCoreSomaxconn != nil { + netCoreSomaxconn := *config.NetCoreSomaxconn + result.NetCoreSomaxconn = &netCoreSomaxconn + } + + // Set property "NetCoreWmemDefault": + if config.NetCoreWmemDefault != nil { + netCoreWmemDefault := *config.NetCoreWmemDefault + result.NetCoreWmemDefault = &netCoreWmemDefault + } + + // Set property "NetCoreWmemMax": + if config.NetCoreWmemMax != nil { + netCoreWmemMax := *config.NetCoreWmemMax + result.NetCoreWmemMax = &netCoreWmemMax + } + + // Set property "NetIpv4IpLocalPortRange": + if config.NetIpv4IpLocalPortRange != nil { + netIpv4IpLocalPortRange := *config.NetIpv4IpLocalPortRange + result.NetIpv4IpLocalPortRange = &netIpv4IpLocalPortRange + } + + // Set property "NetIpv4NeighDefaultGcThresh1": + if config.NetIpv4NeighDefaultGcThresh1 != nil { + netIpv4NeighDefaultGcThresh1 := *config.NetIpv4NeighDefaultGcThresh1 + result.NetIpv4NeighDefaultGcThresh1 = &netIpv4NeighDefaultGcThresh1 + } + + // Set property "NetIpv4NeighDefaultGcThresh2": + if config.NetIpv4NeighDefaultGcThresh2 != nil { + netIpv4NeighDefaultGcThresh2 := *config.NetIpv4NeighDefaultGcThresh2 + result.NetIpv4NeighDefaultGcThresh2 = &netIpv4NeighDefaultGcThresh2 + } + + // Set property "NetIpv4NeighDefaultGcThresh3": + if config.NetIpv4NeighDefaultGcThresh3 != nil { + netIpv4NeighDefaultGcThresh3 := *config.NetIpv4NeighDefaultGcThresh3 + result.NetIpv4NeighDefaultGcThresh3 = &netIpv4NeighDefaultGcThresh3 + } + + // Set property "NetIpv4TcpFinTimeout": + if config.NetIpv4TcpFinTimeout != nil { + netIpv4TcpFinTimeout := *config.NetIpv4TcpFinTimeout + result.NetIpv4TcpFinTimeout = &netIpv4TcpFinTimeout + } + + // Set property "NetIpv4TcpKeepaliveProbes": + if config.NetIpv4TcpKeepaliveProbes != nil { + netIpv4TcpKeepaliveProbes := *config.NetIpv4TcpKeepaliveProbes + result.NetIpv4TcpKeepaliveProbes = &netIpv4TcpKeepaliveProbes + } + + // Set property "NetIpv4TcpKeepaliveTime": + if config.NetIpv4TcpKeepaliveTime != nil { + netIpv4TcpKeepaliveTime := *config.NetIpv4TcpKeepaliveTime + result.NetIpv4TcpKeepaliveTime = &netIpv4TcpKeepaliveTime + } + + // Set property "NetIpv4TcpMaxSynBacklog": + if config.NetIpv4TcpMaxSynBacklog != nil { + netIpv4TcpMaxSynBacklog := *config.NetIpv4TcpMaxSynBacklog + result.NetIpv4TcpMaxSynBacklog = &netIpv4TcpMaxSynBacklog + } + + // Set property "NetIpv4TcpMaxTwBuckets": + if config.NetIpv4TcpMaxTwBuckets != nil { + netIpv4TcpMaxTwBuckets := *config.NetIpv4TcpMaxTwBuckets + result.NetIpv4TcpMaxTwBuckets = &netIpv4TcpMaxTwBuckets + } + + // Set property "NetIpv4TcpTwReuse": + if config.NetIpv4TcpTwReuse != nil { + netIpv4TcpTwReuse := *config.NetIpv4TcpTwReuse + result.NetIpv4TcpTwReuse = &netIpv4TcpTwReuse + } + + // Set property "NetIpv4TcpkeepaliveIntvl": + if config.NetIpv4TcpkeepaliveIntvl != nil { + netIpv4TcpkeepaliveIntvl := *config.NetIpv4TcpkeepaliveIntvl + result.NetIpv4TcpkeepaliveIntvl = &netIpv4TcpkeepaliveIntvl + } + + // Set property "NetNetfilterNfConntrackBuckets": + if config.NetNetfilterNfConntrackBuckets != nil { + netNetfilterNfConntrackBuckets := *config.NetNetfilterNfConntrackBuckets + result.NetNetfilterNfConntrackBuckets = &netNetfilterNfConntrackBuckets + } + + // Set property "NetNetfilterNfConntrackMax": + if config.NetNetfilterNfConntrackMax != nil { + netNetfilterNfConntrackMax := *config.NetNetfilterNfConntrackMax + result.NetNetfilterNfConntrackMax = &netNetfilterNfConntrackMax + } + + // Set property "VmMaxMapCount": + if config.VmMaxMapCount != nil { + vmMaxMapCount := *config.VmMaxMapCount + result.VmMaxMapCount = &vmMaxMapCount + } + + // Set property "VmSwappiness": + if config.VmSwappiness != nil { + vmSwappiness := *config.VmSwappiness + result.VmSwappiness = &vmSwappiness + } + + // Set property "VmVfsCachePressure": + if config.VmVfsCachePressure != nil { + vmVfsCachePressure := *config.VmVfsCachePressure + result.VmVfsCachePressure = &vmVfsCachePressure + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (config *SysctlConfig) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.SysctlConfig{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (config *SysctlConfig) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.SysctlConfig) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.SysctlConfig, got %T", armInput) + } + + // Set property "FsAioMaxNr": + if typedInput.FsAioMaxNr != nil { + fsAioMaxNr := *typedInput.FsAioMaxNr + config.FsAioMaxNr = &fsAioMaxNr + } + + // Set property "FsFileMax": + if typedInput.FsFileMax != nil { + fsFileMax := *typedInput.FsFileMax + config.FsFileMax = &fsFileMax + } + + // Set property "FsInotifyMaxUserWatches": + if typedInput.FsInotifyMaxUserWatches != nil { + fsInotifyMaxUserWatches := *typedInput.FsInotifyMaxUserWatches + config.FsInotifyMaxUserWatches = &fsInotifyMaxUserWatches + } + + // Set property "FsNrOpen": + if typedInput.FsNrOpen != nil { + fsNrOpen := *typedInput.FsNrOpen + config.FsNrOpen = &fsNrOpen + } + + // Set property "KernelThreadsMax": + if typedInput.KernelThreadsMax != nil { + kernelThreadsMax := *typedInput.KernelThreadsMax + config.KernelThreadsMax = &kernelThreadsMax + } + + // Set property "NetCoreNetdevMaxBacklog": + if typedInput.NetCoreNetdevMaxBacklog != nil { + netCoreNetdevMaxBacklog := *typedInput.NetCoreNetdevMaxBacklog + config.NetCoreNetdevMaxBacklog = &netCoreNetdevMaxBacklog + } + + // Set property "NetCoreOptmemMax": + if typedInput.NetCoreOptmemMax != nil { + netCoreOptmemMax := *typedInput.NetCoreOptmemMax + config.NetCoreOptmemMax = &netCoreOptmemMax + } + + // Set property "NetCoreRmemDefault": + if typedInput.NetCoreRmemDefault != nil { + netCoreRmemDefault := *typedInput.NetCoreRmemDefault + config.NetCoreRmemDefault = &netCoreRmemDefault + } + + // Set property "NetCoreRmemMax": + if typedInput.NetCoreRmemMax != nil { + netCoreRmemMax := *typedInput.NetCoreRmemMax + config.NetCoreRmemMax = &netCoreRmemMax + } + + // Set property "NetCoreSomaxconn": + if typedInput.NetCoreSomaxconn != nil { + netCoreSomaxconn := *typedInput.NetCoreSomaxconn + config.NetCoreSomaxconn = &netCoreSomaxconn + } + + // Set property "NetCoreWmemDefault": + if typedInput.NetCoreWmemDefault != nil { + netCoreWmemDefault := *typedInput.NetCoreWmemDefault + config.NetCoreWmemDefault = &netCoreWmemDefault + } + + // Set property "NetCoreWmemMax": + if typedInput.NetCoreWmemMax != nil { + netCoreWmemMax := *typedInput.NetCoreWmemMax + config.NetCoreWmemMax = &netCoreWmemMax + } + + // Set property "NetIpv4IpLocalPortRange": + if typedInput.NetIpv4IpLocalPortRange != nil { + netIpv4IpLocalPortRange := *typedInput.NetIpv4IpLocalPortRange + config.NetIpv4IpLocalPortRange = &netIpv4IpLocalPortRange + } + + // Set property "NetIpv4NeighDefaultGcThresh1": + if typedInput.NetIpv4NeighDefaultGcThresh1 != nil { + netIpv4NeighDefaultGcThresh1 := *typedInput.NetIpv4NeighDefaultGcThresh1 + config.NetIpv4NeighDefaultGcThresh1 = &netIpv4NeighDefaultGcThresh1 + } + + // Set property "NetIpv4NeighDefaultGcThresh2": + if typedInput.NetIpv4NeighDefaultGcThresh2 != nil { + netIpv4NeighDefaultGcThresh2 := *typedInput.NetIpv4NeighDefaultGcThresh2 + config.NetIpv4NeighDefaultGcThresh2 = &netIpv4NeighDefaultGcThresh2 + } + + // Set property "NetIpv4NeighDefaultGcThresh3": + if typedInput.NetIpv4NeighDefaultGcThresh3 != nil { + netIpv4NeighDefaultGcThresh3 := *typedInput.NetIpv4NeighDefaultGcThresh3 + config.NetIpv4NeighDefaultGcThresh3 = &netIpv4NeighDefaultGcThresh3 + } + + // Set property "NetIpv4TcpFinTimeout": + if typedInput.NetIpv4TcpFinTimeout != nil { + netIpv4TcpFinTimeout := *typedInput.NetIpv4TcpFinTimeout + config.NetIpv4TcpFinTimeout = &netIpv4TcpFinTimeout + } + + // Set property "NetIpv4TcpKeepaliveProbes": + if typedInput.NetIpv4TcpKeepaliveProbes != nil { + netIpv4TcpKeepaliveProbes := *typedInput.NetIpv4TcpKeepaliveProbes + config.NetIpv4TcpKeepaliveProbes = &netIpv4TcpKeepaliveProbes + } + + // Set property "NetIpv4TcpKeepaliveTime": + if typedInput.NetIpv4TcpKeepaliveTime != nil { + netIpv4TcpKeepaliveTime := *typedInput.NetIpv4TcpKeepaliveTime + config.NetIpv4TcpKeepaliveTime = &netIpv4TcpKeepaliveTime + } + + // Set property "NetIpv4TcpMaxSynBacklog": + if typedInput.NetIpv4TcpMaxSynBacklog != nil { + netIpv4TcpMaxSynBacklog := *typedInput.NetIpv4TcpMaxSynBacklog + config.NetIpv4TcpMaxSynBacklog = &netIpv4TcpMaxSynBacklog + } + + // Set property "NetIpv4TcpMaxTwBuckets": + if typedInput.NetIpv4TcpMaxTwBuckets != nil { + netIpv4TcpMaxTwBuckets := *typedInput.NetIpv4TcpMaxTwBuckets + config.NetIpv4TcpMaxTwBuckets = &netIpv4TcpMaxTwBuckets + } + + // Set property "NetIpv4TcpTwReuse": + if typedInput.NetIpv4TcpTwReuse != nil { + netIpv4TcpTwReuse := *typedInput.NetIpv4TcpTwReuse + config.NetIpv4TcpTwReuse = &netIpv4TcpTwReuse + } + + // Set property "NetIpv4TcpkeepaliveIntvl": + if typedInput.NetIpv4TcpkeepaliveIntvl != nil { + netIpv4TcpkeepaliveIntvl := *typedInput.NetIpv4TcpkeepaliveIntvl + config.NetIpv4TcpkeepaliveIntvl = &netIpv4TcpkeepaliveIntvl + } + + // Set property "NetNetfilterNfConntrackBuckets": + if typedInput.NetNetfilterNfConntrackBuckets != nil { + netNetfilterNfConntrackBuckets := *typedInput.NetNetfilterNfConntrackBuckets + config.NetNetfilterNfConntrackBuckets = &netNetfilterNfConntrackBuckets + } + + // Set property "NetNetfilterNfConntrackMax": + if typedInput.NetNetfilterNfConntrackMax != nil { + netNetfilterNfConntrackMax := *typedInput.NetNetfilterNfConntrackMax + config.NetNetfilterNfConntrackMax = &netNetfilterNfConntrackMax + } + + // Set property "VmMaxMapCount": + if typedInput.VmMaxMapCount != nil { + vmMaxMapCount := *typedInput.VmMaxMapCount + config.VmMaxMapCount = &vmMaxMapCount + } + + // Set property "VmSwappiness": + if typedInput.VmSwappiness != nil { + vmSwappiness := *typedInput.VmSwappiness + config.VmSwappiness = &vmSwappiness + } + + // Set property "VmVfsCachePressure": + if typedInput.VmVfsCachePressure != nil { + vmVfsCachePressure := *typedInput.VmVfsCachePressure + config.VmVfsCachePressure = &vmVfsCachePressure + } + + // No error + return nil +} + +// AssignProperties_From_SysctlConfig populates our SysctlConfig from the provided source SysctlConfig +func (config *SysctlConfig) AssignProperties_From_SysctlConfig(source *storage.SysctlConfig) error { + + // FsAioMaxNr + config.FsAioMaxNr = genruntime.ClonePointerToInt(source.FsAioMaxNr) + + // FsFileMax + config.FsFileMax = genruntime.ClonePointerToInt(source.FsFileMax) + + // FsInotifyMaxUserWatches + config.FsInotifyMaxUserWatches = genruntime.ClonePointerToInt(source.FsInotifyMaxUserWatches) + + // FsNrOpen + config.FsNrOpen = genruntime.ClonePointerToInt(source.FsNrOpen) + + // KernelThreadsMax + config.KernelThreadsMax = genruntime.ClonePointerToInt(source.KernelThreadsMax) + + // NetCoreNetdevMaxBacklog + config.NetCoreNetdevMaxBacklog = genruntime.ClonePointerToInt(source.NetCoreNetdevMaxBacklog) + + // NetCoreOptmemMax + config.NetCoreOptmemMax = genruntime.ClonePointerToInt(source.NetCoreOptmemMax) + + // NetCoreRmemDefault + config.NetCoreRmemDefault = genruntime.ClonePointerToInt(source.NetCoreRmemDefault) + + // NetCoreRmemMax + config.NetCoreRmemMax = genruntime.ClonePointerToInt(source.NetCoreRmemMax) + + // NetCoreSomaxconn + config.NetCoreSomaxconn = genruntime.ClonePointerToInt(source.NetCoreSomaxconn) + + // NetCoreWmemDefault + config.NetCoreWmemDefault = genruntime.ClonePointerToInt(source.NetCoreWmemDefault) + + // NetCoreWmemMax + config.NetCoreWmemMax = genruntime.ClonePointerToInt(source.NetCoreWmemMax) + + // NetIpv4IpLocalPortRange + config.NetIpv4IpLocalPortRange = genruntime.ClonePointerToString(source.NetIpv4IpLocalPortRange) + + // NetIpv4NeighDefaultGcThresh1 + config.NetIpv4NeighDefaultGcThresh1 = genruntime.ClonePointerToInt(source.NetIpv4NeighDefaultGcThresh1) + + // NetIpv4NeighDefaultGcThresh2 + config.NetIpv4NeighDefaultGcThresh2 = genruntime.ClonePointerToInt(source.NetIpv4NeighDefaultGcThresh2) + + // NetIpv4NeighDefaultGcThresh3 + config.NetIpv4NeighDefaultGcThresh3 = genruntime.ClonePointerToInt(source.NetIpv4NeighDefaultGcThresh3) + + // NetIpv4TcpFinTimeout + config.NetIpv4TcpFinTimeout = genruntime.ClonePointerToInt(source.NetIpv4TcpFinTimeout) + + // NetIpv4TcpKeepaliveProbes + config.NetIpv4TcpKeepaliveProbes = genruntime.ClonePointerToInt(source.NetIpv4TcpKeepaliveProbes) + + // NetIpv4TcpKeepaliveTime + config.NetIpv4TcpKeepaliveTime = genruntime.ClonePointerToInt(source.NetIpv4TcpKeepaliveTime) + + // NetIpv4TcpMaxSynBacklog + config.NetIpv4TcpMaxSynBacklog = genruntime.ClonePointerToInt(source.NetIpv4TcpMaxSynBacklog) + + // NetIpv4TcpMaxTwBuckets + config.NetIpv4TcpMaxTwBuckets = genruntime.ClonePointerToInt(source.NetIpv4TcpMaxTwBuckets) + + // NetIpv4TcpTwReuse + if source.NetIpv4TcpTwReuse != nil { + netIpv4TcpTwReuse := *source.NetIpv4TcpTwReuse + config.NetIpv4TcpTwReuse = &netIpv4TcpTwReuse + } else { + config.NetIpv4TcpTwReuse = nil + } + + // NetIpv4TcpkeepaliveIntvl + if source.NetIpv4TcpkeepaliveIntvl != nil { + netIpv4TcpkeepaliveIntvl := *source.NetIpv4TcpkeepaliveIntvl + config.NetIpv4TcpkeepaliveIntvl = &netIpv4TcpkeepaliveIntvl + } else { + config.NetIpv4TcpkeepaliveIntvl = nil + } + + // NetNetfilterNfConntrackBuckets + if source.NetNetfilterNfConntrackBuckets != nil { + netNetfilterNfConntrackBucket := *source.NetNetfilterNfConntrackBuckets + config.NetNetfilterNfConntrackBuckets = &netNetfilterNfConntrackBucket + } else { + config.NetNetfilterNfConntrackBuckets = nil + } + + // NetNetfilterNfConntrackMax + if source.NetNetfilterNfConntrackMax != nil { + netNetfilterNfConntrackMax := *source.NetNetfilterNfConntrackMax + config.NetNetfilterNfConntrackMax = &netNetfilterNfConntrackMax + } else { + config.NetNetfilterNfConntrackMax = nil + } + + // VmMaxMapCount + config.VmMaxMapCount = genruntime.ClonePointerToInt(source.VmMaxMapCount) + + // VmSwappiness + config.VmSwappiness = genruntime.ClonePointerToInt(source.VmSwappiness) + + // VmVfsCachePressure + config.VmVfsCachePressure = genruntime.ClonePointerToInt(source.VmVfsCachePressure) + + // No error + return nil +} + +// AssignProperties_To_SysctlConfig populates the provided destination SysctlConfig from our SysctlConfig +func (config *SysctlConfig) AssignProperties_To_SysctlConfig(destination *storage.SysctlConfig) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // FsAioMaxNr + destination.FsAioMaxNr = genruntime.ClonePointerToInt(config.FsAioMaxNr) + + // FsFileMax + destination.FsFileMax = genruntime.ClonePointerToInt(config.FsFileMax) + + // FsInotifyMaxUserWatches + destination.FsInotifyMaxUserWatches = genruntime.ClonePointerToInt(config.FsInotifyMaxUserWatches) + + // FsNrOpen + destination.FsNrOpen = genruntime.ClonePointerToInt(config.FsNrOpen) + + // KernelThreadsMax + destination.KernelThreadsMax = genruntime.ClonePointerToInt(config.KernelThreadsMax) + + // NetCoreNetdevMaxBacklog + destination.NetCoreNetdevMaxBacklog = genruntime.ClonePointerToInt(config.NetCoreNetdevMaxBacklog) + + // NetCoreOptmemMax + destination.NetCoreOptmemMax = genruntime.ClonePointerToInt(config.NetCoreOptmemMax) + + // NetCoreRmemDefault + destination.NetCoreRmemDefault = genruntime.ClonePointerToInt(config.NetCoreRmemDefault) + + // NetCoreRmemMax + destination.NetCoreRmemMax = genruntime.ClonePointerToInt(config.NetCoreRmemMax) + + // NetCoreSomaxconn + destination.NetCoreSomaxconn = genruntime.ClonePointerToInt(config.NetCoreSomaxconn) + + // NetCoreWmemDefault + destination.NetCoreWmemDefault = genruntime.ClonePointerToInt(config.NetCoreWmemDefault) + + // NetCoreWmemMax + destination.NetCoreWmemMax = genruntime.ClonePointerToInt(config.NetCoreWmemMax) + + // NetIpv4IpLocalPortRange + destination.NetIpv4IpLocalPortRange = genruntime.ClonePointerToString(config.NetIpv4IpLocalPortRange) + + // NetIpv4NeighDefaultGcThresh1 + destination.NetIpv4NeighDefaultGcThresh1 = genruntime.ClonePointerToInt(config.NetIpv4NeighDefaultGcThresh1) + + // NetIpv4NeighDefaultGcThresh2 + destination.NetIpv4NeighDefaultGcThresh2 = genruntime.ClonePointerToInt(config.NetIpv4NeighDefaultGcThresh2) + + // NetIpv4NeighDefaultGcThresh3 + destination.NetIpv4NeighDefaultGcThresh3 = genruntime.ClonePointerToInt(config.NetIpv4NeighDefaultGcThresh3) + + // NetIpv4TcpFinTimeout + destination.NetIpv4TcpFinTimeout = genruntime.ClonePointerToInt(config.NetIpv4TcpFinTimeout) + + // NetIpv4TcpKeepaliveProbes + destination.NetIpv4TcpKeepaliveProbes = genruntime.ClonePointerToInt(config.NetIpv4TcpKeepaliveProbes) + + // NetIpv4TcpKeepaliveTime + destination.NetIpv4TcpKeepaliveTime = genruntime.ClonePointerToInt(config.NetIpv4TcpKeepaliveTime) + + // NetIpv4TcpMaxSynBacklog + destination.NetIpv4TcpMaxSynBacklog = genruntime.ClonePointerToInt(config.NetIpv4TcpMaxSynBacklog) + + // NetIpv4TcpMaxTwBuckets + destination.NetIpv4TcpMaxTwBuckets = genruntime.ClonePointerToInt(config.NetIpv4TcpMaxTwBuckets) + + // NetIpv4TcpTwReuse + if config.NetIpv4TcpTwReuse != nil { + netIpv4TcpTwReuse := *config.NetIpv4TcpTwReuse + destination.NetIpv4TcpTwReuse = &netIpv4TcpTwReuse + } else { + destination.NetIpv4TcpTwReuse = nil + } + + // NetIpv4TcpkeepaliveIntvl + if config.NetIpv4TcpkeepaliveIntvl != nil { + netIpv4TcpkeepaliveIntvl := *config.NetIpv4TcpkeepaliveIntvl + destination.NetIpv4TcpkeepaliveIntvl = &netIpv4TcpkeepaliveIntvl + } else { + destination.NetIpv4TcpkeepaliveIntvl = nil + } + + // NetNetfilterNfConntrackBuckets + if config.NetNetfilterNfConntrackBuckets != nil { + netNetfilterNfConntrackBucket := *config.NetNetfilterNfConntrackBuckets + destination.NetNetfilterNfConntrackBuckets = &netNetfilterNfConntrackBucket + } else { + destination.NetNetfilterNfConntrackBuckets = nil + } + + // NetNetfilterNfConntrackMax + if config.NetNetfilterNfConntrackMax != nil { + netNetfilterNfConntrackMax := *config.NetNetfilterNfConntrackMax + destination.NetNetfilterNfConntrackMax = &netNetfilterNfConntrackMax + } else { + destination.NetNetfilterNfConntrackMax = nil + } + + // VmMaxMapCount + destination.VmMaxMapCount = genruntime.ClonePointerToInt(config.VmMaxMapCount) + + // VmSwappiness + destination.VmSwappiness = genruntime.ClonePointerToInt(config.VmSwappiness) + + // VmVfsCachePressure + destination.VmVfsCachePressure = genruntime.ClonePointerToInt(config.VmVfsCachePressure) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_SysctlConfig_STATUS populates our SysctlConfig from the provided source SysctlConfig_STATUS +func (config *SysctlConfig) Initialize_From_SysctlConfig_STATUS(source *SysctlConfig_STATUS) error { + + // FsAioMaxNr + config.FsAioMaxNr = genruntime.ClonePointerToInt(source.FsAioMaxNr) + + // FsFileMax + config.FsFileMax = genruntime.ClonePointerToInt(source.FsFileMax) + + // FsInotifyMaxUserWatches + config.FsInotifyMaxUserWatches = genruntime.ClonePointerToInt(source.FsInotifyMaxUserWatches) + + // FsNrOpen + config.FsNrOpen = genruntime.ClonePointerToInt(source.FsNrOpen) + + // KernelThreadsMax + config.KernelThreadsMax = genruntime.ClonePointerToInt(source.KernelThreadsMax) + + // NetCoreNetdevMaxBacklog + config.NetCoreNetdevMaxBacklog = genruntime.ClonePointerToInt(source.NetCoreNetdevMaxBacklog) + + // NetCoreOptmemMax + config.NetCoreOptmemMax = genruntime.ClonePointerToInt(source.NetCoreOptmemMax) + + // NetCoreRmemDefault + config.NetCoreRmemDefault = genruntime.ClonePointerToInt(source.NetCoreRmemDefault) + + // NetCoreRmemMax + config.NetCoreRmemMax = genruntime.ClonePointerToInt(source.NetCoreRmemMax) + + // NetCoreSomaxconn + config.NetCoreSomaxconn = genruntime.ClonePointerToInt(source.NetCoreSomaxconn) + + // NetCoreWmemDefault + config.NetCoreWmemDefault = genruntime.ClonePointerToInt(source.NetCoreWmemDefault) + + // NetCoreWmemMax + config.NetCoreWmemMax = genruntime.ClonePointerToInt(source.NetCoreWmemMax) + + // NetIpv4IpLocalPortRange + config.NetIpv4IpLocalPortRange = genruntime.ClonePointerToString(source.NetIpv4IpLocalPortRange) + + // NetIpv4NeighDefaultGcThresh1 + config.NetIpv4NeighDefaultGcThresh1 = genruntime.ClonePointerToInt(source.NetIpv4NeighDefaultGcThresh1) + + // NetIpv4NeighDefaultGcThresh2 + config.NetIpv4NeighDefaultGcThresh2 = genruntime.ClonePointerToInt(source.NetIpv4NeighDefaultGcThresh2) + + // NetIpv4NeighDefaultGcThresh3 + config.NetIpv4NeighDefaultGcThresh3 = genruntime.ClonePointerToInt(source.NetIpv4NeighDefaultGcThresh3) + + // NetIpv4TcpFinTimeout + config.NetIpv4TcpFinTimeout = genruntime.ClonePointerToInt(source.NetIpv4TcpFinTimeout) + + // NetIpv4TcpKeepaliveProbes + config.NetIpv4TcpKeepaliveProbes = genruntime.ClonePointerToInt(source.NetIpv4TcpKeepaliveProbes) + + // NetIpv4TcpKeepaliveTime + config.NetIpv4TcpKeepaliveTime = genruntime.ClonePointerToInt(source.NetIpv4TcpKeepaliveTime) + + // NetIpv4TcpMaxSynBacklog + config.NetIpv4TcpMaxSynBacklog = genruntime.ClonePointerToInt(source.NetIpv4TcpMaxSynBacklog) + + // NetIpv4TcpMaxTwBuckets + config.NetIpv4TcpMaxTwBuckets = genruntime.ClonePointerToInt(source.NetIpv4TcpMaxTwBuckets) + + // NetIpv4TcpTwReuse + if source.NetIpv4TcpTwReuse != nil { + netIpv4TcpTwReuse := *source.NetIpv4TcpTwReuse + config.NetIpv4TcpTwReuse = &netIpv4TcpTwReuse + } else { + config.NetIpv4TcpTwReuse = nil + } + + // NetIpv4TcpkeepaliveIntvl + if source.NetIpv4TcpkeepaliveIntvl != nil { + netIpv4TcpkeepaliveIntvl := *source.NetIpv4TcpkeepaliveIntvl + config.NetIpv4TcpkeepaliveIntvl = &netIpv4TcpkeepaliveIntvl + } else { + config.NetIpv4TcpkeepaliveIntvl = nil + } + + // NetNetfilterNfConntrackBuckets + if source.NetNetfilterNfConntrackBuckets != nil { + netNetfilterNfConntrackBucket := *source.NetNetfilterNfConntrackBuckets + config.NetNetfilterNfConntrackBuckets = &netNetfilterNfConntrackBucket + } else { + config.NetNetfilterNfConntrackBuckets = nil + } + + // NetNetfilterNfConntrackMax + if source.NetNetfilterNfConntrackMax != nil { + netNetfilterNfConntrackMax := *source.NetNetfilterNfConntrackMax + config.NetNetfilterNfConntrackMax = &netNetfilterNfConntrackMax + } else { + config.NetNetfilterNfConntrackMax = nil + } + + // VmMaxMapCount + config.VmMaxMapCount = genruntime.ClonePointerToInt(source.VmMaxMapCount) + + // VmSwappiness + config.VmSwappiness = genruntime.ClonePointerToInt(source.VmSwappiness) + + // VmVfsCachePressure + config.VmVfsCachePressure = genruntime.ClonePointerToInt(source.VmVfsCachePressure) + + // No error + return nil +} + +// Sysctl settings for Linux agent nodes. +type SysctlConfig_STATUS struct { + // FsAioMaxNr: Sysctl setting fs.aio-max-nr. + FsAioMaxNr *int `json:"fsAioMaxNr,omitempty"` + + // FsFileMax: Sysctl setting fs.file-max. + FsFileMax *int `json:"fsFileMax,omitempty"` + + // FsInotifyMaxUserWatches: Sysctl setting fs.inotify.max_user_watches. + FsInotifyMaxUserWatches *int `json:"fsInotifyMaxUserWatches,omitempty"` + + // FsNrOpen: Sysctl setting fs.nr_open. + FsNrOpen *int `json:"fsNrOpen,omitempty"` + + // KernelThreadsMax: Sysctl setting kernel.threads-max. + KernelThreadsMax *int `json:"kernelThreadsMax,omitempty"` + + // NetCoreNetdevMaxBacklog: Sysctl setting net.core.netdev_max_backlog. + NetCoreNetdevMaxBacklog *int `json:"netCoreNetdevMaxBacklog,omitempty"` + + // NetCoreOptmemMax: Sysctl setting net.core.optmem_max. + NetCoreOptmemMax *int `json:"netCoreOptmemMax,omitempty"` + + // NetCoreRmemDefault: Sysctl setting net.core.rmem_default. + NetCoreRmemDefault *int `json:"netCoreRmemDefault,omitempty"` + + // NetCoreRmemMax: Sysctl setting net.core.rmem_max. + NetCoreRmemMax *int `json:"netCoreRmemMax,omitempty"` + + // NetCoreSomaxconn: Sysctl setting net.core.somaxconn. + NetCoreSomaxconn *int `json:"netCoreSomaxconn,omitempty"` + + // NetCoreWmemDefault: Sysctl setting net.core.wmem_default. + NetCoreWmemDefault *int `json:"netCoreWmemDefault,omitempty"` + + // NetCoreWmemMax: Sysctl setting net.core.wmem_max. + NetCoreWmemMax *int `json:"netCoreWmemMax,omitempty"` + + // NetIpv4IpLocalPortRange: Sysctl setting net.ipv4.ip_local_port_range. + NetIpv4IpLocalPortRange *string `json:"netIpv4IpLocalPortRange,omitempty"` + + // NetIpv4NeighDefaultGcThresh1: Sysctl setting net.ipv4.neigh.default.gc_thresh1. + NetIpv4NeighDefaultGcThresh1 *int `json:"netIpv4NeighDefaultGcThresh1,omitempty"` + + // NetIpv4NeighDefaultGcThresh2: Sysctl setting net.ipv4.neigh.default.gc_thresh2. + NetIpv4NeighDefaultGcThresh2 *int `json:"netIpv4NeighDefaultGcThresh2,omitempty"` + + // NetIpv4NeighDefaultGcThresh3: Sysctl setting net.ipv4.neigh.default.gc_thresh3. + NetIpv4NeighDefaultGcThresh3 *int `json:"netIpv4NeighDefaultGcThresh3,omitempty"` + + // NetIpv4TcpFinTimeout: Sysctl setting net.ipv4.tcp_fin_timeout. + NetIpv4TcpFinTimeout *int `json:"netIpv4TcpFinTimeout,omitempty"` + + // NetIpv4TcpKeepaliveProbes: Sysctl setting net.ipv4.tcp_keepalive_probes. + NetIpv4TcpKeepaliveProbes *int `json:"netIpv4TcpKeepaliveProbes,omitempty"` + + // NetIpv4TcpKeepaliveTime: Sysctl setting net.ipv4.tcp_keepalive_time. + NetIpv4TcpKeepaliveTime *int `json:"netIpv4TcpKeepaliveTime,omitempty"` + + // NetIpv4TcpMaxSynBacklog: Sysctl setting net.ipv4.tcp_max_syn_backlog. + NetIpv4TcpMaxSynBacklog *int `json:"netIpv4TcpMaxSynBacklog,omitempty"` + + // NetIpv4TcpMaxTwBuckets: Sysctl setting net.ipv4.tcp_max_tw_buckets. + NetIpv4TcpMaxTwBuckets *int `json:"netIpv4TcpMaxTwBuckets,omitempty"` + + // NetIpv4TcpTwReuse: Sysctl setting net.ipv4.tcp_tw_reuse. + NetIpv4TcpTwReuse *bool `json:"netIpv4TcpTwReuse,omitempty"` + + // NetIpv4TcpkeepaliveIntvl: Sysctl setting net.ipv4.tcp_keepalive_intvl. + NetIpv4TcpkeepaliveIntvl *int `json:"netIpv4TcpkeepaliveIntvl,omitempty"` + + // NetNetfilterNfConntrackBuckets: Sysctl setting net.netfilter.nf_conntrack_buckets. + NetNetfilterNfConntrackBuckets *int `json:"netNetfilterNfConntrackBuckets,omitempty"` + + // NetNetfilterNfConntrackMax: Sysctl setting net.netfilter.nf_conntrack_max. + NetNetfilterNfConntrackMax *int `json:"netNetfilterNfConntrackMax,omitempty"` + + // VmMaxMapCount: Sysctl setting vm.max_map_count. + VmMaxMapCount *int `json:"vmMaxMapCount,omitempty"` + + // VmSwappiness: Sysctl setting vm.swappiness. + VmSwappiness *int `json:"vmSwappiness,omitempty"` + + // VmVfsCachePressure: Sysctl setting vm.vfs_cache_pressure. + VmVfsCachePressure *int `json:"vmVfsCachePressure,omitempty"` +} + +var _ genruntime.FromARMConverter = &SysctlConfig_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (config *SysctlConfig_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.SysctlConfig_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (config *SysctlConfig_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.SysctlConfig_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.SysctlConfig_STATUS, got %T", armInput) + } + + // Set property "FsAioMaxNr": + if typedInput.FsAioMaxNr != nil { + fsAioMaxNr := *typedInput.FsAioMaxNr + config.FsAioMaxNr = &fsAioMaxNr + } + + // Set property "FsFileMax": + if typedInput.FsFileMax != nil { + fsFileMax := *typedInput.FsFileMax + config.FsFileMax = &fsFileMax + } + + // Set property "FsInotifyMaxUserWatches": + if typedInput.FsInotifyMaxUserWatches != nil { + fsInotifyMaxUserWatches := *typedInput.FsInotifyMaxUserWatches + config.FsInotifyMaxUserWatches = &fsInotifyMaxUserWatches + } + + // Set property "FsNrOpen": + if typedInput.FsNrOpen != nil { + fsNrOpen := *typedInput.FsNrOpen + config.FsNrOpen = &fsNrOpen + } + + // Set property "KernelThreadsMax": + if typedInput.KernelThreadsMax != nil { + kernelThreadsMax := *typedInput.KernelThreadsMax + config.KernelThreadsMax = &kernelThreadsMax + } + + // Set property "NetCoreNetdevMaxBacklog": + if typedInput.NetCoreNetdevMaxBacklog != nil { + netCoreNetdevMaxBacklog := *typedInput.NetCoreNetdevMaxBacklog + config.NetCoreNetdevMaxBacklog = &netCoreNetdevMaxBacklog + } + + // Set property "NetCoreOptmemMax": + if typedInput.NetCoreOptmemMax != nil { + netCoreOptmemMax := *typedInput.NetCoreOptmemMax + config.NetCoreOptmemMax = &netCoreOptmemMax + } + + // Set property "NetCoreRmemDefault": + if typedInput.NetCoreRmemDefault != nil { + netCoreRmemDefault := *typedInput.NetCoreRmemDefault + config.NetCoreRmemDefault = &netCoreRmemDefault + } + + // Set property "NetCoreRmemMax": + if typedInput.NetCoreRmemMax != nil { + netCoreRmemMax := *typedInput.NetCoreRmemMax + config.NetCoreRmemMax = &netCoreRmemMax + } + + // Set property "NetCoreSomaxconn": + if typedInput.NetCoreSomaxconn != nil { + netCoreSomaxconn := *typedInput.NetCoreSomaxconn + config.NetCoreSomaxconn = &netCoreSomaxconn + } + + // Set property "NetCoreWmemDefault": + if typedInput.NetCoreWmemDefault != nil { + netCoreWmemDefault := *typedInput.NetCoreWmemDefault + config.NetCoreWmemDefault = &netCoreWmemDefault + } + + // Set property "NetCoreWmemMax": + if typedInput.NetCoreWmemMax != nil { + netCoreWmemMax := *typedInput.NetCoreWmemMax + config.NetCoreWmemMax = &netCoreWmemMax + } + + // Set property "NetIpv4IpLocalPortRange": + if typedInput.NetIpv4IpLocalPortRange != nil { + netIpv4IpLocalPortRange := *typedInput.NetIpv4IpLocalPortRange + config.NetIpv4IpLocalPortRange = &netIpv4IpLocalPortRange + } + + // Set property "NetIpv4NeighDefaultGcThresh1": + if typedInput.NetIpv4NeighDefaultGcThresh1 != nil { + netIpv4NeighDefaultGcThresh1 := *typedInput.NetIpv4NeighDefaultGcThresh1 + config.NetIpv4NeighDefaultGcThresh1 = &netIpv4NeighDefaultGcThresh1 + } + + // Set property "NetIpv4NeighDefaultGcThresh2": + if typedInput.NetIpv4NeighDefaultGcThresh2 != nil { + netIpv4NeighDefaultGcThresh2 := *typedInput.NetIpv4NeighDefaultGcThresh2 + config.NetIpv4NeighDefaultGcThresh2 = &netIpv4NeighDefaultGcThresh2 + } + + // Set property "NetIpv4NeighDefaultGcThresh3": + if typedInput.NetIpv4NeighDefaultGcThresh3 != nil { + netIpv4NeighDefaultGcThresh3 := *typedInput.NetIpv4NeighDefaultGcThresh3 + config.NetIpv4NeighDefaultGcThresh3 = &netIpv4NeighDefaultGcThresh3 + } + + // Set property "NetIpv4TcpFinTimeout": + if typedInput.NetIpv4TcpFinTimeout != nil { + netIpv4TcpFinTimeout := *typedInput.NetIpv4TcpFinTimeout + config.NetIpv4TcpFinTimeout = &netIpv4TcpFinTimeout + } + + // Set property "NetIpv4TcpKeepaliveProbes": + if typedInput.NetIpv4TcpKeepaliveProbes != nil { + netIpv4TcpKeepaliveProbes := *typedInput.NetIpv4TcpKeepaliveProbes + config.NetIpv4TcpKeepaliveProbes = &netIpv4TcpKeepaliveProbes + } + + // Set property "NetIpv4TcpKeepaliveTime": + if typedInput.NetIpv4TcpKeepaliveTime != nil { + netIpv4TcpKeepaliveTime := *typedInput.NetIpv4TcpKeepaliveTime + config.NetIpv4TcpKeepaliveTime = &netIpv4TcpKeepaliveTime + } + + // Set property "NetIpv4TcpMaxSynBacklog": + if typedInput.NetIpv4TcpMaxSynBacklog != nil { + netIpv4TcpMaxSynBacklog := *typedInput.NetIpv4TcpMaxSynBacklog + config.NetIpv4TcpMaxSynBacklog = &netIpv4TcpMaxSynBacklog + } + + // Set property "NetIpv4TcpMaxTwBuckets": + if typedInput.NetIpv4TcpMaxTwBuckets != nil { + netIpv4TcpMaxTwBuckets := *typedInput.NetIpv4TcpMaxTwBuckets + config.NetIpv4TcpMaxTwBuckets = &netIpv4TcpMaxTwBuckets + } + + // Set property "NetIpv4TcpTwReuse": + if typedInput.NetIpv4TcpTwReuse != nil { + netIpv4TcpTwReuse := *typedInput.NetIpv4TcpTwReuse + config.NetIpv4TcpTwReuse = &netIpv4TcpTwReuse + } + + // Set property "NetIpv4TcpkeepaliveIntvl": + if typedInput.NetIpv4TcpkeepaliveIntvl != nil { + netIpv4TcpkeepaliveIntvl := *typedInput.NetIpv4TcpkeepaliveIntvl + config.NetIpv4TcpkeepaliveIntvl = &netIpv4TcpkeepaliveIntvl + } + + // Set property "NetNetfilterNfConntrackBuckets": + if typedInput.NetNetfilterNfConntrackBuckets != nil { + netNetfilterNfConntrackBuckets := *typedInput.NetNetfilterNfConntrackBuckets + config.NetNetfilterNfConntrackBuckets = &netNetfilterNfConntrackBuckets + } + + // Set property "NetNetfilterNfConntrackMax": + if typedInput.NetNetfilterNfConntrackMax != nil { + netNetfilterNfConntrackMax := *typedInput.NetNetfilterNfConntrackMax + config.NetNetfilterNfConntrackMax = &netNetfilterNfConntrackMax + } + + // Set property "VmMaxMapCount": + if typedInput.VmMaxMapCount != nil { + vmMaxMapCount := *typedInput.VmMaxMapCount + config.VmMaxMapCount = &vmMaxMapCount + } + + // Set property "VmSwappiness": + if typedInput.VmSwappiness != nil { + vmSwappiness := *typedInput.VmSwappiness + config.VmSwappiness = &vmSwappiness + } + + // Set property "VmVfsCachePressure": + if typedInput.VmVfsCachePressure != nil { + vmVfsCachePressure := *typedInput.VmVfsCachePressure + config.VmVfsCachePressure = &vmVfsCachePressure + } + + // No error + return nil +} + +// AssignProperties_From_SysctlConfig_STATUS populates our SysctlConfig_STATUS from the provided source SysctlConfig_STATUS +func (config *SysctlConfig_STATUS) AssignProperties_From_SysctlConfig_STATUS(source *storage.SysctlConfig_STATUS) error { + + // FsAioMaxNr + config.FsAioMaxNr = genruntime.ClonePointerToInt(source.FsAioMaxNr) + + // FsFileMax + config.FsFileMax = genruntime.ClonePointerToInt(source.FsFileMax) + + // FsInotifyMaxUserWatches + config.FsInotifyMaxUserWatches = genruntime.ClonePointerToInt(source.FsInotifyMaxUserWatches) + + // FsNrOpen + config.FsNrOpen = genruntime.ClonePointerToInt(source.FsNrOpen) + + // KernelThreadsMax + config.KernelThreadsMax = genruntime.ClonePointerToInt(source.KernelThreadsMax) + + // NetCoreNetdevMaxBacklog + config.NetCoreNetdevMaxBacklog = genruntime.ClonePointerToInt(source.NetCoreNetdevMaxBacklog) + + // NetCoreOptmemMax + config.NetCoreOptmemMax = genruntime.ClonePointerToInt(source.NetCoreOptmemMax) + + // NetCoreRmemDefault + config.NetCoreRmemDefault = genruntime.ClonePointerToInt(source.NetCoreRmemDefault) + + // NetCoreRmemMax + config.NetCoreRmemMax = genruntime.ClonePointerToInt(source.NetCoreRmemMax) + + // NetCoreSomaxconn + config.NetCoreSomaxconn = genruntime.ClonePointerToInt(source.NetCoreSomaxconn) + + // NetCoreWmemDefault + config.NetCoreWmemDefault = genruntime.ClonePointerToInt(source.NetCoreWmemDefault) + + // NetCoreWmemMax + config.NetCoreWmemMax = genruntime.ClonePointerToInt(source.NetCoreWmemMax) + + // NetIpv4IpLocalPortRange + config.NetIpv4IpLocalPortRange = genruntime.ClonePointerToString(source.NetIpv4IpLocalPortRange) + + // NetIpv4NeighDefaultGcThresh1 + config.NetIpv4NeighDefaultGcThresh1 = genruntime.ClonePointerToInt(source.NetIpv4NeighDefaultGcThresh1) + + // NetIpv4NeighDefaultGcThresh2 + config.NetIpv4NeighDefaultGcThresh2 = genruntime.ClonePointerToInt(source.NetIpv4NeighDefaultGcThresh2) + + // NetIpv4NeighDefaultGcThresh3 + config.NetIpv4NeighDefaultGcThresh3 = genruntime.ClonePointerToInt(source.NetIpv4NeighDefaultGcThresh3) + + // NetIpv4TcpFinTimeout + config.NetIpv4TcpFinTimeout = genruntime.ClonePointerToInt(source.NetIpv4TcpFinTimeout) + + // NetIpv4TcpKeepaliveProbes + config.NetIpv4TcpKeepaliveProbes = genruntime.ClonePointerToInt(source.NetIpv4TcpKeepaliveProbes) + + // NetIpv4TcpKeepaliveTime + config.NetIpv4TcpKeepaliveTime = genruntime.ClonePointerToInt(source.NetIpv4TcpKeepaliveTime) + + // NetIpv4TcpMaxSynBacklog + config.NetIpv4TcpMaxSynBacklog = genruntime.ClonePointerToInt(source.NetIpv4TcpMaxSynBacklog) + + // NetIpv4TcpMaxTwBuckets + config.NetIpv4TcpMaxTwBuckets = genruntime.ClonePointerToInt(source.NetIpv4TcpMaxTwBuckets) + + // NetIpv4TcpTwReuse + if source.NetIpv4TcpTwReuse != nil { + netIpv4TcpTwReuse := *source.NetIpv4TcpTwReuse + config.NetIpv4TcpTwReuse = &netIpv4TcpTwReuse + } else { + config.NetIpv4TcpTwReuse = nil + } + + // NetIpv4TcpkeepaliveIntvl + config.NetIpv4TcpkeepaliveIntvl = genruntime.ClonePointerToInt(source.NetIpv4TcpkeepaliveIntvl) + + // NetNetfilterNfConntrackBuckets + config.NetNetfilterNfConntrackBuckets = genruntime.ClonePointerToInt(source.NetNetfilterNfConntrackBuckets) + + // NetNetfilterNfConntrackMax + config.NetNetfilterNfConntrackMax = genruntime.ClonePointerToInt(source.NetNetfilterNfConntrackMax) + + // VmMaxMapCount + config.VmMaxMapCount = genruntime.ClonePointerToInt(source.VmMaxMapCount) + + // VmSwappiness + config.VmSwappiness = genruntime.ClonePointerToInt(source.VmSwappiness) + + // VmVfsCachePressure + config.VmVfsCachePressure = genruntime.ClonePointerToInt(source.VmVfsCachePressure) + + // No error + return nil +} + +// AssignProperties_To_SysctlConfig_STATUS populates the provided destination SysctlConfig_STATUS from our SysctlConfig_STATUS +func (config *SysctlConfig_STATUS) AssignProperties_To_SysctlConfig_STATUS(destination *storage.SysctlConfig_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // FsAioMaxNr + destination.FsAioMaxNr = genruntime.ClonePointerToInt(config.FsAioMaxNr) + + // FsFileMax + destination.FsFileMax = genruntime.ClonePointerToInt(config.FsFileMax) + + // FsInotifyMaxUserWatches + destination.FsInotifyMaxUserWatches = genruntime.ClonePointerToInt(config.FsInotifyMaxUserWatches) + + // FsNrOpen + destination.FsNrOpen = genruntime.ClonePointerToInt(config.FsNrOpen) + + // KernelThreadsMax + destination.KernelThreadsMax = genruntime.ClonePointerToInt(config.KernelThreadsMax) + + // NetCoreNetdevMaxBacklog + destination.NetCoreNetdevMaxBacklog = genruntime.ClonePointerToInt(config.NetCoreNetdevMaxBacklog) + + // NetCoreOptmemMax + destination.NetCoreOptmemMax = genruntime.ClonePointerToInt(config.NetCoreOptmemMax) + + // NetCoreRmemDefault + destination.NetCoreRmemDefault = genruntime.ClonePointerToInt(config.NetCoreRmemDefault) + + // NetCoreRmemMax + destination.NetCoreRmemMax = genruntime.ClonePointerToInt(config.NetCoreRmemMax) + + // NetCoreSomaxconn + destination.NetCoreSomaxconn = genruntime.ClonePointerToInt(config.NetCoreSomaxconn) + + // NetCoreWmemDefault + destination.NetCoreWmemDefault = genruntime.ClonePointerToInt(config.NetCoreWmemDefault) + + // NetCoreWmemMax + destination.NetCoreWmemMax = genruntime.ClonePointerToInt(config.NetCoreWmemMax) + + // NetIpv4IpLocalPortRange + destination.NetIpv4IpLocalPortRange = genruntime.ClonePointerToString(config.NetIpv4IpLocalPortRange) + + // NetIpv4NeighDefaultGcThresh1 + destination.NetIpv4NeighDefaultGcThresh1 = genruntime.ClonePointerToInt(config.NetIpv4NeighDefaultGcThresh1) + + // NetIpv4NeighDefaultGcThresh2 + destination.NetIpv4NeighDefaultGcThresh2 = genruntime.ClonePointerToInt(config.NetIpv4NeighDefaultGcThresh2) + + // NetIpv4NeighDefaultGcThresh3 + destination.NetIpv4NeighDefaultGcThresh3 = genruntime.ClonePointerToInt(config.NetIpv4NeighDefaultGcThresh3) + + // NetIpv4TcpFinTimeout + destination.NetIpv4TcpFinTimeout = genruntime.ClonePointerToInt(config.NetIpv4TcpFinTimeout) + + // NetIpv4TcpKeepaliveProbes + destination.NetIpv4TcpKeepaliveProbes = genruntime.ClonePointerToInt(config.NetIpv4TcpKeepaliveProbes) + + // NetIpv4TcpKeepaliveTime + destination.NetIpv4TcpKeepaliveTime = genruntime.ClonePointerToInt(config.NetIpv4TcpKeepaliveTime) + + // NetIpv4TcpMaxSynBacklog + destination.NetIpv4TcpMaxSynBacklog = genruntime.ClonePointerToInt(config.NetIpv4TcpMaxSynBacklog) + + // NetIpv4TcpMaxTwBuckets + destination.NetIpv4TcpMaxTwBuckets = genruntime.ClonePointerToInt(config.NetIpv4TcpMaxTwBuckets) + + // NetIpv4TcpTwReuse + if config.NetIpv4TcpTwReuse != nil { + netIpv4TcpTwReuse := *config.NetIpv4TcpTwReuse + destination.NetIpv4TcpTwReuse = &netIpv4TcpTwReuse + } else { + destination.NetIpv4TcpTwReuse = nil + } + + // NetIpv4TcpkeepaliveIntvl + destination.NetIpv4TcpkeepaliveIntvl = genruntime.ClonePointerToInt(config.NetIpv4TcpkeepaliveIntvl) + + // NetNetfilterNfConntrackBuckets + destination.NetNetfilterNfConntrackBuckets = genruntime.ClonePointerToInt(config.NetNetfilterNfConntrackBuckets) + + // NetNetfilterNfConntrackMax + destination.NetNetfilterNfConntrackMax = genruntime.ClonePointerToInt(config.NetNetfilterNfConntrackMax) + + // VmMaxMapCount + destination.VmMaxMapCount = genruntime.ClonePointerToInt(config.VmMaxMapCount) + + // VmSwappiness + destination.VmSwappiness = genruntime.ClonePointerToInt(config.VmSwappiness) + + // VmVfsCachePressure + destination.VmVfsCachePressure = genruntime.ClonePointerToInt(config.VmVfsCachePressure) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// +kubebuilder:validation:Enum={"TCP","UDP"} +type PortRange_Protocol string + +const ( + PortRange_Protocol_TCP = PortRange_Protocol("TCP") + PortRange_Protocol_UDP = PortRange_Protocol("UDP") +) + +// Mapping from string to PortRange_Protocol +var portRange_Protocol_Values = map[string]PortRange_Protocol{ + "tcp": PortRange_Protocol_TCP, + "udp": PortRange_Protocol_UDP, +} + +type PortRange_Protocol_STATUS string + +const ( + PortRange_Protocol_STATUS_TCP = PortRange_Protocol_STATUS("TCP") + PortRange_Protocol_STATUS_UDP = PortRange_Protocol_STATUS("UDP") +) + +// Mapping from string to PortRange_Protocol_STATUS +var portRange_Protocol_STATUS_Values = map[string]PortRange_Protocol_STATUS{ + "tcp": PortRange_Protocol_STATUS_TCP, + "udp": PortRange_Protocol_STATUS_UDP, +} + +func init() { + SchemeBuilder.Register(&ManagedClustersAgentPool{}, &ManagedClustersAgentPoolList{}) +} diff --git a/v2/api/containerservice/v1api20240901/managed_clusters_agent_pool_types_gen_test.go b/v2/api/containerservice/v1api20240901/managed_clusters_agent_pool_types_gen_test.go new file mode 100644 index 00000000000..c6f96a283fc --- /dev/null +++ b/v2/api/containerservice/v1api20240901/managed_clusters_agent_pool_types_gen_test.go @@ -0,0 +1,2794 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package v1api20240901 + +import ( + "encoding/json" + storage "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20240901/storage" + "github.com/google/go-cmp/cmp" + "github.com/google/go-cmp/cmp/cmpopts" + "github.com/kr/pretty" + "github.com/kylelemons/godebug/diff" + "github.com/leanovate/gopter" + "github.com/leanovate/gopter/gen" + "github.com/leanovate/gopter/prop" + "os" + "reflect" + "testing" +) + +func Test_AgentPoolNetworkProfile_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from AgentPoolNetworkProfile to AgentPoolNetworkProfile via AssignProperties_To_AgentPoolNetworkProfile & AssignProperties_From_AgentPoolNetworkProfile returns original", + prop.ForAll(RunPropertyAssignmentTestForAgentPoolNetworkProfile, AgentPoolNetworkProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForAgentPoolNetworkProfile tests if a specific instance of AgentPoolNetworkProfile can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForAgentPoolNetworkProfile(subject AgentPoolNetworkProfile) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.AgentPoolNetworkProfile + err := copied.AssignProperties_To_AgentPoolNetworkProfile(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual AgentPoolNetworkProfile + err = actual.AssignProperties_From_AgentPoolNetworkProfile(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_AgentPoolNetworkProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of AgentPoolNetworkProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAgentPoolNetworkProfile, AgentPoolNetworkProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAgentPoolNetworkProfile runs a test to see if a specific instance of AgentPoolNetworkProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForAgentPoolNetworkProfile(subject AgentPoolNetworkProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AgentPoolNetworkProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of AgentPoolNetworkProfile instances for property testing - lazily instantiated by +// AgentPoolNetworkProfileGenerator() +var agentPoolNetworkProfileGenerator gopter.Gen + +// AgentPoolNetworkProfileGenerator returns a generator of AgentPoolNetworkProfile instances for property testing. +func AgentPoolNetworkProfileGenerator() gopter.Gen { + if agentPoolNetworkProfileGenerator != nil { + return agentPoolNetworkProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForAgentPoolNetworkProfile(generators) + agentPoolNetworkProfileGenerator = gen.Struct(reflect.TypeOf(AgentPoolNetworkProfile{}), generators) + + return agentPoolNetworkProfileGenerator +} + +// AddRelatedPropertyGeneratorsForAgentPoolNetworkProfile is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForAgentPoolNetworkProfile(gens map[string]gopter.Gen) { + gens["AllowedHostPorts"] = gen.SliceOf(PortRangeGenerator()) + gens["NodePublicIPTags"] = gen.SliceOf(IPTagGenerator()) +} + +func Test_AgentPoolNetworkProfile_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from AgentPoolNetworkProfile_STATUS to AgentPoolNetworkProfile_STATUS via AssignProperties_To_AgentPoolNetworkProfile_STATUS & AssignProperties_From_AgentPoolNetworkProfile_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForAgentPoolNetworkProfile_STATUS, AgentPoolNetworkProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForAgentPoolNetworkProfile_STATUS tests if a specific instance of AgentPoolNetworkProfile_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForAgentPoolNetworkProfile_STATUS(subject AgentPoolNetworkProfile_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.AgentPoolNetworkProfile_STATUS + err := copied.AssignProperties_To_AgentPoolNetworkProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual AgentPoolNetworkProfile_STATUS + err = actual.AssignProperties_From_AgentPoolNetworkProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_AgentPoolNetworkProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of AgentPoolNetworkProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAgentPoolNetworkProfile_STATUS, AgentPoolNetworkProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAgentPoolNetworkProfile_STATUS runs a test to see if a specific instance of AgentPoolNetworkProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForAgentPoolNetworkProfile_STATUS(subject AgentPoolNetworkProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AgentPoolNetworkProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of AgentPoolNetworkProfile_STATUS instances for property testing - lazily instantiated by +// AgentPoolNetworkProfile_STATUSGenerator() +var agentPoolNetworkProfile_STATUSGenerator gopter.Gen + +// AgentPoolNetworkProfile_STATUSGenerator returns a generator of AgentPoolNetworkProfile_STATUS instances for property testing. +// We first initialize agentPoolNetworkProfile_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func AgentPoolNetworkProfile_STATUSGenerator() gopter.Gen { + if agentPoolNetworkProfile_STATUSGenerator != nil { + return agentPoolNetworkProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAgentPoolNetworkProfile_STATUS(generators) + agentPoolNetworkProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(AgentPoolNetworkProfile_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAgentPoolNetworkProfile_STATUS(generators) + AddRelatedPropertyGeneratorsForAgentPoolNetworkProfile_STATUS(generators) + agentPoolNetworkProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(AgentPoolNetworkProfile_STATUS{}), generators) + + return agentPoolNetworkProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForAgentPoolNetworkProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAgentPoolNetworkProfile_STATUS(gens map[string]gopter.Gen) { + gens["ApplicationSecurityGroups"] = gen.SliceOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForAgentPoolNetworkProfile_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForAgentPoolNetworkProfile_STATUS(gens map[string]gopter.Gen) { + gens["AllowedHostPorts"] = gen.SliceOf(PortRange_STATUSGenerator()) + gens["NodePublicIPTags"] = gen.SliceOf(IPTag_STATUSGenerator()) +} + +func Test_AgentPoolSecurityProfile_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from AgentPoolSecurityProfile to AgentPoolSecurityProfile via AssignProperties_To_AgentPoolSecurityProfile & AssignProperties_From_AgentPoolSecurityProfile returns original", + prop.ForAll(RunPropertyAssignmentTestForAgentPoolSecurityProfile, AgentPoolSecurityProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForAgentPoolSecurityProfile tests if a specific instance of AgentPoolSecurityProfile can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForAgentPoolSecurityProfile(subject AgentPoolSecurityProfile) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.AgentPoolSecurityProfile + err := copied.AssignProperties_To_AgentPoolSecurityProfile(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual AgentPoolSecurityProfile + err = actual.AssignProperties_From_AgentPoolSecurityProfile(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_AgentPoolSecurityProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of AgentPoolSecurityProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAgentPoolSecurityProfile, AgentPoolSecurityProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAgentPoolSecurityProfile runs a test to see if a specific instance of AgentPoolSecurityProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForAgentPoolSecurityProfile(subject AgentPoolSecurityProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AgentPoolSecurityProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of AgentPoolSecurityProfile instances for property testing - lazily instantiated by +// AgentPoolSecurityProfileGenerator() +var agentPoolSecurityProfileGenerator gopter.Gen + +// AgentPoolSecurityProfileGenerator returns a generator of AgentPoolSecurityProfile instances for property testing. +func AgentPoolSecurityProfileGenerator() gopter.Gen { + if agentPoolSecurityProfileGenerator != nil { + return agentPoolSecurityProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAgentPoolSecurityProfile(generators) + agentPoolSecurityProfileGenerator = gen.Struct(reflect.TypeOf(AgentPoolSecurityProfile{}), generators) + + return agentPoolSecurityProfileGenerator +} + +// AddIndependentPropertyGeneratorsForAgentPoolSecurityProfile is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAgentPoolSecurityProfile(gens map[string]gopter.Gen) { + gens["EnableSecureBoot"] = gen.PtrOf(gen.Bool()) + gens["EnableVTPM"] = gen.PtrOf(gen.Bool()) +} + +func Test_AgentPoolSecurityProfile_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from AgentPoolSecurityProfile_STATUS to AgentPoolSecurityProfile_STATUS via AssignProperties_To_AgentPoolSecurityProfile_STATUS & AssignProperties_From_AgentPoolSecurityProfile_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForAgentPoolSecurityProfile_STATUS, AgentPoolSecurityProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForAgentPoolSecurityProfile_STATUS tests if a specific instance of AgentPoolSecurityProfile_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForAgentPoolSecurityProfile_STATUS(subject AgentPoolSecurityProfile_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.AgentPoolSecurityProfile_STATUS + err := copied.AssignProperties_To_AgentPoolSecurityProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual AgentPoolSecurityProfile_STATUS + err = actual.AssignProperties_From_AgentPoolSecurityProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_AgentPoolSecurityProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of AgentPoolSecurityProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAgentPoolSecurityProfile_STATUS, AgentPoolSecurityProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAgentPoolSecurityProfile_STATUS runs a test to see if a specific instance of AgentPoolSecurityProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForAgentPoolSecurityProfile_STATUS(subject AgentPoolSecurityProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AgentPoolSecurityProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of AgentPoolSecurityProfile_STATUS instances for property testing - lazily instantiated by +// AgentPoolSecurityProfile_STATUSGenerator() +var agentPoolSecurityProfile_STATUSGenerator gopter.Gen + +// AgentPoolSecurityProfile_STATUSGenerator returns a generator of AgentPoolSecurityProfile_STATUS instances for property testing. +func AgentPoolSecurityProfile_STATUSGenerator() gopter.Gen { + if agentPoolSecurityProfile_STATUSGenerator != nil { + return agentPoolSecurityProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAgentPoolSecurityProfile_STATUS(generators) + agentPoolSecurityProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(AgentPoolSecurityProfile_STATUS{}), generators) + + return agentPoolSecurityProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForAgentPoolSecurityProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAgentPoolSecurityProfile_STATUS(gens map[string]gopter.Gen) { + gens["EnableSecureBoot"] = gen.PtrOf(gen.Bool()) + gens["EnableVTPM"] = gen.PtrOf(gen.Bool()) +} + +func Test_AgentPoolUpgradeSettings_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from AgentPoolUpgradeSettings to AgentPoolUpgradeSettings via AssignProperties_To_AgentPoolUpgradeSettings & AssignProperties_From_AgentPoolUpgradeSettings returns original", + prop.ForAll(RunPropertyAssignmentTestForAgentPoolUpgradeSettings, AgentPoolUpgradeSettingsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForAgentPoolUpgradeSettings tests if a specific instance of AgentPoolUpgradeSettings can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForAgentPoolUpgradeSettings(subject AgentPoolUpgradeSettings) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.AgentPoolUpgradeSettings + err := copied.AssignProperties_To_AgentPoolUpgradeSettings(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual AgentPoolUpgradeSettings + err = actual.AssignProperties_From_AgentPoolUpgradeSettings(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_AgentPoolUpgradeSettings_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of AgentPoolUpgradeSettings via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAgentPoolUpgradeSettings, AgentPoolUpgradeSettingsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAgentPoolUpgradeSettings runs a test to see if a specific instance of AgentPoolUpgradeSettings round trips to JSON and back losslessly +func RunJSONSerializationTestForAgentPoolUpgradeSettings(subject AgentPoolUpgradeSettings) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AgentPoolUpgradeSettings + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of AgentPoolUpgradeSettings instances for property testing - lazily instantiated by +// AgentPoolUpgradeSettingsGenerator() +var agentPoolUpgradeSettingsGenerator gopter.Gen + +// AgentPoolUpgradeSettingsGenerator returns a generator of AgentPoolUpgradeSettings instances for property testing. +func AgentPoolUpgradeSettingsGenerator() gopter.Gen { + if agentPoolUpgradeSettingsGenerator != nil { + return agentPoolUpgradeSettingsGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAgentPoolUpgradeSettings(generators) + agentPoolUpgradeSettingsGenerator = gen.Struct(reflect.TypeOf(AgentPoolUpgradeSettings{}), generators) + + return agentPoolUpgradeSettingsGenerator +} + +// AddIndependentPropertyGeneratorsForAgentPoolUpgradeSettings is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAgentPoolUpgradeSettings(gens map[string]gopter.Gen) { + gens["DrainTimeoutInMinutes"] = gen.PtrOf(gen.Int()) + gens["MaxSurge"] = gen.PtrOf(gen.AlphaString()) + gens["NodeSoakDurationInMinutes"] = gen.PtrOf(gen.Int()) +} + +func Test_AgentPoolUpgradeSettings_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from AgentPoolUpgradeSettings_STATUS to AgentPoolUpgradeSettings_STATUS via AssignProperties_To_AgentPoolUpgradeSettings_STATUS & AssignProperties_From_AgentPoolUpgradeSettings_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForAgentPoolUpgradeSettings_STATUS, AgentPoolUpgradeSettings_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForAgentPoolUpgradeSettings_STATUS tests if a specific instance of AgentPoolUpgradeSettings_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForAgentPoolUpgradeSettings_STATUS(subject AgentPoolUpgradeSettings_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.AgentPoolUpgradeSettings_STATUS + err := copied.AssignProperties_To_AgentPoolUpgradeSettings_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual AgentPoolUpgradeSettings_STATUS + err = actual.AssignProperties_From_AgentPoolUpgradeSettings_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_AgentPoolUpgradeSettings_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of AgentPoolUpgradeSettings_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAgentPoolUpgradeSettings_STATUS, AgentPoolUpgradeSettings_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAgentPoolUpgradeSettings_STATUS runs a test to see if a specific instance of AgentPoolUpgradeSettings_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForAgentPoolUpgradeSettings_STATUS(subject AgentPoolUpgradeSettings_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AgentPoolUpgradeSettings_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of AgentPoolUpgradeSettings_STATUS instances for property testing - lazily instantiated by +// AgentPoolUpgradeSettings_STATUSGenerator() +var agentPoolUpgradeSettings_STATUSGenerator gopter.Gen + +// AgentPoolUpgradeSettings_STATUSGenerator returns a generator of AgentPoolUpgradeSettings_STATUS instances for property testing. +func AgentPoolUpgradeSettings_STATUSGenerator() gopter.Gen { + if agentPoolUpgradeSettings_STATUSGenerator != nil { + return agentPoolUpgradeSettings_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAgentPoolUpgradeSettings_STATUS(generators) + agentPoolUpgradeSettings_STATUSGenerator = gen.Struct(reflect.TypeOf(AgentPoolUpgradeSettings_STATUS{}), generators) + + return agentPoolUpgradeSettings_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForAgentPoolUpgradeSettings_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAgentPoolUpgradeSettings_STATUS(gens map[string]gopter.Gen) { + gens["DrainTimeoutInMinutes"] = gen.PtrOf(gen.Int()) + gens["MaxSurge"] = gen.PtrOf(gen.AlphaString()) + gens["NodeSoakDurationInMinutes"] = gen.PtrOf(gen.Int()) +} + +func Test_AgentPoolWindowsProfile_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from AgentPoolWindowsProfile to AgentPoolWindowsProfile via AssignProperties_To_AgentPoolWindowsProfile & AssignProperties_From_AgentPoolWindowsProfile returns original", + prop.ForAll(RunPropertyAssignmentTestForAgentPoolWindowsProfile, AgentPoolWindowsProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForAgentPoolWindowsProfile tests if a specific instance of AgentPoolWindowsProfile can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForAgentPoolWindowsProfile(subject AgentPoolWindowsProfile) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.AgentPoolWindowsProfile + err := copied.AssignProperties_To_AgentPoolWindowsProfile(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual AgentPoolWindowsProfile + err = actual.AssignProperties_From_AgentPoolWindowsProfile(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_AgentPoolWindowsProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of AgentPoolWindowsProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAgentPoolWindowsProfile, AgentPoolWindowsProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAgentPoolWindowsProfile runs a test to see if a specific instance of AgentPoolWindowsProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForAgentPoolWindowsProfile(subject AgentPoolWindowsProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AgentPoolWindowsProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of AgentPoolWindowsProfile instances for property testing - lazily instantiated by +// AgentPoolWindowsProfileGenerator() +var agentPoolWindowsProfileGenerator gopter.Gen + +// AgentPoolWindowsProfileGenerator returns a generator of AgentPoolWindowsProfile instances for property testing. +func AgentPoolWindowsProfileGenerator() gopter.Gen { + if agentPoolWindowsProfileGenerator != nil { + return agentPoolWindowsProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAgentPoolWindowsProfile(generators) + agentPoolWindowsProfileGenerator = gen.Struct(reflect.TypeOf(AgentPoolWindowsProfile{}), generators) + + return agentPoolWindowsProfileGenerator +} + +// AddIndependentPropertyGeneratorsForAgentPoolWindowsProfile is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAgentPoolWindowsProfile(gens map[string]gopter.Gen) { + gens["DisableOutboundNat"] = gen.PtrOf(gen.Bool()) +} + +func Test_AgentPoolWindowsProfile_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from AgentPoolWindowsProfile_STATUS to AgentPoolWindowsProfile_STATUS via AssignProperties_To_AgentPoolWindowsProfile_STATUS & AssignProperties_From_AgentPoolWindowsProfile_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForAgentPoolWindowsProfile_STATUS, AgentPoolWindowsProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForAgentPoolWindowsProfile_STATUS tests if a specific instance of AgentPoolWindowsProfile_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForAgentPoolWindowsProfile_STATUS(subject AgentPoolWindowsProfile_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.AgentPoolWindowsProfile_STATUS + err := copied.AssignProperties_To_AgentPoolWindowsProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual AgentPoolWindowsProfile_STATUS + err = actual.AssignProperties_From_AgentPoolWindowsProfile_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_AgentPoolWindowsProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of AgentPoolWindowsProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAgentPoolWindowsProfile_STATUS, AgentPoolWindowsProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAgentPoolWindowsProfile_STATUS runs a test to see if a specific instance of AgentPoolWindowsProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForAgentPoolWindowsProfile_STATUS(subject AgentPoolWindowsProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AgentPoolWindowsProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of AgentPoolWindowsProfile_STATUS instances for property testing - lazily instantiated by +// AgentPoolWindowsProfile_STATUSGenerator() +var agentPoolWindowsProfile_STATUSGenerator gopter.Gen + +// AgentPoolWindowsProfile_STATUSGenerator returns a generator of AgentPoolWindowsProfile_STATUS instances for property testing. +func AgentPoolWindowsProfile_STATUSGenerator() gopter.Gen { + if agentPoolWindowsProfile_STATUSGenerator != nil { + return agentPoolWindowsProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAgentPoolWindowsProfile_STATUS(generators) + agentPoolWindowsProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(AgentPoolWindowsProfile_STATUS{}), generators) + + return agentPoolWindowsProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForAgentPoolWindowsProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAgentPoolWindowsProfile_STATUS(gens map[string]gopter.Gen) { + gens["DisableOutboundNat"] = gen.PtrOf(gen.Bool()) +} + +func Test_CreationData_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from CreationData to CreationData via AssignProperties_To_CreationData & AssignProperties_From_CreationData returns original", + prop.ForAll(RunPropertyAssignmentTestForCreationData, CreationDataGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForCreationData tests if a specific instance of CreationData can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForCreationData(subject CreationData) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.CreationData + err := copied.AssignProperties_To_CreationData(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual CreationData + err = actual.AssignProperties_From_CreationData(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_CreationData_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of CreationData via JSON returns original", + prop.ForAll(RunJSONSerializationTestForCreationData, CreationDataGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForCreationData runs a test to see if a specific instance of CreationData round trips to JSON and back losslessly +func RunJSONSerializationTestForCreationData(subject CreationData) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual CreationData + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of CreationData instances for property testing - lazily instantiated by CreationDataGenerator() +var creationDataGenerator gopter.Gen + +// CreationDataGenerator returns a generator of CreationData instances for property testing. +func CreationDataGenerator() gopter.Gen { + if creationDataGenerator != nil { + return creationDataGenerator + } + + generators := make(map[string]gopter.Gen) + creationDataGenerator = gen.Struct(reflect.TypeOf(CreationData{}), generators) + + return creationDataGenerator +} + +func Test_CreationData_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from CreationData_STATUS to CreationData_STATUS via AssignProperties_To_CreationData_STATUS & AssignProperties_From_CreationData_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForCreationData_STATUS, CreationData_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForCreationData_STATUS tests if a specific instance of CreationData_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForCreationData_STATUS(subject CreationData_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.CreationData_STATUS + err := copied.AssignProperties_To_CreationData_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual CreationData_STATUS + err = actual.AssignProperties_From_CreationData_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_CreationData_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of CreationData_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForCreationData_STATUS, CreationData_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForCreationData_STATUS runs a test to see if a specific instance of CreationData_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForCreationData_STATUS(subject CreationData_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual CreationData_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of CreationData_STATUS instances for property testing - lazily instantiated by +// CreationData_STATUSGenerator() +var creationData_STATUSGenerator gopter.Gen + +// CreationData_STATUSGenerator returns a generator of CreationData_STATUS instances for property testing. +func CreationData_STATUSGenerator() gopter.Gen { + if creationData_STATUSGenerator != nil { + return creationData_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForCreationData_STATUS(generators) + creationData_STATUSGenerator = gen.Struct(reflect.TypeOf(CreationData_STATUS{}), generators) + + return creationData_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForCreationData_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForCreationData_STATUS(gens map[string]gopter.Gen) { + gens["SourceResourceId"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_IPTag_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from IPTag to IPTag via AssignProperties_To_IPTag & AssignProperties_From_IPTag returns original", + prop.ForAll(RunPropertyAssignmentTestForIPTag, IPTagGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForIPTag tests if a specific instance of IPTag can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForIPTag(subject IPTag) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.IPTag + err := copied.AssignProperties_To_IPTag(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual IPTag + err = actual.AssignProperties_From_IPTag(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_IPTag_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of IPTag via JSON returns original", + prop.ForAll(RunJSONSerializationTestForIPTag, IPTagGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForIPTag runs a test to see if a specific instance of IPTag round trips to JSON and back losslessly +func RunJSONSerializationTestForIPTag(subject IPTag) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual IPTag + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of IPTag instances for property testing - lazily instantiated by IPTagGenerator() +var ipTagGenerator gopter.Gen + +// IPTagGenerator returns a generator of IPTag instances for property testing. +func IPTagGenerator() gopter.Gen { + if ipTagGenerator != nil { + return ipTagGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForIPTag(generators) + ipTagGenerator = gen.Struct(reflect.TypeOf(IPTag{}), generators) + + return ipTagGenerator +} + +// AddIndependentPropertyGeneratorsForIPTag is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForIPTag(gens map[string]gopter.Gen) { + gens["IpTagType"] = gen.PtrOf(gen.AlphaString()) + gens["Tag"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_IPTag_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from IPTag_STATUS to IPTag_STATUS via AssignProperties_To_IPTag_STATUS & AssignProperties_From_IPTag_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForIPTag_STATUS, IPTag_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForIPTag_STATUS tests if a specific instance of IPTag_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForIPTag_STATUS(subject IPTag_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.IPTag_STATUS + err := copied.AssignProperties_To_IPTag_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual IPTag_STATUS + err = actual.AssignProperties_From_IPTag_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_IPTag_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of IPTag_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForIPTag_STATUS, IPTag_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForIPTag_STATUS runs a test to see if a specific instance of IPTag_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForIPTag_STATUS(subject IPTag_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual IPTag_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of IPTag_STATUS instances for property testing - lazily instantiated by IPTag_STATUSGenerator() +var ipTag_STATUSGenerator gopter.Gen + +// IPTag_STATUSGenerator returns a generator of IPTag_STATUS instances for property testing. +func IPTag_STATUSGenerator() gopter.Gen { + if ipTag_STATUSGenerator != nil { + return ipTag_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForIPTag_STATUS(generators) + ipTag_STATUSGenerator = gen.Struct(reflect.TypeOf(IPTag_STATUS{}), generators) + + return ipTag_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForIPTag_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForIPTag_STATUS(gens map[string]gopter.Gen) { + gens["IpTagType"] = gen.PtrOf(gen.AlphaString()) + gens["Tag"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_KubeletConfig_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from KubeletConfig to KubeletConfig via AssignProperties_To_KubeletConfig & AssignProperties_From_KubeletConfig returns original", + prop.ForAll(RunPropertyAssignmentTestForKubeletConfig, KubeletConfigGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForKubeletConfig tests if a specific instance of KubeletConfig can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForKubeletConfig(subject KubeletConfig) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.KubeletConfig + err := copied.AssignProperties_To_KubeletConfig(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual KubeletConfig + err = actual.AssignProperties_From_KubeletConfig(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_KubeletConfig_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of KubeletConfig via JSON returns original", + prop.ForAll(RunJSONSerializationTestForKubeletConfig, KubeletConfigGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForKubeletConfig runs a test to see if a specific instance of KubeletConfig round trips to JSON and back losslessly +func RunJSONSerializationTestForKubeletConfig(subject KubeletConfig) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual KubeletConfig + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of KubeletConfig instances for property testing - lazily instantiated by KubeletConfigGenerator() +var kubeletConfigGenerator gopter.Gen + +// KubeletConfigGenerator returns a generator of KubeletConfig instances for property testing. +func KubeletConfigGenerator() gopter.Gen { + if kubeletConfigGenerator != nil { + return kubeletConfigGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForKubeletConfig(generators) + kubeletConfigGenerator = gen.Struct(reflect.TypeOf(KubeletConfig{}), generators) + + return kubeletConfigGenerator +} + +// AddIndependentPropertyGeneratorsForKubeletConfig is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForKubeletConfig(gens map[string]gopter.Gen) { + gens["AllowedUnsafeSysctls"] = gen.SliceOf(gen.AlphaString()) + gens["ContainerLogMaxFiles"] = gen.PtrOf(gen.Int()) + gens["ContainerLogMaxSizeMB"] = gen.PtrOf(gen.Int()) + gens["CpuCfsQuota"] = gen.PtrOf(gen.Bool()) + gens["CpuCfsQuotaPeriod"] = gen.PtrOf(gen.AlphaString()) + gens["CpuManagerPolicy"] = gen.PtrOf(gen.AlphaString()) + gens["FailSwapOn"] = gen.PtrOf(gen.Bool()) + gens["ImageGcHighThreshold"] = gen.PtrOf(gen.Int()) + gens["ImageGcLowThreshold"] = gen.PtrOf(gen.Int()) + gens["PodMaxPids"] = gen.PtrOf(gen.Int()) + gens["TopologyManagerPolicy"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_KubeletConfig_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from KubeletConfig_STATUS to KubeletConfig_STATUS via AssignProperties_To_KubeletConfig_STATUS & AssignProperties_From_KubeletConfig_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForKubeletConfig_STATUS, KubeletConfig_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForKubeletConfig_STATUS tests if a specific instance of KubeletConfig_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForKubeletConfig_STATUS(subject KubeletConfig_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.KubeletConfig_STATUS + err := copied.AssignProperties_To_KubeletConfig_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual KubeletConfig_STATUS + err = actual.AssignProperties_From_KubeletConfig_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_KubeletConfig_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of KubeletConfig_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForKubeletConfig_STATUS, KubeletConfig_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForKubeletConfig_STATUS runs a test to see if a specific instance of KubeletConfig_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForKubeletConfig_STATUS(subject KubeletConfig_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual KubeletConfig_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of KubeletConfig_STATUS instances for property testing - lazily instantiated by +// KubeletConfig_STATUSGenerator() +var kubeletConfig_STATUSGenerator gopter.Gen + +// KubeletConfig_STATUSGenerator returns a generator of KubeletConfig_STATUS instances for property testing. +func KubeletConfig_STATUSGenerator() gopter.Gen { + if kubeletConfig_STATUSGenerator != nil { + return kubeletConfig_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForKubeletConfig_STATUS(generators) + kubeletConfig_STATUSGenerator = gen.Struct(reflect.TypeOf(KubeletConfig_STATUS{}), generators) + + return kubeletConfig_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForKubeletConfig_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForKubeletConfig_STATUS(gens map[string]gopter.Gen) { + gens["AllowedUnsafeSysctls"] = gen.SliceOf(gen.AlphaString()) + gens["ContainerLogMaxFiles"] = gen.PtrOf(gen.Int()) + gens["ContainerLogMaxSizeMB"] = gen.PtrOf(gen.Int()) + gens["CpuCfsQuota"] = gen.PtrOf(gen.Bool()) + gens["CpuCfsQuotaPeriod"] = gen.PtrOf(gen.AlphaString()) + gens["CpuManagerPolicy"] = gen.PtrOf(gen.AlphaString()) + gens["FailSwapOn"] = gen.PtrOf(gen.Bool()) + gens["ImageGcHighThreshold"] = gen.PtrOf(gen.Int()) + gens["ImageGcLowThreshold"] = gen.PtrOf(gen.Int()) + gens["PodMaxPids"] = gen.PtrOf(gen.Int()) + gens["TopologyManagerPolicy"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_LinuxOSConfig_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from LinuxOSConfig to LinuxOSConfig via AssignProperties_To_LinuxOSConfig & AssignProperties_From_LinuxOSConfig returns original", + prop.ForAll(RunPropertyAssignmentTestForLinuxOSConfig, LinuxOSConfigGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForLinuxOSConfig tests if a specific instance of LinuxOSConfig can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForLinuxOSConfig(subject LinuxOSConfig) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.LinuxOSConfig + err := copied.AssignProperties_To_LinuxOSConfig(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual LinuxOSConfig + err = actual.AssignProperties_From_LinuxOSConfig(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_LinuxOSConfig_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of LinuxOSConfig via JSON returns original", + prop.ForAll(RunJSONSerializationTestForLinuxOSConfig, LinuxOSConfigGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForLinuxOSConfig runs a test to see if a specific instance of LinuxOSConfig round trips to JSON and back losslessly +func RunJSONSerializationTestForLinuxOSConfig(subject LinuxOSConfig) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual LinuxOSConfig + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of LinuxOSConfig instances for property testing - lazily instantiated by LinuxOSConfigGenerator() +var linuxOSConfigGenerator gopter.Gen + +// LinuxOSConfigGenerator returns a generator of LinuxOSConfig instances for property testing. +// We first initialize linuxOSConfigGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func LinuxOSConfigGenerator() gopter.Gen { + if linuxOSConfigGenerator != nil { + return linuxOSConfigGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForLinuxOSConfig(generators) + linuxOSConfigGenerator = gen.Struct(reflect.TypeOf(LinuxOSConfig{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForLinuxOSConfig(generators) + AddRelatedPropertyGeneratorsForLinuxOSConfig(generators) + linuxOSConfigGenerator = gen.Struct(reflect.TypeOf(LinuxOSConfig{}), generators) + + return linuxOSConfigGenerator +} + +// AddIndependentPropertyGeneratorsForLinuxOSConfig is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForLinuxOSConfig(gens map[string]gopter.Gen) { + gens["SwapFileSizeMB"] = gen.PtrOf(gen.Int()) + gens["TransparentHugePageDefrag"] = gen.PtrOf(gen.AlphaString()) + gens["TransparentHugePageEnabled"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForLinuxOSConfig is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForLinuxOSConfig(gens map[string]gopter.Gen) { + gens["Sysctls"] = gen.PtrOf(SysctlConfigGenerator()) +} + +func Test_LinuxOSConfig_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from LinuxOSConfig_STATUS to LinuxOSConfig_STATUS via AssignProperties_To_LinuxOSConfig_STATUS & AssignProperties_From_LinuxOSConfig_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForLinuxOSConfig_STATUS, LinuxOSConfig_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForLinuxOSConfig_STATUS tests if a specific instance of LinuxOSConfig_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForLinuxOSConfig_STATUS(subject LinuxOSConfig_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.LinuxOSConfig_STATUS + err := copied.AssignProperties_To_LinuxOSConfig_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual LinuxOSConfig_STATUS + err = actual.AssignProperties_From_LinuxOSConfig_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_LinuxOSConfig_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of LinuxOSConfig_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForLinuxOSConfig_STATUS, LinuxOSConfig_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForLinuxOSConfig_STATUS runs a test to see if a specific instance of LinuxOSConfig_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForLinuxOSConfig_STATUS(subject LinuxOSConfig_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual LinuxOSConfig_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of LinuxOSConfig_STATUS instances for property testing - lazily instantiated by +// LinuxOSConfig_STATUSGenerator() +var linuxOSConfig_STATUSGenerator gopter.Gen + +// LinuxOSConfig_STATUSGenerator returns a generator of LinuxOSConfig_STATUS instances for property testing. +// We first initialize linuxOSConfig_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func LinuxOSConfig_STATUSGenerator() gopter.Gen { + if linuxOSConfig_STATUSGenerator != nil { + return linuxOSConfig_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForLinuxOSConfig_STATUS(generators) + linuxOSConfig_STATUSGenerator = gen.Struct(reflect.TypeOf(LinuxOSConfig_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForLinuxOSConfig_STATUS(generators) + AddRelatedPropertyGeneratorsForLinuxOSConfig_STATUS(generators) + linuxOSConfig_STATUSGenerator = gen.Struct(reflect.TypeOf(LinuxOSConfig_STATUS{}), generators) + + return linuxOSConfig_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForLinuxOSConfig_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForLinuxOSConfig_STATUS(gens map[string]gopter.Gen) { + gens["SwapFileSizeMB"] = gen.PtrOf(gen.Int()) + gens["TransparentHugePageDefrag"] = gen.PtrOf(gen.AlphaString()) + gens["TransparentHugePageEnabled"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForLinuxOSConfig_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForLinuxOSConfig_STATUS(gens map[string]gopter.Gen) { + gens["Sysctls"] = gen.PtrOf(SysctlConfig_STATUSGenerator()) +} + +func Test_ManagedClustersAgentPool_WhenConvertedToHub_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + parameters.MinSuccessfulTests = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClustersAgentPool to hub returns original", + prop.ForAll(RunResourceConversionTestForManagedClustersAgentPool, ManagedClustersAgentPoolGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunResourceConversionTestForManagedClustersAgentPool tests if a specific instance of ManagedClustersAgentPool round trips to the hub storage version and back losslessly +func RunResourceConversionTestForManagedClustersAgentPool(subject ManagedClustersAgentPool) string { + // Copy subject to make sure conversion doesn't modify it + copied := subject.DeepCopy() + + // Convert to our hub version + var hub storage.ManagedClustersAgentPool + err := copied.ConvertTo(&hub) + if err != nil { + return err.Error() + } + + // Convert from our hub version + var actual ManagedClustersAgentPool + err = actual.ConvertFrom(&hub) + if err != nil { + return err.Error() + } + + // Compare actual with what we started with + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ManagedClustersAgentPool_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClustersAgentPool to ManagedClustersAgentPool via AssignProperties_To_ManagedClustersAgentPool & AssignProperties_From_ManagedClustersAgentPool returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClustersAgentPool, ManagedClustersAgentPoolGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClustersAgentPool tests if a specific instance of ManagedClustersAgentPool can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClustersAgentPool(subject ManagedClustersAgentPool) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClustersAgentPool + err := copied.AssignProperties_To_ManagedClustersAgentPool(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClustersAgentPool + err = actual.AssignProperties_From_ManagedClustersAgentPool(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ManagedClustersAgentPool_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 20 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClustersAgentPool via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClustersAgentPool, ManagedClustersAgentPoolGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClustersAgentPool runs a test to see if a specific instance of ManagedClustersAgentPool round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClustersAgentPool(subject ManagedClustersAgentPool) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClustersAgentPool + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClustersAgentPool instances for property testing - lazily instantiated by +// ManagedClustersAgentPoolGenerator() +var managedClustersAgentPoolGenerator gopter.Gen + +// ManagedClustersAgentPoolGenerator returns a generator of ManagedClustersAgentPool instances for property testing. +func ManagedClustersAgentPoolGenerator() gopter.Gen { + if managedClustersAgentPoolGenerator != nil { + return managedClustersAgentPoolGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForManagedClustersAgentPool(generators) + managedClustersAgentPoolGenerator = gen.Struct(reflect.TypeOf(ManagedClustersAgentPool{}), generators) + + return managedClustersAgentPoolGenerator +} + +// AddRelatedPropertyGeneratorsForManagedClustersAgentPool is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClustersAgentPool(gens map[string]gopter.Gen) { + gens["Spec"] = ManagedClustersAgentPool_SpecGenerator() + gens["Status"] = ManagedClustersAgentPool_STATUSGenerator() +} + +func Test_ManagedClustersAgentPool_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClustersAgentPool_STATUS to ManagedClustersAgentPool_STATUS via AssignProperties_To_ManagedClustersAgentPool_STATUS & AssignProperties_From_ManagedClustersAgentPool_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClustersAgentPool_STATUS, ManagedClustersAgentPool_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClustersAgentPool_STATUS tests if a specific instance of ManagedClustersAgentPool_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClustersAgentPool_STATUS(subject ManagedClustersAgentPool_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClustersAgentPool_STATUS + err := copied.AssignProperties_To_ManagedClustersAgentPool_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClustersAgentPool_STATUS + err = actual.AssignProperties_From_ManagedClustersAgentPool_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ManagedClustersAgentPool_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClustersAgentPool_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClustersAgentPool_STATUS, ManagedClustersAgentPool_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClustersAgentPool_STATUS runs a test to see if a specific instance of ManagedClustersAgentPool_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClustersAgentPool_STATUS(subject ManagedClustersAgentPool_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClustersAgentPool_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClustersAgentPool_STATUS instances for property testing - lazily instantiated by +// ManagedClustersAgentPool_STATUSGenerator() +var managedClustersAgentPool_STATUSGenerator gopter.Gen + +// ManagedClustersAgentPool_STATUSGenerator returns a generator of ManagedClustersAgentPool_STATUS instances for property testing. +// We first initialize managedClustersAgentPool_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func ManagedClustersAgentPool_STATUSGenerator() gopter.Gen { + if managedClustersAgentPool_STATUSGenerator != nil { + return managedClustersAgentPool_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClustersAgentPool_STATUS(generators) + managedClustersAgentPool_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClustersAgentPool_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClustersAgentPool_STATUS(generators) + AddRelatedPropertyGeneratorsForManagedClustersAgentPool_STATUS(generators) + managedClustersAgentPool_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClustersAgentPool_STATUS{}), generators) + + return managedClustersAgentPool_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClustersAgentPool_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClustersAgentPool_STATUS(gens map[string]gopter.Gen) { + gens["AvailabilityZones"] = gen.SliceOf(gen.AlphaString()) + gens["CapacityReservationGroupID"] = gen.PtrOf(gen.AlphaString()) + gens["Count"] = gen.PtrOf(gen.Int()) + gens["CurrentOrchestratorVersion"] = gen.PtrOf(gen.AlphaString()) + gens["ETag"] = gen.PtrOf(gen.AlphaString()) + gens["EnableAutoScaling"] = gen.PtrOf(gen.Bool()) + gens["EnableEncryptionAtHost"] = gen.PtrOf(gen.Bool()) + gens["EnableFIPS"] = gen.PtrOf(gen.Bool()) + gens["EnableNodePublicIP"] = gen.PtrOf(gen.Bool()) + gens["EnableUltraSSD"] = gen.PtrOf(gen.Bool()) + gens["GpuInstanceProfile"] = gen.PtrOf(gen.OneConstOf( + GPUInstanceProfile_STATUS_MIG1G, + GPUInstanceProfile_STATUS_MIG2G, + GPUInstanceProfile_STATUS_MIG3G, + GPUInstanceProfile_STATUS_MIG4G, + GPUInstanceProfile_STATUS_MIG7G)) + gens["HostGroupID"] = gen.PtrOf(gen.AlphaString()) + gens["Id"] = gen.PtrOf(gen.AlphaString()) + gens["KubeletDiskType"] = gen.PtrOf(gen.OneConstOf(KubeletDiskType_STATUS_OS, KubeletDiskType_STATUS_Temporary)) + gens["MaxCount"] = gen.PtrOf(gen.Int()) + gens["MaxPods"] = gen.PtrOf(gen.Int()) + gens["MinCount"] = gen.PtrOf(gen.Int()) + gens["Mode"] = gen.PtrOf(gen.OneConstOf(AgentPoolMode_STATUS_System, AgentPoolMode_STATUS_User)) + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["NodeImageVersion"] = gen.PtrOf(gen.AlphaString()) + gens["NodeLabels"] = gen.MapOf( + gen.AlphaString(), + gen.AlphaString()) + gens["NodePublicIPPrefixID"] = gen.PtrOf(gen.AlphaString()) + gens["NodeTaints"] = gen.SliceOf(gen.AlphaString()) + gens["OrchestratorVersion"] = gen.PtrOf(gen.AlphaString()) + gens["OsDiskSizeGB"] = gen.PtrOf(gen.Int()) + gens["OsDiskType"] = gen.PtrOf(gen.OneConstOf(OSDiskType_STATUS_Ephemeral, OSDiskType_STATUS_Managed)) + gens["OsSKU"] = gen.PtrOf(gen.OneConstOf( + OSSKU_STATUS_AzureLinux, + OSSKU_STATUS_CBLMariner, + OSSKU_STATUS_Ubuntu, + OSSKU_STATUS_Windows2019, + OSSKU_STATUS_Windows2022)) + gens["OsType"] = gen.PtrOf(gen.OneConstOf(OSType_STATUS_Linux, OSType_STATUS_Windows)) + gens["PodSubnetID"] = gen.PtrOf(gen.AlphaString()) + gens["PropertiesType"] = gen.PtrOf(gen.OneConstOf(AgentPoolType_STATUS_AvailabilitySet, AgentPoolType_STATUS_VirtualMachineScaleSets)) + gens["ProvisioningState"] = gen.PtrOf(gen.AlphaString()) + gens["ProximityPlacementGroupID"] = gen.PtrOf(gen.AlphaString()) + gens["ScaleDownMode"] = gen.PtrOf(gen.OneConstOf(ScaleDownMode_STATUS_Deallocate, ScaleDownMode_STATUS_Delete)) + gens["ScaleSetEvictionPolicy"] = gen.PtrOf(gen.OneConstOf(ScaleSetEvictionPolicy_STATUS_Deallocate, ScaleSetEvictionPolicy_STATUS_Delete)) + gens["ScaleSetPriority"] = gen.PtrOf(gen.OneConstOf(ScaleSetPriority_STATUS_Regular, ScaleSetPriority_STATUS_Spot)) + gens["SpotMaxPrice"] = gen.PtrOf(gen.Float64()) + gens["Tags"] = gen.MapOf( + gen.AlphaString(), + gen.AlphaString()) + gens["Type"] = gen.PtrOf(gen.AlphaString()) + gens["VmSize"] = gen.PtrOf(gen.AlphaString()) + gens["VnetSubnetID"] = gen.PtrOf(gen.AlphaString()) + gens["WorkloadRuntime"] = gen.PtrOf(gen.OneConstOf(WorkloadRuntime_STATUS_OCIContainer, WorkloadRuntime_STATUS_WasmWasi)) +} + +// AddRelatedPropertyGeneratorsForManagedClustersAgentPool_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClustersAgentPool_STATUS(gens map[string]gopter.Gen) { + gens["CreationData"] = gen.PtrOf(CreationData_STATUSGenerator()) + gens["KubeletConfig"] = gen.PtrOf(KubeletConfig_STATUSGenerator()) + gens["LinuxOSConfig"] = gen.PtrOf(LinuxOSConfig_STATUSGenerator()) + gens["NetworkProfile"] = gen.PtrOf(AgentPoolNetworkProfile_STATUSGenerator()) + gens["PowerState"] = gen.PtrOf(PowerState_STATUSGenerator()) + gens["SecurityProfile"] = gen.PtrOf(AgentPoolSecurityProfile_STATUSGenerator()) + gens["UpgradeSettings"] = gen.PtrOf(AgentPoolUpgradeSettings_STATUSGenerator()) + gens["WindowsProfile"] = gen.PtrOf(AgentPoolWindowsProfile_STATUSGenerator()) +} + +func Test_ManagedClustersAgentPool_Spec_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ManagedClustersAgentPool_Spec to ManagedClustersAgentPool_Spec via AssignProperties_To_ManagedClustersAgentPool_Spec & AssignProperties_From_ManagedClustersAgentPool_Spec returns original", + prop.ForAll(RunPropertyAssignmentTestForManagedClustersAgentPool_Spec, ManagedClustersAgentPool_SpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForManagedClustersAgentPool_Spec tests if a specific instance of ManagedClustersAgentPool_Spec can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForManagedClustersAgentPool_Spec(subject ManagedClustersAgentPool_Spec) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.ManagedClustersAgentPool_Spec + err := copied.AssignProperties_To_ManagedClustersAgentPool_Spec(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ManagedClustersAgentPool_Spec + err = actual.AssignProperties_From_ManagedClustersAgentPool_Spec(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ManagedClustersAgentPool_Spec_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClustersAgentPool_Spec via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClustersAgentPool_Spec, ManagedClustersAgentPool_SpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClustersAgentPool_Spec runs a test to see if a specific instance of ManagedClustersAgentPool_Spec round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClustersAgentPool_Spec(subject ManagedClustersAgentPool_Spec) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClustersAgentPool_Spec + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClustersAgentPool_Spec instances for property testing - lazily instantiated by +// ManagedClustersAgentPool_SpecGenerator() +var managedClustersAgentPool_SpecGenerator gopter.Gen + +// ManagedClustersAgentPool_SpecGenerator returns a generator of ManagedClustersAgentPool_Spec instances for property testing. +// We first initialize managedClustersAgentPool_SpecGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func ManagedClustersAgentPool_SpecGenerator() gopter.Gen { + if managedClustersAgentPool_SpecGenerator != nil { + return managedClustersAgentPool_SpecGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClustersAgentPool_Spec(generators) + managedClustersAgentPool_SpecGenerator = gen.Struct(reflect.TypeOf(ManagedClustersAgentPool_Spec{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClustersAgentPool_Spec(generators) + AddRelatedPropertyGeneratorsForManagedClustersAgentPool_Spec(generators) + managedClustersAgentPool_SpecGenerator = gen.Struct(reflect.TypeOf(ManagedClustersAgentPool_Spec{}), generators) + + return managedClustersAgentPool_SpecGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClustersAgentPool_Spec is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClustersAgentPool_Spec(gens map[string]gopter.Gen) { + gens["AvailabilityZones"] = gen.SliceOf(gen.AlphaString()) + gens["AzureName"] = gen.AlphaString() + gens["Count"] = gen.PtrOf(gen.Int()) + gens["EnableAutoScaling"] = gen.PtrOf(gen.Bool()) + gens["EnableEncryptionAtHost"] = gen.PtrOf(gen.Bool()) + gens["EnableFIPS"] = gen.PtrOf(gen.Bool()) + gens["EnableNodePublicIP"] = gen.PtrOf(gen.Bool()) + gens["EnableUltraSSD"] = gen.PtrOf(gen.Bool()) + gens["GpuInstanceProfile"] = gen.PtrOf(gen.OneConstOf( + GPUInstanceProfile_MIG1G, + GPUInstanceProfile_MIG2G, + GPUInstanceProfile_MIG3G, + GPUInstanceProfile_MIG4G, + GPUInstanceProfile_MIG7G)) + gens["KubeletDiskType"] = gen.PtrOf(gen.OneConstOf(KubeletDiskType_OS, KubeletDiskType_Temporary)) + gens["MaxCount"] = gen.PtrOf(gen.Int()) + gens["MaxPods"] = gen.PtrOf(gen.Int()) + gens["MinCount"] = gen.PtrOf(gen.Int()) + gens["Mode"] = gen.PtrOf(gen.OneConstOf(AgentPoolMode_System, AgentPoolMode_User)) + gens["NodeLabels"] = gen.MapOf( + gen.AlphaString(), + gen.AlphaString()) + gens["NodeTaints"] = gen.SliceOf(gen.AlphaString()) + gens["OrchestratorVersion"] = gen.PtrOf(gen.AlphaString()) + gens["OsDiskSizeGB"] = gen.PtrOf(gen.Int().Map(func(it int) ContainerServiceOSDisk { + return ContainerServiceOSDisk(it) + })) + gens["OsDiskType"] = gen.PtrOf(gen.OneConstOf(OSDiskType_Ephemeral, OSDiskType_Managed)) + gens["OsSKU"] = gen.PtrOf(gen.OneConstOf( + OSSKU_AzureLinux, + OSSKU_CBLMariner, + OSSKU_Ubuntu, + OSSKU_Windows2019, + OSSKU_Windows2022)) + gens["OsType"] = gen.PtrOf(gen.OneConstOf(OSType_Linux, OSType_Windows)) + gens["ScaleDownMode"] = gen.PtrOf(gen.OneConstOf(ScaleDownMode_Deallocate, ScaleDownMode_Delete)) + gens["ScaleSetEvictionPolicy"] = gen.PtrOf(gen.OneConstOf(ScaleSetEvictionPolicy_Deallocate, ScaleSetEvictionPolicy_Delete)) + gens["ScaleSetPriority"] = gen.PtrOf(gen.OneConstOf(ScaleSetPriority_Regular, ScaleSetPriority_Spot)) + gens["SpotMaxPrice"] = gen.PtrOf(gen.Float64()) + gens["Tags"] = gen.MapOf( + gen.AlphaString(), + gen.AlphaString()) + gens["Type"] = gen.PtrOf(gen.OneConstOf(AgentPoolType_AvailabilitySet, AgentPoolType_VirtualMachineScaleSets)) + gens["VmSize"] = gen.PtrOf(gen.AlphaString()) + gens["WorkloadRuntime"] = gen.PtrOf(gen.OneConstOf(WorkloadRuntime_OCIContainer, WorkloadRuntime_WasmWasi)) +} + +// AddRelatedPropertyGeneratorsForManagedClustersAgentPool_Spec is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClustersAgentPool_Spec(gens map[string]gopter.Gen) { + gens["CreationData"] = gen.PtrOf(CreationDataGenerator()) + gens["KubeletConfig"] = gen.PtrOf(KubeletConfigGenerator()) + gens["LinuxOSConfig"] = gen.PtrOf(LinuxOSConfigGenerator()) + gens["NetworkProfile"] = gen.PtrOf(AgentPoolNetworkProfileGenerator()) + gens["PowerState"] = gen.PtrOf(PowerStateGenerator()) + gens["SecurityProfile"] = gen.PtrOf(AgentPoolSecurityProfileGenerator()) + gens["UpgradeSettings"] = gen.PtrOf(AgentPoolUpgradeSettingsGenerator()) + gens["WindowsProfile"] = gen.PtrOf(AgentPoolWindowsProfileGenerator()) +} + +func Test_PortRange_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from PortRange to PortRange via AssignProperties_To_PortRange & AssignProperties_From_PortRange returns original", + prop.ForAll(RunPropertyAssignmentTestForPortRange, PortRangeGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForPortRange tests if a specific instance of PortRange can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForPortRange(subject PortRange) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.PortRange + err := copied.AssignProperties_To_PortRange(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual PortRange + err = actual.AssignProperties_From_PortRange(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_PortRange_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of PortRange via JSON returns original", + prop.ForAll(RunJSONSerializationTestForPortRange, PortRangeGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForPortRange runs a test to see if a specific instance of PortRange round trips to JSON and back losslessly +func RunJSONSerializationTestForPortRange(subject PortRange) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual PortRange + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of PortRange instances for property testing - lazily instantiated by PortRangeGenerator() +var portRangeGenerator gopter.Gen + +// PortRangeGenerator returns a generator of PortRange instances for property testing. +func PortRangeGenerator() gopter.Gen { + if portRangeGenerator != nil { + return portRangeGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForPortRange(generators) + portRangeGenerator = gen.Struct(reflect.TypeOf(PortRange{}), generators) + + return portRangeGenerator +} + +// AddIndependentPropertyGeneratorsForPortRange is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForPortRange(gens map[string]gopter.Gen) { + gens["PortEnd"] = gen.PtrOf(gen.Int()) + gens["PortStart"] = gen.PtrOf(gen.Int()) + gens["Protocol"] = gen.PtrOf(gen.OneConstOf(PortRange_Protocol_TCP, PortRange_Protocol_UDP)) +} + +func Test_PortRange_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from PortRange_STATUS to PortRange_STATUS via AssignProperties_To_PortRange_STATUS & AssignProperties_From_PortRange_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForPortRange_STATUS, PortRange_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForPortRange_STATUS tests if a specific instance of PortRange_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForPortRange_STATUS(subject PortRange_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.PortRange_STATUS + err := copied.AssignProperties_To_PortRange_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual PortRange_STATUS + err = actual.AssignProperties_From_PortRange_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_PortRange_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of PortRange_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForPortRange_STATUS, PortRange_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForPortRange_STATUS runs a test to see if a specific instance of PortRange_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForPortRange_STATUS(subject PortRange_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual PortRange_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of PortRange_STATUS instances for property testing - lazily instantiated by PortRange_STATUSGenerator() +var portRange_STATUSGenerator gopter.Gen + +// PortRange_STATUSGenerator returns a generator of PortRange_STATUS instances for property testing. +func PortRange_STATUSGenerator() gopter.Gen { + if portRange_STATUSGenerator != nil { + return portRange_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForPortRange_STATUS(generators) + portRange_STATUSGenerator = gen.Struct(reflect.TypeOf(PortRange_STATUS{}), generators) + + return portRange_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForPortRange_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForPortRange_STATUS(gens map[string]gopter.Gen) { + gens["PortEnd"] = gen.PtrOf(gen.Int()) + gens["PortStart"] = gen.PtrOf(gen.Int()) + gens["Protocol"] = gen.PtrOf(gen.OneConstOf(PortRange_Protocol_STATUS_TCP, PortRange_Protocol_STATUS_UDP)) +} + +func Test_PowerState_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from PowerState to PowerState via AssignProperties_To_PowerState & AssignProperties_From_PowerState returns original", + prop.ForAll(RunPropertyAssignmentTestForPowerState, PowerStateGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForPowerState tests if a specific instance of PowerState can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForPowerState(subject PowerState) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.PowerState + err := copied.AssignProperties_To_PowerState(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual PowerState + err = actual.AssignProperties_From_PowerState(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_PowerState_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of PowerState via JSON returns original", + prop.ForAll(RunJSONSerializationTestForPowerState, PowerStateGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForPowerState runs a test to see if a specific instance of PowerState round trips to JSON and back losslessly +func RunJSONSerializationTestForPowerState(subject PowerState) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual PowerState + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of PowerState instances for property testing - lazily instantiated by PowerStateGenerator() +var powerStateGenerator gopter.Gen + +// PowerStateGenerator returns a generator of PowerState instances for property testing. +func PowerStateGenerator() gopter.Gen { + if powerStateGenerator != nil { + return powerStateGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForPowerState(generators) + powerStateGenerator = gen.Struct(reflect.TypeOf(PowerState{}), generators) + + return powerStateGenerator +} + +// AddIndependentPropertyGeneratorsForPowerState is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForPowerState(gens map[string]gopter.Gen) { + gens["Code"] = gen.PtrOf(gen.OneConstOf(PowerState_Code_Running, PowerState_Code_Stopped)) +} + +func Test_SysctlConfig_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from SysctlConfig to SysctlConfig via AssignProperties_To_SysctlConfig & AssignProperties_From_SysctlConfig returns original", + prop.ForAll(RunPropertyAssignmentTestForSysctlConfig, SysctlConfigGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForSysctlConfig tests if a specific instance of SysctlConfig can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForSysctlConfig(subject SysctlConfig) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.SysctlConfig + err := copied.AssignProperties_To_SysctlConfig(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual SysctlConfig + err = actual.AssignProperties_From_SysctlConfig(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_SysctlConfig_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of SysctlConfig via JSON returns original", + prop.ForAll(RunJSONSerializationTestForSysctlConfig, SysctlConfigGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForSysctlConfig runs a test to see if a specific instance of SysctlConfig round trips to JSON and back losslessly +func RunJSONSerializationTestForSysctlConfig(subject SysctlConfig) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual SysctlConfig + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of SysctlConfig instances for property testing - lazily instantiated by SysctlConfigGenerator() +var sysctlConfigGenerator gopter.Gen + +// SysctlConfigGenerator returns a generator of SysctlConfig instances for property testing. +func SysctlConfigGenerator() gopter.Gen { + if sysctlConfigGenerator != nil { + return sysctlConfigGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForSysctlConfig(generators) + sysctlConfigGenerator = gen.Struct(reflect.TypeOf(SysctlConfig{}), generators) + + return sysctlConfigGenerator +} + +// AddIndependentPropertyGeneratorsForSysctlConfig is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForSysctlConfig(gens map[string]gopter.Gen) { + gens["FsAioMaxNr"] = gen.PtrOf(gen.Int()) + gens["FsFileMax"] = gen.PtrOf(gen.Int()) + gens["FsInotifyMaxUserWatches"] = gen.PtrOf(gen.Int()) + gens["FsNrOpen"] = gen.PtrOf(gen.Int()) + gens["KernelThreadsMax"] = gen.PtrOf(gen.Int()) + gens["NetCoreNetdevMaxBacklog"] = gen.PtrOf(gen.Int()) + gens["NetCoreOptmemMax"] = gen.PtrOf(gen.Int()) + gens["NetCoreRmemDefault"] = gen.PtrOf(gen.Int()) + gens["NetCoreRmemMax"] = gen.PtrOf(gen.Int()) + gens["NetCoreSomaxconn"] = gen.PtrOf(gen.Int()) + gens["NetCoreWmemDefault"] = gen.PtrOf(gen.Int()) + gens["NetCoreWmemMax"] = gen.PtrOf(gen.Int()) + gens["NetIpv4IpLocalPortRange"] = gen.PtrOf(gen.AlphaString()) + gens["NetIpv4NeighDefaultGcThresh1"] = gen.PtrOf(gen.Int()) + gens["NetIpv4NeighDefaultGcThresh2"] = gen.PtrOf(gen.Int()) + gens["NetIpv4NeighDefaultGcThresh3"] = gen.PtrOf(gen.Int()) + gens["NetIpv4TcpFinTimeout"] = gen.PtrOf(gen.Int()) + gens["NetIpv4TcpKeepaliveProbes"] = gen.PtrOf(gen.Int()) + gens["NetIpv4TcpKeepaliveTime"] = gen.PtrOf(gen.Int()) + gens["NetIpv4TcpMaxSynBacklog"] = gen.PtrOf(gen.Int()) + gens["NetIpv4TcpMaxTwBuckets"] = gen.PtrOf(gen.Int()) + gens["NetIpv4TcpTwReuse"] = gen.PtrOf(gen.Bool()) + gens["NetIpv4TcpkeepaliveIntvl"] = gen.PtrOf(gen.Int()) + gens["NetNetfilterNfConntrackBuckets"] = gen.PtrOf(gen.Int()) + gens["NetNetfilterNfConntrackMax"] = gen.PtrOf(gen.Int()) + gens["VmMaxMapCount"] = gen.PtrOf(gen.Int()) + gens["VmSwappiness"] = gen.PtrOf(gen.Int()) + gens["VmVfsCachePressure"] = gen.PtrOf(gen.Int()) +} + +func Test_SysctlConfig_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from SysctlConfig_STATUS to SysctlConfig_STATUS via AssignProperties_To_SysctlConfig_STATUS & AssignProperties_From_SysctlConfig_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForSysctlConfig_STATUS, SysctlConfig_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForSysctlConfig_STATUS tests if a specific instance of SysctlConfig_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForSysctlConfig_STATUS(subject SysctlConfig_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.SysctlConfig_STATUS + err := copied.AssignProperties_To_SysctlConfig_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual SysctlConfig_STATUS + err = actual.AssignProperties_From_SysctlConfig_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_SysctlConfig_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of SysctlConfig_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForSysctlConfig_STATUS, SysctlConfig_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForSysctlConfig_STATUS runs a test to see if a specific instance of SysctlConfig_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForSysctlConfig_STATUS(subject SysctlConfig_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual SysctlConfig_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of SysctlConfig_STATUS instances for property testing - lazily instantiated by +// SysctlConfig_STATUSGenerator() +var sysctlConfig_STATUSGenerator gopter.Gen + +// SysctlConfig_STATUSGenerator returns a generator of SysctlConfig_STATUS instances for property testing. +func SysctlConfig_STATUSGenerator() gopter.Gen { + if sysctlConfig_STATUSGenerator != nil { + return sysctlConfig_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForSysctlConfig_STATUS(generators) + sysctlConfig_STATUSGenerator = gen.Struct(reflect.TypeOf(SysctlConfig_STATUS{}), generators) + + return sysctlConfig_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForSysctlConfig_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForSysctlConfig_STATUS(gens map[string]gopter.Gen) { + gens["FsAioMaxNr"] = gen.PtrOf(gen.Int()) + gens["FsFileMax"] = gen.PtrOf(gen.Int()) + gens["FsInotifyMaxUserWatches"] = gen.PtrOf(gen.Int()) + gens["FsNrOpen"] = gen.PtrOf(gen.Int()) + gens["KernelThreadsMax"] = gen.PtrOf(gen.Int()) + gens["NetCoreNetdevMaxBacklog"] = gen.PtrOf(gen.Int()) + gens["NetCoreOptmemMax"] = gen.PtrOf(gen.Int()) + gens["NetCoreRmemDefault"] = gen.PtrOf(gen.Int()) + gens["NetCoreRmemMax"] = gen.PtrOf(gen.Int()) + gens["NetCoreSomaxconn"] = gen.PtrOf(gen.Int()) + gens["NetCoreWmemDefault"] = gen.PtrOf(gen.Int()) + gens["NetCoreWmemMax"] = gen.PtrOf(gen.Int()) + gens["NetIpv4IpLocalPortRange"] = gen.PtrOf(gen.AlphaString()) + gens["NetIpv4NeighDefaultGcThresh1"] = gen.PtrOf(gen.Int()) + gens["NetIpv4NeighDefaultGcThresh2"] = gen.PtrOf(gen.Int()) + gens["NetIpv4NeighDefaultGcThresh3"] = gen.PtrOf(gen.Int()) + gens["NetIpv4TcpFinTimeout"] = gen.PtrOf(gen.Int()) + gens["NetIpv4TcpKeepaliveProbes"] = gen.PtrOf(gen.Int()) + gens["NetIpv4TcpKeepaliveTime"] = gen.PtrOf(gen.Int()) + gens["NetIpv4TcpMaxSynBacklog"] = gen.PtrOf(gen.Int()) + gens["NetIpv4TcpMaxTwBuckets"] = gen.PtrOf(gen.Int()) + gens["NetIpv4TcpTwReuse"] = gen.PtrOf(gen.Bool()) + gens["NetIpv4TcpkeepaliveIntvl"] = gen.PtrOf(gen.Int()) + gens["NetNetfilterNfConntrackBuckets"] = gen.PtrOf(gen.Int()) + gens["NetNetfilterNfConntrackMax"] = gen.PtrOf(gen.Int()) + gens["VmMaxMapCount"] = gen.PtrOf(gen.Int()) + gens["VmSwappiness"] = gen.PtrOf(gen.Int()) + gens["VmVfsCachePressure"] = gen.PtrOf(gen.Int()) +} diff --git a/v2/api/containerservice/v1api20240901/storage/groupversion_info_gen.go b/v2/api/containerservice/v1api20240901/storage/groupversion_info_gen.go new file mode 100644 index 00000000000..7db9e8624c0 --- /dev/null +++ b/v2/api/containerservice/v1api20240901/storage/groupversion_info_gen.go @@ -0,0 +1,32 @@ +/* +Copyright (c) Microsoft Corporation. +Licensed under the MIT license. +*/ + +// Code generated by azure-service-operator-codegen. DO NOT EDIT. + +// Package storage contains API Schema definitions for the containerservice storage API group +// +kubebuilder:object:generate=true +// All object properties are optional by default, this will be overridden when needed: +// +kubebuilder:validation:Optional +// +groupName=containerservice.azure.com +// +versionName=v1api20240901storage +package storage + +import ( + "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/scheme" +) + +var ( + // GroupVersion is group version used to register these objects + GroupVersion = schema.GroupVersion{Group: "containerservice.azure.com", Version: "v1api20240901storage"} + + // SchemeBuilder is used to add go types to the GroupVersionKind scheme + SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} + + // AddToScheme adds the types in this group-version to the given scheme. + AddToScheme = SchemeBuilder.AddToScheme + + localSchemeBuilder = SchemeBuilder.SchemeBuilder +) diff --git a/v2/api/containerservice/v1api20240901/storage/maintenance_configuration_types_gen.go b/v2/api/containerservice/v1api20240901/storage/maintenance_configuration_types_gen.go new file mode 100644 index 00000000000..8f44bc86247 --- /dev/null +++ b/v2/api/containerservice/v1api20240901/storage/maintenance_configuration_types_gen.go @@ -0,0 +1,390 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package storage + +import ( + "github.com/Azure/azure-service-operator/v2/pkg/genruntime" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime/conditions" + "github.com/pkg/errors" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime/schema" +) + +// +kubebuilder:rbac:groups=containerservice.azure.com,resources=maintenanceconfigurations,verbs=get;list;watch;create;update;patch;delete +// +kubebuilder:rbac:groups=containerservice.azure.com,resources={maintenanceconfigurations/status,maintenanceconfigurations/finalizers},verbs=get;update;patch + +// +kubebuilder:object:root=true +// +kubebuilder:subresource:status +// +kubebuilder:storageversion +// +kubebuilder:printcolumn:name="Ready",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +// +kubebuilder:printcolumn:name="Severity",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].severity" +// +kubebuilder:printcolumn:name="Reason",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].reason" +// +kubebuilder:printcolumn:name="Message",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].message" +// Storage version of v1api20240901.MaintenanceConfiguration +// Generator information: +// - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2024-09-01/managedClusters.json +// - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/maintenanceConfigurations/{configName} +type MaintenanceConfiguration struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec MaintenanceConfiguration_Spec `json:"spec,omitempty"` + Status MaintenanceConfiguration_STATUS `json:"status,omitempty"` +} + +var _ conditions.Conditioner = &MaintenanceConfiguration{} + +// GetConditions returns the conditions of the resource +func (configuration *MaintenanceConfiguration) GetConditions() conditions.Conditions { + return configuration.Status.Conditions +} + +// SetConditions sets the conditions on the resource status +func (configuration *MaintenanceConfiguration) SetConditions(conditions conditions.Conditions) { + configuration.Status.Conditions = conditions +} + +var _ genruntime.KubernetesResource = &MaintenanceConfiguration{} + +// AzureName returns the Azure name of the resource +func (configuration *MaintenanceConfiguration) AzureName() string { + return configuration.Spec.AzureName +} + +// GetAPIVersion returns the ARM API version of the resource. This is always "2024-09-01" +func (configuration MaintenanceConfiguration) GetAPIVersion() string { + return "2024-09-01" +} + +// GetResourceScope returns the scope of the resource +func (configuration *MaintenanceConfiguration) GetResourceScope() genruntime.ResourceScope { + return genruntime.ResourceScopeResourceGroup +} + +// GetSpec returns the specification of this resource +func (configuration *MaintenanceConfiguration) GetSpec() genruntime.ConvertibleSpec { + return &configuration.Spec +} + +// GetStatus returns the status of this resource +func (configuration *MaintenanceConfiguration) GetStatus() genruntime.ConvertibleStatus { + return &configuration.Status +} + +// GetSupportedOperations returns the operations supported by the resource +func (configuration *MaintenanceConfiguration) GetSupportedOperations() []genruntime.ResourceOperation { + return []genruntime.ResourceOperation{ + genruntime.ResourceOperationDelete, + genruntime.ResourceOperationGet, + genruntime.ResourceOperationPut, + } +} + +// GetType returns the ARM Type of the resource. This is always "Microsoft.ContainerService/managedClusters/maintenanceConfigurations" +func (configuration *MaintenanceConfiguration) GetType() string { + return "Microsoft.ContainerService/managedClusters/maintenanceConfigurations" +} + +// NewEmptyStatus returns a new empty (blank) status +func (configuration *MaintenanceConfiguration) NewEmptyStatus() genruntime.ConvertibleStatus { + return &MaintenanceConfiguration_STATUS{} +} + +// Owner returns the ResourceReference of the owner +func (configuration *MaintenanceConfiguration) Owner() *genruntime.ResourceReference { + group, kind := genruntime.LookupOwnerGroupKind(configuration.Spec) + return configuration.Spec.Owner.AsResourceReference(group, kind) +} + +// SetStatus sets the status of this resource +func (configuration *MaintenanceConfiguration) SetStatus(status genruntime.ConvertibleStatus) error { + // If we have exactly the right type of status, assign it + if st, ok := status.(*MaintenanceConfiguration_STATUS); ok { + configuration.Status = *st + return nil + } + + // Convert status to required version + var st MaintenanceConfiguration_STATUS + err := status.ConvertStatusTo(&st) + if err != nil { + return errors.Wrap(err, "failed to convert status") + } + + configuration.Status = st + return nil +} + +// Hub marks that this MaintenanceConfiguration is the hub type for conversion +func (configuration *MaintenanceConfiguration) Hub() {} + +// OriginalGVK returns a GroupValueKind for the original API version used to create the resource +func (configuration *MaintenanceConfiguration) OriginalGVK() *schema.GroupVersionKind { + return &schema.GroupVersionKind{ + Group: GroupVersion.Group, + Version: configuration.Spec.OriginalVersion, + Kind: "MaintenanceConfiguration", + } +} + +// +kubebuilder:object:root=true +// Storage version of v1api20240901.MaintenanceConfiguration +// Generator information: +// - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2024-09-01/managedClusters.json +// - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/maintenanceConfigurations/{configName} +type MaintenanceConfigurationList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []MaintenanceConfiguration `json:"items"` +} + +// Storage version of v1api20240901.APIVersion +// +kubebuilder:validation:Enum={"2024-09-01"} +type APIVersion string + +const APIVersion_Value = APIVersion("2024-09-01") + +// Storage version of v1api20240901.MaintenanceConfiguration_Spec +type MaintenanceConfiguration_Spec struct { + // AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + // doesn't have to be. + AzureName string `json:"azureName,omitempty"` + MaintenanceWindow *MaintenanceWindow `json:"maintenanceWindow,omitempty"` + NotAllowedTime []TimeSpan `json:"notAllowedTime,omitempty"` + OriginalVersion string `json:"originalVersion,omitempty"` + + // +kubebuilder:validation:Required + // Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + // controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + // reference to a containerservice.azure.com/ManagedCluster resource + Owner *genruntime.KnownResourceReference `group:"containerservice.azure.com" json:"owner,omitempty" kind:"ManagedCluster"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + TimeInWeek []TimeInWeek `json:"timeInWeek,omitempty"` +} + +var _ genruntime.ConvertibleSpec = &MaintenanceConfiguration_Spec{} + +// ConvertSpecFrom populates our MaintenanceConfiguration_Spec from the provided source +func (configuration *MaintenanceConfiguration_Spec) ConvertSpecFrom(source genruntime.ConvertibleSpec) error { + if source == configuration { + return errors.New("attempted conversion between unrelated implementations of github.com/Azure/azure-service-operator/v2/pkg/genruntime/ConvertibleSpec") + } + + return source.ConvertSpecTo(configuration) +} + +// ConvertSpecTo populates the provided destination from our MaintenanceConfiguration_Spec +func (configuration *MaintenanceConfiguration_Spec) ConvertSpecTo(destination genruntime.ConvertibleSpec) error { + if destination == configuration { + return errors.New("attempted conversion between unrelated implementations of github.com/Azure/azure-service-operator/v2/pkg/genruntime/ConvertibleSpec") + } + + return destination.ConvertSpecFrom(configuration) +} + +// Storage version of v1api20240901.MaintenanceConfiguration_STATUS +type MaintenanceConfiguration_STATUS struct { + Conditions []conditions.Condition `json:"conditions,omitempty"` + Id *string `json:"id,omitempty"` + MaintenanceWindow *MaintenanceWindow_STATUS `json:"maintenanceWindow,omitempty"` + Name *string `json:"name,omitempty"` + NotAllowedTime []TimeSpan_STATUS `json:"notAllowedTime,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + SystemData *SystemData_STATUS `json:"systemData,omitempty"` + TimeInWeek []TimeInWeek_STATUS `json:"timeInWeek,omitempty"` + Type *string `json:"type,omitempty"` +} + +var _ genruntime.ConvertibleStatus = &MaintenanceConfiguration_STATUS{} + +// ConvertStatusFrom populates our MaintenanceConfiguration_STATUS from the provided source +func (configuration *MaintenanceConfiguration_STATUS) ConvertStatusFrom(source genruntime.ConvertibleStatus) error { + if source == configuration { + return errors.New("attempted conversion between unrelated implementations of github.com/Azure/azure-service-operator/v2/pkg/genruntime/ConvertibleStatus") + } + + return source.ConvertStatusTo(configuration) +} + +// ConvertStatusTo populates the provided destination from our MaintenanceConfiguration_STATUS +func (configuration *MaintenanceConfiguration_STATUS) ConvertStatusTo(destination genruntime.ConvertibleStatus) error { + if destination == configuration { + return errors.New("attempted conversion between unrelated implementations of github.com/Azure/azure-service-operator/v2/pkg/genruntime/ConvertibleStatus") + } + + return destination.ConvertStatusFrom(configuration) +} + +// Storage version of v1api20240901.MaintenanceWindow +// Maintenance window used to configure scheduled auto-upgrade for a Managed Cluster. +type MaintenanceWindow struct { + DurationHours *int `json:"durationHours,omitempty"` + NotAllowedDates []DateSpan `json:"notAllowedDates,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Schedule *Schedule `json:"schedule,omitempty"` + StartDate *string `json:"startDate,omitempty"` + StartTime *string `json:"startTime,omitempty"` + UtcOffset *string `json:"utcOffset,omitempty"` +} + +// Storage version of v1api20240901.MaintenanceWindow_STATUS +// Maintenance window used to configure scheduled auto-upgrade for a Managed Cluster. +type MaintenanceWindow_STATUS struct { + DurationHours *int `json:"durationHours,omitempty"` + NotAllowedDates []DateSpan_STATUS `json:"notAllowedDates,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Schedule *Schedule_STATUS `json:"schedule,omitempty"` + StartDate *string `json:"startDate,omitempty"` + StartTime *string `json:"startTime,omitempty"` + UtcOffset *string `json:"utcOffset,omitempty"` +} + +// Storage version of v1api20240901.SystemData_STATUS +// Metadata pertaining to creation and last modification of the resource. +type SystemData_STATUS struct { + CreatedAt *string `json:"createdAt,omitempty"` + CreatedBy *string `json:"createdBy,omitempty"` + CreatedByType *string `json:"createdByType,omitempty"` + LastModifiedAt *string `json:"lastModifiedAt,omitempty"` + LastModifiedBy *string `json:"lastModifiedBy,omitempty"` + LastModifiedByType *string `json:"lastModifiedByType,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240901.TimeInWeek +// Time in a week. +type TimeInWeek struct { + Day *string `json:"day,omitempty"` + HourSlots []int `json:"hourSlots,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240901.TimeInWeek_STATUS +// Time in a week. +type TimeInWeek_STATUS struct { + Day *string `json:"day,omitempty"` + HourSlots []int `json:"hourSlots,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240901.TimeSpan +// For example, between 2021-05-25T13:00:00Z and 2021-05-25T14:00:00Z. +type TimeSpan struct { + End *string `json:"end,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Start *string `json:"start,omitempty"` +} + +// Storage version of v1api20240901.TimeSpan_STATUS +// For example, between 2021-05-25T13:00:00Z and 2021-05-25T14:00:00Z. +type TimeSpan_STATUS struct { + End *string `json:"end,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Start *string `json:"start,omitempty"` +} + +// Storage version of v1api20240901.DateSpan +// For example, between '2022-12-23' and '2023-01-05'. +type DateSpan struct { + End *string `json:"end,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Start *string `json:"start,omitempty"` +} + +// Storage version of v1api20240901.DateSpan_STATUS +// For example, between '2022-12-23' and '2023-01-05'. +type DateSpan_STATUS struct { + End *string `json:"end,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Start *string `json:"start,omitempty"` +} + +// Storage version of v1api20240901.Schedule +// One and only one of the schedule types should be specified. Choose either 'daily', 'weekly', 'absoluteMonthly' or +// 'relativeMonthly' for your maintenance schedule. +type Schedule struct { + AbsoluteMonthly *AbsoluteMonthlySchedule `json:"absoluteMonthly,omitempty"` + Daily *DailySchedule `json:"daily,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + RelativeMonthly *RelativeMonthlySchedule `json:"relativeMonthly,omitempty"` + Weekly *WeeklySchedule `json:"weekly,omitempty"` +} + +// Storage version of v1api20240901.Schedule_STATUS +// One and only one of the schedule types should be specified. Choose either 'daily', 'weekly', 'absoluteMonthly' or +// 'relativeMonthly' for your maintenance schedule. +type Schedule_STATUS struct { + AbsoluteMonthly *AbsoluteMonthlySchedule_STATUS `json:"absoluteMonthly,omitempty"` + Daily *DailySchedule_STATUS `json:"daily,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + RelativeMonthly *RelativeMonthlySchedule_STATUS `json:"relativeMonthly,omitempty"` + Weekly *WeeklySchedule_STATUS `json:"weekly,omitempty"` +} + +// Storage version of v1api20240901.AbsoluteMonthlySchedule +// For schedules like: 'recur every month on the 15th' or 'recur every 3 months on the 20th'. +type AbsoluteMonthlySchedule struct { + DayOfMonth *int `json:"dayOfMonth,omitempty"` + IntervalMonths *int `json:"intervalMonths,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240901.AbsoluteMonthlySchedule_STATUS +// For schedules like: 'recur every month on the 15th' or 'recur every 3 months on the 20th'. +type AbsoluteMonthlySchedule_STATUS struct { + DayOfMonth *int `json:"dayOfMonth,omitempty"` + IntervalMonths *int `json:"intervalMonths,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240901.DailySchedule +// For schedules like: 'recur every day' or 'recur every 3 days'. +type DailySchedule struct { + IntervalDays *int `json:"intervalDays,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240901.DailySchedule_STATUS +// For schedules like: 'recur every day' or 'recur every 3 days'. +type DailySchedule_STATUS struct { + IntervalDays *int `json:"intervalDays,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240901.RelativeMonthlySchedule +// For schedules like: 'recur every month on the first Monday' or 'recur every 3 months on last Friday'. +type RelativeMonthlySchedule struct { + DayOfWeek *string `json:"dayOfWeek,omitempty"` + IntervalMonths *int `json:"intervalMonths,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + WeekIndex *string `json:"weekIndex,omitempty"` +} + +// Storage version of v1api20240901.RelativeMonthlySchedule_STATUS +// For schedules like: 'recur every month on the first Monday' or 'recur every 3 months on last Friday'. +type RelativeMonthlySchedule_STATUS struct { + DayOfWeek *string `json:"dayOfWeek,omitempty"` + IntervalMonths *int `json:"intervalMonths,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + WeekIndex *string `json:"weekIndex,omitempty"` +} + +// Storage version of v1api20240901.WeeklySchedule +// For schedules like: 'recur every Monday' or 'recur every 3 weeks on Wednesday'. +type WeeklySchedule struct { + DayOfWeek *string `json:"dayOfWeek,omitempty"` + IntervalWeeks *int `json:"intervalWeeks,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240901.WeeklySchedule_STATUS +// For schedules like: 'recur every Monday' or 'recur every 3 weeks on Wednesday'. +type WeeklySchedule_STATUS struct { + DayOfWeek *string `json:"dayOfWeek,omitempty"` + IntervalWeeks *int `json:"intervalWeeks,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +func init() { + SchemeBuilder.Register(&MaintenanceConfiguration{}, &MaintenanceConfigurationList{}) +} diff --git a/v2/api/containerservice/v1api20240901/storage/maintenance_configuration_types_gen_test.go b/v2/api/containerservice/v1api20240901/storage/maintenance_configuration_types_gen_test.go new file mode 100644 index 00000000000..e70cc8a3b56 --- /dev/null +++ b/v2/api/containerservice/v1api20240901/storage/maintenance_configuration_types_gen_test.go @@ -0,0 +1,1446 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package storage + +import ( + "encoding/json" + "github.com/google/go-cmp/cmp" + "github.com/google/go-cmp/cmp/cmpopts" + "github.com/kr/pretty" + "github.com/kylelemons/godebug/diff" + "github.com/leanovate/gopter" + "github.com/leanovate/gopter/gen" + "github.com/leanovate/gopter/prop" + "os" + "reflect" + "testing" +) + +func Test_AbsoluteMonthlySchedule_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of AbsoluteMonthlySchedule via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAbsoluteMonthlySchedule, AbsoluteMonthlyScheduleGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAbsoluteMonthlySchedule runs a test to see if a specific instance of AbsoluteMonthlySchedule round trips to JSON and back losslessly +func RunJSONSerializationTestForAbsoluteMonthlySchedule(subject AbsoluteMonthlySchedule) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AbsoluteMonthlySchedule + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of AbsoluteMonthlySchedule instances for property testing - lazily instantiated by +// AbsoluteMonthlyScheduleGenerator() +var absoluteMonthlyScheduleGenerator gopter.Gen + +// AbsoluteMonthlyScheduleGenerator returns a generator of AbsoluteMonthlySchedule instances for property testing. +func AbsoluteMonthlyScheduleGenerator() gopter.Gen { + if absoluteMonthlyScheduleGenerator != nil { + return absoluteMonthlyScheduleGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAbsoluteMonthlySchedule(generators) + absoluteMonthlyScheduleGenerator = gen.Struct(reflect.TypeOf(AbsoluteMonthlySchedule{}), generators) + + return absoluteMonthlyScheduleGenerator +} + +// AddIndependentPropertyGeneratorsForAbsoluteMonthlySchedule is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAbsoluteMonthlySchedule(gens map[string]gopter.Gen) { + gens["DayOfMonth"] = gen.PtrOf(gen.Int()) + gens["IntervalMonths"] = gen.PtrOf(gen.Int()) +} + +func Test_AbsoluteMonthlySchedule_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of AbsoluteMonthlySchedule_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAbsoluteMonthlySchedule_STATUS, AbsoluteMonthlySchedule_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAbsoluteMonthlySchedule_STATUS runs a test to see if a specific instance of AbsoluteMonthlySchedule_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForAbsoluteMonthlySchedule_STATUS(subject AbsoluteMonthlySchedule_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AbsoluteMonthlySchedule_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of AbsoluteMonthlySchedule_STATUS instances for property testing - lazily instantiated by +// AbsoluteMonthlySchedule_STATUSGenerator() +var absoluteMonthlySchedule_STATUSGenerator gopter.Gen + +// AbsoluteMonthlySchedule_STATUSGenerator returns a generator of AbsoluteMonthlySchedule_STATUS instances for property testing. +func AbsoluteMonthlySchedule_STATUSGenerator() gopter.Gen { + if absoluteMonthlySchedule_STATUSGenerator != nil { + return absoluteMonthlySchedule_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAbsoluteMonthlySchedule_STATUS(generators) + absoluteMonthlySchedule_STATUSGenerator = gen.Struct(reflect.TypeOf(AbsoluteMonthlySchedule_STATUS{}), generators) + + return absoluteMonthlySchedule_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForAbsoluteMonthlySchedule_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAbsoluteMonthlySchedule_STATUS(gens map[string]gopter.Gen) { + gens["DayOfMonth"] = gen.PtrOf(gen.Int()) + gens["IntervalMonths"] = gen.PtrOf(gen.Int()) +} + +func Test_DailySchedule_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of DailySchedule via JSON returns original", + prop.ForAll(RunJSONSerializationTestForDailySchedule, DailyScheduleGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForDailySchedule runs a test to see if a specific instance of DailySchedule round trips to JSON and back losslessly +func RunJSONSerializationTestForDailySchedule(subject DailySchedule) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual DailySchedule + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of DailySchedule instances for property testing - lazily instantiated by DailyScheduleGenerator() +var dailyScheduleGenerator gopter.Gen + +// DailyScheduleGenerator returns a generator of DailySchedule instances for property testing. +func DailyScheduleGenerator() gopter.Gen { + if dailyScheduleGenerator != nil { + return dailyScheduleGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForDailySchedule(generators) + dailyScheduleGenerator = gen.Struct(reflect.TypeOf(DailySchedule{}), generators) + + return dailyScheduleGenerator +} + +// AddIndependentPropertyGeneratorsForDailySchedule is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForDailySchedule(gens map[string]gopter.Gen) { + gens["IntervalDays"] = gen.PtrOf(gen.Int()) +} + +func Test_DailySchedule_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of DailySchedule_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForDailySchedule_STATUS, DailySchedule_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForDailySchedule_STATUS runs a test to see if a specific instance of DailySchedule_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForDailySchedule_STATUS(subject DailySchedule_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual DailySchedule_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of DailySchedule_STATUS instances for property testing - lazily instantiated by +// DailySchedule_STATUSGenerator() +var dailySchedule_STATUSGenerator gopter.Gen + +// DailySchedule_STATUSGenerator returns a generator of DailySchedule_STATUS instances for property testing. +func DailySchedule_STATUSGenerator() gopter.Gen { + if dailySchedule_STATUSGenerator != nil { + return dailySchedule_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForDailySchedule_STATUS(generators) + dailySchedule_STATUSGenerator = gen.Struct(reflect.TypeOf(DailySchedule_STATUS{}), generators) + + return dailySchedule_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForDailySchedule_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForDailySchedule_STATUS(gens map[string]gopter.Gen) { + gens["IntervalDays"] = gen.PtrOf(gen.Int()) +} + +func Test_DateSpan_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of DateSpan via JSON returns original", + prop.ForAll(RunJSONSerializationTestForDateSpan, DateSpanGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForDateSpan runs a test to see if a specific instance of DateSpan round trips to JSON and back losslessly +func RunJSONSerializationTestForDateSpan(subject DateSpan) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual DateSpan + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of DateSpan instances for property testing - lazily instantiated by DateSpanGenerator() +var dateSpanGenerator gopter.Gen + +// DateSpanGenerator returns a generator of DateSpan instances for property testing. +func DateSpanGenerator() gopter.Gen { + if dateSpanGenerator != nil { + return dateSpanGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForDateSpan(generators) + dateSpanGenerator = gen.Struct(reflect.TypeOf(DateSpan{}), generators) + + return dateSpanGenerator +} + +// AddIndependentPropertyGeneratorsForDateSpan is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForDateSpan(gens map[string]gopter.Gen) { + gens["End"] = gen.PtrOf(gen.AlphaString()) + gens["Start"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_DateSpan_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of DateSpan_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForDateSpan_STATUS, DateSpan_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForDateSpan_STATUS runs a test to see if a specific instance of DateSpan_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForDateSpan_STATUS(subject DateSpan_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual DateSpan_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of DateSpan_STATUS instances for property testing - lazily instantiated by DateSpan_STATUSGenerator() +var dateSpan_STATUSGenerator gopter.Gen + +// DateSpan_STATUSGenerator returns a generator of DateSpan_STATUS instances for property testing. +func DateSpan_STATUSGenerator() gopter.Gen { + if dateSpan_STATUSGenerator != nil { + return dateSpan_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForDateSpan_STATUS(generators) + dateSpan_STATUSGenerator = gen.Struct(reflect.TypeOf(DateSpan_STATUS{}), generators) + + return dateSpan_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForDateSpan_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForDateSpan_STATUS(gens map[string]gopter.Gen) { + gens["End"] = gen.PtrOf(gen.AlphaString()) + gens["Start"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_MaintenanceConfiguration_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 20 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of MaintenanceConfiguration via JSON returns original", + prop.ForAll(RunJSONSerializationTestForMaintenanceConfiguration, MaintenanceConfigurationGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForMaintenanceConfiguration runs a test to see if a specific instance of MaintenanceConfiguration round trips to JSON and back losslessly +func RunJSONSerializationTestForMaintenanceConfiguration(subject MaintenanceConfiguration) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual MaintenanceConfiguration + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of MaintenanceConfiguration instances for property testing - lazily instantiated by +// MaintenanceConfigurationGenerator() +var maintenanceConfigurationGenerator gopter.Gen + +// MaintenanceConfigurationGenerator returns a generator of MaintenanceConfiguration instances for property testing. +func MaintenanceConfigurationGenerator() gopter.Gen { + if maintenanceConfigurationGenerator != nil { + return maintenanceConfigurationGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForMaintenanceConfiguration(generators) + maintenanceConfigurationGenerator = gen.Struct(reflect.TypeOf(MaintenanceConfiguration{}), generators) + + return maintenanceConfigurationGenerator +} + +// AddRelatedPropertyGeneratorsForMaintenanceConfiguration is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForMaintenanceConfiguration(gens map[string]gopter.Gen) { + gens["Spec"] = MaintenanceConfiguration_SpecGenerator() + gens["Status"] = MaintenanceConfiguration_STATUSGenerator() +} + +func Test_MaintenanceConfiguration_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of MaintenanceConfiguration_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForMaintenanceConfiguration_STATUS, MaintenanceConfiguration_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForMaintenanceConfiguration_STATUS runs a test to see if a specific instance of MaintenanceConfiguration_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForMaintenanceConfiguration_STATUS(subject MaintenanceConfiguration_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual MaintenanceConfiguration_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of MaintenanceConfiguration_STATUS instances for property testing - lazily instantiated by +// MaintenanceConfiguration_STATUSGenerator() +var maintenanceConfiguration_STATUSGenerator gopter.Gen + +// MaintenanceConfiguration_STATUSGenerator returns a generator of MaintenanceConfiguration_STATUS instances for property testing. +// We first initialize maintenanceConfiguration_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func MaintenanceConfiguration_STATUSGenerator() gopter.Gen { + if maintenanceConfiguration_STATUSGenerator != nil { + return maintenanceConfiguration_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForMaintenanceConfiguration_STATUS(generators) + maintenanceConfiguration_STATUSGenerator = gen.Struct(reflect.TypeOf(MaintenanceConfiguration_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForMaintenanceConfiguration_STATUS(generators) + AddRelatedPropertyGeneratorsForMaintenanceConfiguration_STATUS(generators) + maintenanceConfiguration_STATUSGenerator = gen.Struct(reflect.TypeOf(MaintenanceConfiguration_STATUS{}), generators) + + return maintenanceConfiguration_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForMaintenanceConfiguration_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForMaintenanceConfiguration_STATUS(gens map[string]gopter.Gen) { + gens["Id"] = gen.PtrOf(gen.AlphaString()) + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["Type"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForMaintenanceConfiguration_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForMaintenanceConfiguration_STATUS(gens map[string]gopter.Gen) { + gens["MaintenanceWindow"] = gen.PtrOf(MaintenanceWindow_STATUSGenerator()) + gens["NotAllowedTime"] = gen.SliceOf(TimeSpan_STATUSGenerator()) + gens["SystemData"] = gen.PtrOf(SystemData_STATUSGenerator()) + gens["TimeInWeek"] = gen.SliceOf(TimeInWeek_STATUSGenerator()) +} + +func Test_MaintenanceConfiguration_Spec_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of MaintenanceConfiguration_Spec via JSON returns original", + prop.ForAll(RunJSONSerializationTestForMaintenanceConfiguration_Spec, MaintenanceConfiguration_SpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForMaintenanceConfiguration_Spec runs a test to see if a specific instance of MaintenanceConfiguration_Spec round trips to JSON and back losslessly +func RunJSONSerializationTestForMaintenanceConfiguration_Spec(subject MaintenanceConfiguration_Spec) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual MaintenanceConfiguration_Spec + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of MaintenanceConfiguration_Spec instances for property testing - lazily instantiated by +// MaintenanceConfiguration_SpecGenerator() +var maintenanceConfiguration_SpecGenerator gopter.Gen + +// MaintenanceConfiguration_SpecGenerator returns a generator of MaintenanceConfiguration_Spec instances for property testing. +// We first initialize maintenanceConfiguration_SpecGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func MaintenanceConfiguration_SpecGenerator() gopter.Gen { + if maintenanceConfiguration_SpecGenerator != nil { + return maintenanceConfiguration_SpecGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForMaintenanceConfiguration_Spec(generators) + maintenanceConfiguration_SpecGenerator = gen.Struct(reflect.TypeOf(MaintenanceConfiguration_Spec{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForMaintenanceConfiguration_Spec(generators) + AddRelatedPropertyGeneratorsForMaintenanceConfiguration_Spec(generators) + maintenanceConfiguration_SpecGenerator = gen.Struct(reflect.TypeOf(MaintenanceConfiguration_Spec{}), generators) + + return maintenanceConfiguration_SpecGenerator +} + +// AddIndependentPropertyGeneratorsForMaintenanceConfiguration_Spec is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForMaintenanceConfiguration_Spec(gens map[string]gopter.Gen) { + gens["AzureName"] = gen.AlphaString() + gens["OriginalVersion"] = gen.AlphaString() +} + +// AddRelatedPropertyGeneratorsForMaintenanceConfiguration_Spec is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForMaintenanceConfiguration_Spec(gens map[string]gopter.Gen) { + gens["MaintenanceWindow"] = gen.PtrOf(MaintenanceWindowGenerator()) + gens["NotAllowedTime"] = gen.SliceOf(TimeSpanGenerator()) + gens["TimeInWeek"] = gen.SliceOf(TimeInWeekGenerator()) +} + +func Test_MaintenanceWindow_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of MaintenanceWindow via JSON returns original", + prop.ForAll(RunJSONSerializationTestForMaintenanceWindow, MaintenanceWindowGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForMaintenanceWindow runs a test to see if a specific instance of MaintenanceWindow round trips to JSON and back losslessly +func RunJSONSerializationTestForMaintenanceWindow(subject MaintenanceWindow) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual MaintenanceWindow + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of MaintenanceWindow instances for property testing - lazily instantiated by MaintenanceWindowGenerator() +var maintenanceWindowGenerator gopter.Gen + +// MaintenanceWindowGenerator returns a generator of MaintenanceWindow instances for property testing. +// We first initialize maintenanceWindowGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func MaintenanceWindowGenerator() gopter.Gen { + if maintenanceWindowGenerator != nil { + return maintenanceWindowGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForMaintenanceWindow(generators) + maintenanceWindowGenerator = gen.Struct(reflect.TypeOf(MaintenanceWindow{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForMaintenanceWindow(generators) + AddRelatedPropertyGeneratorsForMaintenanceWindow(generators) + maintenanceWindowGenerator = gen.Struct(reflect.TypeOf(MaintenanceWindow{}), generators) + + return maintenanceWindowGenerator +} + +// AddIndependentPropertyGeneratorsForMaintenanceWindow is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForMaintenanceWindow(gens map[string]gopter.Gen) { + gens["DurationHours"] = gen.PtrOf(gen.Int()) + gens["StartDate"] = gen.PtrOf(gen.AlphaString()) + gens["StartTime"] = gen.PtrOf(gen.AlphaString()) + gens["UtcOffset"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForMaintenanceWindow is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForMaintenanceWindow(gens map[string]gopter.Gen) { + gens["NotAllowedDates"] = gen.SliceOf(DateSpanGenerator()) + gens["Schedule"] = gen.PtrOf(ScheduleGenerator()) +} + +func Test_MaintenanceWindow_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of MaintenanceWindow_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForMaintenanceWindow_STATUS, MaintenanceWindow_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForMaintenanceWindow_STATUS runs a test to see if a specific instance of MaintenanceWindow_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForMaintenanceWindow_STATUS(subject MaintenanceWindow_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual MaintenanceWindow_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of MaintenanceWindow_STATUS instances for property testing - lazily instantiated by +// MaintenanceWindow_STATUSGenerator() +var maintenanceWindow_STATUSGenerator gopter.Gen + +// MaintenanceWindow_STATUSGenerator returns a generator of MaintenanceWindow_STATUS instances for property testing. +// We first initialize maintenanceWindow_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func MaintenanceWindow_STATUSGenerator() gopter.Gen { + if maintenanceWindow_STATUSGenerator != nil { + return maintenanceWindow_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForMaintenanceWindow_STATUS(generators) + maintenanceWindow_STATUSGenerator = gen.Struct(reflect.TypeOf(MaintenanceWindow_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForMaintenanceWindow_STATUS(generators) + AddRelatedPropertyGeneratorsForMaintenanceWindow_STATUS(generators) + maintenanceWindow_STATUSGenerator = gen.Struct(reflect.TypeOf(MaintenanceWindow_STATUS{}), generators) + + return maintenanceWindow_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForMaintenanceWindow_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForMaintenanceWindow_STATUS(gens map[string]gopter.Gen) { + gens["DurationHours"] = gen.PtrOf(gen.Int()) + gens["StartDate"] = gen.PtrOf(gen.AlphaString()) + gens["StartTime"] = gen.PtrOf(gen.AlphaString()) + gens["UtcOffset"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForMaintenanceWindow_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForMaintenanceWindow_STATUS(gens map[string]gopter.Gen) { + gens["NotAllowedDates"] = gen.SliceOf(DateSpan_STATUSGenerator()) + gens["Schedule"] = gen.PtrOf(Schedule_STATUSGenerator()) +} + +func Test_RelativeMonthlySchedule_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of RelativeMonthlySchedule via JSON returns original", + prop.ForAll(RunJSONSerializationTestForRelativeMonthlySchedule, RelativeMonthlyScheduleGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForRelativeMonthlySchedule runs a test to see if a specific instance of RelativeMonthlySchedule round trips to JSON and back losslessly +func RunJSONSerializationTestForRelativeMonthlySchedule(subject RelativeMonthlySchedule) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual RelativeMonthlySchedule + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of RelativeMonthlySchedule instances for property testing - lazily instantiated by +// RelativeMonthlyScheduleGenerator() +var relativeMonthlyScheduleGenerator gopter.Gen + +// RelativeMonthlyScheduleGenerator returns a generator of RelativeMonthlySchedule instances for property testing. +func RelativeMonthlyScheduleGenerator() gopter.Gen { + if relativeMonthlyScheduleGenerator != nil { + return relativeMonthlyScheduleGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForRelativeMonthlySchedule(generators) + relativeMonthlyScheduleGenerator = gen.Struct(reflect.TypeOf(RelativeMonthlySchedule{}), generators) + + return relativeMonthlyScheduleGenerator +} + +// AddIndependentPropertyGeneratorsForRelativeMonthlySchedule is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForRelativeMonthlySchedule(gens map[string]gopter.Gen) { + gens["DayOfWeek"] = gen.PtrOf(gen.AlphaString()) + gens["IntervalMonths"] = gen.PtrOf(gen.Int()) + gens["WeekIndex"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_RelativeMonthlySchedule_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of RelativeMonthlySchedule_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForRelativeMonthlySchedule_STATUS, RelativeMonthlySchedule_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForRelativeMonthlySchedule_STATUS runs a test to see if a specific instance of RelativeMonthlySchedule_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForRelativeMonthlySchedule_STATUS(subject RelativeMonthlySchedule_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual RelativeMonthlySchedule_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of RelativeMonthlySchedule_STATUS instances for property testing - lazily instantiated by +// RelativeMonthlySchedule_STATUSGenerator() +var relativeMonthlySchedule_STATUSGenerator gopter.Gen + +// RelativeMonthlySchedule_STATUSGenerator returns a generator of RelativeMonthlySchedule_STATUS instances for property testing. +func RelativeMonthlySchedule_STATUSGenerator() gopter.Gen { + if relativeMonthlySchedule_STATUSGenerator != nil { + return relativeMonthlySchedule_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForRelativeMonthlySchedule_STATUS(generators) + relativeMonthlySchedule_STATUSGenerator = gen.Struct(reflect.TypeOf(RelativeMonthlySchedule_STATUS{}), generators) + + return relativeMonthlySchedule_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForRelativeMonthlySchedule_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForRelativeMonthlySchedule_STATUS(gens map[string]gopter.Gen) { + gens["DayOfWeek"] = gen.PtrOf(gen.AlphaString()) + gens["IntervalMonths"] = gen.PtrOf(gen.Int()) + gens["WeekIndex"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_Schedule_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of Schedule via JSON returns original", + prop.ForAll(RunJSONSerializationTestForSchedule, ScheduleGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForSchedule runs a test to see if a specific instance of Schedule round trips to JSON and back losslessly +func RunJSONSerializationTestForSchedule(subject Schedule) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Schedule + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of Schedule instances for property testing - lazily instantiated by ScheduleGenerator() +var scheduleGenerator gopter.Gen + +// ScheduleGenerator returns a generator of Schedule instances for property testing. +func ScheduleGenerator() gopter.Gen { + if scheduleGenerator != nil { + return scheduleGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForSchedule(generators) + scheduleGenerator = gen.Struct(reflect.TypeOf(Schedule{}), generators) + + return scheduleGenerator +} + +// AddRelatedPropertyGeneratorsForSchedule is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForSchedule(gens map[string]gopter.Gen) { + gens["AbsoluteMonthly"] = gen.PtrOf(AbsoluteMonthlyScheduleGenerator()) + gens["Daily"] = gen.PtrOf(DailyScheduleGenerator()) + gens["RelativeMonthly"] = gen.PtrOf(RelativeMonthlyScheduleGenerator()) + gens["Weekly"] = gen.PtrOf(WeeklyScheduleGenerator()) +} + +func Test_Schedule_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of Schedule_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForSchedule_STATUS, Schedule_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForSchedule_STATUS runs a test to see if a specific instance of Schedule_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForSchedule_STATUS(subject Schedule_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Schedule_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of Schedule_STATUS instances for property testing - lazily instantiated by Schedule_STATUSGenerator() +var schedule_STATUSGenerator gopter.Gen + +// Schedule_STATUSGenerator returns a generator of Schedule_STATUS instances for property testing. +func Schedule_STATUSGenerator() gopter.Gen { + if schedule_STATUSGenerator != nil { + return schedule_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForSchedule_STATUS(generators) + schedule_STATUSGenerator = gen.Struct(reflect.TypeOf(Schedule_STATUS{}), generators) + + return schedule_STATUSGenerator +} + +// AddRelatedPropertyGeneratorsForSchedule_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForSchedule_STATUS(gens map[string]gopter.Gen) { + gens["AbsoluteMonthly"] = gen.PtrOf(AbsoluteMonthlySchedule_STATUSGenerator()) + gens["Daily"] = gen.PtrOf(DailySchedule_STATUSGenerator()) + gens["RelativeMonthly"] = gen.PtrOf(RelativeMonthlySchedule_STATUSGenerator()) + gens["Weekly"] = gen.PtrOf(WeeklySchedule_STATUSGenerator()) +} + +func Test_SystemData_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of SystemData_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForSystemData_STATUS, SystemData_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForSystemData_STATUS runs a test to see if a specific instance of SystemData_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForSystemData_STATUS(subject SystemData_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual SystemData_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of SystemData_STATUS instances for property testing - lazily instantiated by SystemData_STATUSGenerator() +var systemData_STATUSGenerator gopter.Gen + +// SystemData_STATUSGenerator returns a generator of SystemData_STATUS instances for property testing. +func SystemData_STATUSGenerator() gopter.Gen { + if systemData_STATUSGenerator != nil { + return systemData_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForSystemData_STATUS(generators) + systemData_STATUSGenerator = gen.Struct(reflect.TypeOf(SystemData_STATUS{}), generators) + + return systemData_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForSystemData_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForSystemData_STATUS(gens map[string]gopter.Gen) { + gens["CreatedAt"] = gen.PtrOf(gen.AlphaString()) + gens["CreatedBy"] = gen.PtrOf(gen.AlphaString()) + gens["CreatedByType"] = gen.PtrOf(gen.AlphaString()) + gens["LastModifiedAt"] = gen.PtrOf(gen.AlphaString()) + gens["LastModifiedBy"] = gen.PtrOf(gen.AlphaString()) + gens["LastModifiedByType"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_TimeInWeek_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of TimeInWeek via JSON returns original", + prop.ForAll(RunJSONSerializationTestForTimeInWeek, TimeInWeekGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForTimeInWeek runs a test to see if a specific instance of TimeInWeek round trips to JSON and back losslessly +func RunJSONSerializationTestForTimeInWeek(subject TimeInWeek) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual TimeInWeek + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of TimeInWeek instances for property testing - lazily instantiated by TimeInWeekGenerator() +var timeInWeekGenerator gopter.Gen + +// TimeInWeekGenerator returns a generator of TimeInWeek instances for property testing. +func TimeInWeekGenerator() gopter.Gen { + if timeInWeekGenerator != nil { + return timeInWeekGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForTimeInWeek(generators) + timeInWeekGenerator = gen.Struct(reflect.TypeOf(TimeInWeek{}), generators) + + return timeInWeekGenerator +} + +// AddIndependentPropertyGeneratorsForTimeInWeek is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForTimeInWeek(gens map[string]gopter.Gen) { + gens["Day"] = gen.PtrOf(gen.AlphaString()) + gens["HourSlots"] = gen.SliceOf(gen.Int()) +} + +func Test_TimeInWeek_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of TimeInWeek_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForTimeInWeek_STATUS, TimeInWeek_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForTimeInWeek_STATUS runs a test to see if a specific instance of TimeInWeek_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForTimeInWeek_STATUS(subject TimeInWeek_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual TimeInWeek_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of TimeInWeek_STATUS instances for property testing - lazily instantiated by TimeInWeek_STATUSGenerator() +var timeInWeek_STATUSGenerator gopter.Gen + +// TimeInWeek_STATUSGenerator returns a generator of TimeInWeek_STATUS instances for property testing. +func TimeInWeek_STATUSGenerator() gopter.Gen { + if timeInWeek_STATUSGenerator != nil { + return timeInWeek_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForTimeInWeek_STATUS(generators) + timeInWeek_STATUSGenerator = gen.Struct(reflect.TypeOf(TimeInWeek_STATUS{}), generators) + + return timeInWeek_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForTimeInWeek_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForTimeInWeek_STATUS(gens map[string]gopter.Gen) { + gens["Day"] = gen.PtrOf(gen.AlphaString()) + gens["HourSlots"] = gen.SliceOf(gen.Int()) +} + +func Test_TimeSpan_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of TimeSpan via JSON returns original", + prop.ForAll(RunJSONSerializationTestForTimeSpan, TimeSpanGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForTimeSpan runs a test to see if a specific instance of TimeSpan round trips to JSON and back losslessly +func RunJSONSerializationTestForTimeSpan(subject TimeSpan) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual TimeSpan + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of TimeSpan instances for property testing - lazily instantiated by TimeSpanGenerator() +var timeSpanGenerator gopter.Gen + +// TimeSpanGenerator returns a generator of TimeSpan instances for property testing. +func TimeSpanGenerator() gopter.Gen { + if timeSpanGenerator != nil { + return timeSpanGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForTimeSpan(generators) + timeSpanGenerator = gen.Struct(reflect.TypeOf(TimeSpan{}), generators) + + return timeSpanGenerator +} + +// AddIndependentPropertyGeneratorsForTimeSpan is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForTimeSpan(gens map[string]gopter.Gen) { + gens["End"] = gen.PtrOf(gen.AlphaString()) + gens["Start"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_TimeSpan_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of TimeSpan_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForTimeSpan_STATUS, TimeSpan_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForTimeSpan_STATUS runs a test to see if a specific instance of TimeSpan_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForTimeSpan_STATUS(subject TimeSpan_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual TimeSpan_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of TimeSpan_STATUS instances for property testing - lazily instantiated by TimeSpan_STATUSGenerator() +var timeSpan_STATUSGenerator gopter.Gen + +// TimeSpan_STATUSGenerator returns a generator of TimeSpan_STATUS instances for property testing. +func TimeSpan_STATUSGenerator() gopter.Gen { + if timeSpan_STATUSGenerator != nil { + return timeSpan_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForTimeSpan_STATUS(generators) + timeSpan_STATUSGenerator = gen.Struct(reflect.TypeOf(TimeSpan_STATUS{}), generators) + + return timeSpan_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForTimeSpan_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForTimeSpan_STATUS(gens map[string]gopter.Gen) { + gens["End"] = gen.PtrOf(gen.AlphaString()) + gens["Start"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_WeeklySchedule_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of WeeklySchedule via JSON returns original", + prop.ForAll(RunJSONSerializationTestForWeeklySchedule, WeeklyScheduleGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForWeeklySchedule runs a test to see if a specific instance of WeeklySchedule round trips to JSON and back losslessly +func RunJSONSerializationTestForWeeklySchedule(subject WeeklySchedule) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual WeeklySchedule + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of WeeklySchedule instances for property testing - lazily instantiated by WeeklyScheduleGenerator() +var weeklyScheduleGenerator gopter.Gen + +// WeeklyScheduleGenerator returns a generator of WeeklySchedule instances for property testing. +func WeeklyScheduleGenerator() gopter.Gen { + if weeklyScheduleGenerator != nil { + return weeklyScheduleGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForWeeklySchedule(generators) + weeklyScheduleGenerator = gen.Struct(reflect.TypeOf(WeeklySchedule{}), generators) + + return weeklyScheduleGenerator +} + +// AddIndependentPropertyGeneratorsForWeeklySchedule is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForWeeklySchedule(gens map[string]gopter.Gen) { + gens["DayOfWeek"] = gen.PtrOf(gen.AlphaString()) + gens["IntervalWeeks"] = gen.PtrOf(gen.Int()) +} + +func Test_WeeklySchedule_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of WeeklySchedule_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForWeeklySchedule_STATUS, WeeklySchedule_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForWeeklySchedule_STATUS runs a test to see if a specific instance of WeeklySchedule_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForWeeklySchedule_STATUS(subject WeeklySchedule_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual WeeklySchedule_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of WeeklySchedule_STATUS instances for property testing - lazily instantiated by +// WeeklySchedule_STATUSGenerator() +var weeklySchedule_STATUSGenerator gopter.Gen + +// WeeklySchedule_STATUSGenerator returns a generator of WeeklySchedule_STATUS instances for property testing. +func WeeklySchedule_STATUSGenerator() gopter.Gen { + if weeklySchedule_STATUSGenerator != nil { + return weeklySchedule_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForWeeklySchedule_STATUS(generators) + weeklySchedule_STATUSGenerator = gen.Struct(reflect.TypeOf(WeeklySchedule_STATUS{}), generators) + + return weeklySchedule_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForWeeklySchedule_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForWeeklySchedule_STATUS(gens map[string]gopter.Gen) { + gens["DayOfWeek"] = gen.PtrOf(gen.AlphaString()) + gens["IntervalWeeks"] = gen.PtrOf(gen.Int()) +} diff --git a/v2/api/containerservice/v1api20240901/storage/managed_cluster_types_gen.go b/v2/api/containerservice/v1api20240901/storage/managed_cluster_types_gen.go new file mode 100644 index 00000000000..f568ca9e06d --- /dev/null +++ b/v2/api/containerservice/v1api20240901/storage/managed_cluster_types_gen.go @@ -0,0 +1,1679 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package storage + +import ( + "context" + "github.com/Azure/azure-service-operator/v2/internal/genericarmclient" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime/conditions" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime/configmaps" + "github.com/go-logr/logr" + "github.com/pkg/errors" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/client" +) + +// +kubebuilder:rbac:groups=containerservice.azure.com,resources=managedclusters,verbs=get;list;watch;create;update;patch;delete +// +kubebuilder:rbac:groups=containerservice.azure.com,resources={managedclusters/status,managedclusters/finalizers},verbs=get;update;patch + +// +kubebuilder:object:root=true +// +kubebuilder:subresource:status +// +kubebuilder:storageversion +// +kubebuilder:printcolumn:name="Ready",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +// +kubebuilder:printcolumn:name="Severity",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].severity" +// +kubebuilder:printcolumn:name="Reason",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].reason" +// +kubebuilder:printcolumn:name="Message",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].message" +// Storage version of v1api20240901.ManagedCluster +// Generator information: +// - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2024-09-01/managedClusters.json +// - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName} +type ManagedCluster struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec ManagedCluster_Spec `json:"spec,omitempty"` + Status ManagedCluster_STATUS `json:"status,omitempty"` +} + +var _ conditions.Conditioner = &ManagedCluster{} + +// GetConditions returns the conditions of the resource +func (cluster *ManagedCluster) GetConditions() conditions.Conditions { + return cluster.Status.Conditions +} + +// SetConditions sets the conditions on the resource status +func (cluster *ManagedCluster) SetConditions(conditions conditions.Conditions) { + cluster.Status.Conditions = conditions +} + +var _ genruntime.KubernetesConfigExporter = &ManagedCluster{} + +// ExportKubernetesConfigMaps defines a resource which can create ConfigMaps in Kubernetes. +func (cluster *ManagedCluster) ExportKubernetesConfigMaps(_ context.Context, _ genruntime.MetaObject, _ *genericarmclient.GenericClient, _ logr.Logger) ([]client.Object, error) { + collector := configmaps.NewCollector(cluster.Namespace) + if cluster.Spec.OperatorSpec != nil && cluster.Spec.OperatorSpec.ConfigMaps != nil { + if cluster.Status.OidcIssuerProfile != nil { + if cluster.Status.OidcIssuerProfile.IssuerURL != nil { + collector.AddValue(cluster.Spec.OperatorSpec.ConfigMaps.OIDCIssuerProfile, *cluster.Status.OidcIssuerProfile.IssuerURL) + } + } + } + result, err := collector.Values() + if err != nil { + return nil, err + } + return configmaps.SliceToClientObjectSlice(result), nil +} + +var _ genruntime.KubernetesResource = &ManagedCluster{} + +// AzureName returns the Azure name of the resource +func (cluster *ManagedCluster) AzureName() string { + return cluster.Spec.AzureName +} + +// GetAPIVersion returns the ARM API version of the resource. This is always "2024-09-01" +func (cluster ManagedCluster) GetAPIVersion() string { + return "2024-09-01" +} + +// GetResourceScope returns the scope of the resource +func (cluster *ManagedCluster) GetResourceScope() genruntime.ResourceScope { + return genruntime.ResourceScopeResourceGroup +} + +// GetSpec returns the specification of this resource +func (cluster *ManagedCluster) GetSpec() genruntime.ConvertibleSpec { + return &cluster.Spec +} + +// GetStatus returns the status of this resource +func (cluster *ManagedCluster) GetStatus() genruntime.ConvertibleStatus { + return &cluster.Status +} + +// GetSupportedOperations returns the operations supported by the resource +func (cluster *ManagedCluster) GetSupportedOperations() []genruntime.ResourceOperation { + return []genruntime.ResourceOperation{ + genruntime.ResourceOperationDelete, + genruntime.ResourceOperationGet, + genruntime.ResourceOperationPut, + } +} + +// GetType returns the ARM Type of the resource. This is always "Microsoft.ContainerService/managedClusters" +func (cluster *ManagedCluster) GetType() string { + return "Microsoft.ContainerService/managedClusters" +} + +// NewEmptyStatus returns a new empty (blank) status +func (cluster *ManagedCluster) NewEmptyStatus() genruntime.ConvertibleStatus { + return &ManagedCluster_STATUS{} +} + +// Owner returns the ResourceReference of the owner +func (cluster *ManagedCluster) Owner() *genruntime.ResourceReference { + group, kind := genruntime.LookupOwnerGroupKind(cluster.Spec) + return cluster.Spec.Owner.AsResourceReference(group, kind) +} + +// SetStatus sets the status of this resource +func (cluster *ManagedCluster) SetStatus(status genruntime.ConvertibleStatus) error { + // If we have exactly the right type of status, assign it + if st, ok := status.(*ManagedCluster_STATUS); ok { + cluster.Status = *st + return nil + } + + // Convert status to required version + var st ManagedCluster_STATUS + err := status.ConvertStatusTo(&st) + if err != nil { + return errors.Wrap(err, "failed to convert status") + } + + cluster.Status = st + return nil +} + +// Hub marks that this ManagedCluster is the hub type for conversion +func (cluster *ManagedCluster) Hub() {} + +// OriginalGVK returns a GroupValueKind for the original API version used to create the resource +func (cluster *ManagedCluster) OriginalGVK() *schema.GroupVersionKind { + return &schema.GroupVersionKind{ + Group: GroupVersion.Group, + Version: cluster.Spec.OriginalVersion, + Kind: "ManagedCluster", + } +} + +// +kubebuilder:object:root=true +// Storage version of v1api20240901.ManagedCluster +// Generator information: +// - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2024-09-01/managedClusters.json +// - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName} +type ManagedClusterList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []ManagedCluster `json:"items"` +} + +// Storage version of v1api20240901.ManagedCluster_Spec +type ManagedCluster_Spec struct { + AadProfile *ManagedClusterAADProfile `json:"aadProfile,omitempty"` + AddonProfiles map[string]ManagedClusterAddonProfile `json:"addonProfiles,omitempty"` + AgentPoolProfiles []ManagedClusterAgentPoolProfile `json:"agentPoolProfiles,omitempty"` + ApiServerAccessProfile *ManagedClusterAPIServerAccessProfile `json:"apiServerAccessProfile,omitempty"` + AutoScalerProfile *ManagedClusterProperties_AutoScalerProfile `json:"autoScalerProfile,omitempty"` + AutoUpgradeProfile *ManagedClusterAutoUpgradeProfile `json:"autoUpgradeProfile,omitempty"` + AzureMonitorProfile *ManagedClusterAzureMonitorProfile `json:"azureMonitorProfile,omitempty"` + + // AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + // doesn't have to be. + AzureName string `json:"azureName,omitempty"` + DisableLocalAccounts *bool `json:"disableLocalAccounts,omitempty"` + + // DiskEncryptionSetReference: This is of the form: + // '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}' + DiskEncryptionSetReference *genruntime.ResourceReference `armReference:"DiskEncryptionSetID" json:"diskEncryptionSetReference,omitempty"` + DnsPrefix *string `json:"dnsPrefix,omitempty"` + EnablePodSecurityPolicy *bool `json:"enablePodSecurityPolicy,omitempty"` + EnableRBAC *bool `json:"enableRBAC,omitempty"` + ExtendedLocation *ExtendedLocation `json:"extendedLocation,omitempty"` + FqdnSubdomain *string `json:"fqdnSubdomain,omitempty"` + HttpProxyConfig *ManagedClusterHTTPProxyConfig `json:"httpProxyConfig,omitempty"` + Identity *ManagedClusterIdentity `json:"identity,omitempty"` + IdentityProfile map[string]UserAssignedIdentity `json:"identityProfile,omitempty"` + IngressProfile *ManagedClusterIngressProfile `json:"ingressProfile,omitempty"` + KubernetesVersion *string `json:"kubernetesVersion,omitempty"` + LinuxProfile *ContainerServiceLinuxProfile `json:"linuxProfile,omitempty"` + Location *string `json:"location,omitempty"` + MetricsProfile *ManagedClusterMetricsProfile `json:"metricsProfile,omitempty"` + NetworkProfile *ContainerServiceNetworkProfile `json:"networkProfile,omitempty"` + NodeResourceGroup *string `json:"nodeResourceGroup,omitempty"` + NodeResourceGroupProfile *ManagedClusterNodeResourceGroupProfile `json:"nodeResourceGroupProfile,omitempty"` + OidcIssuerProfile *ManagedClusterOIDCIssuerProfile `json:"oidcIssuerProfile,omitempty"` + OperatorSpec *ManagedClusterOperatorSpec `json:"operatorSpec,omitempty"` + OriginalVersion string `json:"originalVersion,omitempty"` + + // +kubebuilder:validation:Required + // Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + // controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + // reference to a resources.azure.com/ResourceGroup resource + Owner *genruntime.KnownResourceReference `group:"resources.azure.com" json:"owner,omitempty" kind:"ResourceGroup"` + PodIdentityProfile *ManagedClusterPodIdentityProfile `json:"podIdentityProfile,omitempty"` + PrivateLinkResources []PrivateLinkResource `json:"privateLinkResources,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + PublicNetworkAccess *string `json:"publicNetworkAccess,omitempty"` + SecurityProfile *ManagedClusterSecurityProfile `json:"securityProfile,omitempty"` + ServiceMeshProfile *ServiceMeshProfile `json:"serviceMeshProfile,omitempty"` + ServicePrincipalProfile *ManagedClusterServicePrincipalProfile `json:"servicePrincipalProfile,omitempty"` + Sku *ManagedClusterSKU `json:"sku,omitempty"` + StorageProfile *ManagedClusterStorageProfile `json:"storageProfile,omitempty"` + SupportPlan *string `json:"supportPlan,omitempty"` + Tags map[string]string `json:"tags,omitempty" serializationType:"explicitEmptyCollection"` + UpgradeSettings *ClusterUpgradeSettings `json:"upgradeSettings,omitempty"` + WindowsProfile *ManagedClusterWindowsProfile `json:"windowsProfile,omitempty"` + WorkloadAutoScalerProfile *ManagedClusterWorkloadAutoScalerProfile `json:"workloadAutoScalerProfile,omitempty"` +} + +var _ genruntime.ConvertibleSpec = &ManagedCluster_Spec{} + +// ConvertSpecFrom populates our ManagedCluster_Spec from the provided source +func (cluster *ManagedCluster_Spec) ConvertSpecFrom(source genruntime.ConvertibleSpec) error { + if source == cluster { + return errors.New("attempted conversion between unrelated implementations of github.com/Azure/azure-service-operator/v2/pkg/genruntime/ConvertibleSpec") + } + + return source.ConvertSpecTo(cluster) +} + +// ConvertSpecTo populates the provided destination from our ManagedCluster_Spec +func (cluster *ManagedCluster_Spec) ConvertSpecTo(destination genruntime.ConvertibleSpec) error { + if destination == cluster { + return errors.New("attempted conversion between unrelated implementations of github.com/Azure/azure-service-operator/v2/pkg/genruntime/ConvertibleSpec") + } + + return destination.ConvertSpecFrom(cluster) +} + +// Storage version of v1api20240901.ManagedCluster_STATUS +// Managed cluster. +type ManagedCluster_STATUS struct { + AadProfile *ManagedClusterAADProfile_STATUS `json:"aadProfile,omitempty"` + AddonProfiles map[string]ManagedClusterAddonProfile_STATUS `json:"addonProfiles,omitempty"` + AgentPoolProfiles []ManagedClusterAgentPoolProfile_STATUS `json:"agentPoolProfiles,omitempty"` + ApiServerAccessProfile *ManagedClusterAPIServerAccessProfile_STATUS `json:"apiServerAccessProfile,omitempty"` + AutoScalerProfile *ManagedClusterProperties_AutoScalerProfile_STATUS `json:"autoScalerProfile,omitempty"` + AutoUpgradeProfile *ManagedClusterAutoUpgradeProfile_STATUS `json:"autoUpgradeProfile,omitempty"` + AzureMonitorProfile *ManagedClusterAzureMonitorProfile_STATUS `json:"azureMonitorProfile,omitempty"` + AzurePortalFQDN *string `json:"azurePortalFQDN,omitempty"` + Conditions []conditions.Condition `json:"conditions,omitempty"` + CurrentKubernetesVersion *string `json:"currentKubernetesVersion,omitempty"` + DisableLocalAccounts *bool `json:"disableLocalAccounts,omitempty"` + DiskEncryptionSetID *string `json:"diskEncryptionSetID,omitempty"` + DnsPrefix *string `json:"dnsPrefix,omitempty"` + ETag *string `json:"eTag,omitempty"` + EnablePodSecurityPolicy *bool `json:"enablePodSecurityPolicy,omitempty"` + EnableRBAC *bool `json:"enableRBAC,omitempty"` + ExtendedLocation *ExtendedLocation_STATUS `json:"extendedLocation,omitempty"` + Fqdn *string `json:"fqdn,omitempty"` + FqdnSubdomain *string `json:"fqdnSubdomain,omitempty"` + HttpProxyConfig *ManagedClusterHTTPProxyConfig_STATUS `json:"httpProxyConfig,omitempty"` + Id *string `json:"id,omitempty"` + Identity *ManagedClusterIdentity_STATUS `json:"identity,omitempty"` + IdentityProfile map[string]UserAssignedIdentity_STATUS `json:"identityProfile,omitempty"` + IngressProfile *ManagedClusterIngressProfile_STATUS `json:"ingressProfile,omitempty"` + KubernetesVersion *string `json:"kubernetesVersion,omitempty"` + LinuxProfile *ContainerServiceLinuxProfile_STATUS `json:"linuxProfile,omitempty"` + Location *string `json:"location,omitempty"` + MaxAgentPools *int `json:"maxAgentPools,omitempty"` + MetricsProfile *ManagedClusterMetricsProfile_STATUS `json:"metricsProfile,omitempty"` + Name *string `json:"name,omitempty"` + NetworkProfile *ContainerServiceNetworkProfile_STATUS `json:"networkProfile,omitempty"` + NodeResourceGroup *string `json:"nodeResourceGroup,omitempty"` + NodeResourceGroupProfile *ManagedClusterNodeResourceGroupProfile_STATUS `json:"nodeResourceGroupProfile,omitempty"` + OidcIssuerProfile *ManagedClusterOIDCIssuerProfile_STATUS `json:"oidcIssuerProfile,omitempty"` + PodIdentityProfile *ManagedClusterPodIdentityProfile_STATUS `json:"podIdentityProfile,omitempty"` + PowerState *PowerState_STATUS `json:"powerState,omitempty"` + PrivateFQDN *string `json:"privateFQDN,omitempty"` + PrivateLinkResources []PrivateLinkResource_STATUS `json:"privateLinkResources,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + ProvisioningState *string `json:"provisioningState,omitempty"` + PublicNetworkAccess *string `json:"publicNetworkAccess,omitempty"` + ResourceUID *string `json:"resourceUID,omitempty"` + SecurityProfile *ManagedClusterSecurityProfile_STATUS `json:"securityProfile,omitempty"` + ServiceMeshProfile *ServiceMeshProfile_STATUS `json:"serviceMeshProfile,omitempty"` + ServicePrincipalProfile *ManagedClusterServicePrincipalProfile_STATUS `json:"servicePrincipalProfile,omitempty"` + Sku *ManagedClusterSKU_STATUS `json:"sku,omitempty"` + StorageProfile *ManagedClusterStorageProfile_STATUS `json:"storageProfile,omitempty"` + SupportPlan *string `json:"supportPlan,omitempty"` + SystemData *SystemData_STATUS `json:"systemData,omitempty"` + Tags map[string]string `json:"tags,omitempty"` + Type *string `json:"type,omitempty"` + UpgradeSettings *ClusterUpgradeSettings_STATUS `json:"upgradeSettings,omitempty"` + WindowsProfile *ManagedClusterWindowsProfile_STATUS `json:"windowsProfile,omitempty"` + WorkloadAutoScalerProfile *ManagedClusterWorkloadAutoScalerProfile_STATUS `json:"workloadAutoScalerProfile,omitempty"` +} + +var _ genruntime.ConvertibleStatus = &ManagedCluster_STATUS{} + +// ConvertStatusFrom populates our ManagedCluster_STATUS from the provided source +func (cluster *ManagedCluster_STATUS) ConvertStatusFrom(source genruntime.ConvertibleStatus) error { + if source == cluster { + return errors.New("attempted conversion between unrelated implementations of github.com/Azure/azure-service-operator/v2/pkg/genruntime/ConvertibleStatus") + } + + return source.ConvertStatusTo(cluster) +} + +// ConvertStatusTo populates the provided destination from our ManagedCluster_STATUS +func (cluster *ManagedCluster_STATUS) ConvertStatusTo(destination genruntime.ConvertibleStatus) error { + if destination == cluster { + return errors.New("attempted conversion between unrelated implementations of github.com/Azure/azure-service-operator/v2/pkg/genruntime/ConvertibleStatus") + } + + return destination.ConvertStatusFrom(cluster) +} + +// Storage version of v1api20240901.ClusterUpgradeSettings +// Settings for upgrading a cluster. +type ClusterUpgradeSettings struct { + OverrideSettings *UpgradeOverrideSettings `json:"overrideSettings,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240901.ClusterUpgradeSettings_STATUS +// Settings for upgrading a cluster. +type ClusterUpgradeSettings_STATUS struct { + OverrideSettings *UpgradeOverrideSettings_STATUS `json:"overrideSettings,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240901.ContainerServiceLinuxProfile +// Profile for Linux VMs in the container service cluster. +type ContainerServiceLinuxProfile struct { + AdminUsername *string `json:"adminUsername,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Ssh *ContainerServiceSshConfiguration `json:"ssh,omitempty"` +} + +// Storage version of v1api20240901.ContainerServiceLinuxProfile_STATUS +// Profile for Linux VMs in the container service cluster. +type ContainerServiceLinuxProfile_STATUS struct { + AdminUsername *string `json:"adminUsername,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Ssh *ContainerServiceSshConfiguration_STATUS `json:"ssh,omitempty"` +} + +// Storage version of v1api20240901.ContainerServiceNetworkProfile +// Profile of network configuration. +type ContainerServiceNetworkProfile struct { + AdvancedNetworking *AdvancedNetworking `json:"advancedNetworking,omitempty"` + DnsServiceIP *string `json:"dnsServiceIP,omitempty"` + IpFamilies []string `json:"ipFamilies,omitempty"` + LoadBalancerProfile *ManagedClusterLoadBalancerProfile `json:"loadBalancerProfile,omitempty"` + LoadBalancerSku *string `json:"loadBalancerSku,omitempty"` + NatGatewayProfile *ManagedClusterNATGatewayProfile `json:"natGatewayProfile,omitempty"` + NetworkDataplane *string `json:"networkDataplane,omitempty"` + NetworkMode *string `json:"networkMode,omitempty"` + NetworkPlugin *string `json:"networkPlugin,omitempty"` + NetworkPluginMode *string `json:"networkPluginMode,omitempty"` + NetworkPolicy *string `json:"networkPolicy,omitempty"` + OutboundType *string `json:"outboundType,omitempty"` + PodCidr *string `json:"podCidr,omitempty"` + PodCidrs []string `json:"podCidrs,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + ServiceCidr *string `json:"serviceCidr,omitempty"` + ServiceCidrs []string `json:"serviceCidrs,omitempty"` +} + +// Storage version of v1api20240901.ContainerServiceNetworkProfile_STATUS +// Profile of network configuration. +type ContainerServiceNetworkProfile_STATUS struct { + AdvancedNetworking *AdvancedNetworking_STATUS `json:"advancedNetworking,omitempty"` + DnsServiceIP *string `json:"dnsServiceIP,omitempty"` + IpFamilies []string `json:"ipFamilies,omitempty"` + LoadBalancerProfile *ManagedClusterLoadBalancerProfile_STATUS `json:"loadBalancerProfile,omitempty"` + LoadBalancerSku *string `json:"loadBalancerSku,omitempty"` + NatGatewayProfile *ManagedClusterNATGatewayProfile_STATUS `json:"natGatewayProfile,omitempty"` + NetworkDataplane *string `json:"networkDataplane,omitempty"` + NetworkMode *string `json:"networkMode,omitempty"` + NetworkPlugin *string `json:"networkPlugin,omitempty"` + NetworkPluginMode *string `json:"networkPluginMode,omitempty"` + NetworkPolicy *string `json:"networkPolicy,omitempty"` + OutboundType *string `json:"outboundType,omitempty"` + PodCidr *string `json:"podCidr,omitempty"` + PodCidrs []string `json:"podCidrs,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + ServiceCidr *string `json:"serviceCidr,omitempty"` + ServiceCidrs []string `json:"serviceCidrs,omitempty"` +} + +// Storage version of v1api20240901.ExtendedLocation +// The complex type of the extended location. +type ExtendedLocation struct { + Name *string `json:"name,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Type *string `json:"type,omitempty"` +} + +// Storage version of v1api20240901.ExtendedLocation_STATUS +// The complex type of the extended location. +type ExtendedLocation_STATUS struct { + Name *string `json:"name,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Type *string `json:"type,omitempty"` +} + +// Storage version of v1api20240901.ManagedClusterAADProfile +// For more details see [managed AAD on AKS](https://docs.microsoft.com/azure/aks/managed-aad). +type ManagedClusterAADProfile struct { + AdminGroupObjectIDs []string `json:"adminGroupObjectIDs,omitempty"` + ClientAppID *string `json:"clientAppID,omitempty"` + EnableAzureRBAC *bool `json:"enableAzureRBAC,omitempty"` + Managed *bool `json:"managed,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + ServerAppID *string `json:"serverAppID,omitempty"` + ServerAppSecret *string `json:"serverAppSecret,omitempty"` + TenantID *string `json:"tenantID,omitempty"` +} + +// Storage version of v1api20240901.ManagedClusterAADProfile_STATUS +// For more details see [managed AAD on AKS](https://docs.microsoft.com/azure/aks/managed-aad). +type ManagedClusterAADProfile_STATUS struct { + AdminGroupObjectIDs []string `json:"adminGroupObjectIDs,omitempty"` + ClientAppID *string `json:"clientAppID,omitempty"` + EnableAzureRBAC *bool `json:"enableAzureRBAC,omitempty"` + Managed *bool `json:"managed,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + ServerAppID *string `json:"serverAppID,omitempty"` + ServerAppSecret *string `json:"serverAppSecret,omitempty"` + TenantID *string `json:"tenantID,omitempty"` +} + +// Storage version of v1api20240901.ManagedClusterAddonProfile +// A Kubernetes add-on profile for a managed cluster. +type ManagedClusterAddonProfile struct { + Config map[string]string `json:"config,omitempty"` + Enabled *bool `json:"enabled,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240901.ManagedClusterAddonProfile_STATUS +// A Kubernetes add-on profile for a managed cluster. +type ManagedClusterAddonProfile_STATUS struct { + Config map[string]string `json:"config,omitempty"` + Enabled *bool `json:"enabled,omitempty"` + Identity *UserAssignedIdentity_STATUS `json:"identity,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240901.ManagedClusterAgentPoolProfile +// Profile for the container service agent pool. +type ManagedClusterAgentPoolProfile struct { + AvailabilityZones []string `json:"availabilityZones,omitempty"` + + // CapacityReservationGroupReference: AKS will associate the specified agent pool with the Capacity Reservation Group. + CapacityReservationGroupReference *genruntime.ResourceReference `armReference:"CapacityReservationGroupID" json:"capacityReservationGroupReference,omitempty"` + Count *int `json:"count,omitempty"` + CreationData *CreationData `json:"creationData,omitempty"` + EnableAutoScaling *bool `json:"enableAutoScaling,omitempty"` + EnableEncryptionAtHost *bool `json:"enableEncryptionAtHost,omitempty"` + EnableFIPS *bool `json:"enableFIPS,omitempty"` + EnableNodePublicIP *bool `json:"enableNodePublicIP,omitempty"` + EnableUltraSSD *bool `json:"enableUltraSSD,omitempty"` + GpuInstanceProfile *string `json:"gpuInstanceProfile,omitempty"` + + // HostGroupReference: This is of the form: + // /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. + // For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). + HostGroupReference *genruntime.ResourceReference `armReference:"HostGroupID" json:"hostGroupReference,omitempty"` + KubeletConfig *KubeletConfig `json:"kubeletConfig,omitempty"` + KubeletDiskType *string `json:"kubeletDiskType,omitempty"` + LinuxOSConfig *LinuxOSConfig `json:"linuxOSConfig,omitempty"` + MaxCount *int `json:"maxCount,omitempty"` + MaxPods *int `json:"maxPods,omitempty"` + MinCount *int `json:"minCount,omitempty"` + Mode *string `json:"mode,omitempty"` + Name *string `json:"name,omitempty"` + NetworkProfile *AgentPoolNetworkProfile `json:"networkProfile,omitempty"` + NodeLabels map[string]string `json:"nodeLabels,omitempty" serializationType:"explicitEmptyCollection"` + + // NodePublicIPPrefixReference: This is of the form: + // /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} + NodePublicIPPrefixReference *genruntime.ResourceReference `armReference:"NodePublicIPPrefixID" json:"nodePublicIPPrefixReference,omitempty"` + NodeTaints []string `json:"nodeTaints,omitempty" serializationType:"explicitEmptyCollection"` + OrchestratorVersion *string `json:"orchestratorVersion,omitempty"` + OsDiskSizeGB *int `json:"osDiskSizeGB,omitempty"` + OsDiskType *string `json:"osDiskType,omitempty"` + OsSKU *string `json:"osSKU,omitempty"` + OsType *string `json:"osType,omitempty"` + + // PodSubnetReference: If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). + // This is of the form: + // /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + PodSubnetReference *genruntime.ResourceReference `armReference:"PodSubnetID" json:"podSubnetReference,omitempty"` + PowerState *PowerState `json:"powerState,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + + // ProximityPlacementGroupReference: The ID for Proximity Placement Group. + ProximityPlacementGroupReference *genruntime.ResourceReference `armReference:"ProximityPlacementGroupID" json:"proximityPlacementGroupReference,omitempty"` + ScaleDownMode *string `json:"scaleDownMode,omitempty"` + ScaleSetEvictionPolicy *string `json:"scaleSetEvictionPolicy,omitempty"` + ScaleSetPriority *string `json:"scaleSetPriority,omitempty"` + SecurityProfile *AgentPoolSecurityProfile `json:"securityProfile,omitempty"` + SpotMaxPrice *float64 `json:"spotMaxPrice,omitempty"` + Tags map[string]string `json:"tags,omitempty" serializationType:"explicitEmptyCollection"` + Type *string `json:"type,omitempty"` + UpgradeSettings *AgentPoolUpgradeSettings `json:"upgradeSettings,omitempty"` + VmSize *string `json:"vmSize,omitempty"` + + // VnetSubnetReference: If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is + // specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: + // /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + VnetSubnetReference *genruntime.ResourceReference `armReference:"VnetSubnetID" json:"vnetSubnetReference,omitempty"` + WindowsProfile *AgentPoolWindowsProfile `json:"windowsProfile,omitempty"` + WorkloadRuntime *string `json:"workloadRuntime,omitempty"` +} + +// Storage version of v1api20240901.ManagedClusterAgentPoolProfile_STATUS +// Profile for the container service agent pool. +type ManagedClusterAgentPoolProfile_STATUS struct { + AvailabilityZones []string `json:"availabilityZones,omitempty"` + CapacityReservationGroupID *string `json:"capacityReservationGroupID,omitempty"` + Count *int `json:"count,omitempty"` + CreationData *CreationData_STATUS `json:"creationData,omitempty"` + CurrentOrchestratorVersion *string `json:"currentOrchestratorVersion,omitempty"` + ETag *string `json:"eTag,omitempty"` + EnableAutoScaling *bool `json:"enableAutoScaling,omitempty"` + EnableEncryptionAtHost *bool `json:"enableEncryptionAtHost,omitempty"` + EnableFIPS *bool `json:"enableFIPS,omitempty"` + EnableNodePublicIP *bool `json:"enableNodePublicIP,omitempty"` + EnableUltraSSD *bool `json:"enableUltraSSD,omitempty"` + GpuInstanceProfile *string `json:"gpuInstanceProfile,omitempty"` + HostGroupID *string `json:"hostGroupID,omitempty"` + KubeletConfig *KubeletConfig_STATUS `json:"kubeletConfig,omitempty"` + KubeletDiskType *string `json:"kubeletDiskType,omitempty"` + LinuxOSConfig *LinuxOSConfig_STATUS `json:"linuxOSConfig,omitempty"` + MaxCount *int `json:"maxCount,omitempty"` + MaxPods *int `json:"maxPods,omitempty"` + MinCount *int `json:"minCount,omitempty"` + Mode *string `json:"mode,omitempty"` + Name *string `json:"name,omitempty"` + NetworkProfile *AgentPoolNetworkProfile_STATUS `json:"networkProfile,omitempty"` + NodeImageVersion *string `json:"nodeImageVersion,omitempty"` + NodeLabels map[string]string `json:"nodeLabels,omitempty"` + NodePublicIPPrefixID *string `json:"nodePublicIPPrefixID,omitempty"` + NodeTaints []string `json:"nodeTaints,omitempty"` + OrchestratorVersion *string `json:"orchestratorVersion,omitempty"` + OsDiskSizeGB *int `json:"osDiskSizeGB,omitempty"` + OsDiskType *string `json:"osDiskType,omitempty"` + OsSKU *string `json:"osSKU,omitempty"` + OsType *string `json:"osType,omitempty"` + PodSubnetID *string `json:"podSubnetID,omitempty"` + PowerState *PowerState_STATUS `json:"powerState,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + ProvisioningState *string `json:"provisioningState,omitempty"` + ProximityPlacementGroupID *string `json:"proximityPlacementGroupID,omitempty"` + ScaleDownMode *string `json:"scaleDownMode,omitempty"` + ScaleSetEvictionPolicy *string `json:"scaleSetEvictionPolicy,omitempty"` + ScaleSetPriority *string `json:"scaleSetPriority,omitempty"` + SecurityProfile *AgentPoolSecurityProfile_STATUS `json:"securityProfile,omitempty"` + SpotMaxPrice *float64 `json:"spotMaxPrice,omitempty"` + Tags map[string]string `json:"tags,omitempty"` + Type *string `json:"type,omitempty"` + UpgradeSettings *AgentPoolUpgradeSettings_STATUS `json:"upgradeSettings,omitempty"` + VmSize *string `json:"vmSize,omitempty"` + VnetSubnetID *string `json:"vnetSubnetID,omitempty"` + WindowsProfile *AgentPoolWindowsProfile_STATUS `json:"windowsProfile,omitempty"` + WorkloadRuntime *string `json:"workloadRuntime,omitempty"` +} + +// Storage version of v1api20240901.ManagedClusterAPIServerAccessProfile +// Access profile for managed cluster API server. +type ManagedClusterAPIServerAccessProfile struct { + AuthorizedIPRanges []string `json:"authorizedIPRanges,omitempty"` + DisableRunCommand *bool `json:"disableRunCommand,omitempty"` + EnablePrivateCluster *bool `json:"enablePrivateCluster,omitempty"` + EnablePrivateClusterPublicFQDN *bool `json:"enablePrivateClusterPublicFQDN,omitempty"` + PrivateDNSZone *string `json:"privateDNSZone,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240901.ManagedClusterAPIServerAccessProfile_STATUS +// Access profile for managed cluster API server. +type ManagedClusterAPIServerAccessProfile_STATUS struct { + AuthorizedIPRanges []string `json:"authorizedIPRanges,omitempty"` + DisableRunCommand *bool `json:"disableRunCommand,omitempty"` + EnablePrivateCluster *bool `json:"enablePrivateCluster,omitempty"` + EnablePrivateClusterPublicFQDN *bool `json:"enablePrivateClusterPublicFQDN,omitempty"` + PrivateDNSZone *string `json:"privateDNSZone,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240901.ManagedClusterAutoUpgradeProfile +// Auto upgrade profile for a managed cluster. +type ManagedClusterAutoUpgradeProfile struct { + NodeOSUpgradeChannel *string `json:"nodeOSUpgradeChannel,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + UpgradeChannel *string `json:"upgradeChannel,omitempty"` +} + +// Storage version of v1api20240901.ManagedClusterAutoUpgradeProfile_STATUS +// Auto upgrade profile for a managed cluster. +type ManagedClusterAutoUpgradeProfile_STATUS struct { + NodeOSUpgradeChannel *string `json:"nodeOSUpgradeChannel,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + UpgradeChannel *string `json:"upgradeChannel,omitempty"` +} + +// Storage version of v1api20240901.ManagedClusterAzureMonitorProfile +// Azure Monitor addon profiles for monitoring the managed cluster. +type ManagedClusterAzureMonitorProfile struct { + Metrics *ManagedClusterAzureMonitorProfileMetrics `json:"metrics,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240901.ManagedClusterAzureMonitorProfile_STATUS +// Azure Monitor addon profiles for monitoring the managed cluster. +type ManagedClusterAzureMonitorProfile_STATUS struct { + Metrics *ManagedClusterAzureMonitorProfileMetrics_STATUS `json:"metrics,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240901.ManagedClusterHTTPProxyConfig +// Cluster HTTP proxy configuration. +type ManagedClusterHTTPProxyConfig struct { + HttpProxy *string `json:"httpProxy,omitempty"` + HttpsProxy *string `json:"httpsProxy,omitempty"` + NoProxy []string `json:"noProxy,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + TrustedCa *string `json:"trustedCa,omitempty"` +} + +// Storage version of v1api20240901.ManagedClusterHTTPProxyConfig_STATUS +// Cluster HTTP proxy configuration. +type ManagedClusterHTTPProxyConfig_STATUS struct { + HttpProxy *string `json:"httpProxy,omitempty"` + HttpsProxy *string `json:"httpsProxy,omitempty"` + NoProxy []string `json:"noProxy,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + TrustedCa *string `json:"trustedCa,omitempty"` +} + +// Storage version of v1api20240901.ManagedClusterIdentity +// Identity for the managed cluster. +type ManagedClusterIdentity struct { + DelegatedResources map[string]DelegatedResource `json:"delegatedResources,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Type *string `json:"type,omitempty"` + UserAssignedIdentities []UserAssignedIdentityDetails `json:"userAssignedIdentities,omitempty"` +} + +// Storage version of v1api20240901.ManagedClusterIdentity_STATUS +// Identity for the managed cluster. +type ManagedClusterIdentity_STATUS struct { + DelegatedResources map[string]DelegatedResource_STATUS `json:"delegatedResources,omitempty"` + PrincipalId *string `json:"principalId,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + TenantId *string `json:"tenantId,omitempty"` + Type *string `json:"type,omitempty"` + UserAssignedIdentities map[string]ManagedClusterIdentity_UserAssignedIdentities_STATUS `json:"userAssignedIdentities,omitempty"` +} + +// Storage version of v1api20240901.ManagedClusterIngressProfile +// Ingress profile for the container service cluster. +type ManagedClusterIngressProfile struct { + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + WebAppRouting *ManagedClusterIngressProfileWebAppRouting `json:"webAppRouting,omitempty"` +} + +// Storage version of v1api20240901.ManagedClusterIngressProfile_STATUS +// Ingress profile for the container service cluster. +type ManagedClusterIngressProfile_STATUS struct { + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + WebAppRouting *ManagedClusterIngressProfileWebAppRouting_STATUS `json:"webAppRouting,omitempty"` +} + +// Storage version of v1api20240901.ManagedClusterMetricsProfile +// The metrics profile for the ManagedCluster. +type ManagedClusterMetricsProfile struct { + CostAnalysis *ManagedClusterCostAnalysis `json:"costAnalysis,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240901.ManagedClusterMetricsProfile_STATUS +// The metrics profile for the ManagedCluster. +type ManagedClusterMetricsProfile_STATUS struct { + CostAnalysis *ManagedClusterCostAnalysis_STATUS `json:"costAnalysis,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240901.ManagedClusterNodeResourceGroupProfile +// Node resource group lockdown profile for a managed cluster. +type ManagedClusterNodeResourceGroupProfile struct { + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + RestrictionLevel *string `json:"restrictionLevel,omitempty"` +} + +// Storage version of v1api20240901.ManagedClusterNodeResourceGroupProfile_STATUS +// Node resource group lockdown profile for a managed cluster. +type ManagedClusterNodeResourceGroupProfile_STATUS struct { + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + RestrictionLevel *string `json:"restrictionLevel,omitempty"` +} + +// Storage version of v1api20240901.ManagedClusterOIDCIssuerProfile +// The OIDC issuer profile of the Managed Cluster. +type ManagedClusterOIDCIssuerProfile struct { + Enabled *bool `json:"enabled,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240901.ManagedClusterOIDCIssuerProfile_STATUS +// The OIDC issuer profile of the Managed Cluster. +type ManagedClusterOIDCIssuerProfile_STATUS struct { + Enabled *bool `json:"enabled,omitempty"` + IssuerURL *string `json:"issuerURL,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240901.ManagedClusterOperatorSpec +// Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure +type ManagedClusterOperatorSpec struct { + ConfigMaps *ManagedClusterOperatorConfigMaps `json:"configMaps,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Secrets *ManagedClusterOperatorSecrets `json:"secrets,omitempty"` +} + +// Storage version of v1api20240901.ManagedClusterPodIdentityProfile +// See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on pod +// identity integration. +type ManagedClusterPodIdentityProfile struct { + AllowNetworkPluginKubenet *bool `json:"allowNetworkPluginKubenet,omitempty"` + Enabled *bool `json:"enabled,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + UserAssignedIdentities []ManagedClusterPodIdentity `json:"userAssignedIdentities,omitempty"` + UserAssignedIdentityExceptions []ManagedClusterPodIdentityException `json:"userAssignedIdentityExceptions,omitempty"` +} + +// Storage version of v1api20240901.ManagedClusterPodIdentityProfile_STATUS +// See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on pod +// identity integration. +type ManagedClusterPodIdentityProfile_STATUS struct { + AllowNetworkPluginKubenet *bool `json:"allowNetworkPluginKubenet,omitempty"` + Enabled *bool `json:"enabled,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + UserAssignedIdentities []ManagedClusterPodIdentity_STATUS `json:"userAssignedIdentities,omitempty"` + UserAssignedIdentityExceptions []ManagedClusterPodIdentityException_STATUS `json:"userAssignedIdentityExceptions,omitempty"` +} + +// Storage version of v1api20240901.ManagedClusterProperties_AutoScalerProfile +type ManagedClusterProperties_AutoScalerProfile struct { + BalanceSimilarNodeGroups *string `json:"balance-similar-node-groups,omitempty"` + DaemonsetEvictionForEmptyNodes *bool `json:"daemonset-eviction-for-empty-nodes,omitempty"` + DaemonsetEvictionForOccupiedNodes *bool `json:"daemonset-eviction-for-occupied-nodes,omitempty"` + Expander *string `json:"expander,omitempty"` + IgnoreDaemonsetsUtilization *bool `json:"ignore-daemonsets-utilization,omitempty"` + MaxEmptyBulkDelete *string `json:"max-empty-bulk-delete,omitempty"` + MaxGracefulTerminationSec *string `json:"max-graceful-termination-sec,omitempty"` + MaxNodeProvisionTime *string `json:"max-node-provision-time,omitempty"` + MaxTotalUnreadyPercentage *string `json:"max-total-unready-percentage,omitempty"` + NewPodScaleUpDelay *string `json:"new-pod-scale-up-delay,omitempty"` + OkTotalUnreadyCount *string `json:"ok-total-unready-count,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + ScaleDownDelayAfterAdd *string `json:"scale-down-delay-after-add,omitempty"` + ScaleDownDelayAfterDelete *string `json:"scale-down-delay-after-delete,omitempty"` + ScaleDownDelayAfterFailure *string `json:"scale-down-delay-after-failure,omitempty"` + ScaleDownUnneededTime *string `json:"scale-down-unneeded-time,omitempty"` + ScaleDownUnreadyTime *string `json:"scale-down-unready-time,omitempty"` + ScaleDownUtilizationThreshold *string `json:"scale-down-utilization-threshold,omitempty"` + ScanInterval *string `json:"scan-interval,omitempty"` + SkipNodesWithLocalStorage *string `json:"skip-nodes-with-local-storage,omitempty"` + SkipNodesWithSystemPods *string `json:"skip-nodes-with-system-pods,omitempty"` +} + +// Storage version of v1api20240901.ManagedClusterProperties_AutoScalerProfile_STATUS +type ManagedClusterProperties_AutoScalerProfile_STATUS struct { + BalanceSimilarNodeGroups *string `json:"balance-similar-node-groups,omitempty"` + DaemonsetEvictionForEmptyNodes *bool `json:"daemonset-eviction-for-empty-nodes,omitempty"` + DaemonsetEvictionForOccupiedNodes *bool `json:"daemonset-eviction-for-occupied-nodes,omitempty"` + Expander *string `json:"expander,omitempty"` + IgnoreDaemonsetsUtilization *bool `json:"ignore-daemonsets-utilization,omitempty"` + MaxEmptyBulkDelete *string `json:"max-empty-bulk-delete,omitempty"` + MaxGracefulTerminationSec *string `json:"max-graceful-termination-sec,omitempty"` + MaxNodeProvisionTime *string `json:"max-node-provision-time,omitempty"` + MaxTotalUnreadyPercentage *string `json:"max-total-unready-percentage,omitempty"` + NewPodScaleUpDelay *string `json:"new-pod-scale-up-delay,omitempty"` + OkTotalUnreadyCount *string `json:"ok-total-unready-count,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + ScaleDownDelayAfterAdd *string `json:"scale-down-delay-after-add,omitempty"` + ScaleDownDelayAfterDelete *string `json:"scale-down-delay-after-delete,omitempty"` + ScaleDownDelayAfterFailure *string `json:"scale-down-delay-after-failure,omitempty"` + ScaleDownUnneededTime *string `json:"scale-down-unneeded-time,omitempty"` + ScaleDownUnreadyTime *string `json:"scale-down-unready-time,omitempty"` + ScaleDownUtilizationThreshold *string `json:"scale-down-utilization-threshold,omitempty"` + ScanInterval *string `json:"scan-interval,omitempty"` + SkipNodesWithLocalStorage *string `json:"skip-nodes-with-local-storage,omitempty"` + SkipNodesWithSystemPods *string `json:"skip-nodes-with-system-pods,omitempty"` +} + +// Storage version of v1api20240901.ManagedClusterSecurityProfile +// Security profile for the container service cluster. +type ManagedClusterSecurityProfile struct { + AzureKeyVaultKms *AzureKeyVaultKms `json:"azureKeyVaultKms,omitempty"` + Defender *ManagedClusterSecurityProfileDefender `json:"defender,omitempty"` + ImageCleaner *ManagedClusterSecurityProfileImageCleaner `json:"imageCleaner,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + WorkloadIdentity *ManagedClusterSecurityProfileWorkloadIdentity `json:"workloadIdentity,omitempty"` +} + +// Storage version of v1api20240901.ManagedClusterSecurityProfile_STATUS +// Security profile for the container service cluster. +type ManagedClusterSecurityProfile_STATUS struct { + AzureKeyVaultKms *AzureKeyVaultKms_STATUS `json:"azureKeyVaultKms,omitempty"` + Defender *ManagedClusterSecurityProfileDefender_STATUS `json:"defender,omitempty"` + ImageCleaner *ManagedClusterSecurityProfileImageCleaner_STATUS `json:"imageCleaner,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + WorkloadIdentity *ManagedClusterSecurityProfileWorkloadIdentity_STATUS `json:"workloadIdentity,omitempty"` +} + +// Storage version of v1api20240901.ManagedClusterServicePrincipalProfile +// Information about a service principal identity for the cluster to use for manipulating Azure APIs. +type ManagedClusterServicePrincipalProfile struct { + ClientId *string `json:"clientId,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Secret *genruntime.SecretReference `json:"secret,omitempty"` +} + +// Storage version of v1api20240901.ManagedClusterServicePrincipalProfile_STATUS +// Information about a service principal identity for the cluster to use for manipulating Azure APIs. +type ManagedClusterServicePrincipalProfile_STATUS struct { + ClientId *string `json:"clientId,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240901.ManagedClusterSKU +// The SKU of a Managed Cluster. +type ManagedClusterSKU struct { + Name *string `json:"name,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Tier *string `json:"tier,omitempty"` +} + +// Storage version of v1api20240901.ManagedClusterSKU_STATUS +// The SKU of a Managed Cluster. +type ManagedClusterSKU_STATUS struct { + Name *string `json:"name,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Tier *string `json:"tier,omitempty"` +} + +// Storage version of v1api20240901.ManagedClusterStorageProfile +// Storage profile for the container service cluster. +type ManagedClusterStorageProfile struct { + BlobCSIDriver *ManagedClusterStorageProfileBlobCSIDriver `json:"blobCSIDriver,omitempty"` + DiskCSIDriver *ManagedClusterStorageProfileDiskCSIDriver `json:"diskCSIDriver,omitempty"` + FileCSIDriver *ManagedClusterStorageProfileFileCSIDriver `json:"fileCSIDriver,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + SnapshotController *ManagedClusterStorageProfileSnapshotController `json:"snapshotController,omitempty"` +} + +// Storage version of v1api20240901.ManagedClusterStorageProfile_STATUS +// Storage profile for the container service cluster. +type ManagedClusterStorageProfile_STATUS struct { + BlobCSIDriver *ManagedClusterStorageProfileBlobCSIDriver_STATUS `json:"blobCSIDriver,omitempty"` + DiskCSIDriver *ManagedClusterStorageProfileDiskCSIDriver_STATUS `json:"diskCSIDriver,omitempty"` + FileCSIDriver *ManagedClusterStorageProfileFileCSIDriver_STATUS `json:"fileCSIDriver,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + SnapshotController *ManagedClusterStorageProfileSnapshotController_STATUS `json:"snapshotController,omitempty"` +} + +// Storage version of v1api20240901.ManagedClusterWindowsProfile +// Profile for Windows VMs in the managed cluster. +type ManagedClusterWindowsProfile struct { + AdminPassword *genruntime.SecretReference `json:"adminPassword,omitempty"` + AdminUsername *string `json:"adminUsername,omitempty"` + EnableCSIProxy *bool `json:"enableCSIProxy,omitempty"` + GmsaProfile *WindowsGmsaProfile `json:"gmsaProfile,omitempty"` + LicenseType *string `json:"licenseType,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240901.ManagedClusterWindowsProfile_STATUS +// Profile for Windows VMs in the managed cluster. +type ManagedClusterWindowsProfile_STATUS struct { + AdminUsername *string `json:"adminUsername,omitempty"` + EnableCSIProxy *bool `json:"enableCSIProxy,omitempty"` + GmsaProfile *WindowsGmsaProfile_STATUS `json:"gmsaProfile,omitempty"` + LicenseType *string `json:"licenseType,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240901.ManagedClusterWorkloadAutoScalerProfile +// Workload Auto-scaler profile for the managed cluster. +type ManagedClusterWorkloadAutoScalerProfile struct { + Keda *ManagedClusterWorkloadAutoScalerProfileKeda `json:"keda,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + VerticalPodAutoscaler *ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler `json:"verticalPodAutoscaler,omitempty"` +} + +// Storage version of v1api20240901.ManagedClusterWorkloadAutoScalerProfile_STATUS +// Workload Auto-scaler profile for the managed cluster. +type ManagedClusterWorkloadAutoScalerProfile_STATUS struct { + Keda *ManagedClusterWorkloadAutoScalerProfileKeda_STATUS `json:"keda,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + VerticalPodAutoscaler *ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS `json:"verticalPodAutoscaler,omitempty"` +} + +// Storage version of v1api20240901.PowerState_STATUS +// Describes the Power State of the cluster +type PowerState_STATUS struct { + Code *string `json:"code,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240901.PrivateLinkResource +// A private link resource +type PrivateLinkResource struct { + GroupId *string `json:"groupId,omitempty"` + Name *string `json:"name,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + + // Reference: The ID of the private link resource. + Reference *genruntime.ResourceReference `armReference:"Id" json:"reference,omitempty"` + RequiredMembers []string `json:"requiredMembers,omitempty"` + Type *string `json:"type,omitempty"` +} + +// Storage version of v1api20240901.PrivateLinkResource_STATUS +// A private link resource +type PrivateLinkResource_STATUS struct { + GroupId *string `json:"groupId,omitempty"` + Id *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + PrivateLinkServiceID *string `json:"privateLinkServiceID,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + RequiredMembers []string `json:"requiredMembers,omitempty"` + Type *string `json:"type,omitempty"` +} + +// Storage version of v1api20240901.ServiceMeshProfile +// Service mesh profile for a managed cluster. +type ServiceMeshProfile struct { + Istio *IstioServiceMesh `json:"istio,omitempty"` + Mode *string `json:"mode,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240901.ServiceMeshProfile_STATUS +// Service mesh profile for a managed cluster. +type ServiceMeshProfile_STATUS struct { + Istio *IstioServiceMesh_STATUS `json:"istio,omitempty"` + Mode *string `json:"mode,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240901.UserAssignedIdentity +// Details about a user assigned identity. +type UserAssignedIdentity struct { + ClientId *string `json:"clientId,omitempty"` + ObjectId *string `json:"objectId,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + + // ResourceReference: The resource ID of the user assigned identity. + ResourceReference *genruntime.ResourceReference `armReference:"ResourceId" json:"resourceReference,omitempty"` +} + +// Storage version of v1api20240901.UserAssignedIdentity_STATUS +// Details about a user assigned identity. +type UserAssignedIdentity_STATUS struct { + ClientId *string `json:"clientId,omitempty"` + ObjectId *string `json:"objectId,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + ResourceId *string `json:"resourceId,omitempty"` +} + +// Storage version of v1api20240901.AdvancedNetworking +// Advanced Networking profile for enabling observability and security feature suite on a cluster. For more information see +// aka.ms/aksadvancednetworking. +type AdvancedNetworking struct { + Enabled *bool `json:"enabled,omitempty"` + Observability *AdvancedNetworkingObservability `json:"observability,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Security *AdvancedNetworkingSecurity `json:"security,omitempty"` +} + +// Storage version of v1api20240901.AdvancedNetworking_STATUS +// Advanced Networking profile for enabling observability and security feature suite on a cluster. For more information see +// aka.ms/aksadvancednetworking. +type AdvancedNetworking_STATUS struct { + Enabled *bool `json:"enabled,omitempty"` + Observability *AdvancedNetworkingObservability_STATUS `json:"observability,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Security *AdvancedNetworkingSecurity_STATUS `json:"security,omitempty"` +} + +// Storage version of v1api20240901.AzureKeyVaultKms +// Azure Key Vault key management service settings for the security profile. +type AzureKeyVaultKms struct { + Enabled *bool `json:"enabled,omitempty"` + KeyId *string `json:"keyId,omitempty"` + KeyVaultNetworkAccess *string `json:"keyVaultNetworkAccess,omitempty"` + + // KeyVaultResourceReference: Resource ID of key vault. When keyVaultNetworkAccess is `Private`, this field is required and + // must be a valid resource ID. When keyVaultNetworkAccess is `Public`, leave the field empty. + KeyVaultResourceReference *genruntime.ResourceReference `armReference:"KeyVaultResourceId" json:"keyVaultResourceReference,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240901.AzureKeyVaultKms_STATUS +// Azure Key Vault key management service settings for the security profile. +type AzureKeyVaultKms_STATUS struct { + Enabled *bool `json:"enabled,omitempty"` + KeyId *string `json:"keyId,omitempty"` + KeyVaultNetworkAccess *string `json:"keyVaultNetworkAccess,omitempty"` + KeyVaultResourceId *string `json:"keyVaultResourceId,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240901.ContainerServiceSshConfiguration +// SSH configuration for Linux-based VMs running on Azure. +type ContainerServiceSshConfiguration struct { + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + PublicKeys []ContainerServiceSshPublicKey `json:"publicKeys,omitempty"` +} + +// Storage version of v1api20240901.ContainerServiceSshConfiguration_STATUS +// SSH configuration for Linux-based VMs running on Azure. +type ContainerServiceSshConfiguration_STATUS struct { + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + PublicKeys []ContainerServiceSshPublicKey_STATUS `json:"publicKeys,omitempty"` +} + +// Storage version of v1api20240901.DelegatedResource +// Delegated resource properties - internal use only. +type DelegatedResource struct { + Location *string `json:"location,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + ReferralResource *string `json:"referralResource,omitempty"` + + // ResourceReference: The ARM resource id of the delegated resource - internal use only. + ResourceReference *genruntime.ResourceReference `armReference:"ResourceId" json:"resourceReference,omitempty"` + TenantId *string `json:"tenantId,omitempty"` +} + +// Storage version of v1api20240901.DelegatedResource_STATUS +// Delegated resource properties - internal use only. +type DelegatedResource_STATUS struct { + Location *string `json:"location,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + ReferralResource *string `json:"referralResource,omitempty"` + ResourceId *string `json:"resourceId,omitempty"` + TenantId *string `json:"tenantId,omitempty"` +} + +// Storage version of v1api20240901.IstioServiceMesh +// Istio service mesh configuration. +type IstioServiceMesh struct { + CertificateAuthority *IstioCertificateAuthority `json:"certificateAuthority,omitempty"` + Components *IstioComponents `json:"components,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Revisions []string `json:"revisions,omitempty"` +} + +// Storage version of v1api20240901.IstioServiceMesh_STATUS +// Istio service mesh configuration. +type IstioServiceMesh_STATUS struct { + CertificateAuthority *IstioCertificateAuthority_STATUS `json:"certificateAuthority,omitempty"` + Components *IstioComponents_STATUS `json:"components,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Revisions []string `json:"revisions,omitempty"` +} + +// Storage version of v1api20240901.ManagedClusterAzureMonitorProfileMetrics +// Metrics profile for the Azure Monitor managed service for Prometheus addon. Collect out-of-the-box Kubernetes +// infrastructure metrics to send to an Azure Monitor Workspace and configure additional scraping for custom targets. See +// aka.ms/AzureManagedPrometheus for an overview. +type ManagedClusterAzureMonitorProfileMetrics struct { + Enabled *bool `json:"enabled,omitempty"` + KubeStateMetrics *ManagedClusterAzureMonitorProfileKubeStateMetrics `json:"kubeStateMetrics,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240901.ManagedClusterAzureMonitorProfileMetrics_STATUS +// Metrics profile for the Azure Monitor managed service for Prometheus addon. Collect out-of-the-box Kubernetes +// infrastructure metrics to send to an Azure Monitor Workspace and configure additional scraping for custom targets. See +// aka.ms/AzureManagedPrometheus for an overview. +type ManagedClusterAzureMonitorProfileMetrics_STATUS struct { + Enabled *bool `json:"enabled,omitempty"` + KubeStateMetrics *ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS `json:"kubeStateMetrics,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240901.ManagedClusterCostAnalysis +// The cost analysis configuration for the cluster +type ManagedClusterCostAnalysis struct { + Enabled *bool `json:"enabled,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240901.ManagedClusterCostAnalysis_STATUS +// The cost analysis configuration for the cluster +type ManagedClusterCostAnalysis_STATUS struct { + Enabled *bool `json:"enabled,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240901.ManagedClusterIdentity_UserAssignedIdentities_STATUS +type ManagedClusterIdentity_UserAssignedIdentities_STATUS struct { + ClientId *string `json:"clientId,omitempty"` + PrincipalId *string `json:"principalId,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240901.ManagedClusterIngressProfileWebAppRouting +// Application Routing add-on settings for the ingress profile. +type ManagedClusterIngressProfileWebAppRouting struct { + DnsZoneResourceReferences []genruntime.ResourceReference `armReference:"DnsZoneResourceIds" json:"dnsZoneResourceReferences,omitempty"` + Enabled *bool `json:"enabled,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240901.ManagedClusterIngressProfileWebAppRouting_STATUS +// Application Routing add-on settings for the ingress profile. +type ManagedClusterIngressProfileWebAppRouting_STATUS struct { + DnsZoneResourceIds []string `json:"dnsZoneResourceIds,omitempty"` + Enabled *bool `json:"enabled,omitempty"` + Identity *UserAssignedIdentity_STATUS `json:"identity,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240901.ManagedClusterLoadBalancerProfile +// Profile of the managed cluster load balancer. +type ManagedClusterLoadBalancerProfile struct { + AllocatedOutboundPorts *int `json:"allocatedOutboundPorts,omitempty"` + BackendPoolType *string `json:"backendPoolType,omitempty"` + EffectiveOutboundIPs []ResourceReference `json:"effectiveOutboundIPs,omitempty"` + EnableMultipleStandardLoadBalancers *bool `json:"enableMultipleStandardLoadBalancers,omitempty"` + IdleTimeoutInMinutes *int `json:"idleTimeoutInMinutes,omitempty"` + ManagedOutboundIPs *ManagedClusterLoadBalancerProfile_ManagedOutboundIPs `json:"managedOutboundIPs,omitempty"` + OutboundIPPrefixes *ManagedClusterLoadBalancerProfile_OutboundIPPrefixes `json:"outboundIPPrefixes,omitempty"` + OutboundIPs *ManagedClusterLoadBalancerProfile_OutboundIPs `json:"outboundIPs,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240901.ManagedClusterLoadBalancerProfile_STATUS +// Profile of the managed cluster load balancer. +type ManagedClusterLoadBalancerProfile_STATUS struct { + AllocatedOutboundPorts *int `json:"allocatedOutboundPorts,omitempty"` + BackendPoolType *string `json:"backendPoolType,omitempty"` + EffectiveOutboundIPs []ResourceReference_STATUS `json:"effectiveOutboundIPs,omitempty"` + EnableMultipleStandardLoadBalancers *bool `json:"enableMultipleStandardLoadBalancers,omitempty"` + IdleTimeoutInMinutes *int `json:"idleTimeoutInMinutes,omitempty"` + ManagedOutboundIPs *ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS `json:"managedOutboundIPs,omitempty"` + OutboundIPPrefixes *ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS `json:"outboundIPPrefixes,omitempty"` + OutboundIPs *ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS `json:"outboundIPs,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240901.ManagedClusterNATGatewayProfile +// Profile of the managed cluster NAT gateway. +type ManagedClusterNATGatewayProfile struct { + EffectiveOutboundIPs []ResourceReference `json:"effectiveOutboundIPs,omitempty"` + IdleTimeoutInMinutes *int `json:"idleTimeoutInMinutes,omitempty"` + ManagedOutboundIPProfile *ManagedClusterManagedOutboundIPProfile `json:"managedOutboundIPProfile,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240901.ManagedClusterNATGatewayProfile_STATUS +// Profile of the managed cluster NAT gateway. +type ManagedClusterNATGatewayProfile_STATUS struct { + EffectiveOutboundIPs []ResourceReference_STATUS `json:"effectiveOutboundIPs,omitempty"` + IdleTimeoutInMinutes *int `json:"idleTimeoutInMinutes,omitempty"` + ManagedOutboundIPProfile *ManagedClusterManagedOutboundIPProfile_STATUS `json:"managedOutboundIPProfile,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240901.ManagedClusterOperatorConfigMaps +type ManagedClusterOperatorConfigMaps struct { + OIDCIssuerProfile *genruntime.ConfigMapDestination `json:"oidcIssuerProfile,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240901.ManagedClusterOperatorSecrets +type ManagedClusterOperatorSecrets struct { + AdminCredentials *genruntime.SecretDestination `json:"adminCredentials,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + UserCredentials *genruntime.SecretDestination `json:"userCredentials,omitempty"` +} + +// Storage version of v1api20240901.ManagedClusterPodIdentity +// Details about the pod identity assigned to the Managed Cluster. +type ManagedClusterPodIdentity struct { + BindingSelector *string `json:"bindingSelector,omitempty"` + Identity *UserAssignedIdentity `json:"identity,omitempty"` + Name *string `json:"name,omitempty"` + Namespace *string `json:"namespace,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240901.ManagedClusterPodIdentity_STATUS +// Details about the pod identity assigned to the Managed Cluster. +type ManagedClusterPodIdentity_STATUS struct { + BindingSelector *string `json:"bindingSelector,omitempty"` + Identity *UserAssignedIdentity_STATUS `json:"identity,omitempty"` + Name *string `json:"name,omitempty"` + Namespace *string `json:"namespace,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + ProvisioningInfo *ManagedClusterPodIdentity_ProvisioningInfo_STATUS `json:"provisioningInfo,omitempty"` + ProvisioningState *string `json:"provisioningState,omitempty"` +} + +// Storage version of v1api20240901.ManagedClusterPodIdentityException +// See [disable AAD Pod Identity for a specific +// Pod/Application](https://azure.github.io/aad-pod-identity/docs/configure/application_exception/) for more details. +type ManagedClusterPodIdentityException struct { + Name *string `json:"name,omitempty"` + Namespace *string `json:"namespace,omitempty"` + PodLabels map[string]string `json:"podLabels,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240901.ManagedClusterPodIdentityException_STATUS +// See [disable AAD Pod Identity for a specific +// Pod/Application](https://azure.github.io/aad-pod-identity/docs/configure/application_exception/) for more details. +type ManagedClusterPodIdentityException_STATUS struct { + Name *string `json:"name,omitempty"` + Namespace *string `json:"namespace,omitempty"` + PodLabels map[string]string `json:"podLabels,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240901.ManagedClusterSecurityProfileDefender +// Microsoft Defender settings for the security profile. +type ManagedClusterSecurityProfileDefender struct { + // LogAnalyticsWorkspaceResourceReference: Resource ID of the Log Analytics workspace to be associated with Microsoft + // Defender. When Microsoft Defender is enabled, this field is required and must be a valid workspace resource ID. When + // Microsoft Defender is disabled, leave the field empty. + LogAnalyticsWorkspaceResourceReference *genruntime.ResourceReference `armReference:"LogAnalyticsWorkspaceResourceId" json:"logAnalyticsWorkspaceResourceReference,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + SecurityMonitoring *ManagedClusterSecurityProfileDefenderSecurityMonitoring `json:"securityMonitoring,omitempty"` +} + +// Storage version of v1api20240901.ManagedClusterSecurityProfileDefender_STATUS +// Microsoft Defender settings for the security profile. +type ManagedClusterSecurityProfileDefender_STATUS struct { + LogAnalyticsWorkspaceResourceId *string `json:"logAnalyticsWorkspaceResourceId,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + SecurityMonitoring *ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS `json:"securityMonitoring,omitempty"` +} + +// Storage version of v1api20240901.ManagedClusterSecurityProfileImageCleaner +// Image Cleaner removes unused images from nodes, freeing up disk space and helping to reduce attack surface area. Here +// are settings for the security profile. +type ManagedClusterSecurityProfileImageCleaner struct { + Enabled *bool `json:"enabled,omitempty"` + IntervalHours *int `json:"intervalHours,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240901.ManagedClusterSecurityProfileImageCleaner_STATUS +// Image Cleaner removes unused images from nodes, freeing up disk space and helping to reduce attack surface area. Here +// are settings for the security profile. +type ManagedClusterSecurityProfileImageCleaner_STATUS struct { + Enabled *bool `json:"enabled,omitempty"` + IntervalHours *int `json:"intervalHours,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240901.ManagedClusterSecurityProfileWorkloadIdentity +// Workload identity settings for the security profile. +type ManagedClusterSecurityProfileWorkloadIdentity struct { + Enabled *bool `json:"enabled,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240901.ManagedClusterSecurityProfileWorkloadIdentity_STATUS +// Workload identity settings for the security profile. +type ManagedClusterSecurityProfileWorkloadIdentity_STATUS struct { + Enabled *bool `json:"enabled,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240901.ManagedClusterStorageProfileBlobCSIDriver +// AzureBlob CSI Driver settings for the storage profile. +type ManagedClusterStorageProfileBlobCSIDriver struct { + Enabled *bool `json:"enabled,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240901.ManagedClusterStorageProfileBlobCSIDriver_STATUS +// AzureBlob CSI Driver settings for the storage profile. +type ManagedClusterStorageProfileBlobCSIDriver_STATUS struct { + Enabled *bool `json:"enabled,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240901.ManagedClusterStorageProfileDiskCSIDriver +// AzureDisk CSI Driver settings for the storage profile. +type ManagedClusterStorageProfileDiskCSIDriver struct { + Enabled *bool `json:"enabled,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240901.ManagedClusterStorageProfileDiskCSIDriver_STATUS +// AzureDisk CSI Driver settings for the storage profile. +type ManagedClusterStorageProfileDiskCSIDriver_STATUS struct { + Enabled *bool `json:"enabled,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240901.ManagedClusterStorageProfileFileCSIDriver +// AzureFile CSI Driver settings for the storage profile. +type ManagedClusterStorageProfileFileCSIDriver struct { + Enabled *bool `json:"enabled,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240901.ManagedClusterStorageProfileFileCSIDriver_STATUS +// AzureFile CSI Driver settings for the storage profile. +type ManagedClusterStorageProfileFileCSIDriver_STATUS struct { + Enabled *bool `json:"enabled,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240901.ManagedClusterStorageProfileSnapshotController +// Snapshot Controller settings for the storage profile. +type ManagedClusterStorageProfileSnapshotController struct { + Enabled *bool `json:"enabled,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240901.ManagedClusterStorageProfileSnapshotController_STATUS +// Snapshot Controller settings for the storage profile. +type ManagedClusterStorageProfileSnapshotController_STATUS struct { + Enabled *bool `json:"enabled,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240901.ManagedClusterWorkloadAutoScalerProfileKeda +// KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile. +type ManagedClusterWorkloadAutoScalerProfileKeda struct { + Enabled *bool `json:"enabled,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240901.ManagedClusterWorkloadAutoScalerProfileKeda_STATUS +// KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile. +type ManagedClusterWorkloadAutoScalerProfileKeda_STATUS struct { + Enabled *bool `json:"enabled,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240901.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler +// VPA (Vertical Pod Autoscaler) settings for the workload auto-scaler profile. +type ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler struct { + Enabled *bool `json:"enabled,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240901.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS +// VPA (Vertical Pod Autoscaler) settings for the workload auto-scaler profile. +type ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS struct { + Enabled *bool `json:"enabled,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240901.UpgradeOverrideSettings +// Settings for overrides when upgrading a cluster. +type UpgradeOverrideSettings struct { + ForceUpgrade *bool `json:"forceUpgrade,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Until *string `json:"until,omitempty"` +} + +// Storage version of v1api20240901.UpgradeOverrideSettings_STATUS +// Settings for overrides when upgrading a cluster. +type UpgradeOverrideSettings_STATUS struct { + ForceUpgrade *bool `json:"forceUpgrade,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Until *string `json:"until,omitempty"` +} + +// Storage version of v1api20240901.UserAssignedIdentityDetails +// Information about the user assigned identity for the resource +type UserAssignedIdentityDetails struct { + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Reference genruntime.ResourceReference `armReference:"Reference" json:"reference,omitempty"` +} + +// Storage version of v1api20240901.WindowsGmsaProfile +// Windows gMSA Profile in the managed cluster. +type WindowsGmsaProfile struct { + DnsServer *string `json:"dnsServer,omitempty"` + Enabled *bool `json:"enabled,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + RootDomainName *string `json:"rootDomainName,omitempty"` +} + +// Storage version of v1api20240901.WindowsGmsaProfile_STATUS +// Windows gMSA Profile in the managed cluster. +type WindowsGmsaProfile_STATUS struct { + DnsServer *string `json:"dnsServer,omitempty"` + Enabled *bool `json:"enabled,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + RootDomainName *string `json:"rootDomainName,omitempty"` +} + +// Storage version of v1api20240901.AdvancedNetworkingObservability +// Observability profile to enable advanced network metrics and flow logs with historical contexts. +type AdvancedNetworkingObservability struct { + Enabled *bool `json:"enabled,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240901.AdvancedNetworkingObservability_STATUS +// Observability profile to enable advanced network metrics and flow logs with historical contexts. +type AdvancedNetworkingObservability_STATUS struct { + Enabled *bool `json:"enabled,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240901.AdvancedNetworkingSecurity +// Security profile to enable security features on cilium based cluster. +type AdvancedNetworkingSecurity struct { + Enabled *bool `json:"enabled,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240901.AdvancedNetworkingSecurity_STATUS +// Security profile to enable security features on cilium based cluster. +type AdvancedNetworkingSecurity_STATUS struct { + Enabled *bool `json:"enabled,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240901.ContainerServiceSshPublicKey +// Contains information about SSH certificate public key data. +type ContainerServiceSshPublicKey struct { + KeyData *string `json:"keyData,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240901.ContainerServiceSshPublicKey_STATUS +// Contains information about SSH certificate public key data. +type ContainerServiceSshPublicKey_STATUS struct { + KeyData *string `json:"keyData,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240901.IstioCertificateAuthority +// Istio Service Mesh Certificate Authority (CA) configuration. For now, we only support plugin certificates as described +// here https://aka.ms/asm-plugin-ca +type IstioCertificateAuthority struct { + Plugin *IstioPluginCertificateAuthority `json:"plugin,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240901.IstioCertificateAuthority_STATUS +// Istio Service Mesh Certificate Authority (CA) configuration. For now, we only support plugin certificates as described +// here https://aka.ms/asm-plugin-ca +type IstioCertificateAuthority_STATUS struct { + Plugin *IstioPluginCertificateAuthority_STATUS `json:"plugin,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240901.IstioComponents +// Istio components configuration. +type IstioComponents struct { + EgressGateways []IstioEgressGateway `json:"egressGateways,omitempty"` + IngressGateways []IstioIngressGateway `json:"ingressGateways,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240901.IstioComponents_STATUS +// Istio components configuration. +type IstioComponents_STATUS struct { + EgressGateways []IstioEgressGateway_STATUS `json:"egressGateways,omitempty"` + IngressGateways []IstioIngressGateway_STATUS `json:"ingressGateways,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240901.ManagedClusterAzureMonitorProfileKubeStateMetrics +// Kube State Metrics profile for the Azure Managed Prometheus addon. These optional settings are for the +// kube-state-metrics pod that is deployed with the addon. See aka.ms/AzureManagedPrometheus-optional-parameters for +// details. +type ManagedClusterAzureMonitorProfileKubeStateMetrics struct { + MetricAnnotationsAllowList *string `json:"metricAnnotationsAllowList,omitempty"` + MetricLabelsAllowlist *string `json:"metricLabelsAllowlist,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240901.ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS +// Kube State Metrics profile for the Azure Managed Prometheus addon. These optional settings are for the +// kube-state-metrics pod that is deployed with the addon. See aka.ms/AzureManagedPrometheus-optional-parameters for +// details. +type ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS struct { + MetricAnnotationsAllowList *string `json:"metricAnnotationsAllowList,omitempty"` + MetricLabelsAllowlist *string `json:"metricLabelsAllowlist,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240901.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs +type ManagedClusterLoadBalancerProfile_ManagedOutboundIPs struct { + Count *int `json:"count,omitempty"` + CountIPv6 *int `json:"countIPv6,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240901.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS +type ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS struct { + Count *int `json:"count,omitempty"` + CountIPv6 *int `json:"countIPv6,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240901.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes +type ManagedClusterLoadBalancerProfile_OutboundIPPrefixes struct { + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + PublicIPPrefixes []ResourceReference `json:"publicIPPrefixes,omitempty"` +} + +// Storage version of v1api20240901.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS +type ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS struct { + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + PublicIPPrefixes []ResourceReference_STATUS `json:"publicIPPrefixes,omitempty"` +} + +// Storage version of v1api20240901.ManagedClusterLoadBalancerProfile_OutboundIPs +type ManagedClusterLoadBalancerProfile_OutboundIPs struct { + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + PublicIPs []ResourceReference `json:"publicIPs,omitempty"` +} + +// Storage version of v1api20240901.ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS +type ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS struct { + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + PublicIPs []ResourceReference_STATUS `json:"publicIPs,omitempty"` +} + +// Storage version of v1api20240901.ManagedClusterManagedOutboundIPProfile +// Profile of the managed outbound IP resources of the managed cluster. +type ManagedClusterManagedOutboundIPProfile struct { + Count *int `json:"count,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240901.ManagedClusterManagedOutboundIPProfile_STATUS +// Profile of the managed outbound IP resources of the managed cluster. +type ManagedClusterManagedOutboundIPProfile_STATUS struct { + Count *int `json:"count,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240901.ManagedClusterPodIdentity_ProvisioningInfo_STATUS +type ManagedClusterPodIdentity_ProvisioningInfo_STATUS struct { + Error *ManagedClusterPodIdentityProvisioningError_STATUS `json:"error,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240901.ManagedClusterSecurityProfileDefenderSecurityMonitoring +// Microsoft Defender settings for the security profile threat detection. +type ManagedClusterSecurityProfileDefenderSecurityMonitoring struct { + Enabled *bool `json:"enabled,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240901.ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS +// Microsoft Defender settings for the security profile threat detection. +type ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS struct { + Enabled *bool `json:"enabled,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240901.ResourceReference +// A reference to an Azure resource. +type ResourceReference struct { + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + + // Reference: The fully qualified Azure resource id. + Reference *genruntime.ResourceReference `armReference:"Id" json:"reference,omitempty"` +} + +// Storage version of v1api20240901.ResourceReference_STATUS +// A reference to an Azure resource. +type ResourceReference_STATUS struct { + Id *string `json:"id,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240901.IstioEgressGateway +// Istio egress gateway configuration. +type IstioEgressGateway struct { + Enabled *bool `json:"enabled,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240901.IstioEgressGateway_STATUS +// Istio egress gateway configuration. +type IstioEgressGateway_STATUS struct { + Enabled *bool `json:"enabled,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240901.IstioIngressGateway +// Istio ingress gateway configuration. For now, we support up to one external ingress gateway named +// `aks-istio-ingressgateway-external` and one internal ingress gateway named `aks-istio-ingressgateway-internal`. +type IstioIngressGateway struct { + Enabled *bool `json:"enabled,omitempty"` + Mode *string `json:"mode,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240901.IstioIngressGateway_STATUS +// Istio ingress gateway configuration. For now, we support up to one external ingress gateway named +// `aks-istio-ingressgateway-external` and one internal ingress gateway named `aks-istio-ingressgateway-internal`. +type IstioIngressGateway_STATUS struct { + Enabled *bool `json:"enabled,omitempty"` + Mode *string `json:"mode,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240901.IstioPluginCertificateAuthority +// Plugin certificates information for Service Mesh. +type IstioPluginCertificateAuthority struct { + CertChainObjectName *string `json:"certChainObjectName,omitempty"` + CertObjectName *string `json:"certObjectName,omitempty"` + KeyObjectName *string `json:"keyObjectName,omitempty"` + + // KeyVaultReference: The resource ID of the Key Vault. + KeyVaultReference *genruntime.ResourceReference `armReference:"KeyVaultId" json:"keyVaultReference,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + RootCertObjectName *string `json:"rootCertObjectName,omitempty"` +} + +// Storage version of v1api20240901.IstioPluginCertificateAuthority_STATUS +// Plugin certificates information for Service Mesh. +type IstioPluginCertificateAuthority_STATUS struct { + CertChainObjectName *string `json:"certChainObjectName,omitempty"` + CertObjectName *string `json:"certObjectName,omitempty"` + KeyObjectName *string `json:"keyObjectName,omitempty"` + KeyVaultId *string `json:"keyVaultId,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + RootCertObjectName *string `json:"rootCertObjectName,omitempty"` +} + +// Storage version of v1api20240901.ManagedClusterPodIdentityProvisioningError_STATUS +// An error response from the pod identity provisioning. +type ManagedClusterPodIdentityProvisioningError_STATUS struct { + Error *ManagedClusterPodIdentityProvisioningErrorBody_STATUS `json:"error,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240901.ManagedClusterPodIdentityProvisioningErrorBody_STATUS +// An error response from the pod identity provisioning. +type ManagedClusterPodIdentityProvisioningErrorBody_STATUS struct { + Code *string `json:"code,omitempty"` + Details []ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled `json:"details,omitempty"` + Message *string `json:"message,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Target *string `json:"target,omitempty"` +} + +// Storage version of v1api20240901.ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled +type ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled struct { + Code *string `json:"code,omitempty"` + Message *string `json:"message,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Target *string `json:"target,omitempty"` +} + +func init() { + SchemeBuilder.Register(&ManagedCluster{}, &ManagedClusterList{}) +} diff --git a/v2/api/containerservice/v1api20240901/storage/managed_cluster_types_gen_test.go b/v2/api/containerservice/v1api20240901/storage/managed_cluster_types_gen_test.go new file mode 100644 index 00000000000..420e47e43b6 --- /dev/null +++ b/v2/api/containerservice/v1api20240901/storage/managed_cluster_types_gen_test.go @@ -0,0 +1,9524 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package storage + +import ( + "encoding/json" + "github.com/google/go-cmp/cmp" + "github.com/google/go-cmp/cmp/cmpopts" + "github.com/kr/pretty" + "github.com/kylelemons/godebug/diff" + "github.com/leanovate/gopter" + "github.com/leanovate/gopter/gen" + "github.com/leanovate/gopter/prop" + "os" + "reflect" + "testing" +) + +func Test_AdvancedNetworking_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of AdvancedNetworking via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAdvancedNetworking, AdvancedNetworkingGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAdvancedNetworking runs a test to see if a specific instance of AdvancedNetworking round trips to JSON and back losslessly +func RunJSONSerializationTestForAdvancedNetworking(subject AdvancedNetworking) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AdvancedNetworking + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of AdvancedNetworking instances for property testing - lazily instantiated by AdvancedNetworkingGenerator() +var advancedNetworkingGenerator gopter.Gen + +// AdvancedNetworkingGenerator returns a generator of AdvancedNetworking instances for property testing. +// We first initialize advancedNetworkingGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func AdvancedNetworkingGenerator() gopter.Gen { + if advancedNetworkingGenerator != nil { + return advancedNetworkingGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAdvancedNetworking(generators) + advancedNetworkingGenerator = gen.Struct(reflect.TypeOf(AdvancedNetworking{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAdvancedNetworking(generators) + AddRelatedPropertyGeneratorsForAdvancedNetworking(generators) + advancedNetworkingGenerator = gen.Struct(reflect.TypeOf(AdvancedNetworking{}), generators) + + return advancedNetworkingGenerator +} + +// AddIndependentPropertyGeneratorsForAdvancedNetworking is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAdvancedNetworking(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +// AddRelatedPropertyGeneratorsForAdvancedNetworking is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForAdvancedNetworking(gens map[string]gopter.Gen) { + gens["Observability"] = gen.PtrOf(AdvancedNetworkingObservabilityGenerator()) + gens["Security"] = gen.PtrOf(AdvancedNetworkingSecurityGenerator()) +} + +func Test_AdvancedNetworkingObservability_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of AdvancedNetworkingObservability via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAdvancedNetworkingObservability, AdvancedNetworkingObservabilityGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAdvancedNetworkingObservability runs a test to see if a specific instance of AdvancedNetworkingObservability round trips to JSON and back losslessly +func RunJSONSerializationTestForAdvancedNetworkingObservability(subject AdvancedNetworkingObservability) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AdvancedNetworkingObservability + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of AdvancedNetworkingObservability instances for property testing - lazily instantiated by +// AdvancedNetworkingObservabilityGenerator() +var advancedNetworkingObservabilityGenerator gopter.Gen + +// AdvancedNetworkingObservabilityGenerator returns a generator of AdvancedNetworkingObservability instances for property testing. +func AdvancedNetworkingObservabilityGenerator() gopter.Gen { + if advancedNetworkingObservabilityGenerator != nil { + return advancedNetworkingObservabilityGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAdvancedNetworkingObservability(generators) + advancedNetworkingObservabilityGenerator = gen.Struct(reflect.TypeOf(AdvancedNetworkingObservability{}), generators) + + return advancedNetworkingObservabilityGenerator +} + +// AddIndependentPropertyGeneratorsForAdvancedNetworkingObservability is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAdvancedNetworkingObservability(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +func Test_AdvancedNetworkingObservability_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of AdvancedNetworkingObservability_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAdvancedNetworkingObservability_STATUS, AdvancedNetworkingObservability_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAdvancedNetworkingObservability_STATUS runs a test to see if a specific instance of AdvancedNetworkingObservability_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForAdvancedNetworkingObservability_STATUS(subject AdvancedNetworkingObservability_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AdvancedNetworkingObservability_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of AdvancedNetworkingObservability_STATUS instances for property testing - lazily instantiated by +// AdvancedNetworkingObservability_STATUSGenerator() +var advancedNetworkingObservability_STATUSGenerator gopter.Gen + +// AdvancedNetworkingObservability_STATUSGenerator returns a generator of AdvancedNetworkingObservability_STATUS instances for property testing. +func AdvancedNetworkingObservability_STATUSGenerator() gopter.Gen { + if advancedNetworkingObservability_STATUSGenerator != nil { + return advancedNetworkingObservability_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAdvancedNetworkingObservability_STATUS(generators) + advancedNetworkingObservability_STATUSGenerator = gen.Struct(reflect.TypeOf(AdvancedNetworkingObservability_STATUS{}), generators) + + return advancedNetworkingObservability_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForAdvancedNetworkingObservability_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAdvancedNetworkingObservability_STATUS(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +func Test_AdvancedNetworkingSecurity_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of AdvancedNetworkingSecurity via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAdvancedNetworkingSecurity, AdvancedNetworkingSecurityGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAdvancedNetworkingSecurity runs a test to see if a specific instance of AdvancedNetworkingSecurity round trips to JSON and back losslessly +func RunJSONSerializationTestForAdvancedNetworkingSecurity(subject AdvancedNetworkingSecurity) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AdvancedNetworkingSecurity + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of AdvancedNetworkingSecurity instances for property testing - lazily instantiated by +// AdvancedNetworkingSecurityGenerator() +var advancedNetworkingSecurityGenerator gopter.Gen + +// AdvancedNetworkingSecurityGenerator returns a generator of AdvancedNetworkingSecurity instances for property testing. +func AdvancedNetworkingSecurityGenerator() gopter.Gen { + if advancedNetworkingSecurityGenerator != nil { + return advancedNetworkingSecurityGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAdvancedNetworkingSecurity(generators) + advancedNetworkingSecurityGenerator = gen.Struct(reflect.TypeOf(AdvancedNetworkingSecurity{}), generators) + + return advancedNetworkingSecurityGenerator +} + +// AddIndependentPropertyGeneratorsForAdvancedNetworkingSecurity is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAdvancedNetworkingSecurity(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +func Test_AdvancedNetworkingSecurity_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of AdvancedNetworkingSecurity_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAdvancedNetworkingSecurity_STATUS, AdvancedNetworkingSecurity_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAdvancedNetworkingSecurity_STATUS runs a test to see if a specific instance of AdvancedNetworkingSecurity_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForAdvancedNetworkingSecurity_STATUS(subject AdvancedNetworkingSecurity_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AdvancedNetworkingSecurity_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of AdvancedNetworkingSecurity_STATUS instances for property testing - lazily instantiated by +// AdvancedNetworkingSecurity_STATUSGenerator() +var advancedNetworkingSecurity_STATUSGenerator gopter.Gen + +// AdvancedNetworkingSecurity_STATUSGenerator returns a generator of AdvancedNetworkingSecurity_STATUS instances for property testing. +func AdvancedNetworkingSecurity_STATUSGenerator() gopter.Gen { + if advancedNetworkingSecurity_STATUSGenerator != nil { + return advancedNetworkingSecurity_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAdvancedNetworkingSecurity_STATUS(generators) + advancedNetworkingSecurity_STATUSGenerator = gen.Struct(reflect.TypeOf(AdvancedNetworkingSecurity_STATUS{}), generators) + + return advancedNetworkingSecurity_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForAdvancedNetworkingSecurity_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAdvancedNetworkingSecurity_STATUS(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +func Test_AdvancedNetworking_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of AdvancedNetworking_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAdvancedNetworking_STATUS, AdvancedNetworking_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAdvancedNetworking_STATUS runs a test to see if a specific instance of AdvancedNetworking_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForAdvancedNetworking_STATUS(subject AdvancedNetworking_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AdvancedNetworking_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of AdvancedNetworking_STATUS instances for property testing - lazily instantiated by +// AdvancedNetworking_STATUSGenerator() +var advancedNetworking_STATUSGenerator gopter.Gen + +// AdvancedNetworking_STATUSGenerator returns a generator of AdvancedNetworking_STATUS instances for property testing. +// We first initialize advancedNetworking_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func AdvancedNetworking_STATUSGenerator() gopter.Gen { + if advancedNetworking_STATUSGenerator != nil { + return advancedNetworking_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAdvancedNetworking_STATUS(generators) + advancedNetworking_STATUSGenerator = gen.Struct(reflect.TypeOf(AdvancedNetworking_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAdvancedNetworking_STATUS(generators) + AddRelatedPropertyGeneratorsForAdvancedNetworking_STATUS(generators) + advancedNetworking_STATUSGenerator = gen.Struct(reflect.TypeOf(AdvancedNetworking_STATUS{}), generators) + + return advancedNetworking_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForAdvancedNetworking_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAdvancedNetworking_STATUS(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +// AddRelatedPropertyGeneratorsForAdvancedNetworking_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForAdvancedNetworking_STATUS(gens map[string]gopter.Gen) { + gens["Observability"] = gen.PtrOf(AdvancedNetworkingObservability_STATUSGenerator()) + gens["Security"] = gen.PtrOf(AdvancedNetworkingSecurity_STATUSGenerator()) +} + +func Test_AzureKeyVaultKms_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of AzureKeyVaultKms via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAzureKeyVaultKms, AzureKeyVaultKmsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAzureKeyVaultKms runs a test to see if a specific instance of AzureKeyVaultKms round trips to JSON and back losslessly +func RunJSONSerializationTestForAzureKeyVaultKms(subject AzureKeyVaultKms) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AzureKeyVaultKms + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of AzureKeyVaultKms instances for property testing - lazily instantiated by AzureKeyVaultKmsGenerator() +var azureKeyVaultKmsGenerator gopter.Gen + +// AzureKeyVaultKmsGenerator returns a generator of AzureKeyVaultKms instances for property testing. +func AzureKeyVaultKmsGenerator() gopter.Gen { + if azureKeyVaultKmsGenerator != nil { + return azureKeyVaultKmsGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAzureKeyVaultKms(generators) + azureKeyVaultKmsGenerator = gen.Struct(reflect.TypeOf(AzureKeyVaultKms{}), generators) + + return azureKeyVaultKmsGenerator +} + +// AddIndependentPropertyGeneratorsForAzureKeyVaultKms is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAzureKeyVaultKms(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) + gens["KeyId"] = gen.PtrOf(gen.AlphaString()) + gens["KeyVaultNetworkAccess"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_AzureKeyVaultKms_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of AzureKeyVaultKms_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAzureKeyVaultKms_STATUS, AzureKeyVaultKms_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAzureKeyVaultKms_STATUS runs a test to see if a specific instance of AzureKeyVaultKms_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForAzureKeyVaultKms_STATUS(subject AzureKeyVaultKms_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AzureKeyVaultKms_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of AzureKeyVaultKms_STATUS instances for property testing - lazily instantiated by +// AzureKeyVaultKms_STATUSGenerator() +var azureKeyVaultKms_STATUSGenerator gopter.Gen + +// AzureKeyVaultKms_STATUSGenerator returns a generator of AzureKeyVaultKms_STATUS instances for property testing. +func AzureKeyVaultKms_STATUSGenerator() gopter.Gen { + if azureKeyVaultKms_STATUSGenerator != nil { + return azureKeyVaultKms_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAzureKeyVaultKms_STATUS(generators) + azureKeyVaultKms_STATUSGenerator = gen.Struct(reflect.TypeOf(AzureKeyVaultKms_STATUS{}), generators) + + return azureKeyVaultKms_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForAzureKeyVaultKms_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAzureKeyVaultKms_STATUS(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) + gens["KeyId"] = gen.PtrOf(gen.AlphaString()) + gens["KeyVaultNetworkAccess"] = gen.PtrOf(gen.AlphaString()) + gens["KeyVaultResourceId"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ClusterUpgradeSettings_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ClusterUpgradeSettings via JSON returns original", + prop.ForAll(RunJSONSerializationTestForClusterUpgradeSettings, ClusterUpgradeSettingsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForClusterUpgradeSettings runs a test to see if a specific instance of ClusterUpgradeSettings round trips to JSON and back losslessly +func RunJSONSerializationTestForClusterUpgradeSettings(subject ClusterUpgradeSettings) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ClusterUpgradeSettings + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ClusterUpgradeSettings instances for property testing - lazily instantiated by +// ClusterUpgradeSettingsGenerator() +var clusterUpgradeSettingsGenerator gopter.Gen + +// ClusterUpgradeSettingsGenerator returns a generator of ClusterUpgradeSettings instances for property testing. +func ClusterUpgradeSettingsGenerator() gopter.Gen { + if clusterUpgradeSettingsGenerator != nil { + return clusterUpgradeSettingsGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForClusterUpgradeSettings(generators) + clusterUpgradeSettingsGenerator = gen.Struct(reflect.TypeOf(ClusterUpgradeSettings{}), generators) + + return clusterUpgradeSettingsGenerator +} + +// AddRelatedPropertyGeneratorsForClusterUpgradeSettings is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForClusterUpgradeSettings(gens map[string]gopter.Gen) { + gens["OverrideSettings"] = gen.PtrOf(UpgradeOverrideSettingsGenerator()) +} + +func Test_ClusterUpgradeSettings_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ClusterUpgradeSettings_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForClusterUpgradeSettings_STATUS, ClusterUpgradeSettings_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForClusterUpgradeSettings_STATUS runs a test to see if a specific instance of ClusterUpgradeSettings_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForClusterUpgradeSettings_STATUS(subject ClusterUpgradeSettings_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ClusterUpgradeSettings_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ClusterUpgradeSettings_STATUS instances for property testing - lazily instantiated by +// ClusterUpgradeSettings_STATUSGenerator() +var clusterUpgradeSettings_STATUSGenerator gopter.Gen + +// ClusterUpgradeSettings_STATUSGenerator returns a generator of ClusterUpgradeSettings_STATUS instances for property testing. +func ClusterUpgradeSettings_STATUSGenerator() gopter.Gen { + if clusterUpgradeSettings_STATUSGenerator != nil { + return clusterUpgradeSettings_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForClusterUpgradeSettings_STATUS(generators) + clusterUpgradeSettings_STATUSGenerator = gen.Struct(reflect.TypeOf(ClusterUpgradeSettings_STATUS{}), generators) + + return clusterUpgradeSettings_STATUSGenerator +} + +// AddRelatedPropertyGeneratorsForClusterUpgradeSettings_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForClusterUpgradeSettings_STATUS(gens map[string]gopter.Gen) { + gens["OverrideSettings"] = gen.PtrOf(UpgradeOverrideSettings_STATUSGenerator()) +} + +func Test_ContainerServiceLinuxProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ContainerServiceLinuxProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForContainerServiceLinuxProfile, ContainerServiceLinuxProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForContainerServiceLinuxProfile runs a test to see if a specific instance of ContainerServiceLinuxProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForContainerServiceLinuxProfile(subject ContainerServiceLinuxProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ContainerServiceLinuxProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ContainerServiceLinuxProfile instances for property testing - lazily instantiated by +// ContainerServiceLinuxProfileGenerator() +var containerServiceLinuxProfileGenerator gopter.Gen + +// ContainerServiceLinuxProfileGenerator returns a generator of ContainerServiceLinuxProfile instances for property testing. +// We first initialize containerServiceLinuxProfileGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func ContainerServiceLinuxProfileGenerator() gopter.Gen { + if containerServiceLinuxProfileGenerator != nil { + return containerServiceLinuxProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForContainerServiceLinuxProfile(generators) + containerServiceLinuxProfileGenerator = gen.Struct(reflect.TypeOf(ContainerServiceLinuxProfile{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForContainerServiceLinuxProfile(generators) + AddRelatedPropertyGeneratorsForContainerServiceLinuxProfile(generators) + containerServiceLinuxProfileGenerator = gen.Struct(reflect.TypeOf(ContainerServiceLinuxProfile{}), generators) + + return containerServiceLinuxProfileGenerator +} + +// AddIndependentPropertyGeneratorsForContainerServiceLinuxProfile is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForContainerServiceLinuxProfile(gens map[string]gopter.Gen) { + gens["AdminUsername"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForContainerServiceLinuxProfile is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForContainerServiceLinuxProfile(gens map[string]gopter.Gen) { + gens["Ssh"] = gen.PtrOf(ContainerServiceSshConfigurationGenerator()) +} + +func Test_ContainerServiceLinuxProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ContainerServiceLinuxProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForContainerServiceLinuxProfile_STATUS, ContainerServiceLinuxProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForContainerServiceLinuxProfile_STATUS runs a test to see if a specific instance of ContainerServiceLinuxProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForContainerServiceLinuxProfile_STATUS(subject ContainerServiceLinuxProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ContainerServiceLinuxProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ContainerServiceLinuxProfile_STATUS instances for property testing - lazily instantiated by +// ContainerServiceLinuxProfile_STATUSGenerator() +var containerServiceLinuxProfile_STATUSGenerator gopter.Gen + +// ContainerServiceLinuxProfile_STATUSGenerator returns a generator of ContainerServiceLinuxProfile_STATUS instances for property testing. +// We first initialize containerServiceLinuxProfile_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func ContainerServiceLinuxProfile_STATUSGenerator() gopter.Gen { + if containerServiceLinuxProfile_STATUSGenerator != nil { + return containerServiceLinuxProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForContainerServiceLinuxProfile_STATUS(generators) + containerServiceLinuxProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ContainerServiceLinuxProfile_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForContainerServiceLinuxProfile_STATUS(generators) + AddRelatedPropertyGeneratorsForContainerServiceLinuxProfile_STATUS(generators) + containerServiceLinuxProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ContainerServiceLinuxProfile_STATUS{}), generators) + + return containerServiceLinuxProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForContainerServiceLinuxProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForContainerServiceLinuxProfile_STATUS(gens map[string]gopter.Gen) { + gens["AdminUsername"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForContainerServiceLinuxProfile_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForContainerServiceLinuxProfile_STATUS(gens map[string]gopter.Gen) { + gens["Ssh"] = gen.PtrOf(ContainerServiceSshConfiguration_STATUSGenerator()) +} + +func Test_ContainerServiceNetworkProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ContainerServiceNetworkProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForContainerServiceNetworkProfile, ContainerServiceNetworkProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForContainerServiceNetworkProfile runs a test to see if a specific instance of ContainerServiceNetworkProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForContainerServiceNetworkProfile(subject ContainerServiceNetworkProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ContainerServiceNetworkProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ContainerServiceNetworkProfile instances for property testing - lazily instantiated by +// ContainerServiceNetworkProfileGenerator() +var containerServiceNetworkProfileGenerator gopter.Gen + +// ContainerServiceNetworkProfileGenerator returns a generator of ContainerServiceNetworkProfile instances for property testing. +// We first initialize containerServiceNetworkProfileGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func ContainerServiceNetworkProfileGenerator() gopter.Gen { + if containerServiceNetworkProfileGenerator != nil { + return containerServiceNetworkProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForContainerServiceNetworkProfile(generators) + containerServiceNetworkProfileGenerator = gen.Struct(reflect.TypeOf(ContainerServiceNetworkProfile{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForContainerServiceNetworkProfile(generators) + AddRelatedPropertyGeneratorsForContainerServiceNetworkProfile(generators) + containerServiceNetworkProfileGenerator = gen.Struct(reflect.TypeOf(ContainerServiceNetworkProfile{}), generators) + + return containerServiceNetworkProfileGenerator +} + +// AddIndependentPropertyGeneratorsForContainerServiceNetworkProfile is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForContainerServiceNetworkProfile(gens map[string]gopter.Gen) { + gens["DnsServiceIP"] = gen.PtrOf(gen.AlphaString()) + gens["IpFamilies"] = gen.SliceOf(gen.AlphaString()) + gens["LoadBalancerSku"] = gen.PtrOf(gen.AlphaString()) + gens["NetworkDataplane"] = gen.PtrOf(gen.AlphaString()) + gens["NetworkMode"] = gen.PtrOf(gen.AlphaString()) + gens["NetworkPlugin"] = gen.PtrOf(gen.AlphaString()) + gens["NetworkPluginMode"] = gen.PtrOf(gen.AlphaString()) + gens["NetworkPolicy"] = gen.PtrOf(gen.AlphaString()) + gens["OutboundType"] = gen.PtrOf(gen.AlphaString()) + gens["PodCidr"] = gen.PtrOf(gen.AlphaString()) + gens["PodCidrs"] = gen.SliceOf(gen.AlphaString()) + gens["ServiceCidr"] = gen.PtrOf(gen.AlphaString()) + gens["ServiceCidrs"] = gen.SliceOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForContainerServiceNetworkProfile is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForContainerServiceNetworkProfile(gens map[string]gopter.Gen) { + gens["AdvancedNetworking"] = gen.PtrOf(AdvancedNetworkingGenerator()) + gens["LoadBalancerProfile"] = gen.PtrOf(ManagedClusterLoadBalancerProfileGenerator()) + gens["NatGatewayProfile"] = gen.PtrOf(ManagedClusterNATGatewayProfileGenerator()) +} + +func Test_ContainerServiceNetworkProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ContainerServiceNetworkProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForContainerServiceNetworkProfile_STATUS, ContainerServiceNetworkProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForContainerServiceNetworkProfile_STATUS runs a test to see if a specific instance of ContainerServiceNetworkProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForContainerServiceNetworkProfile_STATUS(subject ContainerServiceNetworkProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ContainerServiceNetworkProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ContainerServiceNetworkProfile_STATUS instances for property testing - lazily instantiated by +// ContainerServiceNetworkProfile_STATUSGenerator() +var containerServiceNetworkProfile_STATUSGenerator gopter.Gen + +// ContainerServiceNetworkProfile_STATUSGenerator returns a generator of ContainerServiceNetworkProfile_STATUS instances for property testing. +// We first initialize containerServiceNetworkProfile_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func ContainerServiceNetworkProfile_STATUSGenerator() gopter.Gen { + if containerServiceNetworkProfile_STATUSGenerator != nil { + return containerServiceNetworkProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForContainerServiceNetworkProfile_STATUS(generators) + containerServiceNetworkProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ContainerServiceNetworkProfile_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForContainerServiceNetworkProfile_STATUS(generators) + AddRelatedPropertyGeneratorsForContainerServiceNetworkProfile_STATUS(generators) + containerServiceNetworkProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ContainerServiceNetworkProfile_STATUS{}), generators) + + return containerServiceNetworkProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForContainerServiceNetworkProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForContainerServiceNetworkProfile_STATUS(gens map[string]gopter.Gen) { + gens["DnsServiceIP"] = gen.PtrOf(gen.AlphaString()) + gens["IpFamilies"] = gen.SliceOf(gen.AlphaString()) + gens["LoadBalancerSku"] = gen.PtrOf(gen.AlphaString()) + gens["NetworkDataplane"] = gen.PtrOf(gen.AlphaString()) + gens["NetworkMode"] = gen.PtrOf(gen.AlphaString()) + gens["NetworkPlugin"] = gen.PtrOf(gen.AlphaString()) + gens["NetworkPluginMode"] = gen.PtrOf(gen.AlphaString()) + gens["NetworkPolicy"] = gen.PtrOf(gen.AlphaString()) + gens["OutboundType"] = gen.PtrOf(gen.AlphaString()) + gens["PodCidr"] = gen.PtrOf(gen.AlphaString()) + gens["PodCidrs"] = gen.SliceOf(gen.AlphaString()) + gens["ServiceCidr"] = gen.PtrOf(gen.AlphaString()) + gens["ServiceCidrs"] = gen.SliceOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForContainerServiceNetworkProfile_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForContainerServiceNetworkProfile_STATUS(gens map[string]gopter.Gen) { + gens["AdvancedNetworking"] = gen.PtrOf(AdvancedNetworking_STATUSGenerator()) + gens["LoadBalancerProfile"] = gen.PtrOf(ManagedClusterLoadBalancerProfile_STATUSGenerator()) + gens["NatGatewayProfile"] = gen.PtrOf(ManagedClusterNATGatewayProfile_STATUSGenerator()) +} + +func Test_ContainerServiceSshConfiguration_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ContainerServiceSshConfiguration via JSON returns original", + prop.ForAll(RunJSONSerializationTestForContainerServiceSshConfiguration, ContainerServiceSshConfigurationGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForContainerServiceSshConfiguration runs a test to see if a specific instance of ContainerServiceSshConfiguration round trips to JSON and back losslessly +func RunJSONSerializationTestForContainerServiceSshConfiguration(subject ContainerServiceSshConfiguration) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ContainerServiceSshConfiguration + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ContainerServiceSshConfiguration instances for property testing - lazily instantiated by +// ContainerServiceSshConfigurationGenerator() +var containerServiceSshConfigurationGenerator gopter.Gen + +// ContainerServiceSshConfigurationGenerator returns a generator of ContainerServiceSshConfiguration instances for property testing. +func ContainerServiceSshConfigurationGenerator() gopter.Gen { + if containerServiceSshConfigurationGenerator != nil { + return containerServiceSshConfigurationGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForContainerServiceSshConfiguration(generators) + containerServiceSshConfigurationGenerator = gen.Struct(reflect.TypeOf(ContainerServiceSshConfiguration{}), generators) + + return containerServiceSshConfigurationGenerator +} + +// AddRelatedPropertyGeneratorsForContainerServiceSshConfiguration is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForContainerServiceSshConfiguration(gens map[string]gopter.Gen) { + gens["PublicKeys"] = gen.SliceOf(ContainerServiceSshPublicKeyGenerator()) +} + +func Test_ContainerServiceSshConfiguration_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ContainerServiceSshConfiguration_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForContainerServiceSshConfiguration_STATUS, ContainerServiceSshConfiguration_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForContainerServiceSshConfiguration_STATUS runs a test to see if a specific instance of ContainerServiceSshConfiguration_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForContainerServiceSshConfiguration_STATUS(subject ContainerServiceSshConfiguration_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ContainerServiceSshConfiguration_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ContainerServiceSshConfiguration_STATUS instances for property testing - lazily instantiated by +// ContainerServiceSshConfiguration_STATUSGenerator() +var containerServiceSshConfiguration_STATUSGenerator gopter.Gen + +// ContainerServiceSshConfiguration_STATUSGenerator returns a generator of ContainerServiceSshConfiguration_STATUS instances for property testing. +func ContainerServiceSshConfiguration_STATUSGenerator() gopter.Gen { + if containerServiceSshConfiguration_STATUSGenerator != nil { + return containerServiceSshConfiguration_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForContainerServiceSshConfiguration_STATUS(generators) + containerServiceSshConfiguration_STATUSGenerator = gen.Struct(reflect.TypeOf(ContainerServiceSshConfiguration_STATUS{}), generators) + + return containerServiceSshConfiguration_STATUSGenerator +} + +// AddRelatedPropertyGeneratorsForContainerServiceSshConfiguration_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForContainerServiceSshConfiguration_STATUS(gens map[string]gopter.Gen) { + gens["PublicKeys"] = gen.SliceOf(ContainerServiceSshPublicKey_STATUSGenerator()) +} + +func Test_ContainerServiceSshPublicKey_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ContainerServiceSshPublicKey via JSON returns original", + prop.ForAll(RunJSONSerializationTestForContainerServiceSshPublicKey, ContainerServiceSshPublicKeyGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForContainerServiceSshPublicKey runs a test to see if a specific instance of ContainerServiceSshPublicKey round trips to JSON and back losslessly +func RunJSONSerializationTestForContainerServiceSshPublicKey(subject ContainerServiceSshPublicKey) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ContainerServiceSshPublicKey + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ContainerServiceSshPublicKey instances for property testing - lazily instantiated by +// ContainerServiceSshPublicKeyGenerator() +var containerServiceSshPublicKeyGenerator gopter.Gen + +// ContainerServiceSshPublicKeyGenerator returns a generator of ContainerServiceSshPublicKey instances for property testing. +func ContainerServiceSshPublicKeyGenerator() gopter.Gen { + if containerServiceSshPublicKeyGenerator != nil { + return containerServiceSshPublicKeyGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForContainerServiceSshPublicKey(generators) + containerServiceSshPublicKeyGenerator = gen.Struct(reflect.TypeOf(ContainerServiceSshPublicKey{}), generators) + + return containerServiceSshPublicKeyGenerator +} + +// AddIndependentPropertyGeneratorsForContainerServiceSshPublicKey is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForContainerServiceSshPublicKey(gens map[string]gopter.Gen) { + gens["KeyData"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ContainerServiceSshPublicKey_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ContainerServiceSshPublicKey_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForContainerServiceSshPublicKey_STATUS, ContainerServiceSshPublicKey_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForContainerServiceSshPublicKey_STATUS runs a test to see if a specific instance of ContainerServiceSshPublicKey_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForContainerServiceSshPublicKey_STATUS(subject ContainerServiceSshPublicKey_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ContainerServiceSshPublicKey_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ContainerServiceSshPublicKey_STATUS instances for property testing - lazily instantiated by +// ContainerServiceSshPublicKey_STATUSGenerator() +var containerServiceSshPublicKey_STATUSGenerator gopter.Gen + +// ContainerServiceSshPublicKey_STATUSGenerator returns a generator of ContainerServiceSshPublicKey_STATUS instances for property testing. +func ContainerServiceSshPublicKey_STATUSGenerator() gopter.Gen { + if containerServiceSshPublicKey_STATUSGenerator != nil { + return containerServiceSshPublicKey_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForContainerServiceSshPublicKey_STATUS(generators) + containerServiceSshPublicKey_STATUSGenerator = gen.Struct(reflect.TypeOf(ContainerServiceSshPublicKey_STATUS{}), generators) + + return containerServiceSshPublicKey_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForContainerServiceSshPublicKey_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForContainerServiceSshPublicKey_STATUS(gens map[string]gopter.Gen) { + gens["KeyData"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_DelegatedResource_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of DelegatedResource via JSON returns original", + prop.ForAll(RunJSONSerializationTestForDelegatedResource, DelegatedResourceGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForDelegatedResource runs a test to see if a specific instance of DelegatedResource round trips to JSON and back losslessly +func RunJSONSerializationTestForDelegatedResource(subject DelegatedResource) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual DelegatedResource + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of DelegatedResource instances for property testing - lazily instantiated by DelegatedResourceGenerator() +var delegatedResourceGenerator gopter.Gen + +// DelegatedResourceGenerator returns a generator of DelegatedResource instances for property testing. +func DelegatedResourceGenerator() gopter.Gen { + if delegatedResourceGenerator != nil { + return delegatedResourceGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForDelegatedResource(generators) + delegatedResourceGenerator = gen.Struct(reflect.TypeOf(DelegatedResource{}), generators) + + return delegatedResourceGenerator +} + +// AddIndependentPropertyGeneratorsForDelegatedResource is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForDelegatedResource(gens map[string]gopter.Gen) { + gens["Location"] = gen.PtrOf(gen.AlphaString()) + gens["ReferralResource"] = gen.PtrOf(gen.AlphaString()) + gens["TenantId"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_DelegatedResource_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of DelegatedResource_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForDelegatedResource_STATUS, DelegatedResource_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForDelegatedResource_STATUS runs a test to see if a specific instance of DelegatedResource_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForDelegatedResource_STATUS(subject DelegatedResource_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual DelegatedResource_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of DelegatedResource_STATUS instances for property testing - lazily instantiated by +// DelegatedResource_STATUSGenerator() +var delegatedResource_STATUSGenerator gopter.Gen + +// DelegatedResource_STATUSGenerator returns a generator of DelegatedResource_STATUS instances for property testing. +func DelegatedResource_STATUSGenerator() gopter.Gen { + if delegatedResource_STATUSGenerator != nil { + return delegatedResource_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForDelegatedResource_STATUS(generators) + delegatedResource_STATUSGenerator = gen.Struct(reflect.TypeOf(DelegatedResource_STATUS{}), generators) + + return delegatedResource_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForDelegatedResource_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForDelegatedResource_STATUS(gens map[string]gopter.Gen) { + gens["Location"] = gen.PtrOf(gen.AlphaString()) + gens["ReferralResource"] = gen.PtrOf(gen.AlphaString()) + gens["ResourceId"] = gen.PtrOf(gen.AlphaString()) + gens["TenantId"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ExtendedLocation_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ExtendedLocation via JSON returns original", + prop.ForAll(RunJSONSerializationTestForExtendedLocation, ExtendedLocationGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForExtendedLocation runs a test to see if a specific instance of ExtendedLocation round trips to JSON and back losslessly +func RunJSONSerializationTestForExtendedLocation(subject ExtendedLocation) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ExtendedLocation + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ExtendedLocation instances for property testing - lazily instantiated by ExtendedLocationGenerator() +var extendedLocationGenerator gopter.Gen + +// ExtendedLocationGenerator returns a generator of ExtendedLocation instances for property testing. +func ExtendedLocationGenerator() gopter.Gen { + if extendedLocationGenerator != nil { + return extendedLocationGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForExtendedLocation(generators) + extendedLocationGenerator = gen.Struct(reflect.TypeOf(ExtendedLocation{}), generators) + + return extendedLocationGenerator +} + +// AddIndependentPropertyGeneratorsForExtendedLocation is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForExtendedLocation(gens map[string]gopter.Gen) { + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["Type"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ExtendedLocation_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ExtendedLocation_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForExtendedLocation_STATUS, ExtendedLocation_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForExtendedLocation_STATUS runs a test to see if a specific instance of ExtendedLocation_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForExtendedLocation_STATUS(subject ExtendedLocation_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ExtendedLocation_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ExtendedLocation_STATUS instances for property testing - lazily instantiated by +// ExtendedLocation_STATUSGenerator() +var extendedLocation_STATUSGenerator gopter.Gen + +// ExtendedLocation_STATUSGenerator returns a generator of ExtendedLocation_STATUS instances for property testing. +func ExtendedLocation_STATUSGenerator() gopter.Gen { + if extendedLocation_STATUSGenerator != nil { + return extendedLocation_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForExtendedLocation_STATUS(generators) + extendedLocation_STATUSGenerator = gen.Struct(reflect.TypeOf(ExtendedLocation_STATUS{}), generators) + + return extendedLocation_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForExtendedLocation_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForExtendedLocation_STATUS(gens map[string]gopter.Gen) { + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["Type"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_IstioCertificateAuthority_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of IstioCertificateAuthority via JSON returns original", + prop.ForAll(RunJSONSerializationTestForIstioCertificateAuthority, IstioCertificateAuthorityGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForIstioCertificateAuthority runs a test to see if a specific instance of IstioCertificateAuthority round trips to JSON and back losslessly +func RunJSONSerializationTestForIstioCertificateAuthority(subject IstioCertificateAuthority) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual IstioCertificateAuthority + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of IstioCertificateAuthority instances for property testing - lazily instantiated by +// IstioCertificateAuthorityGenerator() +var istioCertificateAuthorityGenerator gopter.Gen + +// IstioCertificateAuthorityGenerator returns a generator of IstioCertificateAuthority instances for property testing. +func IstioCertificateAuthorityGenerator() gopter.Gen { + if istioCertificateAuthorityGenerator != nil { + return istioCertificateAuthorityGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForIstioCertificateAuthority(generators) + istioCertificateAuthorityGenerator = gen.Struct(reflect.TypeOf(IstioCertificateAuthority{}), generators) + + return istioCertificateAuthorityGenerator +} + +// AddRelatedPropertyGeneratorsForIstioCertificateAuthority is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForIstioCertificateAuthority(gens map[string]gopter.Gen) { + gens["Plugin"] = gen.PtrOf(IstioPluginCertificateAuthorityGenerator()) +} + +func Test_IstioCertificateAuthority_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of IstioCertificateAuthority_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForIstioCertificateAuthority_STATUS, IstioCertificateAuthority_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForIstioCertificateAuthority_STATUS runs a test to see if a specific instance of IstioCertificateAuthority_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForIstioCertificateAuthority_STATUS(subject IstioCertificateAuthority_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual IstioCertificateAuthority_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of IstioCertificateAuthority_STATUS instances for property testing - lazily instantiated by +// IstioCertificateAuthority_STATUSGenerator() +var istioCertificateAuthority_STATUSGenerator gopter.Gen + +// IstioCertificateAuthority_STATUSGenerator returns a generator of IstioCertificateAuthority_STATUS instances for property testing. +func IstioCertificateAuthority_STATUSGenerator() gopter.Gen { + if istioCertificateAuthority_STATUSGenerator != nil { + return istioCertificateAuthority_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForIstioCertificateAuthority_STATUS(generators) + istioCertificateAuthority_STATUSGenerator = gen.Struct(reflect.TypeOf(IstioCertificateAuthority_STATUS{}), generators) + + return istioCertificateAuthority_STATUSGenerator +} + +// AddRelatedPropertyGeneratorsForIstioCertificateAuthority_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForIstioCertificateAuthority_STATUS(gens map[string]gopter.Gen) { + gens["Plugin"] = gen.PtrOf(IstioPluginCertificateAuthority_STATUSGenerator()) +} + +func Test_IstioComponents_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of IstioComponents via JSON returns original", + prop.ForAll(RunJSONSerializationTestForIstioComponents, IstioComponentsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForIstioComponents runs a test to see if a specific instance of IstioComponents round trips to JSON and back losslessly +func RunJSONSerializationTestForIstioComponents(subject IstioComponents) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual IstioComponents + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of IstioComponents instances for property testing - lazily instantiated by IstioComponentsGenerator() +var istioComponentsGenerator gopter.Gen + +// IstioComponentsGenerator returns a generator of IstioComponents instances for property testing. +func IstioComponentsGenerator() gopter.Gen { + if istioComponentsGenerator != nil { + return istioComponentsGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForIstioComponents(generators) + istioComponentsGenerator = gen.Struct(reflect.TypeOf(IstioComponents{}), generators) + + return istioComponentsGenerator +} + +// AddRelatedPropertyGeneratorsForIstioComponents is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForIstioComponents(gens map[string]gopter.Gen) { + gens["EgressGateways"] = gen.SliceOf(IstioEgressGatewayGenerator()) + gens["IngressGateways"] = gen.SliceOf(IstioIngressGatewayGenerator()) +} + +func Test_IstioComponents_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of IstioComponents_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForIstioComponents_STATUS, IstioComponents_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForIstioComponents_STATUS runs a test to see if a specific instance of IstioComponents_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForIstioComponents_STATUS(subject IstioComponents_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual IstioComponents_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of IstioComponents_STATUS instances for property testing - lazily instantiated by +// IstioComponents_STATUSGenerator() +var istioComponents_STATUSGenerator gopter.Gen + +// IstioComponents_STATUSGenerator returns a generator of IstioComponents_STATUS instances for property testing. +func IstioComponents_STATUSGenerator() gopter.Gen { + if istioComponents_STATUSGenerator != nil { + return istioComponents_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForIstioComponents_STATUS(generators) + istioComponents_STATUSGenerator = gen.Struct(reflect.TypeOf(IstioComponents_STATUS{}), generators) + + return istioComponents_STATUSGenerator +} + +// AddRelatedPropertyGeneratorsForIstioComponents_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForIstioComponents_STATUS(gens map[string]gopter.Gen) { + gens["EgressGateways"] = gen.SliceOf(IstioEgressGateway_STATUSGenerator()) + gens["IngressGateways"] = gen.SliceOf(IstioIngressGateway_STATUSGenerator()) +} + +func Test_IstioEgressGateway_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of IstioEgressGateway via JSON returns original", + prop.ForAll(RunJSONSerializationTestForIstioEgressGateway, IstioEgressGatewayGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForIstioEgressGateway runs a test to see if a specific instance of IstioEgressGateway round trips to JSON and back losslessly +func RunJSONSerializationTestForIstioEgressGateway(subject IstioEgressGateway) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual IstioEgressGateway + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of IstioEgressGateway instances for property testing - lazily instantiated by IstioEgressGatewayGenerator() +var istioEgressGatewayGenerator gopter.Gen + +// IstioEgressGatewayGenerator returns a generator of IstioEgressGateway instances for property testing. +func IstioEgressGatewayGenerator() gopter.Gen { + if istioEgressGatewayGenerator != nil { + return istioEgressGatewayGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForIstioEgressGateway(generators) + istioEgressGatewayGenerator = gen.Struct(reflect.TypeOf(IstioEgressGateway{}), generators) + + return istioEgressGatewayGenerator +} + +// AddIndependentPropertyGeneratorsForIstioEgressGateway is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForIstioEgressGateway(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +func Test_IstioEgressGateway_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of IstioEgressGateway_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForIstioEgressGateway_STATUS, IstioEgressGateway_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForIstioEgressGateway_STATUS runs a test to see if a specific instance of IstioEgressGateway_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForIstioEgressGateway_STATUS(subject IstioEgressGateway_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual IstioEgressGateway_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of IstioEgressGateway_STATUS instances for property testing - lazily instantiated by +// IstioEgressGateway_STATUSGenerator() +var istioEgressGateway_STATUSGenerator gopter.Gen + +// IstioEgressGateway_STATUSGenerator returns a generator of IstioEgressGateway_STATUS instances for property testing. +func IstioEgressGateway_STATUSGenerator() gopter.Gen { + if istioEgressGateway_STATUSGenerator != nil { + return istioEgressGateway_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForIstioEgressGateway_STATUS(generators) + istioEgressGateway_STATUSGenerator = gen.Struct(reflect.TypeOf(IstioEgressGateway_STATUS{}), generators) + + return istioEgressGateway_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForIstioEgressGateway_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForIstioEgressGateway_STATUS(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +func Test_IstioIngressGateway_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of IstioIngressGateway via JSON returns original", + prop.ForAll(RunJSONSerializationTestForIstioIngressGateway, IstioIngressGatewayGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForIstioIngressGateway runs a test to see if a specific instance of IstioIngressGateway round trips to JSON and back losslessly +func RunJSONSerializationTestForIstioIngressGateway(subject IstioIngressGateway) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual IstioIngressGateway + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of IstioIngressGateway instances for property testing - lazily instantiated by +// IstioIngressGatewayGenerator() +var istioIngressGatewayGenerator gopter.Gen + +// IstioIngressGatewayGenerator returns a generator of IstioIngressGateway instances for property testing. +func IstioIngressGatewayGenerator() gopter.Gen { + if istioIngressGatewayGenerator != nil { + return istioIngressGatewayGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForIstioIngressGateway(generators) + istioIngressGatewayGenerator = gen.Struct(reflect.TypeOf(IstioIngressGateway{}), generators) + + return istioIngressGatewayGenerator +} + +// AddIndependentPropertyGeneratorsForIstioIngressGateway is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForIstioIngressGateway(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) + gens["Mode"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_IstioIngressGateway_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of IstioIngressGateway_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForIstioIngressGateway_STATUS, IstioIngressGateway_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForIstioIngressGateway_STATUS runs a test to see if a specific instance of IstioIngressGateway_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForIstioIngressGateway_STATUS(subject IstioIngressGateway_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual IstioIngressGateway_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of IstioIngressGateway_STATUS instances for property testing - lazily instantiated by +// IstioIngressGateway_STATUSGenerator() +var istioIngressGateway_STATUSGenerator gopter.Gen + +// IstioIngressGateway_STATUSGenerator returns a generator of IstioIngressGateway_STATUS instances for property testing. +func IstioIngressGateway_STATUSGenerator() gopter.Gen { + if istioIngressGateway_STATUSGenerator != nil { + return istioIngressGateway_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForIstioIngressGateway_STATUS(generators) + istioIngressGateway_STATUSGenerator = gen.Struct(reflect.TypeOf(IstioIngressGateway_STATUS{}), generators) + + return istioIngressGateway_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForIstioIngressGateway_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForIstioIngressGateway_STATUS(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) + gens["Mode"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_IstioPluginCertificateAuthority_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of IstioPluginCertificateAuthority via JSON returns original", + prop.ForAll(RunJSONSerializationTestForIstioPluginCertificateAuthority, IstioPluginCertificateAuthorityGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForIstioPluginCertificateAuthority runs a test to see if a specific instance of IstioPluginCertificateAuthority round trips to JSON and back losslessly +func RunJSONSerializationTestForIstioPluginCertificateAuthority(subject IstioPluginCertificateAuthority) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual IstioPluginCertificateAuthority + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of IstioPluginCertificateAuthority instances for property testing - lazily instantiated by +// IstioPluginCertificateAuthorityGenerator() +var istioPluginCertificateAuthorityGenerator gopter.Gen + +// IstioPluginCertificateAuthorityGenerator returns a generator of IstioPluginCertificateAuthority instances for property testing. +func IstioPluginCertificateAuthorityGenerator() gopter.Gen { + if istioPluginCertificateAuthorityGenerator != nil { + return istioPluginCertificateAuthorityGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForIstioPluginCertificateAuthority(generators) + istioPluginCertificateAuthorityGenerator = gen.Struct(reflect.TypeOf(IstioPluginCertificateAuthority{}), generators) + + return istioPluginCertificateAuthorityGenerator +} + +// AddIndependentPropertyGeneratorsForIstioPluginCertificateAuthority is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForIstioPluginCertificateAuthority(gens map[string]gopter.Gen) { + gens["CertChainObjectName"] = gen.PtrOf(gen.AlphaString()) + gens["CertObjectName"] = gen.PtrOf(gen.AlphaString()) + gens["KeyObjectName"] = gen.PtrOf(gen.AlphaString()) + gens["RootCertObjectName"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_IstioPluginCertificateAuthority_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of IstioPluginCertificateAuthority_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForIstioPluginCertificateAuthority_STATUS, IstioPluginCertificateAuthority_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForIstioPluginCertificateAuthority_STATUS runs a test to see if a specific instance of IstioPluginCertificateAuthority_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForIstioPluginCertificateAuthority_STATUS(subject IstioPluginCertificateAuthority_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual IstioPluginCertificateAuthority_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of IstioPluginCertificateAuthority_STATUS instances for property testing - lazily instantiated by +// IstioPluginCertificateAuthority_STATUSGenerator() +var istioPluginCertificateAuthority_STATUSGenerator gopter.Gen + +// IstioPluginCertificateAuthority_STATUSGenerator returns a generator of IstioPluginCertificateAuthority_STATUS instances for property testing. +func IstioPluginCertificateAuthority_STATUSGenerator() gopter.Gen { + if istioPluginCertificateAuthority_STATUSGenerator != nil { + return istioPluginCertificateAuthority_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForIstioPluginCertificateAuthority_STATUS(generators) + istioPluginCertificateAuthority_STATUSGenerator = gen.Struct(reflect.TypeOf(IstioPluginCertificateAuthority_STATUS{}), generators) + + return istioPluginCertificateAuthority_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForIstioPluginCertificateAuthority_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForIstioPluginCertificateAuthority_STATUS(gens map[string]gopter.Gen) { + gens["CertChainObjectName"] = gen.PtrOf(gen.AlphaString()) + gens["CertObjectName"] = gen.PtrOf(gen.AlphaString()) + gens["KeyObjectName"] = gen.PtrOf(gen.AlphaString()) + gens["KeyVaultId"] = gen.PtrOf(gen.AlphaString()) + gens["RootCertObjectName"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_IstioServiceMesh_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of IstioServiceMesh via JSON returns original", + prop.ForAll(RunJSONSerializationTestForIstioServiceMesh, IstioServiceMeshGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForIstioServiceMesh runs a test to see if a specific instance of IstioServiceMesh round trips to JSON and back losslessly +func RunJSONSerializationTestForIstioServiceMesh(subject IstioServiceMesh) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual IstioServiceMesh + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of IstioServiceMesh instances for property testing - lazily instantiated by IstioServiceMeshGenerator() +var istioServiceMeshGenerator gopter.Gen + +// IstioServiceMeshGenerator returns a generator of IstioServiceMesh instances for property testing. +// We first initialize istioServiceMeshGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func IstioServiceMeshGenerator() gopter.Gen { + if istioServiceMeshGenerator != nil { + return istioServiceMeshGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForIstioServiceMesh(generators) + istioServiceMeshGenerator = gen.Struct(reflect.TypeOf(IstioServiceMesh{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForIstioServiceMesh(generators) + AddRelatedPropertyGeneratorsForIstioServiceMesh(generators) + istioServiceMeshGenerator = gen.Struct(reflect.TypeOf(IstioServiceMesh{}), generators) + + return istioServiceMeshGenerator +} + +// AddIndependentPropertyGeneratorsForIstioServiceMesh is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForIstioServiceMesh(gens map[string]gopter.Gen) { + gens["Revisions"] = gen.SliceOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForIstioServiceMesh is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForIstioServiceMesh(gens map[string]gopter.Gen) { + gens["CertificateAuthority"] = gen.PtrOf(IstioCertificateAuthorityGenerator()) + gens["Components"] = gen.PtrOf(IstioComponentsGenerator()) +} + +func Test_IstioServiceMesh_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of IstioServiceMesh_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForIstioServiceMesh_STATUS, IstioServiceMesh_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForIstioServiceMesh_STATUS runs a test to see if a specific instance of IstioServiceMesh_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForIstioServiceMesh_STATUS(subject IstioServiceMesh_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual IstioServiceMesh_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of IstioServiceMesh_STATUS instances for property testing - lazily instantiated by +// IstioServiceMesh_STATUSGenerator() +var istioServiceMesh_STATUSGenerator gopter.Gen + +// IstioServiceMesh_STATUSGenerator returns a generator of IstioServiceMesh_STATUS instances for property testing. +// We first initialize istioServiceMesh_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func IstioServiceMesh_STATUSGenerator() gopter.Gen { + if istioServiceMesh_STATUSGenerator != nil { + return istioServiceMesh_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForIstioServiceMesh_STATUS(generators) + istioServiceMesh_STATUSGenerator = gen.Struct(reflect.TypeOf(IstioServiceMesh_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForIstioServiceMesh_STATUS(generators) + AddRelatedPropertyGeneratorsForIstioServiceMesh_STATUS(generators) + istioServiceMesh_STATUSGenerator = gen.Struct(reflect.TypeOf(IstioServiceMesh_STATUS{}), generators) + + return istioServiceMesh_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForIstioServiceMesh_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForIstioServiceMesh_STATUS(gens map[string]gopter.Gen) { + gens["Revisions"] = gen.SliceOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForIstioServiceMesh_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForIstioServiceMesh_STATUS(gens map[string]gopter.Gen) { + gens["CertificateAuthority"] = gen.PtrOf(IstioCertificateAuthority_STATUSGenerator()) + gens["Components"] = gen.PtrOf(IstioComponents_STATUSGenerator()) +} + +func Test_ManagedCluster_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 20 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedCluster via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedCluster, ManagedClusterGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedCluster runs a test to see if a specific instance of ManagedCluster round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedCluster(subject ManagedCluster) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedCluster + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedCluster instances for property testing - lazily instantiated by ManagedClusterGenerator() +var managedClusterGenerator gopter.Gen + +// ManagedClusterGenerator returns a generator of ManagedCluster instances for property testing. +func ManagedClusterGenerator() gopter.Gen { + if managedClusterGenerator != nil { + return managedClusterGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForManagedCluster(generators) + managedClusterGenerator = gen.Struct(reflect.TypeOf(ManagedCluster{}), generators) + + return managedClusterGenerator +} + +// AddRelatedPropertyGeneratorsForManagedCluster is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedCluster(gens map[string]gopter.Gen) { + gens["Spec"] = ManagedCluster_SpecGenerator() + gens["Status"] = ManagedCluster_STATUSGenerator() +} + +func Test_ManagedClusterAADProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterAADProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterAADProfile, ManagedClusterAADProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterAADProfile runs a test to see if a specific instance of ManagedClusterAADProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterAADProfile(subject ManagedClusterAADProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterAADProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterAADProfile instances for property testing - lazily instantiated by +// ManagedClusterAADProfileGenerator() +var managedClusterAADProfileGenerator gopter.Gen + +// ManagedClusterAADProfileGenerator returns a generator of ManagedClusterAADProfile instances for property testing. +func ManagedClusterAADProfileGenerator() gopter.Gen { + if managedClusterAADProfileGenerator != nil { + return managedClusterAADProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterAADProfile(generators) + managedClusterAADProfileGenerator = gen.Struct(reflect.TypeOf(ManagedClusterAADProfile{}), generators) + + return managedClusterAADProfileGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterAADProfile is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterAADProfile(gens map[string]gopter.Gen) { + gens["AdminGroupObjectIDs"] = gen.SliceOf(gen.AlphaString()) + gens["ClientAppID"] = gen.PtrOf(gen.AlphaString()) + gens["EnableAzureRBAC"] = gen.PtrOf(gen.Bool()) + gens["Managed"] = gen.PtrOf(gen.Bool()) + gens["ServerAppID"] = gen.PtrOf(gen.AlphaString()) + gens["ServerAppSecret"] = gen.PtrOf(gen.AlphaString()) + gens["TenantID"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ManagedClusterAADProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterAADProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterAADProfile_STATUS, ManagedClusterAADProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterAADProfile_STATUS runs a test to see if a specific instance of ManagedClusterAADProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterAADProfile_STATUS(subject ManagedClusterAADProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterAADProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterAADProfile_STATUS instances for property testing - lazily instantiated by +// ManagedClusterAADProfile_STATUSGenerator() +var managedClusterAADProfile_STATUSGenerator gopter.Gen + +// ManagedClusterAADProfile_STATUSGenerator returns a generator of ManagedClusterAADProfile_STATUS instances for property testing. +func ManagedClusterAADProfile_STATUSGenerator() gopter.Gen { + if managedClusterAADProfile_STATUSGenerator != nil { + return managedClusterAADProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterAADProfile_STATUS(generators) + managedClusterAADProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterAADProfile_STATUS{}), generators) + + return managedClusterAADProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterAADProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterAADProfile_STATUS(gens map[string]gopter.Gen) { + gens["AdminGroupObjectIDs"] = gen.SliceOf(gen.AlphaString()) + gens["ClientAppID"] = gen.PtrOf(gen.AlphaString()) + gens["EnableAzureRBAC"] = gen.PtrOf(gen.Bool()) + gens["Managed"] = gen.PtrOf(gen.Bool()) + gens["ServerAppID"] = gen.PtrOf(gen.AlphaString()) + gens["ServerAppSecret"] = gen.PtrOf(gen.AlphaString()) + gens["TenantID"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ManagedClusterAPIServerAccessProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterAPIServerAccessProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterAPIServerAccessProfile, ManagedClusterAPIServerAccessProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterAPIServerAccessProfile runs a test to see if a specific instance of ManagedClusterAPIServerAccessProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterAPIServerAccessProfile(subject ManagedClusterAPIServerAccessProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterAPIServerAccessProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterAPIServerAccessProfile instances for property testing - lazily instantiated by +// ManagedClusterAPIServerAccessProfileGenerator() +var managedClusterAPIServerAccessProfileGenerator gopter.Gen + +// ManagedClusterAPIServerAccessProfileGenerator returns a generator of ManagedClusterAPIServerAccessProfile instances for property testing. +func ManagedClusterAPIServerAccessProfileGenerator() gopter.Gen { + if managedClusterAPIServerAccessProfileGenerator != nil { + return managedClusterAPIServerAccessProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterAPIServerAccessProfile(generators) + managedClusterAPIServerAccessProfileGenerator = gen.Struct(reflect.TypeOf(ManagedClusterAPIServerAccessProfile{}), generators) + + return managedClusterAPIServerAccessProfileGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterAPIServerAccessProfile is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterAPIServerAccessProfile(gens map[string]gopter.Gen) { + gens["AuthorizedIPRanges"] = gen.SliceOf(gen.AlphaString()) + gens["DisableRunCommand"] = gen.PtrOf(gen.Bool()) + gens["EnablePrivateCluster"] = gen.PtrOf(gen.Bool()) + gens["EnablePrivateClusterPublicFQDN"] = gen.PtrOf(gen.Bool()) + gens["PrivateDNSZone"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ManagedClusterAPIServerAccessProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterAPIServerAccessProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterAPIServerAccessProfile_STATUS, ManagedClusterAPIServerAccessProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterAPIServerAccessProfile_STATUS runs a test to see if a specific instance of ManagedClusterAPIServerAccessProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterAPIServerAccessProfile_STATUS(subject ManagedClusterAPIServerAccessProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterAPIServerAccessProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterAPIServerAccessProfile_STATUS instances for property testing - lazily instantiated by +// ManagedClusterAPIServerAccessProfile_STATUSGenerator() +var managedClusterAPIServerAccessProfile_STATUSGenerator gopter.Gen + +// ManagedClusterAPIServerAccessProfile_STATUSGenerator returns a generator of ManagedClusterAPIServerAccessProfile_STATUS instances for property testing. +func ManagedClusterAPIServerAccessProfile_STATUSGenerator() gopter.Gen { + if managedClusterAPIServerAccessProfile_STATUSGenerator != nil { + return managedClusterAPIServerAccessProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterAPIServerAccessProfile_STATUS(generators) + managedClusterAPIServerAccessProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterAPIServerAccessProfile_STATUS{}), generators) + + return managedClusterAPIServerAccessProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterAPIServerAccessProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterAPIServerAccessProfile_STATUS(gens map[string]gopter.Gen) { + gens["AuthorizedIPRanges"] = gen.SliceOf(gen.AlphaString()) + gens["DisableRunCommand"] = gen.PtrOf(gen.Bool()) + gens["EnablePrivateCluster"] = gen.PtrOf(gen.Bool()) + gens["EnablePrivateClusterPublicFQDN"] = gen.PtrOf(gen.Bool()) + gens["PrivateDNSZone"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ManagedClusterAddonProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterAddonProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterAddonProfile, ManagedClusterAddonProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterAddonProfile runs a test to see if a specific instance of ManagedClusterAddonProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterAddonProfile(subject ManagedClusterAddonProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterAddonProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterAddonProfile instances for property testing - lazily instantiated by +// ManagedClusterAddonProfileGenerator() +var managedClusterAddonProfileGenerator gopter.Gen + +// ManagedClusterAddonProfileGenerator returns a generator of ManagedClusterAddonProfile instances for property testing. +func ManagedClusterAddonProfileGenerator() gopter.Gen { + if managedClusterAddonProfileGenerator != nil { + return managedClusterAddonProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterAddonProfile(generators) + managedClusterAddonProfileGenerator = gen.Struct(reflect.TypeOf(ManagedClusterAddonProfile{}), generators) + + return managedClusterAddonProfileGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterAddonProfile is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterAddonProfile(gens map[string]gopter.Gen) { + gens["Config"] = gen.MapOf( + gen.AlphaString(), + gen.AlphaString()) + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +func Test_ManagedClusterAddonProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterAddonProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterAddonProfile_STATUS, ManagedClusterAddonProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterAddonProfile_STATUS runs a test to see if a specific instance of ManagedClusterAddonProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterAddonProfile_STATUS(subject ManagedClusterAddonProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterAddonProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterAddonProfile_STATUS instances for property testing - lazily instantiated by +// ManagedClusterAddonProfile_STATUSGenerator() +var managedClusterAddonProfile_STATUSGenerator gopter.Gen + +// ManagedClusterAddonProfile_STATUSGenerator returns a generator of ManagedClusterAddonProfile_STATUS instances for property testing. +// We first initialize managedClusterAddonProfile_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func ManagedClusterAddonProfile_STATUSGenerator() gopter.Gen { + if managedClusterAddonProfile_STATUSGenerator != nil { + return managedClusterAddonProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterAddonProfile_STATUS(generators) + managedClusterAddonProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterAddonProfile_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterAddonProfile_STATUS(generators) + AddRelatedPropertyGeneratorsForManagedClusterAddonProfile_STATUS(generators) + managedClusterAddonProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterAddonProfile_STATUS{}), generators) + + return managedClusterAddonProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterAddonProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterAddonProfile_STATUS(gens map[string]gopter.Gen) { + gens["Config"] = gen.MapOf( + gen.AlphaString(), + gen.AlphaString()) + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +// AddRelatedPropertyGeneratorsForManagedClusterAddonProfile_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterAddonProfile_STATUS(gens map[string]gopter.Gen) { + gens["Identity"] = gen.PtrOf(UserAssignedIdentity_STATUSGenerator()) +} + +func Test_ManagedClusterAgentPoolProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterAgentPoolProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterAgentPoolProfile, ManagedClusterAgentPoolProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterAgentPoolProfile runs a test to see if a specific instance of ManagedClusterAgentPoolProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterAgentPoolProfile(subject ManagedClusterAgentPoolProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterAgentPoolProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterAgentPoolProfile instances for property testing - lazily instantiated by +// ManagedClusterAgentPoolProfileGenerator() +var managedClusterAgentPoolProfileGenerator gopter.Gen + +// ManagedClusterAgentPoolProfileGenerator returns a generator of ManagedClusterAgentPoolProfile instances for property testing. +// We first initialize managedClusterAgentPoolProfileGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func ManagedClusterAgentPoolProfileGenerator() gopter.Gen { + if managedClusterAgentPoolProfileGenerator != nil { + return managedClusterAgentPoolProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterAgentPoolProfile(generators) + managedClusterAgentPoolProfileGenerator = gen.Struct(reflect.TypeOf(ManagedClusterAgentPoolProfile{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterAgentPoolProfile(generators) + AddRelatedPropertyGeneratorsForManagedClusterAgentPoolProfile(generators) + managedClusterAgentPoolProfileGenerator = gen.Struct(reflect.TypeOf(ManagedClusterAgentPoolProfile{}), generators) + + return managedClusterAgentPoolProfileGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterAgentPoolProfile is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterAgentPoolProfile(gens map[string]gopter.Gen) { + gens["AvailabilityZones"] = gen.SliceOf(gen.AlphaString()) + gens["Count"] = gen.PtrOf(gen.Int()) + gens["EnableAutoScaling"] = gen.PtrOf(gen.Bool()) + gens["EnableEncryptionAtHost"] = gen.PtrOf(gen.Bool()) + gens["EnableFIPS"] = gen.PtrOf(gen.Bool()) + gens["EnableNodePublicIP"] = gen.PtrOf(gen.Bool()) + gens["EnableUltraSSD"] = gen.PtrOf(gen.Bool()) + gens["GpuInstanceProfile"] = gen.PtrOf(gen.AlphaString()) + gens["KubeletDiskType"] = gen.PtrOf(gen.AlphaString()) + gens["MaxCount"] = gen.PtrOf(gen.Int()) + gens["MaxPods"] = gen.PtrOf(gen.Int()) + gens["MinCount"] = gen.PtrOf(gen.Int()) + gens["Mode"] = gen.PtrOf(gen.AlphaString()) + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["NodeLabels"] = gen.MapOf( + gen.AlphaString(), + gen.AlphaString()) + gens["NodeTaints"] = gen.SliceOf(gen.AlphaString()) + gens["OrchestratorVersion"] = gen.PtrOf(gen.AlphaString()) + gens["OsDiskSizeGB"] = gen.PtrOf(gen.Int()) + gens["OsDiskType"] = gen.PtrOf(gen.AlphaString()) + gens["OsSKU"] = gen.PtrOf(gen.AlphaString()) + gens["OsType"] = gen.PtrOf(gen.AlphaString()) + gens["ScaleDownMode"] = gen.PtrOf(gen.AlphaString()) + gens["ScaleSetEvictionPolicy"] = gen.PtrOf(gen.AlphaString()) + gens["ScaleSetPriority"] = gen.PtrOf(gen.AlphaString()) + gens["SpotMaxPrice"] = gen.PtrOf(gen.Float64()) + gens["Tags"] = gen.MapOf( + gen.AlphaString(), + gen.AlphaString()) + gens["Type"] = gen.PtrOf(gen.AlphaString()) + gens["VmSize"] = gen.PtrOf(gen.AlphaString()) + gens["WorkloadRuntime"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForManagedClusterAgentPoolProfile is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterAgentPoolProfile(gens map[string]gopter.Gen) { + gens["CreationData"] = gen.PtrOf(CreationDataGenerator()) + gens["KubeletConfig"] = gen.PtrOf(KubeletConfigGenerator()) + gens["LinuxOSConfig"] = gen.PtrOf(LinuxOSConfigGenerator()) + gens["NetworkProfile"] = gen.PtrOf(AgentPoolNetworkProfileGenerator()) + gens["PowerState"] = gen.PtrOf(PowerStateGenerator()) + gens["SecurityProfile"] = gen.PtrOf(AgentPoolSecurityProfileGenerator()) + gens["UpgradeSettings"] = gen.PtrOf(AgentPoolUpgradeSettingsGenerator()) + gens["WindowsProfile"] = gen.PtrOf(AgentPoolWindowsProfileGenerator()) +} + +func Test_ManagedClusterAgentPoolProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterAgentPoolProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterAgentPoolProfile_STATUS, ManagedClusterAgentPoolProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterAgentPoolProfile_STATUS runs a test to see if a specific instance of ManagedClusterAgentPoolProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterAgentPoolProfile_STATUS(subject ManagedClusterAgentPoolProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterAgentPoolProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterAgentPoolProfile_STATUS instances for property testing - lazily instantiated by +// ManagedClusterAgentPoolProfile_STATUSGenerator() +var managedClusterAgentPoolProfile_STATUSGenerator gopter.Gen + +// ManagedClusterAgentPoolProfile_STATUSGenerator returns a generator of ManagedClusterAgentPoolProfile_STATUS instances for property testing. +// We first initialize managedClusterAgentPoolProfile_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func ManagedClusterAgentPoolProfile_STATUSGenerator() gopter.Gen { + if managedClusterAgentPoolProfile_STATUSGenerator != nil { + return managedClusterAgentPoolProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterAgentPoolProfile_STATUS(generators) + managedClusterAgentPoolProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterAgentPoolProfile_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterAgentPoolProfile_STATUS(generators) + AddRelatedPropertyGeneratorsForManagedClusterAgentPoolProfile_STATUS(generators) + managedClusterAgentPoolProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterAgentPoolProfile_STATUS{}), generators) + + return managedClusterAgentPoolProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterAgentPoolProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterAgentPoolProfile_STATUS(gens map[string]gopter.Gen) { + gens["AvailabilityZones"] = gen.SliceOf(gen.AlphaString()) + gens["CapacityReservationGroupID"] = gen.PtrOf(gen.AlphaString()) + gens["Count"] = gen.PtrOf(gen.Int()) + gens["CurrentOrchestratorVersion"] = gen.PtrOf(gen.AlphaString()) + gens["ETag"] = gen.PtrOf(gen.AlphaString()) + gens["EnableAutoScaling"] = gen.PtrOf(gen.Bool()) + gens["EnableEncryptionAtHost"] = gen.PtrOf(gen.Bool()) + gens["EnableFIPS"] = gen.PtrOf(gen.Bool()) + gens["EnableNodePublicIP"] = gen.PtrOf(gen.Bool()) + gens["EnableUltraSSD"] = gen.PtrOf(gen.Bool()) + gens["GpuInstanceProfile"] = gen.PtrOf(gen.AlphaString()) + gens["HostGroupID"] = gen.PtrOf(gen.AlphaString()) + gens["KubeletDiskType"] = gen.PtrOf(gen.AlphaString()) + gens["MaxCount"] = gen.PtrOf(gen.Int()) + gens["MaxPods"] = gen.PtrOf(gen.Int()) + gens["MinCount"] = gen.PtrOf(gen.Int()) + gens["Mode"] = gen.PtrOf(gen.AlphaString()) + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["NodeImageVersion"] = gen.PtrOf(gen.AlphaString()) + gens["NodeLabels"] = gen.MapOf( + gen.AlphaString(), + gen.AlphaString()) + gens["NodePublicIPPrefixID"] = gen.PtrOf(gen.AlphaString()) + gens["NodeTaints"] = gen.SliceOf(gen.AlphaString()) + gens["OrchestratorVersion"] = gen.PtrOf(gen.AlphaString()) + gens["OsDiskSizeGB"] = gen.PtrOf(gen.Int()) + gens["OsDiskType"] = gen.PtrOf(gen.AlphaString()) + gens["OsSKU"] = gen.PtrOf(gen.AlphaString()) + gens["OsType"] = gen.PtrOf(gen.AlphaString()) + gens["PodSubnetID"] = gen.PtrOf(gen.AlphaString()) + gens["ProvisioningState"] = gen.PtrOf(gen.AlphaString()) + gens["ProximityPlacementGroupID"] = gen.PtrOf(gen.AlphaString()) + gens["ScaleDownMode"] = gen.PtrOf(gen.AlphaString()) + gens["ScaleSetEvictionPolicy"] = gen.PtrOf(gen.AlphaString()) + gens["ScaleSetPriority"] = gen.PtrOf(gen.AlphaString()) + gens["SpotMaxPrice"] = gen.PtrOf(gen.Float64()) + gens["Tags"] = gen.MapOf( + gen.AlphaString(), + gen.AlphaString()) + gens["Type"] = gen.PtrOf(gen.AlphaString()) + gens["VmSize"] = gen.PtrOf(gen.AlphaString()) + gens["VnetSubnetID"] = gen.PtrOf(gen.AlphaString()) + gens["WorkloadRuntime"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForManagedClusterAgentPoolProfile_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterAgentPoolProfile_STATUS(gens map[string]gopter.Gen) { + gens["CreationData"] = gen.PtrOf(CreationData_STATUSGenerator()) + gens["KubeletConfig"] = gen.PtrOf(KubeletConfig_STATUSGenerator()) + gens["LinuxOSConfig"] = gen.PtrOf(LinuxOSConfig_STATUSGenerator()) + gens["NetworkProfile"] = gen.PtrOf(AgentPoolNetworkProfile_STATUSGenerator()) + gens["PowerState"] = gen.PtrOf(PowerState_STATUSGenerator()) + gens["SecurityProfile"] = gen.PtrOf(AgentPoolSecurityProfile_STATUSGenerator()) + gens["UpgradeSettings"] = gen.PtrOf(AgentPoolUpgradeSettings_STATUSGenerator()) + gens["WindowsProfile"] = gen.PtrOf(AgentPoolWindowsProfile_STATUSGenerator()) +} + +func Test_ManagedClusterAutoUpgradeProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterAutoUpgradeProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterAutoUpgradeProfile, ManagedClusterAutoUpgradeProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterAutoUpgradeProfile runs a test to see if a specific instance of ManagedClusterAutoUpgradeProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterAutoUpgradeProfile(subject ManagedClusterAutoUpgradeProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterAutoUpgradeProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterAutoUpgradeProfile instances for property testing - lazily instantiated by +// ManagedClusterAutoUpgradeProfileGenerator() +var managedClusterAutoUpgradeProfileGenerator gopter.Gen + +// ManagedClusterAutoUpgradeProfileGenerator returns a generator of ManagedClusterAutoUpgradeProfile instances for property testing. +func ManagedClusterAutoUpgradeProfileGenerator() gopter.Gen { + if managedClusterAutoUpgradeProfileGenerator != nil { + return managedClusterAutoUpgradeProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterAutoUpgradeProfile(generators) + managedClusterAutoUpgradeProfileGenerator = gen.Struct(reflect.TypeOf(ManagedClusterAutoUpgradeProfile{}), generators) + + return managedClusterAutoUpgradeProfileGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterAutoUpgradeProfile is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterAutoUpgradeProfile(gens map[string]gopter.Gen) { + gens["NodeOSUpgradeChannel"] = gen.PtrOf(gen.AlphaString()) + gens["UpgradeChannel"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ManagedClusterAutoUpgradeProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterAutoUpgradeProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterAutoUpgradeProfile_STATUS, ManagedClusterAutoUpgradeProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterAutoUpgradeProfile_STATUS runs a test to see if a specific instance of ManagedClusterAutoUpgradeProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterAutoUpgradeProfile_STATUS(subject ManagedClusterAutoUpgradeProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterAutoUpgradeProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterAutoUpgradeProfile_STATUS instances for property testing - lazily instantiated by +// ManagedClusterAutoUpgradeProfile_STATUSGenerator() +var managedClusterAutoUpgradeProfile_STATUSGenerator gopter.Gen + +// ManagedClusterAutoUpgradeProfile_STATUSGenerator returns a generator of ManagedClusterAutoUpgradeProfile_STATUS instances for property testing. +func ManagedClusterAutoUpgradeProfile_STATUSGenerator() gopter.Gen { + if managedClusterAutoUpgradeProfile_STATUSGenerator != nil { + return managedClusterAutoUpgradeProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterAutoUpgradeProfile_STATUS(generators) + managedClusterAutoUpgradeProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterAutoUpgradeProfile_STATUS{}), generators) + + return managedClusterAutoUpgradeProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterAutoUpgradeProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterAutoUpgradeProfile_STATUS(gens map[string]gopter.Gen) { + gens["NodeOSUpgradeChannel"] = gen.PtrOf(gen.AlphaString()) + gens["UpgradeChannel"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ManagedClusterAzureMonitorProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterAzureMonitorProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterAzureMonitorProfile, ManagedClusterAzureMonitorProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterAzureMonitorProfile runs a test to see if a specific instance of ManagedClusterAzureMonitorProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterAzureMonitorProfile(subject ManagedClusterAzureMonitorProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterAzureMonitorProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterAzureMonitorProfile instances for property testing - lazily instantiated by +// ManagedClusterAzureMonitorProfileGenerator() +var managedClusterAzureMonitorProfileGenerator gopter.Gen + +// ManagedClusterAzureMonitorProfileGenerator returns a generator of ManagedClusterAzureMonitorProfile instances for property testing. +func ManagedClusterAzureMonitorProfileGenerator() gopter.Gen { + if managedClusterAzureMonitorProfileGenerator != nil { + return managedClusterAzureMonitorProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForManagedClusterAzureMonitorProfile(generators) + managedClusterAzureMonitorProfileGenerator = gen.Struct(reflect.TypeOf(ManagedClusterAzureMonitorProfile{}), generators) + + return managedClusterAzureMonitorProfileGenerator +} + +// AddRelatedPropertyGeneratorsForManagedClusterAzureMonitorProfile is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterAzureMonitorProfile(gens map[string]gopter.Gen) { + gens["Metrics"] = gen.PtrOf(ManagedClusterAzureMonitorProfileMetricsGenerator()) +} + +func Test_ManagedClusterAzureMonitorProfileKubeStateMetrics_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterAzureMonitorProfileKubeStateMetrics via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterAzureMonitorProfileKubeStateMetrics, ManagedClusterAzureMonitorProfileKubeStateMetricsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterAzureMonitorProfileKubeStateMetrics runs a test to see if a specific instance of ManagedClusterAzureMonitorProfileKubeStateMetrics round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterAzureMonitorProfileKubeStateMetrics(subject ManagedClusterAzureMonitorProfileKubeStateMetrics) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterAzureMonitorProfileKubeStateMetrics + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterAzureMonitorProfileKubeStateMetrics instances for property testing - lazily instantiated +// by ManagedClusterAzureMonitorProfileKubeStateMetricsGenerator() +var managedClusterAzureMonitorProfileKubeStateMetricsGenerator gopter.Gen + +// ManagedClusterAzureMonitorProfileKubeStateMetricsGenerator returns a generator of ManagedClusterAzureMonitorProfileKubeStateMetrics instances for property testing. +func ManagedClusterAzureMonitorProfileKubeStateMetricsGenerator() gopter.Gen { + if managedClusterAzureMonitorProfileKubeStateMetricsGenerator != nil { + return managedClusterAzureMonitorProfileKubeStateMetricsGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterAzureMonitorProfileKubeStateMetrics(generators) + managedClusterAzureMonitorProfileKubeStateMetricsGenerator = gen.Struct(reflect.TypeOf(ManagedClusterAzureMonitorProfileKubeStateMetrics{}), generators) + + return managedClusterAzureMonitorProfileKubeStateMetricsGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterAzureMonitorProfileKubeStateMetrics is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterAzureMonitorProfileKubeStateMetrics(gens map[string]gopter.Gen) { + gens["MetricAnnotationsAllowList"] = gen.PtrOf(gen.AlphaString()) + gens["MetricLabelsAllowlist"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS, ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS runs a test to see if a specific instance of ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS(subject ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS instances for property testing - lazily +// instantiated by ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUSGenerator() +var managedClusterAzureMonitorProfileKubeStateMetrics_STATUSGenerator gopter.Gen + +// ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUSGenerator returns a generator of ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS instances for property testing. +func ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUSGenerator() gopter.Gen { + if managedClusterAzureMonitorProfileKubeStateMetrics_STATUSGenerator != nil { + return managedClusterAzureMonitorProfileKubeStateMetrics_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS(generators) + managedClusterAzureMonitorProfileKubeStateMetrics_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS{}), generators) + + return managedClusterAzureMonitorProfileKubeStateMetrics_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS(gens map[string]gopter.Gen) { + gens["MetricAnnotationsAllowList"] = gen.PtrOf(gen.AlphaString()) + gens["MetricLabelsAllowlist"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ManagedClusterAzureMonitorProfileMetrics_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterAzureMonitorProfileMetrics via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterAzureMonitorProfileMetrics, ManagedClusterAzureMonitorProfileMetricsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterAzureMonitorProfileMetrics runs a test to see if a specific instance of ManagedClusterAzureMonitorProfileMetrics round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterAzureMonitorProfileMetrics(subject ManagedClusterAzureMonitorProfileMetrics) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterAzureMonitorProfileMetrics + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterAzureMonitorProfileMetrics instances for property testing - lazily instantiated by +// ManagedClusterAzureMonitorProfileMetricsGenerator() +var managedClusterAzureMonitorProfileMetricsGenerator gopter.Gen + +// ManagedClusterAzureMonitorProfileMetricsGenerator returns a generator of ManagedClusterAzureMonitorProfileMetrics instances for property testing. +// We first initialize managedClusterAzureMonitorProfileMetricsGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func ManagedClusterAzureMonitorProfileMetricsGenerator() gopter.Gen { + if managedClusterAzureMonitorProfileMetricsGenerator != nil { + return managedClusterAzureMonitorProfileMetricsGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterAzureMonitorProfileMetrics(generators) + managedClusterAzureMonitorProfileMetricsGenerator = gen.Struct(reflect.TypeOf(ManagedClusterAzureMonitorProfileMetrics{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterAzureMonitorProfileMetrics(generators) + AddRelatedPropertyGeneratorsForManagedClusterAzureMonitorProfileMetrics(generators) + managedClusterAzureMonitorProfileMetricsGenerator = gen.Struct(reflect.TypeOf(ManagedClusterAzureMonitorProfileMetrics{}), generators) + + return managedClusterAzureMonitorProfileMetricsGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterAzureMonitorProfileMetrics is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterAzureMonitorProfileMetrics(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +// AddRelatedPropertyGeneratorsForManagedClusterAzureMonitorProfileMetrics is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterAzureMonitorProfileMetrics(gens map[string]gopter.Gen) { + gens["KubeStateMetrics"] = gen.PtrOf(ManagedClusterAzureMonitorProfileKubeStateMetricsGenerator()) +} + +func Test_ManagedClusterAzureMonitorProfileMetrics_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterAzureMonitorProfileMetrics_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterAzureMonitorProfileMetrics_STATUS, ManagedClusterAzureMonitorProfileMetrics_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterAzureMonitorProfileMetrics_STATUS runs a test to see if a specific instance of ManagedClusterAzureMonitorProfileMetrics_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterAzureMonitorProfileMetrics_STATUS(subject ManagedClusterAzureMonitorProfileMetrics_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterAzureMonitorProfileMetrics_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterAzureMonitorProfileMetrics_STATUS instances for property testing - lazily instantiated by +// ManagedClusterAzureMonitorProfileMetrics_STATUSGenerator() +var managedClusterAzureMonitorProfileMetrics_STATUSGenerator gopter.Gen + +// ManagedClusterAzureMonitorProfileMetrics_STATUSGenerator returns a generator of ManagedClusterAzureMonitorProfileMetrics_STATUS instances for property testing. +// We first initialize managedClusterAzureMonitorProfileMetrics_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func ManagedClusterAzureMonitorProfileMetrics_STATUSGenerator() gopter.Gen { + if managedClusterAzureMonitorProfileMetrics_STATUSGenerator != nil { + return managedClusterAzureMonitorProfileMetrics_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterAzureMonitorProfileMetrics_STATUS(generators) + managedClusterAzureMonitorProfileMetrics_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterAzureMonitorProfileMetrics_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterAzureMonitorProfileMetrics_STATUS(generators) + AddRelatedPropertyGeneratorsForManagedClusterAzureMonitorProfileMetrics_STATUS(generators) + managedClusterAzureMonitorProfileMetrics_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterAzureMonitorProfileMetrics_STATUS{}), generators) + + return managedClusterAzureMonitorProfileMetrics_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterAzureMonitorProfileMetrics_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterAzureMonitorProfileMetrics_STATUS(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +// AddRelatedPropertyGeneratorsForManagedClusterAzureMonitorProfileMetrics_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterAzureMonitorProfileMetrics_STATUS(gens map[string]gopter.Gen) { + gens["KubeStateMetrics"] = gen.PtrOf(ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUSGenerator()) +} + +func Test_ManagedClusterAzureMonitorProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterAzureMonitorProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterAzureMonitorProfile_STATUS, ManagedClusterAzureMonitorProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterAzureMonitorProfile_STATUS runs a test to see if a specific instance of ManagedClusterAzureMonitorProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterAzureMonitorProfile_STATUS(subject ManagedClusterAzureMonitorProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterAzureMonitorProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterAzureMonitorProfile_STATUS instances for property testing - lazily instantiated by +// ManagedClusterAzureMonitorProfile_STATUSGenerator() +var managedClusterAzureMonitorProfile_STATUSGenerator gopter.Gen + +// ManagedClusterAzureMonitorProfile_STATUSGenerator returns a generator of ManagedClusterAzureMonitorProfile_STATUS instances for property testing. +func ManagedClusterAzureMonitorProfile_STATUSGenerator() gopter.Gen { + if managedClusterAzureMonitorProfile_STATUSGenerator != nil { + return managedClusterAzureMonitorProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForManagedClusterAzureMonitorProfile_STATUS(generators) + managedClusterAzureMonitorProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterAzureMonitorProfile_STATUS{}), generators) + + return managedClusterAzureMonitorProfile_STATUSGenerator +} + +// AddRelatedPropertyGeneratorsForManagedClusterAzureMonitorProfile_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterAzureMonitorProfile_STATUS(gens map[string]gopter.Gen) { + gens["Metrics"] = gen.PtrOf(ManagedClusterAzureMonitorProfileMetrics_STATUSGenerator()) +} + +func Test_ManagedClusterCostAnalysis_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterCostAnalysis via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterCostAnalysis, ManagedClusterCostAnalysisGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterCostAnalysis runs a test to see if a specific instance of ManagedClusterCostAnalysis round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterCostAnalysis(subject ManagedClusterCostAnalysis) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterCostAnalysis + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterCostAnalysis instances for property testing - lazily instantiated by +// ManagedClusterCostAnalysisGenerator() +var managedClusterCostAnalysisGenerator gopter.Gen + +// ManagedClusterCostAnalysisGenerator returns a generator of ManagedClusterCostAnalysis instances for property testing. +func ManagedClusterCostAnalysisGenerator() gopter.Gen { + if managedClusterCostAnalysisGenerator != nil { + return managedClusterCostAnalysisGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterCostAnalysis(generators) + managedClusterCostAnalysisGenerator = gen.Struct(reflect.TypeOf(ManagedClusterCostAnalysis{}), generators) + + return managedClusterCostAnalysisGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterCostAnalysis is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterCostAnalysis(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +func Test_ManagedClusterCostAnalysis_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterCostAnalysis_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterCostAnalysis_STATUS, ManagedClusterCostAnalysis_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterCostAnalysis_STATUS runs a test to see if a specific instance of ManagedClusterCostAnalysis_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterCostAnalysis_STATUS(subject ManagedClusterCostAnalysis_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterCostAnalysis_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterCostAnalysis_STATUS instances for property testing - lazily instantiated by +// ManagedClusterCostAnalysis_STATUSGenerator() +var managedClusterCostAnalysis_STATUSGenerator gopter.Gen + +// ManagedClusterCostAnalysis_STATUSGenerator returns a generator of ManagedClusterCostAnalysis_STATUS instances for property testing. +func ManagedClusterCostAnalysis_STATUSGenerator() gopter.Gen { + if managedClusterCostAnalysis_STATUSGenerator != nil { + return managedClusterCostAnalysis_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterCostAnalysis_STATUS(generators) + managedClusterCostAnalysis_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterCostAnalysis_STATUS{}), generators) + + return managedClusterCostAnalysis_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterCostAnalysis_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterCostAnalysis_STATUS(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +func Test_ManagedClusterHTTPProxyConfig_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterHTTPProxyConfig via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterHTTPProxyConfig, ManagedClusterHTTPProxyConfigGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterHTTPProxyConfig runs a test to see if a specific instance of ManagedClusterHTTPProxyConfig round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterHTTPProxyConfig(subject ManagedClusterHTTPProxyConfig) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterHTTPProxyConfig + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterHTTPProxyConfig instances for property testing - lazily instantiated by +// ManagedClusterHTTPProxyConfigGenerator() +var managedClusterHTTPProxyConfigGenerator gopter.Gen + +// ManagedClusterHTTPProxyConfigGenerator returns a generator of ManagedClusterHTTPProxyConfig instances for property testing. +func ManagedClusterHTTPProxyConfigGenerator() gopter.Gen { + if managedClusterHTTPProxyConfigGenerator != nil { + return managedClusterHTTPProxyConfigGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterHTTPProxyConfig(generators) + managedClusterHTTPProxyConfigGenerator = gen.Struct(reflect.TypeOf(ManagedClusterHTTPProxyConfig{}), generators) + + return managedClusterHTTPProxyConfigGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterHTTPProxyConfig is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterHTTPProxyConfig(gens map[string]gopter.Gen) { + gens["HttpProxy"] = gen.PtrOf(gen.AlphaString()) + gens["HttpsProxy"] = gen.PtrOf(gen.AlphaString()) + gens["NoProxy"] = gen.SliceOf(gen.AlphaString()) + gens["TrustedCa"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ManagedClusterHTTPProxyConfig_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterHTTPProxyConfig_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterHTTPProxyConfig_STATUS, ManagedClusterHTTPProxyConfig_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterHTTPProxyConfig_STATUS runs a test to see if a specific instance of ManagedClusterHTTPProxyConfig_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterHTTPProxyConfig_STATUS(subject ManagedClusterHTTPProxyConfig_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterHTTPProxyConfig_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterHTTPProxyConfig_STATUS instances for property testing - lazily instantiated by +// ManagedClusterHTTPProxyConfig_STATUSGenerator() +var managedClusterHTTPProxyConfig_STATUSGenerator gopter.Gen + +// ManagedClusterHTTPProxyConfig_STATUSGenerator returns a generator of ManagedClusterHTTPProxyConfig_STATUS instances for property testing. +func ManagedClusterHTTPProxyConfig_STATUSGenerator() gopter.Gen { + if managedClusterHTTPProxyConfig_STATUSGenerator != nil { + return managedClusterHTTPProxyConfig_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterHTTPProxyConfig_STATUS(generators) + managedClusterHTTPProxyConfig_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterHTTPProxyConfig_STATUS{}), generators) + + return managedClusterHTTPProxyConfig_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterHTTPProxyConfig_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterHTTPProxyConfig_STATUS(gens map[string]gopter.Gen) { + gens["HttpProxy"] = gen.PtrOf(gen.AlphaString()) + gens["HttpsProxy"] = gen.PtrOf(gen.AlphaString()) + gens["NoProxy"] = gen.SliceOf(gen.AlphaString()) + gens["TrustedCa"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ManagedClusterIdentity_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterIdentity via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterIdentity, ManagedClusterIdentityGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterIdentity runs a test to see if a specific instance of ManagedClusterIdentity round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterIdentity(subject ManagedClusterIdentity) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterIdentity + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterIdentity instances for property testing - lazily instantiated by +// ManagedClusterIdentityGenerator() +var managedClusterIdentityGenerator gopter.Gen + +// ManagedClusterIdentityGenerator returns a generator of ManagedClusterIdentity instances for property testing. +// We first initialize managedClusterIdentityGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func ManagedClusterIdentityGenerator() gopter.Gen { + if managedClusterIdentityGenerator != nil { + return managedClusterIdentityGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterIdentity(generators) + managedClusterIdentityGenerator = gen.Struct(reflect.TypeOf(ManagedClusterIdentity{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterIdentity(generators) + AddRelatedPropertyGeneratorsForManagedClusterIdentity(generators) + managedClusterIdentityGenerator = gen.Struct(reflect.TypeOf(ManagedClusterIdentity{}), generators) + + return managedClusterIdentityGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterIdentity is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterIdentity(gens map[string]gopter.Gen) { + gens["Type"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForManagedClusterIdentity is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterIdentity(gens map[string]gopter.Gen) { + gens["DelegatedResources"] = gen.MapOf( + gen.AlphaString(), + DelegatedResourceGenerator()) + gens["UserAssignedIdentities"] = gen.SliceOf(UserAssignedIdentityDetailsGenerator()) +} + +func Test_ManagedClusterIdentity_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterIdentity_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterIdentity_STATUS, ManagedClusterIdentity_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterIdentity_STATUS runs a test to see if a specific instance of ManagedClusterIdentity_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterIdentity_STATUS(subject ManagedClusterIdentity_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterIdentity_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterIdentity_STATUS instances for property testing - lazily instantiated by +// ManagedClusterIdentity_STATUSGenerator() +var managedClusterIdentity_STATUSGenerator gopter.Gen + +// ManagedClusterIdentity_STATUSGenerator returns a generator of ManagedClusterIdentity_STATUS instances for property testing. +// We first initialize managedClusterIdentity_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func ManagedClusterIdentity_STATUSGenerator() gopter.Gen { + if managedClusterIdentity_STATUSGenerator != nil { + return managedClusterIdentity_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterIdentity_STATUS(generators) + managedClusterIdentity_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterIdentity_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterIdentity_STATUS(generators) + AddRelatedPropertyGeneratorsForManagedClusterIdentity_STATUS(generators) + managedClusterIdentity_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterIdentity_STATUS{}), generators) + + return managedClusterIdentity_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterIdentity_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterIdentity_STATUS(gens map[string]gopter.Gen) { + gens["PrincipalId"] = gen.PtrOf(gen.AlphaString()) + gens["TenantId"] = gen.PtrOf(gen.AlphaString()) + gens["Type"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForManagedClusterIdentity_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterIdentity_STATUS(gens map[string]gopter.Gen) { + gens["DelegatedResources"] = gen.MapOf( + gen.AlphaString(), + DelegatedResource_STATUSGenerator()) + gens["UserAssignedIdentities"] = gen.MapOf( + gen.AlphaString(), + ManagedClusterIdentity_UserAssignedIdentities_STATUSGenerator()) +} + +func Test_ManagedClusterIdentity_UserAssignedIdentities_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterIdentity_UserAssignedIdentities_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterIdentity_UserAssignedIdentities_STATUS, ManagedClusterIdentity_UserAssignedIdentities_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterIdentity_UserAssignedIdentities_STATUS runs a test to see if a specific instance of ManagedClusterIdentity_UserAssignedIdentities_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterIdentity_UserAssignedIdentities_STATUS(subject ManagedClusterIdentity_UserAssignedIdentities_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterIdentity_UserAssignedIdentities_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterIdentity_UserAssignedIdentities_STATUS instances for property testing - lazily +// instantiated by ManagedClusterIdentity_UserAssignedIdentities_STATUSGenerator() +var managedClusterIdentity_UserAssignedIdentities_STATUSGenerator gopter.Gen + +// ManagedClusterIdentity_UserAssignedIdentities_STATUSGenerator returns a generator of ManagedClusterIdentity_UserAssignedIdentities_STATUS instances for property testing. +func ManagedClusterIdentity_UserAssignedIdentities_STATUSGenerator() gopter.Gen { + if managedClusterIdentity_UserAssignedIdentities_STATUSGenerator != nil { + return managedClusterIdentity_UserAssignedIdentities_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterIdentity_UserAssignedIdentities_STATUS(generators) + managedClusterIdentity_UserAssignedIdentities_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterIdentity_UserAssignedIdentities_STATUS{}), generators) + + return managedClusterIdentity_UserAssignedIdentities_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterIdentity_UserAssignedIdentities_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterIdentity_UserAssignedIdentities_STATUS(gens map[string]gopter.Gen) { + gens["ClientId"] = gen.PtrOf(gen.AlphaString()) + gens["PrincipalId"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ManagedClusterIngressProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterIngressProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterIngressProfile, ManagedClusterIngressProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterIngressProfile runs a test to see if a specific instance of ManagedClusterIngressProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterIngressProfile(subject ManagedClusterIngressProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterIngressProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterIngressProfile instances for property testing - lazily instantiated by +// ManagedClusterIngressProfileGenerator() +var managedClusterIngressProfileGenerator gopter.Gen + +// ManagedClusterIngressProfileGenerator returns a generator of ManagedClusterIngressProfile instances for property testing. +func ManagedClusterIngressProfileGenerator() gopter.Gen { + if managedClusterIngressProfileGenerator != nil { + return managedClusterIngressProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForManagedClusterIngressProfile(generators) + managedClusterIngressProfileGenerator = gen.Struct(reflect.TypeOf(ManagedClusterIngressProfile{}), generators) + + return managedClusterIngressProfileGenerator +} + +// AddRelatedPropertyGeneratorsForManagedClusterIngressProfile is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterIngressProfile(gens map[string]gopter.Gen) { + gens["WebAppRouting"] = gen.PtrOf(ManagedClusterIngressProfileWebAppRoutingGenerator()) +} + +func Test_ManagedClusterIngressProfileWebAppRouting_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterIngressProfileWebAppRouting via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterIngressProfileWebAppRouting, ManagedClusterIngressProfileWebAppRoutingGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterIngressProfileWebAppRouting runs a test to see if a specific instance of ManagedClusterIngressProfileWebAppRouting round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterIngressProfileWebAppRouting(subject ManagedClusterIngressProfileWebAppRouting) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterIngressProfileWebAppRouting + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterIngressProfileWebAppRouting instances for property testing - lazily instantiated by +// ManagedClusterIngressProfileWebAppRoutingGenerator() +var managedClusterIngressProfileWebAppRoutingGenerator gopter.Gen + +// ManagedClusterIngressProfileWebAppRoutingGenerator returns a generator of ManagedClusterIngressProfileWebAppRouting instances for property testing. +func ManagedClusterIngressProfileWebAppRoutingGenerator() gopter.Gen { + if managedClusterIngressProfileWebAppRoutingGenerator != nil { + return managedClusterIngressProfileWebAppRoutingGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterIngressProfileWebAppRouting(generators) + managedClusterIngressProfileWebAppRoutingGenerator = gen.Struct(reflect.TypeOf(ManagedClusterIngressProfileWebAppRouting{}), generators) + + return managedClusterIngressProfileWebAppRoutingGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterIngressProfileWebAppRouting is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterIngressProfileWebAppRouting(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +func Test_ManagedClusterIngressProfileWebAppRouting_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterIngressProfileWebAppRouting_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterIngressProfileWebAppRouting_STATUS, ManagedClusterIngressProfileWebAppRouting_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterIngressProfileWebAppRouting_STATUS runs a test to see if a specific instance of ManagedClusterIngressProfileWebAppRouting_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterIngressProfileWebAppRouting_STATUS(subject ManagedClusterIngressProfileWebAppRouting_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterIngressProfileWebAppRouting_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterIngressProfileWebAppRouting_STATUS instances for property testing - lazily instantiated by +// ManagedClusterIngressProfileWebAppRouting_STATUSGenerator() +var managedClusterIngressProfileWebAppRouting_STATUSGenerator gopter.Gen + +// ManagedClusterIngressProfileWebAppRouting_STATUSGenerator returns a generator of ManagedClusterIngressProfileWebAppRouting_STATUS instances for property testing. +// We first initialize managedClusterIngressProfileWebAppRouting_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func ManagedClusterIngressProfileWebAppRouting_STATUSGenerator() gopter.Gen { + if managedClusterIngressProfileWebAppRouting_STATUSGenerator != nil { + return managedClusterIngressProfileWebAppRouting_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterIngressProfileWebAppRouting_STATUS(generators) + managedClusterIngressProfileWebAppRouting_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterIngressProfileWebAppRouting_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterIngressProfileWebAppRouting_STATUS(generators) + AddRelatedPropertyGeneratorsForManagedClusterIngressProfileWebAppRouting_STATUS(generators) + managedClusterIngressProfileWebAppRouting_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterIngressProfileWebAppRouting_STATUS{}), generators) + + return managedClusterIngressProfileWebAppRouting_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterIngressProfileWebAppRouting_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterIngressProfileWebAppRouting_STATUS(gens map[string]gopter.Gen) { + gens["DnsZoneResourceIds"] = gen.SliceOf(gen.AlphaString()) + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +// AddRelatedPropertyGeneratorsForManagedClusterIngressProfileWebAppRouting_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterIngressProfileWebAppRouting_STATUS(gens map[string]gopter.Gen) { + gens["Identity"] = gen.PtrOf(UserAssignedIdentity_STATUSGenerator()) +} + +func Test_ManagedClusterIngressProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterIngressProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterIngressProfile_STATUS, ManagedClusterIngressProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterIngressProfile_STATUS runs a test to see if a specific instance of ManagedClusterIngressProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterIngressProfile_STATUS(subject ManagedClusterIngressProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterIngressProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterIngressProfile_STATUS instances for property testing - lazily instantiated by +// ManagedClusterIngressProfile_STATUSGenerator() +var managedClusterIngressProfile_STATUSGenerator gopter.Gen + +// ManagedClusterIngressProfile_STATUSGenerator returns a generator of ManagedClusterIngressProfile_STATUS instances for property testing. +func ManagedClusterIngressProfile_STATUSGenerator() gopter.Gen { + if managedClusterIngressProfile_STATUSGenerator != nil { + return managedClusterIngressProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForManagedClusterIngressProfile_STATUS(generators) + managedClusterIngressProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterIngressProfile_STATUS{}), generators) + + return managedClusterIngressProfile_STATUSGenerator +} + +// AddRelatedPropertyGeneratorsForManagedClusterIngressProfile_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterIngressProfile_STATUS(gens map[string]gopter.Gen) { + gens["WebAppRouting"] = gen.PtrOf(ManagedClusterIngressProfileWebAppRouting_STATUSGenerator()) +} + +func Test_ManagedClusterLoadBalancerProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterLoadBalancerProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterLoadBalancerProfile, ManagedClusterLoadBalancerProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterLoadBalancerProfile runs a test to see if a specific instance of ManagedClusterLoadBalancerProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterLoadBalancerProfile(subject ManagedClusterLoadBalancerProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterLoadBalancerProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterLoadBalancerProfile instances for property testing - lazily instantiated by +// ManagedClusterLoadBalancerProfileGenerator() +var managedClusterLoadBalancerProfileGenerator gopter.Gen + +// ManagedClusterLoadBalancerProfileGenerator returns a generator of ManagedClusterLoadBalancerProfile instances for property testing. +// We first initialize managedClusterLoadBalancerProfileGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func ManagedClusterLoadBalancerProfileGenerator() gopter.Gen { + if managedClusterLoadBalancerProfileGenerator != nil { + return managedClusterLoadBalancerProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterLoadBalancerProfile(generators) + managedClusterLoadBalancerProfileGenerator = gen.Struct(reflect.TypeOf(ManagedClusterLoadBalancerProfile{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterLoadBalancerProfile(generators) + AddRelatedPropertyGeneratorsForManagedClusterLoadBalancerProfile(generators) + managedClusterLoadBalancerProfileGenerator = gen.Struct(reflect.TypeOf(ManagedClusterLoadBalancerProfile{}), generators) + + return managedClusterLoadBalancerProfileGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterLoadBalancerProfile is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterLoadBalancerProfile(gens map[string]gopter.Gen) { + gens["AllocatedOutboundPorts"] = gen.PtrOf(gen.Int()) + gens["BackendPoolType"] = gen.PtrOf(gen.AlphaString()) + gens["EnableMultipleStandardLoadBalancers"] = gen.PtrOf(gen.Bool()) + gens["IdleTimeoutInMinutes"] = gen.PtrOf(gen.Int()) +} + +// AddRelatedPropertyGeneratorsForManagedClusterLoadBalancerProfile is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterLoadBalancerProfile(gens map[string]gopter.Gen) { + gens["EffectiveOutboundIPs"] = gen.SliceOf(ResourceReferenceGenerator()) + gens["ManagedOutboundIPs"] = gen.PtrOf(ManagedClusterLoadBalancerProfile_ManagedOutboundIPsGenerator()) + gens["OutboundIPPrefixes"] = gen.PtrOf(ManagedClusterLoadBalancerProfile_OutboundIPPrefixesGenerator()) + gens["OutboundIPs"] = gen.PtrOf(ManagedClusterLoadBalancerProfile_OutboundIPsGenerator()) +} + +func Test_ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterLoadBalancerProfile_ManagedOutboundIPs via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterLoadBalancerProfile_ManagedOutboundIPs, ManagedClusterLoadBalancerProfile_ManagedOutboundIPsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterLoadBalancerProfile_ManagedOutboundIPs runs a test to see if a specific instance of ManagedClusterLoadBalancerProfile_ManagedOutboundIPs round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterLoadBalancerProfile_ManagedOutboundIPs(subject ManagedClusterLoadBalancerProfile_ManagedOutboundIPs) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterLoadBalancerProfile_ManagedOutboundIPs + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterLoadBalancerProfile_ManagedOutboundIPs instances for property testing - lazily +// instantiated by ManagedClusterLoadBalancerProfile_ManagedOutboundIPsGenerator() +var managedClusterLoadBalancerProfile_ManagedOutboundIPsGenerator gopter.Gen + +// ManagedClusterLoadBalancerProfile_ManagedOutboundIPsGenerator returns a generator of ManagedClusterLoadBalancerProfile_ManagedOutboundIPs instances for property testing. +func ManagedClusterLoadBalancerProfile_ManagedOutboundIPsGenerator() gopter.Gen { + if managedClusterLoadBalancerProfile_ManagedOutboundIPsGenerator != nil { + return managedClusterLoadBalancerProfile_ManagedOutboundIPsGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterLoadBalancerProfile_ManagedOutboundIPs(generators) + managedClusterLoadBalancerProfile_ManagedOutboundIPsGenerator = gen.Struct(reflect.TypeOf(ManagedClusterLoadBalancerProfile_ManagedOutboundIPs{}), generators) + + return managedClusterLoadBalancerProfile_ManagedOutboundIPsGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterLoadBalancerProfile_ManagedOutboundIPs is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterLoadBalancerProfile_ManagedOutboundIPs(gens map[string]gopter.Gen) { + gens["Count"] = gen.PtrOf(gen.Int()) + gens["CountIPv6"] = gen.PtrOf(gen.Int()) +} + +func Test_ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS, ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS runs a test to see if a specific instance of ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS(subject ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS instances for property testing - lazily +// instantiated by ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUSGenerator() +var managedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUSGenerator gopter.Gen + +// ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUSGenerator returns a generator of ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS instances for property testing. +func ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUSGenerator() gopter.Gen { + if managedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUSGenerator != nil { + return managedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS(generators) + managedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS{}), generators) + + return managedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS(gens map[string]gopter.Gen) { + gens["Count"] = gen.PtrOf(gen.Int()) + gens["CountIPv6"] = gen.PtrOf(gen.Int()) +} + +func Test_ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterLoadBalancerProfile_OutboundIPPrefixes via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterLoadBalancerProfile_OutboundIPPrefixes, ManagedClusterLoadBalancerProfile_OutboundIPPrefixesGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterLoadBalancerProfile_OutboundIPPrefixes runs a test to see if a specific instance of ManagedClusterLoadBalancerProfile_OutboundIPPrefixes round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterLoadBalancerProfile_OutboundIPPrefixes(subject ManagedClusterLoadBalancerProfile_OutboundIPPrefixes) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterLoadBalancerProfile_OutboundIPPrefixes + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterLoadBalancerProfile_OutboundIPPrefixes instances for property testing - lazily +// instantiated by ManagedClusterLoadBalancerProfile_OutboundIPPrefixesGenerator() +var managedClusterLoadBalancerProfile_OutboundIPPrefixesGenerator gopter.Gen + +// ManagedClusterLoadBalancerProfile_OutboundIPPrefixesGenerator returns a generator of ManagedClusterLoadBalancerProfile_OutboundIPPrefixes instances for property testing. +func ManagedClusterLoadBalancerProfile_OutboundIPPrefixesGenerator() gopter.Gen { + if managedClusterLoadBalancerProfile_OutboundIPPrefixesGenerator != nil { + return managedClusterLoadBalancerProfile_OutboundIPPrefixesGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForManagedClusterLoadBalancerProfile_OutboundIPPrefixes(generators) + managedClusterLoadBalancerProfile_OutboundIPPrefixesGenerator = gen.Struct(reflect.TypeOf(ManagedClusterLoadBalancerProfile_OutboundIPPrefixes{}), generators) + + return managedClusterLoadBalancerProfile_OutboundIPPrefixesGenerator +} + +// AddRelatedPropertyGeneratorsForManagedClusterLoadBalancerProfile_OutboundIPPrefixes is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterLoadBalancerProfile_OutboundIPPrefixes(gens map[string]gopter.Gen) { + gens["PublicIPPrefixes"] = gen.SliceOf(ResourceReferenceGenerator()) +} + +func Test_ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS, ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS runs a test to see if a specific instance of ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS(subject ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS instances for property testing - lazily +// instantiated by ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUSGenerator() +var managedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUSGenerator gopter.Gen + +// ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUSGenerator returns a generator of ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS instances for property testing. +func ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUSGenerator() gopter.Gen { + if managedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUSGenerator != nil { + return managedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS(generators) + managedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS{}), generators) + + return managedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUSGenerator +} + +// AddRelatedPropertyGeneratorsForManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS(gens map[string]gopter.Gen) { + gens["PublicIPPrefixes"] = gen.SliceOf(ResourceReference_STATUSGenerator()) +} + +func Test_ManagedClusterLoadBalancerProfile_OutboundIPs_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterLoadBalancerProfile_OutboundIPs via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterLoadBalancerProfile_OutboundIPs, ManagedClusterLoadBalancerProfile_OutboundIPsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterLoadBalancerProfile_OutboundIPs runs a test to see if a specific instance of ManagedClusterLoadBalancerProfile_OutboundIPs round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterLoadBalancerProfile_OutboundIPs(subject ManagedClusterLoadBalancerProfile_OutboundIPs) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterLoadBalancerProfile_OutboundIPs + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterLoadBalancerProfile_OutboundIPs instances for property testing - lazily instantiated by +// ManagedClusterLoadBalancerProfile_OutboundIPsGenerator() +var managedClusterLoadBalancerProfile_OutboundIPsGenerator gopter.Gen + +// ManagedClusterLoadBalancerProfile_OutboundIPsGenerator returns a generator of ManagedClusterLoadBalancerProfile_OutboundIPs instances for property testing. +func ManagedClusterLoadBalancerProfile_OutboundIPsGenerator() gopter.Gen { + if managedClusterLoadBalancerProfile_OutboundIPsGenerator != nil { + return managedClusterLoadBalancerProfile_OutboundIPsGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForManagedClusterLoadBalancerProfile_OutboundIPs(generators) + managedClusterLoadBalancerProfile_OutboundIPsGenerator = gen.Struct(reflect.TypeOf(ManagedClusterLoadBalancerProfile_OutboundIPs{}), generators) + + return managedClusterLoadBalancerProfile_OutboundIPsGenerator +} + +// AddRelatedPropertyGeneratorsForManagedClusterLoadBalancerProfile_OutboundIPs is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterLoadBalancerProfile_OutboundIPs(gens map[string]gopter.Gen) { + gens["PublicIPs"] = gen.SliceOf(ResourceReferenceGenerator()) +} + +func Test_ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterLoadBalancerProfile_OutboundIPs_STATUS, ManagedClusterLoadBalancerProfile_OutboundIPs_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterLoadBalancerProfile_OutboundIPs_STATUS runs a test to see if a specific instance of ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterLoadBalancerProfile_OutboundIPs_STATUS(subject ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS instances for property testing - lazily +// instantiated by ManagedClusterLoadBalancerProfile_OutboundIPs_STATUSGenerator() +var managedClusterLoadBalancerProfile_OutboundIPs_STATUSGenerator gopter.Gen + +// ManagedClusterLoadBalancerProfile_OutboundIPs_STATUSGenerator returns a generator of ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS instances for property testing. +func ManagedClusterLoadBalancerProfile_OutboundIPs_STATUSGenerator() gopter.Gen { + if managedClusterLoadBalancerProfile_OutboundIPs_STATUSGenerator != nil { + return managedClusterLoadBalancerProfile_OutboundIPs_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForManagedClusterLoadBalancerProfile_OutboundIPs_STATUS(generators) + managedClusterLoadBalancerProfile_OutboundIPs_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS{}), generators) + + return managedClusterLoadBalancerProfile_OutboundIPs_STATUSGenerator +} + +// AddRelatedPropertyGeneratorsForManagedClusterLoadBalancerProfile_OutboundIPs_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterLoadBalancerProfile_OutboundIPs_STATUS(gens map[string]gopter.Gen) { + gens["PublicIPs"] = gen.SliceOf(ResourceReference_STATUSGenerator()) +} + +func Test_ManagedClusterLoadBalancerProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterLoadBalancerProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterLoadBalancerProfile_STATUS, ManagedClusterLoadBalancerProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterLoadBalancerProfile_STATUS runs a test to see if a specific instance of ManagedClusterLoadBalancerProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterLoadBalancerProfile_STATUS(subject ManagedClusterLoadBalancerProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterLoadBalancerProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterLoadBalancerProfile_STATUS instances for property testing - lazily instantiated by +// ManagedClusterLoadBalancerProfile_STATUSGenerator() +var managedClusterLoadBalancerProfile_STATUSGenerator gopter.Gen + +// ManagedClusterLoadBalancerProfile_STATUSGenerator returns a generator of ManagedClusterLoadBalancerProfile_STATUS instances for property testing. +// We first initialize managedClusterLoadBalancerProfile_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func ManagedClusterLoadBalancerProfile_STATUSGenerator() gopter.Gen { + if managedClusterLoadBalancerProfile_STATUSGenerator != nil { + return managedClusterLoadBalancerProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterLoadBalancerProfile_STATUS(generators) + managedClusterLoadBalancerProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterLoadBalancerProfile_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterLoadBalancerProfile_STATUS(generators) + AddRelatedPropertyGeneratorsForManagedClusterLoadBalancerProfile_STATUS(generators) + managedClusterLoadBalancerProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterLoadBalancerProfile_STATUS{}), generators) + + return managedClusterLoadBalancerProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterLoadBalancerProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterLoadBalancerProfile_STATUS(gens map[string]gopter.Gen) { + gens["AllocatedOutboundPorts"] = gen.PtrOf(gen.Int()) + gens["BackendPoolType"] = gen.PtrOf(gen.AlphaString()) + gens["EnableMultipleStandardLoadBalancers"] = gen.PtrOf(gen.Bool()) + gens["IdleTimeoutInMinutes"] = gen.PtrOf(gen.Int()) +} + +// AddRelatedPropertyGeneratorsForManagedClusterLoadBalancerProfile_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterLoadBalancerProfile_STATUS(gens map[string]gopter.Gen) { + gens["EffectiveOutboundIPs"] = gen.SliceOf(ResourceReference_STATUSGenerator()) + gens["ManagedOutboundIPs"] = gen.PtrOf(ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUSGenerator()) + gens["OutboundIPPrefixes"] = gen.PtrOf(ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUSGenerator()) + gens["OutboundIPs"] = gen.PtrOf(ManagedClusterLoadBalancerProfile_OutboundIPs_STATUSGenerator()) +} + +func Test_ManagedClusterManagedOutboundIPProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterManagedOutboundIPProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterManagedOutboundIPProfile, ManagedClusterManagedOutboundIPProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterManagedOutboundIPProfile runs a test to see if a specific instance of ManagedClusterManagedOutboundIPProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterManagedOutboundIPProfile(subject ManagedClusterManagedOutboundIPProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterManagedOutboundIPProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterManagedOutboundIPProfile instances for property testing - lazily instantiated by +// ManagedClusterManagedOutboundIPProfileGenerator() +var managedClusterManagedOutboundIPProfileGenerator gopter.Gen + +// ManagedClusterManagedOutboundIPProfileGenerator returns a generator of ManagedClusterManagedOutboundIPProfile instances for property testing. +func ManagedClusterManagedOutboundIPProfileGenerator() gopter.Gen { + if managedClusterManagedOutboundIPProfileGenerator != nil { + return managedClusterManagedOutboundIPProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterManagedOutboundIPProfile(generators) + managedClusterManagedOutboundIPProfileGenerator = gen.Struct(reflect.TypeOf(ManagedClusterManagedOutboundIPProfile{}), generators) + + return managedClusterManagedOutboundIPProfileGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterManagedOutboundIPProfile is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterManagedOutboundIPProfile(gens map[string]gopter.Gen) { + gens["Count"] = gen.PtrOf(gen.Int()) +} + +func Test_ManagedClusterManagedOutboundIPProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterManagedOutboundIPProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterManagedOutboundIPProfile_STATUS, ManagedClusterManagedOutboundIPProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterManagedOutboundIPProfile_STATUS runs a test to see if a specific instance of ManagedClusterManagedOutboundIPProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterManagedOutboundIPProfile_STATUS(subject ManagedClusterManagedOutboundIPProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterManagedOutboundIPProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterManagedOutboundIPProfile_STATUS instances for property testing - lazily instantiated by +// ManagedClusterManagedOutboundIPProfile_STATUSGenerator() +var managedClusterManagedOutboundIPProfile_STATUSGenerator gopter.Gen + +// ManagedClusterManagedOutboundIPProfile_STATUSGenerator returns a generator of ManagedClusterManagedOutboundIPProfile_STATUS instances for property testing. +func ManagedClusterManagedOutboundIPProfile_STATUSGenerator() gopter.Gen { + if managedClusterManagedOutboundIPProfile_STATUSGenerator != nil { + return managedClusterManagedOutboundIPProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterManagedOutboundIPProfile_STATUS(generators) + managedClusterManagedOutboundIPProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterManagedOutboundIPProfile_STATUS{}), generators) + + return managedClusterManagedOutboundIPProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterManagedOutboundIPProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterManagedOutboundIPProfile_STATUS(gens map[string]gopter.Gen) { + gens["Count"] = gen.PtrOf(gen.Int()) +} + +func Test_ManagedClusterMetricsProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterMetricsProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterMetricsProfile, ManagedClusterMetricsProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterMetricsProfile runs a test to see if a specific instance of ManagedClusterMetricsProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterMetricsProfile(subject ManagedClusterMetricsProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterMetricsProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterMetricsProfile instances for property testing - lazily instantiated by +// ManagedClusterMetricsProfileGenerator() +var managedClusterMetricsProfileGenerator gopter.Gen + +// ManagedClusterMetricsProfileGenerator returns a generator of ManagedClusterMetricsProfile instances for property testing. +func ManagedClusterMetricsProfileGenerator() gopter.Gen { + if managedClusterMetricsProfileGenerator != nil { + return managedClusterMetricsProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForManagedClusterMetricsProfile(generators) + managedClusterMetricsProfileGenerator = gen.Struct(reflect.TypeOf(ManagedClusterMetricsProfile{}), generators) + + return managedClusterMetricsProfileGenerator +} + +// AddRelatedPropertyGeneratorsForManagedClusterMetricsProfile is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterMetricsProfile(gens map[string]gopter.Gen) { + gens["CostAnalysis"] = gen.PtrOf(ManagedClusterCostAnalysisGenerator()) +} + +func Test_ManagedClusterMetricsProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterMetricsProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterMetricsProfile_STATUS, ManagedClusterMetricsProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterMetricsProfile_STATUS runs a test to see if a specific instance of ManagedClusterMetricsProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterMetricsProfile_STATUS(subject ManagedClusterMetricsProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterMetricsProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterMetricsProfile_STATUS instances for property testing - lazily instantiated by +// ManagedClusterMetricsProfile_STATUSGenerator() +var managedClusterMetricsProfile_STATUSGenerator gopter.Gen + +// ManagedClusterMetricsProfile_STATUSGenerator returns a generator of ManagedClusterMetricsProfile_STATUS instances for property testing. +func ManagedClusterMetricsProfile_STATUSGenerator() gopter.Gen { + if managedClusterMetricsProfile_STATUSGenerator != nil { + return managedClusterMetricsProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForManagedClusterMetricsProfile_STATUS(generators) + managedClusterMetricsProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterMetricsProfile_STATUS{}), generators) + + return managedClusterMetricsProfile_STATUSGenerator +} + +// AddRelatedPropertyGeneratorsForManagedClusterMetricsProfile_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterMetricsProfile_STATUS(gens map[string]gopter.Gen) { + gens["CostAnalysis"] = gen.PtrOf(ManagedClusterCostAnalysis_STATUSGenerator()) +} + +func Test_ManagedClusterNATGatewayProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterNATGatewayProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterNATGatewayProfile, ManagedClusterNATGatewayProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterNATGatewayProfile runs a test to see if a specific instance of ManagedClusterNATGatewayProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterNATGatewayProfile(subject ManagedClusterNATGatewayProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterNATGatewayProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterNATGatewayProfile instances for property testing - lazily instantiated by +// ManagedClusterNATGatewayProfileGenerator() +var managedClusterNATGatewayProfileGenerator gopter.Gen + +// ManagedClusterNATGatewayProfileGenerator returns a generator of ManagedClusterNATGatewayProfile instances for property testing. +// We first initialize managedClusterNATGatewayProfileGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func ManagedClusterNATGatewayProfileGenerator() gopter.Gen { + if managedClusterNATGatewayProfileGenerator != nil { + return managedClusterNATGatewayProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterNATGatewayProfile(generators) + managedClusterNATGatewayProfileGenerator = gen.Struct(reflect.TypeOf(ManagedClusterNATGatewayProfile{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterNATGatewayProfile(generators) + AddRelatedPropertyGeneratorsForManagedClusterNATGatewayProfile(generators) + managedClusterNATGatewayProfileGenerator = gen.Struct(reflect.TypeOf(ManagedClusterNATGatewayProfile{}), generators) + + return managedClusterNATGatewayProfileGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterNATGatewayProfile is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterNATGatewayProfile(gens map[string]gopter.Gen) { + gens["IdleTimeoutInMinutes"] = gen.PtrOf(gen.Int()) +} + +// AddRelatedPropertyGeneratorsForManagedClusterNATGatewayProfile is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterNATGatewayProfile(gens map[string]gopter.Gen) { + gens["EffectiveOutboundIPs"] = gen.SliceOf(ResourceReferenceGenerator()) + gens["ManagedOutboundIPProfile"] = gen.PtrOf(ManagedClusterManagedOutboundIPProfileGenerator()) +} + +func Test_ManagedClusterNATGatewayProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterNATGatewayProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterNATGatewayProfile_STATUS, ManagedClusterNATGatewayProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterNATGatewayProfile_STATUS runs a test to see if a specific instance of ManagedClusterNATGatewayProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterNATGatewayProfile_STATUS(subject ManagedClusterNATGatewayProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterNATGatewayProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterNATGatewayProfile_STATUS instances for property testing - lazily instantiated by +// ManagedClusterNATGatewayProfile_STATUSGenerator() +var managedClusterNATGatewayProfile_STATUSGenerator gopter.Gen + +// ManagedClusterNATGatewayProfile_STATUSGenerator returns a generator of ManagedClusterNATGatewayProfile_STATUS instances for property testing. +// We first initialize managedClusterNATGatewayProfile_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func ManagedClusterNATGatewayProfile_STATUSGenerator() gopter.Gen { + if managedClusterNATGatewayProfile_STATUSGenerator != nil { + return managedClusterNATGatewayProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterNATGatewayProfile_STATUS(generators) + managedClusterNATGatewayProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterNATGatewayProfile_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterNATGatewayProfile_STATUS(generators) + AddRelatedPropertyGeneratorsForManagedClusterNATGatewayProfile_STATUS(generators) + managedClusterNATGatewayProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterNATGatewayProfile_STATUS{}), generators) + + return managedClusterNATGatewayProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterNATGatewayProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterNATGatewayProfile_STATUS(gens map[string]gopter.Gen) { + gens["IdleTimeoutInMinutes"] = gen.PtrOf(gen.Int()) +} + +// AddRelatedPropertyGeneratorsForManagedClusterNATGatewayProfile_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterNATGatewayProfile_STATUS(gens map[string]gopter.Gen) { + gens["EffectiveOutboundIPs"] = gen.SliceOf(ResourceReference_STATUSGenerator()) + gens["ManagedOutboundIPProfile"] = gen.PtrOf(ManagedClusterManagedOutboundIPProfile_STATUSGenerator()) +} + +func Test_ManagedClusterNodeResourceGroupProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterNodeResourceGroupProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterNodeResourceGroupProfile, ManagedClusterNodeResourceGroupProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterNodeResourceGroupProfile runs a test to see if a specific instance of ManagedClusterNodeResourceGroupProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterNodeResourceGroupProfile(subject ManagedClusterNodeResourceGroupProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterNodeResourceGroupProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterNodeResourceGroupProfile instances for property testing - lazily instantiated by +// ManagedClusterNodeResourceGroupProfileGenerator() +var managedClusterNodeResourceGroupProfileGenerator gopter.Gen + +// ManagedClusterNodeResourceGroupProfileGenerator returns a generator of ManagedClusterNodeResourceGroupProfile instances for property testing. +func ManagedClusterNodeResourceGroupProfileGenerator() gopter.Gen { + if managedClusterNodeResourceGroupProfileGenerator != nil { + return managedClusterNodeResourceGroupProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterNodeResourceGroupProfile(generators) + managedClusterNodeResourceGroupProfileGenerator = gen.Struct(reflect.TypeOf(ManagedClusterNodeResourceGroupProfile{}), generators) + + return managedClusterNodeResourceGroupProfileGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterNodeResourceGroupProfile is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterNodeResourceGroupProfile(gens map[string]gopter.Gen) { + gens["RestrictionLevel"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ManagedClusterNodeResourceGroupProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterNodeResourceGroupProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterNodeResourceGroupProfile_STATUS, ManagedClusterNodeResourceGroupProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterNodeResourceGroupProfile_STATUS runs a test to see if a specific instance of ManagedClusterNodeResourceGroupProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterNodeResourceGroupProfile_STATUS(subject ManagedClusterNodeResourceGroupProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterNodeResourceGroupProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterNodeResourceGroupProfile_STATUS instances for property testing - lazily instantiated by +// ManagedClusterNodeResourceGroupProfile_STATUSGenerator() +var managedClusterNodeResourceGroupProfile_STATUSGenerator gopter.Gen + +// ManagedClusterNodeResourceGroupProfile_STATUSGenerator returns a generator of ManagedClusterNodeResourceGroupProfile_STATUS instances for property testing. +func ManagedClusterNodeResourceGroupProfile_STATUSGenerator() gopter.Gen { + if managedClusterNodeResourceGroupProfile_STATUSGenerator != nil { + return managedClusterNodeResourceGroupProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterNodeResourceGroupProfile_STATUS(generators) + managedClusterNodeResourceGroupProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterNodeResourceGroupProfile_STATUS{}), generators) + + return managedClusterNodeResourceGroupProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterNodeResourceGroupProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterNodeResourceGroupProfile_STATUS(gens map[string]gopter.Gen) { + gens["RestrictionLevel"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ManagedClusterOIDCIssuerProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterOIDCIssuerProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterOIDCIssuerProfile, ManagedClusterOIDCIssuerProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterOIDCIssuerProfile runs a test to see if a specific instance of ManagedClusterOIDCIssuerProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterOIDCIssuerProfile(subject ManagedClusterOIDCIssuerProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterOIDCIssuerProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterOIDCIssuerProfile instances for property testing - lazily instantiated by +// ManagedClusterOIDCIssuerProfileGenerator() +var managedClusterOIDCIssuerProfileGenerator gopter.Gen + +// ManagedClusterOIDCIssuerProfileGenerator returns a generator of ManagedClusterOIDCIssuerProfile instances for property testing. +func ManagedClusterOIDCIssuerProfileGenerator() gopter.Gen { + if managedClusterOIDCIssuerProfileGenerator != nil { + return managedClusterOIDCIssuerProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterOIDCIssuerProfile(generators) + managedClusterOIDCIssuerProfileGenerator = gen.Struct(reflect.TypeOf(ManagedClusterOIDCIssuerProfile{}), generators) + + return managedClusterOIDCIssuerProfileGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterOIDCIssuerProfile is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterOIDCIssuerProfile(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +func Test_ManagedClusterOIDCIssuerProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterOIDCIssuerProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterOIDCIssuerProfile_STATUS, ManagedClusterOIDCIssuerProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterOIDCIssuerProfile_STATUS runs a test to see if a specific instance of ManagedClusterOIDCIssuerProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterOIDCIssuerProfile_STATUS(subject ManagedClusterOIDCIssuerProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterOIDCIssuerProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterOIDCIssuerProfile_STATUS instances for property testing - lazily instantiated by +// ManagedClusterOIDCIssuerProfile_STATUSGenerator() +var managedClusterOIDCIssuerProfile_STATUSGenerator gopter.Gen + +// ManagedClusterOIDCIssuerProfile_STATUSGenerator returns a generator of ManagedClusterOIDCIssuerProfile_STATUS instances for property testing. +func ManagedClusterOIDCIssuerProfile_STATUSGenerator() gopter.Gen { + if managedClusterOIDCIssuerProfile_STATUSGenerator != nil { + return managedClusterOIDCIssuerProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterOIDCIssuerProfile_STATUS(generators) + managedClusterOIDCIssuerProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterOIDCIssuerProfile_STATUS{}), generators) + + return managedClusterOIDCIssuerProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterOIDCIssuerProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterOIDCIssuerProfile_STATUS(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) + gens["IssuerURL"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ManagedClusterOperatorConfigMaps_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterOperatorConfigMaps via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterOperatorConfigMaps, ManagedClusterOperatorConfigMapsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterOperatorConfigMaps runs a test to see if a specific instance of ManagedClusterOperatorConfigMaps round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterOperatorConfigMaps(subject ManagedClusterOperatorConfigMaps) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterOperatorConfigMaps + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterOperatorConfigMaps instances for property testing - lazily instantiated by +// ManagedClusterOperatorConfigMapsGenerator() +var managedClusterOperatorConfigMapsGenerator gopter.Gen + +// ManagedClusterOperatorConfigMapsGenerator returns a generator of ManagedClusterOperatorConfigMaps instances for property testing. +func ManagedClusterOperatorConfigMapsGenerator() gopter.Gen { + if managedClusterOperatorConfigMapsGenerator != nil { + return managedClusterOperatorConfigMapsGenerator + } + + generators := make(map[string]gopter.Gen) + managedClusterOperatorConfigMapsGenerator = gen.Struct(reflect.TypeOf(ManagedClusterOperatorConfigMaps{}), generators) + + return managedClusterOperatorConfigMapsGenerator +} + +func Test_ManagedClusterOperatorSecrets_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterOperatorSecrets via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterOperatorSecrets, ManagedClusterOperatorSecretsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterOperatorSecrets runs a test to see if a specific instance of ManagedClusterOperatorSecrets round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterOperatorSecrets(subject ManagedClusterOperatorSecrets) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterOperatorSecrets + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterOperatorSecrets instances for property testing - lazily instantiated by +// ManagedClusterOperatorSecretsGenerator() +var managedClusterOperatorSecretsGenerator gopter.Gen + +// ManagedClusterOperatorSecretsGenerator returns a generator of ManagedClusterOperatorSecrets instances for property testing. +func ManagedClusterOperatorSecretsGenerator() gopter.Gen { + if managedClusterOperatorSecretsGenerator != nil { + return managedClusterOperatorSecretsGenerator + } + + generators := make(map[string]gopter.Gen) + managedClusterOperatorSecretsGenerator = gen.Struct(reflect.TypeOf(ManagedClusterOperatorSecrets{}), generators) + + return managedClusterOperatorSecretsGenerator +} + +func Test_ManagedClusterOperatorSpec_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterOperatorSpec via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterOperatorSpec, ManagedClusterOperatorSpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterOperatorSpec runs a test to see if a specific instance of ManagedClusterOperatorSpec round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterOperatorSpec(subject ManagedClusterOperatorSpec) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterOperatorSpec + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterOperatorSpec instances for property testing - lazily instantiated by +// ManagedClusterOperatorSpecGenerator() +var managedClusterOperatorSpecGenerator gopter.Gen + +// ManagedClusterOperatorSpecGenerator returns a generator of ManagedClusterOperatorSpec instances for property testing. +func ManagedClusterOperatorSpecGenerator() gopter.Gen { + if managedClusterOperatorSpecGenerator != nil { + return managedClusterOperatorSpecGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForManagedClusterOperatorSpec(generators) + managedClusterOperatorSpecGenerator = gen.Struct(reflect.TypeOf(ManagedClusterOperatorSpec{}), generators) + + return managedClusterOperatorSpecGenerator +} + +// AddRelatedPropertyGeneratorsForManagedClusterOperatorSpec is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterOperatorSpec(gens map[string]gopter.Gen) { + gens["ConfigMaps"] = gen.PtrOf(ManagedClusterOperatorConfigMapsGenerator()) + gens["Secrets"] = gen.PtrOf(ManagedClusterOperatorSecretsGenerator()) +} + +func Test_ManagedClusterPodIdentity_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterPodIdentity via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterPodIdentity, ManagedClusterPodIdentityGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterPodIdentity runs a test to see if a specific instance of ManagedClusterPodIdentity round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterPodIdentity(subject ManagedClusterPodIdentity) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterPodIdentity + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterPodIdentity instances for property testing - lazily instantiated by +// ManagedClusterPodIdentityGenerator() +var managedClusterPodIdentityGenerator gopter.Gen + +// ManagedClusterPodIdentityGenerator returns a generator of ManagedClusterPodIdentity instances for property testing. +// We first initialize managedClusterPodIdentityGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func ManagedClusterPodIdentityGenerator() gopter.Gen { + if managedClusterPodIdentityGenerator != nil { + return managedClusterPodIdentityGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterPodIdentity(generators) + managedClusterPodIdentityGenerator = gen.Struct(reflect.TypeOf(ManagedClusterPodIdentity{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterPodIdentity(generators) + AddRelatedPropertyGeneratorsForManagedClusterPodIdentity(generators) + managedClusterPodIdentityGenerator = gen.Struct(reflect.TypeOf(ManagedClusterPodIdentity{}), generators) + + return managedClusterPodIdentityGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterPodIdentity is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterPodIdentity(gens map[string]gopter.Gen) { + gens["BindingSelector"] = gen.PtrOf(gen.AlphaString()) + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["Namespace"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForManagedClusterPodIdentity is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterPodIdentity(gens map[string]gopter.Gen) { + gens["Identity"] = gen.PtrOf(UserAssignedIdentityGenerator()) +} + +func Test_ManagedClusterPodIdentityException_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterPodIdentityException via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterPodIdentityException, ManagedClusterPodIdentityExceptionGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterPodIdentityException runs a test to see if a specific instance of ManagedClusterPodIdentityException round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterPodIdentityException(subject ManagedClusterPodIdentityException) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterPodIdentityException + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterPodIdentityException instances for property testing - lazily instantiated by +// ManagedClusterPodIdentityExceptionGenerator() +var managedClusterPodIdentityExceptionGenerator gopter.Gen + +// ManagedClusterPodIdentityExceptionGenerator returns a generator of ManagedClusterPodIdentityException instances for property testing. +func ManagedClusterPodIdentityExceptionGenerator() gopter.Gen { + if managedClusterPodIdentityExceptionGenerator != nil { + return managedClusterPodIdentityExceptionGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterPodIdentityException(generators) + managedClusterPodIdentityExceptionGenerator = gen.Struct(reflect.TypeOf(ManagedClusterPodIdentityException{}), generators) + + return managedClusterPodIdentityExceptionGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterPodIdentityException is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterPodIdentityException(gens map[string]gopter.Gen) { + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["Namespace"] = gen.PtrOf(gen.AlphaString()) + gens["PodLabels"] = gen.MapOf( + gen.AlphaString(), + gen.AlphaString()) +} + +func Test_ManagedClusterPodIdentityException_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterPodIdentityException_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterPodIdentityException_STATUS, ManagedClusterPodIdentityException_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterPodIdentityException_STATUS runs a test to see if a specific instance of ManagedClusterPodIdentityException_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterPodIdentityException_STATUS(subject ManagedClusterPodIdentityException_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterPodIdentityException_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterPodIdentityException_STATUS instances for property testing - lazily instantiated by +// ManagedClusterPodIdentityException_STATUSGenerator() +var managedClusterPodIdentityException_STATUSGenerator gopter.Gen + +// ManagedClusterPodIdentityException_STATUSGenerator returns a generator of ManagedClusterPodIdentityException_STATUS instances for property testing. +func ManagedClusterPodIdentityException_STATUSGenerator() gopter.Gen { + if managedClusterPodIdentityException_STATUSGenerator != nil { + return managedClusterPodIdentityException_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterPodIdentityException_STATUS(generators) + managedClusterPodIdentityException_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterPodIdentityException_STATUS{}), generators) + + return managedClusterPodIdentityException_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterPodIdentityException_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterPodIdentityException_STATUS(gens map[string]gopter.Gen) { + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["Namespace"] = gen.PtrOf(gen.AlphaString()) + gens["PodLabels"] = gen.MapOf( + gen.AlphaString(), + gen.AlphaString()) +} + +func Test_ManagedClusterPodIdentityProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterPodIdentityProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterPodIdentityProfile, ManagedClusterPodIdentityProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterPodIdentityProfile runs a test to see if a specific instance of ManagedClusterPodIdentityProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterPodIdentityProfile(subject ManagedClusterPodIdentityProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterPodIdentityProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterPodIdentityProfile instances for property testing - lazily instantiated by +// ManagedClusterPodIdentityProfileGenerator() +var managedClusterPodIdentityProfileGenerator gopter.Gen + +// ManagedClusterPodIdentityProfileGenerator returns a generator of ManagedClusterPodIdentityProfile instances for property testing. +// We first initialize managedClusterPodIdentityProfileGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func ManagedClusterPodIdentityProfileGenerator() gopter.Gen { + if managedClusterPodIdentityProfileGenerator != nil { + return managedClusterPodIdentityProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterPodIdentityProfile(generators) + managedClusterPodIdentityProfileGenerator = gen.Struct(reflect.TypeOf(ManagedClusterPodIdentityProfile{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterPodIdentityProfile(generators) + AddRelatedPropertyGeneratorsForManagedClusterPodIdentityProfile(generators) + managedClusterPodIdentityProfileGenerator = gen.Struct(reflect.TypeOf(ManagedClusterPodIdentityProfile{}), generators) + + return managedClusterPodIdentityProfileGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterPodIdentityProfile is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterPodIdentityProfile(gens map[string]gopter.Gen) { + gens["AllowNetworkPluginKubenet"] = gen.PtrOf(gen.Bool()) + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +// AddRelatedPropertyGeneratorsForManagedClusterPodIdentityProfile is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterPodIdentityProfile(gens map[string]gopter.Gen) { + gens["UserAssignedIdentities"] = gen.SliceOf(ManagedClusterPodIdentityGenerator()) + gens["UserAssignedIdentityExceptions"] = gen.SliceOf(ManagedClusterPodIdentityExceptionGenerator()) +} + +func Test_ManagedClusterPodIdentityProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterPodIdentityProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterPodIdentityProfile_STATUS, ManagedClusterPodIdentityProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterPodIdentityProfile_STATUS runs a test to see if a specific instance of ManagedClusterPodIdentityProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterPodIdentityProfile_STATUS(subject ManagedClusterPodIdentityProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterPodIdentityProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterPodIdentityProfile_STATUS instances for property testing - lazily instantiated by +// ManagedClusterPodIdentityProfile_STATUSGenerator() +var managedClusterPodIdentityProfile_STATUSGenerator gopter.Gen + +// ManagedClusterPodIdentityProfile_STATUSGenerator returns a generator of ManagedClusterPodIdentityProfile_STATUS instances for property testing. +// We first initialize managedClusterPodIdentityProfile_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func ManagedClusterPodIdentityProfile_STATUSGenerator() gopter.Gen { + if managedClusterPodIdentityProfile_STATUSGenerator != nil { + return managedClusterPodIdentityProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterPodIdentityProfile_STATUS(generators) + managedClusterPodIdentityProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterPodIdentityProfile_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterPodIdentityProfile_STATUS(generators) + AddRelatedPropertyGeneratorsForManagedClusterPodIdentityProfile_STATUS(generators) + managedClusterPodIdentityProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterPodIdentityProfile_STATUS{}), generators) + + return managedClusterPodIdentityProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterPodIdentityProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterPodIdentityProfile_STATUS(gens map[string]gopter.Gen) { + gens["AllowNetworkPluginKubenet"] = gen.PtrOf(gen.Bool()) + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +// AddRelatedPropertyGeneratorsForManagedClusterPodIdentityProfile_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterPodIdentityProfile_STATUS(gens map[string]gopter.Gen) { + gens["UserAssignedIdentities"] = gen.SliceOf(ManagedClusterPodIdentity_STATUSGenerator()) + gens["UserAssignedIdentityExceptions"] = gen.SliceOf(ManagedClusterPodIdentityException_STATUSGenerator()) +} + +func Test_ManagedClusterPodIdentityProvisioningErrorBody_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterPodIdentityProvisioningErrorBody_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterPodIdentityProvisioningErrorBody_STATUS, ManagedClusterPodIdentityProvisioningErrorBody_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterPodIdentityProvisioningErrorBody_STATUS runs a test to see if a specific instance of ManagedClusterPodIdentityProvisioningErrorBody_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterPodIdentityProvisioningErrorBody_STATUS(subject ManagedClusterPodIdentityProvisioningErrorBody_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterPodIdentityProvisioningErrorBody_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterPodIdentityProvisioningErrorBody_STATUS instances for property testing - lazily +// instantiated by ManagedClusterPodIdentityProvisioningErrorBody_STATUSGenerator() +var managedClusterPodIdentityProvisioningErrorBody_STATUSGenerator gopter.Gen + +// ManagedClusterPodIdentityProvisioningErrorBody_STATUSGenerator returns a generator of ManagedClusterPodIdentityProvisioningErrorBody_STATUS instances for property testing. +// We first initialize managedClusterPodIdentityProvisioningErrorBody_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func ManagedClusterPodIdentityProvisioningErrorBody_STATUSGenerator() gopter.Gen { + if managedClusterPodIdentityProvisioningErrorBody_STATUSGenerator != nil { + return managedClusterPodIdentityProvisioningErrorBody_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterPodIdentityProvisioningErrorBody_STATUS(generators) + managedClusterPodIdentityProvisioningErrorBody_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterPodIdentityProvisioningErrorBody_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterPodIdentityProvisioningErrorBody_STATUS(generators) + AddRelatedPropertyGeneratorsForManagedClusterPodIdentityProvisioningErrorBody_STATUS(generators) + managedClusterPodIdentityProvisioningErrorBody_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterPodIdentityProvisioningErrorBody_STATUS{}), generators) + + return managedClusterPodIdentityProvisioningErrorBody_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterPodIdentityProvisioningErrorBody_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterPodIdentityProvisioningErrorBody_STATUS(gens map[string]gopter.Gen) { + gens["Code"] = gen.PtrOf(gen.AlphaString()) + gens["Message"] = gen.PtrOf(gen.AlphaString()) + gens["Target"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForManagedClusterPodIdentityProvisioningErrorBody_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterPodIdentityProvisioningErrorBody_STATUS(gens map[string]gopter.Gen) { + gens["Details"] = gen.SliceOf(ManagedClusterPodIdentityProvisioningErrorBody_STATUS_UnrolledGenerator()) +} + +func Test_ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled, ManagedClusterPodIdentityProvisioningErrorBody_STATUS_UnrolledGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled runs a test to see if a specific instance of ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled(subject ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled instances for property testing - lazily +// instantiated by ManagedClusterPodIdentityProvisioningErrorBody_STATUS_UnrolledGenerator() +var managedClusterPodIdentityProvisioningErrorBody_STATUS_UnrolledGenerator gopter.Gen + +// ManagedClusterPodIdentityProvisioningErrorBody_STATUS_UnrolledGenerator returns a generator of ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled instances for property testing. +func ManagedClusterPodIdentityProvisioningErrorBody_STATUS_UnrolledGenerator() gopter.Gen { + if managedClusterPodIdentityProvisioningErrorBody_STATUS_UnrolledGenerator != nil { + return managedClusterPodIdentityProvisioningErrorBody_STATUS_UnrolledGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled(generators) + managedClusterPodIdentityProvisioningErrorBody_STATUS_UnrolledGenerator = gen.Struct(reflect.TypeOf(ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled{}), generators) + + return managedClusterPodIdentityProvisioningErrorBody_STATUS_UnrolledGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled(gens map[string]gopter.Gen) { + gens["Code"] = gen.PtrOf(gen.AlphaString()) + gens["Message"] = gen.PtrOf(gen.AlphaString()) + gens["Target"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ManagedClusterPodIdentityProvisioningError_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterPodIdentityProvisioningError_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterPodIdentityProvisioningError_STATUS, ManagedClusterPodIdentityProvisioningError_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterPodIdentityProvisioningError_STATUS runs a test to see if a specific instance of ManagedClusterPodIdentityProvisioningError_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterPodIdentityProvisioningError_STATUS(subject ManagedClusterPodIdentityProvisioningError_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterPodIdentityProvisioningError_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterPodIdentityProvisioningError_STATUS instances for property testing - lazily instantiated +// by ManagedClusterPodIdentityProvisioningError_STATUSGenerator() +var managedClusterPodIdentityProvisioningError_STATUSGenerator gopter.Gen + +// ManagedClusterPodIdentityProvisioningError_STATUSGenerator returns a generator of ManagedClusterPodIdentityProvisioningError_STATUS instances for property testing. +func ManagedClusterPodIdentityProvisioningError_STATUSGenerator() gopter.Gen { + if managedClusterPodIdentityProvisioningError_STATUSGenerator != nil { + return managedClusterPodIdentityProvisioningError_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForManagedClusterPodIdentityProvisioningError_STATUS(generators) + managedClusterPodIdentityProvisioningError_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterPodIdentityProvisioningError_STATUS{}), generators) + + return managedClusterPodIdentityProvisioningError_STATUSGenerator +} + +// AddRelatedPropertyGeneratorsForManagedClusterPodIdentityProvisioningError_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterPodIdentityProvisioningError_STATUS(gens map[string]gopter.Gen) { + gens["Error"] = gen.PtrOf(ManagedClusterPodIdentityProvisioningErrorBody_STATUSGenerator()) +} + +func Test_ManagedClusterPodIdentity_ProvisioningInfo_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterPodIdentity_ProvisioningInfo_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterPodIdentity_ProvisioningInfo_STATUS, ManagedClusterPodIdentity_ProvisioningInfo_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterPodIdentity_ProvisioningInfo_STATUS runs a test to see if a specific instance of ManagedClusterPodIdentity_ProvisioningInfo_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterPodIdentity_ProvisioningInfo_STATUS(subject ManagedClusterPodIdentity_ProvisioningInfo_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterPodIdentity_ProvisioningInfo_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterPodIdentity_ProvisioningInfo_STATUS instances for property testing - lazily instantiated +// by ManagedClusterPodIdentity_ProvisioningInfo_STATUSGenerator() +var managedClusterPodIdentity_ProvisioningInfo_STATUSGenerator gopter.Gen + +// ManagedClusterPodIdentity_ProvisioningInfo_STATUSGenerator returns a generator of ManagedClusterPodIdentity_ProvisioningInfo_STATUS instances for property testing. +func ManagedClusterPodIdentity_ProvisioningInfo_STATUSGenerator() gopter.Gen { + if managedClusterPodIdentity_ProvisioningInfo_STATUSGenerator != nil { + return managedClusterPodIdentity_ProvisioningInfo_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForManagedClusterPodIdentity_ProvisioningInfo_STATUS(generators) + managedClusterPodIdentity_ProvisioningInfo_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterPodIdentity_ProvisioningInfo_STATUS{}), generators) + + return managedClusterPodIdentity_ProvisioningInfo_STATUSGenerator +} + +// AddRelatedPropertyGeneratorsForManagedClusterPodIdentity_ProvisioningInfo_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterPodIdentity_ProvisioningInfo_STATUS(gens map[string]gopter.Gen) { + gens["Error"] = gen.PtrOf(ManagedClusterPodIdentityProvisioningError_STATUSGenerator()) +} + +func Test_ManagedClusterPodIdentity_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterPodIdentity_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterPodIdentity_STATUS, ManagedClusterPodIdentity_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterPodIdentity_STATUS runs a test to see if a specific instance of ManagedClusterPodIdentity_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterPodIdentity_STATUS(subject ManagedClusterPodIdentity_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterPodIdentity_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterPodIdentity_STATUS instances for property testing - lazily instantiated by +// ManagedClusterPodIdentity_STATUSGenerator() +var managedClusterPodIdentity_STATUSGenerator gopter.Gen + +// ManagedClusterPodIdentity_STATUSGenerator returns a generator of ManagedClusterPodIdentity_STATUS instances for property testing. +// We first initialize managedClusterPodIdentity_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func ManagedClusterPodIdentity_STATUSGenerator() gopter.Gen { + if managedClusterPodIdentity_STATUSGenerator != nil { + return managedClusterPodIdentity_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterPodIdentity_STATUS(generators) + managedClusterPodIdentity_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterPodIdentity_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterPodIdentity_STATUS(generators) + AddRelatedPropertyGeneratorsForManagedClusterPodIdentity_STATUS(generators) + managedClusterPodIdentity_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterPodIdentity_STATUS{}), generators) + + return managedClusterPodIdentity_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterPodIdentity_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterPodIdentity_STATUS(gens map[string]gopter.Gen) { + gens["BindingSelector"] = gen.PtrOf(gen.AlphaString()) + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["Namespace"] = gen.PtrOf(gen.AlphaString()) + gens["ProvisioningState"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForManagedClusterPodIdentity_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterPodIdentity_STATUS(gens map[string]gopter.Gen) { + gens["Identity"] = gen.PtrOf(UserAssignedIdentity_STATUSGenerator()) + gens["ProvisioningInfo"] = gen.PtrOf(ManagedClusterPodIdentity_ProvisioningInfo_STATUSGenerator()) +} + +func Test_ManagedClusterProperties_AutoScalerProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterProperties_AutoScalerProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterProperties_AutoScalerProfile, ManagedClusterProperties_AutoScalerProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterProperties_AutoScalerProfile runs a test to see if a specific instance of ManagedClusterProperties_AutoScalerProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterProperties_AutoScalerProfile(subject ManagedClusterProperties_AutoScalerProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterProperties_AutoScalerProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterProperties_AutoScalerProfile instances for property testing - lazily instantiated by +// ManagedClusterProperties_AutoScalerProfileGenerator() +var managedClusterProperties_AutoScalerProfileGenerator gopter.Gen + +// ManagedClusterProperties_AutoScalerProfileGenerator returns a generator of ManagedClusterProperties_AutoScalerProfile instances for property testing. +func ManagedClusterProperties_AutoScalerProfileGenerator() gopter.Gen { + if managedClusterProperties_AutoScalerProfileGenerator != nil { + return managedClusterProperties_AutoScalerProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterProperties_AutoScalerProfile(generators) + managedClusterProperties_AutoScalerProfileGenerator = gen.Struct(reflect.TypeOf(ManagedClusterProperties_AutoScalerProfile{}), generators) + + return managedClusterProperties_AutoScalerProfileGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterProperties_AutoScalerProfile is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterProperties_AutoScalerProfile(gens map[string]gopter.Gen) { + gens["BalanceSimilarNodeGroups"] = gen.PtrOf(gen.AlphaString()) + gens["DaemonsetEvictionForEmptyNodes"] = gen.PtrOf(gen.Bool()) + gens["DaemonsetEvictionForOccupiedNodes"] = gen.PtrOf(gen.Bool()) + gens["Expander"] = gen.PtrOf(gen.AlphaString()) + gens["IgnoreDaemonsetsUtilization"] = gen.PtrOf(gen.Bool()) + gens["MaxEmptyBulkDelete"] = gen.PtrOf(gen.AlphaString()) + gens["MaxGracefulTerminationSec"] = gen.PtrOf(gen.AlphaString()) + gens["MaxNodeProvisionTime"] = gen.PtrOf(gen.AlphaString()) + gens["MaxTotalUnreadyPercentage"] = gen.PtrOf(gen.AlphaString()) + gens["NewPodScaleUpDelay"] = gen.PtrOf(gen.AlphaString()) + gens["OkTotalUnreadyCount"] = gen.PtrOf(gen.AlphaString()) + gens["ScaleDownDelayAfterAdd"] = gen.PtrOf(gen.AlphaString()) + gens["ScaleDownDelayAfterDelete"] = gen.PtrOf(gen.AlphaString()) + gens["ScaleDownDelayAfterFailure"] = gen.PtrOf(gen.AlphaString()) + gens["ScaleDownUnneededTime"] = gen.PtrOf(gen.AlphaString()) + gens["ScaleDownUnreadyTime"] = gen.PtrOf(gen.AlphaString()) + gens["ScaleDownUtilizationThreshold"] = gen.PtrOf(gen.AlphaString()) + gens["ScanInterval"] = gen.PtrOf(gen.AlphaString()) + gens["SkipNodesWithLocalStorage"] = gen.PtrOf(gen.AlphaString()) + gens["SkipNodesWithSystemPods"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ManagedClusterProperties_AutoScalerProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterProperties_AutoScalerProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterProperties_AutoScalerProfile_STATUS, ManagedClusterProperties_AutoScalerProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterProperties_AutoScalerProfile_STATUS runs a test to see if a specific instance of ManagedClusterProperties_AutoScalerProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterProperties_AutoScalerProfile_STATUS(subject ManagedClusterProperties_AutoScalerProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterProperties_AutoScalerProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterProperties_AutoScalerProfile_STATUS instances for property testing - lazily instantiated +// by ManagedClusterProperties_AutoScalerProfile_STATUSGenerator() +var managedClusterProperties_AutoScalerProfile_STATUSGenerator gopter.Gen + +// ManagedClusterProperties_AutoScalerProfile_STATUSGenerator returns a generator of ManagedClusterProperties_AutoScalerProfile_STATUS instances for property testing. +func ManagedClusterProperties_AutoScalerProfile_STATUSGenerator() gopter.Gen { + if managedClusterProperties_AutoScalerProfile_STATUSGenerator != nil { + return managedClusterProperties_AutoScalerProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterProperties_AutoScalerProfile_STATUS(generators) + managedClusterProperties_AutoScalerProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterProperties_AutoScalerProfile_STATUS{}), generators) + + return managedClusterProperties_AutoScalerProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterProperties_AutoScalerProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterProperties_AutoScalerProfile_STATUS(gens map[string]gopter.Gen) { + gens["BalanceSimilarNodeGroups"] = gen.PtrOf(gen.AlphaString()) + gens["DaemonsetEvictionForEmptyNodes"] = gen.PtrOf(gen.Bool()) + gens["DaemonsetEvictionForOccupiedNodes"] = gen.PtrOf(gen.Bool()) + gens["Expander"] = gen.PtrOf(gen.AlphaString()) + gens["IgnoreDaemonsetsUtilization"] = gen.PtrOf(gen.Bool()) + gens["MaxEmptyBulkDelete"] = gen.PtrOf(gen.AlphaString()) + gens["MaxGracefulTerminationSec"] = gen.PtrOf(gen.AlphaString()) + gens["MaxNodeProvisionTime"] = gen.PtrOf(gen.AlphaString()) + gens["MaxTotalUnreadyPercentage"] = gen.PtrOf(gen.AlphaString()) + gens["NewPodScaleUpDelay"] = gen.PtrOf(gen.AlphaString()) + gens["OkTotalUnreadyCount"] = gen.PtrOf(gen.AlphaString()) + gens["ScaleDownDelayAfterAdd"] = gen.PtrOf(gen.AlphaString()) + gens["ScaleDownDelayAfterDelete"] = gen.PtrOf(gen.AlphaString()) + gens["ScaleDownDelayAfterFailure"] = gen.PtrOf(gen.AlphaString()) + gens["ScaleDownUnneededTime"] = gen.PtrOf(gen.AlphaString()) + gens["ScaleDownUnreadyTime"] = gen.PtrOf(gen.AlphaString()) + gens["ScaleDownUtilizationThreshold"] = gen.PtrOf(gen.AlphaString()) + gens["ScanInterval"] = gen.PtrOf(gen.AlphaString()) + gens["SkipNodesWithLocalStorage"] = gen.PtrOf(gen.AlphaString()) + gens["SkipNodesWithSystemPods"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ManagedClusterSKU_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterSKU via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterSKU, ManagedClusterSKUGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterSKU runs a test to see if a specific instance of ManagedClusterSKU round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterSKU(subject ManagedClusterSKU) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterSKU + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterSKU instances for property testing - lazily instantiated by ManagedClusterSKUGenerator() +var managedClusterSKUGenerator gopter.Gen + +// ManagedClusterSKUGenerator returns a generator of ManagedClusterSKU instances for property testing. +func ManagedClusterSKUGenerator() gopter.Gen { + if managedClusterSKUGenerator != nil { + return managedClusterSKUGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterSKU(generators) + managedClusterSKUGenerator = gen.Struct(reflect.TypeOf(ManagedClusterSKU{}), generators) + + return managedClusterSKUGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterSKU is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterSKU(gens map[string]gopter.Gen) { + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["Tier"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ManagedClusterSKU_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterSKU_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterSKU_STATUS, ManagedClusterSKU_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterSKU_STATUS runs a test to see if a specific instance of ManagedClusterSKU_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterSKU_STATUS(subject ManagedClusterSKU_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterSKU_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterSKU_STATUS instances for property testing - lazily instantiated by +// ManagedClusterSKU_STATUSGenerator() +var managedClusterSKU_STATUSGenerator gopter.Gen + +// ManagedClusterSKU_STATUSGenerator returns a generator of ManagedClusterSKU_STATUS instances for property testing. +func ManagedClusterSKU_STATUSGenerator() gopter.Gen { + if managedClusterSKU_STATUSGenerator != nil { + return managedClusterSKU_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterSKU_STATUS(generators) + managedClusterSKU_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterSKU_STATUS{}), generators) + + return managedClusterSKU_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterSKU_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterSKU_STATUS(gens map[string]gopter.Gen) { + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["Tier"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ManagedClusterSecurityProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterSecurityProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterSecurityProfile, ManagedClusterSecurityProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterSecurityProfile runs a test to see if a specific instance of ManagedClusterSecurityProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterSecurityProfile(subject ManagedClusterSecurityProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterSecurityProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterSecurityProfile instances for property testing - lazily instantiated by +// ManagedClusterSecurityProfileGenerator() +var managedClusterSecurityProfileGenerator gopter.Gen + +// ManagedClusterSecurityProfileGenerator returns a generator of ManagedClusterSecurityProfile instances for property testing. +func ManagedClusterSecurityProfileGenerator() gopter.Gen { + if managedClusterSecurityProfileGenerator != nil { + return managedClusterSecurityProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForManagedClusterSecurityProfile(generators) + managedClusterSecurityProfileGenerator = gen.Struct(reflect.TypeOf(ManagedClusterSecurityProfile{}), generators) + + return managedClusterSecurityProfileGenerator +} + +// AddRelatedPropertyGeneratorsForManagedClusterSecurityProfile is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterSecurityProfile(gens map[string]gopter.Gen) { + gens["AzureKeyVaultKms"] = gen.PtrOf(AzureKeyVaultKmsGenerator()) + gens["Defender"] = gen.PtrOf(ManagedClusterSecurityProfileDefenderGenerator()) + gens["ImageCleaner"] = gen.PtrOf(ManagedClusterSecurityProfileImageCleanerGenerator()) + gens["WorkloadIdentity"] = gen.PtrOf(ManagedClusterSecurityProfileWorkloadIdentityGenerator()) +} + +func Test_ManagedClusterSecurityProfileDefender_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterSecurityProfileDefender via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterSecurityProfileDefender, ManagedClusterSecurityProfileDefenderGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterSecurityProfileDefender runs a test to see if a specific instance of ManagedClusterSecurityProfileDefender round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterSecurityProfileDefender(subject ManagedClusterSecurityProfileDefender) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterSecurityProfileDefender + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterSecurityProfileDefender instances for property testing - lazily instantiated by +// ManagedClusterSecurityProfileDefenderGenerator() +var managedClusterSecurityProfileDefenderGenerator gopter.Gen + +// ManagedClusterSecurityProfileDefenderGenerator returns a generator of ManagedClusterSecurityProfileDefender instances for property testing. +func ManagedClusterSecurityProfileDefenderGenerator() gopter.Gen { + if managedClusterSecurityProfileDefenderGenerator != nil { + return managedClusterSecurityProfileDefenderGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForManagedClusterSecurityProfileDefender(generators) + managedClusterSecurityProfileDefenderGenerator = gen.Struct(reflect.TypeOf(ManagedClusterSecurityProfileDefender{}), generators) + + return managedClusterSecurityProfileDefenderGenerator +} + +// AddRelatedPropertyGeneratorsForManagedClusterSecurityProfileDefender is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterSecurityProfileDefender(gens map[string]gopter.Gen) { + gens["SecurityMonitoring"] = gen.PtrOf(ManagedClusterSecurityProfileDefenderSecurityMonitoringGenerator()) +} + +func Test_ManagedClusterSecurityProfileDefenderSecurityMonitoring_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterSecurityProfileDefenderSecurityMonitoring via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterSecurityProfileDefenderSecurityMonitoring, ManagedClusterSecurityProfileDefenderSecurityMonitoringGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterSecurityProfileDefenderSecurityMonitoring runs a test to see if a specific instance of ManagedClusterSecurityProfileDefenderSecurityMonitoring round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterSecurityProfileDefenderSecurityMonitoring(subject ManagedClusterSecurityProfileDefenderSecurityMonitoring) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterSecurityProfileDefenderSecurityMonitoring + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterSecurityProfileDefenderSecurityMonitoring instances for property testing - lazily +// instantiated by ManagedClusterSecurityProfileDefenderSecurityMonitoringGenerator() +var managedClusterSecurityProfileDefenderSecurityMonitoringGenerator gopter.Gen + +// ManagedClusterSecurityProfileDefenderSecurityMonitoringGenerator returns a generator of ManagedClusterSecurityProfileDefenderSecurityMonitoring instances for property testing. +func ManagedClusterSecurityProfileDefenderSecurityMonitoringGenerator() gopter.Gen { + if managedClusterSecurityProfileDefenderSecurityMonitoringGenerator != nil { + return managedClusterSecurityProfileDefenderSecurityMonitoringGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterSecurityProfileDefenderSecurityMonitoring(generators) + managedClusterSecurityProfileDefenderSecurityMonitoringGenerator = gen.Struct(reflect.TypeOf(ManagedClusterSecurityProfileDefenderSecurityMonitoring{}), generators) + + return managedClusterSecurityProfileDefenderSecurityMonitoringGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterSecurityProfileDefenderSecurityMonitoring is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterSecurityProfileDefenderSecurityMonitoring(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +func Test_ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS, ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS runs a test to see if a specific instance of ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS(subject ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS instances for property testing - lazily +// instantiated by ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUSGenerator() +var managedClusterSecurityProfileDefenderSecurityMonitoring_STATUSGenerator gopter.Gen + +// ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUSGenerator returns a generator of ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS instances for property testing. +func ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUSGenerator() gopter.Gen { + if managedClusterSecurityProfileDefenderSecurityMonitoring_STATUSGenerator != nil { + return managedClusterSecurityProfileDefenderSecurityMonitoring_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS(generators) + managedClusterSecurityProfileDefenderSecurityMonitoring_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS{}), generators) + + return managedClusterSecurityProfileDefenderSecurityMonitoring_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +func Test_ManagedClusterSecurityProfileDefender_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterSecurityProfileDefender_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterSecurityProfileDefender_STATUS, ManagedClusterSecurityProfileDefender_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterSecurityProfileDefender_STATUS runs a test to see if a specific instance of ManagedClusterSecurityProfileDefender_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterSecurityProfileDefender_STATUS(subject ManagedClusterSecurityProfileDefender_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterSecurityProfileDefender_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterSecurityProfileDefender_STATUS instances for property testing - lazily instantiated by +// ManagedClusterSecurityProfileDefender_STATUSGenerator() +var managedClusterSecurityProfileDefender_STATUSGenerator gopter.Gen + +// ManagedClusterSecurityProfileDefender_STATUSGenerator returns a generator of ManagedClusterSecurityProfileDefender_STATUS instances for property testing. +// We first initialize managedClusterSecurityProfileDefender_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func ManagedClusterSecurityProfileDefender_STATUSGenerator() gopter.Gen { + if managedClusterSecurityProfileDefender_STATUSGenerator != nil { + return managedClusterSecurityProfileDefender_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterSecurityProfileDefender_STATUS(generators) + managedClusterSecurityProfileDefender_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterSecurityProfileDefender_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterSecurityProfileDefender_STATUS(generators) + AddRelatedPropertyGeneratorsForManagedClusterSecurityProfileDefender_STATUS(generators) + managedClusterSecurityProfileDefender_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterSecurityProfileDefender_STATUS{}), generators) + + return managedClusterSecurityProfileDefender_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterSecurityProfileDefender_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterSecurityProfileDefender_STATUS(gens map[string]gopter.Gen) { + gens["LogAnalyticsWorkspaceResourceId"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForManagedClusterSecurityProfileDefender_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterSecurityProfileDefender_STATUS(gens map[string]gopter.Gen) { + gens["SecurityMonitoring"] = gen.PtrOf(ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUSGenerator()) +} + +func Test_ManagedClusterSecurityProfileImageCleaner_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterSecurityProfileImageCleaner via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterSecurityProfileImageCleaner, ManagedClusterSecurityProfileImageCleanerGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterSecurityProfileImageCleaner runs a test to see if a specific instance of ManagedClusterSecurityProfileImageCleaner round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterSecurityProfileImageCleaner(subject ManagedClusterSecurityProfileImageCleaner) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterSecurityProfileImageCleaner + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterSecurityProfileImageCleaner instances for property testing - lazily instantiated by +// ManagedClusterSecurityProfileImageCleanerGenerator() +var managedClusterSecurityProfileImageCleanerGenerator gopter.Gen + +// ManagedClusterSecurityProfileImageCleanerGenerator returns a generator of ManagedClusterSecurityProfileImageCleaner instances for property testing. +func ManagedClusterSecurityProfileImageCleanerGenerator() gopter.Gen { + if managedClusterSecurityProfileImageCleanerGenerator != nil { + return managedClusterSecurityProfileImageCleanerGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterSecurityProfileImageCleaner(generators) + managedClusterSecurityProfileImageCleanerGenerator = gen.Struct(reflect.TypeOf(ManagedClusterSecurityProfileImageCleaner{}), generators) + + return managedClusterSecurityProfileImageCleanerGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterSecurityProfileImageCleaner is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterSecurityProfileImageCleaner(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) + gens["IntervalHours"] = gen.PtrOf(gen.Int()) +} + +func Test_ManagedClusterSecurityProfileImageCleaner_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterSecurityProfileImageCleaner_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterSecurityProfileImageCleaner_STATUS, ManagedClusterSecurityProfileImageCleaner_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterSecurityProfileImageCleaner_STATUS runs a test to see if a specific instance of ManagedClusterSecurityProfileImageCleaner_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterSecurityProfileImageCleaner_STATUS(subject ManagedClusterSecurityProfileImageCleaner_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterSecurityProfileImageCleaner_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterSecurityProfileImageCleaner_STATUS instances for property testing - lazily instantiated by +// ManagedClusterSecurityProfileImageCleaner_STATUSGenerator() +var managedClusterSecurityProfileImageCleaner_STATUSGenerator gopter.Gen + +// ManagedClusterSecurityProfileImageCleaner_STATUSGenerator returns a generator of ManagedClusterSecurityProfileImageCleaner_STATUS instances for property testing. +func ManagedClusterSecurityProfileImageCleaner_STATUSGenerator() gopter.Gen { + if managedClusterSecurityProfileImageCleaner_STATUSGenerator != nil { + return managedClusterSecurityProfileImageCleaner_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterSecurityProfileImageCleaner_STATUS(generators) + managedClusterSecurityProfileImageCleaner_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterSecurityProfileImageCleaner_STATUS{}), generators) + + return managedClusterSecurityProfileImageCleaner_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterSecurityProfileImageCleaner_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterSecurityProfileImageCleaner_STATUS(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) + gens["IntervalHours"] = gen.PtrOf(gen.Int()) +} + +func Test_ManagedClusterSecurityProfileWorkloadIdentity_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterSecurityProfileWorkloadIdentity via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterSecurityProfileWorkloadIdentity, ManagedClusterSecurityProfileWorkloadIdentityGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterSecurityProfileWorkloadIdentity runs a test to see if a specific instance of ManagedClusterSecurityProfileWorkloadIdentity round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterSecurityProfileWorkloadIdentity(subject ManagedClusterSecurityProfileWorkloadIdentity) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterSecurityProfileWorkloadIdentity + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterSecurityProfileWorkloadIdentity instances for property testing - lazily instantiated by +// ManagedClusterSecurityProfileWorkloadIdentityGenerator() +var managedClusterSecurityProfileWorkloadIdentityGenerator gopter.Gen + +// ManagedClusterSecurityProfileWorkloadIdentityGenerator returns a generator of ManagedClusterSecurityProfileWorkloadIdentity instances for property testing. +func ManagedClusterSecurityProfileWorkloadIdentityGenerator() gopter.Gen { + if managedClusterSecurityProfileWorkloadIdentityGenerator != nil { + return managedClusterSecurityProfileWorkloadIdentityGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterSecurityProfileWorkloadIdentity(generators) + managedClusterSecurityProfileWorkloadIdentityGenerator = gen.Struct(reflect.TypeOf(ManagedClusterSecurityProfileWorkloadIdentity{}), generators) + + return managedClusterSecurityProfileWorkloadIdentityGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterSecurityProfileWorkloadIdentity is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterSecurityProfileWorkloadIdentity(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +func Test_ManagedClusterSecurityProfileWorkloadIdentity_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterSecurityProfileWorkloadIdentity_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterSecurityProfileWorkloadIdentity_STATUS, ManagedClusterSecurityProfileWorkloadIdentity_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterSecurityProfileWorkloadIdentity_STATUS runs a test to see if a specific instance of ManagedClusterSecurityProfileWorkloadIdentity_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterSecurityProfileWorkloadIdentity_STATUS(subject ManagedClusterSecurityProfileWorkloadIdentity_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterSecurityProfileWorkloadIdentity_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterSecurityProfileWorkloadIdentity_STATUS instances for property testing - lazily +// instantiated by ManagedClusterSecurityProfileWorkloadIdentity_STATUSGenerator() +var managedClusterSecurityProfileWorkloadIdentity_STATUSGenerator gopter.Gen + +// ManagedClusterSecurityProfileWorkloadIdentity_STATUSGenerator returns a generator of ManagedClusterSecurityProfileWorkloadIdentity_STATUS instances for property testing. +func ManagedClusterSecurityProfileWorkloadIdentity_STATUSGenerator() gopter.Gen { + if managedClusterSecurityProfileWorkloadIdentity_STATUSGenerator != nil { + return managedClusterSecurityProfileWorkloadIdentity_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterSecurityProfileWorkloadIdentity_STATUS(generators) + managedClusterSecurityProfileWorkloadIdentity_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterSecurityProfileWorkloadIdentity_STATUS{}), generators) + + return managedClusterSecurityProfileWorkloadIdentity_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterSecurityProfileWorkloadIdentity_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterSecurityProfileWorkloadIdentity_STATUS(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +func Test_ManagedClusterSecurityProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterSecurityProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterSecurityProfile_STATUS, ManagedClusterSecurityProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterSecurityProfile_STATUS runs a test to see if a specific instance of ManagedClusterSecurityProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterSecurityProfile_STATUS(subject ManagedClusterSecurityProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterSecurityProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterSecurityProfile_STATUS instances for property testing - lazily instantiated by +// ManagedClusterSecurityProfile_STATUSGenerator() +var managedClusterSecurityProfile_STATUSGenerator gopter.Gen + +// ManagedClusterSecurityProfile_STATUSGenerator returns a generator of ManagedClusterSecurityProfile_STATUS instances for property testing. +func ManagedClusterSecurityProfile_STATUSGenerator() gopter.Gen { + if managedClusterSecurityProfile_STATUSGenerator != nil { + return managedClusterSecurityProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForManagedClusterSecurityProfile_STATUS(generators) + managedClusterSecurityProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterSecurityProfile_STATUS{}), generators) + + return managedClusterSecurityProfile_STATUSGenerator +} + +// AddRelatedPropertyGeneratorsForManagedClusterSecurityProfile_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterSecurityProfile_STATUS(gens map[string]gopter.Gen) { + gens["AzureKeyVaultKms"] = gen.PtrOf(AzureKeyVaultKms_STATUSGenerator()) + gens["Defender"] = gen.PtrOf(ManagedClusterSecurityProfileDefender_STATUSGenerator()) + gens["ImageCleaner"] = gen.PtrOf(ManagedClusterSecurityProfileImageCleaner_STATUSGenerator()) + gens["WorkloadIdentity"] = gen.PtrOf(ManagedClusterSecurityProfileWorkloadIdentity_STATUSGenerator()) +} + +func Test_ManagedClusterServicePrincipalProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterServicePrincipalProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterServicePrincipalProfile, ManagedClusterServicePrincipalProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterServicePrincipalProfile runs a test to see if a specific instance of ManagedClusterServicePrincipalProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterServicePrincipalProfile(subject ManagedClusterServicePrincipalProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterServicePrincipalProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterServicePrincipalProfile instances for property testing - lazily instantiated by +// ManagedClusterServicePrincipalProfileGenerator() +var managedClusterServicePrincipalProfileGenerator gopter.Gen + +// ManagedClusterServicePrincipalProfileGenerator returns a generator of ManagedClusterServicePrincipalProfile instances for property testing. +func ManagedClusterServicePrincipalProfileGenerator() gopter.Gen { + if managedClusterServicePrincipalProfileGenerator != nil { + return managedClusterServicePrincipalProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterServicePrincipalProfile(generators) + managedClusterServicePrincipalProfileGenerator = gen.Struct(reflect.TypeOf(ManagedClusterServicePrincipalProfile{}), generators) + + return managedClusterServicePrincipalProfileGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterServicePrincipalProfile is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterServicePrincipalProfile(gens map[string]gopter.Gen) { + gens["ClientId"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ManagedClusterServicePrincipalProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterServicePrincipalProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterServicePrincipalProfile_STATUS, ManagedClusterServicePrincipalProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterServicePrincipalProfile_STATUS runs a test to see if a specific instance of ManagedClusterServicePrincipalProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterServicePrincipalProfile_STATUS(subject ManagedClusterServicePrincipalProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterServicePrincipalProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterServicePrincipalProfile_STATUS instances for property testing - lazily instantiated by +// ManagedClusterServicePrincipalProfile_STATUSGenerator() +var managedClusterServicePrincipalProfile_STATUSGenerator gopter.Gen + +// ManagedClusterServicePrincipalProfile_STATUSGenerator returns a generator of ManagedClusterServicePrincipalProfile_STATUS instances for property testing. +func ManagedClusterServicePrincipalProfile_STATUSGenerator() gopter.Gen { + if managedClusterServicePrincipalProfile_STATUSGenerator != nil { + return managedClusterServicePrincipalProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterServicePrincipalProfile_STATUS(generators) + managedClusterServicePrincipalProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterServicePrincipalProfile_STATUS{}), generators) + + return managedClusterServicePrincipalProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterServicePrincipalProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterServicePrincipalProfile_STATUS(gens map[string]gopter.Gen) { + gens["ClientId"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ManagedClusterStorageProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterStorageProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterStorageProfile, ManagedClusterStorageProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterStorageProfile runs a test to see if a specific instance of ManagedClusterStorageProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterStorageProfile(subject ManagedClusterStorageProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterStorageProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterStorageProfile instances for property testing - lazily instantiated by +// ManagedClusterStorageProfileGenerator() +var managedClusterStorageProfileGenerator gopter.Gen + +// ManagedClusterStorageProfileGenerator returns a generator of ManagedClusterStorageProfile instances for property testing. +func ManagedClusterStorageProfileGenerator() gopter.Gen { + if managedClusterStorageProfileGenerator != nil { + return managedClusterStorageProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForManagedClusterStorageProfile(generators) + managedClusterStorageProfileGenerator = gen.Struct(reflect.TypeOf(ManagedClusterStorageProfile{}), generators) + + return managedClusterStorageProfileGenerator +} + +// AddRelatedPropertyGeneratorsForManagedClusterStorageProfile is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterStorageProfile(gens map[string]gopter.Gen) { + gens["BlobCSIDriver"] = gen.PtrOf(ManagedClusterStorageProfileBlobCSIDriverGenerator()) + gens["DiskCSIDriver"] = gen.PtrOf(ManagedClusterStorageProfileDiskCSIDriverGenerator()) + gens["FileCSIDriver"] = gen.PtrOf(ManagedClusterStorageProfileFileCSIDriverGenerator()) + gens["SnapshotController"] = gen.PtrOf(ManagedClusterStorageProfileSnapshotControllerGenerator()) +} + +func Test_ManagedClusterStorageProfileBlobCSIDriver_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterStorageProfileBlobCSIDriver via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterStorageProfileBlobCSIDriver, ManagedClusterStorageProfileBlobCSIDriverGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterStorageProfileBlobCSIDriver runs a test to see if a specific instance of ManagedClusterStorageProfileBlobCSIDriver round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterStorageProfileBlobCSIDriver(subject ManagedClusterStorageProfileBlobCSIDriver) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterStorageProfileBlobCSIDriver + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterStorageProfileBlobCSIDriver instances for property testing - lazily instantiated by +// ManagedClusterStorageProfileBlobCSIDriverGenerator() +var managedClusterStorageProfileBlobCSIDriverGenerator gopter.Gen + +// ManagedClusterStorageProfileBlobCSIDriverGenerator returns a generator of ManagedClusterStorageProfileBlobCSIDriver instances for property testing. +func ManagedClusterStorageProfileBlobCSIDriverGenerator() gopter.Gen { + if managedClusterStorageProfileBlobCSIDriverGenerator != nil { + return managedClusterStorageProfileBlobCSIDriverGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterStorageProfileBlobCSIDriver(generators) + managedClusterStorageProfileBlobCSIDriverGenerator = gen.Struct(reflect.TypeOf(ManagedClusterStorageProfileBlobCSIDriver{}), generators) + + return managedClusterStorageProfileBlobCSIDriverGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterStorageProfileBlobCSIDriver is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterStorageProfileBlobCSIDriver(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +func Test_ManagedClusterStorageProfileBlobCSIDriver_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterStorageProfileBlobCSIDriver_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterStorageProfileBlobCSIDriver_STATUS, ManagedClusterStorageProfileBlobCSIDriver_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterStorageProfileBlobCSIDriver_STATUS runs a test to see if a specific instance of ManagedClusterStorageProfileBlobCSIDriver_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterStorageProfileBlobCSIDriver_STATUS(subject ManagedClusterStorageProfileBlobCSIDriver_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterStorageProfileBlobCSIDriver_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterStorageProfileBlobCSIDriver_STATUS instances for property testing - lazily instantiated by +// ManagedClusterStorageProfileBlobCSIDriver_STATUSGenerator() +var managedClusterStorageProfileBlobCSIDriver_STATUSGenerator gopter.Gen + +// ManagedClusterStorageProfileBlobCSIDriver_STATUSGenerator returns a generator of ManagedClusterStorageProfileBlobCSIDriver_STATUS instances for property testing. +func ManagedClusterStorageProfileBlobCSIDriver_STATUSGenerator() gopter.Gen { + if managedClusterStorageProfileBlobCSIDriver_STATUSGenerator != nil { + return managedClusterStorageProfileBlobCSIDriver_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterStorageProfileBlobCSIDriver_STATUS(generators) + managedClusterStorageProfileBlobCSIDriver_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterStorageProfileBlobCSIDriver_STATUS{}), generators) + + return managedClusterStorageProfileBlobCSIDriver_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterStorageProfileBlobCSIDriver_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterStorageProfileBlobCSIDriver_STATUS(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +func Test_ManagedClusterStorageProfileDiskCSIDriver_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterStorageProfileDiskCSIDriver via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterStorageProfileDiskCSIDriver, ManagedClusterStorageProfileDiskCSIDriverGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterStorageProfileDiskCSIDriver runs a test to see if a specific instance of ManagedClusterStorageProfileDiskCSIDriver round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterStorageProfileDiskCSIDriver(subject ManagedClusterStorageProfileDiskCSIDriver) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterStorageProfileDiskCSIDriver + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterStorageProfileDiskCSIDriver instances for property testing - lazily instantiated by +// ManagedClusterStorageProfileDiskCSIDriverGenerator() +var managedClusterStorageProfileDiskCSIDriverGenerator gopter.Gen + +// ManagedClusterStorageProfileDiskCSIDriverGenerator returns a generator of ManagedClusterStorageProfileDiskCSIDriver instances for property testing. +func ManagedClusterStorageProfileDiskCSIDriverGenerator() gopter.Gen { + if managedClusterStorageProfileDiskCSIDriverGenerator != nil { + return managedClusterStorageProfileDiskCSIDriverGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterStorageProfileDiskCSIDriver(generators) + managedClusterStorageProfileDiskCSIDriverGenerator = gen.Struct(reflect.TypeOf(ManagedClusterStorageProfileDiskCSIDriver{}), generators) + + return managedClusterStorageProfileDiskCSIDriverGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterStorageProfileDiskCSIDriver is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterStorageProfileDiskCSIDriver(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +func Test_ManagedClusterStorageProfileDiskCSIDriver_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterStorageProfileDiskCSIDriver_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterStorageProfileDiskCSIDriver_STATUS, ManagedClusterStorageProfileDiskCSIDriver_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterStorageProfileDiskCSIDriver_STATUS runs a test to see if a specific instance of ManagedClusterStorageProfileDiskCSIDriver_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterStorageProfileDiskCSIDriver_STATUS(subject ManagedClusterStorageProfileDiskCSIDriver_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterStorageProfileDiskCSIDriver_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterStorageProfileDiskCSIDriver_STATUS instances for property testing - lazily instantiated by +// ManagedClusterStorageProfileDiskCSIDriver_STATUSGenerator() +var managedClusterStorageProfileDiskCSIDriver_STATUSGenerator gopter.Gen + +// ManagedClusterStorageProfileDiskCSIDriver_STATUSGenerator returns a generator of ManagedClusterStorageProfileDiskCSIDriver_STATUS instances for property testing. +func ManagedClusterStorageProfileDiskCSIDriver_STATUSGenerator() gopter.Gen { + if managedClusterStorageProfileDiskCSIDriver_STATUSGenerator != nil { + return managedClusterStorageProfileDiskCSIDriver_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterStorageProfileDiskCSIDriver_STATUS(generators) + managedClusterStorageProfileDiskCSIDriver_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterStorageProfileDiskCSIDriver_STATUS{}), generators) + + return managedClusterStorageProfileDiskCSIDriver_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterStorageProfileDiskCSIDriver_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterStorageProfileDiskCSIDriver_STATUS(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +func Test_ManagedClusterStorageProfileFileCSIDriver_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterStorageProfileFileCSIDriver via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterStorageProfileFileCSIDriver, ManagedClusterStorageProfileFileCSIDriverGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterStorageProfileFileCSIDriver runs a test to see if a specific instance of ManagedClusterStorageProfileFileCSIDriver round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterStorageProfileFileCSIDriver(subject ManagedClusterStorageProfileFileCSIDriver) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterStorageProfileFileCSIDriver + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterStorageProfileFileCSIDriver instances for property testing - lazily instantiated by +// ManagedClusterStorageProfileFileCSIDriverGenerator() +var managedClusterStorageProfileFileCSIDriverGenerator gopter.Gen + +// ManagedClusterStorageProfileFileCSIDriverGenerator returns a generator of ManagedClusterStorageProfileFileCSIDriver instances for property testing. +func ManagedClusterStorageProfileFileCSIDriverGenerator() gopter.Gen { + if managedClusterStorageProfileFileCSIDriverGenerator != nil { + return managedClusterStorageProfileFileCSIDriverGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterStorageProfileFileCSIDriver(generators) + managedClusterStorageProfileFileCSIDriverGenerator = gen.Struct(reflect.TypeOf(ManagedClusterStorageProfileFileCSIDriver{}), generators) + + return managedClusterStorageProfileFileCSIDriverGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterStorageProfileFileCSIDriver is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterStorageProfileFileCSIDriver(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +func Test_ManagedClusterStorageProfileFileCSIDriver_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterStorageProfileFileCSIDriver_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterStorageProfileFileCSIDriver_STATUS, ManagedClusterStorageProfileFileCSIDriver_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterStorageProfileFileCSIDriver_STATUS runs a test to see if a specific instance of ManagedClusterStorageProfileFileCSIDriver_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterStorageProfileFileCSIDriver_STATUS(subject ManagedClusterStorageProfileFileCSIDriver_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterStorageProfileFileCSIDriver_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterStorageProfileFileCSIDriver_STATUS instances for property testing - lazily instantiated by +// ManagedClusterStorageProfileFileCSIDriver_STATUSGenerator() +var managedClusterStorageProfileFileCSIDriver_STATUSGenerator gopter.Gen + +// ManagedClusterStorageProfileFileCSIDriver_STATUSGenerator returns a generator of ManagedClusterStorageProfileFileCSIDriver_STATUS instances for property testing. +func ManagedClusterStorageProfileFileCSIDriver_STATUSGenerator() gopter.Gen { + if managedClusterStorageProfileFileCSIDriver_STATUSGenerator != nil { + return managedClusterStorageProfileFileCSIDriver_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterStorageProfileFileCSIDriver_STATUS(generators) + managedClusterStorageProfileFileCSIDriver_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterStorageProfileFileCSIDriver_STATUS{}), generators) + + return managedClusterStorageProfileFileCSIDriver_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterStorageProfileFileCSIDriver_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterStorageProfileFileCSIDriver_STATUS(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +func Test_ManagedClusterStorageProfileSnapshotController_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterStorageProfileSnapshotController via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterStorageProfileSnapshotController, ManagedClusterStorageProfileSnapshotControllerGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterStorageProfileSnapshotController runs a test to see if a specific instance of ManagedClusterStorageProfileSnapshotController round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterStorageProfileSnapshotController(subject ManagedClusterStorageProfileSnapshotController) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterStorageProfileSnapshotController + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterStorageProfileSnapshotController instances for property testing - lazily instantiated by +// ManagedClusterStorageProfileSnapshotControllerGenerator() +var managedClusterStorageProfileSnapshotControllerGenerator gopter.Gen + +// ManagedClusterStorageProfileSnapshotControllerGenerator returns a generator of ManagedClusterStorageProfileSnapshotController instances for property testing. +func ManagedClusterStorageProfileSnapshotControllerGenerator() gopter.Gen { + if managedClusterStorageProfileSnapshotControllerGenerator != nil { + return managedClusterStorageProfileSnapshotControllerGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterStorageProfileSnapshotController(generators) + managedClusterStorageProfileSnapshotControllerGenerator = gen.Struct(reflect.TypeOf(ManagedClusterStorageProfileSnapshotController{}), generators) + + return managedClusterStorageProfileSnapshotControllerGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterStorageProfileSnapshotController is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterStorageProfileSnapshotController(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +func Test_ManagedClusterStorageProfileSnapshotController_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterStorageProfileSnapshotController_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterStorageProfileSnapshotController_STATUS, ManagedClusterStorageProfileSnapshotController_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterStorageProfileSnapshotController_STATUS runs a test to see if a specific instance of ManagedClusterStorageProfileSnapshotController_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterStorageProfileSnapshotController_STATUS(subject ManagedClusterStorageProfileSnapshotController_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterStorageProfileSnapshotController_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterStorageProfileSnapshotController_STATUS instances for property testing - lazily +// instantiated by ManagedClusterStorageProfileSnapshotController_STATUSGenerator() +var managedClusterStorageProfileSnapshotController_STATUSGenerator gopter.Gen + +// ManagedClusterStorageProfileSnapshotController_STATUSGenerator returns a generator of ManagedClusterStorageProfileSnapshotController_STATUS instances for property testing. +func ManagedClusterStorageProfileSnapshotController_STATUSGenerator() gopter.Gen { + if managedClusterStorageProfileSnapshotController_STATUSGenerator != nil { + return managedClusterStorageProfileSnapshotController_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterStorageProfileSnapshotController_STATUS(generators) + managedClusterStorageProfileSnapshotController_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterStorageProfileSnapshotController_STATUS{}), generators) + + return managedClusterStorageProfileSnapshotController_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterStorageProfileSnapshotController_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterStorageProfileSnapshotController_STATUS(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +func Test_ManagedClusterStorageProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterStorageProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterStorageProfile_STATUS, ManagedClusterStorageProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterStorageProfile_STATUS runs a test to see if a specific instance of ManagedClusterStorageProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterStorageProfile_STATUS(subject ManagedClusterStorageProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterStorageProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterStorageProfile_STATUS instances for property testing - lazily instantiated by +// ManagedClusterStorageProfile_STATUSGenerator() +var managedClusterStorageProfile_STATUSGenerator gopter.Gen + +// ManagedClusterStorageProfile_STATUSGenerator returns a generator of ManagedClusterStorageProfile_STATUS instances for property testing. +func ManagedClusterStorageProfile_STATUSGenerator() gopter.Gen { + if managedClusterStorageProfile_STATUSGenerator != nil { + return managedClusterStorageProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForManagedClusterStorageProfile_STATUS(generators) + managedClusterStorageProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterStorageProfile_STATUS{}), generators) + + return managedClusterStorageProfile_STATUSGenerator +} + +// AddRelatedPropertyGeneratorsForManagedClusterStorageProfile_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterStorageProfile_STATUS(gens map[string]gopter.Gen) { + gens["BlobCSIDriver"] = gen.PtrOf(ManagedClusterStorageProfileBlobCSIDriver_STATUSGenerator()) + gens["DiskCSIDriver"] = gen.PtrOf(ManagedClusterStorageProfileDiskCSIDriver_STATUSGenerator()) + gens["FileCSIDriver"] = gen.PtrOf(ManagedClusterStorageProfileFileCSIDriver_STATUSGenerator()) + gens["SnapshotController"] = gen.PtrOf(ManagedClusterStorageProfileSnapshotController_STATUSGenerator()) +} + +func Test_ManagedClusterWindowsProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterWindowsProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterWindowsProfile, ManagedClusterWindowsProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterWindowsProfile runs a test to see if a specific instance of ManagedClusterWindowsProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterWindowsProfile(subject ManagedClusterWindowsProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterWindowsProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterWindowsProfile instances for property testing - lazily instantiated by +// ManagedClusterWindowsProfileGenerator() +var managedClusterWindowsProfileGenerator gopter.Gen + +// ManagedClusterWindowsProfileGenerator returns a generator of ManagedClusterWindowsProfile instances for property testing. +// We first initialize managedClusterWindowsProfileGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func ManagedClusterWindowsProfileGenerator() gopter.Gen { + if managedClusterWindowsProfileGenerator != nil { + return managedClusterWindowsProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterWindowsProfile(generators) + managedClusterWindowsProfileGenerator = gen.Struct(reflect.TypeOf(ManagedClusterWindowsProfile{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterWindowsProfile(generators) + AddRelatedPropertyGeneratorsForManagedClusterWindowsProfile(generators) + managedClusterWindowsProfileGenerator = gen.Struct(reflect.TypeOf(ManagedClusterWindowsProfile{}), generators) + + return managedClusterWindowsProfileGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterWindowsProfile is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterWindowsProfile(gens map[string]gopter.Gen) { + gens["AdminUsername"] = gen.PtrOf(gen.AlphaString()) + gens["EnableCSIProxy"] = gen.PtrOf(gen.Bool()) + gens["LicenseType"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForManagedClusterWindowsProfile is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterWindowsProfile(gens map[string]gopter.Gen) { + gens["GmsaProfile"] = gen.PtrOf(WindowsGmsaProfileGenerator()) +} + +func Test_ManagedClusterWindowsProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterWindowsProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterWindowsProfile_STATUS, ManagedClusterWindowsProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterWindowsProfile_STATUS runs a test to see if a specific instance of ManagedClusterWindowsProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterWindowsProfile_STATUS(subject ManagedClusterWindowsProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterWindowsProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterWindowsProfile_STATUS instances for property testing - lazily instantiated by +// ManagedClusterWindowsProfile_STATUSGenerator() +var managedClusterWindowsProfile_STATUSGenerator gopter.Gen + +// ManagedClusterWindowsProfile_STATUSGenerator returns a generator of ManagedClusterWindowsProfile_STATUS instances for property testing. +// We first initialize managedClusterWindowsProfile_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func ManagedClusterWindowsProfile_STATUSGenerator() gopter.Gen { + if managedClusterWindowsProfile_STATUSGenerator != nil { + return managedClusterWindowsProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterWindowsProfile_STATUS(generators) + managedClusterWindowsProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterWindowsProfile_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterWindowsProfile_STATUS(generators) + AddRelatedPropertyGeneratorsForManagedClusterWindowsProfile_STATUS(generators) + managedClusterWindowsProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterWindowsProfile_STATUS{}), generators) + + return managedClusterWindowsProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterWindowsProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterWindowsProfile_STATUS(gens map[string]gopter.Gen) { + gens["AdminUsername"] = gen.PtrOf(gen.AlphaString()) + gens["EnableCSIProxy"] = gen.PtrOf(gen.Bool()) + gens["LicenseType"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForManagedClusterWindowsProfile_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterWindowsProfile_STATUS(gens map[string]gopter.Gen) { + gens["GmsaProfile"] = gen.PtrOf(WindowsGmsaProfile_STATUSGenerator()) +} + +func Test_ManagedClusterWorkloadAutoScalerProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterWorkloadAutoScalerProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterWorkloadAutoScalerProfile, ManagedClusterWorkloadAutoScalerProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterWorkloadAutoScalerProfile runs a test to see if a specific instance of ManagedClusterWorkloadAutoScalerProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterWorkloadAutoScalerProfile(subject ManagedClusterWorkloadAutoScalerProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterWorkloadAutoScalerProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterWorkloadAutoScalerProfile instances for property testing - lazily instantiated by +// ManagedClusterWorkloadAutoScalerProfileGenerator() +var managedClusterWorkloadAutoScalerProfileGenerator gopter.Gen + +// ManagedClusterWorkloadAutoScalerProfileGenerator returns a generator of ManagedClusterWorkloadAutoScalerProfile instances for property testing. +func ManagedClusterWorkloadAutoScalerProfileGenerator() gopter.Gen { + if managedClusterWorkloadAutoScalerProfileGenerator != nil { + return managedClusterWorkloadAutoScalerProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForManagedClusterWorkloadAutoScalerProfile(generators) + managedClusterWorkloadAutoScalerProfileGenerator = gen.Struct(reflect.TypeOf(ManagedClusterWorkloadAutoScalerProfile{}), generators) + + return managedClusterWorkloadAutoScalerProfileGenerator +} + +// AddRelatedPropertyGeneratorsForManagedClusterWorkloadAutoScalerProfile is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterWorkloadAutoScalerProfile(gens map[string]gopter.Gen) { + gens["Keda"] = gen.PtrOf(ManagedClusterWorkloadAutoScalerProfileKedaGenerator()) + gens["VerticalPodAutoscaler"] = gen.PtrOf(ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerGenerator()) +} + +func Test_ManagedClusterWorkloadAutoScalerProfileKeda_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterWorkloadAutoScalerProfileKeda via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterWorkloadAutoScalerProfileKeda, ManagedClusterWorkloadAutoScalerProfileKedaGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterWorkloadAutoScalerProfileKeda runs a test to see if a specific instance of ManagedClusterWorkloadAutoScalerProfileKeda round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterWorkloadAutoScalerProfileKeda(subject ManagedClusterWorkloadAutoScalerProfileKeda) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterWorkloadAutoScalerProfileKeda + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterWorkloadAutoScalerProfileKeda instances for property testing - lazily instantiated by +// ManagedClusterWorkloadAutoScalerProfileKedaGenerator() +var managedClusterWorkloadAutoScalerProfileKedaGenerator gopter.Gen + +// ManagedClusterWorkloadAutoScalerProfileKedaGenerator returns a generator of ManagedClusterWorkloadAutoScalerProfileKeda instances for property testing. +func ManagedClusterWorkloadAutoScalerProfileKedaGenerator() gopter.Gen { + if managedClusterWorkloadAutoScalerProfileKedaGenerator != nil { + return managedClusterWorkloadAutoScalerProfileKedaGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterWorkloadAutoScalerProfileKeda(generators) + managedClusterWorkloadAutoScalerProfileKedaGenerator = gen.Struct(reflect.TypeOf(ManagedClusterWorkloadAutoScalerProfileKeda{}), generators) + + return managedClusterWorkloadAutoScalerProfileKedaGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterWorkloadAutoScalerProfileKeda is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterWorkloadAutoScalerProfileKeda(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +func Test_ManagedClusterWorkloadAutoScalerProfileKeda_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterWorkloadAutoScalerProfileKeda_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterWorkloadAutoScalerProfileKeda_STATUS, ManagedClusterWorkloadAutoScalerProfileKeda_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterWorkloadAutoScalerProfileKeda_STATUS runs a test to see if a specific instance of ManagedClusterWorkloadAutoScalerProfileKeda_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterWorkloadAutoScalerProfileKeda_STATUS(subject ManagedClusterWorkloadAutoScalerProfileKeda_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterWorkloadAutoScalerProfileKeda_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterWorkloadAutoScalerProfileKeda_STATUS instances for property testing - lazily instantiated +// by ManagedClusterWorkloadAutoScalerProfileKeda_STATUSGenerator() +var managedClusterWorkloadAutoScalerProfileKeda_STATUSGenerator gopter.Gen + +// ManagedClusterWorkloadAutoScalerProfileKeda_STATUSGenerator returns a generator of ManagedClusterWorkloadAutoScalerProfileKeda_STATUS instances for property testing. +func ManagedClusterWorkloadAutoScalerProfileKeda_STATUSGenerator() gopter.Gen { + if managedClusterWorkloadAutoScalerProfileKeda_STATUSGenerator != nil { + return managedClusterWorkloadAutoScalerProfileKeda_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterWorkloadAutoScalerProfileKeda_STATUS(generators) + managedClusterWorkloadAutoScalerProfileKeda_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterWorkloadAutoScalerProfileKeda_STATUS{}), generators) + + return managedClusterWorkloadAutoScalerProfileKeda_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterWorkloadAutoScalerProfileKeda_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterWorkloadAutoScalerProfileKeda_STATUS(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +func Test_ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler, ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler runs a test to see if a specific instance of ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler(subject ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler instances for property testing - lazily +// instantiated by ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerGenerator() +var managedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerGenerator gopter.Gen + +// ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerGenerator returns a generator of ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler instances for property testing. +func ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerGenerator() gopter.Gen { + if managedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerGenerator != nil { + return managedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler(generators) + managedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerGenerator = gen.Struct(reflect.TypeOf(ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler{}), generators) + + return managedClusterWorkloadAutoScalerProfileVerticalPodAutoscalerGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +func Test_ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS, ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS runs a test to see if a specific instance of ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS(subject ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS instances for property testing - +// lazily instantiated by ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUSGenerator() +var managedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUSGenerator gopter.Gen + +// ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUSGenerator returns a generator of ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS instances for property testing. +func ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUSGenerator() gopter.Gen { + if managedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUSGenerator != nil { + return managedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS(generators) + managedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS{}), generators) + + return managedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS(gens map[string]gopter.Gen) { + gens["Enabled"] = gen.PtrOf(gen.Bool()) +} + +func Test_ManagedClusterWorkloadAutoScalerProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClusterWorkloadAutoScalerProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClusterWorkloadAutoScalerProfile_STATUS, ManagedClusterWorkloadAutoScalerProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClusterWorkloadAutoScalerProfile_STATUS runs a test to see if a specific instance of ManagedClusterWorkloadAutoScalerProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClusterWorkloadAutoScalerProfile_STATUS(subject ManagedClusterWorkloadAutoScalerProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClusterWorkloadAutoScalerProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClusterWorkloadAutoScalerProfile_STATUS instances for property testing - lazily instantiated by +// ManagedClusterWorkloadAutoScalerProfile_STATUSGenerator() +var managedClusterWorkloadAutoScalerProfile_STATUSGenerator gopter.Gen + +// ManagedClusterWorkloadAutoScalerProfile_STATUSGenerator returns a generator of ManagedClusterWorkloadAutoScalerProfile_STATUS instances for property testing. +func ManagedClusterWorkloadAutoScalerProfile_STATUSGenerator() gopter.Gen { + if managedClusterWorkloadAutoScalerProfile_STATUSGenerator != nil { + return managedClusterWorkloadAutoScalerProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForManagedClusterWorkloadAutoScalerProfile_STATUS(generators) + managedClusterWorkloadAutoScalerProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClusterWorkloadAutoScalerProfile_STATUS{}), generators) + + return managedClusterWorkloadAutoScalerProfile_STATUSGenerator +} + +// AddRelatedPropertyGeneratorsForManagedClusterWorkloadAutoScalerProfile_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClusterWorkloadAutoScalerProfile_STATUS(gens map[string]gopter.Gen) { + gens["Keda"] = gen.PtrOf(ManagedClusterWorkloadAutoScalerProfileKeda_STATUSGenerator()) + gens["VerticalPodAutoscaler"] = gen.PtrOf(ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUSGenerator()) +} + +func Test_ManagedCluster_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedCluster_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedCluster_STATUS, ManagedCluster_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedCluster_STATUS runs a test to see if a specific instance of ManagedCluster_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedCluster_STATUS(subject ManagedCluster_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedCluster_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedCluster_STATUS instances for property testing - lazily instantiated by +// ManagedCluster_STATUSGenerator() +var managedCluster_STATUSGenerator gopter.Gen + +// ManagedCluster_STATUSGenerator returns a generator of ManagedCluster_STATUS instances for property testing. +func ManagedCluster_STATUSGenerator() gopter.Gen { + if managedCluster_STATUSGenerator != nil { + return managedCluster_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForManagedCluster_STATUS(generators) + managedCluster_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedCluster_STATUS{}), generators) + + return managedCluster_STATUSGenerator +} + +// AddRelatedPropertyGeneratorsForManagedCluster_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedCluster_STATUS(gens map[string]gopter.Gen) { + gens["AadProfile"] = gen.PtrOf(ManagedClusterAADProfile_STATUSGenerator()) + gens["AddonProfiles"] = gen.MapOf( + gen.AlphaString(), + ManagedClusterAddonProfile_STATUSGenerator()) + gens["AgentPoolProfiles"] = gen.SliceOf(ManagedClusterAgentPoolProfile_STATUSGenerator()) + gens["ApiServerAccessProfile"] = gen.PtrOf(ManagedClusterAPIServerAccessProfile_STATUSGenerator()) + gens["AutoScalerProfile"] = gen.PtrOf(ManagedClusterProperties_AutoScalerProfile_STATUSGenerator()) + gens["AutoUpgradeProfile"] = gen.PtrOf(ManagedClusterAutoUpgradeProfile_STATUSGenerator()) + gens["AzureMonitorProfile"] = gen.PtrOf(ManagedClusterAzureMonitorProfile_STATUSGenerator()) + gens["ExtendedLocation"] = gen.PtrOf(ExtendedLocation_STATUSGenerator()) + gens["HttpProxyConfig"] = gen.PtrOf(ManagedClusterHTTPProxyConfig_STATUSGenerator()) + gens["Identity"] = gen.PtrOf(ManagedClusterIdentity_STATUSGenerator()) + gens["IdentityProfile"] = gen.MapOf( + gen.AlphaString(), + UserAssignedIdentity_STATUSGenerator()) + gens["IngressProfile"] = gen.PtrOf(ManagedClusterIngressProfile_STATUSGenerator()) + gens["LinuxProfile"] = gen.PtrOf(ContainerServiceLinuxProfile_STATUSGenerator()) + gens["MetricsProfile"] = gen.PtrOf(ManagedClusterMetricsProfile_STATUSGenerator()) + gens["NetworkProfile"] = gen.PtrOf(ContainerServiceNetworkProfile_STATUSGenerator()) + gens["NodeResourceGroupProfile"] = gen.PtrOf(ManagedClusterNodeResourceGroupProfile_STATUSGenerator()) + gens["OidcIssuerProfile"] = gen.PtrOf(ManagedClusterOIDCIssuerProfile_STATUSGenerator()) + gens["PodIdentityProfile"] = gen.PtrOf(ManagedClusterPodIdentityProfile_STATUSGenerator()) + gens["PowerState"] = gen.PtrOf(PowerState_STATUSGenerator()) + gens["PrivateLinkResources"] = gen.SliceOf(PrivateLinkResource_STATUSGenerator()) + gens["SecurityProfile"] = gen.PtrOf(ManagedClusterSecurityProfile_STATUSGenerator()) + gens["ServiceMeshProfile"] = gen.PtrOf(ServiceMeshProfile_STATUSGenerator()) + gens["ServicePrincipalProfile"] = gen.PtrOf(ManagedClusterServicePrincipalProfile_STATUSGenerator()) + gens["Sku"] = gen.PtrOf(ManagedClusterSKU_STATUSGenerator()) + gens["StorageProfile"] = gen.PtrOf(ManagedClusterStorageProfile_STATUSGenerator()) + gens["SystemData"] = gen.PtrOf(SystemData_STATUSGenerator()) + gens["UpgradeSettings"] = gen.PtrOf(ClusterUpgradeSettings_STATUSGenerator()) + gens["WindowsProfile"] = gen.PtrOf(ManagedClusterWindowsProfile_STATUSGenerator()) + gens["WorkloadAutoScalerProfile"] = gen.PtrOf(ManagedClusterWorkloadAutoScalerProfile_STATUSGenerator()) +} + +func Test_ManagedCluster_Spec_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedCluster_Spec via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedCluster_Spec, ManagedCluster_SpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedCluster_Spec runs a test to see if a specific instance of ManagedCluster_Spec round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedCluster_Spec(subject ManagedCluster_Spec) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedCluster_Spec + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedCluster_Spec instances for property testing - lazily instantiated by +// ManagedCluster_SpecGenerator() +var managedCluster_SpecGenerator gopter.Gen + +// ManagedCluster_SpecGenerator returns a generator of ManagedCluster_Spec instances for property testing. +// We first initialize managedCluster_SpecGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func ManagedCluster_SpecGenerator() gopter.Gen { + if managedCluster_SpecGenerator != nil { + return managedCluster_SpecGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedCluster_Spec(generators) + managedCluster_SpecGenerator = gen.Struct(reflect.TypeOf(ManagedCluster_Spec{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedCluster_Spec(generators) + AddRelatedPropertyGeneratorsForManagedCluster_Spec(generators) + managedCluster_SpecGenerator = gen.Struct(reflect.TypeOf(ManagedCluster_Spec{}), generators) + + return managedCluster_SpecGenerator +} + +// AddIndependentPropertyGeneratorsForManagedCluster_Spec is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedCluster_Spec(gens map[string]gopter.Gen) { + gens["AzureName"] = gen.AlphaString() + gens["DisableLocalAccounts"] = gen.PtrOf(gen.Bool()) + gens["DnsPrefix"] = gen.PtrOf(gen.AlphaString()) + gens["EnablePodSecurityPolicy"] = gen.PtrOf(gen.Bool()) + gens["EnableRBAC"] = gen.PtrOf(gen.Bool()) + gens["FqdnSubdomain"] = gen.PtrOf(gen.AlphaString()) + gens["KubernetesVersion"] = gen.PtrOf(gen.AlphaString()) + gens["Location"] = gen.PtrOf(gen.AlphaString()) + gens["NodeResourceGroup"] = gen.PtrOf(gen.AlphaString()) + gens["OriginalVersion"] = gen.AlphaString() + gens["PublicNetworkAccess"] = gen.PtrOf(gen.AlphaString()) + gens["SupportPlan"] = gen.PtrOf(gen.AlphaString()) + gens["Tags"] = gen.MapOf( + gen.AlphaString(), + gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForManagedCluster_Spec is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedCluster_Spec(gens map[string]gopter.Gen) { + gens["AadProfile"] = gen.PtrOf(ManagedClusterAADProfileGenerator()) + gens["AddonProfiles"] = gen.MapOf( + gen.AlphaString(), + ManagedClusterAddonProfileGenerator()) + gens["AgentPoolProfiles"] = gen.SliceOf(ManagedClusterAgentPoolProfileGenerator()) + gens["ApiServerAccessProfile"] = gen.PtrOf(ManagedClusterAPIServerAccessProfileGenerator()) + gens["AutoScalerProfile"] = gen.PtrOf(ManagedClusterProperties_AutoScalerProfileGenerator()) + gens["AutoUpgradeProfile"] = gen.PtrOf(ManagedClusterAutoUpgradeProfileGenerator()) + gens["AzureMonitorProfile"] = gen.PtrOf(ManagedClusterAzureMonitorProfileGenerator()) + gens["ExtendedLocation"] = gen.PtrOf(ExtendedLocationGenerator()) + gens["HttpProxyConfig"] = gen.PtrOf(ManagedClusterHTTPProxyConfigGenerator()) + gens["Identity"] = gen.PtrOf(ManagedClusterIdentityGenerator()) + gens["IdentityProfile"] = gen.MapOf( + gen.AlphaString(), + UserAssignedIdentityGenerator()) + gens["IngressProfile"] = gen.PtrOf(ManagedClusterIngressProfileGenerator()) + gens["LinuxProfile"] = gen.PtrOf(ContainerServiceLinuxProfileGenerator()) + gens["MetricsProfile"] = gen.PtrOf(ManagedClusterMetricsProfileGenerator()) + gens["NetworkProfile"] = gen.PtrOf(ContainerServiceNetworkProfileGenerator()) + gens["NodeResourceGroupProfile"] = gen.PtrOf(ManagedClusterNodeResourceGroupProfileGenerator()) + gens["OidcIssuerProfile"] = gen.PtrOf(ManagedClusterOIDCIssuerProfileGenerator()) + gens["OperatorSpec"] = gen.PtrOf(ManagedClusterOperatorSpecGenerator()) + gens["PodIdentityProfile"] = gen.PtrOf(ManagedClusterPodIdentityProfileGenerator()) + gens["PrivateLinkResources"] = gen.SliceOf(PrivateLinkResourceGenerator()) + gens["SecurityProfile"] = gen.PtrOf(ManagedClusterSecurityProfileGenerator()) + gens["ServiceMeshProfile"] = gen.PtrOf(ServiceMeshProfileGenerator()) + gens["ServicePrincipalProfile"] = gen.PtrOf(ManagedClusterServicePrincipalProfileGenerator()) + gens["Sku"] = gen.PtrOf(ManagedClusterSKUGenerator()) + gens["StorageProfile"] = gen.PtrOf(ManagedClusterStorageProfileGenerator()) + gens["UpgradeSettings"] = gen.PtrOf(ClusterUpgradeSettingsGenerator()) + gens["WindowsProfile"] = gen.PtrOf(ManagedClusterWindowsProfileGenerator()) + gens["WorkloadAutoScalerProfile"] = gen.PtrOf(ManagedClusterWorkloadAutoScalerProfileGenerator()) +} + +func Test_PowerState_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of PowerState_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForPowerState_STATUS, PowerState_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForPowerState_STATUS runs a test to see if a specific instance of PowerState_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForPowerState_STATUS(subject PowerState_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual PowerState_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of PowerState_STATUS instances for property testing - lazily instantiated by PowerState_STATUSGenerator() +var powerState_STATUSGenerator gopter.Gen + +// PowerState_STATUSGenerator returns a generator of PowerState_STATUS instances for property testing. +func PowerState_STATUSGenerator() gopter.Gen { + if powerState_STATUSGenerator != nil { + return powerState_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForPowerState_STATUS(generators) + powerState_STATUSGenerator = gen.Struct(reflect.TypeOf(PowerState_STATUS{}), generators) + + return powerState_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForPowerState_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForPowerState_STATUS(gens map[string]gopter.Gen) { + gens["Code"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_PrivateLinkResource_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of PrivateLinkResource via JSON returns original", + prop.ForAll(RunJSONSerializationTestForPrivateLinkResource, PrivateLinkResourceGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForPrivateLinkResource runs a test to see if a specific instance of PrivateLinkResource round trips to JSON and back losslessly +func RunJSONSerializationTestForPrivateLinkResource(subject PrivateLinkResource) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual PrivateLinkResource + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of PrivateLinkResource instances for property testing - lazily instantiated by +// PrivateLinkResourceGenerator() +var privateLinkResourceGenerator gopter.Gen + +// PrivateLinkResourceGenerator returns a generator of PrivateLinkResource instances for property testing. +func PrivateLinkResourceGenerator() gopter.Gen { + if privateLinkResourceGenerator != nil { + return privateLinkResourceGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForPrivateLinkResource(generators) + privateLinkResourceGenerator = gen.Struct(reflect.TypeOf(PrivateLinkResource{}), generators) + + return privateLinkResourceGenerator +} + +// AddIndependentPropertyGeneratorsForPrivateLinkResource is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForPrivateLinkResource(gens map[string]gopter.Gen) { + gens["GroupId"] = gen.PtrOf(gen.AlphaString()) + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["RequiredMembers"] = gen.SliceOf(gen.AlphaString()) + gens["Type"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_PrivateLinkResource_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of PrivateLinkResource_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForPrivateLinkResource_STATUS, PrivateLinkResource_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForPrivateLinkResource_STATUS runs a test to see if a specific instance of PrivateLinkResource_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForPrivateLinkResource_STATUS(subject PrivateLinkResource_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual PrivateLinkResource_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of PrivateLinkResource_STATUS instances for property testing - lazily instantiated by +// PrivateLinkResource_STATUSGenerator() +var privateLinkResource_STATUSGenerator gopter.Gen + +// PrivateLinkResource_STATUSGenerator returns a generator of PrivateLinkResource_STATUS instances for property testing. +func PrivateLinkResource_STATUSGenerator() gopter.Gen { + if privateLinkResource_STATUSGenerator != nil { + return privateLinkResource_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForPrivateLinkResource_STATUS(generators) + privateLinkResource_STATUSGenerator = gen.Struct(reflect.TypeOf(PrivateLinkResource_STATUS{}), generators) + + return privateLinkResource_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForPrivateLinkResource_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForPrivateLinkResource_STATUS(gens map[string]gopter.Gen) { + gens["GroupId"] = gen.PtrOf(gen.AlphaString()) + gens["Id"] = gen.PtrOf(gen.AlphaString()) + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["PrivateLinkServiceID"] = gen.PtrOf(gen.AlphaString()) + gens["RequiredMembers"] = gen.SliceOf(gen.AlphaString()) + gens["Type"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ResourceReference_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ResourceReference via JSON returns original", + prop.ForAll(RunJSONSerializationTestForResourceReference, ResourceReferenceGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForResourceReference runs a test to see if a specific instance of ResourceReference round trips to JSON and back losslessly +func RunJSONSerializationTestForResourceReference(subject ResourceReference) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ResourceReference + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ResourceReference instances for property testing - lazily instantiated by ResourceReferenceGenerator() +var resourceReferenceGenerator gopter.Gen + +// ResourceReferenceGenerator returns a generator of ResourceReference instances for property testing. +func ResourceReferenceGenerator() gopter.Gen { + if resourceReferenceGenerator != nil { + return resourceReferenceGenerator + } + + generators := make(map[string]gopter.Gen) + resourceReferenceGenerator = gen.Struct(reflect.TypeOf(ResourceReference{}), generators) + + return resourceReferenceGenerator +} + +func Test_ResourceReference_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ResourceReference_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForResourceReference_STATUS, ResourceReference_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForResourceReference_STATUS runs a test to see if a specific instance of ResourceReference_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForResourceReference_STATUS(subject ResourceReference_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ResourceReference_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ResourceReference_STATUS instances for property testing - lazily instantiated by +// ResourceReference_STATUSGenerator() +var resourceReference_STATUSGenerator gopter.Gen + +// ResourceReference_STATUSGenerator returns a generator of ResourceReference_STATUS instances for property testing. +func ResourceReference_STATUSGenerator() gopter.Gen { + if resourceReference_STATUSGenerator != nil { + return resourceReference_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForResourceReference_STATUS(generators) + resourceReference_STATUSGenerator = gen.Struct(reflect.TypeOf(ResourceReference_STATUS{}), generators) + + return resourceReference_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForResourceReference_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForResourceReference_STATUS(gens map[string]gopter.Gen) { + gens["Id"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ServiceMeshProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ServiceMeshProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForServiceMeshProfile, ServiceMeshProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForServiceMeshProfile runs a test to see if a specific instance of ServiceMeshProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForServiceMeshProfile(subject ServiceMeshProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ServiceMeshProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ServiceMeshProfile instances for property testing - lazily instantiated by ServiceMeshProfileGenerator() +var serviceMeshProfileGenerator gopter.Gen + +// ServiceMeshProfileGenerator returns a generator of ServiceMeshProfile instances for property testing. +// We first initialize serviceMeshProfileGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func ServiceMeshProfileGenerator() gopter.Gen { + if serviceMeshProfileGenerator != nil { + return serviceMeshProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForServiceMeshProfile(generators) + serviceMeshProfileGenerator = gen.Struct(reflect.TypeOf(ServiceMeshProfile{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForServiceMeshProfile(generators) + AddRelatedPropertyGeneratorsForServiceMeshProfile(generators) + serviceMeshProfileGenerator = gen.Struct(reflect.TypeOf(ServiceMeshProfile{}), generators) + + return serviceMeshProfileGenerator +} + +// AddIndependentPropertyGeneratorsForServiceMeshProfile is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForServiceMeshProfile(gens map[string]gopter.Gen) { + gens["Mode"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForServiceMeshProfile is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForServiceMeshProfile(gens map[string]gopter.Gen) { + gens["Istio"] = gen.PtrOf(IstioServiceMeshGenerator()) +} + +func Test_ServiceMeshProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ServiceMeshProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForServiceMeshProfile_STATUS, ServiceMeshProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForServiceMeshProfile_STATUS runs a test to see if a specific instance of ServiceMeshProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForServiceMeshProfile_STATUS(subject ServiceMeshProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ServiceMeshProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ServiceMeshProfile_STATUS instances for property testing - lazily instantiated by +// ServiceMeshProfile_STATUSGenerator() +var serviceMeshProfile_STATUSGenerator gopter.Gen + +// ServiceMeshProfile_STATUSGenerator returns a generator of ServiceMeshProfile_STATUS instances for property testing. +// We first initialize serviceMeshProfile_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func ServiceMeshProfile_STATUSGenerator() gopter.Gen { + if serviceMeshProfile_STATUSGenerator != nil { + return serviceMeshProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForServiceMeshProfile_STATUS(generators) + serviceMeshProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ServiceMeshProfile_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForServiceMeshProfile_STATUS(generators) + AddRelatedPropertyGeneratorsForServiceMeshProfile_STATUS(generators) + serviceMeshProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(ServiceMeshProfile_STATUS{}), generators) + + return serviceMeshProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForServiceMeshProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForServiceMeshProfile_STATUS(gens map[string]gopter.Gen) { + gens["Mode"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForServiceMeshProfile_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForServiceMeshProfile_STATUS(gens map[string]gopter.Gen) { + gens["Istio"] = gen.PtrOf(IstioServiceMesh_STATUSGenerator()) +} + +func Test_UpgradeOverrideSettings_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of UpgradeOverrideSettings via JSON returns original", + prop.ForAll(RunJSONSerializationTestForUpgradeOverrideSettings, UpgradeOverrideSettingsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForUpgradeOverrideSettings runs a test to see if a specific instance of UpgradeOverrideSettings round trips to JSON and back losslessly +func RunJSONSerializationTestForUpgradeOverrideSettings(subject UpgradeOverrideSettings) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual UpgradeOverrideSettings + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of UpgradeOverrideSettings instances for property testing - lazily instantiated by +// UpgradeOverrideSettingsGenerator() +var upgradeOverrideSettingsGenerator gopter.Gen + +// UpgradeOverrideSettingsGenerator returns a generator of UpgradeOverrideSettings instances for property testing. +func UpgradeOverrideSettingsGenerator() gopter.Gen { + if upgradeOverrideSettingsGenerator != nil { + return upgradeOverrideSettingsGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForUpgradeOverrideSettings(generators) + upgradeOverrideSettingsGenerator = gen.Struct(reflect.TypeOf(UpgradeOverrideSettings{}), generators) + + return upgradeOverrideSettingsGenerator +} + +// AddIndependentPropertyGeneratorsForUpgradeOverrideSettings is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForUpgradeOverrideSettings(gens map[string]gopter.Gen) { + gens["ForceUpgrade"] = gen.PtrOf(gen.Bool()) + gens["Until"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_UpgradeOverrideSettings_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of UpgradeOverrideSettings_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForUpgradeOverrideSettings_STATUS, UpgradeOverrideSettings_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForUpgradeOverrideSettings_STATUS runs a test to see if a specific instance of UpgradeOverrideSettings_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForUpgradeOverrideSettings_STATUS(subject UpgradeOverrideSettings_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual UpgradeOverrideSettings_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of UpgradeOverrideSettings_STATUS instances for property testing - lazily instantiated by +// UpgradeOverrideSettings_STATUSGenerator() +var upgradeOverrideSettings_STATUSGenerator gopter.Gen + +// UpgradeOverrideSettings_STATUSGenerator returns a generator of UpgradeOverrideSettings_STATUS instances for property testing. +func UpgradeOverrideSettings_STATUSGenerator() gopter.Gen { + if upgradeOverrideSettings_STATUSGenerator != nil { + return upgradeOverrideSettings_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForUpgradeOverrideSettings_STATUS(generators) + upgradeOverrideSettings_STATUSGenerator = gen.Struct(reflect.TypeOf(UpgradeOverrideSettings_STATUS{}), generators) + + return upgradeOverrideSettings_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForUpgradeOverrideSettings_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForUpgradeOverrideSettings_STATUS(gens map[string]gopter.Gen) { + gens["ForceUpgrade"] = gen.PtrOf(gen.Bool()) + gens["Until"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_UserAssignedIdentity_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of UserAssignedIdentity via JSON returns original", + prop.ForAll(RunJSONSerializationTestForUserAssignedIdentity, UserAssignedIdentityGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForUserAssignedIdentity runs a test to see if a specific instance of UserAssignedIdentity round trips to JSON and back losslessly +func RunJSONSerializationTestForUserAssignedIdentity(subject UserAssignedIdentity) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual UserAssignedIdentity + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of UserAssignedIdentity instances for property testing - lazily instantiated by +// UserAssignedIdentityGenerator() +var userAssignedIdentityGenerator gopter.Gen + +// UserAssignedIdentityGenerator returns a generator of UserAssignedIdentity instances for property testing. +func UserAssignedIdentityGenerator() gopter.Gen { + if userAssignedIdentityGenerator != nil { + return userAssignedIdentityGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForUserAssignedIdentity(generators) + userAssignedIdentityGenerator = gen.Struct(reflect.TypeOf(UserAssignedIdentity{}), generators) + + return userAssignedIdentityGenerator +} + +// AddIndependentPropertyGeneratorsForUserAssignedIdentity is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForUserAssignedIdentity(gens map[string]gopter.Gen) { + gens["ClientId"] = gen.PtrOf(gen.AlphaString()) + gens["ObjectId"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_UserAssignedIdentityDetails_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of UserAssignedIdentityDetails via JSON returns original", + prop.ForAll(RunJSONSerializationTestForUserAssignedIdentityDetails, UserAssignedIdentityDetailsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForUserAssignedIdentityDetails runs a test to see if a specific instance of UserAssignedIdentityDetails round trips to JSON and back losslessly +func RunJSONSerializationTestForUserAssignedIdentityDetails(subject UserAssignedIdentityDetails) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual UserAssignedIdentityDetails + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of UserAssignedIdentityDetails instances for property testing - lazily instantiated by +// UserAssignedIdentityDetailsGenerator() +var userAssignedIdentityDetailsGenerator gopter.Gen + +// UserAssignedIdentityDetailsGenerator returns a generator of UserAssignedIdentityDetails instances for property testing. +func UserAssignedIdentityDetailsGenerator() gopter.Gen { + if userAssignedIdentityDetailsGenerator != nil { + return userAssignedIdentityDetailsGenerator + } + + generators := make(map[string]gopter.Gen) + userAssignedIdentityDetailsGenerator = gen.Struct(reflect.TypeOf(UserAssignedIdentityDetails{}), generators) + + return userAssignedIdentityDetailsGenerator +} + +func Test_UserAssignedIdentity_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of UserAssignedIdentity_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForUserAssignedIdentity_STATUS, UserAssignedIdentity_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForUserAssignedIdentity_STATUS runs a test to see if a specific instance of UserAssignedIdentity_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForUserAssignedIdentity_STATUS(subject UserAssignedIdentity_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual UserAssignedIdentity_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of UserAssignedIdentity_STATUS instances for property testing - lazily instantiated by +// UserAssignedIdentity_STATUSGenerator() +var userAssignedIdentity_STATUSGenerator gopter.Gen + +// UserAssignedIdentity_STATUSGenerator returns a generator of UserAssignedIdentity_STATUS instances for property testing. +func UserAssignedIdentity_STATUSGenerator() gopter.Gen { + if userAssignedIdentity_STATUSGenerator != nil { + return userAssignedIdentity_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForUserAssignedIdentity_STATUS(generators) + userAssignedIdentity_STATUSGenerator = gen.Struct(reflect.TypeOf(UserAssignedIdentity_STATUS{}), generators) + + return userAssignedIdentity_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForUserAssignedIdentity_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForUserAssignedIdentity_STATUS(gens map[string]gopter.Gen) { + gens["ClientId"] = gen.PtrOf(gen.AlphaString()) + gens["ObjectId"] = gen.PtrOf(gen.AlphaString()) + gens["ResourceId"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_WindowsGmsaProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of WindowsGmsaProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForWindowsGmsaProfile, WindowsGmsaProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForWindowsGmsaProfile runs a test to see if a specific instance of WindowsGmsaProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForWindowsGmsaProfile(subject WindowsGmsaProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual WindowsGmsaProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of WindowsGmsaProfile instances for property testing - lazily instantiated by WindowsGmsaProfileGenerator() +var windowsGmsaProfileGenerator gopter.Gen + +// WindowsGmsaProfileGenerator returns a generator of WindowsGmsaProfile instances for property testing. +func WindowsGmsaProfileGenerator() gopter.Gen { + if windowsGmsaProfileGenerator != nil { + return windowsGmsaProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForWindowsGmsaProfile(generators) + windowsGmsaProfileGenerator = gen.Struct(reflect.TypeOf(WindowsGmsaProfile{}), generators) + + return windowsGmsaProfileGenerator +} + +// AddIndependentPropertyGeneratorsForWindowsGmsaProfile is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForWindowsGmsaProfile(gens map[string]gopter.Gen) { + gens["DnsServer"] = gen.PtrOf(gen.AlphaString()) + gens["Enabled"] = gen.PtrOf(gen.Bool()) + gens["RootDomainName"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_WindowsGmsaProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of WindowsGmsaProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForWindowsGmsaProfile_STATUS, WindowsGmsaProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForWindowsGmsaProfile_STATUS runs a test to see if a specific instance of WindowsGmsaProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForWindowsGmsaProfile_STATUS(subject WindowsGmsaProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual WindowsGmsaProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of WindowsGmsaProfile_STATUS instances for property testing - lazily instantiated by +// WindowsGmsaProfile_STATUSGenerator() +var windowsGmsaProfile_STATUSGenerator gopter.Gen + +// WindowsGmsaProfile_STATUSGenerator returns a generator of WindowsGmsaProfile_STATUS instances for property testing. +func WindowsGmsaProfile_STATUSGenerator() gopter.Gen { + if windowsGmsaProfile_STATUSGenerator != nil { + return windowsGmsaProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForWindowsGmsaProfile_STATUS(generators) + windowsGmsaProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(WindowsGmsaProfile_STATUS{}), generators) + + return windowsGmsaProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForWindowsGmsaProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForWindowsGmsaProfile_STATUS(gens map[string]gopter.Gen) { + gens["DnsServer"] = gen.PtrOf(gen.AlphaString()) + gens["Enabled"] = gen.PtrOf(gen.Bool()) + gens["RootDomainName"] = gen.PtrOf(gen.AlphaString()) +} diff --git a/v2/api/containerservice/v1api20240901/storage/managed_clusters_agent_pool_types_gen.go b/v2/api/containerservice/v1api20240901/storage/managed_clusters_agent_pool_types_gen.go new file mode 100644 index 00000000000..06b5e82e3f3 --- /dev/null +++ b/v2/api/containerservice/v1api20240901/storage/managed_clusters_agent_pool_types_gen.go @@ -0,0 +1,560 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package storage + +import ( + "github.com/Azure/azure-service-operator/v2/pkg/genruntime" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime/conditions" + "github.com/pkg/errors" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime/schema" +) + +// +kubebuilder:rbac:groups=containerservice.azure.com,resources=managedclustersagentpools,verbs=get;list;watch;create;update;patch;delete +// +kubebuilder:rbac:groups=containerservice.azure.com,resources={managedclustersagentpools/status,managedclustersagentpools/finalizers},verbs=get;update;patch + +// +kubebuilder:object:root=true +// +kubebuilder:subresource:status +// +kubebuilder:storageversion +// +kubebuilder:printcolumn:name="Ready",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +// +kubebuilder:printcolumn:name="Severity",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].severity" +// +kubebuilder:printcolumn:name="Reason",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].reason" +// +kubebuilder:printcolumn:name="Message",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].message" +// Storage version of v1api20240901.ManagedClustersAgentPool +// Generator information: +// - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2024-09-01/managedClusters.json +// - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName} +type ManagedClustersAgentPool struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec ManagedClustersAgentPool_Spec `json:"spec,omitempty"` + Status ManagedClustersAgentPool_STATUS `json:"status,omitempty"` +} + +var _ conditions.Conditioner = &ManagedClustersAgentPool{} + +// GetConditions returns the conditions of the resource +func (pool *ManagedClustersAgentPool) GetConditions() conditions.Conditions { + return pool.Status.Conditions +} + +// SetConditions sets the conditions on the resource status +func (pool *ManagedClustersAgentPool) SetConditions(conditions conditions.Conditions) { + pool.Status.Conditions = conditions +} + +var _ genruntime.KubernetesResource = &ManagedClustersAgentPool{} + +// AzureName returns the Azure name of the resource +func (pool *ManagedClustersAgentPool) AzureName() string { + return pool.Spec.AzureName +} + +// GetAPIVersion returns the ARM API version of the resource. This is always "2024-09-01" +func (pool ManagedClustersAgentPool) GetAPIVersion() string { + return "2024-09-01" +} + +// GetResourceScope returns the scope of the resource +func (pool *ManagedClustersAgentPool) GetResourceScope() genruntime.ResourceScope { + return genruntime.ResourceScopeResourceGroup +} + +// GetSpec returns the specification of this resource +func (pool *ManagedClustersAgentPool) GetSpec() genruntime.ConvertibleSpec { + return &pool.Spec +} + +// GetStatus returns the status of this resource +func (pool *ManagedClustersAgentPool) GetStatus() genruntime.ConvertibleStatus { + return &pool.Status +} + +// GetSupportedOperations returns the operations supported by the resource +func (pool *ManagedClustersAgentPool) GetSupportedOperations() []genruntime.ResourceOperation { + return []genruntime.ResourceOperation{ + genruntime.ResourceOperationDelete, + genruntime.ResourceOperationGet, + genruntime.ResourceOperationPut, + } +} + +// GetType returns the ARM Type of the resource. This is always "Microsoft.ContainerService/managedClusters/agentPools" +func (pool *ManagedClustersAgentPool) GetType() string { + return "Microsoft.ContainerService/managedClusters/agentPools" +} + +// NewEmptyStatus returns a new empty (blank) status +func (pool *ManagedClustersAgentPool) NewEmptyStatus() genruntime.ConvertibleStatus { + return &ManagedClustersAgentPool_STATUS{} +} + +// Owner returns the ResourceReference of the owner +func (pool *ManagedClustersAgentPool) Owner() *genruntime.ResourceReference { + group, kind := genruntime.LookupOwnerGroupKind(pool.Spec) + return pool.Spec.Owner.AsResourceReference(group, kind) +} + +// SetStatus sets the status of this resource +func (pool *ManagedClustersAgentPool) SetStatus(status genruntime.ConvertibleStatus) error { + // If we have exactly the right type of status, assign it + if st, ok := status.(*ManagedClustersAgentPool_STATUS); ok { + pool.Status = *st + return nil + } + + // Convert status to required version + var st ManagedClustersAgentPool_STATUS + err := status.ConvertStatusTo(&st) + if err != nil { + return errors.Wrap(err, "failed to convert status") + } + + pool.Status = st + return nil +} + +// Hub marks that this ManagedClustersAgentPool is the hub type for conversion +func (pool *ManagedClustersAgentPool) Hub() {} + +// OriginalGVK returns a GroupValueKind for the original API version used to create the resource +func (pool *ManagedClustersAgentPool) OriginalGVK() *schema.GroupVersionKind { + return &schema.GroupVersionKind{ + Group: GroupVersion.Group, + Version: pool.Spec.OriginalVersion, + Kind: "ManagedClustersAgentPool", + } +} + +// +kubebuilder:object:root=true +// Storage version of v1api20240901.ManagedClustersAgentPool +// Generator information: +// - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2024-09-01/managedClusters.json +// - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName} +type ManagedClustersAgentPoolList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []ManagedClustersAgentPool `json:"items"` +} + +// Storage version of v1api20240901.ManagedClustersAgentPool_Spec +type ManagedClustersAgentPool_Spec struct { + AvailabilityZones []string `json:"availabilityZones,omitempty"` + + // AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + // doesn't have to be. + AzureName string `json:"azureName,omitempty"` + + // CapacityReservationGroupReference: AKS will associate the specified agent pool with the Capacity Reservation Group. + CapacityReservationGroupReference *genruntime.ResourceReference `armReference:"CapacityReservationGroupID" json:"capacityReservationGroupReference,omitempty"` + Count *int `json:"count,omitempty"` + CreationData *CreationData `json:"creationData,omitempty"` + EnableAutoScaling *bool `json:"enableAutoScaling,omitempty"` + EnableEncryptionAtHost *bool `json:"enableEncryptionAtHost,omitempty"` + EnableFIPS *bool `json:"enableFIPS,omitempty"` + EnableNodePublicIP *bool `json:"enableNodePublicIP,omitempty"` + EnableUltraSSD *bool `json:"enableUltraSSD,omitempty"` + GpuInstanceProfile *string `json:"gpuInstanceProfile,omitempty"` + + // HostGroupReference: This is of the form: + // /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. + // For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). + HostGroupReference *genruntime.ResourceReference `armReference:"HostGroupID" json:"hostGroupReference,omitempty"` + KubeletConfig *KubeletConfig `json:"kubeletConfig,omitempty"` + KubeletDiskType *string `json:"kubeletDiskType,omitempty"` + LinuxOSConfig *LinuxOSConfig `json:"linuxOSConfig,omitempty"` + MaxCount *int `json:"maxCount,omitempty"` + MaxPods *int `json:"maxPods,omitempty"` + MinCount *int `json:"minCount,omitempty"` + Mode *string `json:"mode,omitempty"` + NetworkProfile *AgentPoolNetworkProfile `json:"networkProfile,omitempty"` + NodeLabels map[string]string `json:"nodeLabels,omitempty" serializationType:"explicitEmptyCollection"` + + // NodePublicIPPrefixReference: This is of the form: + // /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} + NodePublicIPPrefixReference *genruntime.ResourceReference `armReference:"NodePublicIPPrefixID" json:"nodePublicIPPrefixReference,omitempty"` + NodeTaints []string `json:"nodeTaints,omitempty" serializationType:"explicitEmptyCollection"` + OrchestratorVersion *string `json:"orchestratorVersion,omitempty"` + OriginalVersion string `json:"originalVersion,omitempty"` + OsDiskSizeGB *int `json:"osDiskSizeGB,omitempty"` + OsDiskType *string `json:"osDiskType,omitempty"` + OsSKU *string `json:"osSKU,omitempty"` + OsType *string `json:"osType,omitempty"` + + // +kubebuilder:validation:Required + // Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + // controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + // reference to a containerservice.azure.com/ManagedCluster resource + Owner *genruntime.KnownResourceReference `group:"containerservice.azure.com" json:"owner,omitempty" kind:"ManagedCluster"` + + // PodSubnetReference: If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). + // This is of the form: + // /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + PodSubnetReference *genruntime.ResourceReference `armReference:"PodSubnetID" json:"podSubnetReference,omitempty"` + PowerState *PowerState `json:"powerState,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + + // ProximityPlacementGroupReference: The ID for Proximity Placement Group. + ProximityPlacementGroupReference *genruntime.ResourceReference `armReference:"ProximityPlacementGroupID" json:"proximityPlacementGroupReference,omitempty"` + ScaleDownMode *string `json:"scaleDownMode,omitempty"` + ScaleSetEvictionPolicy *string `json:"scaleSetEvictionPolicy,omitempty"` + ScaleSetPriority *string `json:"scaleSetPriority,omitempty"` + SecurityProfile *AgentPoolSecurityProfile `json:"securityProfile,omitempty"` + SpotMaxPrice *float64 `json:"spotMaxPrice,omitempty"` + Tags map[string]string `json:"tags,omitempty" serializationType:"explicitEmptyCollection"` + Type *string `json:"type,omitempty"` + UpgradeSettings *AgentPoolUpgradeSettings `json:"upgradeSettings,omitempty"` + VmSize *string `json:"vmSize,omitempty"` + + // VnetSubnetReference: If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is + // specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: + // /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + VnetSubnetReference *genruntime.ResourceReference `armReference:"VnetSubnetID" json:"vnetSubnetReference,omitempty"` + WindowsProfile *AgentPoolWindowsProfile `json:"windowsProfile,omitempty"` + WorkloadRuntime *string `json:"workloadRuntime,omitempty"` +} + +var _ genruntime.ConvertibleSpec = &ManagedClustersAgentPool_Spec{} + +// ConvertSpecFrom populates our ManagedClustersAgentPool_Spec from the provided source +func (pool *ManagedClustersAgentPool_Spec) ConvertSpecFrom(source genruntime.ConvertibleSpec) error { + if source == pool { + return errors.New("attempted conversion between unrelated implementations of github.com/Azure/azure-service-operator/v2/pkg/genruntime/ConvertibleSpec") + } + + return source.ConvertSpecTo(pool) +} + +// ConvertSpecTo populates the provided destination from our ManagedClustersAgentPool_Spec +func (pool *ManagedClustersAgentPool_Spec) ConvertSpecTo(destination genruntime.ConvertibleSpec) error { + if destination == pool { + return errors.New("attempted conversion between unrelated implementations of github.com/Azure/azure-service-operator/v2/pkg/genruntime/ConvertibleSpec") + } + + return destination.ConvertSpecFrom(pool) +} + +// Storage version of v1api20240901.ManagedClustersAgentPool_STATUS +type ManagedClustersAgentPool_STATUS struct { + AvailabilityZones []string `json:"availabilityZones,omitempty"` + CapacityReservationGroupID *string `json:"capacityReservationGroupID,omitempty"` + Conditions []conditions.Condition `json:"conditions,omitempty"` + Count *int `json:"count,omitempty"` + CreationData *CreationData_STATUS `json:"creationData,omitempty"` + CurrentOrchestratorVersion *string `json:"currentOrchestratorVersion,omitempty"` + ETag *string `json:"eTag,omitempty"` + EnableAutoScaling *bool `json:"enableAutoScaling,omitempty"` + EnableEncryptionAtHost *bool `json:"enableEncryptionAtHost,omitempty"` + EnableFIPS *bool `json:"enableFIPS,omitempty"` + EnableNodePublicIP *bool `json:"enableNodePublicIP,omitempty"` + EnableUltraSSD *bool `json:"enableUltraSSD,omitempty"` + GpuInstanceProfile *string `json:"gpuInstanceProfile,omitempty"` + HostGroupID *string `json:"hostGroupID,omitempty"` + Id *string `json:"id,omitempty"` + KubeletConfig *KubeletConfig_STATUS `json:"kubeletConfig,omitempty"` + KubeletDiskType *string `json:"kubeletDiskType,omitempty"` + LinuxOSConfig *LinuxOSConfig_STATUS `json:"linuxOSConfig,omitempty"` + MaxCount *int `json:"maxCount,omitempty"` + MaxPods *int `json:"maxPods,omitempty"` + MinCount *int `json:"minCount,omitempty"` + Mode *string `json:"mode,omitempty"` + Name *string `json:"name,omitempty"` + NetworkProfile *AgentPoolNetworkProfile_STATUS `json:"networkProfile,omitempty"` + NodeImageVersion *string `json:"nodeImageVersion,omitempty"` + NodeLabels map[string]string `json:"nodeLabels,omitempty"` + NodePublicIPPrefixID *string `json:"nodePublicIPPrefixID,omitempty"` + NodeTaints []string `json:"nodeTaints,omitempty"` + OrchestratorVersion *string `json:"orchestratorVersion,omitempty"` + OsDiskSizeGB *int `json:"osDiskSizeGB,omitempty"` + OsDiskType *string `json:"osDiskType,omitempty"` + OsSKU *string `json:"osSKU,omitempty"` + OsType *string `json:"osType,omitempty"` + PodSubnetID *string `json:"podSubnetID,omitempty"` + PowerState *PowerState_STATUS `json:"powerState,omitempty"` + PropertiesType *string `json:"properties_type,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + ProvisioningState *string `json:"provisioningState,omitempty"` + ProximityPlacementGroupID *string `json:"proximityPlacementGroupID,omitempty"` + ScaleDownMode *string `json:"scaleDownMode,omitempty"` + ScaleSetEvictionPolicy *string `json:"scaleSetEvictionPolicy,omitempty"` + ScaleSetPriority *string `json:"scaleSetPriority,omitempty"` + SecurityProfile *AgentPoolSecurityProfile_STATUS `json:"securityProfile,omitempty"` + SpotMaxPrice *float64 `json:"spotMaxPrice,omitempty"` + Tags map[string]string `json:"tags,omitempty"` + Type *string `json:"type,omitempty"` + UpgradeSettings *AgentPoolUpgradeSettings_STATUS `json:"upgradeSettings,omitempty"` + VmSize *string `json:"vmSize,omitempty"` + VnetSubnetID *string `json:"vnetSubnetID,omitempty"` + WindowsProfile *AgentPoolWindowsProfile_STATUS `json:"windowsProfile,omitempty"` + WorkloadRuntime *string `json:"workloadRuntime,omitempty"` +} + +var _ genruntime.ConvertibleStatus = &ManagedClustersAgentPool_STATUS{} + +// ConvertStatusFrom populates our ManagedClustersAgentPool_STATUS from the provided source +func (pool *ManagedClustersAgentPool_STATUS) ConvertStatusFrom(source genruntime.ConvertibleStatus) error { + if source == pool { + return errors.New("attempted conversion between unrelated implementations of github.com/Azure/azure-service-operator/v2/pkg/genruntime/ConvertibleStatus") + } + + return source.ConvertStatusTo(pool) +} + +// ConvertStatusTo populates the provided destination from our ManagedClustersAgentPool_STATUS +func (pool *ManagedClustersAgentPool_STATUS) ConvertStatusTo(destination genruntime.ConvertibleStatus) error { + if destination == pool { + return errors.New("attempted conversion between unrelated implementations of github.com/Azure/azure-service-operator/v2/pkg/genruntime/ConvertibleStatus") + } + + return destination.ConvertStatusFrom(pool) +} + +// Storage version of v1api20240901.AgentPoolNetworkProfile +// Network settings of an agent pool. +type AgentPoolNetworkProfile struct { + AllowedHostPorts []PortRange `json:"allowedHostPorts,omitempty"` + ApplicationSecurityGroupsReferences []genruntime.ResourceReference `armReference:"ApplicationSecurityGroups" json:"applicationSecurityGroupsReferences,omitempty"` + NodePublicIPTags []IPTag `json:"nodePublicIPTags,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240901.AgentPoolNetworkProfile_STATUS +// Network settings of an agent pool. +type AgentPoolNetworkProfile_STATUS struct { + AllowedHostPorts []PortRange_STATUS `json:"allowedHostPorts,omitempty"` + ApplicationSecurityGroups []string `json:"applicationSecurityGroups,omitempty"` + NodePublicIPTags []IPTag_STATUS `json:"nodePublicIPTags,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240901.AgentPoolSecurityProfile +// The security settings of an agent pool. +type AgentPoolSecurityProfile struct { + EnableSecureBoot *bool `json:"enableSecureBoot,omitempty"` + EnableVTPM *bool `json:"enableVTPM,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240901.AgentPoolSecurityProfile_STATUS +// The security settings of an agent pool. +type AgentPoolSecurityProfile_STATUS struct { + EnableSecureBoot *bool `json:"enableSecureBoot,omitempty"` + EnableVTPM *bool `json:"enableVTPM,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240901.AgentPoolUpgradeSettings +// Settings for upgrading an agentpool +type AgentPoolUpgradeSettings struct { + DrainTimeoutInMinutes *int `json:"drainTimeoutInMinutes,omitempty"` + MaxSurge *string `json:"maxSurge,omitempty"` + NodeSoakDurationInMinutes *int `json:"nodeSoakDurationInMinutes,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240901.AgentPoolUpgradeSettings_STATUS +// Settings for upgrading an agentpool +type AgentPoolUpgradeSettings_STATUS struct { + DrainTimeoutInMinutes *int `json:"drainTimeoutInMinutes,omitempty"` + MaxSurge *string `json:"maxSurge,omitempty"` + NodeSoakDurationInMinutes *int `json:"nodeSoakDurationInMinutes,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240901.AgentPoolWindowsProfile +// The Windows agent pool's specific profile. +type AgentPoolWindowsProfile struct { + DisableOutboundNat *bool `json:"disableOutboundNat,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240901.AgentPoolWindowsProfile_STATUS +// The Windows agent pool's specific profile. +type AgentPoolWindowsProfile_STATUS struct { + DisableOutboundNat *bool `json:"disableOutboundNat,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240901.CreationData +// Data used when creating a target resource from a source resource. +type CreationData struct { + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + + // SourceResourceReference: This is the ARM ID of the source object to be used to create the target object. + SourceResourceReference *genruntime.ResourceReference `armReference:"SourceResourceId" json:"sourceResourceReference,omitempty"` +} + +// Storage version of v1api20240901.CreationData_STATUS +// Data used when creating a target resource from a source resource. +type CreationData_STATUS struct { + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + SourceResourceId *string `json:"sourceResourceId,omitempty"` +} + +// Storage version of v1api20240901.KubeletConfig +// See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. +type KubeletConfig struct { + AllowedUnsafeSysctls []string `json:"allowedUnsafeSysctls,omitempty"` + ContainerLogMaxFiles *int `json:"containerLogMaxFiles,omitempty"` + ContainerLogMaxSizeMB *int `json:"containerLogMaxSizeMB,omitempty"` + CpuCfsQuota *bool `json:"cpuCfsQuota,omitempty"` + CpuCfsQuotaPeriod *string `json:"cpuCfsQuotaPeriod,omitempty"` + CpuManagerPolicy *string `json:"cpuManagerPolicy,omitempty"` + FailSwapOn *bool `json:"failSwapOn,omitempty"` + ImageGcHighThreshold *int `json:"imageGcHighThreshold,omitempty"` + ImageGcLowThreshold *int `json:"imageGcLowThreshold,omitempty"` + PodMaxPids *int `json:"podMaxPids,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + TopologyManagerPolicy *string `json:"topologyManagerPolicy,omitempty"` +} + +// Storage version of v1api20240901.KubeletConfig_STATUS +// See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. +type KubeletConfig_STATUS struct { + AllowedUnsafeSysctls []string `json:"allowedUnsafeSysctls,omitempty"` + ContainerLogMaxFiles *int `json:"containerLogMaxFiles,omitempty"` + ContainerLogMaxSizeMB *int `json:"containerLogMaxSizeMB,omitempty"` + CpuCfsQuota *bool `json:"cpuCfsQuota,omitempty"` + CpuCfsQuotaPeriod *string `json:"cpuCfsQuotaPeriod,omitempty"` + CpuManagerPolicy *string `json:"cpuManagerPolicy,omitempty"` + FailSwapOn *bool `json:"failSwapOn,omitempty"` + ImageGcHighThreshold *int `json:"imageGcHighThreshold,omitempty"` + ImageGcLowThreshold *int `json:"imageGcLowThreshold,omitempty"` + PodMaxPids *int `json:"podMaxPids,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + TopologyManagerPolicy *string `json:"topologyManagerPolicy,omitempty"` +} + +// Storage version of v1api20240901.LinuxOSConfig +// See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. +type LinuxOSConfig struct { + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + SwapFileSizeMB *int `json:"swapFileSizeMB,omitempty"` + Sysctls *SysctlConfig `json:"sysctls,omitempty"` + TransparentHugePageDefrag *string `json:"transparentHugePageDefrag,omitempty"` + TransparentHugePageEnabled *string `json:"transparentHugePageEnabled,omitempty"` +} + +// Storage version of v1api20240901.LinuxOSConfig_STATUS +// See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. +type LinuxOSConfig_STATUS struct { + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + SwapFileSizeMB *int `json:"swapFileSizeMB,omitempty"` + Sysctls *SysctlConfig_STATUS `json:"sysctls,omitempty"` + TransparentHugePageDefrag *string `json:"transparentHugePageDefrag,omitempty"` + TransparentHugePageEnabled *string `json:"transparentHugePageEnabled,omitempty"` +} + +// Storage version of v1api20240901.PowerState +// Describes the Power State of the cluster +type PowerState struct { + Code *string `json:"code,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20240901.IPTag +// Contains the IPTag associated with the object. +type IPTag struct { + IpTagType *string `json:"ipTagType,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Tag *string `json:"tag,omitempty"` +} + +// Storage version of v1api20240901.IPTag_STATUS +// Contains the IPTag associated with the object. +type IPTag_STATUS struct { + IpTagType *string `json:"ipTagType,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Tag *string `json:"tag,omitempty"` +} + +// Storage version of v1api20240901.PortRange +// The port range. +type PortRange struct { + PortEnd *int `json:"portEnd,omitempty"` + PortStart *int `json:"portStart,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Protocol *string `json:"protocol,omitempty"` +} + +// Storage version of v1api20240901.PortRange_STATUS +// The port range. +type PortRange_STATUS struct { + PortEnd *int `json:"portEnd,omitempty"` + PortStart *int `json:"portStart,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Protocol *string `json:"protocol,omitempty"` +} + +// Storage version of v1api20240901.SysctlConfig +// Sysctl settings for Linux agent nodes. +type SysctlConfig struct { + FsAioMaxNr *int `json:"fsAioMaxNr,omitempty"` + FsFileMax *int `json:"fsFileMax,omitempty"` + FsInotifyMaxUserWatches *int `json:"fsInotifyMaxUserWatches,omitempty"` + FsNrOpen *int `json:"fsNrOpen,omitempty"` + KernelThreadsMax *int `json:"kernelThreadsMax,omitempty"` + NetCoreNetdevMaxBacklog *int `json:"netCoreNetdevMaxBacklog,omitempty"` + NetCoreOptmemMax *int `json:"netCoreOptmemMax,omitempty"` + NetCoreRmemDefault *int `json:"netCoreRmemDefault,omitempty"` + NetCoreRmemMax *int `json:"netCoreRmemMax,omitempty"` + NetCoreSomaxconn *int `json:"netCoreSomaxconn,omitempty"` + NetCoreWmemDefault *int `json:"netCoreWmemDefault,omitempty"` + NetCoreWmemMax *int `json:"netCoreWmemMax,omitempty"` + NetIpv4IpLocalPortRange *string `json:"netIpv4IpLocalPortRange,omitempty"` + NetIpv4NeighDefaultGcThresh1 *int `json:"netIpv4NeighDefaultGcThresh1,omitempty"` + NetIpv4NeighDefaultGcThresh2 *int `json:"netIpv4NeighDefaultGcThresh2,omitempty"` + NetIpv4NeighDefaultGcThresh3 *int `json:"netIpv4NeighDefaultGcThresh3,omitempty"` + NetIpv4TcpFinTimeout *int `json:"netIpv4TcpFinTimeout,omitempty"` + NetIpv4TcpKeepaliveProbes *int `json:"netIpv4TcpKeepaliveProbes,omitempty"` + NetIpv4TcpKeepaliveTime *int `json:"netIpv4TcpKeepaliveTime,omitempty"` + NetIpv4TcpMaxSynBacklog *int `json:"netIpv4TcpMaxSynBacklog,omitempty"` + NetIpv4TcpMaxTwBuckets *int `json:"netIpv4TcpMaxTwBuckets,omitempty"` + NetIpv4TcpTwReuse *bool `json:"netIpv4TcpTwReuse,omitempty"` + NetIpv4TcpkeepaliveIntvl *int `json:"netIpv4TcpkeepaliveIntvl,omitempty"` + NetNetfilterNfConntrackBuckets *int `json:"netNetfilterNfConntrackBuckets,omitempty"` + NetNetfilterNfConntrackMax *int `json:"netNetfilterNfConntrackMax,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + VmMaxMapCount *int `json:"vmMaxMapCount,omitempty"` + VmSwappiness *int `json:"vmSwappiness,omitempty"` + VmVfsCachePressure *int `json:"vmVfsCachePressure,omitempty"` +} + +// Storage version of v1api20240901.SysctlConfig_STATUS +// Sysctl settings for Linux agent nodes. +type SysctlConfig_STATUS struct { + FsAioMaxNr *int `json:"fsAioMaxNr,omitempty"` + FsFileMax *int `json:"fsFileMax,omitempty"` + FsInotifyMaxUserWatches *int `json:"fsInotifyMaxUserWatches,omitempty"` + FsNrOpen *int `json:"fsNrOpen,omitempty"` + KernelThreadsMax *int `json:"kernelThreadsMax,omitempty"` + NetCoreNetdevMaxBacklog *int `json:"netCoreNetdevMaxBacklog,omitempty"` + NetCoreOptmemMax *int `json:"netCoreOptmemMax,omitempty"` + NetCoreRmemDefault *int `json:"netCoreRmemDefault,omitempty"` + NetCoreRmemMax *int `json:"netCoreRmemMax,omitempty"` + NetCoreSomaxconn *int `json:"netCoreSomaxconn,omitempty"` + NetCoreWmemDefault *int `json:"netCoreWmemDefault,omitempty"` + NetCoreWmemMax *int `json:"netCoreWmemMax,omitempty"` + NetIpv4IpLocalPortRange *string `json:"netIpv4IpLocalPortRange,omitempty"` + NetIpv4NeighDefaultGcThresh1 *int `json:"netIpv4NeighDefaultGcThresh1,omitempty"` + NetIpv4NeighDefaultGcThresh2 *int `json:"netIpv4NeighDefaultGcThresh2,omitempty"` + NetIpv4NeighDefaultGcThresh3 *int `json:"netIpv4NeighDefaultGcThresh3,omitempty"` + NetIpv4TcpFinTimeout *int `json:"netIpv4TcpFinTimeout,omitempty"` + NetIpv4TcpKeepaliveProbes *int `json:"netIpv4TcpKeepaliveProbes,omitempty"` + NetIpv4TcpKeepaliveTime *int `json:"netIpv4TcpKeepaliveTime,omitempty"` + NetIpv4TcpMaxSynBacklog *int `json:"netIpv4TcpMaxSynBacklog,omitempty"` + NetIpv4TcpMaxTwBuckets *int `json:"netIpv4TcpMaxTwBuckets,omitempty"` + NetIpv4TcpTwReuse *bool `json:"netIpv4TcpTwReuse,omitempty"` + NetIpv4TcpkeepaliveIntvl *int `json:"netIpv4TcpkeepaliveIntvl,omitempty"` + NetNetfilterNfConntrackBuckets *int `json:"netNetfilterNfConntrackBuckets,omitempty"` + NetNetfilterNfConntrackMax *int `json:"netNetfilterNfConntrackMax,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + VmMaxMapCount *int `json:"vmMaxMapCount,omitempty"` + VmSwappiness *int `json:"vmSwappiness,omitempty"` + VmVfsCachePressure *int `json:"vmVfsCachePressure,omitempty"` +} + +func init() { + SchemeBuilder.Register(&ManagedClustersAgentPool{}, &ManagedClustersAgentPoolList{}) +} diff --git a/v2/api/containerservice/v1api20240901/storage/managed_clusters_agent_pool_types_gen_test.go b/v2/api/containerservice/v1api20240901/storage/managed_clusters_agent_pool_types_gen_test.go new file mode 100644 index 00000000000..ac682f2c576 --- /dev/null +++ b/v2/api/containerservice/v1api20240901/storage/managed_clusters_agent_pool_types_gen_test.go @@ -0,0 +1,1663 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package storage + +import ( + "encoding/json" + "github.com/google/go-cmp/cmp" + "github.com/google/go-cmp/cmp/cmpopts" + "github.com/kr/pretty" + "github.com/kylelemons/godebug/diff" + "github.com/leanovate/gopter" + "github.com/leanovate/gopter/gen" + "github.com/leanovate/gopter/prop" + "os" + "reflect" + "testing" +) + +func Test_AgentPoolNetworkProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of AgentPoolNetworkProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAgentPoolNetworkProfile, AgentPoolNetworkProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAgentPoolNetworkProfile runs a test to see if a specific instance of AgentPoolNetworkProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForAgentPoolNetworkProfile(subject AgentPoolNetworkProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AgentPoolNetworkProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of AgentPoolNetworkProfile instances for property testing - lazily instantiated by +// AgentPoolNetworkProfileGenerator() +var agentPoolNetworkProfileGenerator gopter.Gen + +// AgentPoolNetworkProfileGenerator returns a generator of AgentPoolNetworkProfile instances for property testing. +func AgentPoolNetworkProfileGenerator() gopter.Gen { + if agentPoolNetworkProfileGenerator != nil { + return agentPoolNetworkProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForAgentPoolNetworkProfile(generators) + agentPoolNetworkProfileGenerator = gen.Struct(reflect.TypeOf(AgentPoolNetworkProfile{}), generators) + + return agentPoolNetworkProfileGenerator +} + +// AddRelatedPropertyGeneratorsForAgentPoolNetworkProfile is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForAgentPoolNetworkProfile(gens map[string]gopter.Gen) { + gens["AllowedHostPorts"] = gen.SliceOf(PortRangeGenerator()) + gens["NodePublicIPTags"] = gen.SliceOf(IPTagGenerator()) +} + +func Test_AgentPoolNetworkProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of AgentPoolNetworkProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAgentPoolNetworkProfile_STATUS, AgentPoolNetworkProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAgentPoolNetworkProfile_STATUS runs a test to see if a specific instance of AgentPoolNetworkProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForAgentPoolNetworkProfile_STATUS(subject AgentPoolNetworkProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AgentPoolNetworkProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of AgentPoolNetworkProfile_STATUS instances for property testing - lazily instantiated by +// AgentPoolNetworkProfile_STATUSGenerator() +var agentPoolNetworkProfile_STATUSGenerator gopter.Gen + +// AgentPoolNetworkProfile_STATUSGenerator returns a generator of AgentPoolNetworkProfile_STATUS instances for property testing. +// We first initialize agentPoolNetworkProfile_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func AgentPoolNetworkProfile_STATUSGenerator() gopter.Gen { + if agentPoolNetworkProfile_STATUSGenerator != nil { + return agentPoolNetworkProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAgentPoolNetworkProfile_STATUS(generators) + agentPoolNetworkProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(AgentPoolNetworkProfile_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAgentPoolNetworkProfile_STATUS(generators) + AddRelatedPropertyGeneratorsForAgentPoolNetworkProfile_STATUS(generators) + agentPoolNetworkProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(AgentPoolNetworkProfile_STATUS{}), generators) + + return agentPoolNetworkProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForAgentPoolNetworkProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAgentPoolNetworkProfile_STATUS(gens map[string]gopter.Gen) { + gens["ApplicationSecurityGroups"] = gen.SliceOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForAgentPoolNetworkProfile_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForAgentPoolNetworkProfile_STATUS(gens map[string]gopter.Gen) { + gens["AllowedHostPorts"] = gen.SliceOf(PortRange_STATUSGenerator()) + gens["NodePublicIPTags"] = gen.SliceOf(IPTag_STATUSGenerator()) +} + +func Test_AgentPoolSecurityProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of AgentPoolSecurityProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAgentPoolSecurityProfile, AgentPoolSecurityProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAgentPoolSecurityProfile runs a test to see if a specific instance of AgentPoolSecurityProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForAgentPoolSecurityProfile(subject AgentPoolSecurityProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AgentPoolSecurityProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of AgentPoolSecurityProfile instances for property testing - lazily instantiated by +// AgentPoolSecurityProfileGenerator() +var agentPoolSecurityProfileGenerator gopter.Gen + +// AgentPoolSecurityProfileGenerator returns a generator of AgentPoolSecurityProfile instances for property testing. +func AgentPoolSecurityProfileGenerator() gopter.Gen { + if agentPoolSecurityProfileGenerator != nil { + return agentPoolSecurityProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAgentPoolSecurityProfile(generators) + agentPoolSecurityProfileGenerator = gen.Struct(reflect.TypeOf(AgentPoolSecurityProfile{}), generators) + + return agentPoolSecurityProfileGenerator +} + +// AddIndependentPropertyGeneratorsForAgentPoolSecurityProfile is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAgentPoolSecurityProfile(gens map[string]gopter.Gen) { + gens["EnableSecureBoot"] = gen.PtrOf(gen.Bool()) + gens["EnableVTPM"] = gen.PtrOf(gen.Bool()) +} + +func Test_AgentPoolSecurityProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of AgentPoolSecurityProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAgentPoolSecurityProfile_STATUS, AgentPoolSecurityProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAgentPoolSecurityProfile_STATUS runs a test to see if a specific instance of AgentPoolSecurityProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForAgentPoolSecurityProfile_STATUS(subject AgentPoolSecurityProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AgentPoolSecurityProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of AgentPoolSecurityProfile_STATUS instances for property testing - lazily instantiated by +// AgentPoolSecurityProfile_STATUSGenerator() +var agentPoolSecurityProfile_STATUSGenerator gopter.Gen + +// AgentPoolSecurityProfile_STATUSGenerator returns a generator of AgentPoolSecurityProfile_STATUS instances for property testing. +func AgentPoolSecurityProfile_STATUSGenerator() gopter.Gen { + if agentPoolSecurityProfile_STATUSGenerator != nil { + return agentPoolSecurityProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAgentPoolSecurityProfile_STATUS(generators) + agentPoolSecurityProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(AgentPoolSecurityProfile_STATUS{}), generators) + + return agentPoolSecurityProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForAgentPoolSecurityProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAgentPoolSecurityProfile_STATUS(gens map[string]gopter.Gen) { + gens["EnableSecureBoot"] = gen.PtrOf(gen.Bool()) + gens["EnableVTPM"] = gen.PtrOf(gen.Bool()) +} + +func Test_AgentPoolUpgradeSettings_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of AgentPoolUpgradeSettings via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAgentPoolUpgradeSettings, AgentPoolUpgradeSettingsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAgentPoolUpgradeSettings runs a test to see if a specific instance of AgentPoolUpgradeSettings round trips to JSON and back losslessly +func RunJSONSerializationTestForAgentPoolUpgradeSettings(subject AgentPoolUpgradeSettings) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AgentPoolUpgradeSettings + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of AgentPoolUpgradeSettings instances for property testing - lazily instantiated by +// AgentPoolUpgradeSettingsGenerator() +var agentPoolUpgradeSettingsGenerator gopter.Gen + +// AgentPoolUpgradeSettingsGenerator returns a generator of AgentPoolUpgradeSettings instances for property testing. +func AgentPoolUpgradeSettingsGenerator() gopter.Gen { + if agentPoolUpgradeSettingsGenerator != nil { + return agentPoolUpgradeSettingsGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAgentPoolUpgradeSettings(generators) + agentPoolUpgradeSettingsGenerator = gen.Struct(reflect.TypeOf(AgentPoolUpgradeSettings{}), generators) + + return agentPoolUpgradeSettingsGenerator +} + +// AddIndependentPropertyGeneratorsForAgentPoolUpgradeSettings is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAgentPoolUpgradeSettings(gens map[string]gopter.Gen) { + gens["DrainTimeoutInMinutes"] = gen.PtrOf(gen.Int()) + gens["MaxSurge"] = gen.PtrOf(gen.AlphaString()) + gens["NodeSoakDurationInMinutes"] = gen.PtrOf(gen.Int()) +} + +func Test_AgentPoolUpgradeSettings_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of AgentPoolUpgradeSettings_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAgentPoolUpgradeSettings_STATUS, AgentPoolUpgradeSettings_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAgentPoolUpgradeSettings_STATUS runs a test to see if a specific instance of AgentPoolUpgradeSettings_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForAgentPoolUpgradeSettings_STATUS(subject AgentPoolUpgradeSettings_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AgentPoolUpgradeSettings_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of AgentPoolUpgradeSettings_STATUS instances for property testing - lazily instantiated by +// AgentPoolUpgradeSettings_STATUSGenerator() +var agentPoolUpgradeSettings_STATUSGenerator gopter.Gen + +// AgentPoolUpgradeSettings_STATUSGenerator returns a generator of AgentPoolUpgradeSettings_STATUS instances for property testing. +func AgentPoolUpgradeSettings_STATUSGenerator() gopter.Gen { + if agentPoolUpgradeSettings_STATUSGenerator != nil { + return agentPoolUpgradeSettings_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAgentPoolUpgradeSettings_STATUS(generators) + agentPoolUpgradeSettings_STATUSGenerator = gen.Struct(reflect.TypeOf(AgentPoolUpgradeSettings_STATUS{}), generators) + + return agentPoolUpgradeSettings_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForAgentPoolUpgradeSettings_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAgentPoolUpgradeSettings_STATUS(gens map[string]gopter.Gen) { + gens["DrainTimeoutInMinutes"] = gen.PtrOf(gen.Int()) + gens["MaxSurge"] = gen.PtrOf(gen.AlphaString()) + gens["NodeSoakDurationInMinutes"] = gen.PtrOf(gen.Int()) +} + +func Test_AgentPoolWindowsProfile_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of AgentPoolWindowsProfile via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAgentPoolWindowsProfile, AgentPoolWindowsProfileGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAgentPoolWindowsProfile runs a test to see if a specific instance of AgentPoolWindowsProfile round trips to JSON and back losslessly +func RunJSONSerializationTestForAgentPoolWindowsProfile(subject AgentPoolWindowsProfile) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AgentPoolWindowsProfile + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of AgentPoolWindowsProfile instances for property testing - lazily instantiated by +// AgentPoolWindowsProfileGenerator() +var agentPoolWindowsProfileGenerator gopter.Gen + +// AgentPoolWindowsProfileGenerator returns a generator of AgentPoolWindowsProfile instances for property testing. +func AgentPoolWindowsProfileGenerator() gopter.Gen { + if agentPoolWindowsProfileGenerator != nil { + return agentPoolWindowsProfileGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAgentPoolWindowsProfile(generators) + agentPoolWindowsProfileGenerator = gen.Struct(reflect.TypeOf(AgentPoolWindowsProfile{}), generators) + + return agentPoolWindowsProfileGenerator +} + +// AddIndependentPropertyGeneratorsForAgentPoolWindowsProfile is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAgentPoolWindowsProfile(gens map[string]gopter.Gen) { + gens["DisableOutboundNat"] = gen.PtrOf(gen.Bool()) +} + +func Test_AgentPoolWindowsProfile_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of AgentPoolWindowsProfile_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAgentPoolWindowsProfile_STATUS, AgentPoolWindowsProfile_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAgentPoolWindowsProfile_STATUS runs a test to see if a specific instance of AgentPoolWindowsProfile_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForAgentPoolWindowsProfile_STATUS(subject AgentPoolWindowsProfile_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AgentPoolWindowsProfile_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of AgentPoolWindowsProfile_STATUS instances for property testing - lazily instantiated by +// AgentPoolWindowsProfile_STATUSGenerator() +var agentPoolWindowsProfile_STATUSGenerator gopter.Gen + +// AgentPoolWindowsProfile_STATUSGenerator returns a generator of AgentPoolWindowsProfile_STATUS instances for property testing. +func AgentPoolWindowsProfile_STATUSGenerator() gopter.Gen { + if agentPoolWindowsProfile_STATUSGenerator != nil { + return agentPoolWindowsProfile_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAgentPoolWindowsProfile_STATUS(generators) + agentPoolWindowsProfile_STATUSGenerator = gen.Struct(reflect.TypeOf(AgentPoolWindowsProfile_STATUS{}), generators) + + return agentPoolWindowsProfile_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForAgentPoolWindowsProfile_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAgentPoolWindowsProfile_STATUS(gens map[string]gopter.Gen) { + gens["DisableOutboundNat"] = gen.PtrOf(gen.Bool()) +} + +func Test_CreationData_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of CreationData via JSON returns original", + prop.ForAll(RunJSONSerializationTestForCreationData, CreationDataGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForCreationData runs a test to see if a specific instance of CreationData round trips to JSON and back losslessly +func RunJSONSerializationTestForCreationData(subject CreationData) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual CreationData + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of CreationData instances for property testing - lazily instantiated by CreationDataGenerator() +var creationDataGenerator gopter.Gen + +// CreationDataGenerator returns a generator of CreationData instances for property testing. +func CreationDataGenerator() gopter.Gen { + if creationDataGenerator != nil { + return creationDataGenerator + } + + generators := make(map[string]gopter.Gen) + creationDataGenerator = gen.Struct(reflect.TypeOf(CreationData{}), generators) + + return creationDataGenerator +} + +func Test_CreationData_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of CreationData_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForCreationData_STATUS, CreationData_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForCreationData_STATUS runs a test to see if a specific instance of CreationData_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForCreationData_STATUS(subject CreationData_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual CreationData_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of CreationData_STATUS instances for property testing - lazily instantiated by +// CreationData_STATUSGenerator() +var creationData_STATUSGenerator gopter.Gen + +// CreationData_STATUSGenerator returns a generator of CreationData_STATUS instances for property testing. +func CreationData_STATUSGenerator() gopter.Gen { + if creationData_STATUSGenerator != nil { + return creationData_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForCreationData_STATUS(generators) + creationData_STATUSGenerator = gen.Struct(reflect.TypeOf(CreationData_STATUS{}), generators) + + return creationData_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForCreationData_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForCreationData_STATUS(gens map[string]gopter.Gen) { + gens["SourceResourceId"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_IPTag_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of IPTag via JSON returns original", + prop.ForAll(RunJSONSerializationTestForIPTag, IPTagGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForIPTag runs a test to see if a specific instance of IPTag round trips to JSON and back losslessly +func RunJSONSerializationTestForIPTag(subject IPTag) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual IPTag + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of IPTag instances for property testing - lazily instantiated by IPTagGenerator() +var ipTagGenerator gopter.Gen + +// IPTagGenerator returns a generator of IPTag instances for property testing. +func IPTagGenerator() gopter.Gen { + if ipTagGenerator != nil { + return ipTagGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForIPTag(generators) + ipTagGenerator = gen.Struct(reflect.TypeOf(IPTag{}), generators) + + return ipTagGenerator +} + +// AddIndependentPropertyGeneratorsForIPTag is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForIPTag(gens map[string]gopter.Gen) { + gens["IpTagType"] = gen.PtrOf(gen.AlphaString()) + gens["Tag"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_IPTag_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of IPTag_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForIPTag_STATUS, IPTag_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForIPTag_STATUS runs a test to see if a specific instance of IPTag_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForIPTag_STATUS(subject IPTag_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual IPTag_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of IPTag_STATUS instances for property testing - lazily instantiated by IPTag_STATUSGenerator() +var ipTag_STATUSGenerator gopter.Gen + +// IPTag_STATUSGenerator returns a generator of IPTag_STATUS instances for property testing. +func IPTag_STATUSGenerator() gopter.Gen { + if ipTag_STATUSGenerator != nil { + return ipTag_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForIPTag_STATUS(generators) + ipTag_STATUSGenerator = gen.Struct(reflect.TypeOf(IPTag_STATUS{}), generators) + + return ipTag_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForIPTag_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForIPTag_STATUS(gens map[string]gopter.Gen) { + gens["IpTagType"] = gen.PtrOf(gen.AlphaString()) + gens["Tag"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_KubeletConfig_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of KubeletConfig via JSON returns original", + prop.ForAll(RunJSONSerializationTestForKubeletConfig, KubeletConfigGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForKubeletConfig runs a test to see if a specific instance of KubeletConfig round trips to JSON and back losslessly +func RunJSONSerializationTestForKubeletConfig(subject KubeletConfig) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual KubeletConfig + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of KubeletConfig instances for property testing - lazily instantiated by KubeletConfigGenerator() +var kubeletConfigGenerator gopter.Gen + +// KubeletConfigGenerator returns a generator of KubeletConfig instances for property testing. +func KubeletConfigGenerator() gopter.Gen { + if kubeletConfigGenerator != nil { + return kubeletConfigGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForKubeletConfig(generators) + kubeletConfigGenerator = gen.Struct(reflect.TypeOf(KubeletConfig{}), generators) + + return kubeletConfigGenerator +} + +// AddIndependentPropertyGeneratorsForKubeletConfig is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForKubeletConfig(gens map[string]gopter.Gen) { + gens["AllowedUnsafeSysctls"] = gen.SliceOf(gen.AlphaString()) + gens["ContainerLogMaxFiles"] = gen.PtrOf(gen.Int()) + gens["ContainerLogMaxSizeMB"] = gen.PtrOf(gen.Int()) + gens["CpuCfsQuota"] = gen.PtrOf(gen.Bool()) + gens["CpuCfsQuotaPeriod"] = gen.PtrOf(gen.AlphaString()) + gens["CpuManagerPolicy"] = gen.PtrOf(gen.AlphaString()) + gens["FailSwapOn"] = gen.PtrOf(gen.Bool()) + gens["ImageGcHighThreshold"] = gen.PtrOf(gen.Int()) + gens["ImageGcLowThreshold"] = gen.PtrOf(gen.Int()) + gens["PodMaxPids"] = gen.PtrOf(gen.Int()) + gens["TopologyManagerPolicy"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_KubeletConfig_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of KubeletConfig_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForKubeletConfig_STATUS, KubeletConfig_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForKubeletConfig_STATUS runs a test to see if a specific instance of KubeletConfig_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForKubeletConfig_STATUS(subject KubeletConfig_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual KubeletConfig_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of KubeletConfig_STATUS instances for property testing - lazily instantiated by +// KubeletConfig_STATUSGenerator() +var kubeletConfig_STATUSGenerator gopter.Gen + +// KubeletConfig_STATUSGenerator returns a generator of KubeletConfig_STATUS instances for property testing. +func KubeletConfig_STATUSGenerator() gopter.Gen { + if kubeletConfig_STATUSGenerator != nil { + return kubeletConfig_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForKubeletConfig_STATUS(generators) + kubeletConfig_STATUSGenerator = gen.Struct(reflect.TypeOf(KubeletConfig_STATUS{}), generators) + + return kubeletConfig_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForKubeletConfig_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForKubeletConfig_STATUS(gens map[string]gopter.Gen) { + gens["AllowedUnsafeSysctls"] = gen.SliceOf(gen.AlphaString()) + gens["ContainerLogMaxFiles"] = gen.PtrOf(gen.Int()) + gens["ContainerLogMaxSizeMB"] = gen.PtrOf(gen.Int()) + gens["CpuCfsQuota"] = gen.PtrOf(gen.Bool()) + gens["CpuCfsQuotaPeriod"] = gen.PtrOf(gen.AlphaString()) + gens["CpuManagerPolicy"] = gen.PtrOf(gen.AlphaString()) + gens["FailSwapOn"] = gen.PtrOf(gen.Bool()) + gens["ImageGcHighThreshold"] = gen.PtrOf(gen.Int()) + gens["ImageGcLowThreshold"] = gen.PtrOf(gen.Int()) + gens["PodMaxPids"] = gen.PtrOf(gen.Int()) + gens["TopologyManagerPolicy"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_LinuxOSConfig_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of LinuxOSConfig via JSON returns original", + prop.ForAll(RunJSONSerializationTestForLinuxOSConfig, LinuxOSConfigGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForLinuxOSConfig runs a test to see if a specific instance of LinuxOSConfig round trips to JSON and back losslessly +func RunJSONSerializationTestForLinuxOSConfig(subject LinuxOSConfig) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual LinuxOSConfig + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of LinuxOSConfig instances for property testing - lazily instantiated by LinuxOSConfigGenerator() +var linuxOSConfigGenerator gopter.Gen + +// LinuxOSConfigGenerator returns a generator of LinuxOSConfig instances for property testing. +// We first initialize linuxOSConfigGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func LinuxOSConfigGenerator() gopter.Gen { + if linuxOSConfigGenerator != nil { + return linuxOSConfigGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForLinuxOSConfig(generators) + linuxOSConfigGenerator = gen.Struct(reflect.TypeOf(LinuxOSConfig{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForLinuxOSConfig(generators) + AddRelatedPropertyGeneratorsForLinuxOSConfig(generators) + linuxOSConfigGenerator = gen.Struct(reflect.TypeOf(LinuxOSConfig{}), generators) + + return linuxOSConfigGenerator +} + +// AddIndependentPropertyGeneratorsForLinuxOSConfig is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForLinuxOSConfig(gens map[string]gopter.Gen) { + gens["SwapFileSizeMB"] = gen.PtrOf(gen.Int()) + gens["TransparentHugePageDefrag"] = gen.PtrOf(gen.AlphaString()) + gens["TransparentHugePageEnabled"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForLinuxOSConfig is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForLinuxOSConfig(gens map[string]gopter.Gen) { + gens["Sysctls"] = gen.PtrOf(SysctlConfigGenerator()) +} + +func Test_LinuxOSConfig_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of LinuxOSConfig_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForLinuxOSConfig_STATUS, LinuxOSConfig_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForLinuxOSConfig_STATUS runs a test to see if a specific instance of LinuxOSConfig_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForLinuxOSConfig_STATUS(subject LinuxOSConfig_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual LinuxOSConfig_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of LinuxOSConfig_STATUS instances for property testing - lazily instantiated by +// LinuxOSConfig_STATUSGenerator() +var linuxOSConfig_STATUSGenerator gopter.Gen + +// LinuxOSConfig_STATUSGenerator returns a generator of LinuxOSConfig_STATUS instances for property testing. +// We first initialize linuxOSConfig_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func LinuxOSConfig_STATUSGenerator() gopter.Gen { + if linuxOSConfig_STATUSGenerator != nil { + return linuxOSConfig_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForLinuxOSConfig_STATUS(generators) + linuxOSConfig_STATUSGenerator = gen.Struct(reflect.TypeOf(LinuxOSConfig_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForLinuxOSConfig_STATUS(generators) + AddRelatedPropertyGeneratorsForLinuxOSConfig_STATUS(generators) + linuxOSConfig_STATUSGenerator = gen.Struct(reflect.TypeOf(LinuxOSConfig_STATUS{}), generators) + + return linuxOSConfig_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForLinuxOSConfig_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForLinuxOSConfig_STATUS(gens map[string]gopter.Gen) { + gens["SwapFileSizeMB"] = gen.PtrOf(gen.Int()) + gens["TransparentHugePageDefrag"] = gen.PtrOf(gen.AlphaString()) + gens["TransparentHugePageEnabled"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForLinuxOSConfig_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForLinuxOSConfig_STATUS(gens map[string]gopter.Gen) { + gens["Sysctls"] = gen.PtrOf(SysctlConfig_STATUSGenerator()) +} + +func Test_ManagedClustersAgentPool_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 20 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClustersAgentPool via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClustersAgentPool, ManagedClustersAgentPoolGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClustersAgentPool runs a test to see if a specific instance of ManagedClustersAgentPool round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClustersAgentPool(subject ManagedClustersAgentPool) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClustersAgentPool + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClustersAgentPool instances for property testing - lazily instantiated by +// ManagedClustersAgentPoolGenerator() +var managedClustersAgentPoolGenerator gopter.Gen + +// ManagedClustersAgentPoolGenerator returns a generator of ManagedClustersAgentPool instances for property testing. +func ManagedClustersAgentPoolGenerator() gopter.Gen { + if managedClustersAgentPoolGenerator != nil { + return managedClustersAgentPoolGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForManagedClustersAgentPool(generators) + managedClustersAgentPoolGenerator = gen.Struct(reflect.TypeOf(ManagedClustersAgentPool{}), generators) + + return managedClustersAgentPoolGenerator +} + +// AddRelatedPropertyGeneratorsForManagedClustersAgentPool is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClustersAgentPool(gens map[string]gopter.Gen) { + gens["Spec"] = ManagedClustersAgentPool_SpecGenerator() + gens["Status"] = ManagedClustersAgentPool_STATUSGenerator() +} + +func Test_ManagedClustersAgentPool_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClustersAgentPool_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClustersAgentPool_STATUS, ManagedClustersAgentPool_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClustersAgentPool_STATUS runs a test to see if a specific instance of ManagedClustersAgentPool_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClustersAgentPool_STATUS(subject ManagedClustersAgentPool_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClustersAgentPool_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClustersAgentPool_STATUS instances for property testing - lazily instantiated by +// ManagedClustersAgentPool_STATUSGenerator() +var managedClustersAgentPool_STATUSGenerator gopter.Gen + +// ManagedClustersAgentPool_STATUSGenerator returns a generator of ManagedClustersAgentPool_STATUS instances for property testing. +func ManagedClustersAgentPool_STATUSGenerator() gopter.Gen { + if managedClustersAgentPool_STATUSGenerator != nil { + return managedClustersAgentPool_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForManagedClustersAgentPool_STATUS(generators) + managedClustersAgentPool_STATUSGenerator = gen.Struct(reflect.TypeOf(ManagedClustersAgentPool_STATUS{}), generators) + + return managedClustersAgentPool_STATUSGenerator +} + +// AddRelatedPropertyGeneratorsForManagedClustersAgentPool_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClustersAgentPool_STATUS(gens map[string]gopter.Gen) { + gens["CreationData"] = gen.PtrOf(CreationData_STATUSGenerator()) + gens["KubeletConfig"] = gen.PtrOf(KubeletConfig_STATUSGenerator()) + gens["LinuxOSConfig"] = gen.PtrOf(LinuxOSConfig_STATUSGenerator()) + gens["NetworkProfile"] = gen.PtrOf(AgentPoolNetworkProfile_STATUSGenerator()) + gens["PowerState"] = gen.PtrOf(PowerState_STATUSGenerator()) + gens["SecurityProfile"] = gen.PtrOf(AgentPoolSecurityProfile_STATUSGenerator()) + gens["UpgradeSettings"] = gen.PtrOf(AgentPoolUpgradeSettings_STATUSGenerator()) + gens["WindowsProfile"] = gen.PtrOf(AgentPoolWindowsProfile_STATUSGenerator()) +} + +func Test_ManagedClustersAgentPool_Spec_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ManagedClustersAgentPool_Spec via JSON returns original", + prop.ForAll(RunJSONSerializationTestForManagedClustersAgentPool_Spec, ManagedClustersAgentPool_SpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForManagedClustersAgentPool_Spec runs a test to see if a specific instance of ManagedClustersAgentPool_Spec round trips to JSON and back losslessly +func RunJSONSerializationTestForManagedClustersAgentPool_Spec(subject ManagedClustersAgentPool_Spec) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ManagedClustersAgentPool_Spec + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ManagedClustersAgentPool_Spec instances for property testing - lazily instantiated by +// ManagedClustersAgentPool_SpecGenerator() +var managedClustersAgentPool_SpecGenerator gopter.Gen + +// ManagedClustersAgentPool_SpecGenerator returns a generator of ManagedClustersAgentPool_Spec instances for property testing. +// We first initialize managedClustersAgentPool_SpecGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func ManagedClustersAgentPool_SpecGenerator() gopter.Gen { + if managedClustersAgentPool_SpecGenerator != nil { + return managedClustersAgentPool_SpecGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClustersAgentPool_Spec(generators) + managedClustersAgentPool_SpecGenerator = gen.Struct(reflect.TypeOf(ManagedClustersAgentPool_Spec{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForManagedClustersAgentPool_Spec(generators) + AddRelatedPropertyGeneratorsForManagedClustersAgentPool_Spec(generators) + managedClustersAgentPool_SpecGenerator = gen.Struct(reflect.TypeOf(ManagedClustersAgentPool_Spec{}), generators) + + return managedClustersAgentPool_SpecGenerator +} + +// AddIndependentPropertyGeneratorsForManagedClustersAgentPool_Spec is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForManagedClustersAgentPool_Spec(gens map[string]gopter.Gen) { + gens["AvailabilityZones"] = gen.SliceOf(gen.AlphaString()) + gens["AzureName"] = gen.AlphaString() + gens["Count"] = gen.PtrOf(gen.Int()) + gens["EnableAutoScaling"] = gen.PtrOf(gen.Bool()) + gens["EnableEncryptionAtHost"] = gen.PtrOf(gen.Bool()) + gens["EnableFIPS"] = gen.PtrOf(gen.Bool()) + gens["EnableNodePublicIP"] = gen.PtrOf(gen.Bool()) + gens["EnableUltraSSD"] = gen.PtrOf(gen.Bool()) + gens["GpuInstanceProfile"] = gen.PtrOf(gen.AlphaString()) + gens["KubeletDiskType"] = gen.PtrOf(gen.AlphaString()) + gens["MaxCount"] = gen.PtrOf(gen.Int()) + gens["MaxPods"] = gen.PtrOf(gen.Int()) + gens["MinCount"] = gen.PtrOf(gen.Int()) + gens["Mode"] = gen.PtrOf(gen.AlphaString()) + gens["NodeLabels"] = gen.MapOf( + gen.AlphaString(), + gen.AlphaString()) + gens["NodeTaints"] = gen.SliceOf(gen.AlphaString()) + gens["OrchestratorVersion"] = gen.PtrOf(gen.AlphaString()) + gens["OriginalVersion"] = gen.AlphaString() + gens["OsDiskSizeGB"] = gen.PtrOf(gen.Int()) + gens["OsDiskType"] = gen.PtrOf(gen.AlphaString()) + gens["OsSKU"] = gen.PtrOf(gen.AlphaString()) + gens["OsType"] = gen.PtrOf(gen.AlphaString()) + gens["ScaleDownMode"] = gen.PtrOf(gen.AlphaString()) + gens["ScaleSetEvictionPolicy"] = gen.PtrOf(gen.AlphaString()) + gens["ScaleSetPriority"] = gen.PtrOf(gen.AlphaString()) + gens["SpotMaxPrice"] = gen.PtrOf(gen.Float64()) + gens["Tags"] = gen.MapOf( + gen.AlphaString(), + gen.AlphaString()) + gens["Type"] = gen.PtrOf(gen.AlphaString()) + gens["VmSize"] = gen.PtrOf(gen.AlphaString()) + gens["WorkloadRuntime"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForManagedClustersAgentPool_Spec is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForManagedClustersAgentPool_Spec(gens map[string]gopter.Gen) { + gens["CreationData"] = gen.PtrOf(CreationDataGenerator()) + gens["KubeletConfig"] = gen.PtrOf(KubeletConfigGenerator()) + gens["LinuxOSConfig"] = gen.PtrOf(LinuxOSConfigGenerator()) + gens["NetworkProfile"] = gen.PtrOf(AgentPoolNetworkProfileGenerator()) + gens["PowerState"] = gen.PtrOf(PowerStateGenerator()) + gens["SecurityProfile"] = gen.PtrOf(AgentPoolSecurityProfileGenerator()) + gens["UpgradeSettings"] = gen.PtrOf(AgentPoolUpgradeSettingsGenerator()) + gens["WindowsProfile"] = gen.PtrOf(AgentPoolWindowsProfileGenerator()) +} + +func Test_PortRange_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of PortRange via JSON returns original", + prop.ForAll(RunJSONSerializationTestForPortRange, PortRangeGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForPortRange runs a test to see if a specific instance of PortRange round trips to JSON and back losslessly +func RunJSONSerializationTestForPortRange(subject PortRange) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual PortRange + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of PortRange instances for property testing - lazily instantiated by PortRangeGenerator() +var portRangeGenerator gopter.Gen + +// PortRangeGenerator returns a generator of PortRange instances for property testing. +func PortRangeGenerator() gopter.Gen { + if portRangeGenerator != nil { + return portRangeGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForPortRange(generators) + portRangeGenerator = gen.Struct(reflect.TypeOf(PortRange{}), generators) + + return portRangeGenerator +} + +// AddIndependentPropertyGeneratorsForPortRange is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForPortRange(gens map[string]gopter.Gen) { + gens["PortEnd"] = gen.PtrOf(gen.Int()) + gens["PortStart"] = gen.PtrOf(gen.Int()) + gens["Protocol"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_PortRange_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of PortRange_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForPortRange_STATUS, PortRange_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForPortRange_STATUS runs a test to see if a specific instance of PortRange_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForPortRange_STATUS(subject PortRange_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual PortRange_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of PortRange_STATUS instances for property testing - lazily instantiated by PortRange_STATUSGenerator() +var portRange_STATUSGenerator gopter.Gen + +// PortRange_STATUSGenerator returns a generator of PortRange_STATUS instances for property testing. +func PortRange_STATUSGenerator() gopter.Gen { + if portRange_STATUSGenerator != nil { + return portRange_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForPortRange_STATUS(generators) + portRange_STATUSGenerator = gen.Struct(reflect.TypeOf(PortRange_STATUS{}), generators) + + return portRange_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForPortRange_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForPortRange_STATUS(gens map[string]gopter.Gen) { + gens["PortEnd"] = gen.PtrOf(gen.Int()) + gens["PortStart"] = gen.PtrOf(gen.Int()) + gens["Protocol"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_PowerState_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of PowerState via JSON returns original", + prop.ForAll(RunJSONSerializationTestForPowerState, PowerStateGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForPowerState runs a test to see if a specific instance of PowerState round trips to JSON and back losslessly +func RunJSONSerializationTestForPowerState(subject PowerState) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual PowerState + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of PowerState instances for property testing - lazily instantiated by PowerStateGenerator() +var powerStateGenerator gopter.Gen + +// PowerStateGenerator returns a generator of PowerState instances for property testing. +func PowerStateGenerator() gopter.Gen { + if powerStateGenerator != nil { + return powerStateGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForPowerState(generators) + powerStateGenerator = gen.Struct(reflect.TypeOf(PowerState{}), generators) + + return powerStateGenerator +} + +// AddIndependentPropertyGeneratorsForPowerState is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForPowerState(gens map[string]gopter.Gen) { + gens["Code"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_SysctlConfig_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of SysctlConfig via JSON returns original", + prop.ForAll(RunJSONSerializationTestForSysctlConfig, SysctlConfigGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForSysctlConfig runs a test to see if a specific instance of SysctlConfig round trips to JSON and back losslessly +func RunJSONSerializationTestForSysctlConfig(subject SysctlConfig) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual SysctlConfig + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of SysctlConfig instances for property testing - lazily instantiated by SysctlConfigGenerator() +var sysctlConfigGenerator gopter.Gen + +// SysctlConfigGenerator returns a generator of SysctlConfig instances for property testing. +func SysctlConfigGenerator() gopter.Gen { + if sysctlConfigGenerator != nil { + return sysctlConfigGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForSysctlConfig(generators) + sysctlConfigGenerator = gen.Struct(reflect.TypeOf(SysctlConfig{}), generators) + + return sysctlConfigGenerator +} + +// AddIndependentPropertyGeneratorsForSysctlConfig is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForSysctlConfig(gens map[string]gopter.Gen) { + gens["FsAioMaxNr"] = gen.PtrOf(gen.Int()) + gens["FsFileMax"] = gen.PtrOf(gen.Int()) + gens["FsInotifyMaxUserWatches"] = gen.PtrOf(gen.Int()) + gens["FsNrOpen"] = gen.PtrOf(gen.Int()) + gens["KernelThreadsMax"] = gen.PtrOf(gen.Int()) + gens["NetCoreNetdevMaxBacklog"] = gen.PtrOf(gen.Int()) + gens["NetCoreOptmemMax"] = gen.PtrOf(gen.Int()) + gens["NetCoreRmemDefault"] = gen.PtrOf(gen.Int()) + gens["NetCoreRmemMax"] = gen.PtrOf(gen.Int()) + gens["NetCoreSomaxconn"] = gen.PtrOf(gen.Int()) + gens["NetCoreWmemDefault"] = gen.PtrOf(gen.Int()) + gens["NetCoreWmemMax"] = gen.PtrOf(gen.Int()) + gens["NetIpv4IpLocalPortRange"] = gen.PtrOf(gen.AlphaString()) + gens["NetIpv4NeighDefaultGcThresh1"] = gen.PtrOf(gen.Int()) + gens["NetIpv4NeighDefaultGcThresh2"] = gen.PtrOf(gen.Int()) + gens["NetIpv4NeighDefaultGcThresh3"] = gen.PtrOf(gen.Int()) + gens["NetIpv4TcpFinTimeout"] = gen.PtrOf(gen.Int()) + gens["NetIpv4TcpKeepaliveProbes"] = gen.PtrOf(gen.Int()) + gens["NetIpv4TcpKeepaliveTime"] = gen.PtrOf(gen.Int()) + gens["NetIpv4TcpMaxSynBacklog"] = gen.PtrOf(gen.Int()) + gens["NetIpv4TcpMaxTwBuckets"] = gen.PtrOf(gen.Int()) + gens["NetIpv4TcpTwReuse"] = gen.PtrOf(gen.Bool()) + gens["NetIpv4TcpkeepaliveIntvl"] = gen.PtrOf(gen.Int()) + gens["NetNetfilterNfConntrackBuckets"] = gen.PtrOf(gen.Int()) + gens["NetNetfilterNfConntrackMax"] = gen.PtrOf(gen.Int()) + gens["VmMaxMapCount"] = gen.PtrOf(gen.Int()) + gens["VmSwappiness"] = gen.PtrOf(gen.Int()) + gens["VmVfsCachePressure"] = gen.PtrOf(gen.Int()) +} + +func Test_SysctlConfig_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of SysctlConfig_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForSysctlConfig_STATUS, SysctlConfig_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForSysctlConfig_STATUS runs a test to see if a specific instance of SysctlConfig_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForSysctlConfig_STATUS(subject SysctlConfig_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual SysctlConfig_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of SysctlConfig_STATUS instances for property testing - lazily instantiated by +// SysctlConfig_STATUSGenerator() +var sysctlConfig_STATUSGenerator gopter.Gen + +// SysctlConfig_STATUSGenerator returns a generator of SysctlConfig_STATUS instances for property testing. +func SysctlConfig_STATUSGenerator() gopter.Gen { + if sysctlConfig_STATUSGenerator != nil { + return sysctlConfig_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForSysctlConfig_STATUS(generators) + sysctlConfig_STATUSGenerator = gen.Struct(reflect.TypeOf(SysctlConfig_STATUS{}), generators) + + return sysctlConfig_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForSysctlConfig_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForSysctlConfig_STATUS(gens map[string]gopter.Gen) { + gens["FsAioMaxNr"] = gen.PtrOf(gen.Int()) + gens["FsFileMax"] = gen.PtrOf(gen.Int()) + gens["FsInotifyMaxUserWatches"] = gen.PtrOf(gen.Int()) + gens["FsNrOpen"] = gen.PtrOf(gen.Int()) + gens["KernelThreadsMax"] = gen.PtrOf(gen.Int()) + gens["NetCoreNetdevMaxBacklog"] = gen.PtrOf(gen.Int()) + gens["NetCoreOptmemMax"] = gen.PtrOf(gen.Int()) + gens["NetCoreRmemDefault"] = gen.PtrOf(gen.Int()) + gens["NetCoreRmemMax"] = gen.PtrOf(gen.Int()) + gens["NetCoreSomaxconn"] = gen.PtrOf(gen.Int()) + gens["NetCoreWmemDefault"] = gen.PtrOf(gen.Int()) + gens["NetCoreWmemMax"] = gen.PtrOf(gen.Int()) + gens["NetIpv4IpLocalPortRange"] = gen.PtrOf(gen.AlphaString()) + gens["NetIpv4NeighDefaultGcThresh1"] = gen.PtrOf(gen.Int()) + gens["NetIpv4NeighDefaultGcThresh2"] = gen.PtrOf(gen.Int()) + gens["NetIpv4NeighDefaultGcThresh3"] = gen.PtrOf(gen.Int()) + gens["NetIpv4TcpFinTimeout"] = gen.PtrOf(gen.Int()) + gens["NetIpv4TcpKeepaliveProbes"] = gen.PtrOf(gen.Int()) + gens["NetIpv4TcpKeepaliveTime"] = gen.PtrOf(gen.Int()) + gens["NetIpv4TcpMaxSynBacklog"] = gen.PtrOf(gen.Int()) + gens["NetIpv4TcpMaxTwBuckets"] = gen.PtrOf(gen.Int()) + gens["NetIpv4TcpTwReuse"] = gen.PtrOf(gen.Bool()) + gens["NetIpv4TcpkeepaliveIntvl"] = gen.PtrOf(gen.Int()) + gens["NetNetfilterNfConntrackBuckets"] = gen.PtrOf(gen.Int()) + gens["NetNetfilterNfConntrackMax"] = gen.PtrOf(gen.Int()) + gens["VmMaxMapCount"] = gen.PtrOf(gen.Int()) + gens["VmSwappiness"] = gen.PtrOf(gen.Int()) + gens["VmVfsCachePressure"] = gen.PtrOf(gen.Int()) +} diff --git a/v2/api/containerservice/v1api20240901/storage/structure.txt b/v2/api/containerservice/v1api20240901/storage/structure.txt new file mode 100644 index 00000000000..fb03db96276 --- /dev/null +++ b/v2/api/containerservice/v1api20240901/storage/structure.txt @@ -0,0 +1,1254 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20240901/storage +------------------------------------------------------------------------------------- +APIVersion: Enum (1 value) +└── "2024-09-01" +MaintenanceConfiguration: Resource +├── Owner: containerservice/v1api20240901.ManagedCluster +├── Spec: Object (7 properties) +│ ├── AzureName: string +│ ├── MaintenanceWindow: *Object (7 properties) +│ │ ├── DurationHours: *int +│ │ ├── NotAllowedDates: Object (3 properties)[] +│ │ │ ├── End: *string +│ │ │ ├── PropertyBag: genruntime.PropertyBag +│ │ │ └── Start: *string +│ │ ├── PropertyBag: genruntime.PropertyBag +│ │ ├── Schedule: *Object (5 properties) +│ │ │ ├── AbsoluteMonthly: *Object (3 properties) +│ │ │ │ ├── DayOfMonth: *int +│ │ │ │ ├── IntervalMonths: *int +│ │ │ │ └── PropertyBag: genruntime.PropertyBag +│ │ │ ├── Daily: *Object (2 properties) +│ │ │ │ ├── IntervalDays: *int +│ │ │ │ └── PropertyBag: genruntime.PropertyBag +│ │ │ ├── PropertyBag: genruntime.PropertyBag +│ │ │ ├── RelativeMonthly: *Object (4 properties) +│ │ │ │ ├── DayOfWeek: *string +│ │ │ │ ├── IntervalMonths: *int +│ │ │ │ ├── PropertyBag: genruntime.PropertyBag +│ │ │ │ └── WeekIndex: *string +│ │ │ └── Weekly: *Object (3 properties) +│ │ │ ├── DayOfWeek: *string +│ │ │ ├── IntervalWeeks: *int +│ │ │ └── PropertyBag: genruntime.PropertyBag +│ │ ├── StartDate: *string +│ │ ├── StartTime: *string +│ │ └── UtcOffset: *string +│ ├── NotAllowedTime: Object (3 properties)[] +│ │ ├── End: *string +│ │ ├── PropertyBag: genruntime.PropertyBag +│ │ └── Start: *string +│ ├── OriginalVersion: string +│ ├── Owner: *genruntime.KnownResourceReference +│ ├── PropertyBag: genruntime.PropertyBag +│ └── TimeInWeek: Object (3 properties)[] +│ ├── Day: *string +│ ├── HourSlots: int[] +│ └── PropertyBag: genruntime.PropertyBag +└── Status: Object (9 properties) + ├── Conditions: conditions.Condition[] + ├── Id: *string + ├── MaintenanceWindow: *Object (7 properties) + │ ├── DurationHours: *int + │ ├── NotAllowedDates: Object (3 properties)[] + │ │ ├── End: *string + │ │ ├── PropertyBag: genruntime.PropertyBag + │ │ └── Start: *string + │ ├── PropertyBag: genruntime.PropertyBag + │ ├── Schedule: *Object (5 properties) + │ │ ├── AbsoluteMonthly: *Object (3 properties) + │ │ │ ├── DayOfMonth: *int + │ │ │ ├── IntervalMonths: *int + │ │ │ └── PropertyBag: genruntime.PropertyBag + │ │ ├── Daily: *Object (2 properties) + │ │ │ ├── IntervalDays: *int + │ │ │ └── PropertyBag: genruntime.PropertyBag + │ │ ├── PropertyBag: genruntime.PropertyBag + │ │ ├── RelativeMonthly: *Object (4 properties) + │ │ │ ├── DayOfWeek: *string + │ │ │ ├── IntervalMonths: *int + │ │ │ ├── PropertyBag: genruntime.PropertyBag + │ │ │ └── WeekIndex: *string + │ │ └── Weekly: *Object (3 properties) + │ │ ├── DayOfWeek: *string + │ │ ├── IntervalWeeks: *int + │ │ └── PropertyBag: genruntime.PropertyBag + │ ├── StartDate: *string + │ ├── StartTime: *string + │ └── UtcOffset: *string + ├── Name: *string + ├── NotAllowedTime: Object (3 properties)[] + │ ├── End: *string + │ ├── PropertyBag: genruntime.PropertyBag + │ └── Start: *string + ├── PropertyBag: genruntime.PropertyBag + ├── SystemData: *Object (7 properties) + │ ├── CreatedAt: *string + │ ├── CreatedBy: *string + │ ├── CreatedByType: *string + │ ├── LastModifiedAt: *string + │ ├── LastModifiedBy: *string + │ ├── LastModifiedByType: *string + │ └── PropertyBag: genruntime.PropertyBag + ├── TimeInWeek: Object (3 properties)[] + │ ├── Day: *string + │ ├── HourSlots: int[] + │ └── PropertyBag: genruntime.PropertyBag + └── Type: *string +ManagedCluster: Resource +├── Owner: resources/v1apiv20191001.ResourceGroup +├── Spec: Object (44 properties) +│ ├── AadProfile: *Object (8 properties) +│ │ ├── AdminGroupObjectIDs: string[] +│ │ ├── ClientAppID: *string +│ │ ├── EnableAzureRBAC: *bool +│ │ ├── Managed: *bool +│ │ ├── PropertyBag: genruntime.PropertyBag +│ │ ├── ServerAppID: *string +│ │ ├── ServerAppSecret: *string +│ │ └── TenantID: *string +│ ├── AddonProfiles: map[string]Object (3 properties) +│ │ ├── Config: map[string]string +│ │ ├── Enabled: *bool +│ │ └── PropertyBag: genruntime.PropertyBag +│ ├── AgentPoolProfiles: Object (44 properties)[] +│ │ ├── AvailabilityZones: string[] +│ │ ├── CapacityReservationGroupReference: *genruntime.ResourceReference +│ │ ├── Count: *int +│ │ ├── CreationData: *Object (2 properties) +│ │ │ ├── PropertyBag: genruntime.PropertyBag +│ │ │ └── SourceResourceReference: *genruntime.ResourceReference +│ │ ├── EnableAutoScaling: *bool +│ │ ├── EnableEncryptionAtHost: *bool +│ │ ├── EnableFIPS: *bool +│ │ ├── EnableNodePublicIP: *bool +│ │ ├── EnableUltraSSD: *bool +│ │ ├── GpuInstanceProfile: *string +│ │ ├── HostGroupReference: *genruntime.ResourceReference +│ │ ├── KubeletConfig: *Object (12 properties) +│ │ │ ├── AllowedUnsafeSysctls: string[] +│ │ │ ├── ContainerLogMaxFiles: *int +│ │ │ ├── ContainerLogMaxSizeMB: *int +│ │ │ ├── CpuCfsQuota: *bool +│ │ │ ├── CpuCfsQuotaPeriod: *string +│ │ │ ├── CpuManagerPolicy: *string +│ │ │ ├── FailSwapOn: *bool +│ │ │ ├── ImageGcHighThreshold: *int +│ │ │ ├── ImageGcLowThreshold: *int +│ │ │ ├── PodMaxPids: *int +│ │ │ ├── PropertyBag: genruntime.PropertyBag +│ │ │ └── TopologyManagerPolicy: *string +│ │ ├── KubeletDiskType: *string +│ │ ├── LinuxOSConfig: *Object (5 properties) +│ │ │ ├── PropertyBag: genruntime.PropertyBag +│ │ │ ├── SwapFileSizeMB: *int +│ │ │ ├── Sysctls: *Object (29 properties) +│ │ │ │ ├── FsAioMaxNr: *int +│ │ │ │ ├── FsFileMax: *int +│ │ │ │ ├── FsInotifyMaxUserWatches: *int +│ │ │ │ ├── FsNrOpen: *int +│ │ │ │ ├── KernelThreadsMax: *int +│ │ │ │ ├── NetCoreNetdevMaxBacklog: *int +│ │ │ │ ├── NetCoreOptmemMax: *int +│ │ │ │ ├── NetCoreRmemDefault: *int +│ │ │ │ ├── NetCoreRmemMax: *int +│ │ │ │ ├── NetCoreSomaxconn: *int +│ │ │ │ ├── NetCoreWmemDefault: *int +│ │ │ │ ├── NetCoreWmemMax: *int +│ │ │ │ ├── NetIpv4IpLocalPortRange: *string +│ │ │ │ ├── NetIpv4NeighDefaultGcThresh1: *int +│ │ │ │ ├── NetIpv4NeighDefaultGcThresh2: *int +│ │ │ │ ├── NetIpv4NeighDefaultGcThresh3: *int +│ │ │ │ ├── NetIpv4TcpFinTimeout: *int +│ │ │ │ ├── NetIpv4TcpKeepaliveProbes: *int +│ │ │ │ ├── NetIpv4TcpKeepaliveTime: *int +│ │ │ │ ├── NetIpv4TcpMaxSynBacklog: *int +│ │ │ │ ├── NetIpv4TcpMaxTwBuckets: *int +│ │ │ │ ├── NetIpv4TcpTwReuse: *bool +│ │ │ │ ├── NetIpv4TcpkeepaliveIntvl: *int +│ │ │ │ ├── NetNetfilterNfConntrackBuckets: *int +│ │ │ │ ├── NetNetfilterNfConntrackMax: *int +│ │ │ │ ├── PropertyBag: genruntime.PropertyBag +│ │ │ │ ├── VmMaxMapCount: *int +│ │ │ │ ├── VmSwappiness: *int +│ │ │ │ └── VmVfsCachePressure: *int +│ │ │ ├── TransparentHugePageDefrag: *string +│ │ │ └── TransparentHugePageEnabled: *string +│ │ ├── MaxCount: *int +│ │ ├── MaxPods: *int +│ │ ├── MinCount: *int +│ │ ├── Mode: *string +│ │ ├── Name: *string +│ │ ├── NetworkProfile: *Object (4 properties) +│ │ │ ├── AllowedHostPorts: Object (4 properties)[] +│ │ │ │ ├── PortEnd: *int +│ │ │ │ ├── PortStart: *int +│ │ │ │ ├── PropertyBag: genruntime.PropertyBag +│ │ │ │ └── Protocol: *string +│ │ │ ├── ApplicationSecurityGroupsReferences: genruntime.ResourceReference[] +│ │ │ ├── NodePublicIPTags: Object (3 properties)[] +│ │ │ │ ├── IpTagType: *string +│ │ │ │ ├── PropertyBag: genruntime.PropertyBag +│ │ │ │ └── Tag: *string +│ │ │ └── PropertyBag: genruntime.PropertyBag +│ │ ├── NodeLabels: map[string]string +│ │ ├── NodePublicIPPrefixReference: *genruntime.ResourceReference +│ │ ├── NodeTaints: string[] +│ │ ├── OrchestratorVersion: *string +│ │ ├── OsDiskSizeGB: *int +│ │ ├── OsDiskType: *string +│ │ ├── OsSKU: *string +│ │ ├── OsType: *string +│ │ ├── PodSubnetReference: *genruntime.ResourceReference +│ │ ├── PowerState: *Object (2 properties) +│ │ │ ├── Code: *string +│ │ │ └── PropertyBag: genruntime.PropertyBag +│ │ ├── PropertyBag: genruntime.PropertyBag +│ │ ├── ProximityPlacementGroupReference: *genruntime.ResourceReference +│ │ ├── ScaleDownMode: *string +│ │ ├── ScaleSetEvictionPolicy: *string +│ │ ├── ScaleSetPriority: *string +│ │ ├── SecurityProfile: *Object (3 properties) +│ │ │ ├── EnableSecureBoot: *bool +│ │ │ ├── EnableVTPM: *bool +│ │ │ └── PropertyBag: genruntime.PropertyBag +│ │ ├── SpotMaxPrice: *float64 +│ │ ├── Tags: map[string]string +│ │ ├── Type: *string +│ │ ├── UpgradeSettings: *Object (4 properties) +│ │ │ ├── DrainTimeoutInMinutes: *int +│ │ │ ├── MaxSurge: *string +│ │ │ ├── NodeSoakDurationInMinutes: *int +│ │ │ └── PropertyBag: genruntime.PropertyBag +│ │ ├── VmSize: *string +│ │ ├── VnetSubnetReference: *genruntime.ResourceReference +│ │ ├── WindowsProfile: *Object (2 properties) +│ │ │ ├── DisableOutboundNat: *bool +│ │ │ └── PropertyBag: genruntime.PropertyBag +│ │ └── WorkloadRuntime: *string +│ ├── ApiServerAccessProfile: *Object (6 properties) +│ │ ├── AuthorizedIPRanges: string[] +│ │ ├── DisableRunCommand: *bool +│ │ ├── EnablePrivateCluster: *bool +│ │ ├── EnablePrivateClusterPublicFQDN: *bool +│ │ ├── PrivateDNSZone: *string +│ │ └── PropertyBag: genruntime.PropertyBag +│ ├── AutoScalerProfile: *Object (21 properties) +│ │ ├── BalanceSimilarNodeGroups: *string +│ │ ├── DaemonsetEvictionForEmptyNodes: *bool +│ │ ├── DaemonsetEvictionForOccupiedNodes: *bool +│ │ ├── Expander: *string +│ │ ├── IgnoreDaemonsetsUtilization: *bool +│ │ ├── MaxEmptyBulkDelete: *string +│ │ ├── MaxGracefulTerminationSec: *string +│ │ ├── MaxNodeProvisionTime: *string +│ │ ├── MaxTotalUnreadyPercentage: *string +│ │ ├── NewPodScaleUpDelay: *string +│ │ ├── OkTotalUnreadyCount: *string +│ │ ├── PropertyBag: genruntime.PropertyBag +│ │ ├── ScaleDownDelayAfterAdd: *string +│ │ ├── ScaleDownDelayAfterDelete: *string +│ │ ├── ScaleDownDelayAfterFailure: *string +│ │ ├── ScaleDownUnneededTime: *string +│ │ ├── ScaleDownUnreadyTime: *string +│ │ ├── ScaleDownUtilizationThreshold: *string +│ │ ├── ScanInterval: *string +│ │ ├── SkipNodesWithLocalStorage: *string +│ │ └── SkipNodesWithSystemPods: *string +│ ├── AutoUpgradeProfile: *Object (3 properties) +│ │ ├── NodeOSUpgradeChannel: *string +│ │ ├── PropertyBag: genruntime.PropertyBag +│ │ └── UpgradeChannel: *string +│ ├── AzureMonitorProfile: *Object (2 properties) +│ │ ├── Metrics: *Object (3 properties) +│ │ │ ├── Enabled: *bool +│ │ │ ├── KubeStateMetrics: *Object (3 properties) +│ │ │ │ ├── MetricAnnotationsAllowList: *string +│ │ │ │ ├── MetricLabelsAllowlist: *string +│ │ │ │ └── PropertyBag: genruntime.PropertyBag +│ │ │ └── PropertyBag: genruntime.PropertyBag +│ │ └── PropertyBag: genruntime.PropertyBag +│ ├── AzureName: string +│ ├── DisableLocalAccounts: *bool +│ ├── DiskEncryptionSetReference: *genruntime.ResourceReference +│ ├── DnsPrefix: *string +│ ├── EnablePodSecurityPolicy: *bool +│ ├── EnableRBAC: *bool +│ ├── ExtendedLocation: *Object (3 properties) +│ │ ├── Name: *string +│ │ ├── PropertyBag: genruntime.PropertyBag +│ │ └── Type: *string +│ ├── FqdnSubdomain: *string +│ ├── HttpProxyConfig: *Object (5 properties) +│ │ ├── HttpProxy: *string +│ │ ├── HttpsProxy: *string +│ │ ├── NoProxy: string[] +│ │ ├── PropertyBag: genruntime.PropertyBag +│ │ └── TrustedCa: *string +│ ├── Identity: *Object (4 properties) +│ │ ├── DelegatedResources: map[string]Object (5 properties) +│ │ │ ├── Location: *string +│ │ │ ├── PropertyBag: genruntime.PropertyBag +│ │ │ ├── ReferralResource: *string +│ │ │ ├── ResourceReference: *genruntime.ResourceReference +│ │ │ └── TenantId: *string +│ │ ├── PropertyBag: genruntime.PropertyBag +│ │ ├── Type: *string +│ │ └── UserAssignedIdentities: Object (2 properties)[] +│ │ ├── PropertyBag: genruntime.PropertyBag +│ │ └── Reference: genruntime.ResourceReference +│ ├── IdentityProfile: map[string]Object (4 properties) +│ │ ├── ClientId: *string +│ │ ├── ObjectId: *string +│ │ ├── PropertyBag: genruntime.PropertyBag +│ │ └── ResourceReference: *genruntime.ResourceReference +│ ├── IngressProfile: *Object (2 properties) +│ │ ├── PropertyBag: genruntime.PropertyBag +│ │ └── WebAppRouting: *Object (3 properties) +│ │ ├── DnsZoneResourceReferences: genruntime.ResourceReference[] +│ │ ├── Enabled: *bool +│ │ └── PropertyBag: genruntime.PropertyBag +│ ├── KubernetesVersion: *string +│ ├── LinuxProfile: *Object (3 properties) +│ │ ├── AdminUsername: *string +│ │ ├── PropertyBag: genruntime.PropertyBag +│ │ └── Ssh: *Object (2 properties) +│ │ ├── PropertyBag: genruntime.PropertyBag +│ │ └── PublicKeys: Object (2 properties)[] +│ │ ├── KeyData: *string +│ │ └── PropertyBag: genruntime.PropertyBag +│ ├── Location: *string +│ ├── MetricsProfile: *Object (2 properties) +│ │ ├── CostAnalysis: *Object (2 properties) +│ │ │ ├── Enabled: *bool +│ │ │ └── PropertyBag: genruntime.PropertyBag +│ │ └── PropertyBag: genruntime.PropertyBag +│ ├── NetworkProfile: *Object (17 properties) +│ │ ├── AdvancedNetworking: *Object (4 properties) +│ │ │ ├── Enabled: *bool +│ │ │ ├── Observability: *Object (2 properties) +│ │ │ │ ├── Enabled: *bool +│ │ │ │ └── PropertyBag: genruntime.PropertyBag +│ │ │ ├── PropertyBag: genruntime.PropertyBag +│ │ │ └── Security: *Object (2 properties) +│ │ │ ├── Enabled: *bool +│ │ │ └── PropertyBag: genruntime.PropertyBag +│ │ ├── DnsServiceIP: *string +│ │ ├── IpFamilies: string[] +│ │ ├── LoadBalancerProfile: *Object (9 properties) +│ │ │ ├── AllocatedOutboundPorts: *int +│ │ │ ├── BackendPoolType: *string +│ │ │ ├── EffectiveOutboundIPs: Object (2 properties)[] +│ │ │ │ ├── PropertyBag: genruntime.PropertyBag +│ │ │ │ └── Reference: *genruntime.ResourceReference +│ │ │ ├── EnableMultipleStandardLoadBalancers: *bool +│ │ │ ├── IdleTimeoutInMinutes: *int +│ │ │ ├── ManagedOutboundIPs: *Object (3 properties) +│ │ │ │ ├── Count: *int +│ │ │ │ ├── CountIPv6: *int +│ │ │ │ └── PropertyBag: genruntime.PropertyBag +│ │ │ ├── OutboundIPPrefixes: *Object (2 properties) +│ │ │ │ ├── PropertyBag: genruntime.PropertyBag +│ │ │ │ └── PublicIPPrefixes: Object (2 properties)[] +│ │ │ │ ├── PropertyBag: genruntime.PropertyBag +│ │ │ │ └── Reference: *genruntime.ResourceReference +│ │ │ ├── OutboundIPs: *Object (2 properties) +│ │ │ │ ├── PropertyBag: genruntime.PropertyBag +│ │ │ │ └── PublicIPs: Object (2 properties)[] +│ │ │ │ ├── PropertyBag: genruntime.PropertyBag +│ │ │ │ └── Reference: *genruntime.ResourceReference +│ │ │ └── PropertyBag: genruntime.PropertyBag +│ │ ├── LoadBalancerSku: *string +│ │ ├── NatGatewayProfile: *Object (4 properties) +│ │ │ ├── EffectiveOutboundIPs: Object (2 properties)[] +│ │ │ │ ├── PropertyBag: genruntime.PropertyBag +│ │ │ │ └── Reference: *genruntime.ResourceReference +│ │ │ ├── IdleTimeoutInMinutes: *int +│ │ │ ├── ManagedOutboundIPProfile: *Object (2 properties) +│ │ │ │ ├── Count: *int +│ │ │ │ └── PropertyBag: genruntime.PropertyBag +│ │ │ └── PropertyBag: genruntime.PropertyBag +│ │ ├── NetworkDataplane: *string +│ │ ├── NetworkMode: *string +│ │ ├── NetworkPlugin: *string +│ │ ├── NetworkPluginMode: *string +│ │ ├── NetworkPolicy: *string +│ │ ├── OutboundType: *string +│ │ ├── PodCidr: *string +│ │ ├── PodCidrs: string[] +│ │ ├── PropertyBag: genruntime.PropertyBag +│ │ ├── ServiceCidr: *string +│ │ └── ServiceCidrs: string[] +│ ├── NodeResourceGroup: *string +│ ├── NodeResourceGroupProfile: *Object (2 properties) +│ │ ├── PropertyBag: genruntime.PropertyBag +│ │ └── RestrictionLevel: *string +│ ├── OidcIssuerProfile: *Object (2 properties) +│ │ ├── Enabled: *bool +│ │ └── PropertyBag: genruntime.PropertyBag +│ ├── OperatorSpec: *Object (3 properties) +│ │ ├── ConfigMaps: *Object (2 properties) +│ │ │ ├── OIDCIssuerProfile: *genruntime.ConfigMapDestination +│ │ │ └── PropertyBag: genruntime.PropertyBag +│ │ ├── PropertyBag: genruntime.PropertyBag +│ │ └── Secrets: *Object (3 properties) +│ │ ├── AdminCredentials: *genruntime.SecretDestination +│ │ ├── PropertyBag: genruntime.PropertyBag +│ │ └── UserCredentials: *genruntime.SecretDestination +│ ├── OriginalVersion: string +│ ├── Owner: *genruntime.KnownResourceReference +│ ├── PodIdentityProfile: *Object (5 properties) +│ │ ├── AllowNetworkPluginKubenet: *bool +│ │ ├── Enabled: *bool +│ │ ├── PropertyBag: genruntime.PropertyBag +│ │ ├── UserAssignedIdentities: Object (5 properties)[] +│ │ │ ├── BindingSelector: *string +│ │ │ ├── Identity: *Object (4 properties) +│ │ │ │ ├── ClientId: *string +│ │ │ │ ├── ObjectId: *string +│ │ │ │ ├── PropertyBag: genruntime.PropertyBag +│ │ │ │ └── ResourceReference: *genruntime.ResourceReference +│ │ │ ├── Name: *string +│ │ │ ├── Namespace: *string +│ │ │ └── PropertyBag: genruntime.PropertyBag +│ │ └── UserAssignedIdentityExceptions: Object (4 properties)[] +│ │ ├── Name: *string +│ │ ├── Namespace: *string +│ │ ├── PodLabels: map[string]string +│ │ └── PropertyBag: genruntime.PropertyBag +│ ├── PrivateLinkResources: Object (6 properties)[] +│ │ ├── GroupId: *string +│ │ ├── Name: *string +│ │ ├── PropertyBag: genruntime.PropertyBag +│ │ ├── Reference: *genruntime.ResourceReference +│ │ ├── RequiredMembers: string[] +│ │ └── Type: *string +│ ├── PropertyBag: genruntime.PropertyBag +│ ├── PublicNetworkAccess: *string +│ ├── SecurityProfile: *Object (5 properties) +│ │ ├── AzureKeyVaultKms: *Object (5 properties) +│ │ │ ├── Enabled: *bool +│ │ │ ├── KeyId: *string +│ │ │ ├── KeyVaultNetworkAccess: *string +│ │ │ ├── KeyVaultResourceReference: *genruntime.ResourceReference +│ │ │ └── PropertyBag: genruntime.PropertyBag +│ │ ├── Defender: *Object (3 properties) +│ │ │ ├── LogAnalyticsWorkspaceResourceReference: *genruntime.ResourceReference +│ │ │ ├── PropertyBag: genruntime.PropertyBag +│ │ │ └── SecurityMonitoring: *Object (2 properties) +│ │ │ ├── Enabled: *bool +│ │ │ └── PropertyBag: genruntime.PropertyBag +│ │ ├── ImageCleaner: *Object (3 properties) +│ │ │ ├── Enabled: *bool +│ │ │ ├── IntervalHours: *int +│ │ │ └── PropertyBag: genruntime.PropertyBag +│ │ ├── PropertyBag: genruntime.PropertyBag +│ │ └── WorkloadIdentity: *Object (2 properties) +│ │ ├── Enabled: *bool +│ │ └── PropertyBag: genruntime.PropertyBag +│ ├── ServiceMeshProfile: *Object (3 properties) +│ │ ├── Istio: *Object (4 properties) +│ │ │ ├── CertificateAuthority: *Object (2 properties) +│ │ │ │ ├── Plugin: *Object (6 properties) +│ │ │ │ │ ├── CertChainObjectName: *string +│ │ │ │ │ ├── CertObjectName: *string +│ │ │ │ │ ├── KeyObjectName: *string +│ │ │ │ │ ├── KeyVaultReference: *genruntime.ResourceReference +│ │ │ │ │ ├── PropertyBag: genruntime.PropertyBag +│ │ │ │ │ └── RootCertObjectName: *string +│ │ │ │ └── PropertyBag: genruntime.PropertyBag +│ │ │ ├── Components: *Object (3 properties) +│ │ │ │ ├── EgressGateways: Object (2 properties)[] +│ │ │ │ │ ├── Enabled: *bool +│ │ │ │ │ └── PropertyBag: genruntime.PropertyBag +│ │ │ │ ├── IngressGateways: Object (3 properties)[] +│ │ │ │ │ ├── Enabled: *bool +│ │ │ │ │ ├── Mode: *string +│ │ │ │ │ └── PropertyBag: genruntime.PropertyBag +│ │ │ │ └── PropertyBag: genruntime.PropertyBag +│ │ │ ├── PropertyBag: genruntime.PropertyBag +│ │ │ └── Revisions: string[] +│ │ ├── Mode: *string +│ │ └── PropertyBag: genruntime.PropertyBag +│ ├── ServicePrincipalProfile: *Object (3 properties) +│ │ ├── ClientId: *string +│ │ ├── PropertyBag: genruntime.PropertyBag +│ │ └── Secret: *genruntime.SecretReference +│ ├── Sku: *Object (3 properties) +│ │ ├── Name: *string +│ │ ├── PropertyBag: genruntime.PropertyBag +│ │ └── Tier: *string +│ ├── StorageProfile: *Object (5 properties) +│ │ ├── BlobCSIDriver: *Object (2 properties) +│ │ │ ├── Enabled: *bool +│ │ │ └── PropertyBag: genruntime.PropertyBag +│ │ ├── DiskCSIDriver: *Object (2 properties) +│ │ │ ├── Enabled: *bool +│ │ │ └── PropertyBag: genruntime.PropertyBag +│ │ ├── FileCSIDriver: *Object (2 properties) +│ │ │ ├── Enabled: *bool +│ │ │ └── PropertyBag: genruntime.PropertyBag +│ │ ├── PropertyBag: genruntime.PropertyBag +│ │ └── SnapshotController: *Object (2 properties) +│ │ ├── Enabled: *bool +│ │ └── PropertyBag: genruntime.PropertyBag +│ ├── SupportPlan: *string +│ ├── Tags: map[string]string +│ ├── UpgradeSettings: *Object (2 properties) +│ │ ├── OverrideSettings: *Object (3 properties) +│ │ │ ├── ForceUpgrade: *bool +│ │ │ ├── PropertyBag: genruntime.PropertyBag +│ │ │ └── Until: *string +│ │ └── PropertyBag: genruntime.PropertyBag +│ ├── WindowsProfile: *Object (6 properties) +│ │ ├── AdminPassword: *genruntime.SecretReference +│ │ ├── AdminUsername: *string +│ │ ├── EnableCSIProxy: *bool +│ │ ├── GmsaProfile: *Object (4 properties) +│ │ │ ├── DnsServer: *string +│ │ │ ├── Enabled: *bool +│ │ │ ├── PropertyBag: genruntime.PropertyBag +│ │ │ └── RootDomainName: *string +│ │ ├── LicenseType: *string +│ │ └── PropertyBag: genruntime.PropertyBag +│ └── WorkloadAutoScalerProfile: *Object (3 properties) +│ ├── Keda: *Object (2 properties) +│ │ ├── Enabled: *bool +│ │ └── PropertyBag: genruntime.PropertyBag +│ ├── PropertyBag: genruntime.PropertyBag +│ └── VerticalPodAutoscaler: *Object (2 properties) +│ ├── Enabled: *bool +│ └── PropertyBag: genruntime.PropertyBag +└── Status: Object (54 properties) + ├── AadProfile: *Object (8 properties) + │ ├── AdminGroupObjectIDs: string[] + │ ├── ClientAppID: *string + │ ├── EnableAzureRBAC: *bool + │ ├── Managed: *bool + │ ├── PropertyBag: genruntime.PropertyBag + │ ├── ServerAppID: *string + │ ├── ServerAppSecret: *string + │ └── TenantID: *string + ├── AddonProfiles: map[string]Object (4 properties) + │ ├── Config: map[string]string + │ ├── Enabled: *bool + │ ├── Identity: *Object (4 properties) + │ │ ├── ClientId: *string + │ │ ├── ObjectId: *string + │ │ ├── PropertyBag: genruntime.PropertyBag + │ │ └── ResourceId: *string + │ └── PropertyBag: genruntime.PropertyBag + ├── AgentPoolProfiles: Object (48 properties)[] + │ ├── AvailabilityZones: string[] + │ ├── CapacityReservationGroupID: *string + │ ├── Count: *int + │ ├── CreationData: *Object (2 properties) + │ │ ├── PropertyBag: genruntime.PropertyBag + │ │ └── SourceResourceId: *string + │ ├── CurrentOrchestratorVersion: *string + │ ├── ETag: *string + │ ├── EnableAutoScaling: *bool + │ ├── EnableEncryptionAtHost: *bool + │ ├── EnableFIPS: *bool + │ ├── EnableNodePublicIP: *bool + │ ├── EnableUltraSSD: *bool + │ ├── GpuInstanceProfile: *string + │ ├── HostGroupID: *string + │ ├── KubeletConfig: *Object (12 properties) + │ │ ├── AllowedUnsafeSysctls: string[] + │ │ ├── ContainerLogMaxFiles: *int + │ │ ├── ContainerLogMaxSizeMB: *int + │ │ ├── CpuCfsQuota: *bool + │ │ ├── CpuCfsQuotaPeriod: *string + │ │ ├── CpuManagerPolicy: *string + │ │ ├── FailSwapOn: *bool + │ │ ├── ImageGcHighThreshold: *int + │ │ ├── ImageGcLowThreshold: *int + │ │ ├── PodMaxPids: *int + │ │ ├── PropertyBag: genruntime.PropertyBag + │ │ └── TopologyManagerPolicy: *string + │ ├── KubeletDiskType: *string + │ ├── LinuxOSConfig: *Object (5 properties) + │ │ ├── PropertyBag: genruntime.PropertyBag + │ │ ├── SwapFileSizeMB: *int + │ │ ├── Sysctls: *Object (29 properties) + │ │ │ ├── FsAioMaxNr: *int + │ │ │ ├── FsFileMax: *int + │ │ │ ├── FsInotifyMaxUserWatches: *int + │ │ │ ├── FsNrOpen: *int + │ │ │ ├── KernelThreadsMax: *int + │ │ │ ├── NetCoreNetdevMaxBacklog: *int + │ │ │ ├── NetCoreOptmemMax: *int + │ │ │ ├── NetCoreRmemDefault: *int + │ │ │ ├── NetCoreRmemMax: *int + │ │ │ ├── NetCoreSomaxconn: *int + │ │ │ ├── NetCoreWmemDefault: *int + │ │ │ ├── NetCoreWmemMax: *int + │ │ │ ├── NetIpv4IpLocalPortRange: *string + │ │ │ ├── NetIpv4NeighDefaultGcThresh1: *int + │ │ │ ├── NetIpv4NeighDefaultGcThresh2: *int + │ │ │ ├── NetIpv4NeighDefaultGcThresh3: *int + │ │ │ ├── NetIpv4TcpFinTimeout: *int + │ │ │ ├── NetIpv4TcpKeepaliveProbes: *int + │ │ │ ├── NetIpv4TcpKeepaliveTime: *int + │ │ │ ├── NetIpv4TcpMaxSynBacklog: *int + │ │ │ ├── NetIpv4TcpMaxTwBuckets: *int + │ │ │ ├── NetIpv4TcpTwReuse: *bool + │ │ │ ├── NetIpv4TcpkeepaliveIntvl: *int + │ │ │ ├── NetNetfilterNfConntrackBuckets: *int + │ │ │ ├── NetNetfilterNfConntrackMax: *int + │ │ │ ├── PropertyBag: genruntime.PropertyBag + │ │ │ ├── VmMaxMapCount: *int + │ │ │ ├── VmSwappiness: *int + │ │ │ └── VmVfsCachePressure: *int + │ │ ├── TransparentHugePageDefrag: *string + │ │ └── TransparentHugePageEnabled: *string + │ ├── MaxCount: *int + │ ├── MaxPods: *int + │ ├── MinCount: *int + │ ├── Mode: *string + │ ├── Name: *string + │ ├── NetworkProfile: *Object (4 properties) + │ │ ├── AllowedHostPorts: Object (4 properties)[] + │ │ │ ├── PortEnd: *int + │ │ │ ├── PortStart: *int + │ │ │ ├── PropertyBag: genruntime.PropertyBag + │ │ │ └── Protocol: *string + │ │ ├── ApplicationSecurityGroups: string[] + │ │ ├── NodePublicIPTags: Object (3 properties)[] + │ │ │ ├── IpTagType: *string + │ │ │ ├── PropertyBag: genruntime.PropertyBag + │ │ │ └── Tag: *string + │ │ └── PropertyBag: genruntime.PropertyBag + │ ├── NodeImageVersion: *string + │ ├── NodeLabels: map[string]string + │ ├── NodePublicIPPrefixID: *string + │ ├── NodeTaints: string[] + │ ├── OrchestratorVersion: *string + │ ├── OsDiskSizeGB: *int + │ ├── OsDiskType: *string + │ ├── OsSKU: *string + │ ├── OsType: *string + │ ├── PodSubnetID: *string + │ ├── PowerState: *Object (2 properties) + │ │ ├── Code: *string + │ │ └── PropertyBag: genruntime.PropertyBag + │ ├── PropertyBag: genruntime.PropertyBag + │ ├── ProvisioningState: *string + │ ├── ProximityPlacementGroupID: *string + │ ├── ScaleDownMode: *string + │ ├── ScaleSetEvictionPolicy: *string + │ ├── ScaleSetPriority: *string + │ ├── SecurityProfile: *Object (3 properties) + │ │ ├── EnableSecureBoot: *bool + │ │ ├── EnableVTPM: *bool + │ │ └── PropertyBag: genruntime.PropertyBag + │ ├── SpotMaxPrice: *float64 + │ ├── Tags: map[string]string + │ ├── Type: *string + │ ├── UpgradeSettings: *Object (4 properties) + │ │ ├── DrainTimeoutInMinutes: *int + │ │ ├── MaxSurge: *string + │ │ ├── NodeSoakDurationInMinutes: *int + │ │ └── PropertyBag: genruntime.PropertyBag + │ ├── VmSize: *string + │ ├── VnetSubnetID: *string + │ ├── WindowsProfile: *Object (2 properties) + │ │ ├── DisableOutboundNat: *bool + │ │ └── PropertyBag: genruntime.PropertyBag + │ └── WorkloadRuntime: *string + ├── ApiServerAccessProfile: *Object (6 properties) + │ ├── AuthorizedIPRanges: string[] + │ ├── DisableRunCommand: *bool + │ ├── EnablePrivateCluster: *bool + │ ├── EnablePrivateClusterPublicFQDN: *bool + │ ├── PrivateDNSZone: *string + │ └── PropertyBag: genruntime.PropertyBag + ├── AutoScalerProfile: *Object (21 properties) + │ ├── BalanceSimilarNodeGroups: *string + │ ├── DaemonsetEvictionForEmptyNodes: *bool + │ ├── DaemonsetEvictionForOccupiedNodes: *bool + │ ├── Expander: *string + │ ├── IgnoreDaemonsetsUtilization: *bool + │ ├── MaxEmptyBulkDelete: *string + │ ├── MaxGracefulTerminationSec: *string + │ ├── MaxNodeProvisionTime: *string + │ ├── MaxTotalUnreadyPercentage: *string + │ ├── NewPodScaleUpDelay: *string + │ ├── OkTotalUnreadyCount: *string + │ ├── PropertyBag: genruntime.PropertyBag + │ ├── ScaleDownDelayAfterAdd: *string + │ ├── ScaleDownDelayAfterDelete: *string + │ ├── ScaleDownDelayAfterFailure: *string + │ ├── ScaleDownUnneededTime: *string + │ ├── ScaleDownUnreadyTime: *string + │ ├── ScaleDownUtilizationThreshold: *string + │ ├── ScanInterval: *string + │ ├── SkipNodesWithLocalStorage: *string + │ └── SkipNodesWithSystemPods: *string + ├── AutoUpgradeProfile: *Object (3 properties) + │ ├── NodeOSUpgradeChannel: *string + │ ├── PropertyBag: genruntime.PropertyBag + │ └── UpgradeChannel: *string + ├── AzureMonitorProfile: *Object (2 properties) + │ ├── Metrics: *Object (3 properties) + │ │ ├── Enabled: *bool + │ │ ├── KubeStateMetrics: *Object (3 properties) + │ │ │ ├── MetricAnnotationsAllowList: *string + │ │ │ ├── MetricLabelsAllowlist: *string + │ │ │ └── PropertyBag: genruntime.PropertyBag + │ │ └── PropertyBag: genruntime.PropertyBag + │ └── PropertyBag: genruntime.PropertyBag + ├── AzurePortalFQDN: *string + ├── Conditions: conditions.Condition[] + ├── CurrentKubernetesVersion: *string + ├── DisableLocalAccounts: *bool + ├── DiskEncryptionSetID: *string + ├── DnsPrefix: *string + ├── ETag: *string + ├── EnablePodSecurityPolicy: *bool + ├── EnableRBAC: *bool + ├── ExtendedLocation: *Object (3 properties) + │ ├── Name: *string + │ ├── PropertyBag: genruntime.PropertyBag + │ └── Type: *string + ├── Fqdn: *string + ├── FqdnSubdomain: *string + ├── HttpProxyConfig: *Object (5 properties) + │ ├── HttpProxy: *string + │ ├── HttpsProxy: *string + │ ├── NoProxy: string[] + │ ├── PropertyBag: genruntime.PropertyBag + │ └── TrustedCa: *string + ├── Id: *string + ├── Identity: *Object (6 properties) + │ ├── DelegatedResources: map[string]Object (5 properties) + │ │ ├── Location: *string + │ │ ├── PropertyBag: genruntime.PropertyBag + │ │ ├── ReferralResource: *string + │ │ ├── ResourceId: *string + │ │ └── TenantId: *string + │ ├── PrincipalId: *string + │ ├── PropertyBag: genruntime.PropertyBag + │ ├── TenantId: *string + │ ├── Type: *string + │ └── UserAssignedIdentities: map[string]Object (3 properties) + │ ├── ClientId: *string + │ ├── PrincipalId: *string + │ └── PropertyBag: genruntime.PropertyBag + ├── IdentityProfile: map[string]Object (4 properties) + │ ├── ClientId: *string + │ ├── ObjectId: *string + │ ├── PropertyBag: genruntime.PropertyBag + │ └── ResourceId: *string + ├── IngressProfile: *Object (2 properties) + │ ├── PropertyBag: genruntime.PropertyBag + │ └── WebAppRouting: *Object (4 properties) + │ ├── DnsZoneResourceIds: string[] + │ ├── Enabled: *bool + │ ├── Identity: *Object (4 properties) + │ │ ├── ClientId: *string + │ │ ├── ObjectId: *string + │ │ ├── PropertyBag: genruntime.PropertyBag + │ │ └── ResourceId: *string + │ └── PropertyBag: genruntime.PropertyBag + ├── KubernetesVersion: *string + ├── LinuxProfile: *Object (3 properties) + │ ├── AdminUsername: *string + │ ├── PropertyBag: genruntime.PropertyBag + │ └── Ssh: *Object (2 properties) + │ ├── PropertyBag: genruntime.PropertyBag + │ └── PublicKeys: Object (2 properties)[] + │ ├── KeyData: *string + │ └── PropertyBag: genruntime.PropertyBag + ├── Location: *string + ├── MaxAgentPools: *int + ├── MetricsProfile: *Object (2 properties) + │ ├── CostAnalysis: *Object (2 properties) + │ │ ├── Enabled: *bool + │ │ └── PropertyBag: genruntime.PropertyBag + │ └── PropertyBag: genruntime.PropertyBag + ├── Name: *string + ├── NetworkProfile: *Object (17 properties) + │ ├── AdvancedNetworking: *Object (4 properties) + │ │ ├── Enabled: *bool + │ │ ├── Observability: *Object (2 properties) + │ │ │ ├── Enabled: *bool + │ │ │ └── PropertyBag: genruntime.PropertyBag + │ │ ├── PropertyBag: genruntime.PropertyBag + │ │ └── Security: *Object (2 properties) + │ │ ├── Enabled: *bool + │ │ └── PropertyBag: genruntime.PropertyBag + │ ├── DnsServiceIP: *string + │ ├── IpFamilies: string[] + │ ├── LoadBalancerProfile: *Object (9 properties) + │ │ ├── AllocatedOutboundPorts: *int + │ │ ├── BackendPoolType: *string + │ │ ├── EffectiveOutboundIPs: Object (2 properties)[] + │ │ │ ├── Id: *string + │ │ │ └── PropertyBag: genruntime.PropertyBag + │ │ ├── EnableMultipleStandardLoadBalancers: *bool + │ │ ├── IdleTimeoutInMinutes: *int + │ │ ├── ManagedOutboundIPs: *Object (3 properties) + │ │ │ ├── Count: *int + │ │ │ ├── CountIPv6: *int + │ │ │ └── PropertyBag: genruntime.PropertyBag + │ │ ├── OutboundIPPrefixes: *Object (2 properties) + │ │ │ ├── PropertyBag: genruntime.PropertyBag + │ │ │ └── PublicIPPrefixes: Object (2 properties)[] + │ │ │ ├── Id: *string + │ │ │ └── PropertyBag: genruntime.PropertyBag + │ │ ├── OutboundIPs: *Object (2 properties) + │ │ │ ├── PropertyBag: genruntime.PropertyBag + │ │ │ └── PublicIPs: Object (2 properties)[] + │ │ │ ├── Id: *string + │ │ │ └── PropertyBag: genruntime.PropertyBag + │ │ └── PropertyBag: genruntime.PropertyBag + │ ├── LoadBalancerSku: *string + │ ├── NatGatewayProfile: *Object (4 properties) + │ │ ├── EffectiveOutboundIPs: Object (2 properties)[] + │ │ │ ├── Id: *string + │ │ │ └── PropertyBag: genruntime.PropertyBag + │ │ ├── IdleTimeoutInMinutes: *int + │ │ ├── ManagedOutboundIPProfile: *Object (2 properties) + │ │ │ ├── Count: *int + │ │ │ └── PropertyBag: genruntime.PropertyBag + │ │ └── PropertyBag: genruntime.PropertyBag + │ ├── NetworkDataplane: *string + │ ├── NetworkMode: *string + │ ├── NetworkPlugin: *string + │ ├── NetworkPluginMode: *string + │ ├── NetworkPolicy: *string + │ ├── OutboundType: *string + │ ├── PodCidr: *string + │ ├── PodCidrs: string[] + │ ├── PropertyBag: genruntime.PropertyBag + │ ├── ServiceCidr: *string + │ └── ServiceCidrs: string[] + ├── NodeResourceGroup: *string + ├── NodeResourceGroupProfile: *Object (2 properties) + │ ├── PropertyBag: genruntime.PropertyBag + │ └── RestrictionLevel: *string + ├── OidcIssuerProfile: *Object (3 properties) + │ ├── Enabled: *bool + │ ├── IssuerURL: *string + │ └── PropertyBag: genruntime.PropertyBag + ├── PodIdentityProfile: *Object (5 properties) + │ ├── AllowNetworkPluginKubenet: *bool + │ ├── Enabled: *bool + │ ├── PropertyBag: genruntime.PropertyBag + │ ├── UserAssignedIdentities: Object (7 properties)[] + │ │ ├── BindingSelector: *string + │ │ ├── Identity: *Object (4 properties) + │ │ │ ├── ClientId: *string + │ │ │ ├── ObjectId: *string + │ │ │ ├── PropertyBag: genruntime.PropertyBag + │ │ │ └── ResourceId: *string + │ │ ├── Name: *string + │ │ ├── Namespace: *string + │ │ ├── PropertyBag: genruntime.PropertyBag + │ │ ├── ProvisioningInfo: *Object (2 properties) + │ │ │ ├── Error: *Object (2 properties) + │ │ │ │ ├── Error: *Object (5 properties) + │ │ │ │ │ ├── Code: *string + │ │ │ │ │ ├── Details: Object (4 properties)[] + │ │ │ │ │ │ ├── Code: *string + │ │ │ │ │ │ ├── Message: *string + │ │ │ │ │ │ ├── PropertyBag: genruntime.PropertyBag + │ │ │ │ │ │ └── Target: *string + │ │ │ │ │ ├── Message: *string + │ │ │ │ │ ├── PropertyBag: genruntime.PropertyBag + │ │ │ │ │ └── Target: *string + │ │ │ │ └── PropertyBag: genruntime.PropertyBag + │ │ │ └── PropertyBag: genruntime.PropertyBag + │ │ └── ProvisioningState: *string + │ └── UserAssignedIdentityExceptions: Object (4 properties)[] + │ ├── Name: *string + │ ├── Namespace: *string + │ ├── PodLabels: map[string]string + │ └── PropertyBag: genruntime.PropertyBag + ├── PowerState: *Object (2 properties) + │ ├── Code: *string + │ └── PropertyBag: genruntime.PropertyBag + ├── PrivateFQDN: *string + ├── PrivateLinkResources: Object (7 properties)[] + │ ├── GroupId: *string + │ ├── Id: *string + │ ├── Name: *string + │ ├── PrivateLinkServiceID: *string + │ ├── PropertyBag: genruntime.PropertyBag + │ ├── RequiredMembers: string[] + │ └── Type: *string + ├── PropertyBag: genruntime.PropertyBag + ├── ProvisioningState: *string + ├── PublicNetworkAccess: *string + ├── ResourceUID: *string + ├── SecurityProfile: *Object (5 properties) + │ ├── AzureKeyVaultKms: *Object (5 properties) + │ │ ├── Enabled: *bool + │ │ ├── KeyId: *string + │ │ ├── KeyVaultNetworkAccess: *string + │ │ ├── KeyVaultResourceId: *string + │ │ └── PropertyBag: genruntime.PropertyBag + │ ├── Defender: *Object (3 properties) + │ │ ├── LogAnalyticsWorkspaceResourceId: *string + │ │ ├── PropertyBag: genruntime.PropertyBag + │ │ └── SecurityMonitoring: *Object (2 properties) + │ │ ├── Enabled: *bool + │ │ └── PropertyBag: genruntime.PropertyBag + │ ├── ImageCleaner: *Object (3 properties) + │ │ ├── Enabled: *bool + │ │ ├── IntervalHours: *int + │ │ └── PropertyBag: genruntime.PropertyBag + │ ├── PropertyBag: genruntime.PropertyBag + │ └── WorkloadIdentity: *Object (2 properties) + │ ├── Enabled: *bool + │ └── PropertyBag: genruntime.PropertyBag + ├── ServiceMeshProfile: *Object (3 properties) + │ ├── Istio: *Object (4 properties) + │ │ ├── CertificateAuthority: *Object (2 properties) + │ │ │ ├── Plugin: *Object (6 properties) + │ │ │ │ ├── CertChainObjectName: *string + │ │ │ │ ├── CertObjectName: *string + │ │ │ │ ├── KeyObjectName: *string + │ │ │ │ ├── KeyVaultId: *string + │ │ │ │ ├── PropertyBag: genruntime.PropertyBag + │ │ │ │ └── RootCertObjectName: *string + │ │ │ └── PropertyBag: genruntime.PropertyBag + │ │ ├── Components: *Object (3 properties) + │ │ │ ├── EgressGateways: Object (2 properties)[] + │ │ │ │ ├── Enabled: *bool + │ │ │ │ └── PropertyBag: genruntime.PropertyBag + │ │ │ ├── IngressGateways: Object (3 properties)[] + │ │ │ │ ├── Enabled: *bool + │ │ │ │ ├── Mode: *string + │ │ │ │ └── PropertyBag: genruntime.PropertyBag + │ │ │ └── PropertyBag: genruntime.PropertyBag + │ │ ├── PropertyBag: genruntime.PropertyBag + │ │ └── Revisions: string[] + │ ├── Mode: *string + │ └── PropertyBag: genruntime.PropertyBag + ├── ServicePrincipalProfile: *Object (2 properties) + │ ├── ClientId: *string + │ └── PropertyBag: genruntime.PropertyBag + ├── Sku: *Object (3 properties) + │ ├── Name: *string + │ ├── PropertyBag: genruntime.PropertyBag + │ └── Tier: *string + ├── StorageProfile: *Object (5 properties) + │ ├── BlobCSIDriver: *Object (2 properties) + │ │ ├── Enabled: *bool + │ │ └── PropertyBag: genruntime.PropertyBag + │ ├── DiskCSIDriver: *Object (2 properties) + │ │ ├── Enabled: *bool + │ │ └── PropertyBag: genruntime.PropertyBag + │ ├── FileCSIDriver: *Object (2 properties) + │ │ ├── Enabled: *bool + │ │ └── PropertyBag: genruntime.PropertyBag + │ ├── PropertyBag: genruntime.PropertyBag + │ └── SnapshotController: *Object (2 properties) + │ ├── Enabled: *bool + │ └── PropertyBag: genruntime.PropertyBag + ├── SupportPlan: *string + ├── SystemData: *Object (7 properties) + │ ├── CreatedAt: *string + │ ├── CreatedBy: *string + │ ├── CreatedByType: *string + │ ├── LastModifiedAt: *string + │ ├── LastModifiedBy: *string + │ ├── LastModifiedByType: *string + │ └── PropertyBag: genruntime.PropertyBag + ├── Tags: map[string]string + ├── Type: *string + ├── UpgradeSettings: *Object (2 properties) + │ ├── OverrideSettings: *Object (3 properties) + │ │ ├── ForceUpgrade: *bool + │ │ ├── PropertyBag: genruntime.PropertyBag + │ │ └── Until: *string + │ └── PropertyBag: genruntime.PropertyBag + ├── WindowsProfile: *Object (5 properties) + │ ├── AdminUsername: *string + │ ├── EnableCSIProxy: *bool + │ ├── GmsaProfile: *Object (4 properties) + │ │ ├── DnsServer: *string + │ │ ├── Enabled: *bool + │ │ ├── PropertyBag: genruntime.PropertyBag + │ │ └── RootDomainName: *string + │ ├── LicenseType: *string + │ └── PropertyBag: genruntime.PropertyBag + └── WorkloadAutoScalerProfile: *Object (3 properties) + ├── Keda: *Object (2 properties) + │ ├── Enabled: *bool + │ └── PropertyBag: genruntime.PropertyBag + ├── PropertyBag: genruntime.PropertyBag + └── VerticalPodAutoscaler: *Object (2 properties) + ├── Enabled: *bool + └── PropertyBag: genruntime.PropertyBag +ManagedClustersAgentPool: Resource +├── Owner: containerservice/v1api20240901.ManagedCluster +├── Spec: Object (46 properties) +│ ├── AvailabilityZones: string[] +│ ├── AzureName: string +│ ├── CapacityReservationGroupReference: *genruntime.ResourceReference +│ ├── Count: *int +│ ├── CreationData: *Object (2 properties) +│ │ ├── PropertyBag: genruntime.PropertyBag +│ │ └── SourceResourceReference: *genruntime.ResourceReference +│ ├── EnableAutoScaling: *bool +│ ├── EnableEncryptionAtHost: *bool +│ ├── EnableFIPS: *bool +│ ├── EnableNodePublicIP: *bool +│ ├── EnableUltraSSD: *bool +│ ├── GpuInstanceProfile: *string +│ ├── HostGroupReference: *genruntime.ResourceReference +│ ├── KubeletConfig: *Object (12 properties) +│ │ ├── AllowedUnsafeSysctls: string[] +│ │ ├── ContainerLogMaxFiles: *int +│ │ ├── ContainerLogMaxSizeMB: *int +│ │ ├── CpuCfsQuota: *bool +│ │ ├── CpuCfsQuotaPeriod: *string +│ │ ├── CpuManagerPolicy: *string +│ │ ├── FailSwapOn: *bool +│ │ ├── ImageGcHighThreshold: *int +│ │ ├── ImageGcLowThreshold: *int +│ │ ├── PodMaxPids: *int +│ │ ├── PropertyBag: genruntime.PropertyBag +│ │ └── TopologyManagerPolicy: *string +│ ├── KubeletDiskType: *string +│ ├── LinuxOSConfig: *Object (5 properties) +│ │ ├── PropertyBag: genruntime.PropertyBag +│ │ ├── SwapFileSizeMB: *int +│ │ ├── Sysctls: *Object (29 properties) +│ │ │ ├── FsAioMaxNr: *int +│ │ │ ├── FsFileMax: *int +│ │ │ ├── FsInotifyMaxUserWatches: *int +│ │ │ ├── FsNrOpen: *int +│ │ │ ├── KernelThreadsMax: *int +│ │ │ ├── NetCoreNetdevMaxBacklog: *int +│ │ │ ├── NetCoreOptmemMax: *int +│ │ │ ├── NetCoreRmemDefault: *int +│ │ │ ├── NetCoreRmemMax: *int +│ │ │ ├── NetCoreSomaxconn: *int +│ │ │ ├── NetCoreWmemDefault: *int +│ │ │ ├── NetCoreWmemMax: *int +│ │ │ ├── NetIpv4IpLocalPortRange: *string +│ │ │ ├── NetIpv4NeighDefaultGcThresh1: *int +│ │ │ ├── NetIpv4NeighDefaultGcThresh2: *int +│ │ │ ├── NetIpv4NeighDefaultGcThresh3: *int +│ │ │ ├── NetIpv4TcpFinTimeout: *int +│ │ │ ├── NetIpv4TcpKeepaliveProbes: *int +│ │ │ ├── NetIpv4TcpKeepaliveTime: *int +│ │ │ ├── NetIpv4TcpMaxSynBacklog: *int +│ │ │ ├── NetIpv4TcpMaxTwBuckets: *int +│ │ │ ├── NetIpv4TcpTwReuse: *bool +│ │ │ ├── NetIpv4TcpkeepaliveIntvl: *int +│ │ │ ├── NetNetfilterNfConntrackBuckets: *int +│ │ │ ├── NetNetfilterNfConntrackMax: *int +│ │ │ ├── PropertyBag: genruntime.PropertyBag +│ │ │ ├── VmMaxMapCount: *int +│ │ │ ├── VmSwappiness: *int +│ │ │ └── VmVfsCachePressure: *int +│ │ ├── TransparentHugePageDefrag: *string +│ │ └── TransparentHugePageEnabled: *string +│ ├── MaxCount: *int +│ ├── MaxPods: *int +│ ├── MinCount: *int +│ ├── Mode: *string +│ ├── NetworkProfile: *Object (4 properties) +│ │ ├── AllowedHostPorts: Object (4 properties)[] +│ │ │ ├── PortEnd: *int +│ │ │ ├── PortStart: *int +│ │ │ ├── PropertyBag: genruntime.PropertyBag +│ │ │ └── Protocol: *string +│ │ ├── ApplicationSecurityGroupsReferences: genruntime.ResourceReference[] +│ │ ├── NodePublicIPTags: Object (3 properties)[] +│ │ │ ├── IpTagType: *string +│ │ │ ├── PropertyBag: genruntime.PropertyBag +│ │ │ └── Tag: *string +│ │ └── PropertyBag: genruntime.PropertyBag +│ ├── NodeLabels: map[string]string +│ ├── NodePublicIPPrefixReference: *genruntime.ResourceReference +│ ├── NodeTaints: string[] +│ ├── OrchestratorVersion: *string +│ ├── OriginalVersion: string +│ ├── OsDiskSizeGB: *int +│ ├── OsDiskType: *string +│ ├── OsSKU: *string +│ ├── OsType: *string +│ ├── Owner: *genruntime.KnownResourceReference +│ ├── PodSubnetReference: *genruntime.ResourceReference +│ ├── PowerState: *Object (2 properties) +│ │ ├── Code: *string +│ │ └── PropertyBag: genruntime.PropertyBag +│ ├── PropertyBag: genruntime.PropertyBag +│ ├── ProximityPlacementGroupReference: *genruntime.ResourceReference +│ ├── ScaleDownMode: *string +│ ├── ScaleSetEvictionPolicy: *string +│ ├── ScaleSetPriority: *string +│ ├── SecurityProfile: *Object (3 properties) +│ │ ├── EnableSecureBoot: *bool +│ │ ├── EnableVTPM: *bool +│ │ └── PropertyBag: genruntime.PropertyBag +│ ├── SpotMaxPrice: *float64 +│ ├── Tags: map[string]string +│ ├── Type: *string +│ ├── UpgradeSettings: *Object (4 properties) +│ │ ├── DrainTimeoutInMinutes: *int +│ │ ├── MaxSurge: *string +│ │ ├── NodeSoakDurationInMinutes: *int +│ │ └── PropertyBag: genruntime.PropertyBag +│ ├── VmSize: *string +│ ├── VnetSubnetReference: *genruntime.ResourceReference +│ ├── WindowsProfile: *Object (2 properties) +│ │ ├── DisableOutboundNat: *bool +│ │ └── PropertyBag: genruntime.PropertyBag +│ └── WorkloadRuntime: *string +└── Status: Object (51 properties) + ├── AvailabilityZones: string[] + ├── CapacityReservationGroupID: *string + ├── Conditions: conditions.Condition[] + ├── Count: *int + ├── CreationData: *Object (2 properties) + │ ├── PropertyBag: genruntime.PropertyBag + │ └── SourceResourceId: *string + ├── CurrentOrchestratorVersion: *string + ├── ETag: *string + ├── EnableAutoScaling: *bool + ├── EnableEncryptionAtHost: *bool + ├── EnableFIPS: *bool + ├── EnableNodePublicIP: *bool + ├── EnableUltraSSD: *bool + ├── GpuInstanceProfile: *string + ├── HostGroupID: *string + ├── Id: *string + ├── KubeletConfig: *Object (12 properties) + │ ├── AllowedUnsafeSysctls: string[] + │ ├── ContainerLogMaxFiles: *int + │ ├── ContainerLogMaxSizeMB: *int + │ ├── CpuCfsQuota: *bool + │ ├── CpuCfsQuotaPeriod: *string + │ ├── CpuManagerPolicy: *string + │ ├── FailSwapOn: *bool + │ ├── ImageGcHighThreshold: *int + │ ├── ImageGcLowThreshold: *int + │ ├── PodMaxPids: *int + │ ├── PropertyBag: genruntime.PropertyBag + │ └── TopologyManagerPolicy: *string + ├── KubeletDiskType: *string + ├── LinuxOSConfig: *Object (5 properties) + │ ├── PropertyBag: genruntime.PropertyBag + │ ├── SwapFileSizeMB: *int + │ ├── Sysctls: *Object (29 properties) + │ │ ├── FsAioMaxNr: *int + │ │ ├── FsFileMax: *int + │ │ ├── FsInotifyMaxUserWatches: *int + │ │ ├── FsNrOpen: *int + │ │ ├── KernelThreadsMax: *int + │ │ ├── NetCoreNetdevMaxBacklog: *int + │ │ ├── NetCoreOptmemMax: *int + │ │ ├── NetCoreRmemDefault: *int + │ │ ├── NetCoreRmemMax: *int + │ │ ├── NetCoreSomaxconn: *int + │ │ ├── NetCoreWmemDefault: *int + │ │ ├── NetCoreWmemMax: *int + │ │ ├── NetIpv4IpLocalPortRange: *string + │ │ ├── NetIpv4NeighDefaultGcThresh1: *int + │ │ ├── NetIpv4NeighDefaultGcThresh2: *int + │ │ ├── NetIpv4NeighDefaultGcThresh3: *int + │ │ ├── NetIpv4TcpFinTimeout: *int + │ │ ├── NetIpv4TcpKeepaliveProbes: *int + │ │ ├── NetIpv4TcpKeepaliveTime: *int + │ │ ├── NetIpv4TcpMaxSynBacklog: *int + │ │ ├── NetIpv4TcpMaxTwBuckets: *int + │ │ ├── NetIpv4TcpTwReuse: *bool + │ │ ├── NetIpv4TcpkeepaliveIntvl: *int + │ │ ├── NetNetfilterNfConntrackBuckets: *int + │ │ ├── NetNetfilterNfConntrackMax: *int + │ │ ├── PropertyBag: genruntime.PropertyBag + │ │ ├── VmMaxMapCount: *int + │ │ ├── VmSwappiness: *int + │ │ └── VmVfsCachePressure: *int + │ ├── TransparentHugePageDefrag: *string + │ └── TransparentHugePageEnabled: *string + ├── MaxCount: *int + ├── MaxPods: *int + ├── MinCount: *int + ├── Mode: *string + ├── Name: *string + ├── NetworkProfile: *Object (4 properties) + │ ├── AllowedHostPorts: Object (4 properties)[] + │ │ ├── PortEnd: *int + │ │ ├── PortStart: *int + │ │ ├── PropertyBag: genruntime.PropertyBag + │ │ └── Protocol: *string + │ ├── ApplicationSecurityGroups: string[] + │ ├── NodePublicIPTags: Object (3 properties)[] + │ │ ├── IpTagType: *string + │ │ ├── PropertyBag: genruntime.PropertyBag + │ │ └── Tag: *string + │ └── PropertyBag: genruntime.PropertyBag + ├── NodeImageVersion: *string + ├── NodeLabels: map[string]string + ├── NodePublicIPPrefixID: *string + ├── NodeTaints: string[] + ├── OrchestratorVersion: *string + ├── OsDiskSizeGB: *int + ├── OsDiskType: *string + ├── OsSKU: *string + ├── OsType: *string + ├── PodSubnetID: *string + ├── PowerState: *Object (2 properties) + │ ├── Code: *string + │ └── PropertyBag: genruntime.PropertyBag + ├── PropertiesType: *string + ├── PropertyBag: genruntime.PropertyBag + ├── ProvisioningState: *string + ├── ProximityPlacementGroupID: *string + ├── ScaleDownMode: *string + ├── ScaleSetEvictionPolicy: *string + ├── ScaleSetPriority: *string + ├── SecurityProfile: *Object (3 properties) + │ ├── EnableSecureBoot: *bool + │ ├── EnableVTPM: *bool + │ └── PropertyBag: genruntime.PropertyBag + ├── SpotMaxPrice: *float64 + ├── Tags: map[string]string + ├── Type: *string + ├── UpgradeSettings: *Object (4 properties) + │ ├── DrainTimeoutInMinutes: *int + │ ├── MaxSurge: *string + │ ├── NodeSoakDurationInMinutes: *int + │ └── PropertyBag: genruntime.PropertyBag + ├── VmSize: *string + ├── VnetSubnetID: *string + ├── WindowsProfile: *Object (2 properties) + │ ├── DisableOutboundNat: *bool + │ └── PropertyBag: genruntime.PropertyBag + └── WorkloadRuntime: *string +TrustedAccessRoleBinding: Resource +├── Owner: containerservice/v1api20240901.ManagedCluster +├── Spec: Object (6 properties) +│ ├── AzureName: string +│ ├── OriginalVersion: string +│ ├── Owner: *genruntime.KnownResourceReference +│ ├── PropertyBag: genruntime.PropertyBag +│ ├── Roles: string[] +│ └── SourceResourceReference: *genruntime.ResourceReference +└── Status: Object (9 properties) + ├── Conditions: conditions.Condition[] + ├── Id: *string + ├── Name: *string + ├── PropertyBag: genruntime.PropertyBag + ├── ProvisioningState: *string + ├── Roles: string[] + ├── SourceResourceId: *string + ├── SystemData: *Object (7 properties) + │ ├── CreatedAt: *string + │ ├── CreatedBy: *string + │ ├── CreatedByType: *string + │ ├── LastModifiedAt: *string + │ ├── LastModifiedBy: *string + │ ├── LastModifiedByType: *string + │ └── PropertyBag: genruntime.PropertyBag + └── Type: *string diff --git a/v2/api/containerservice/v1api20240901/storage/trusted_access_role_binding_types_gen.go b/v2/api/containerservice/v1api20240901/storage/trusted_access_role_binding_types_gen.go new file mode 100644 index 00000000000..e143175628f --- /dev/null +++ b/v2/api/containerservice/v1api20240901/storage/trusted_access_role_binding_types_gen.go @@ -0,0 +1,216 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package storage + +import ( + "github.com/Azure/azure-service-operator/v2/pkg/genruntime" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime/conditions" + "github.com/pkg/errors" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime/schema" +) + +// +kubebuilder:rbac:groups=containerservice.azure.com,resources=trustedaccessrolebindings,verbs=get;list;watch;create;update;patch;delete +// +kubebuilder:rbac:groups=containerservice.azure.com,resources={trustedaccessrolebindings/status,trustedaccessrolebindings/finalizers},verbs=get;update;patch + +// +kubebuilder:object:root=true +// +kubebuilder:subresource:status +// +kubebuilder:storageversion +// +kubebuilder:printcolumn:name="Ready",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +// +kubebuilder:printcolumn:name="Severity",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].severity" +// +kubebuilder:printcolumn:name="Reason",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].reason" +// +kubebuilder:printcolumn:name="Message",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].message" +// Storage version of v1api20240901.TrustedAccessRoleBinding +// Generator information: +// - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2024-09-01/managedClusters.json +// - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/trustedAccessRoleBindings/{trustedAccessRoleBindingName} +type TrustedAccessRoleBinding struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec TrustedAccessRoleBinding_Spec `json:"spec,omitempty"` + Status TrustedAccessRoleBinding_STATUS `json:"status,omitempty"` +} + +var _ conditions.Conditioner = &TrustedAccessRoleBinding{} + +// GetConditions returns the conditions of the resource +func (binding *TrustedAccessRoleBinding) GetConditions() conditions.Conditions { + return binding.Status.Conditions +} + +// SetConditions sets the conditions on the resource status +func (binding *TrustedAccessRoleBinding) SetConditions(conditions conditions.Conditions) { + binding.Status.Conditions = conditions +} + +var _ genruntime.KubernetesResource = &TrustedAccessRoleBinding{} + +// AzureName returns the Azure name of the resource +func (binding *TrustedAccessRoleBinding) AzureName() string { + return binding.Spec.AzureName +} + +// GetAPIVersion returns the ARM API version of the resource. This is always "2024-09-01" +func (binding TrustedAccessRoleBinding) GetAPIVersion() string { + return "2024-09-01" +} + +// GetResourceScope returns the scope of the resource +func (binding *TrustedAccessRoleBinding) GetResourceScope() genruntime.ResourceScope { + return genruntime.ResourceScopeResourceGroup +} + +// GetSpec returns the specification of this resource +func (binding *TrustedAccessRoleBinding) GetSpec() genruntime.ConvertibleSpec { + return &binding.Spec +} + +// GetStatus returns the status of this resource +func (binding *TrustedAccessRoleBinding) GetStatus() genruntime.ConvertibleStatus { + return &binding.Status +} + +// GetSupportedOperations returns the operations supported by the resource +func (binding *TrustedAccessRoleBinding) GetSupportedOperations() []genruntime.ResourceOperation { + return []genruntime.ResourceOperation{ + genruntime.ResourceOperationDelete, + genruntime.ResourceOperationGet, + genruntime.ResourceOperationPut, + } +} + +// GetType returns the ARM Type of the resource. This is always "Microsoft.ContainerService/managedClusters/trustedAccessRoleBindings" +func (binding *TrustedAccessRoleBinding) GetType() string { + return "Microsoft.ContainerService/managedClusters/trustedAccessRoleBindings" +} + +// NewEmptyStatus returns a new empty (blank) status +func (binding *TrustedAccessRoleBinding) NewEmptyStatus() genruntime.ConvertibleStatus { + return &TrustedAccessRoleBinding_STATUS{} +} + +// Owner returns the ResourceReference of the owner +func (binding *TrustedAccessRoleBinding) Owner() *genruntime.ResourceReference { + group, kind := genruntime.LookupOwnerGroupKind(binding.Spec) + return binding.Spec.Owner.AsResourceReference(group, kind) +} + +// SetStatus sets the status of this resource +func (binding *TrustedAccessRoleBinding) SetStatus(status genruntime.ConvertibleStatus) error { + // If we have exactly the right type of status, assign it + if st, ok := status.(*TrustedAccessRoleBinding_STATUS); ok { + binding.Status = *st + return nil + } + + // Convert status to required version + var st TrustedAccessRoleBinding_STATUS + err := status.ConvertStatusTo(&st) + if err != nil { + return errors.Wrap(err, "failed to convert status") + } + + binding.Status = st + return nil +} + +// Hub marks that this TrustedAccessRoleBinding is the hub type for conversion +func (binding *TrustedAccessRoleBinding) Hub() {} + +// OriginalGVK returns a GroupValueKind for the original API version used to create the resource +func (binding *TrustedAccessRoleBinding) OriginalGVK() *schema.GroupVersionKind { + return &schema.GroupVersionKind{ + Group: GroupVersion.Group, + Version: binding.Spec.OriginalVersion, + Kind: "TrustedAccessRoleBinding", + } +} + +// +kubebuilder:object:root=true +// Storage version of v1api20240901.TrustedAccessRoleBinding +// Generator information: +// - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2024-09-01/managedClusters.json +// - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/trustedAccessRoleBindings/{trustedAccessRoleBindingName} +type TrustedAccessRoleBindingList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []TrustedAccessRoleBinding `json:"items"` +} + +// Storage version of v1api20240901.TrustedAccessRoleBinding_Spec +type TrustedAccessRoleBinding_Spec struct { + // AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + // doesn't have to be. + AzureName string `json:"azureName,omitempty"` + OriginalVersion string `json:"originalVersion,omitempty"` + + // +kubebuilder:validation:Required + // Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + // controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + // reference to a containerservice.azure.com/ManagedCluster resource + Owner *genruntime.KnownResourceReference `group:"containerservice.azure.com" json:"owner,omitempty" kind:"ManagedCluster"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Roles []string `json:"roles,omitempty"` + + // +kubebuilder:validation:Required + // SourceResourceReference: The ARM resource ID of source resource that trusted access is configured for. + SourceResourceReference *genruntime.ResourceReference `armReference:"SourceResourceId" json:"sourceResourceReference,omitempty"` +} + +var _ genruntime.ConvertibleSpec = &TrustedAccessRoleBinding_Spec{} + +// ConvertSpecFrom populates our TrustedAccessRoleBinding_Spec from the provided source +func (binding *TrustedAccessRoleBinding_Spec) ConvertSpecFrom(source genruntime.ConvertibleSpec) error { + if source == binding { + return errors.New("attempted conversion between unrelated implementations of github.com/Azure/azure-service-operator/v2/pkg/genruntime/ConvertibleSpec") + } + + return source.ConvertSpecTo(binding) +} + +// ConvertSpecTo populates the provided destination from our TrustedAccessRoleBinding_Spec +func (binding *TrustedAccessRoleBinding_Spec) ConvertSpecTo(destination genruntime.ConvertibleSpec) error { + if destination == binding { + return errors.New("attempted conversion between unrelated implementations of github.com/Azure/azure-service-operator/v2/pkg/genruntime/ConvertibleSpec") + } + + return destination.ConvertSpecFrom(binding) +} + +// Storage version of v1api20240901.TrustedAccessRoleBinding_STATUS +type TrustedAccessRoleBinding_STATUS struct { + Conditions []conditions.Condition `json:"conditions,omitempty"` + Id *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + ProvisioningState *string `json:"provisioningState,omitempty"` + Roles []string `json:"roles,omitempty"` + SourceResourceId *string `json:"sourceResourceId,omitempty"` + SystemData *SystemData_STATUS `json:"systemData,omitempty"` + Type *string `json:"type,omitempty"` +} + +var _ genruntime.ConvertibleStatus = &TrustedAccessRoleBinding_STATUS{} + +// ConvertStatusFrom populates our TrustedAccessRoleBinding_STATUS from the provided source +func (binding *TrustedAccessRoleBinding_STATUS) ConvertStatusFrom(source genruntime.ConvertibleStatus) error { + if source == binding { + return errors.New("attempted conversion between unrelated implementations of github.com/Azure/azure-service-operator/v2/pkg/genruntime/ConvertibleStatus") + } + + return source.ConvertStatusTo(binding) +} + +// ConvertStatusTo populates the provided destination from our TrustedAccessRoleBinding_STATUS +func (binding *TrustedAccessRoleBinding_STATUS) ConvertStatusTo(destination genruntime.ConvertibleStatus) error { + if destination == binding { + return errors.New("attempted conversion between unrelated implementations of github.com/Azure/azure-service-operator/v2/pkg/genruntime/ConvertibleStatus") + } + + return destination.ConvertStatusFrom(binding) +} + +func init() { + SchemeBuilder.Register(&TrustedAccessRoleBinding{}, &TrustedAccessRoleBindingList{}) +} diff --git a/v2/api/containerservice/v1api20240901/storage/trusted_access_role_binding_types_gen_test.go b/v2/api/containerservice/v1api20240901/storage/trusted_access_role_binding_types_gen_test.go new file mode 100644 index 00000000000..732fd19bba7 --- /dev/null +++ b/v2/api/containerservice/v1api20240901/storage/trusted_access_role_binding_types_gen_test.go @@ -0,0 +1,223 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package storage + +import ( + "encoding/json" + "github.com/google/go-cmp/cmp" + "github.com/google/go-cmp/cmp/cmpopts" + "github.com/kr/pretty" + "github.com/kylelemons/godebug/diff" + "github.com/leanovate/gopter" + "github.com/leanovate/gopter/gen" + "github.com/leanovate/gopter/prop" + "os" + "reflect" + "testing" +) + +func Test_TrustedAccessRoleBinding_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 20 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of TrustedAccessRoleBinding via JSON returns original", + prop.ForAll(RunJSONSerializationTestForTrustedAccessRoleBinding, TrustedAccessRoleBindingGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForTrustedAccessRoleBinding runs a test to see if a specific instance of TrustedAccessRoleBinding round trips to JSON and back losslessly +func RunJSONSerializationTestForTrustedAccessRoleBinding(subject TrustedAccessRoleBinding) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual TrustedAccessRoleBinding + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of TrustedAccessRoleBinding instances for property testing - lazily instantiated by +// TrustedAccessRoleBindingGenerator() +var trustedAccessRoleBindingGenerator gopter.Gen + +// TrustedAccessRoleBindingGenerator returns a generator of TrustedAccessRoleBinding instances for property testing. +func TrustedAccessRoleBindingGenerator() gopter.Gen { + if trustedAccessRoleBindingGenerator != nil { + return trustedAccessRoleBindingGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForTrustedAccessRoleBinding(generators) + trustedAccessRoleBindingGenerator = gen.Struct(reflect.TypeOf(TrustedAccessRoleBinding{}), generators) + + return trustedAccessRoleBindingGenerator +} + +// AddRelatedPropertyGeneratorsForTrustedAccessRoleBinding is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForTrustedAccessRoleBinding(gens map[string]gopter.Gen) { + gens["Spec"] = TrustedAccessRoleBinding_SpecGenerator() + gens["Status"] = TrustedAccessRoleBinding_STATUSGenerator() +} + +func Test_TrustedAccessRoleBinding_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of TrustedAccessRoleBinding_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForTrustedAccessRoleBinding_STATUS, TrustedAccessRoleBinding_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForTrustedAccessRoleBinding_STATUS runs a test to see if a specific instance of TrustedAccessRoleBinding_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForTrustedAccessRoleBinding_STATUS(subject TrustedAccessRoleBinding_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual TrustedAccessRoleBinding_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of TrustedAccessRoleBinding_STATUS instances for property testing - lazily instantiated by +// TrustedAccessRoleBinding_STATUSGenerator() +var trustedAccessRoleBinding_STATUSGenerator gopter.Gen + +// TrustedAccessRoleBinding_STATUSGenerator returns a generator of TrustedAccessRoleBinding_STATUS instances for property testing. +// We first initialize trustedAccessRoleBinding_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func TrustedAccessRoleBinding_STATUSGenerator() gopter.Gen { + if trustedAccessRoleBinding_STATUSGenerator != nil { + return trustedAccessRoleBinding_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForTrustedAccessRoleBinding_STATUS(generators) + trustedAccessRoleBinding_STATUSGenerator = gen.Struct(reflect.TypeOf(TrustedAccessRoleBinding_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForTrustedAccessRoleBinding_STATUS(generators) + AddRelatedPropertyGeneratorsForTrustedAccessRoleBinding_STATUS(generators) + trustedAccessRoleBinding_STATUSGenerator = gen.Struct(reflect.TypeOf(TrustedAccessRoleBinding_STATUS{}), generators) + + return trustedAccessRoleBinding_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForTrustedAccessRoleBinding_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForTrustedAccessRoleBinding_STATUS(gens map[string]gopter.Gen) { + gens["Id"] = gen.PtrOf(gen.AlphaString()) + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["ProvisioningState"] = gen.PtrOf(gen.AlphaString()) + gens["Roles"] = gen.SliceOf(gen.AlphaString()) + gens["SourceResourceId"] = gen.PtrOf(gen.AlphaString()) + gens["Type"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForTrustedAccessRoleBinding_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForTrustedAccessRoleBinding_STATUS(gens map[string]gopter.Gen) { + gens["SystemData"] = gen.PtrOf(SystemData_STATUSGenerator()) +} + +func Test_TrustedAccessRoleBinding_Spec_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of TrustedAccessRoleBinding_Spec via JSON returns original", + prop.ForAll(RunJSONSerializationTestForTrustedAccessRoleBinding_Spec, TrustedAccessRoleBinding_SpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForTrustedAccessRoleBinding_Spec runs a test to see if a specific instance of TrustedAccessRoleBinding_Spec round trips to JSON and back losslessly +func RunJSONSerializationTestForTrustedAccessRoleBinding_Spec(subject TrustedAccessRoleBinding_Spec) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual TrustedAccessRoleBinding_Spec + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of TrustedAccessRoleBinding_Spec instances for property testing - lazily instantiated by +// TrustedAccessRoleBinding_SpecGenerator() +var trustedAccessRoleBinding_SpecGenerator gopter.Gen + +// TrustedAccessRoleBinding_SpecGenerator returns a generator of TrustedAccessRoleBinding_Spec instances for property testing. +func TrustedAccessRoleBinding_SpecGenerator() gopter.Gen { + if trustedAccessRoleBinding_SpecGenerator != nil { + return trustedAccessRoleBinding_SpecGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForTrustedAccessRoleBinding_Spec(generators) + trustedAccessRoleBinding_SpecGenerator = gen.Struct(reflect.TypeOf(TrustedAccessRoleBinding_Spec{}), generators) + + return trustedAccessRoleBinding_SpecGenerator +} + +// AddIndependentPropertyGeneratorsForTrustedAccessRoleBinding_Spec is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForTrustedAccessRoleBinding_Spec(gens map[string]gopter.Gen) { + gens["AzureName"] = gen.AlphaString() + gens["OriginalVersion"] = gen.AlphaString() + gens["Roles"] = gen.SliceOf(gen.AlphaString()) +} diff --git a/v2/api/containerservice/v1api20240901/storage/zz_generated.deepcopy.go b/v2/api/containerservice/v1api20240901/storage/zz_generated.deepcopy.go new file mode 100644 index 00000000000..9ad7e4ac660 --- /dev/null +++ b/v2/api/containerservice/v1api20240901/storage/zz_generated.deepcopy.go @@ -0,0 +1,8767 @@ +//go:build !ignore_autogenerated + +/* +Copyright (c) Microsoft Corporation. +Licensed under the MIT license. +*/ + +// Code generated by controller-gen. DO NOT EDIT. + +package storage + +import ( + "github.com/Azure/azure-service-operator/v2/pkg/genruntime" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime/conditions" + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AbsoluteMonthlySchedule) DeepCopyInto(out *AbsoluteMonthlySchedule) { + *out = *in + if in.DayOfMonth != nil { + in, out := &in.DayOfMonth, &out.DayOfMonth + *out = new(int) + **out = **in + } + if in.IntervalMonths != nil { + in, out := &in.IntervalMonths, &out.IntervalMonths + *out = new(int) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AbsoluteMonthlySchedule. +func (in *AbsoluteMonthlySchedule) DeepCopy() *AbsoluteMonthlySchedule { + if in == nil { + return nil + } + out := new(AbsoluteMonthlySchedule) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AbsoluteMonthlySchedule_STATUS) DeepCopyInto(out *AbsoluteMonthlySchedule_STATUS) { + *out = *in + if in.DayOfMonth != nil { + in, out := &in.DayOfMonth, &out.DayOfMonth + *out = new(int) + **out = **in + } + if in.IntervalMonths != nil { + in, out := &in.IntervalMonths, &out.IntervalMonths + *out = new(int) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AbsoluteMonthlySchedule_STATUS. +func (in *AbsoluteMonthlySchedule_STATUS) DeepCopy() *AbsoluteMonthlySchedule_STATUS { + if in == nil { + return nil + } + out := new(AbsoluteMonthlySchedule_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AdvancedNetworking) DeepCopyInto(out *AdvancedNetworking) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.Observability != nil { + in, out := &in.Observability, &out.Observability + *out = new(AdvancedNetworkingObservability) + (*in).DeepCopyInto(*out) + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.Security != nil { + in, out := &in.Security, &out.Security + *out = new(AdvancedNetworkingSecurity) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AdvancedNetworking. +func (in *AdvancedNetworking) DeepCopy() *AdvancedNetworking { + if in == nil { + return nil + } + out := new(AdvancedNetworking) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AdvancedNetworkingObservability) DeepCopyInto(out *AdvancedNetworkingObservability) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AdvancedNetworkingObservability. +func (in *AdvancedNetworkingObservability) DeepCopy() *AdvancedNetworkingObservability { + if in == nil { + return nil + } + out := new(AdvancedNetworkingObservability) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AdvancedNetworkingObservability_STATUS) DeepCopyInto(out *AdvancedNetworkingObservability_STATUS) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AdvancedNetworkingObservability_STATUS. +func (in *AdvancedNetworkingObservability_STATUS) DeepCopy() *AdvancedNetworkingObservability_STATUS { + if in == nil { + return nil + } + out := new(AdvancedNetworkingObservability_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AdvancedNetworkingSecurity) DeepCopyInto(out *AdvancedNetworkingSecurity) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AdvancedNetworkingSecurity. +func (in *AdvancedNetworkingSecurity) DeepCopy() *AdvancedNetworkingSecurity { + if in == nil { + return nil + } + out := new(AdvancedNetworkingSecurity) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AdvancedNetworkingSecurity_STATUS) DeepCopyInto(out *AdvancedNetworkingSecurity_STATUS) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AdvancedNetworkingSecurity_STATUS. +func (in *AdvancedNetworkingSecurity_STATUS) DeepCopy() *AdvancedNetworkingSecurity_STATUS { + if in == nil { + return nil + } + out := new(AdvancedNetworkingSecurity_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AdvancedNetworking_STATUS) DeepCopyInto(out *AdvancedNetworking_STATUS) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.Observability != nil { + in, out := &in.Observability, &out.Observability + *out = new(AdvancedNetworkingObservability_STATUS) + (*in).DeepCopyInto(*out) + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.Security != nil { + in, out := &in.Security, &out.Security + *out = new(AdvancedNetworkingSecurity_STATUS) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AdvancedNetworking_STATUS. +func (in *AdvancedNetworking_STATUS) DeepCopy() *AdvancedNetworking_STATUS { + if in == nil { + return nil + } + out := new(AdvancedNetworking_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AgentPoolNetworkProfile) DeepCopyInto(out *AgentPoolNetworkProfile) { + *out = *in + if in.AllowedHostPorts != nil { + in, out := &in.AllowedHostPorts, &out.AllowedHostPorts + *out = make([]PortRange, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ApplicationSecurityGroupsReferences != nil { + in, out := &in.ApplicationSecurityGroupsReferences, &out.ApplicationSecurityGroupsReferences + *out = make([]genruntime.ResourceReference, len(*in)) + copy(*out, *in) + } + if in.NodePublicIPTags != nil { + in, out := &in.NodePublicIPTags, &out.NodePublicIPTags + *out = make([]IPTag, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AgentPoolNetworkProfile. +func (in *AgentPoolNetworkProfile) DeepCopy() *AgentPoolNetworkProfile { + if in == nil { + return nil + } + out := new(AgentPoolNetworkProfile) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AgentPoolNetworkProfile_STATUS) DeepCopyInto(out *AgentPoolNetworkProfile_STATUS) { + *out = *in + if in.AllowedHostPorts != nil { + in, out := &in.AllowedHostPorts, &out.AllowedHostPorts + *out = make([]PortRange_STATUS, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ApplicationSecurityGroups != nil { + in, out := &in.ApplicationSecurityGroups, &out.ApplicationSecurityGroups + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.NodePublicIPTags != nil { + in, out := &in.NodePublicIPTags, &out.NodePublicIPTags + *out = make([]IPTag_STATUS, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AgentPoolNetworkProfile_STATUS. +func (in *AgentPoolNetworkProfile_STATUS) DeepCopy() *AgentPoolNetworkProfile_STATUS { + if in == nil { + return nil + } + out := new(AgentPoolNetworkProfile_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AgentPoolSecurityProfile) DeepCopyInto(out *AgentPoolSecurityProfile) { + *out = *in + if in.EnableSecureBoot != nil { + in, out := &in.EnableSecureBoot, &out.EnableSecureBoot + *out = new(bool) + **out = **in + } + if in.EnableVTPM != nil { + in, out := &in.EnableVTPM, &out.EnableVTPM + *out = new(bool) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AgentPoolSecurityProfile. +func (in *AgentPoolSecurityProfile) DeepCopy() *AgentPoolSecurityProfile { + if in == nil { + return nil + } + out := new(AgentPoolSecurityProfile) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AgentPoolSecurityProfile_STATUS) DeepCopyInto(out *AgentPoolSecurityProfile_STATUS) { + *out = *in + if in.EnableSecureBoot != nil { + in, out := &in.EnableSecureBoot, &out.EnableSecureBoot + *out = new(bool) + **out = **in + } + if in.EnableVTPM != nil { + in, out := &in.EnableVTPM, &out.EnableVTPM + *out = new(bool) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AgentPoolSecurityProfile_STATUS. +func (in *AgentPoolSecurityProfile_STATUS) DeepCopy() *AgentPoolSecurityProfile_STATUS { + if in == nil { + return nil + } + out := new(AgentPoolSecurityProfile_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AgentPoolUpgradeSettings) DeepCopyInto(out *AgentPoolUpgradeSettings) { + *out = *in + if in.DrainTimeoutInMinutes != nil { + in, out := &in.DrainTimeoutInMinutes, &out.DrainTimeoutInMinutes + *out = new(int) + **out = **in + } + if in.MaxSurge != nil { + in, out := &in.MaxSurge, &out.MaxSurge + *out = new(string) + **out = **in + } + if in.NodeSoakDurationInMinutes != nil { + in, out := &in.NodeSoakDurationInMinutes, &out.NodeSoakDurationInMinutes + *out = new(int) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AgentPoolUpgradeSettings. +func (in *AgentPoolUpgradeSettings) DeepCopy() *AgentPoolUpgradeSettings { + if in == nil { + return nil + } + out := new(AgentPoolUpgradeSettings) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AgentPoolUpgradeSettings_STATUS) DeepCopyInto(out *AgentPoolUpgradeSettings_STATUS) { + *out = *in + if in.DrainTimeoutInMinutes != nil { + in, out := &in.DrainTimeoutInMinutes, &out.DrainTimeoutInMinutes + *out = new(int) + **out = **in + } + if in.MaxSurge != nil { + in, out := &in.MaxSurge, &out.MaxSurge + *out = new(string) + **out = **in + } + if in.NodeSoakDurationInMinutes != nil { + in, out := &in.NodeSoakDurationInMinutes, &out.NodeSoakDurationInMinutes + *out = new(int) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AgentPoolUpgradeSettings_STATUS. +func (in *AgentPoolUpgradeSettings_STATUS) DeepCopy() *AgentPoolUpgradeSettings_STATUS { + if in == nil { + return nil + } + out := new(AgentPoolUpgradeSettings_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AgentPoolWindowsProfile) DeepCopyInto(out *AgentPoolWindowsProfile) { + *out = *in + if in.DisableOutboundNat != nil { + in, out := &in.DisableOutboundNat, &out.DisableOutboundNat + *out = new(bool) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AgentPoolWindowsProfile. +func (in *AgentPoolWindowsProfile) DeepCopy() *AgentPoolWindowsProfile { + if in == nil { + return nil + } + out := new(AgentPoolWindowsProfile) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AgentPoolWindowsProfile_STATUS) DeepCopyInto(out *AgentPoolWindowsProfile_STATUS) { + *out = *in + if in.DisableOutboundNat != nil { + in, out := &in.DisableOutboundNat, &out.DisableOutboundNat + *out = new(bool) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AgentPoolWindowsProfile_STATUS. +func (in *AgentPoolWindowsProfile_STATUS) DeepCopy() *AgentPoolWindowsProfile_STATUS { + if in == nil { + return nil + } + out := new(AgentPoolWindowsProfile_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AzureKeyVaultKms) DeepCopyInto(out *AzureKeyVaultKms) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.KeyId != nil { + in, out := &in.KeyId, &out.KeyId + *out = new(string) + **out = **in + } + if in.KeyVaultNetworkAccess != nil { + in, out := &in.KeyVaultNetworkAccess, &out.KeyVaultNetworkAccess + *out = new(string) + **out = **in + } + if in.KeyVaultResourceReference != nil { + in, out := &in.KeyVaultResourceReference, &out.KeyVaultResourceReference + *out = new(genruntime.ResourceReference) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AzureKeyVaultKms. +func (in *AzureKeyVaultKms) DeepCopy() *AzureKeyVaultKms { + if in == nil { + return nil + } + out := new(AzureKeyVaultKms) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AzureKeyVaultKms_STATUS) DeepCopyInto(out *AzureKeyVaultKms_STATUS) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.KeyId != nil { + in, out := &in.KeyId, &out.KeyId + *out = new(string) + **out = **in + } + if in.KeyVaultNetworkAccess != nil { + in, out := &in.KeyVaultNetworkAccess, &out.KeyVaultNetworkAccess + *out = new(string) + **out = **in + } + if in.KeyVaultResourceId != nil { + in, out := &in.KeyVaultResourceId, &out.KeyVaultResourceId + *out = new(string) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AzureKeyVaultKms_STATUS. +func (in *AzureKeyVaultKms_STATUS) DeepCopy() *AzureKeyVaultKms_STATUS { + if in == nil { + return nil + } + out := new(AzureKeyVaultKms_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClusterUpgradeSettings) DeepCopyInto(out *ClusterUpgradeSettings) { + *out = *in + if in.OverrideSettings != nil { + in, out := &in.OverrideSettings, &out.OverrideSettings + *out = new(UpgradeOverrideSettings) + (*in).DeepCopyInto(*out) + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterUpgradeSettings. +func (in *ClusterUpgradeSettings) DeepCopy() *ClusterUpgradeSettings { + if in == nil { + return nil + } + out := new(ClusterUpgradeSettings) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClusterUpgradeSettings_STATUS) DeepCopyInto(out *ClusterUpgradeSettings_STATUS) { + *out = *in + if in.OverrideSettings != nil { + in, out := &in.OverrideSettings, &out.OverrideSettings + *out = new(UpgradeOverrideSettings_STATUS) + (*in).DeepCopyInto(*out) + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterUpgradeSettings_STATUS. +func (in *ClusterUpgradeSettings_STATUS) DeepCopy() *ClusterUpgradeSettings_STATUS { + if in == nil { + return nil + } + out := new(ClusterUpgradeSettings_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ContainerServiceLinuxProfile) DeepCopyInto(out *ContainerServiceLinuxProfile) { + *out = *in + if in.AdminUsername != nil { + in, out := &in.AdminUsername, &out.AdminUsername + *out = new(string) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.Ssh != nil { + in, out := &in.Ssh, &out.Ssh + *out = new(ContainerServiceSshConfiguration) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerServiceLinuxProfile. +func (in *ContainerServiceLinuxProfile) DeepCopy() *ContainerServiceLinuxProfile { + if in == nil { + return nil + } + out := new(ContainerServiceLinuxProfile) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ContainerServiceLinuxProfile_STATUS) DeepCopyInto(out *ContainerServiceLinuxProfile_STATUS) { + *out = *in + if in.AdminUsername != nil { + in, out := &in.AdminUsername, &out.AdminUsername + *out = new(string) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.Ssh != nil { + in, out := &in.Ssh, &out.Ssh + *out = new(ContainerServiceSshConfiguration_STATUS) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerServiceLinuxProfile_STATUS. +func (in *ContainerServiceLinuxProfile_STATUS) DeepCopy() *ContainerServiceLinuxProfile_STATUS { + if in == nil { + return nil + } + out := new(ContainerServiceLinuxProfile_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ContainerServiceNetworkProfile) DeepCopyInto(out *ContainerServiceNetworkProfile) { + *out = *in + if in.AdvancedNetworking != nil { + in, out := &in.AdvancedNetworking, &out.AdvancedNetworking + *out = new(AdvancedNetworking) + (*in).DeepCopyInto(*out) + } + if in.DnsServiceIP != nil { + in, out := &in.DnsServiceIP, &out.DnsServiceIP + *out = new(string) + **out = **in + } + if in.IpFamilies != nil { + in, out := &in.IpFamilies, &out.IpFamilies + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.LoadBalancerProfile != nil { + in, out := &in.LoadBalancerProfile, &out.LoadBalancerProfile + *out = new(ManagedClusterLoadBalancerProfile) + (*in).DeepCopyInto(*out) + } + if in.LoadBalancerSku != nil { + in, out := &in.LoadBalancerSku, &out.LoadBalancerSku + *out = new(string) + **out = **in + } + if in.NatGatewayProfile != nil { + in, out := &in.NatGatewayProfile, &out.NatGatewayProfile + *out = new(ManagedClusterNATGatewayProfile) + (*in).DeepCopyInto(*out) + } + if in.NetworkDataplane != nil { + in, out := &in.NetworkDataplane, &out.NetworkDataplane + *out = new(string) + **out = **in + } + if in.NetworkMode != nil { + in, out := &in.NetworkMode, &out.NetworkMode + *out = new(string) + **out = **in + } + if in.NetworkPlugin != nil { + in, out := &in.NetworkPlugin, &out.NetworkPlugin + *out = new(string) + **out = **in + } + if in.NetworkPluginMode != nil { + in, out := &in.NetworkPluginMode, &out.NetworkPluginMode + *out = new(string) + **out = **in + } + if in.NetworkPolicy != nil { + in, out := &in.NetworkPolicy, &out.NetworkPolicy + *out = new(string) + **out = **in + } + if in.OutboundType != nil { + in, out := &in.OutboundType, &out.OutboundType + *out = new(string) + **out = **in + } + if in.PodCidr != nil { + in, out := &in.PodCidr, &out.PodCidr + *out = new(string) + **out = **in + } + if in.PodCidrs != nil { + in, out := &in.PodCidrs, &out.PodCidrs + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.ServiceCidr != nil { + in, out := &in.ServiceCidr, &out.ServiceCidr + *out = new(string) + **out = **in + } + if in.ServiceCidrs != nil { + in, out := &in.ServiceCidrs, &out.ServiceCidrs + *out = make([]string, len(*in)) + copy(*out, *in) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerServiceNetworkProfile. +func (in *ContainerServiceNetworkProfile) DeepCopy() *ContainerServiceNetworkProfile { + if in == nil { + return nil + } + out := new(ContainerServiceNetworkProfile) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ContainerServiceNetworkProfile_STATUS) DeepCopyInto(out *ContainerServiceNetworkProfile_STATUS) { + *out = *in + if in.AdvancedNetworking != nil { + in, out := &in.AdvancedNetworking, &out.AdvancedNetworking + *out = new(AdvancedNetworking_STATUS) + (*in).DeepCopyInto(*out) + } + if in.DnsServiceIP != nil { + in, out := &in.DnsServiceIP, &out.DnsServiceIP + *out = new(string) + **out = **in + } + if in.IpFamilies != nil { + in, out := &in.IpFamilies, &out.IpFamilies + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.LoadBalancerProfile != nil { + in, out := &in.LoadBalancerProfile, &out.LoadBalancerProfile + *out = new(ManagedClusterLoadBalancerProfile_STATUS) + (*in).DeepCopyInto(*out) + } + if in.LoadBalancerSku != nil { + in, out := &in.LoadBalancerSku, &out.LoadBalancerSku + *out = new(string) + **out = **in + } + if in.NatGatewayProfile != nil { + in, out := &in.NatGatewayProfile, &out.NatGatewayProfile + *out = new(ManagedClusterNATGatewayProfile_STATUS) + (*in).DeepCopyInto(*out) + } + if in.NetworkDataplane != nil { + in, out := &in.NetworkDataplane, &out.NetworkDataplane + *out = new(string) + **out = **in + } + if in.NetworkMode != nil { + in, out := &in.NetworkMode, &out.NetworkMode + *out = new(string) + **out = **in + } + if in.NetworkPlugin != nil { + in, out := &in.NetworkPlugin, &out.NetworkPlugin + *out = new(string) + **out = **in + } + if in.NetworkPluginMode != nil { + in, out := &in.NetworkPluginMode, &out.NetworkPluginMode + *out = new(string) + **out = **in + } + if in.NetworkPolicy != nil { + in, out := &in.NetworkPolicy, &out.NetworkPolicy + *out = new(string) + **out = **in + } + if in.OutboundType != nil { + in, out := &in.OutboundType, &out.OutboundType + *out = new(string) + **out = **in + } + if in.PodCidr != nil { + in, out := &in.PodCidr, &out.PodCidr + *out = new(string) + **out = **in + } + if in.PodCidrs != nil { + in, out := &in.PodCidrs, &out.PodCidrs + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.ServiceCidr != nil { + in, out := &in.ServiceCidr, &out.ServiceCidr + *out = new(string) + **out = **in + } + if in.ServiceCidrs != nil { + in, out := &in.ServiceCidrs, &out.ServiceCidrs + *out = make([]string, len(*in)) + copy(*out, *in) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerServiceNetworkProfile_STATUS. +func (in *ContainerServiceNetworkProfile_STATUS) DeepCopy() *ContainerServiceNetworkProfile_STATUS { + if in == nil { + return nil + } + out := new(ContainerServiceNetworkProfile_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ContainerServiceSshConfiguration) DeepCopyInto(out *ContainerServiceSshConfiguration) { + *out = *in + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.PublicKeys != nil { + in, out := &in.PublicKeys, &out.PublicKeys + *out = make([]ContainerServiceSshPublicKey, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerServiceSshConfiguration. +func (in *ContainerServiceSshConfiguration) DeepCopy() *ContainerServiceSshConfiguration { + if in == nil { + return nil + } + out := new(ContainerServiceSshConfiguration) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ContainerServiceSshConfiguration_STATUS) DeepCopyInto(out *ContainerServiceSshConfiguration_STATUS) { + *out = *in + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.PublicKeys != nil { + in, out := &in.PublicKeys, &out.PublicKeys + *out = make([]ContainerServiceSshPublicKey_STATUS, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerServiceSshConfiguration_STATUS. +func (in *ContainerServiceSshConfiguration_STATUS) DeepCopy() *ContainerServiceSshConfiguration_STATUS { + if in == nil { + return nil + } + out := new(ContainerServiceSshConfiguration_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ContainerServiceSshPublicKey) DeepCopyInto(out *ContainerServiceSshPublicKey) { + *out = *in + if in.KeyData != nil { + in, out := &in.KeyData, &out.KeyData + *out = new(string) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerServiceSshPublicKey. +func (in *ContainerServiceSshPublicKey) DeepCopy() *ContainerServiceSshPublicKey { + if in == nil { + return nil + } + out := new(ContainerServiceSshPublicKey) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ContainerServiceSshPublicKey_STATUS) DeepCopyInto(out *ContainerServiceSshPublicKey_STATUS) { + *out = *in + if in.KeyData != nil { + in, out := &in.KeyData, &out.KeyData + *out = new(string) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerServiceSshPublicKey_STATUS. +func (in *ContainerServiceSshPublicKey_STATUS) DeepCopy() *ContainerServiceSshPublicKey_STATUS { + if in == nil { + return nil + } + out := new(ContainerServiceSshPublicKey_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CreationData) DeepCopyInto(out *CreationData) { + *out = *in + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.SourceResourceReference != nil { + in, out := &in.SourceResourceReference, &out.SourceResourceReference + *out = new(genruntime.ResourceReference) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CreationData. +func (in *CreationData) DeepCopy() *CreationData { + if in == nil { + return nil + } + out := new(CreationData) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CreationData_STATUS) DeepCopyInto(out *CreationData_STATUS) { + *out = *in + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.SourceResourceId != nil { + in, out := &in.SourceResourceId, &out.SourceResourceId + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CreationData_STATUS. +func (in *CreationData_STATUS) DeepCopy() *CreationData_STATUS { + if in == nil { + return nil + } + out := new(CreationData_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DailySchedule) DeepCopyInto(out *DailySchedule) { + *out = *in + if in.IntervalDays != nil { + in, out := &in.IntervalDays, &out.IntervalDays + *out = new(int) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DailySchedule. +func (in *DailySchedule) DeepCopy() *DailySchedule { + if in == nil { + return nil + } + out := new(DailySchedule) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DailySchedule_STATUS) DeepCopyInto(out *DailySchedule_STATUS) { + *out = *in + if in.IntervalDays != nil { + in, out := &in.IntervalDays, &out.IntervalDays + *out = new(int) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DailySchedule_STATUS. +func (in *DailySchedule_STATUS) DeepCopy() *DailySchedule_STATUS { + if in == nil { + return nil + } + out := new(DailySchedule_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DateSpan) DeepCopyInto(out *DateSpan) { + *out = *in + if in.End != nil { + in, out := &in.End, &out.End + *out = new(string) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.Start != nil { + in, out := &in.Start, &out.Start + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DateSpan. +func (in *DateSpan) DeepCopy() *DateSpan { + if in == nil { + return nil + } + out := new(DateSpan) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DateSpan_STATUS) DeepCopyInto(out *DateSpan_STATUS) { + *out = *in + if in.End != nil { + in, out := &in.End, &out.End + *out = new(string) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.Start != nil { + in, out := &in.Start, &out.Start + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DateSpan_STATUS. +func (in *DateSpan_STATUS) DeepCopy() *DateSpan_STATUS { + if in == nil { + return nil + } + out := new(DateSpan_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DelegatedResource) DeepCopyInto(out *DelegatedResource) { + *out = *in + if in.Location != nil { + in, out := &in.Location, &out.Location + *out = new(string) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.ReferralResource != nil { + in, out := &in.ReferralResource, &out.ReferralResource + *out = new(string) + **out = **in + } + if in.ResourceReference != nil { + in, out := &in.ResourceReference, &out.ResourceReference + *out = new(genruntime.ResourceReference) + **out = **in + } + if in.TenantId != nil { + in, out := &in.TenantId, &out.TenantId + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DelegatedResource. +func (in *DelegatedResource) DeepCopy() *DelegatedResource { + if in == nil { + return nil + } + out := new(DelegatedResource) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DelegatedResource_STATUS) DeepCopyInto(out *DelegatedResource_STATUS) { + *out = *in + if in.Location != nil { + in, out := &in.Location, &out.Location + *out = new(string) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.ReferralResource != nil { + in, out := &in.ReferralResource, &out.ReferralResource + *out = new(string) + **out = **in + } + if in.ResourceId != nil { + in, out := &in.ResourceId, &out.ResourceId + *out = new(string) + **out = **in + } + if in.TenantId != nil { + in, out := &in.TenantId, &out.TenantId + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DelegatedResource_STATUS. +func (in *DelegatedResource_STATUS) DeepCopy() *DelegatedResource_STATUS { + if in == nil { + return nil + } + out := new(DelegatedResource_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ExtendedLocation) DeepCopyInto(out *ExtendedLocation) { + *out = *in + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.Type != nil { + in, out := &in.Type, &out.Type + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExtendedLocation. +func (in *ExtendedLocation) DeepCopy() *ExtendedLocation { + if in == nil { + return nil + } + out := new(ExtendedLocation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ExtendedLocation_STATUS) DeepCopyInto(out *ExtendedLocation_STATUS) { + *out = *in + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.Type != nil { + in, out := &in.Type, &out.Type + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExtendedLocation_STATUS. +func (in *ExtendedLocation_STATUS) DeepCopy() *ExtendedLocation_STATUS { + if in == nil { + return nil + } + out := new(ExtendedLocation_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IPTag) DeepCopyInto(out *IPTag) { + *out = *in + if in.IpTagType != nil { + in, out := &in.IpTagType, &out.IpTagType + *out = new(string) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.Tag != nil { + in, out := &in.Tag, &out.Tag + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPTag. +func (in *IPTag) DeepCopy() *IPTag { + if in == nil { + return nil + } + out := new(IPTag) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IPTag_STATUS) DeepCopyInto(out *IPTag_STATUS) { + *out = *in + if in.IpTagType != nil { + in, out := &in.IpTagType, &out.IpTagType + *out = new(string) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.Tag != nil { + in, out := &in.Tag, &out.Tag + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPTag_STATUS. +func (in *IPTag_STATUS) DeepCopy() *IPTag_STATUS { + if in == nil { + return nil + } + out := new(IPTag_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IstioCertificateAuthority) DeepCopyInto(out *IstioCertificateAuthority) { + *out = *in + if in.Plugin != nil { + in, out := &in.Plugin, &out.Plugin + *out = new(IstioPluginCertificateAuthority) + (*in).DeepCopyInto(*out) + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IstioCertificateAuthority. +func (in *IstioCertificateAuthority) DeepCopy() *IstioCertificateAuthority { + if in == nil { + return nil + } + out := new(IstioCertificateAuthority) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IstioCertificateAuthority_STATUS) DeepCopyInto(out *IstioCertificateAuthority_STATUS) { + *out = *in + if in.Plugin != nil { + in, out := &in.Plugin, &out.Plugin + *out = new(IstioPluginCertificateAuthority_STATUS) + (*in).DeepCopyInto(*out) + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IstioCertificateAuthority_STATUS. +func (in *IstioCertificateAuthority_STATUS) DeepCopy() *IstioCertificateAuthority_STATUS { + if in == nil { + return nil + } + out := new(IstioCertificateAuthority_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IstioComponents) DeepCopyInto(out *IstioComponents) { + *out = *in + if in.EgressGateways != nil { + in, out := &in.EgressGateways, &out.EgressGateways + *out = make([]IstioEgressGateway, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.IngressGateways != nil { + in, out := &in.IngressGateways, &out.IngressGateways + *out = make([]IstioIngressGateway, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IstioComponents. +func (in *IstioComponents) DeepCopy() *IstioComponents { + if in == nil { + return nil + } + out := new(IstioComponents) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IstioComponents_STATUS) DeepCopyInto(out *IstioComponents_STATUS) { + *out = *in + if in.EgressGateways != nil { + in, out := &in.EgressGateways, &out.EgressGateways + *out = make([]IstioEgressGateway_STATUS, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.IngressGateways != nil { + in, out := &in.IngressGateways, &out.IngressGateways + *out = make([]IstioIngressGateway_STATUS, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IstioComponents_STATUS. +func (in *IstioComponents_STATUS) DeepCopy() *IstioComponents_STATUS { + if in == nil { + return nil + } + out := new(IstioComponents_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IstioEgressGateway) DeepCopyInto(out *IstioEgressGateway) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IstioEgressGateway. +func (in *IstioEgressGateway) DeepCopy() *IstioEgressGateway { + if in == nil { + return nil + } + out := new(IstioEgressGateway) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IstioEgressGateway_STATUS) DeepCopyInto(out *IstioEgressGateway_STATUS) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IstioEgressGateway_STATUS. +func (in *IstioEgressGateway_STATUS) DeepCopy() *IstioEgressGateway_STATUS { + if in == nil { + return nil + } + out := new(IstioEgressGateway_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IstioIngressGateway) DeepCopyInto(out *IstioIngressGateway) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.Mode != nil { + in, out := &in.Mode, &out.Mode + *out = new(string) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IstioIngressGateway. +func (in *IstioIngressGateway) DeepCopy() *IstioIngressGateway { + if in == nil { + return nil + } + out := new(IstioIngressGateway) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IstioIngressGateway_STATUS) DeepCopyInto(out *IstioIngressGateway_STATUS) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.Mode != nil { + in, out := &in.Mode, &out.Mode + *out = new(string) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IstioIngressGateway_STATUS. +func (in *IstioIngressGateway_STATUS) DeepCopy() *IstioIngressGateway_STATUS { + if in == nil { + return nil + } + out := new(IstioIngressGateway_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IstioPluginCertificateAuthority) DeepCopyInto(out *IstioPluginCertificateAuthority) { + *out = *in + if in.CertChainObjectName != nil { + in, out := &in.CertChainObjectName, &out.CertChainObjectName + *out = new(string) + **out = **in + } + if in.CertObjectName != nil { + in, out := &in.CertObjectName, &out.CertObjectName + *out = new(string) + **out = **in + } + if in.KeyObjectName != nil { + in, out := &in.KeyObjectName, &out.KeyObjectName + *out = new(string) + **out = **in + } + if in.KeyVaultReference != nil { + in, out := &in.KeyVaultReference, &out.KeyVaultReference + *out = new(genruntime.ResourceReference) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.RootCertObjectName != nil { + in, out := &in.RootCertObjectName, &out.RootCertObjectName + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IstioPluginCertificateAuthority. +func (in *IstioPluginCertificateAuthority) DeepCopy() *IstioPluginCertificateAuthority { + if in == nil { + return nil + } + out := new(IstioPluginCertificateAuthority) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IstioPluginCertificateAuthority_STATUS) DeepCopyInto(out *IstioPluginCertificateAuthority_STATUS) { + *out = *in + if in.CertChainObjectName != nil { + in, out := &in.CertChainObjectName, &out.CertChainObjectName + *out = new(string) + **out = **in + } + if in.CertObjectName != nil { + in, out := &in.CertObjectName, &out.CertObjectName + *out = new(string) + **out = **in + } + if in.KeyObjectName != nil { + in, out := &in.KeyObjectName, &out.KeyObjectName + *out = new(string) + **out = **in + } + if in.KeyVaultId != nil { + in, out := &in.KeyVaultId, &out.KeyVaultId + *out = new(string) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.RootCertObjectName != nil { + in, out := &in.RootCertObjectName, &out.RootCertObjectName + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IstioPluginCertificateAuthority_STATUS. +func (in *IstioPluginCertificateAuthority_STATUS) DeepCopy() *IstioPluginCertificateAuthority_STATUS { + if in == nil { + return nil + } + out := new(IstioPluginCertificateAuthority_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IstioServiceMesh) DeepCopyInto(out *IstioServiceMesh) { + *out = *in + if in.CertificateAuthority != nil { + in, out := &in.CertificateAuthority, &out.CertificateAuthority + *out = new(IstioCertificateAuthority) + (*in).DeepCopyInto(*out) + } + if in.Components != nil { + in, out := &in.Components, &out.Components + *out = new(IstioComponents) + (*in).DeepCopyInto(*out) + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.Revisions != nil { + in, out := &in.Revisions, &out.Revisions + *out = make([]string, len(*in)) + copy(*out, *in) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IstioServiceMesh. +func (in *IstioServiceMesh) DeepCopy() *IstioServiceMesh { + if in == nil { + return nil + } + out := new(IstioServiceMesh) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IstioServiceMesh_STATUS) DeepCopyInto(out *IstioServiceMesh_STATUS) { + *out = *in + if in.CertificateAuthority != nil { + in, out := &in.CertificateAuthority, &out.CertificateAuthority + *out = new(IstioCertificateAuthority_STATUS) + (*in).DeepCopyInto(*out) + } + if in.Components != nil { + in, out := &in.Components, &out.Components + *out = new(IstioComponents_STATUS) + (*in).DeepCopyInto(*out) + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.Revisions != nil { + in, out := &in.Revisions, &out.Revisions + *out = make([]string, len(*in)) + copy(*out, *in) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IstioServiceMesh_STATUS. +func (in *IstioServiceMesh_STATUS) DeepCopy() *IstioServiceMesh_STATUS { + if in == nil { + return nil + } + out := new(IstioServiceMesh_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *KubeletConfig) DeepCopyInto(out *KubeletConfig) { + *out = *in + if in.AllowedUnsafeSysctls != nil { + in, out := &in.AllowedUnsafeSysctls, &out.AllowedUnsafeSysctls + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.ContainerLogMaxFiles != nil { + in, out := &in.ContainerLogMaxFiles, &out.ContainerLogMaxFiles + *out = new(int) + **out = **in + } + if in.ContainerLogMaxSizeMB != nil { + in, out := &in.ContainerLogMaxSizeMB, &out.ContainerLogMaxSizeMB + *out = new(int) + **out = **in + } + if in.CpuCfsQuota != nil { + in, out := &in.CpuCfsQuota, &out.CpuCfsQuota + *out = new(bool) + **out = **in + } + if in.CpuCfsQuotaPeriod != nil { + in, out := &in.CpuCfsQuotaPeriod, &out.CpuCfsQuotaPeriod + *out = new(string) + **out = **in + } + if in.CpuManagerPolicy != nil { + in, out := &in.CpuManagerPolicy, &out.CpuManagerPolicy + *out = new(string) + **out = **in + } + if in.FailSwapOn != nil { + in, out := &in.FailSwapOn, &out.FailSwapOn + *out = new(bool) + **out = **in + } + if in.ImageGcHighThreshold != nil { + in, out := &in.ImageGcHighThreshold, &out.ImageGcHighThreshold + *out = new(int) + **out = **in + } + if in.ImageGcLowThreshold != nil { + in, out := &in.ImageGcLowThreshold, &out.ImageGcLowThreshold + *out = new(int) + **out = **in + } + if in.PodMaxPids != nil { + in, out := &in.PodMaxPids, &out.PodMaxPids + *out = new(int) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.TopologyManagerPolicy != nil { + in, out := &in.TopologyManagerPolicy, &out.TopologyManagerPolicy + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeletConfig. +func (in *KubeletConfig) DeepCopy() *KubeletConfig { + if in == nil { + return nil + } + out := new(KubeletConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *KubeletConfig_STATUS) DeepCopyInto(out *KubeletConfig_STATUS) { + *out = *in + if in.AllowedUnsafeSysctls != nil { + in, out := &in.AllowedUnsafeSysctls, &out.AllowedUnsafeSysctls + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.ContainerLogMaxFiles != nil { + in, out := &in.ContainerLogMaxFiles, &out.ContainerLogMaxFiles + *out = new(int) + **out = **in + } + if in.ContainerLogMaxSizeMB != nil { + in, out := &in.ContainerLogMaxSizeMB, &out.ContainerLogMaxSizeMB + *out = new(int) + **out = **in + } + if in.CpuCfsQuota != nil { + in, out := &in.CpuCfsQuota, &out.CpuCfsQuota + *out = new(bool) + **out = **in + } + if in.CpuCfsQuotaPeriod != nil { + in, out := &in.CpuCfsQuotaPeriod, &out.CpuCfsQuotaPeriod + *out = new(string) + **out = **in + } + if in.CpuManagerPolicy != nil { + in, out := &in.CpuManagerPolicy, &out.CpuManagerPolicy + *out = new(string) + **out = **in + } + if in.FailSwapOn != nil { + in, out := &in.FailSwapOn, &out.FailSwapOn + *out = new(bool) + **out = **in + } + if in.ImageGcHighThreshold != nil { + in, out := &in.ImageGcHighThreshold, &out.ImageGcHighThreshold + *out = new(int) + **out = **in + } + if in.ImageGcLowThreshold != nil { + in, out := &in.ImageGcLowThreshold, &out.ImageGcLowThreshold + *out = new(int) + **out = **in + } + if in.PodMaxPids != nil { + in, out := &in.PodMaxPids, &out.PodMaxPids + *out = new(int) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.TopologyManagerPolicy != nil { + in, out := &in.TopologyManagerPolicy, &out.TopologyManagerPolicy + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeletConfig_STATUS. +func (in *KubeletConfig_STATUS) DeepCopy() *KubeletConfig_STATUS { + if in == nil { + return nil + } + out := new(KubeletConfig_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *LinuxOSConfig) DeepCopyInto(out *LinuxOSConfig) { + *out = *in + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.SwapFileSizeMB != nil { + in, out := &in.SwapFileSizeMB, &out.SwapFileSizeMB + *out = new(int) + **out = **in + } + if in.Sysctls != nil { + in, out := &in.Sysctls, &out.Sysctls + *out = new(SysctlConfig) + (*in).DeepCopyInto(*out) + } + if in.TransparentHugePageDefrag != nil { + in, out := &in.TransparentHugePageDefrag, &out.TransparentHugePageDefrag + *out = new(string) + **out = **in + } + if in.TransparentHugePageEnabled != nil { + in, out := &in.TransparentHugePageEnabled, &out.TransparentHugePageEnabled + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinuxOSConfig. +func (in *LinuxOSConfig) DeepCopy() *LinuxOSConfig { + if in == nil { + return nil + } + out := new(LinuxOSConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *LinuxOSConfig_STATUS) DeepCopyInto(out *LinuxOSConfig_STATUS) { + *out = *in + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.SwapFileSizeMB != nil { + in, out := &in.SwapFileSizeMB, &out.SwapFileSizeMB + *out = new(int) + **out = **in + } + if in.Sysctls != nil { + in, out := &in.Sysctls, &out.Sysctls + *out = new(SysctlConfig_STATUS) + (*in).DeepCopyInto(*out) + } + if in.TransparentHugePageDefrag != nil { + in, out := &in.TransparentHugePageDefrag, &out.TransparentHugePageDefrag + *out = new(string) + **out = **in + } + if in.TransparentHugePageEnabled != nil { + in, out := &in.TransparentHugePageEnabled, &out.TransparentHugePageEnabled + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinuxOSConfig_STATUS. +func (in *LinuxOSConfig_STATUS) DeepCopy() *LinuxOSConfig_STATUS { + if in == nil { + return nil + } + out := new(LinuxOSConfig_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MaintenanceConfiguration) DeepCopyInto(out *MaintenanceConfiguration) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + in.Spec.DeepCopyInto(&out.Spec) + in.Status.DeepCopyInto(&out.Status) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MaintenanceConfiguration. +func (in *MaintenanceConfiguration) DeepCopy() *MaintenanceConfiguration { + if in == nil { + return nil + } + out := new(MaintenanceConfiguration) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *MaintenanceConfiguration) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MaintenanceConfigurationList) DeepCopyInto(out *MaintenanceConfigurationList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]MaintenanceConfiguration, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MaintenanceConfigurationList. +func (in *MaintenanceConfigurationList) DeepCopy() *MaintenanceConfigurationList { + if in == nil { + return nil + } + out := new(MaintenanceConfigurationList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *MaintenanceConfigurationList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MaintenanceConfiguration_STATUS) DeepCopyInto(out *MaintenanceConfiguration_STATUS) { + *out = *in + if in.Conditions != nil { + in, out := &in.Conditions, &out.Conditions + *out = make([]conditions.Condition, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Id != nil { + in, out := &in.Id, &out.Id + *out = new(string) + **out = **in + } + if in.MaintenanceWindow != nil { + in, out := &in.MaintenanceWindow, &out.MaintenanceWindow + *out = new(MaintenanceWindow_STATUS) + (*in).DeepCopyInto(*out) + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.NotAllowedTime != nil { + in, out := &in.NotAllowedTime, &out.NotAllowedTime + *out = make([]TimeSpan_STATUS, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.SystemData != nil { + in, out := &in.SystemData, &out.SystemData + *out = new(SystemData_STATUS) + (*in).DeepCopyInto(*out) + } + if in.TimeInWeek != nil { + in, out := &in.TimeInWeek, &out.TimeInWeek + *out = make([]TimeInWeek_STATUS, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Type != nil { + in, out := &in.Type, &out.Type + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MaintenanceConfiguration_STATUS. +func (in *MaintenanceConfiguration_STATUS) DeepCopy() *MaintenanceConfiguration_STATUS { + if in == nil { + return nil + } + out := new(MaintenanceConfiguration_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MaintenanceConfiguration_Spec) DeepCopyInto(out *MaintenanceConfiguration_Spec) { + *out = *in + if in.MaintenanceWindow != nil { + in, out := &in.MaintenanceWindow, &out.MaintenanceWindow + *out = new(MaintenanceWindow) + (*in).DeepCopyInto(*out) + } + if in.NotAllowedTime != nil { + in, out := &in.NotAllowedTime, &out.NotAllowedTime + *out = make([]TimeSpan, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Owner != nil { + in, out := &in.Owner, &out.Owner + *out = new(genruntime.KnownResourceReference) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.TimeInWeek != nil { + in, out := &in.TimeInWeek, &out.TimeInWeek + *out = make([]TimeInWeek, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MaintenanceConfiguration_Spec. +func (in *MaintenanceConfiguration_Spec) DeepCopy() *MaintenanceConfiguration_Spec { + if in == nil { + return nil + } + out := new(MaintenanceConfiguration_Spec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MaintenanceWindow) DeepCopyInto(out *MaintenanceWindow) { + *out = *in + if in.DurationHours != nil { + in, out := &in.DurationHours, &out.DurationHours + *out = new(int) + **out = **in + } + if in.NotAllowedDates != nil { + in, out := &in.NotAllowedDates, &out.NotAllowedDates + *out = make([]DateSpan, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.Schedule != nil { + in, out := &in.Schedule, &out.Schedule + *out = new(Schedule) + (*in).DeepCopyInto(*out) + } + if in.StartDate != nil { + in, out := &in.StartDate, &out.StartDate + *out = new(string) + **out = **in + } + if in.StartTime != nil { + in, out := &in.StartTime, &out.StartTime + *out = new(string) + **out = **in + } + if in.UtcOffset != nil { + in, out := &in.UtcOffset, &out.UtcOffset + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MaintenanceWindow. +func (in *MaintenanceWindow) DeepCopy() *MaintenanceWindow { + if in == nil { + return nil + } + out := new(MaintenanceWindow) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MaintenanceWindow_STATUS) DeepCopyInto(out *MaintenanceWindow_STATUS) { + *out = *in + if in.DurationHours != nil { + in, out := &in.DurationHours, &out.DurationHours + *out = new(int) + **out = **in + } + if in.NotAllowedDates != nil { + in, out := &in.NotAllowedDates, &out.NotAllowedDates + *out = make([]DateSpan_STATUS, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.Schedule != nil { + in, out := &in.Schedule, &out.Schedule + *out = new(Schedule_STATUS) + (*in).DeepCopyInto(*out) + } + if in.StartDate != nil { + in, out := &in.StartDate, &out.StartDate + *out = new(string) + **out = **in + } + if in.StartTime != nil { + in, out := &in.StartTime, &out.StartTime + *out = new(string) + **out = **in + } + if in.UtcOffset != nil { + in, out := &in.UtcOffset, &out.UtcOffset + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MaintenanceWindow_STATUS. +func (in *MaintenanceWindow_STATUS) DeepCopy() *MaintenanceWindow_STATUS { + if in == nil { + return nil + } + out := new(MaintenanceWindow_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedCluster) DeepCopyInto(out *ManagedCluster) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + in.Spec.DeepCopyInto(&out.Spec) + in.Status.DeepCopyInto(&out.Status) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedCluster. +func (in *ManagedCluster) DeepCopy() *ManagedCluster { + if in == nil { + return nil + } + out := new(ManagedCluster) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ManagedCluster) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterAADProfile) DeepCopyInto(out *ManagedClusterAADProfile) { + *out = *in + if in.AdminGroupObjectIDs != nil { + in, out := &in.AdminGroupObjectIDs, &out.AdminGroupObjectIDs + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.ClientAppID != nil { + in, out := &in.ClientAppID, &out.ClientAppID + *out = new(string) + **out = **in + } + if in.EnableAzureRBAC != nil { + in, out := &in.EnableAzureRBAC, &out.EnableAzureRBAC + *out = new(bool) + **out = **in + } + if in.Managed != nil { + in, out := &in.Managed, &out.Managed + *out = new(bool) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.ServerAppID != nil { + in, out := &in.ServerAppID, &out.ServerAppID + *out = new(string) + **out = **in + } + if in.ServerAppSecret != nil { + in, out := &in.ServerAppSecret, &out.ServerAppSecret + *out = new(string) + **out = **in + } + if in.TenantID != nil { + in, out := &in.TenantID, &out.TenantID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterAADProfile. +func (in *ManagedClusterAADProfile) DeepCopy() *ManagedClusterAADProfile { + if in == nil { + return nil + } + out := new(ManagedClusterAADProfile) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterAADProfile_STATUS) DeepCopyInto(out *ManagedClusterAADProfile_STATUS) { + *out = *in + if in.AdminGroupObjectIDs != nil { + in, out := &in.AdminGroupObjectIDs, &out.AdminGroupObjectIDs + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.ClientAppID != nil { + in, out := &in.ClientAppID, &out.ClientAppID + *out = new(string) + **out = **in + } + if in.EnableAzureRBAC != nil { + in, out := &in.EnableAzureRBAC, &out.EnableAzureRBAC + *out = new(bool) + **out = **in + } + if in.Managed != nil { + in, out := &in.Managed, &out.Managed + *out = new(bool) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.ServerAppID != nil { + in, out := &in.ServerAppID, &out.ServerAppID + *out = new(string) + **out = **in + } + if in.ServerAppSecret != nil { + in, out := &in.ServerAppSecret, &out.ServerAppSecret + *out = new(string) + **out = **in + } + if in.TenantID != nil { + in, out := &in.TenantID, &out.TenantID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterAADProfile_STATUS. +func (in *ManagedClusterAADProfile_STATUS) DeepCopy() *ManagedClusterAADProfile_STATUS { + if in == nil { + return nil + } + out := new(ManagedClusterAADProfile_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterAPIServerAccessProfile) DeepCopyInto(out *ManagedClusterAPIServerAccessProfile) { + *out = *in + if in.AuthorizedIPRanges != nil { + in, out := &in.AuthorizedIPRanges, &out.AuthorizedIPRanges + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.DisableRunCommand != nil { + in, out := &in.DisableRunCommand, &out.DisableRunCommand + *out = new(bool) + **out = **in + } + if in.EnablePrivateCluster != nil { + in, out := &in.EnablePrivateCluster, &out.EnablePrivateCluster + *out = new(bool) + **out = **in + } + if in.EnablePrivateClusterPublicFQDN != nil { + in, out := &in.EnablePrivateClusterPublicFQDN, &out.EnablePrivateClusterPublicFQDN + *out = new(bool) + **out = **in + } + if in.PrivateDNSZone != nil { + in, out := &in.PrivateDNSZone, &out.PrivateDNSZone + *out = new(string) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterAPIServerAccessProfile. +func (in *ManagedClusterAPIServerAccessProfile) DeepCopy() *ManagedClusterAPIServerAccessProfile { + if in == nil { + return nil + } + out := new(ManagedClusterAPIServerAccessProfile) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterAPIServerAccessProfile_STATUS) DeepCopyInto(out *ManagedClusterAPIServerAccessProfile_STATUS) { + *out = *in + if in.AuthorizedIPRanges != nil { + in, out := &in.AuthorizedIPRanges, &out.AuthorizedIPRanges + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.DisableRunCommand != nil { + in, out := &in.DisableRunCommand, &out.DisableRunCommand + *out = new(bool) + **out = **in + } + if in.EnablePrivateCluster != nil { + in, out := &in.EnablePrivateCluster, &out.EnablePrivateCluster + *out = new(bool) + **out = **in + } + if in.EnablePrivateClusterPublicFQDN != nil { + in, out := &in.EnablePrivateClusterPublicFQDN, &out.EnablePrivateClusterPublicFQDN + *out = new(bool) + **out = **in + } + if in.PrivateDNSZone != nil { + in, out := &in.PrivateDNSZone, &out.PrivateDNSZone + *out = new(string) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterAPIServerAccessProfile_STATUS. +func (in *ManagedClusterAPIServerAccessProfile_STATUS) DeepCopy() *ManagedClusterAPIServerAccessProfile_STATUS { + if in == nil { + return nil + } + out := new(ManagedClusterAPIServerAccessProfile_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterAddonProfile) DeepCopyInto(out *ManagedClusterAddonProfile) { + *out = *in + if in.Config != nil { + in, out := &in.Config, &out.Config + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterAddonProfile. +func (in *ManagedClusterAddonProfile) DeepCopy() *ManagedClusterAddonProfile { + if in == nil { + return nil + } + out := new(ManagedClusterAddonProfile) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterAddonProfile_STATUS) DeepCopyInto(out *ManagedClusterAddonProfile_STATUS) { + *out = *in + if in.Config != nil { + in, out := &in.Config, &out.Config + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.Identity != nil { + in, out := &in.Identity, &out.Identity + *out = new(UserAssignedIdentity_STATUS) + (*in).DeepCopyInto(*out) + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterAddonProfile_STATUS. +func (in *ManagedClusterAddonProfile_STATUS) DeepCopy() *ManagedClusterAddonProfile_STATUS { + if in == nil { + return nil + } + out := new(ManagedClusterAddonProfile_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterAgentPoolProfile) DeepCopyInto(out *ManagedClusterAgentPoolProfile) { + *out = *in + if in.AvailabilityZones != nil { + in, out := &in.AvailabilityZones, &out.AvailabilityZones + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.CapacityReservationGroupReference != nil { + in, out := &in.CapacityReservationGroupReference, &out.CapacityReservationGroupReference + *out = new(genruntime.ResourceReference) + **out = **in + } + if in.Count != nil { + in, out := &in.Count, &out.Count + *out = new(int) + **out = **in + } + if in.CreationData != nil { + in, out := &in.CreationData, &out.CreationData + *out = new(CreationData) + (*in).DeepCopyInto(*out) + } + if in.EnableAutoScaling != nil { + in, out := &in.EnableAutoScaling, &out.EnableAutoScaling + *out = new(bool) + **out = **in + } + if in.EnableEncryptionAtHost != nil { + in, out := &in.EnableEncryptionAtHost, &out.EnableEncryptionAtHost + *out = new(bool) + **out = **in + } + if in.EnableFIPS != nil { + in, out := &in.EnableFIPS, &out.EnableFIPS + *out = new(bool) + **out = **in + } + if in.EnableNodePublicIP != nil { + in, out := &in.EnableNodePublicIP, &out.EnableNodePublicIP + *out = new(bool) + **out = **in + } + if in.EnableUltraSSD != nil { + in, out := &in.EnableUltraSSD, &out.EnableUltraSSD + *out = new(bool) + **out = **in + } + if in.GpuInstanceProfile != nil { + in, out := &in.GpuInstanceProfile, &out.GpuInstanceProfile + *out = new(string) + **out = **in + } + if in.HostGroupReference != nil { + in, out := &in.HostGroupReference, &out.HostGroupReference + *out = new(genruntime.ResourceReference) + **out = **in + } + if in.KubeletConfig != nil { + in, out := &in.KubeletConfig, &out.KubeletConfig + *out = new(KubeletConfig) + (*in).DeepCopyInto(*out) + } + if in.KubeletDiskType != nil { + in, out := &in.KubeletDiskType, &out.KubeletDiskType + *out = new(string) + **out = **in + } + if in.LinuxOSConfig != nil { + in, out := &in.LinuxOSConfig, &out.LinuxOSConfig + *out = new(LinuxOSConfig) + (*in).DeepCopyInto(*out) + } + if in.MaxCount != nil { + in, out := &in.MaxCount, &out.MaxCount + *out = new(int) + **out = **in + } + if in.MaxPods != nil { + in, out := &in.MaxPods, &out.MaxPods + *out = new(int) + **out = **in + } + if in.MinCount != nil { + in, out := &in.MinCount, &out.MinCount + *out = new(int) + **out = **in + } + if in.Mode != nil { + in, out := &in.Mode, &out.Mode + *out = new(string) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.NetworkProfile != nil { + in, out := &in.NetworkProfile, &out.NetworkProfile + *out = new(AgentPoolNetworkProfile) + (*in).DeepCopyInto(*out) + } + if in.NodeLabels != nil { + in, out := &in.NodeLabels, &out.NodeLabels + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.NodePublicIPPrefixReference != nil { + in, out := &in.NodePublicIPPrefixReference, &out.NodePublicIPPrefixReference + *out = new(genruntime.ResourceReference) + **out = **in + } + if in.NodeTaints != nil { + in, out := &in.NodeTaints, &out.NodeTaints + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.OrchestratorVersion != nil { + in, out := &in.OrchestratorVersion, &out.OrchestratorVersion + *out = new(string) + **out = **in + } + if in.OsDiskSizeGB != nil { + in, out := &in.OsDiskSizeGB, &out.OsDiskSizeGB + *out = new(int) + **out = **in + } + if in.OsDiskType != nil { + in, out := &in.OsDiskType, &out.OsDiskType + *out = new(string) + **out = **in + } + if in.OsSKU != nil { + in, out := &in.OsSKU, &out.OsSKU + *out = new(string) + **out = **in + } + if in.OsType != nil { + in, out := &in.OsType, &out.OsType + *out = new(string) + **out = **in + } + if in.PodSubnetReference != nil { + in, out := &in.PodSubnetReference, &out.PodSubnetReference + *out = new(genruntime.ResourceReference) + **out = **in + } + if in.PowerState != nil { + in, out := &in.PowerState, &out.PowerState + *out = new(PowerState) + (*in).DeepCopyInto(*out) + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.ProximityPlacementGroupReference != nil { + in, out := &in.ProximityPlacementGroupReference, &out.ProximityPlacementGroupReference + *out = new(genruntime.ResourceReference) + **out = **in + } + if in.ScaleDownMode != nil { + in, out := &in.ScaleDownMode, &out.ScaleDownMode + *out = new(string) + **out = **in + } + if in.ScaleSetEvictionPolicy != nil { + in, out := &in.ScaleSetEvictionPolicy, &out.ScaleSetEvictionPolicy + *out = new(string) + **out = **in + } + if in.ScaleSetPriority != nil { + in, out := &in.ScaleSetPriority, &out.ScaleSetPriority + *out = new(string) + **out = **in + } + if in.SecurityProfile != nil { + in, out := &in.SecurityProfile, &out.SecurityProfile + *out = new(AgentPoolSecurityProfile) + (*in).DeepCopyInto(*out) + } + if in.SpotMaxPrice != nil { + in, out := &in.SpotMaxPrice, &out.SpotMaxPrice + *out = new(float64) + **out = **in + } + if in.Tags != nil { + in, out := &in.Tags, &out.Tags + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.Type != nil { + in, out := &in.Type, &out.Type + *out = new(string) + **out = **in + } + if in.UpgradeSettings != nil { + in, out := &in.UpgradeSettings, &out.UpgradeSettings + *out = new(AgentPoolUpgradeSettings) + (*in).DeepCopyInto(*out) + } + if in.VmSize != nil { + in, out := &in.VmSize, &out.VmSize + *out = new(string) + **out = **in + } + if in.VnetSubnetReference != nil { + in, out := &in.VnetSubnetReference, &out.VnetSubnetReference + *out = new(genruntime.ResourceReference) + **out = **in + } + if in.WindowsProfile != nil { + in, out := &in.WindowsProfile, &out.WindowsProfile + *out = new(AgentPoolWindowsProfile) + (*in).DeepCopyInto(*out) + } + if in.WorkloadRuntime != nil { + in, out := &in.WorkloadRuntime, &out.WorkloadRuntime + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterAgentPoolProfile. +func (in *ManagedClusterAgentPoolProfile) DeepCopy() *ManagedClusterAgentPoolProfile { + if in == nil { + return nil + } + out := new(ManagedClusterAgentPoolProfile) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterAgentPoolProfile_STATUS) DeepCopyInto(out *ManagedClusterAgentPoolProfile_STATUS) { + *out = *in + if in.AvailabilityZones != nil { + in, out := &in.AvailabilityZones, &out.AvailabilityZones + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.CapacityReservationGroupID != nil { + in, out := &in.CapacityReservationGroupID, &out.CapacityReservationGroupID + *out = new(string) + **out = **in + } + if in.Count != nil { + in, out := &in.Count, &out.Count + *out = new(int) + **out = **in + } + if in.CreationData != nil { + in, out := &in.CreationData, &out.CreationData + *out = new(CreationData_STATUS) + (*in).DeepCopyInto(*out) + } + if in.CurrentOrchestratorVersion != nil { + in, out := &in.CurrentOrchestratorVersion, &out.CurrentOrchestratorVersion + *out = new(string) + **out = **in + } + if in.ETag != nil { + in, out := &in.ETag, &out.ETag + *out = new(string) + **out = **in + } + if in.EnableAutoScaling != nil { + in, out := &in.EnableAutoScaling, &out.EnableAutoScaling + *out = new(bool) + **out = **in + } + if in.EnableEncryptionAtHost != nil { + in, out := &in.EnableEncryptionAtHost, &out.EnableEncryptionAtHost + *out = new(bool) + **out = **in + } + if in.EnableFIPS != nil { + in, out := &in.EnableFIPS, &out.EnableFIPS + *out = new(bool) + **out = **in + } + if in.EnableNodePublicIP != nil { + in, out := &in.EnableNodePublicIP, &out.EnableNodePublicIP + *out = new(bool) + **out = **in + } + if in.EnableUltraSSD != nil { + in, out := &in.EnableUltraSSD, &out.EnableUltraSSD + *out = new(bool) + **out = **in + } + if in.GpuInstanceProfile != nil { + in, out := &in.GpuInstanceProfile, &out.GpuInstanceProfile + *out = new(string) + **out = **in + } + if in.HostGroupID != nil { + in, out := &in.HostGroupID, &out.HostGroupID + *out = new(string) + **out = **in + } + if in.KubeletConfig != nil { + in, out := &in.KubeletConfig, &out.KubeletConfig + *out = new(KubeletConfig_STATUS) + (*in).DeepCopyInto(*out) + } + if in.KubeletDiskType != nil { + in, out := &in.KubeletDiskType, &out.KubeletDiskType + *out = new(string) + **out = **in + } + if in.LinuxOSConfig != nil { + in, out := &in.LinuxOSConfig, &out.LinuxOSConfig + *out = new(LinuxOSConfig_STATUS) + (*in).DeepCopyInto(*out) + } + if in.MaxCount != nil { + in, out := &in.MaxCount, &out.MaxCount + *out = new(int) + **out = **in + } + if in.MaxPods != nil { + in, out := &in.MaxPods, &out.MaxPods + *out = new(int) + **out = **in + } + if in.MinCount != nil { + in, out := &in.MinCount, &out.MinCount + *out = new(int) + **out = **in + } + if in.Mode != nil { + in, out := &in.Mode, &out.Mode + *out = new(string) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.NetworkProfile != nil { + in, out := &in.NetworkProfile, &out.NetworkProfile + *out = new(AgentPoolNetworkProfile_STATUS) + (*in).DeepCopyInto(*out) + } + if in.NodeImageVersion != nil { + in, out := &in.NodeImageVersion, &out.NodeImageVersion + *out = new(string) + **out = **in + } + if in.NodeLabels != nil { + in, out := &in.NodeLabels, &out.NodeLabels + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.NodePublicIPPrefixID != nil { + in, out := &in.NodePublicIPPrefixID, &out.NodePublicIPPrefixID + *out = new(string) + **out = **in + } + if in.NodeTaints != nil { + in, out := &in.NodeTaints, &out.NodeTaints + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.OrchestratorVersion != nil { + in, out := &in.OrchestratorVersion, &out.OrchestratorVersion + *out = new(string) + **out = **in + } + if in.OsDiskSizeGB != nil { + in, out := &in.OsDiskSizeGB, &out.OsDiskSizeGB + *out = new(int) + **out = **in + } + if in.OsDiskType != nil { + in, out := &in.OsDiskType, &out.OsDiskType + *out = new(string) + **out = **in + } + if in.OsSKU != nil { + in, out := &in.OsSKU, &out.OsSKU + *out = new(string) + **out = **in + } + if in.OsType != nil { + in, out := &in.OsType, &out.OsType + *out = new(string) + **out = **in + } + if in.PodSubnetID != nil { + in, out := &in.PodSubnetID, &out.PodSubnetID + *out = new(string) + **out = **in + } + if in.PowerState != nil { + in, out := &in.PowerState, &out.PowerState + *out = new(PowerState_STATUS) + (*in).DeepCopyInto(*out) + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.ProvisioningState != nil { + in, out := &in.ProvisioningState, &out.ProvisioningState + *out = new(string) + **out = **in + } + if in.ProximityPlacementGroupID != nil { + in, out := &in.ProximityPlacementGroupID, &out.ProximityPlacementGroupID + *out = new(string) + **out = **in + } + if in.ScaleDownMode != nil { + in, out := &in.ScaleDownMode, &out.ScaleDownMode + *out = new(string) + **out = **in + } + if in.ScaleSetEvictionPolicy != nil { + in, out := &in.ScaleSetEvictionPolicy, &out.ScaleSetEvictionPolicy + *out = new(string) + **out = **in + } + if in.ScaleSetPriority != nil { + in, out := &in.ScaleSetPriority, &out.ScaleSetPriority + *out = new(string) + **out = **in + } + if in.SecurityProfile != nil { + in, out := &in.SecurityProfile, &out.SecurityProfile + *out = new(AgentPoolSecurityProfile_STATUS) + (*in).DeepCopyInto(*out) + } + if in.SpotMaxPrice != nil { + in, out := &in.SpotMaxPrice, &out.SpotMaxPrice + *out = new(float64) + **out = **in + } + if in.Tags != nil { + in, out := &in.Tags, &out.Tags + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.Type != nil { + in, out := &in.Type, &out.Type + *out = new(string) + **out = **in + } + if in.UpgradeSettings != nil { + in, out := &in.UpgradeSettings, &out.UpgradeSettings + *out = new(AgentPoolUpgradeSettings_STATUS) + (*in).DeepCopyInto(*out) + } + if in.VmSize != nil { + in, out := &in.VmSize, &out.VmSize + *out = new(string) + **out = **in + } + if in.VnetSubnetID != nil { + in, out := &in.VnetSubnetID, &out.VnetSubnetID + *out = new(string) + **out = **in + } + if in.WindowsProfile != nil { + in, out := &in.WindowsProfile, &out.WindowsProfile + *out = new(AgentPoolWindowsProfile_STATUS) + (*in).DeepCopyInto(*out) + } + if in.WorkloadRuntime != nil { + in, out := &in.WorkloadRuntime, &out.WorkloadRuntime + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterAgentPoolProfile_STATUS. +func (in *ManagedClusterAgentPoolProfile_STATUS) DeepCopy() *ManagedClusterAgentPoolProfile_STATUS { + if in == nil { + return nil + } + out := new(ManagedClusterAgentPoolProfile_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterAutoUpgradeProfile) DeepCopyInto(out *ManagedClusterAutoUpgradeProfile) { + *out = *in + if in.NodeOSUpgradeChannel != nil { + in, out := &in.NodeOSUpgradeChannel, &out.NodeOSUpgradeChannel + *out = new(string) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.UpgradeChannel != nil { + in, out := &in.UpgradeChannel, &out.UpgradeChannel + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterAutoUpgradeProfile. +func (in *ManagedClusterAutoUpgradeProfile) DeepCopy() *ManagedClusterAutoUpgradeProfile { + if in == nil { + return nil + } + out := new(ManagedClusterAutoUpgradeProfile) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterAutoUpgradeProfile_STATUS) DeepCopyInto(out *ManagedClusterAutoUpgradeProfile_STATUS) { + *out = *in + if in.NodeOSUpgradeChannel != nil { + in, out := &in.NodeOSUpgradeChannel, &out.NodeOSUpgradeChannel + *out = new(string) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.UpgradeChannel != nil { + in, out := &in.UpgradeChannel, &out.UpgradeChannel + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterAutoUpgradeProfile_STATUS. +func (in *ManagedClusterAutoUpgradeProfile_STATUS) DeepCopy() *ManagedClusterAutoUpgradeProfile_STATUS { + if in == nil { + return nil + } + out := new(ManagedClusterAutoUpgradeProfile_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterAzureMonitorProfile) DeepCopyInto(out *ManagedClusterAzureMonitorProfile) { + *out = *in + if in.Metrics != nil { + in, out := &in.Metrics, &out.Metrics + *out = new(ManagedClusterAzureMonitorProfileMetrics) + (*in).DeepCopyInto(*out) + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterAzureMonitorProfile. +func (in *ManagedClusterAzureMonitorProfile) DeepCopy() *ManagedClusterAzureMonitorProfile { + if in == nil { + return nil + } + out := new(ManagedClusterAzureMonitorProfile) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterAzureMonitorProfileKubeStateMetrics) DeepCopyInto(out *ManagedClusterAzureMonitorProfileKubeStateMetrics) { + *out = *in + if in.MetricAnnotationsAllowList != nil { + in, out := &in.MetricAnnotationsAllowList, &out.MetricAnnotationsAllowList + *out = new(string) + **out = **in + } + if in.MetricLabelsAllowlist != nil { + in, out := &in.MetricLabelsAllowlist, &out.MetricLabelsAllowlist + *out = new(string) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterAzureMonitorProfileKubeStateMetrics. +func (in *ManagedClusterAzureMonitorProfileKubeStateMetrics) DeepCopy() *ManagedClusterAzureMonitorProfileKubeStateMetrics { + if in == nil { + return nil + } + out := new(ManagedClusterAzureMonitorProfileKubeStateMetrics) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS) DeepCopyInto(out *ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS) { + *out = *in + if in.MetricAnnotationsAllowList != nil { + in, out := &in.MetricAnnotationsAllowList, &out.MetricAnnotationsAllowList + *out = new(string) + **out = **in + } + if in.MetricLabelsAllowlist != nil { + in, out := &in.MetricLabelsAllowlist, &out.MetricLabelsAllowlist + *out = new(string) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS. +func (in *ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS) DeepCopy() *ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS { + if in == nil { + return nil + } + out := new(ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterAzureMonitorProfileMetrics) DeepCopyInto(out *ManagedClusterAzureMonitorProfileMetrics) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.KubeStateMetrics != nil { + in, out := &in.KubeStateMetrics, &out.KubeStateMetrics + *out = new(ManagedClusterAzureMonitorProfileKubeStateMetrics) + (*in).DeepCopyInto(*out) + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterAzureMonitorProfileMetrics. +func (in *ManagedClusterAzureMonitorProfileMetrics) DeepCopy() *ManagedClusterAzureMonitorProfileMetrics { + if in == nil { + return nil + } + out := new(ManagedClusterAzureMonitorProfileMetrics) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterAzureMonitorProfileMetrics_STATUS) DeepCopyInto(out *ManagedClusterAzureMonitorProfileMetrics_STATUS) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.KubeStateMetrics != nil { + in, out := &in.KubeStateMetrics, &out.KubeStateMetrics + *out = new(ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS) + (*in).DeepCopyInto(*out) + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterAzureMonitorProfileMetrics_STATUS. +func (in *ManagedClusterAzureMonitorProfileMetrics_STATUS) DeepCopy() *ManagedClusterAzureMonitorProfileMetrics_STATUS { + if in == nil { + return nil + } + out := new(ManagedClusterAzureMonitorProfileMetrics_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterAzureMonitorProfile_STATUS) DeepCopyInto(out *ManagedClusterAzureMonitorProfile_STATUS) { + *out = *in + if in.Metrics != nil { + in, out := &in.Metrics, &out.Metrics + *out = new(ManagedClusterAzureMonitorProfileMetrics_STATUS) + (*in).DeepCopyInto(*out) + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterAzureMonitorProfile_STATUS. +func (in *ManagedClusterAzureMonitorProfile_STATUS) DeepCopy() *ManagedClusterAzureMonitorProfile_STATUS { + if in == nil { + return nil + } + out := new(ManagedClusterAzureMonitorProfile_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterCostAnalysis) DeepCopyInto(out *ManagedClusterCostAnalysis) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterCostAnalysis. +func (in *ManagedClusterCostAnalysis) DeepCopy() *ManagedClusterCostAnalysis { + if in == nil { + return nil + } + out := new(ManagedClusterCostAnalysis) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterCostAnalysis_STATUS) DeepCopyInto(out *ManagedClusterCostAnalysis_STATUS) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterCostAnalysis_STATUS. +func (in *ManagedClusterCostAnalysis_STATUS) DeepCopy() *ManagedClusterCostAnalysis_STATUS { + if in == nil { + return nil + } + out := new(ManagedClusterCostAnalysis_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterHTTPProxyConfig) DeepCopyInto(out *ManagedClusterHTTPProxyConfig) { + *out = *in + if in.HttpProxy != nil { + in, out := &in.HttpProxy, &out.HttpProxy + *out = new(string) + **out = **in + } + if in.HttpsProxy != nil { + in, out := &in.HttpsProxy, &out.HttpsProxy + *out = new(string) + **out = **in + } + if in.NoProxy != nil { + in, out := &in.NoProxy, &out.NoProxy + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.TrustedCa != nil { + in, out := &in.TrustedCa, &out.TrustedCa + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterHTTPProxyConfig. +func (in *ManagedClusterHTTPProxyConfig) DeepCopy() *ManagedClusterHTTPProxyConfig { + if in == nil { + return nil + } + out := new(ManagedClusterHTTPProxyConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterHTTPProxyConfig_STATUS) DeepCopyInto(out *ManagedClusterHTTPProxyConfig_STATUS) { + *out = *in + if in.HttpProxy != nil { + in, out := &in.HttpProxy, &out.HttpProxy + *out = new(string) + **out = **in + } + if in.HttpsProxy != nil { + in, out := &in.HttpsProxy, &out.HttpsProxy + *out = new(string) + **out = **in + } + if in.NoProxy != nil { + in, out := &in.NoProxy, &out.NoProxy + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.TrustedCa != nil { + in, out := &in.TrustedCa, &out.TrustedCa + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterHTTPProxyConfig_STATUS. +func (in *ManagedClusterHTTPProxyConfig_STATUS) DeepCopy() *ManagedClusterHTTPProxyConfig_STATUS { + if in == nil { + return nil + } + out := new(ManagedClusterHTTPProxyConfig_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterIdentity) DeepCopyInto(out *ManagedClusterIdentity) { + *out = *in + if in.DelegatedResources != nil { + in, out := &in.DelegatedResources, &out.DelegatedResources + *out = make(map[string]DelegatedResource, len(*in)) + for key, val := range *in { + (*out)[key] = *val.DeepCopy() + } + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.Type != nil { + in, out := &in.Type, &out.Type + *out = new(string) + **out = **in + } + if in.UserAssignedIdentities != nil { + in, out := &in.UserAssignedIdentities, &out.UserAssignedIdentities + *out = make([]UserAssignedIdentityDetails, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterIdentity. +func (in *ManagedClusterIdentity) DeepCopy() *ManagedClusterIdentity { + if in == nil { + return nil + } + out := new(ManagedClusterIdentity) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterIdentity_STATUS) DeepCopyInto(out *ManagedClusterIdentity_STATUS) { + *out = *in + if in.DelegatedResources != nil { + in, out := &in.DelegatedResources, &out.DelegatedResources + *out = make(map[string]DelegatedResource_STATUS, len(*in)) + for key, val := range *in { + (*out)[key] = *val.DeepCopy() + } + } + if in.PrincipalId != nil { + in, out := &in.PrincipalId, &out.PrincipalId + *out = new(string) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.TenantId != nil { + in, out := &in.TenantId, &out.TenantId + *out = new(string) + **out = **in + } + if in.Type != nil { + in, out := &in.Type, &out.Type + *out = new(string) + **out = **in + } + if in.UserAssignedIdentities != nil { + in, out := &in.UserAssignedIdentities, &out.UserAssignedIdentities + *out = make(map[string]ManagedClusterIdentity_UserAssignedIdentities_STATUS, len(*in)) + for key, val := range *in { + (*out)[key] = *val.DeepCopy() + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterIdentity_STATUS. +func (in *ManagedClusterIdentity_STATUS) DeepCopy() *ManagedClusterIdentity_STATUS { + if in == nil { + return nil + } + out := new(ManagedClusterIdentity_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterIdentity_UserAssignedIdentities_STATUS) DeepCopyInto(out *ManagedClusterIdentity_UserAssignedIdentities_STATUS) { + *out = *in + if in.ClientId != nil { + in, out := &in.ClientId, &out.ClientId + *out = new(string) + **out = **in + } + if in.PrincipalId != nil { + in, out := &in.PrincipalId, &out.PrincipalId + *out = new(string) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterIdentity_UserAssignedIdentities_STATUS. +func (in *ManagedClusterIdentity_UserAssignedIdentities_STATUS) DeepCopy() *ManagedClusterIdentity_UserAssignedIdentities_STATUS { + if in == nil { + return nil + } + out := new(ManagedClusterIdentity_UserAssignedIdentities_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterIngressProfile) DeepCopyInto(out *ManagedClusterIngressProfile) { + *out = *in + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.WebAppRouting != nil { + in, out := &in.WebAppRouting, &out.WebAppRouting + *out = new(ManagedClusterIngressProfileWebAppRouting) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterIngressProfile. +func (in *ManagedClusterIngressProfile) DeepCopy() *ManagedClusterIngressProfile { + if in == nil { + return nil + } + out := new(ManagedClusterIngressProfile) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterIngressProfileWebAppRouting) DeepCopyInto(out *ManagedClusterIngressProfileWebAppRouting) { + *out = *in + if in.DnsZoneResourceReferences != nil { + in, out := &in.DnsZoneResourceReferences, &out.DnsZoneResourceReferences + *out = make([]genruntime.ResourceReference, len(*in)) + copy(*out, *in) + } + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterIngressProfileWebAppRouting. +func (in *ManagedClusterIngressProfileWebAppRouting) DeepCopy() *ManagedClusterIngressProfileWebAppRouting { + if in == nil { + return nil + } + out := new(ManagedClusterIngressProfileWebAppRouting) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterIngressProfileWebAppRouting_STATUS) DeepCopyInto(out *ManagedClusterIngressProfileWebAppRouting_STATUS) { + *out = *in + if in.DnsZoneResourceIds != nil { + in, out := &in.DnsZoneResourceIds, &out.DnsZoneResourceIds + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.Identity != nil { + in, out := &in.Identity, &out.Identity + *out = new(UserAssignedIdentity_STATUS) + (*in).DeepCopyInto(*out) + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterIngressProfileWebAppRouting_STATUS. +func (in *ManagedClusterIngressProfileWebAppRouting_STATUS) DeepCopy() *ManagedClusterIngressProfileWebAppRouting_STATUS { + if in == nil { + return nil + } + out := new(ManagedClusterIngressProfileWebAppRouting_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterIngressProfile_STATUS) DeepCopyInto(out *ManagedClusterIngressProfile_STATUS) { + *out = *in + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.WebAppRouting != nil { + in, out := &in.WebAppRouting, &out.WebAppRouting + *out = new(ManagedClusterIngressProfileWebAppRouting_STATUS) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterIngressProfile_STATUS. +func (in *ManagedClusterIngressProfile_STATUS) DeepCopy() *ManagedClusterIngressProfile_STATUS { + if in == nil { + return nil + } + out := new(ManagedClusterIngressProfile_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterList) DeepCopyInto(out *ManagedClusterList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]ManagedCluster, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterList. +func (in *ManagedClusterList) DeepCopy() *ManagedClusterList { + if in == nil { + return nil + } + out := new(ManagedClusterList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ManagedClusterList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterLoadBalancerProfile) DeepCopyInto(out *ManagedClusterLoadBalancerProfile) { + *out = *in + if in.AllocatedOutboundPorts != nil { + in, out := &in.AllocatedOutboundPorts, &out.AllocatedOutboundPorts + *out = new(int) + **out = **in + } + if in.BackendPoolType != nil { + in, out := &in.BackendPoolType, &out.BackendPoolType + *out = new(string) + **out = **in + } + if in.EffectiveOutboundIPs != nil { + in, out := &in.EffectiveOutboundIPs, &out.EffectiveOutboundIPs + *out = make([]ResourceReference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.EnableMultipleStandardLoadBalancers != nil { + in, out := &in.EnableMultipleStandardLoadBalancers, &out.EnableMultipleStandardLoadBalancers + *out = new(bool) + **out = **in + } + if in.IdleTimeoutInMinutes != nil { + in, out := &in.IdleTimeoutInMinutes, &out.IdleTimeoutInMinutes + *out = new(int) + **out = **in + } + if in.ManagedOutboundIPs != nil { + in, out := &in.ManagedOutboundIPs, &out.ManagedOutboundIPs + *out = new(ManagedClusterLoadBalancerProfile_ManagedOutboundIPs) + (*in).DeepCopyInto(*out) + } + if in.OutboundIPPrefixes != nil { + in, out := &in.OutboundIPPrefixes, &out.OutboundIPPrefixes + *out = new(ManagedClusterLoadBalancerProfile_OutboundIPPrefixes) + (*in).DeepCopyInto(*out) + } + if in.OutboundIPs != nil { + in, out := &in.OutboundIPs, &out.OutboundIPs + *out = new(ManagedClusterLoadBalancerProfile_OutboundIPs) + (*in).DeepCopyInto(*out) + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterLoadBalancerProfile. +func (in *ManagedClusterLoadBalancerProfile) DeepCopy() *ManagedClusterLoadBalancerProfile { + if in == nil { + return nil + } + out := new(ManagedClusterLoadBalancerProfile) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterLoadBalancerProfile_ManagedOutboundIPs) DeepCopyInto(out *ManagedClusterLoadBalancerProfile_ManagedOutboundIPs) { + *out = *in + if in.Count != nil { + in, out := &in.Count, &out.Count + *out = new(int) + **out = **in + } + if in.CountIPv6 != nil { + in, out := &in.CountIPv6, &out.CountIPv6 + *out = new(int) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterLoadBalancerProfile_ManagedOutboundIPs. +func (in *ManagedClusterLoadBalancerProfile_ManagedOutboundIPs) DeepCopy() *ManagedClusterLoadBalancerProfile_ManagedOutboundIPs { + if in == nil { + return nil + } + out := new(ManagedClusterLoadBalancerProfile_ManagedOutboundIPs) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS) DeepCopyInto(out *ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS) { + *out = *in + if in.Count != nil { + in, out := &in.Count, &out.Count + *out = new(int) + **out = **in + } + if in.CountIPv6 != nil { + in, out := &in.CountIPv6, &out.CountIPv6 + *out = new(int) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS. +func (in *ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS) DeepCopy() *ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS { + if in == nil { + return nil + } + out := new(ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterLoadBalancerProfile_OutboundIPPrefixes) DeepCopyInto(out *ManagedClusterLoadBalancerProfile_OutboundIPPrefixes) { + *out = *in + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.PublicIPPrefixes != nil { + in, out := &in.PublicIPPrefixes, &out.PublicIPPrefixes + *out = make([]ResourceReference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterLoadBalancerProfile_OutboundIPPrefixes. +func (in *ManagedClusterLoadBalancerProfile_OutboundIPPrefixes) DeepCopy() *ManagedClusterLoadBalancerProfile_OutboundIPPrefixes { + if in == nil { + return nil + } + out := new(ManagedClusterLoadBalancerProfile_OutboundIPPrefixes) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS) DeepCopyInto(out *ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS) { + *out = *in + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.PublicIPPrefixes != nil { + in, out := &in.PublicIPPrefixes, &out.PublicIPPrefixes + *out = make([]ResourceReference_STATUS, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS. +func (in *ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS) DeepCopy() *ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS { + if in == nil { + return nil + } + out := new(ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterLoadBalancerProfile_OutboundIPs) DeepCopyInto(out *ManagedClusterLoadBalancerProfile_OutboundIPs) { + *out = *in + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.PublicIPs != nil { + in, out := &in.PublicIPs, &out.PublicIPs + *out = make([]ResourceReference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterLoadBalancerProfile_OutboundIPs. +func (in *ManagedClusterLoadBalancerProfile_OutboundIPs) DeepCopy() *ManagedClusterLoadBalancerProfile_OutboundIPs { + if in == nil { + return nil + } + out := new(ManagedClusterLoadBalancerProfile_OutboundIPs) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS) DeepCopyInto(out *ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS) { + *out = *in + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.PublicIPs != nil { + in, out := &in.PublicIPs, &out.PublicIPs + *out = make([]ResourceReference_STATUS, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS. +func (in *ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS) DeepCopy() *ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS { + if in == nil { + return nil + } + out := new(ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterLoadBalancerProfile_STATUS) DeepCopyInto(out *ManagedClusterLoadBalancerProfile_STATUS) { + *out = *in + if in.AllocatedOutboundPorts != nil { + in, out := &in.AllocatedOutboundPorts, &out.AllocatedOutboundPorts + *out = new(int) + **out = **in + } + if in.BackendPoolType != nil { + in, out := &in.BackendPoolType, &out.BackendPoolType + *out = new(string) + **out = **in + } + if in.EffectiveOutboundIPs != nil { + in, out := &in.EffectiveOutboundIPs, &out.EffectiveOutboundIPs + *out = make([]ResourceReference_STATUS, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.EnableMultipleStandardLoadBalancers != nil { + in, out := &in.EnableMultipleStandardLoadBalancers, &out.EnableMultipleStandardLoadBalancers + *out = new(bool) + **out = **in + } + if in.IdleTimeoutInMinutes != nil { + in, out := &in.IdleTimeoutInMinutes, &out.IdleTimeoutInMinutes + *out = new(int) + **out = **in + } + if in.ManagedOutboundIPs != nil { + in, out := &in.ManagedOutboundIPs, &out.ManagedOutboundIPs + *out = new(ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS) + (*in).DeepCopyInto(*out) + } + if in.OutboundIPPrefixes != nil { + in, out := &in.OutboundIPPrefixes, &out.OutboundIPPrefixes + *out = new(ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS) + (*in).DeepCopyInto(*out) + } + if in.OutboundIPs != nil { + in, out := &in.OutboundIPs, &out.OutboundIPs + *out = new(ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS) + (*in).DeepCopyInto(*out) + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterLoadBalancerProfile_STATUS. +func (in *ManagedClusterLoadBalancerProfile_STATUS) DeepCopy() *ManagedClusterLoadBalancerProfile_STATUS { + if in == nil { + return nil + } + out := new(ManagedClusterLoadBalancerProfile_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterManagedOutboundIPProfile) DeepCopyInto(out *ManagedClusterManagedOutboundIPProfile) { + *out = *in + if in.Count != nil { + in, out := &in.Count, &out.Count + *out = new(int) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterManagedOutboundIPProfile. +func (in *ManagedClusterManagedOutboundIPProfile) DeepCopy() *ManagedClusterManagedOutboundIPProfile { + if in == nil { + return nil + } + out := new(ManagedClusterManagedOutboundIPProfile) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterManagedOutboundIPProfile_STATUS) DeepCopyInto(out *ManagedClusterManagedOutboundIPProfile_STATUS) { + *out = *in + if in.Count != nil { + in, out := &in.Count, &out.Count + *out = new(int) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterManagedOutboundIPProfile_STATUS. +func (in *ManagedClusterManagedOutboundIPProfile_STATUS) DeepCopy() *ManagedClusterManagedOutboundIPProfile_STATUS { + if in == nil { + return nil + } + out := new(ManagedClusterManagedOutboundIPProfile_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterMetricsProfile) DeepCopyInto(out *ManagedClusterMetricsProfile) { + *out = *in + if in.CostAnalysis != nil { + in, out := &in.CostAnalysis, &out.CostAnalysis + *out = new(ManagedClusterCostAnalysis) + (*in).DeepCopyInto(*out) + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterMetricsProfile. +func (in *ManagedClusterMetricsProfile) DeepCopy() *ManagedClusterMetricsProfile { + if in == nil { + return nil + } + out := new(ManagedClusterMetricsProfile) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterMetricsProfile_STATUS) DeepCopyInto(out *ManagedClusterMetricsProfile_STATUS) { + *out = *in + if in.CostAnalysis != nil { + in, out := &in.CostAnalysis, &out.CostAnalysis + *out = new(ManagedClusterCostAnalysis_STATUS) + (*in).DeepCopyInto(*out) + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterMetricsProfile_STATUS. +func (in *ManagedClusterMetricsProfile_STATUS) DeepCopy() *ManagedClusterMetricsProfile_STATUS { + if in == nil { + return nil + } + out := new(ManagedClusterMetricsProfile_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterNATGatewayProfile) DeepCopyInto(out *ManagedClusterNATGatewayProfile) { + *out = *in + if in.EffectiveOutboundIPs != nil { + in, out := &in.EffectiveOutboundIPs, &out.EffectiveOutboundIPs + *out = make([]ResourceReference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.IdleTimeoutInMinutes != nil { + in, out := &in.IdleTimeoutInMinutes, &out.IdleTimeoutInMinutes + *out = new(int) + **out = **in + } + if in.ManagedOutboundIPProfile != nil { + in, out := &in.ManagedOutboundIPProfile, &out.ManagedOutboundIPProfile + *out = new(ManagedClusterManagedOutboundIPProfile) + (*in).DeepCopyInto(*out) + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterNATGatewayProfile. +func (in *ManagedClusterNATGatewayProfile) DeepCopy() *ManagedClusterNATGatewayProfile { + if in == nil { + return nil + } + out := new(ManagedClusterNATGatewayProfile) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterNATGatewayProfile_STATUS) DeepCopyInto(out *ManagedClusterNATGatewayProfile_STATUS) { + *out = *in + if in.EffectiveOutboundIPs != nil { + in, out := &in.EffectiveOutboundIPs, &out.EffectiveOutboundIPs + *out = make([]ResourceReference_STATUS, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.IdleTimeoutInMinutes != nil { + in, out := &in.IdleTimeoutInMinutes, &out.IdleTimeoutInMinutes + *out = new(int) + **out = **in + } + if in.ManagedOutboundIPProfile != nil { + in, out := &in.ManagedOutboundIPProfile, &out.ManagedOutboundIPProfile + *out = new(ManagedClusterManagedOutboundIPProfile_STATUS) + (*in).DeepCopyInto(*out) + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterNATGatewayProfile_STATUS. +func (in *ManagedClusterNATGatewayProfile_STATUS) DeepCopy() *ManagedClusterNATGatewayProfile_STATUS { + if in == nil { + return nil + } + out := new(ManagedClusterNATGatewayProfile_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterNodeResourceGroupProfile) DeepCopyInto(out *ManagedClusterNodeResourceGroupProfile) { + *out = *in + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.RestrictionLevel != nil { + in, out := &in.RestrictionLevel, &out.RestrictionLevel + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterNodeResourceGroupProfile. +func (in *ManagedClusterNodeResourceGroupProfile) DeepCopy() *ManagedClusterNodeResourceGroupProfile { + if in == nil { + return nil + } + out := new(ManagedClusterNodeResourceGroupProfile) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterNodeResourceGroupProfile_STATUS) DeepCopyInto(out *ManagedClusterNodeResourceGroupProfile_STATUS) { + *out = *in + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.RestrictionLevel != nil { + in, out := &in.RestrictionLevel, &out.RestrictionLevel + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterNodeResourceGroupProfile_STATUS. +func (in *ManagedClusterNodeResourceGroupProfile_STATUS) DeepCopy() *ManagedClusterNodeResourceGroupProfile_STATUS { + if in == nil { + return nil + } + out := new(ManagedClusterNodeResourceGroupProfile_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterOIDCIssuerProfile) DeepCopyInto(out *ManagedClusterOIDCIssuerProfile) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterOIDCIssuerProfile. +func (in *ManagedClusterOIDCIssuerProfile) DeepCopy() *ManagedClusterOIDCIssuerProfile { + if in == nil { + return nil + } + out := new(ManagedClusterOIDCIssuerProfile) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterOIDCIssuerProfile_STATUS) DeepCopyInto(out *ManagedClusterOIDCIssuerProfile_STATUS) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.IssuerURL != nil { + in, out := &in.IssuerURL, &out.IssuerURL + *out = new(string) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterOIDCIssuerProfile_STATUS. +func (in *ManagedClusterOIDCIssuerProfile_STATUS) DeepCopy() *ManagedClusterOIDCIssuerProfile_STATUS { + if in == nil { + return nil + } + out := new(ManagedClusterOIDCIssuerProfile_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterOperatorConfigMaps) DeepCopyInto(out *ManagedClusterOperatorConfigMaps) { + *out = *in + if in.OIDCIssuerProfile != nil { + in, out := &in.OIDCIssuerProfile, &out.OIDCIssuerProfile + *out = new(genruntime.ConfigMapDestination) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterOperatorConfigMaps. +func (in *ManagedClusterOperatorConfigMaps) DeepCopy() *ManagedClusterOperatorConfigMaps { + if in == nil { + return nil + } + out := new(ManagedClusterOperatorConfigMaps) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterOperatorSecrets) DeepCopyInto(out *ManagedClusterOperatorSecrets) { + *out = *in + if in.AdminCredentials != nil { + in, out := &in.AdminCredentials, &out.AdminCredentials + *out = new(genruntime.SecretDestination) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.UserCredentials != nil { + in, out := &in.UserCredentials, &out.UserCredentials + *out = new(genruntime.SecretDestination) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterOperatorSecrets. +func (in *ManagedClusterOperatorSecrets) DeepCopy() *ManagedClusterOperatorSecrets { + if in == nil { + return nil + } + out := new(ManagedClusterOperatorSecrets) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterOperatorSpec) DeepCopyInto(out *ManagedClusterOperatorSpec) { + *out = *in + if in.ConfigMaps != nil { + in, out := &in.ConfigMaps, &out.ConfigMaps + *out = new(ManagedClusterOperatorConfigMaps) + (*in).DeepCopyInto(*out) + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.Secrets != nil { + in, out := &in.Secrets, &out.Secrets + *out = new(ManagedClusterOperatorSecrets) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterOperatorSpec. +func (in *ManagedClusterOperatorSpec) DeepCopy() *ManagedClusterOperatorSpec { + if in == nil { + return nil + } + out := new(ManagedClusterOperatorSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterPodIdentity) DeepCopyInto(out *ManagedClusterPodIdentity) { + *out = *in + if in.BindingSelector != nil { + in, out := &in.BindingSelector, &out.BindingSelector + *out = new(string) + **out = **in + } + if in.Identity != nil { + in, out := &in.Identity, &out.Identity + *out = new(UserAssignedIdentity) + (*in).DeepCopyInto(*out) + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Namespace != nil { + in, out := &in.Namespace, &out.Namespace + *out = new(string) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterPodIdentity. +func (in *ManagedClusterPodIdentity) DeepCopy() *ManagedClusterPodIdentity { + if in == nil { + return nil + } + out := new(ManagedClusterPodIdentity) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterPodIdentityException) DeepCopyInto(out *ManagedClusterPodIdentityException) { + *out = *in + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Namespace != nil { + in, out := &in.Namespace, &out.Namespace + *out = new(string) + **out = **in + } + if in.PodLabels != nil { + in, out := &in.PodLabels, &out.PodLabels + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterPodIdentityException. +func (in *ManagedClusterPodIdentityException) DeepCopy() *ManagedClusterPodIdentityException { + if in == nil { + return nil + } + out := new(ManagedClusterPodIdentityException) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterPodIdentityException_STATUS) DeepCopyInto(out *ManagedClusterPodIdentityException_STATUS) { + *out = *in + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Namespace != nil { + in, out := &in.Namespace, &out.Namespace + *out = new(string) + **out = **in + } + if in.PodLabels != nil { + in, out := &in.PodLabels, &out.PodLabels + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterPodIdentityException_STATUS. +func (in *ManagedClusterPodIdentityException_STATUS) DeepCopy() *ManagedClusterPodIdentityException_STATUS { + if in == nil { + return nil + } + out := new(ManagedClusterPodIdentityException_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterPodIdentityProfile) DeepCopyInto(out *ManagedClusterPodIdentityProfile) { + *out = *in + if in.AllowNetworkPluginKubenet != nil { + in, out := &in.AllowNetworkPluginKubenet, &out.AllowNetworkPluginKubenet + *out = new(bool) + **out = **in + } + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.UserAssignedIdentities != nil { + in, out := &in.UserAssignedIdentities, &out.UserAssignedIdentities + *out = make([]ManagedClusterPodIdentity, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.UserAssignedIdentityExceptions != nil { + in, out := &in.UserAssignedIdentityExceptions, &out.UserAssignedIdentityExceptions + *out = make([]ManagedClusterPodIdentityException, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterPodIdentityProfile. +func (in *ManagedClusterPodIdentityProfile) DeepCopy() *ManagedClusterPodIdentityProfile { + if in == nil { + return nil + } + out := new(ManagedClusterPodIdentityProfile) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterPodIdentityProfile_STATUS) DeepCopyInto(out *ManagedClusterPodIdentityProfile_STATUS) { + *out = *in + if in.AllowNetworkPluginKubenet != nil { + in, out := &in.AllowNetworkPluginKubenet, &out.AllowNetworkPluginKubenet + *out = new(bool) + **out = **in + } + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.UserAssignedIdentities != nil { + in, out := &in.UserAssignedIdentities, &out.UserAssignedIdentities + *out = make([]ManagedClusterPodIdentity_STATUS, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.UserAssignedIdentityExceptions != nil { + in, out := &in.UserAssignedIdentityExceptions, &out.UserAssignedIdentityExceptions + *out = make([]ManagedClusterPodIdentityException_STATUS, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterPodIdentityProfile_STATUS. +func (in *ManagedClusterPodIdentityProfile_STATUS) DeepCopy() *ManagedClusterPodIdentityProfile_STATUS { + if in == nil { + return nil + } + out := new(ManagedClusterPodIdentityProfile_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterPodIdentityProvisioningErrorBody_STATUS) DeepCopyInto(out *ManagedClusterPodIdentityProvisioningErrorBody_STATUS) { + *out = *in + if in.Code != nil { + in, out := &in.Code, &out.Code + *out = new(string) + **out = **in + } + if in.Details != nil { + in, out := &in.Details, &out.Details + *out = make([]ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Message != nil { + in, out := &in.Message, &out.Message + *out = new(string) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.Target != nil { + in, out := &in.Target, &out.Target + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterPodIdentityProvisioningErrorBody_STATUS. +func (in *ManagedClusterPodIdentityProvisioningErrorBody_STATUS) DeepCopy() *ManagedClusterPodIdentityProvisioningErrorBody_STATUS { + if in == nil { + return nil + } + out := new(ManagedClusterPodIdentityProvisioningErrorBody_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled) DeepCopyInto(out *ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled) { + *out = *in + if in.Code != nil { + in, out := &in.Code, &out.Code + *out = new(string) + **out = **in + } + if in.Message != nil { + in, out := &in.Message, &out.Message + *out = new(string) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.Target != nil { + in, out := &in.Target, &out.Target + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled. +func (in *ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled) DeepCopy() *ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled { + if in == nil { + return nil + } + out := new(ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterPodIdentityProvisioningError_STATUS) DeepCopyInto(out *ManagedClusterPodIdentityProvisioningError_STATUS) { + *out = *in + if in.Error != nil { + in, out := &in.Error, &out.Error + *out = new(ManagedClusterPodIdentityProvisioningErrorBody_STATUS) + (*in).DeepCopyInto(*out) + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterPodIdentityProvisioningError_STATUS. +func (in *ManagedClusterPodIdentityProvisioningError_STATUS) DeepCopy() *ManagedClusterPodIdentityProvisioningError_STATUS { + if in == nil { + return nil + } + out := new(ManagedClusterPodIdentityProvisioningError_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterPodIdentity_ProvisioningInfo_STATUS) DeepCopyInto(out *ManagedClusterPodIdentity_ProvisioningInfo_STATUS) { + *out = *in + if in.Error != nil { + in, out := &in.Error, &out.Error + *out = new(ManagedClusterPodIdentityProvisioningError_STATUS) + (*in).DeepCopyInto(*out) + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterPodIdentity_ProvisioningInfo_STATUS. +func (in *ManagedClusterPodIdentity_ProvisioningInfo_STATUS) DeepCopy() *ManagedClusterPodIdentity_ProvisioningInfo_STATUS { + if in == nil { + return nil + } + out := new(ManagedClusterPodIdentity_ProvisioningInfo_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterPodIdentity_STATUS) DeepCopyInto(out *ManagedClusterPodIdentity_STATUS) { + *out = *in + if in.BindingSelector != nil { + in, out := &in.BindingSelector, &out.BindingSelector + *out = new(string) + **out = **in + } + if in.Identity != nil { + in, out := &in.Identity, &out.Identity + *out = new(UserAssignedIdentity_STATUS) + (*in).DeepCopyInto(*out) + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Namespace != nil { + in, out := &in.Namespace, &out.Namespace + *out = new(string) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.ProvisioningInfo != nil { + in, out := &in.ProvisioningInfo, &out.ProvisioningInfo + *out = new(ManagedClusterPodIdentity_ProvisioningInfo_STATUS) + (*in).DeepCopyInto(*out) + } + if in.ProvisioningState != nil { + in, out := &in.ProvisioningState, &out.ProvisioningState + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterPodIdentity_STATUS. +func (in *ManagedClusterPodIdentity_STATUS) DeepCopy() *ManagedClusterPodIdentity_STATUS { + if in == nil { + return nil + } + out := new(ManagedClusterPodIdentity_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterProperties_AutoScalerProfile) DeepCopyInto(out *ManagedClusterProperties_AutoScalerProfile) { + *out = *in + if in.BalanceSimilarNodeGroups != nil { + in, out := &in.BalanceSimilarNodeGroups, &out.BalanceSimilarNodeGroups + *out = new(string) + **out = **in + } + if in.DaemonsetEvictionForEmptyNodes != nil { + in, out := &in.DaemonsetEvictionForEmptyNodes, &out.DaemonsetEvictionForEmptyNodes + *out = new(bool) + **out = **in + } + if in.DaemonsetEvictionForOccupiedNodes != nil { + in, out := &in.DaemonsetEvictionForOccupiedNodes, &out.DaemonsetEvictionForOccupiedNodes + *out = new(bool) + **out = **in + } + if in.Expander != nil { + in, out := &in.Expander, &out.Expander + *out = new(string) + **out = **in + } + if in.IgnoreDaemonsetsUtilization != nil { + in, out := &in.IgnoreDaemonsetsUtilization, &out.IgnoreDaemonsetsUtilization + *out = new(bool) + **out = **in + } + if in.MaxEmptyBulkDelete != nil { + in, out := &in.MaxEmptyBulkDelete, &out.MaxEmptyBulkDelete + *out = new(string) + **out = **in + } + if in.MaxGracefulTerminationSec != nil { + in, out := &in.MaxGracefulTerminationSec, &out.MaxGracefulTerminationSec + *out = new(string) + **out = **in + } + if in.MaxNodeProvisionTime != nil { + in, out := &in.MaxNodeProvisionTime, &out.MaxNodeProvisionTime + *out = new(string) + **out = **in + } + if in.MaxTotalUnreadyPercentage != nil { + in, out := &in.MaxTotalUnreadyPercentage, &out.MaxTotalUnreadyPercentage + *out = new(string) + **out = **in + } + if in.NewPodScaleUpDelay != nil { + in, out := &in.NewPodScaleUpDelay, &out.NewPodScaleUpDelay + *out = new(string) + **out = **in + } + if in.OkTotalUnreadyCount != nil { + in, out := &in.OkTotalUnreadyCount, &out.OkTotalUnreadyCount + *out = new(string) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.ScaleDownDelayAfterAdd != nil { + in, out := &in.ScaleDownDelayAfterAdd, &out.ScaleDownDelayAfterAdd + *out = new(string) + **out = **in + } + if in.ScaleDownDelayAfterDelete != nil { + in, out := &in.ScaleDownDelayAfterDelete, &out.ScaleDownDelayAfterDelete + *out = new(string) + **out = **in + } + if in.ScaleDownDelayAfterFailure != nil { + in, out := &in.ScaleDownDelayAfterFailure, &out.ScaleDownDelayAfterFailure + *out = new(string) + **out = **in + } + if in.ScaleDownUnneededTime != nil { + in, out := &in.ScaleDownUnneededTime, &out.ScaleDownUnneededTime + *out = new(string) + **out = **in + } + if in.ScaleDownUnreadyTime != nil { + in, out := &in.ScaleDownUnreadyTime, &out.ScaleDownUnreadyTime + *out = new(string) + **out = **in + } + if in.ScaleDownUtilizationThreshold != nil { + in, out := &in.ScaleDownUtilizationThreshold, &out.ScaleDownUtilizationThreshold + *out = new(string) + **out = **in + } + if in.ScanInterval != nil { + in, out := &in.ScanInterval, &out.ScanInterval + *out = new(string) + **out = **in + } + if in.SkipNodesWithLocalStorage != nil { + in, out := &in.SkipNodesWithLocalStorage, &out.SkipNodesWithLocalStorage + *out = new(string) + **out = **in + } + if in.SkipNodesWithSystemPods != nil { + in, out := &in.SkipNodesWithSystemPods, &out.SkipNodesWithSystemPods + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterProperties_AutoScalerProfile. +func (in *ManagedClusterProperties_AutoScalerProfile) DeepCopy() *ManagedClusterProperties_AutoScalerProfile { + if in == nil { + return nil + } + out := new(ManagedClusterProperties_AutoScalerProfile) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterProperties_AutoScalerProfile_STATUS) DeepCopyInto(out *ManagedClusterProperties_AutoScalerProfile_STATUS) { + *out = *in + if in.BalanceSimilarNodeGroups != nil { + in, out := &in.BalanceSimilarNodeGroups, &out.BalanceSimilarNodeGroups + *out = new(string) + **out = **in + } + if in.DaemonsetEvictionForEmptyNodes != nil { + in, out := &in.DaemonsetEvictionForEmptyNodes, &out.DaemonsetEvictionForEmptyNodes + *out = new(bool) + **out = **in + } + if in.DaemonsetEvictionForOccupiedNodes != nil { + in, out := &in.DaemonsetEvictionForOccupiedNodes, &out.DaemonsetEvictionForOccupiedNodes + *out = new(bool) + **out = **in + } + if in.Expander != nil { + in, out := &in.Expander, &out.Expander + *out = new(string) + **out = **in + } + if in.IgnoreDaemonsetsUtilization != nil { + in, out := &in.IgnoreDaemonsetsUtilization, &out.IgnoreDaemonsetsUtilization + *out = new(bool) + **out = **in + } + if in.MaxEmptyBulkDelete != nil { + in, out := &in.MaxEmptyBulkDelete, &out.MaxEmptyBulkDelete + *out = new(string) + **out = **in + } + if in.MaxGracefulTerminationSec != nil { + in, out := &in.MaxGracefulTerminationSec, &out.MaxGracefulTerminationSec + *out = new(string) + **out = **in + } + if in.MaxNodeProvisionTime != nil { + in, out := &in.MaxNodeProvisionTime, &out.MaxNodeProvisionTime + *out = new(string) + **out = **in + } + if in.MaxTotalUnreadyPercentage != nil { + in, out := &in.MaxTotalUnreadyPercentage, &out.MaxTotalUnreadyPercentage + *out = new(string) + **out = **in + } + if in.NewPodScaleUpDelay != nil { + in, out := &in.NewPodScaleUpDelay, &out.NewPodScaleUpDelay + *out = new(string) + **out = **in + } + if in.OkTotalUnreadyCount != nil { + in, out := &in.OkTotalUnreadyCount, &out.OkTotalUnreadyCount + *out = new(string) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.ScaleDownDelayAfterAdd != nil { + in, out := &in.ScaleDownDelayAfterAdd, &out.ScaleDownDelayAfterAdd + *out = new(string) + **out = **in + } + if in.ScaleDownDelayAfterDelete != nil { + in, out := &in.ScaleDownDelayAfterDelete, &out.ScaleDownDelayAfterDelete + *out = new(string) + **out = **in + } + if in.ScaleDownDelayAfterFailure != nil { + in, out := &in.ScaleDownDelayAfterFailure, &out.ScaleDownDelayAfterFailure + *out = new(string) + **out = **in + } + if in.ScaleDownUnneededTime != nil { + in, out := &in.ScaleDownUnneededTime, &out.ScaleDownUnneededTime + *out = new(string) + **out = **in + } + if in.ScaleDownUnreadyTime != nil { + in, out := &in.ScaleDownUnreadyTime, &out.ScaleDownUnreadyTime + *out = new(string) + **out = **in + } + if in.ScaleDownUtilizationThreshold != nil { + in, out := &in.ScaleDownUtilizationThreshold, &out.ScaleDownUtilizationThreshold + *out = new(string) + **out = **in + } + if in.ScanInterval != nil { + in, out := &in.ScanInterval, &out.ScanInterval + *out = new(string) + **out = **in + } + if in.SkipNodesWithLocalStorage != nil { + in, out := &in.SkipNodesWithLocalStorage, &out.SkipNodesWithLocalStorage + *out = new(string) + **out = **in + } + if in.SkipNodesWithSystemPods != nil { + in, out := &in.SkipNodesWithSystemPods, &out.SkipNodesWithSystemPods + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterProperties_AutoScalerProfile_STATUS. +func (in *ManagedClusterProperties_AutoScalerProfile_STATUS) DeepCopy() *ManagedClusterProperties_AutoScalerProfile_STATUS { + if in == nil { + return nil + } + out := new(ManagedClusterProperties_AutoScalerProfile_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterSKU) DeepCopyInto(out *ManagedClusterSKU) { + *out = *in + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.Tier != nil { + in, out := &in.Tier, &out.Tier + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterSKU. +func (in *ManagedClusterSKU) DeepCopy() *ManagedClusterSKU { + if in == nil { + return nil + } + out := new(ManagedClusterSKU) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterSKU_STATUS) DeepCopyInto(out *ManagedClusterSKU_STATUS) { + *out = *in + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.Tier != nil { + in, out := &in.Tier, &out.Tier + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterSKU_STATUS. +func (in *ManagedClusterSKU_STATUS) DeepCopy() *ManagedClusterSKU_STATUS { + if in == nil { + return nil + } + out := new(ManagedClusterSKU_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterSecurityProfile) DeepCopyInto(out *ManagedClusterSecurityProfile) { + *out = *in + if in.AzureKeyVaultKms != nil { + in, out := &in.AzureKeyVaultKms, &out.AzureKeyVaultKms + *out = new(AzureKeyVaultKms) + (*in).DeepCopyInto(*out) + } + if in.Defender != nil { + in, out := &in.Defender, &out.Defender + *out = new(ManagedClusterSecurityProfileDefender) + (*in).DeepCopyInto(*out) + } + if in.ImageCleaner != nil { + in, out := &in.ImageCleaner, &out.ImageCleaner + *out = new(ManagedClusterSecurityProfileImageCleaner) + (*in).DeepCopyInto(*out) + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.WorkloadIdentity != nil { + in, out := &in.WorkloadIdentity, &out.WorkloadIdentity + *out = new(ManagedClusterSecurityProfileWorkloadIdentity) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterSecurityProfile. +func (in *ManagedClusterSecurityProfile) DeepCopy() *ManagedClusterSecurityProfile { + if in == nil { + return nil + } + out := new(ManagedClusterSecurityProfile) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterSecurityProfileDefender) DeepCopyInto(out *ManagedClusterSecurityProfileDefender) { + *out = *in + if in.LogAnalyticsWorkspaceResourceReference != nil { + in, out := &in.LogAnalyticsWorkspaceResourceReference, &out.LogAnalyticsWorkspaceResourceReference + *out = new(genruntime.ResourceReference) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.SecurityMonitoring != nil { + in, out := &in.SecurityMonitoring, &out.SecurityMonitoring + *out = new(ManagedClusterSecurityProfileDefenderSecurityMonitoring) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterSecurityProfileDefender. +func (in *ManagedClusterSecurityProfileDefender) DeepCopy() *ManagedClusterSecurityProfileDefender { + if in == nil { + return nil + } + out := new(ManagedClusterSecurityProfileDefender) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterSecurityProfileDefenderSecurityMonitoring) DeepCopyInto(out *ManagedClusterSecurityProfileDefenderSecurityMonitoring) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterSecurityProfileDefenderSecurityMonitoring. +func (in *ManagedClusterSecurityProfileDefenderSecurityMonitoring) DeepCopy() *ManagedClusterSecurityProfileDefenderSecurityMonitoring { + if in == nil { + return nil + } + out := new(ManagedClusterSecurityProfileDefenderSecurityMonitoring) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS) DeepCopyInto(out *ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS. +func (in *ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS) DeepCopy() *ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS { + if in == nil { + return nil + } + out := new(ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterSecurityProfileDefender_STATUS) DeepCopyInto(out *ManagedClusterSecurityProfileDefender_STATUS) { + *out = *in + if in.LogAnalyticsWorkspaceResourceId != nil { + in, out := &in.LogAnalyticsWorkspaceResourceId, &out.LogAnalyticsWorkspaceResourceId + *out = new(string) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.SecurityMonitoring != nil { + in, out := &in.SecurityMonitoring, &out.SecurityMonitoring + *out = new(ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterSecurityProfileDefender_STATUS. +func (in *ManagedClusterSecurityProfileDefender_STATUS) DeepCopy() *ManagedClusterSecurityProfileDefender_STATUS { + if in == nil { + return nil + } + out := new(ManagedClusterSecurityProfileDefender_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterSecurityProfileImageCleaner) DeepCopyInto(out *ManagedClusterSecurityProfileImageCleaner) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.IntervalHours != nil { + in, out := &in.IntervalHours, &out.IntervalHours + *out = new(int) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterSecurityProfileImageCleaner. +func (in *ManagedClusterSecurityProfileImageCleaner) DeepCopy() *ManagedClusterSecurityProfileImageCleaner { + if in == nil { + return nil + } + out := new(ManagedClusterSecurityProfileImageCleaner) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterSecurityProfileImageCleaner_STATUS) DeepCopyInto(out *ManagedClusterSecurityProfileImageCleaner_STATUS) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.IntervalHours != nil { + in, out := &in.IntervalHours, &out.IntervalHours + *out = new(int) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterSecurityProfileImageCleaner_STATUS. +func (in *ManagedClusterSecurityProfileImageCleaner_STATUS) DeepCopy() *ManagedClusterSecurityProfileImageCleaner_STATUS { + if in == nil { + return nil + } + out := new(ManagedClusterSecurityProfileImageCleaner_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterSecurityProfileWorkloadIdentity) DeepCopyInto(out *ManagedClusterSecurityProfileWorkloadIdentity) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterSecurityProfileWorkloadIdentity. +func (in *ManagedClusterSecurityProfileWorkloadIdentity) DeepCopy() *ManagedClusterSecurityProfileWorkloadIdentity { + if in == nil { + return nil + } + out := new(ManagedClusterSecurityProfileWorkloadIdentity) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterSecurityProfileWorkloadIdentity_STATUS) DeepCopyInto(out *ManagedClusterSecurityProfileWorkloadIdentity_STATUS) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterSecurityProfileWorkloadIdentity_STATUS. +func (in *ManagedClusterSecurityProfileWorkloadIdentity_STATUS) DeepCopy() *ManagedClusterSecurityProfileWorkloadIdentity_STATUS { + if in == nil { + return nil + } + out := new(ManagedClusterSecurityProfileWorkloadIdentity_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterSecurityProfile_STATUS) DeepCopyInto(out *ManagedClusterSecurityProfile_STATUS) { + *out = *in + if in.AzureKeyVaultKms != nil { + in, out := &in.AzureKeyVaultKms, &out.AzureKeyVaultKms + *out = new(AzureKeyVaultKms_STATUS) + (*in).DeepCopyInto(*out) + } + if in.Defender != nil { + in, out := &in.Defender, &out.Defender + *out = new(ManagedClusterSecurityProfileDefender_STATUS) + (*in).DeepCopyInto(*out) + } + if in.ImageCleaner != nil { + in, out := &in.ImageCleaner, &out.ImageCleaner + *out = new(ManagedClusterSecurityProfileImageCleaner_STATUS) + (*in).DeepCopyInto(*out) + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.WorkloadIdentity != nil { + in, out := &in.WorkloadIdentity, &out.WorkloadIdentity + *out = new(ManagedClusterSecurityProfileWorkloadIdentity_STATUS) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterSecurityProfile_STATUS. +func (in *ManagedClusterSecurityProfile_STATUS) DeepCopy() *ManagedClusterSecurityProfile_STATUS { + if in == nil { + return nil + } + out := new(ManagedClusterSecurityProfile_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterServicePrincipalProfile) DeepCopyInto(out *ManagedClusterServicePrincipalProfile) { + *out = *in + if in.ClientId != nil { + in, out := &in.ClientId, &out.ClientId + *out = new(string) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.Secret != nil { + in, out := &in.Secret, &out.Secret + *out = new(genruntime.SecretReference) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterServicePrincipalProfile. +func (in *ManagedClusterServicePrincipalProfile) DeepCopy() *ManagedClusterServicePrincipalProfile { + if in == nil { + return nil + } + out := new(ManagedClusterServicePrincipalProfile) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterServicePrincipalProfile_STATUS) DeepCopyInto(out *ManagedClusterServicePrincipalProfile_STATUS) { + *out = *in + if in.ClientId != nil { + in, out := &in.ClientId, &out.ClientId + *out = new(string) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterServicePrincipalProfile_STATUS. +func (in *ManagedClusterServicePrincipalProfile_STATUS) DeepCopy() *ManagedClusterServicePrincipalProfile_STATUS { + if in == nil { + return nil + } + out := new(ManagedClusterServicePrincipalProfile_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterStorageProfile) DeepCopyInto(out *ManagedClusterStorageProfile) { + *out = *in + if in.BlobCSIDriver != nil { + in, out := &in.BlobCSIDriver, &out.BlobCSIDriver + *out = new(ManagedClusterStorageProfileBlobCSIDriver) + (*in).DeepCopyInto(*out) + } + if in.DiskCSIDriver != nil { + in, out := &in.DiskCSIDriver, &out.DiskCSIDriver + *out = new(ManagedClusterStorageProfileDiskCSIDriver) + (*in).DeepCopyInto(*out) + } + if in.FileCSIDriver != nil { + in, out := &in.FileCSIDriver, &out.FileCSIDriver + *out = new(ManagedClusterStorageProfileFileCSIDriver) + (*in).DeepCopyInto(*out) + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.SnapshotController != nil { + in, out := &in.SnapshotController, &out.SnapshotController + *out = new(ManagedClusterStorageProfileSnapshotController) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterStorageProfile. +func (in *ManagedClusterStorageProfile) DeepCopy() *ManagedClusterStorageProfile { + if in == nil { + return nil + } + out := new(ManagedClusterStorageProfile) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterStorageProfileBlobCSIDriver) DeepCopyInto(out *ManagedClusterStorageProfileBlobCSIDriver) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterStorageProfileBlobCSIDriver. +func (in *ManagedClusterStorageProfileBlobCSIDriver) DeepCopy() *ManagedClusterStorageProfileBlobCSIDriver { + if in == nil { + return nil + } + out := new(ManagedClusterStorageProfileBlobCSIDriver) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterStorageProfileBlobCSIDriver_STATUS) DeepCopyInto(out *ManagedClusterStorageProfileBlobCSIDriver_STATUS) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterStorageProfileBlobCSIDriver_STATUS. +func (in *ManagedClusterStorageProfileBlobCSIDriver_STATUS) DeepCopy() *ManagedClusterStorageProfileBlobCSIDriver_STATUS { + if in == nil { + return nil + } + out := new(ManagedClusterStorageProfileBlobCSIDriver_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterStorageProfileDiskCSIDriver) DeepCopyInto(out *ManagedClusterStorageProfileDiskCSIDriver) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterStorageProfileDiskCSIDriver. +func (in *ManagedClusterStorageProfileDiskCSIDriver) DeepCopy() *ManagedClusterStorageProfileDiskCSIDriver { + if in == nil { + return nil + } + out := new(ManagedClusterStorageProfileDiskCSIDriver) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterStorageProfileDiskCSIDriver_STATUS) DeepCopyInto(out *ManagedClusterStorageProfileDiskCSIDriver_STATUS) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterStorageProfileDiskCSIDriver_STATUS. +func (in *ManagedClusterStorageProfileDiskCSIDriver_STATUS) DeepCopy() *ManagedClusterStorageProfileDiskCSIDriver_STATUS { + if in == nil { + return nil + } + out := new(ManagedClusterStorageProfileDiskCSIDriver_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterStorageProfileFileCSIDriver) DeepCopyInto(out *ManagedClusterStorageProfileFileCSIDriver) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterStorageProfileFileCSIDriver. +func (in *ManagedClusterStorageProfileFileCSIDriver) DeepCopy() *ManagedClusterStorageProfileFileCSIDriver { + if in == nil { + return nil + } + out := new(ManagedClusterStorageProfileFileCSIDriver) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterStorageProfileFileCSIDriver_STATUS) DeepCopyInto(out *ManagedClusterStorageProfileFileCSIDriver_STATUS) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterStorageProfileFileCSIDriver_STATUS. +func (in *ManagedClusterStorageProfileFileCSIDriver_STATUS) DeepCopy() *ManagedClusterStorageProfileFileCSIDriver_STATUS { + if in == nil { + return nil + } + out := new(ManagedClusterStorageProfileFileCSIDriver_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterStorageProfileSnapshotController) DeepCopyInto(out *ManagedClusterStorageProfileSnapshotController) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterStorageProfileSnapshotController. +func (in *ManagedClusterStorageProfileSnapshotController) DeepCopy() *ManagedClusterStorageProfileSnapshotController { + if in == nil { + return nil + } + out := new(ManagedClusterStorageProfileSnapshotController) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterStorageProfileSnapshotController_STATUS) DeepCopyInto(out *ManagedClusterStorageProfileSnapshotController_STATUS) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterStorageProfileSnapshotController_STATUS. +func (in *ManagedClusterStorageProfileSnapshotController_STATUS) DeepCopy() *ManagedClusterStorageProfileSnapshotController_STATUS { + if in == nil { + return nil + } + out := new(ManagedClusterStorageProfileSnapshotController_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterStorageProfile_STATUS) DeepCopyInto(out *ManagedClusterStorageProfile_STATUS) { + *out = *in + if in.BlobCSIDriver != nil { + in, out := &in.BlobCSIDriver, &out.BlobCSIDriver + *out = new(ManagedClusterStorageProfileBlobCSIDriver_STATUS) + (*in).DeepCopyInto(*out) + } + if in.DiskCSIDriver != nil { + in, out := &in.DiskCSIDriver, &out.DiskCSIDriver + *out = new(ManagedClusterStorageProfileDiskCSIDriver_STATUS) + (*in).DeepCopyInto(*out) + } + if in.FileCSIDriver != nil { + in, out := &in.FileCSIDriver, &out.FileCSIDriver + *out = new(ManagedClusterStorageProfileFileCSIDriver_STATUS) + (*in).DeepCopyInto(*out) + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.SnapshotController != nil { + in, out := &in.SnapshotController, &out.SnapshotController + *out = new(ManagedClusterStorageProfileSnapshotController_STATUS) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterStorageProfile_STATUS. +func (in *ManagedClusterStorageProfile_STATUS) DeepCopy() *ManagedClusterStorageProfile_STATUS { + if in == nil { + return nil + } + out := new(ManagedClusterStorageProfile_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterWindowsProfile) DeepCopyInto(out *ManagedClusterWindowsProfile) { + *out = *in + if in.AdminPassword != nil { + in, out := &in.AdminPassword, &out.AdminPassword + *out = new(genruntime.SecretReference) + **out = **in + } + if in.AdminUsername != nil { + in, out := &in.AdminUsername, &out.AdminUsername + *out = new(string) + **out = **in + } + if in.EnableCSIProxy != nil { + in, out := &in.EnableCSIProxy, &out.EnableCSIProxy + *out = new(bool) + **out = **in + } + if in.GmsaProfile != nil { + in, out := &in.GmsaProfile, &out.GmsaProfile + *out = new(WindowsGmsaProfile) + (*in).DeepCopyInto(*out) + } + if in.LicenseType != nil { + in, out := &in.LicenseType, &out.LicenseType + *out = new(string) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterWindowsProfile. +func (in *ManagedClusterWindowsProfile) DeepCopy() *ManagedClusterWindowsProfile { + if in == nil { + return nil + } + out := new(ManagedClusterWindowsProfile) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterWindowsProfile_STATUS) DeepCopyInto(out *ManagedClusterWindowsProfile_STATUS) { + *out = *in + if in.AdminUsername != nil { + in, out := &in.AdminUsername, &out.AdminUsername + *out = new(string) + **out = **in + } + if in.EnableCSIProxy != nil { + in, out := &in.EnableCSIProxy, &out.EnableCSIProxy + *out = new(bool) + **out = **in + } + if in.GmsaProfile != nil { + in, out := &in.GmsaProfile, &out.GmsaProfile + *out = new(WindowsGmsaProfile_STATUS) + (*in).DeepCopyInto(*out) + } + if in.LicenseType != nil { + in, out := &in.LicenseType, &out.LicenseType + *out = new(string) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterWindowsProfile_STATUS. +func (in *ManagedClusterWindowsProfile_STATUS) DeepCopy() *ManagedClusterWindowsProfile_STATUS { + if in == nil { + return nil + } + out := new(ManagedClusterWindowsProfile_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterWorkloadAutoScalerProfile) DeepCopyInto(out *ManagedClusterWorkloadAutoScalerProfile) { + *out = *in + if in.Keda != nil { + in, out := &in.Keda, &out.Keda + *out = new(ManagedClusterWorkloadAutoScalerProfileKeda) + (*in).DeepCopyInto(*out) + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.VerticalPodAutoscaler != nil { + in, out := &in.VerticalPodAutoscaler, &out.VerticalPodAutoscaler + *out = new(ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterWorkloadAutoScalerProfile. +func (in *ManagedClusterWorkloadAutoScalerProfile) DeepCopy() *ManagedClusterWorkloadAutoScalerProfile { + if in == nil { + return nil + } + out := new(ManagedClusterWorkloadAutoScalerProfile) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterWorkloadAutoScalerProfileKeda) DeepCopyInto(out *ManagedClusterWorkloadAutoScalerProfileKeda) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterWorkloadAutoScalerProfileKeda. +func (in *ManagedClusterWorkloadAutoScalerProfileKeda) DeepCopy() *ManagedClusterWorkloadAutoScalerProfileKeda { + if in == nil { + return nil + } + out := new(ManagedClusterWorkloadAutoScalerProfileKeda) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterWorkloadAutoScalerProfileKeda_STATUS) DeepCopyInto(out *ManagedClusterWorkloadAutoScalerProfileKeda_STATUS) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterWorkloadAutoScalerProfileKeda_STATUS. +func (in *ManagedClusterWorkloadAutoScalerProfileKeda_STATUS) DeepCopy() *ManagedClusterWorkloadAutoScalerProfileKeda_STATUS { + if in == nil { + return nil + } + out := new(ManagedClusterWorkloadAutoScalerProfileKeda_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler) DeepCopyInto(out *ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler. +func (in *ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler) DeepCopy() *ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler { + if in == nil { + return nil + } + out := new(ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS) DeepCopyInto(out *ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS. +func (in *ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS) DeepCopy() *ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS { + if in == nil { + return nil + } + out := new(ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterWorkloadAutoScalerProfile_STATUS) DeepCopyInto(out *ManagedClusterWorkloadAutoScalerProfile_STATUS) { + *out = *in + if in.Keda != nil { + in, out := &in.Keda, &out.Keda + *out = new(ManagedClusterWorkloadAutoScalerProfileKeda_STATUS) + (*in).DeepCopyInto(*out) + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.VerticalPodAutoscaler != nil { + in, out := &in.VerticalPodAutoscaler, &out.VerticalPodAutoscaler + *out = new(ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterWorkloadAutoScalerProfile_STATUS. +func (in *ManagedClusterWorkloadAutoScalerProfile_STATUS) DeepCopy() *ManagedClusterWorkloadAutoScalerProfile_STATUS { + if in == nil { + return nil + } + out := new(ManagedClusterWorkloadAutoScalerProfile_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedCluster_STATUS) DeepCopyInto(out *ManagedCluster_STATUS) { + *out = *in + if in.AadProfile != nil { + in, out := &in.AadProfile, &out.AadProfile + *out = new(ManagedClusterAADProfile_STATUS) + (*in).DeepCopyInto(*out) + } + if in.AddonProfiles != nil { + in, out := &in.AddonProfiles, &out.AddonProfiles + *out = make(map[string]ManagedClusterAddonProfile_STATUS, len(*in)) + for key, val := range *in { + (*out)[key] = *val.DeepCopy() + } + } + if in.AgentPoolProfiles != nil { + in, out := &in.AgentPoolProfiles, &out.AgentPoolProfiles + *out = make([]ManagedClusterAgentPoolProfile_STATUS, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ApiServerAccessProfile != nil { + in, out := &in.ApiServerAccessProfile, &out.ApiServerAccessProfile + *out = new(ManagedClusterAPIServerAccessProfile_STATUS) + (*in).DeepCopyInto(*out) + } + if in.AutoScalerProfile != nil { + in, out := &in.AutoScalerProfile, &out.AutoScalerProfile + *out = new(ManagedClusterProperties_AutoScalerProfile_STATUS) + (*in).DeepCopyInto(*out) + } + if in.AutoUpgradeProfile != nil { + in, out := &in.AutoUpgradeProfile, &out.AutoUpgradeProfile + *out = new(ManagedClusterAutoUpgradeProfile_STATUS) + (*in).DeepCopyInto(*out) + } + if in.AzureMonitorProfile != nil { + in, out := &in.AzureMonitorProfile, &out.AzureMonitorProfile + *out = new(ManagedClusterAzureMonitorProfile_STATUS) + (*in).DeepCopyInto(*out) + } + if in.AzurePortalFQDN != nil { + in, out := &in.AzurePortalFQDN, &out.AzurePortalFQDN + *out = new(string) + **out = **in + } + if in.Conditions != nil { + in, out := &in.Conditions, &out.Conditions + *out = make([]conditions.Condition, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.CurrentKubernetesVersion != nil { + in, out := &in.CurrentKubernetesVersion, &out.CurrentKubernetesVersion + *out = new(string) + **out = **in + } + if in.DisableLocalAccounts != nil { + in, out := &in.DisableLocalAccounts, &out.DisableLocalAccounts + *out = new(bool) + **out = **in + } + if in.DiskEncryptionSetID != nil { + in, out := &in.DiskEncryptionSetID, &out.DiskEncryptionSetID + *out = new(string) + **out = **in + } + if in.DnsPrefix != nil { + in, out := &in.DnsPrefix, &out.DnsPrefix + *out = new(string) + **out = **in + } + if in.ETag != nil { + in, out := &in.ETag, &out.ETag + *out = new(string) + **out = **in + } + if in.EnablePodSecurityPolicy != nil { + in, out := &in.EnablePodSecurityPolicy, &out.EnablePodSecurityPolicy + *out = new(bool) + **out = **in + } + if in.EnableRBAC != nil { + in, out := &in.EnableRBAC, &out.EnableRBAC + *out = new(bool) + **out = **in + } + if in.ExtendedLocation != nil { + in, out := &in.ExtendedLocation, &out.ExtendedLocation + *out = new(ExtendedLocation_STATUS) + (*in).DeepCopyInto(*out) + } + if in.Fqdn != nil { + in, out := &in.Fqdn, &out.Fqdn + *out = new(string) + **out = **in + } + if in.FqdnSubdomain != nil { + in, out := &in.FqdnSubdomain, &out.FqdnSubdomain + *out = new(string) + **out = **in + } + if in.HttpProxyConfig != nil { + in, out := &in.HttpProxyConfig, &out.HttpProxyConfig + *out = new(ManagedClusterHTTPProxyConfig_STATUS) + (*in).DeepCopyInto(*out) + } + if in.Id != nil { + in, out := &in.Id, &out.Id + *out = new(string) + **out = **in + } + if in.Identity != nil { + in, out := &in.Identity, &out.Identity + *out = new(ManagedClusterIdentity_STATUS) + (*in).DeepCopyInto(*out) + } + if in.IdentityProfile != nil { + in, out := &in.IdentityProfile, &out.IdentityProfile + *out = make(map[string]UserAssignedIdentity_STATUS, len(*in)) + for key, val := range *in { + (*out)[key] = *val.DeepCopy() + } + } + if in.IngressProfile != nil { + in, out := &in.IngressProfile, &out.IngressProfile + *out = new(ManagedClusterIngressProfile_STATUS) + (*in).DeepCopyInto(*out) + } + if in.KubernetesVersion != nil { + in, out := &in.KubernetesVersion, &out.KubernetesVersion + *out = new(string) + **out = **in + } + if in.LinuxProfile != nil { + in, out := &in.LinuxProfile, &out.LinuxProfile + *out = new(ContainerServiceLinuxProfile_STATUS) + (*in).DeepCopyInto(*out) + } + if in.Location != nil { + in, out := &in.Location, &out.Location + *out = new(string) + **out = **in + } + if in.MaxAgentPools != nil { + in, out := &in.MaxAgentPools, &out.MaxAgentPools + *out = new(int) + **out = **in + } + if in.MetricsProfile != nil { + in, out := &in.MetricsProfile, &out.MetricsProfile + *out = new(ManagedClusterMetricsProfile_STATUS) + (*in).DeepCopyInto(*out) + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.NetworkProfile != nil { + in, out := &in.NetworkProfile, &out.NetworkProfile + *out = new(ContainerServiceNetworkProfile_STATUS) + (*in).DeepCopyInto(*out) + } + if in.NodeResourceGroup != nil { + in, out := &in.NodeResourceGroup, &out.NodeResourceGroup + *out = new(string) + **out = **in + } + if in.NodeResourceGroupProfile != nil { + in, out := &in.NodeResourceGroupProfile, &out.NodeResourceGroupProfile + *out = new(ManagedClusterNodeResourceGroupProfile_STATUS) + (*in).DeepCopyInto(*out) + } + if in.OidcIssuerProfile != nil { + in, out := &in.OidcIssuerProfile, &out.OidcIssuerProfile + *out = new(ManagedClusterOIDCIssuerProfile_STATUS) + (*in).DeepCopyInto(*out) + } + if in.PodIdentityProfile != nil { + in, out := &in.PodIdentityProfile, &out.PodIdentityProfile + *out = new(ManagedClusterPodIdentityProfile_STATUS) + (*in).DeepCopyInto(*out) + } + if in.PowerState != nil { + in, out := &in.PowerState, &out.PowerState + *out = new(PowerState_STATUS) + (*in).DeepCopyInto(*out) + } + if in.PrivateFQDN != nil { + in, out := &in.PrivateFQDN, &out.PrivateFQDN + *out = new(string) + **out = **in + } + if in.PrivateLinkResources != nil { + in, out := &in.PrivateLinkResources, &out.PrivateLinkResources + *out = make([]PrivateLinkResource_STATUS, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.ProvisioningState != nil { + in, out := &in.ProvisioningState, &out.ProvisioningState + *out = new(string) + **out = **in + } + if in.PublicNetworkAccess != nil { + in, out := &in.PublicNetworkAccess, &out.PublicNetworkAccess + *out = new(string) + **out = **in + } + if in.ResourceUID != nil { + in, out := &in.ResourceUID, &out.ResourceUID + *out = new(string) + **out = **in + } + if in.SecurityProfile != nil { + in, out := &in.SecurityProfile, &out.SecurityProfile + *out = new(ManagedClusterSecurityProfile_STATUS) + (*in).DeepCopyInto(*out) + } + if in.ServiceMeshProfile != nil { + in, out := &in.ServiceMeshProfile, &out.ServiceMeshProfile + *out = new(ServiceMeshProfile_STATUS) + (*in).DeepCopyInto(*out) + } + if in.ServicePrincipalProfile != nil { + in, out := &in.ServicePrincipalProfile, &out.ServicePrincipalProfile + *out = new(ManagedClusterServicePrincipalProfile_STATUS) + (*in).DeepCopyInto(*out) + } + if in.Sku != nil { + in, out := &in.Sku, &out.Sku + *out = new(ManagedClusterSKU_STATUS) + (*in).DeepCopyInto(*out) + } + if in.StorageProfile != nil { + in, out := &in.StorageProfile, &out.StorageProfile + *out = new(ManagedClusterStorageProfile_STATUS) + (*in).DeepCopyInto(*out) + } + if in.SupportPlan != nil { + in, out := &in.SupportPlan, &out.SupportPlan + *out = new(string) + **out = **in + } + if in.SystemData != nil { + in, out := &in.SystemData, &out.SystemData + *out = new(SystemData_STATUS) + (*in).DeepCopyInto(*out) + } + if in.Tags != nil { + in, out := &in.Tags, &out.Tags + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.Type != nil { + in, out := &in.Type, &out.Type + *out = new(string) + **out = **in + } + if in.UpgradeSettings != nil { + in, out := &in.UpgradeSettings, &out.UpgradeSettings + *out = new(ClusterUpgradeSettings_STATUS) + (*in).DeepCopyInto(*out) + } + if in.WindowsProfile != nil { + in, out := &in.WindowsProfile, &out.WindowsProfile + *out = new(ManagedClusterWindowsProfile_STATUS) + (*in).DeepCopyInto(*out) + } + if in.WorkloadAutoScalerProfile != nil { + in, out := &in.WorkloadAutoScalerProfile, &out.WorkloadAutoScalerProfile + *out = new(ManagedClusterWorkloadAutoScalerProfile_STATUS) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedCluster_STATUS. +func (in *ManagedCluster_STATUS) DeepCopy() *ManagedCluster_STATUS { + if in == nil { + return nil + } + out := new(ManagedCluster_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedCluster_Spec) DeepCopyInto(out *ManagedCluster_Spec) { + *out = *in + if in.AadProfile != nil { + in, out := &in.AadProfile, &out.AadProfile + *out = new(ManagedClusterAADProfile) + (*in).DeepCopyInto(*out) + } + if in.AddonProfiles != nil { + in, out := &in.AddonProfiles, &out.AddonProfiles + *out = make(map[string]ManagedClusterAddonProfile, len(*in)) + for key, val := range *in { + (*out)[key] = *val.DeepCopy() + } + } + if in.AgentPoolProfiles != nil { + in, out := &in.AgentPoolProfiles, &out.AgentPoolProfiles + *out = make([]ManagedClusterAgentPoolProfile, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ApiServerAccessProfile != nil { + in, out := &in.ApiServerAccessProfile, &out.ApiServerAccessProfile + *out = new(ManagedClusterAPIServerAccessProfile) + (*in).DeepCopyInto(*out) + } + if in.AutoScalerProfile != nil { + in, out := &in.AutoScalerProfile, &out.AutoScalerProfile + *out = new(ManagedClusterProperties_AutoScalerProfile) + (*in).DeepCopyInto(*out) + } + if in.AutoUpgradeProfile != nil { + in, out := &in.AutoUpgradeProfile, &out.AutoUpgradeProfile + *out = new(ManagedClusterAutoUpgradeProfile) + (*in).DeepCopyInto(*out) + } + if in.AzureMonitorProfile != nil { + in, out := &in.AzureMonitorProfile, &out.AzureMonitorProfile + *out = new(ManagedClusterAzureMonitorProfile) + (*in).DeepCopyInto(*out) + } + if in.DisableLocalAccounts != nil { + in, out := &in.DisableLocalAccounts, &out.DisableLocalAccounts + *out = new(bool) + **out = **in + } + if in.DiskEncryptionSetReference != nil { + in, out := &in.DiskEncryptionSetReference, &out.DiskEncryptionSetReference + *out = new(genruntime.ResourceReference) + **out = **in + } + if in.DnsPrefix != nil { + in, out := &in.DnsPrefix, &out.DnsPrefix + *out = new(string) + **out = **in + } + if in.EnablePodSecurityPolicy != nil { + in, out := &in.EnablePodSecurityPolicy, &out.EnablePodSecurityPolicy + *out = new(bool) + **out = **in + } + if in.EnableRBAC != nil { + in, out := &in.EnableRBAC, &out.EnableRBAC + *out = new(bool) + **out = **in + } + if in.ExtendedLocation != nil { + in, out := &in.ExtendedLocation, &out.ExtendedLocation + *out = new(ExtendedLocation) + (*in).DeepCopyInto(*out) + } + if in.FqdnSubdomain != nil { + in, out := &in.FqdnSubdomain, &out.FqdnSubdomain + *out = new(string) + **out = **in + } + if in.HttpProxyConfig != nil { + in, out := &in.HttpProxyConfig, &out.HttpProxyConfig + *out = new(ManagedClusterHTTPProxyConfig) + (*in).DeepCopyInto(*out) + } + if in.Identity != nil { + in, out := &in.Identity, &out.Identity + *out = new(ManagedClusterIdentity) + (*in).DeepCopyInto(*out) + } + if in.IdentityProfile != nil { + in, out := &in.IdentityProfile, &out.IdentityProfile + *out = make(map[string]UserAssignedIdentity, len(*in)) + for key, val := range *in { + (*out)[key] = *val.DeepCopy() + } + } + if in.IngressProfile != nil { + in, out := &in.IngressProfile, &out.IngressProfile + *out = new(ManagedClusterIngressProfile) + (*in).DeepCopyInto(*out) + } + if in.KubernetesVersion != nil { + in, out := &in.KubernetesVersion, &out.KubernetesVersion + *out = new(string) + **out = **in + } + if in.LinuxProfile != nil { + in, out := &in.LinuxProfile, &out.LinuxProfile + *out = new(ContainerServiceLinuxProfile) + (*in).DeepCopyInto(*out) + } + if in.Location != nil { + in, out := &in.Location, &out.Location + *out = new(string) + **out = **in + } + if in.MetricsProfile != nil { + in, out := &in.MetricsProfile, &out.MetricsProfile + *out = new(ManagedClusterMetricsProfile) + (*in).DeepCopyInto(*out) + } + if in.NetworkProfile != nil { + in, out := &in.NetworkProfile, &out.NetworkProfile + *out = new(ContainerServiceNetworkProfile) + (*in).DeepCopyInto(*out) + } + if in.NodeResourceGroup != nil { + in, out := &in.NodeResourceGroup, &out.NodeResourceGroup + *out = new(string) + **out = **in + } + if in.NodeResourceGroupProfile != nil { + in, out := &in.NodeResourceGroupProfile, &out.NodeResourceGroupProfile + *out = new(ManagedClusterNodeResourceGroupProfile) + (*in).DeepCopyInto(*out) + } + if in.OidcIssuerProfile != nil { + in, out := &in.OidcIssuerProfile, &out.OidcIssuerProfile + *out = new(ManagedClusterOIDCIssuerProfile) + (*in).DeepCopyInto(*out) + } + if in.OperatorSpec != nil { + in, out := &in.OperatorSpec, &out.OperatorSpec + *out = new(ManagedClusterOperatorSpec) + (*in).DeepCopyInto(*out) + } + if in.Owner != nil { + in, out := &in.Owner, &out.Owner + *out = new(genruntime.KnownResourceReference) + **out = **in + } + if in.PodIdentityProfile != nil { + in, out := &in.PodIdentityProfile, &out.PodIdentityProfile + *out = new(ManagedClusterPodIdentityProfile) + (*in).DeepCopyInto(*out) + } + if in.PrivateLinkResources != nil { + in, out := &in.PrivateLinkResources, &out.PrivateLinkResources + *out = make([]PrivateLinkResource, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.PublicNetworkAccess != nil { + in, out := &in.PublicNetworkAccess, &out.PublicNetworkAccess + *out = new(string) + **out = **in + } + if in.SecurityProfile != nil { + in, out := &in.SecurityProfile, &out.SecurityProfile + *out = new(ManagedClusterSecurityProfile) + (*in).DeepCopyInto(*out) + } + if in.ServiceMeshProfile != nil { + in, out := &in.ServiceMeshProfile, &out.ServiceMeshProfile + *out = new(ServiceMeshProfile) + (*in).DeepCopyInto(*out) + } + if in.ServicePrincipalProfile != nil { + in, out := &in.ServicePrincipalProfile, &out.ServicePrincipalProfile + *out = new(ManagedClusterServicePrincipalProfile) + (*in).DeepCopyInto(*out) + } + if in.Sku != nil { + in, out := &in.Sku, &out.Sku + *out = new(ManagedClusterSKU) + (*in).DeepCopyInto(*out) + } + if in.StorageProfile != nil { + in, out := &in.StorageProfile, &out.StorageProfile + *out = new(ManagedClusterStorageProfile) + (*in).DeepCopyInto(*out) + } + if in.SupportPlan != nil { + in, out := &in.SupportPlan, &out.SupportPlan + *out = new(string) + **out = **in + } + if in.Tags != nil { + in, out := &in.Tags, &out.Tags + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.UpgradeSettings != nil { + in, out := &in.UpgradeSettings, &out.UpgradeSettings + *out = new(ClusterUpgradeSettings) + (*in).DeepCopyInto(*out) + } + if in.WindowsProfile != nil { + in, out := &in.WindowsProfile, &out.WindowsProfile + *out = new(ManagedClusterWindowsProfile) + (*in).DeepCopyInto(*out) + } + if in.WorkloadAutoScalerProfile != nil { + in, out := &in.WorkloadAutoScalerProfile, &out.WorkloadAutoScalerProfile + *out = new(ManagedClusterWorkloadAutoScalerProfile) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedCluster_Spec. +func (in *ManagedCluster_Spec) DeepCopy() *ManagedCluster_Spec { + if in == nil { + return nil + } + out := new(ManagedCluster_Spec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClustersAgentPool) DeepCopyInto(out *ManagedClustersAgentPool) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + in.Spec.DeepCopyInto(&out.Spec) + in.Status.DeepCopyInto(&out.Status) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClustersAgentPool. +func (in *ManagedClustersAgentPool) DeepCopy() *ManagedClustersAgentPool { + if in == nil { + return nil + } + out := new(ManagedClustersAgentPool) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ManagedClustersAgentPool) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClustersAgentPoolList) DeepCopyInto(out *ManagedClustersAgentPoolList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]ManagedClustersAgentPool, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClustersAgentPoolList. +func (in *ManagedClustersAgentPoolList) DeepCopy() *ManagedClustersAgentPoolList { + if in == nil { + return nil + } + out := new(ManagedClustersAgentPoolList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ManagedClustersAgentPoolList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClustersAgentPool_STATUS) DeepCopyInto(out *ManagedClustersAgentPool_STATUS) { + *out = *in + if in.AvailabilityZones != nil { + in, out := &in.AvailabilityZones, &out.AvailabilityZones + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.CapacityReservationGroupID != nil { + in, out := &in.CapacityReservationGroupID, &out.CapacityReservationGroupID + *out = new(string) + **out = **in + } + if in.Conditions != nil { + in, out := &in.Conditions, &out.Conditions + *out = make([]conditions.Condition, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Count != nil { + in, out := &in.Count, &out.Count + *out = new(int) + **out = **in + } + if in.CreationData != nil { + in, out := &in.CreationData, &out.CreationData + *out = new(CreationData_STATUS) + (*in).DeepCopyInto(*out) + } + if in.CurrentOrchestratorVersion != nil { + in, out := &in.CurrentOrchestratorVersion, &out.CurrentOrchestratorVersion + *out = new(string) + **out = **in + } + if in.ETag != nil { + in, out := &in.ETag, &out.ETag + *out = new(string) + **out = **in + } + if in.EnableAutoScaling != nil { + in, out := &in.EnableAutoScaling, &out.EnableAutoScaling + *out = new(bool) + **out = **in + } + if in.EnableEncryptionAtHost != nil { + in, out := &in.EnableEncryptionAtHost, &out.EnableEncryptionAtHost + *out = new(bool) + **out = **in + } + if in.EnableFIPS != nil { + in, out := &in.EnableFIPS, &out.EnableFIPS + *out = new(bool) + **out = **in + } + if in.EnableNodePublicIP != nil { + in, out := &in.EnableNodePublicIP, &out.EnableNodePublicIP + *out = new(bool) + **out = **in + } + if in.EnableUltraSSD != nil { + in, out := &in.EnableUltraSSD, &out.EnableUltraSSD + *out = new(bool) + **out = **in + } + if in.GpuInstanceProfile != nil { + in, out := &in.GpuInstanceProfile, &out.GpuInstanceProfile + *out = new(string) + **out = **in + } + if in.HostGroupID != nil { + in, out := &in.HostGroupID, &out.HostGroupID + *out = new(string) + **out = **in + } + if in.Id != nil { + in, out := &in.Id, &out.Id + *out = new(string) + **out = **in + } + if in.KubeletConfig != nil { + in, out := &in.KubeletConfig, &out.KubeletConfig + *out = new(KubeletConfig_STATUS) + (*in).DeepCopyInto(*out) + } + if in.KubeletDiskType != nil { + in, out := &in.KubeletDiskType, &out.KubeletDiskType + *out = new(string) + **out = **in + } + if in.LinuxOSConfig != nil { + in, out := &in.LinuxOSConfig, &out.LinuxOSConfig + *out = new(LinuxOSConfig_STATUS) + (*in).DeepCopyInto(*out) + } + if in.MaxCount != nil { + in, out := &in.MaxCount, &out.MaxCount + *out = new(int) + **out = **in + } + if in.MaxPods != nil { + in, out := &in.MaxPods, &out.MaxPods + *out = new(int) + **out = **in + } + if in.MinCount != nil { + in, out := &in.MinCount, &out.MinCount + *out = new(int) + **out = **in + } + if in.Mode != nil { + in, out := &in.Mode, &out.Mode + *out = new(string) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.NetworkProfile != nil { + in, out := &in.NetworkProfile, &out.NetworkProfile + *out = new(AgentPoolNetworkProfile_STATUS) + (*in).DeepCopyInto(*out) + } + if in.NodeImageVersion != nil { + in, out := &in.NodeImageVersion, &out.NodeImageVersion + *out = new(string) + **out = **in + } + if in.NodeLabels != nil { + in, out := &in.NodeLabels, &out.NodeLabels + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.NodePublicIPPrefixID != nil { + in, out := &in.NodePublicIPPrefixID, &out.NodePublicIPPrefixID + *out = new(string) + **out = **in + } + if in.NodeTaints != nil { + in, out := &in.NodeTaints, &out.NodeTaints + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.OrchestratorVersion != nil { + in, out := &in.OrchestratorVersion, &out.OrchestratorVersion + *out = new(string) + **out = **in + } + if in.OsDiskSizeGB != nil { + in, out := &in.OsDiskSizeGB, &out.OsDiskSizeGB + *out = new(int) + **out = **in + } + if in.OsDiskType != nil { + in, out := &in.OsDiskType, &out.OsDiskType + *out = new(string) + **out = **in + } + if in.OsSKU != nil { + in, out := &in.OsSKU, &out.OsSKU + *out = new(string) + **out = **in + } + if in.OsType != nil { + in, out := &in.OsType, &out.OsType + *out = new(string) + **out = **in + } + if in.PodSubnetID != nil { + in, out := &in.PodSubnetID, &out.PodSubnetID + *out = new(string) + **out = **in + } + if in.PowerState != nil { + in, out := &in.PowerState, &out.PowerState + *out = new(PowerState_STATUS) + (*in).DeepCopyInto(*out) + } + if in.PropertiesType != nil { + in, out := &in.PropertiesType, &out.PropertiesType + *out = new(string) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.ProvisioningState != nil { + in, out := &in.ProvisioningState, &out.ProvisioningState + *out = new(string) + **out = **in + } + if in.ProximityPlacementGroupID != nil { + in, out := &in.ProximityPlacementGroupID, &out.ProximityPlacementGroupID + *out = new(string) + **out = **in + } + if in.ScaleDownMode != nil { + in, out := &in.ScaleDownMode, &out.ScaleDownMode + *out = new(string) + **out = **in + } + if in.ScaleSetEvictionPolicy != nil { + in, out := &in.ScaleSetEvictionPolicy, &out.ScaleSetEvictionPolicy + *out = new(string) + **out = **in + } + if in.ScaleSetPriority != nil { + in, out := &in.ScaleSetPriority, &out.ScaleSetPriority + *out = new(string) + **out = **in + } + if in.SecurityProfile != nil { + in, out := &in.SecurityProfile, &out.SecurityProfile + *out = new(AgentPoolSecurityProfile_STATUS) + (*in).DeepCopyInto(*out) + } + if in.SpotMaxPrice != nil { + in, out := &in.SpotMaxPrice, &out.SpotMaxPrice + *out = new(float64) + **out = **in + } + if in.Tags != nil { + in, out := &in.Tags, &out.Tags + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.Type != nil { + in, out := &in.Type, &out.Type + *out = new(string) + **out = **in + } + if in.UpgradeSettings != nil { + in, out := &in.UpgradeSettings, &out.UpgradeSettings + *out = new(AgentPoolUpgradeSettings_STATUS) + (*in).DeepCopyInto(*out) + } + if in.VmSize != nil { + in, out := &in.VmSize, &out.VmSize + *out = new(string) + **out = **in + } + if in.VnetSubnetID != nil { + in, out := &in.VnetSubnetID, &out.VnetSubnetID + *out = new(string) + **out = **in + } + if in.WindowsProfile != nil { + in, out := &in.WindowsProfile, &out.WindowsProfile + *out = new(AgentPoolWindowsProfile_STATUS) + (*in).DeepCopyInto(*out) + } + if in.WorkloadRuntime != nil { + in, out := &in.WorkloadRuntime, &out.WorkloadRuntime + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClustersAgentPool_STATUS. +func (in *ManagedClustersAgentPool_STATUS) DeepCopy() *ManagedClustersAgentPool_STATUS { + if in == nil { + return nil + } + out := new(ManagedClustersAgentPool_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClustersAgentPool_Spec) DeepCopyInto(out *ManagedClustersAgentPool_Spec) { + *out = *in + if in.AvailabilityZones != nil { + in, out := &in.AvailabilityZones, &out.AvailabilityZones + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.CapacityReservationGroupReference != nil { + in, out := &in.CapacityReservationGroupReference, &out.CapacityReservationGroupReference + *out = new(genruntime.ResourceReference) + **out = **in + } + if in.Count != nil { + in, out := &in.Count, &out.Count + *out = new(int) + **out = **in + } + if in.CreationData != nil { + in, out := &in.CreationData, &out.CreationData + *out = new(CreationData) + (*in).DeepCopyInto(*out) + } + if in.EnableAutoScaling != nil { + in, out := &in.EnableAutoScaling, &out.EnableAutoScaling + *out = new(bool) + **out = **in + } + if in.EnableEncryptionAtHost != nil { + in, out := &in.EnableEncryptionAtHost, &out.EnableEncryptionAtHost + *out = new(bool) + **out = **in + } + if in.EnableFIPS != nil { + in, out := &in.EnableFIPS, &out.EnableFIPS + *out = new(bool) + **out = **in + } + if in.EnableNodePublicIP != nil { + in, out := &in.EnableNodePublicIP, &out.EnableNodePublicIP + *out = new(bool) + **out = **in + } + if in.EnableUltraSSD != nil { + in, out := &in.EnableUltraSSD, &out.EnableUltraSSD + *out = new(bool) + **out = **in + } + if in.GpuInstanceProfile != nil { + in, out := &in.GpuInstanceProfile, &out.GpuInstanceProfile + *out = new(string) + **out = **in + } + if in.HostGroupReference != nil { + in, out := &in.HostGroupReference, &out.HostGroupReference + *out = new(genruntime.ResourceReference) + **out = **in + } + if in.KubeletConfig != nil { + in, out := &in.KubeletConfig, &out.KubeletConfig + *out = new(KubeletConfig) + (*in).DeepCopyInto(*out) + } + if in.KubeletDiskType != nil { + in, out := &in.KubeletDiskType, &out.KubeletDiskType + *out = new(string) + **out = **in + } + if in.LinuxOSConfig != nil { + in, out := &in.LinuxOSConfig, &out.LinuxOSConfig + *out = new(LinuxOSConfig) + (*in).DeepCopyInto(*out) + } + if in.MaxCount != nil { + in, out := &in.MaxCount, &out.MaxCount + *out = new(int) + **out = **in + } + if in.MaxPods != nil { + in, out := &in.MaxPods, &out.MaxPods + *out = new(int) + **out = **in + } + if in.MinCount != nil { + in, out := &in.MinCount, &out.MinCount + *out = new(int) + **out = **in + } + if in.Mode != nil { + in, out := &in.Mode, &out.Mode + *out = new(string) + **out = **in + } + if in.NetworkProfile != nil { + in, out := &in.NetworkProfile, &out.NetworkProfile + *out = new(AgentPoolNetworkProfile) + (*in).DeepCopyInto(*out) + } + if in.NodeLabels != nil { + in, out := &in.NodeLabels, &out.NodeLabels + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.NodePublicIPPrefixReference != nil { + in, out := &in.NodePublicIPPrefixReference, &out.NodePublicIPPrefixReference + *out = new(genruntime.ResourceReference) + **out = **in + } + if in.NodeTaints != nil { + in, out := &in.NodeTaints, &out.NodeTaints + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.OrchestratorVersion != nil { + in, out := &in.OrchestratorVersion, &out.OrchestratorVersion + *out = new(string) + **out = **in + } + if in.OsDiskSizeGB != nil { + in, out := &in.OsDiskSizeGB, &out.OsDiskSizeGB + *out = new(int) + **out = **in + } + if in.OsDiskType != nil { + in, out := &in.OsDiskType, &out.OsDiskType + *out = new(string) + **out = **in + } + if in.OsSKU != nil { + in, out := &in.OsSKU, &out.OsSKU + *out = new(string) + **out = **in + } + if in.OsType != nil { + in, out := &in.OsType, &out.OsType + *out = new(string) + **out = **in + } + if in.Owner != nil { + in, out := &in.Owner, &out.Owner + *out = new(genruntime.KnownResourceReference) + **out = **in + } + if in.PodSubnetReference != nil { + in, out := &in.PodSubnetReference, &out.PodSubnetReference + *out = new(genruntime.ResourceReference) + **out = **in + } + if in.PowerState != nil { + in, out := &in.PowerState, &out.PowerState + *out = new(PowerState) + (*in).DeepCopyInto(*out) + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.ProximityPlacementGroupReference != nil { + in, out := &in.ProximityPlacementGroupReference, &out.ProximityPlacementGroupReference + *out = new(genruntime.ResourceReference) + **out = **in + } + if in.ScaleDownMode != nil { + in, out := &in.ScaleDownMode, &out.ScaleDownMode + *out = new(string) + **out = **in + } + if in.ScaleSetEvictionPolicy != nil { + in, out := &in.ScaleSetEvictionPolicy, &out.ScaleSetEvictionPolicy + *out = new(string) + **out = **in + } + if in.ScaleSetPriority != nil { + in, out := &in.ScaleSetPriority, &out.ScaleSetPriority + *out = new(string) + **out = **in + } + if in.SecurityProfile != nil { + in, out := &in.SecurityProfile, &out.SecurityProfile + *out = new(AgentPoolSecurityProfile) + (*in).DeepCopyInto(*out) + } + if in.SpotMaxPrice != nil { + in, out := &in.SpotMaxPrice, &out.SpotMaxPrice + *out = new(float64) + **out = **in + } + if in.Tags != nil { + in, out := &in.Tags, &out.Tags + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.Type != nil { + in, out := &in.Type, &out.Type + *out = new(string) + **out = **in + } + if in.UpgradeSettings != nil { + in, out := &in.UpgradeSettings, &out.UpgradeSettings + *out = new(AgentPoolUpgradeSettings) + (*in).DeepCopyInto(*out) + } + if in.VmSize != nil { + in, out := &in.VmSize, &out.VmSize + *out = new(string) + **out = **in + } + if in.VnetSubnetReference != nil { + in, out := &in.VnetSubnetReference, &out.VnetSubnetReference + *out = new(genruntime.ResourceReference) + **out = **in + } + if in.WindowsProfile != nil { + in, out := &in.WindowsProfile, &out.WindowsProfile + *out = new(AgentPoolWindowsProfile) + (*in).DeepCopyInto(*out) + } + if in.WorkloadRuntime != nil { + in, out := &in.WorkloadRuntime, &out.WorkloadRuntime + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClustersAgentPool_Spec. +func (in *ManagedClustersAgentPool_Spec) DeepCopy() *ManagedClustersAgentPool_Spec { + if in == nil { + return nil + } + out := new(ManagedClustersAgentPool_Spec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PortRange) DeepCopyInto(out *PortRange) { + *out = *in + if in.PortEnd != nil { + in, out := &in.PortEnd, &out.PortEnd + *out = new(int) + **out = **in + } + if in.PortStart != nil { + in, out := &in.PortStart, &out.PortStart + *out = new(int) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.Protocol != nil { + in, out := &in.Protocol, &out.Protocol + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PortRange. +func (in *PortRange) DeepCopy() *PortRange { + if in == nil { + return nil + } + out := new(PortRange) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PortRange_STATUS) DeepCopyInto(out *PortRange_STATUS) { + *out = *in + if in.PortEnd != nil { + in, out := &in.PortEnd, &out.PortEnd + *out = new(int) + **out = **in + } + if in.PortStart != nil { + in, out := &in.PortStart, &out.PortStart + *out = new(int) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.Protocol != nil { + in, out := &in.Protocol, &out.Protocol + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PortRange_STATUS. +func (in *PortRange_STATUS) DeepCopy() *PortRange_STATUS { + if in == nil { + return nil + } + out := new(PortRange_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PowerState) DeepCopyInto(out *PowerState) { + *out = *in + if in.Code != nil { + in, out := &in.Code, &out.Code + *out = new(string) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PowerState. +func (in *PowerState) DeepCopy() *PowerState { + if in == nil { + return nil + } + out := new(PowerState) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PowerState_STATUS) DeepCopyInto(out *PowerState_STATUS) { + *out = *in + if in.Code != nil { + in, out := &in.Code, &out.Code + *out = new(string) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PowerState_STATUS. +func (in *PowerState_STATUS) DeepCopy() *PowerState_STATUS { + if in == nil { + return nil + } + out := new(PowerState_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PrivateLinkResource) DeepCopyInto(out *PrivateLinkResource) { + *out = *in + if in.GroupId != nil { + in, out := &in.GroupId, &out.GroupId + *out = new(string) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.Reference != nil { + in, out := &in.Reference, &out.Reference + *out = new(genruntime.ResourceReference) + **out = **in + } + if in.RequiredMembers != nil { + in, out := &in.RequiredMembers, &out.RequiredMembers + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.Type != nil { + in, out := &in.Type, &out.Type + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PrivateLinkResource. +func (in *PrivateLinkResource) DeepCopy() *PrivateLinkResource { + if in == nil { + return nil + } + out := new(PrivateLinkResource) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PrivateLinkResource_STATUS) DeepCopyInto(out *PrivateLinkResource_STATUS) { + *out = *in + if in.GroupId != nil { + in, out := &in.GroupId, &out.GroupId + *out = new(string) + **out = **in + } + if in.Id != nil { + in, out := &in.Id, &out.Id + *out = new(string) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.PrivateLinkServiceID != nil { + in, out := &in.PrivateLinkServiceID, &out.PrivateLinkServiceID + *out = new(string) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.RequiredMembers != nil { + in, out := &in.RequiredMembers, &out.RequiredMembers + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.Type != nil { + in, out := &in.Type, &out.Type + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PrivateLinkResource_STATUS. +func (in *PrivateLinkResource_STATUS) DeepCopy() *PrivateLinkResource_STATUS { + if in == nil { + return nil + } + out := new(PrivateLinkResource_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RelativeMonthlySchedule) DeepCopyInto(out *RelativeMonthlySchedule) { + *out = *in + if in.DayOfWeek != nil { + in, out := &in.DayOfWeek, &out.DayOfWeek + *out = new(string) + **out = **in + } + if in.IntervalMonths != nil { + in, out := &in.IntervalMonths, &out.IntervalMonths + *out = new(int) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.WeekIndex != nil { + in, out := &in.WeekIndex, &out.WeekIndex + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RelativeMonthlySchedule. +func (in *RelativeMonthlySchedule) DeepCopy() *RelativeMonthlySchedule { + if in == nil { + return nil + } + out := new(RelativeMonthlySchedule) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RelativeMonthlySchedule_STATUS) DeepCopyInto(out *RelativeMonthlySchedule_STATUS) { + *out = *in + if in.DayOfWeek != nil { + in, out := &in.DayOfWeek, &out.DayOfWeek + *out = new(string) + **out = **in + } + if in.IntervalMonths != nil { + in, out := &in.IntervalMonths, &out.IntervalMonths + *out = new(int) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.WeekIndex != nil { + in, out := &in.WeekIndex, &out.WeekIndex + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RelativeMonthlySchedule_STATUS. +func (in *RelativeMonthlySchedule_STATUS) DeepCopy() *RelativeMonthlySchedule_STATUS { + if in == nil { + return nil + } + out := new(RelativeMonthlySchedule_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ResourceReference) DeepCopyInto(out *ResourceReference) { + *out = *in + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.Reference != nil { + in, out := &in.Reference, &out.Reference + *out = new(genruntime.ResourceReference) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceReference. +func (in *ResourceReference) DeepCopy() *ResourceReference { + if in == nil { + return nil + } + out := new(ResourceReference) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ResourceReference_STATUS) DeepCopyInto(out *ResourceReference_STATUS) { + *out = *in + if in.Id != nil { + in, out := &in.Id, &out.Id + *out = new(string) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceReference_STATUS. +func (in *ResourceReference_STATUS) DeepCopy() *ResourceReference_STATUS { + if in == nil { + return nil + } + out := new(ResourceReference_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Schedule) DeepCopyInto(out *Schedule) { + *out = *in + if in.AbsoluteMonthly != nil { + in, out := &in.AbsoluteMonthly, &out.AbsoluteMonthly + *out = new(AbsoluteMonthlySchedule) + (*in).DeepCopyInto(*out) + } + if in.Daily != nil { + in, out := &in.Daily, &out.Daily + *out = new(DailySchedule) + (*in).DeepCopyInto(*out) + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.RelativeMonthly != nil { + in, out := &in.RelativeMonthly, &out.RelativeMonthly + *out = new(RelativeMonthlySchedule) + (*in).DeepCopyInto(*out) + } + if in.Weekly != nil { + in, out := &in.Weekly, &out.Weekly + *out = new(WeeklySchedule) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Schedule. +func (in *Schedule) DeepCopy() *Schedule { + if in == nil { + return nil + } + out := new(Schedule) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Schedule_STATUS) DeepCopyInto(out *Schedule_STATUS) { + *out = *in + if in.AbsoluteMonthly != nil { + in, out := &in.AbsoluteMonthly, &out.AbsoluteMonthly + *out = new(AbsoluteMonthlySchedule_STATUS) + (*in).DeepCopyInto(*out) + } + if in.Daily != nil { + in, out := &in.Daily, &out.Daily + *out = new(DailySchedule_STATUS) + (*in).DeepCopyInto(*out) + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.RelativeMonthly != nil { + in, out := &in.RelativeMonthly, &out.RelativeMonthly + *out = new(RelativeMonthlySchedule_STATUS) + (*in).DeepCopyInto(*out) + } + if in.Weekly != nil { + in, out := &in.Weekly, &out.Weekly + *out = new(WeeklySchedule_STATUS) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Schedule_STATUS. +func (in *Schedule_STATUS) DeepCopy() *Schedule_STATUS { + if in == nil { + return nil + } + out := new(Schedule_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServiceMeshProfile) DeepCopyInto(out *ServiceMeshProfile) { + *out = *in + if in.Istio != nil { + in, out := &in.Istio, &out.Istio + *out = new(IstioServiceMesh) + (*in).DeepCopyInto(*out) + } + if in.Mode != nil { + in, out := &in.Mode, &out.Mode + *out = new(string) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceMeshProfile. +func (in *ServiceMeshProfile) DeepCopy() *ServiceMeshProfile { + if in == nil { + return nil + } + out := new(ServiceMeshProfile) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServiceMeshProfile_STATUS) DeepCopyInto(out *ServiceMeshProfile_STATUS) { + *out = *in + if in.Istio != nil { + in, out := &in.Istio, &out.Istio + *out = new(IstioServiceMesh_STATUS) + (*in).DeepCopyInto(*out) + } + if in.Mode != nil { + in, out := &in.Mode, &out.Mode + *out = new(string) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceMeshProfile_STATUS. +func (in *ServiceMeshProfile_STATUS) DeepCopy() *ServiceMeshProfile_STATUS { + if in == nil { + return nil + } + out := new(ServiceMeshProfile_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SysctlConfig) DeepCopyInto(out *SysctlConfig) { + *out = *in + if in.FsAioMaxNr != nil { + in, out := &in.FsAioMaxNr, &out.FsAioMaxNr + *out = new(int) + **out = **in + } + if in.FsFileMax != nil { + in, out := &in.FsFileMax, &out.FsFileMax + *out = new(int) + **out = **in + } + if in.FsInotifyMaxUserWatches != nil { + in, out := &in.FsInotifyMaxUserWatches, &out.FsInotifyMaxUserWatches + *out = new(int) + **out = **in + } + if in.FsNrOpen != nil { + in, out := &in.FsNrOpen, &out.FsNrOpen + *out = new(int) + **out = **in + } + if in.KernelThreadsMax != nil { + in, out := &in.KernelThreadsMax, &out.KernelThreadsMax + *out = new(int) + **out = **in + } + if in.NetCoreNetdevMaxBacklog != nil { + in, out := &in.NetCoreNetdevMaxBacklog, &out.NetCoreNetdevMaxBacklog + *out = new(int) + **out = **in + } + if in.NetCoreOptmemMax != nil { + in, out := &in.NetCoreOptmemMax, &out.NetCoreOptmemMax + *out = new(int) + **out = **in + } + if in.NetCoreRmemDefault != nil { + in, out := &in.NetCoreRmemDefault, &out.NetCoreRmemDefault + *out = new(int) + **out = **in + } + if in.NetCoreRmemMax != nil { + in, out := &in.NetCoreRmemMax, &out.NetCoreRmemMax + *out = new(int) + **out = **in + } + if in.NetCoreSomaxconn != nil { + in, out := &in.NetCoreSomaxconn, &out.NetCoreSomaxconn + *out = new(int) + **out = **in + } + if in.NetCoreWmemDefault != nil { + in, out := &in.NetCoreWmemDefault, &out.NetCoreWmemDefault + *out = new(int) + **out = **in + } + if in.NetCoreWmemMax != nil { + in, out := &in.NetCoreWmemMax, &out.NetCoreWmemMax + *out = new(int) + **out = **in + } + if in.NetIpv4IpLocalPortRange != nil { + in, out := &in.NetIpv4IpLocalPortRange, &out.NetIpv4IpLocalPortRange + *out = new(string) + **out = **in + } + if in.NetIpv4NeighDefaultGcThresh1 != nil { + in, out := &in.NetIpv4NeighDefaultGcThresh1, &out.NetIpv4NeighDefaultGcThresh1 + *out = new(int) + **out = **in + } + if in.NetIpv4NeighDefaultGcThresh2 != nil { + in, out := &in.NetIpv4NeighDefaultGcThresh2, &out.NetIpv4NeighDefaultGcThresh2 + *out = new(int) + **out = **in + } + if in.NetIpv4NeighDefaultGcThresh3 != nil { + in, out := &in.NetIpv4NeighDefaultGcThresh3, &out.NetIpv4NeighDefaultGcThresh3 + *out = new(int) + **out = **in + } + if in.NetIpv4TcpFinTimeout != nil { + in, out := &in.NetIpv4TcpFinTimeout, &out.NetIpv4TcpFinTimeout + *out = new(int) + **out = **in + } + if in.NetIpv4TcpKeepaliveProbes != nil { + in, out := &in.NetIpv4TcpKeepaliveProbes, &out.NetIpv4TcpKeepaliveProbes + *out = new(int) + **out = **in + } + if in.NetIpv4TcpKeepaliveTime != nil { + in, out := &in.NetIpv4TcpKeepaliveTime, &out.NetIpv4TcpKeepaliveTime + *out = new(int) + **out = **in + } + if in.NetIpv4TcpMaxSynBacklog != nil { + in, out := &in.NetIpv4TcpMaxSynBacklog, &out.NetIpv4TcpMaxSynBacklog + *out = new(int) + **out = **in + } + if in.NetIpv4TcpMaxTwBuckets != nil { + in, out := &in.NetIpv4TcpMaxTwBuckets, &out.NetIpv4TcpMaxTwBuckets + *out = new(int) + **out = **in + } + if in.NetIpv4TcpTwReuse != nil { + in, out := &in.NetIpv4TcpTwReuse, &out.NetIpv4TcpTwReuse + *out = new(bool) + **out = **in + } + if in.NetIpv4TcpkeepaliveIntvl != nil { + in, out := &in.NetIpv4TcpkeepaliveIntvl, &out.NetIpv4TcpkeepaliveIntvl + *out = new(int) + **out = **in + } + if in.NetNetfilterNfConntrackBuckets != nil { + in, out := &in.NetNetfilterNfConntrackBuckets, &out.NetNetfilterNfConntrackBuckets + *out = new(int) + **out = **in + } + if in.NetNetfilterNfConntrackMax != nil { + in, out := &in.NetNetfilterNfConntrackMax, &out.NetNetfilterNfConntrackMax + *out = new(int) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.VmMaxMapCount != nil { + in, out := &in.VmMaxMapCount, &out.VmMaxMapCount + *out = new(int) + **out = **in + } + if in.VmSwappiness != nil { + in, out := &in.VmSwappiness, &out.VmSwappiness + *out = new(int) + **out = **in + } + if in.VmVfsCachePressure != nil { + in, out := &in.VmVfsCachePressure, &out.VmVfsCachePressure + *out = new(int) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SysctlConfig. +func (in *SysctlConfig) DeepCopy() *SysctlConfig { + if in == nil { + return nil + } + out := new(SysctlConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SysctlConfig_STATUS) DeepCopyInto(out *SysctlConfig_STATUS) { + *out = *in + if in.FsAioMaxNr != nil { + in, out := &in.FsAioMaxNr, &out.FsAioMaxNr + *out = new(int) + **out = **in + } + if in.FsFileMax != nil { + in, out := &in.FsFileMax, &out.FsFileMax + *out = new(int) + **out = **in + } + if in.FsInotifyMaxUserWatches != nil { + in, out := &in.FsInotifyMaxUserWatches, &out.FsInotifyMaxUserWatches + *out = new(int) + **out = **in + } + if in.FsNrOpen != nil { + in, out := &in.FsNrOpen, &out.FsNrOpen + *out = new(int) + **out = **in + } + if in.KernelThreadsMax != nil { + in, out := &in.KernelThreadsMax, &out.KernelThreadsMax + *out = new(int) + **out = **in + } + if in.NetCoreNetdevMaxBacklog != nil { + in, out := &in.NetCoreNetdevMaxBacklog, &out.NetCoreNetdevMaxBacklog + *out = new(int) + **out = **in + } + if in.NetCoreOptmemMax != nil { + in, out := &in.NetCoreOptmemMax, &out.NetCoreOptmemMax + *out = new(int) + **out = **in + } + if in.NetCoreRmemDefault != nil { + in, out := &in.NetCoreRmemDefault, &out.NetCoreRmemDefault + *out = new(int) + **out = **in + } + if in.NetCoreRmemMax != nil { + in, out := &in.NetCoreRmemMax, &out.NetCoreRmemMax + *out = new(int) + **out = **in + } + if in.NetCoreSomaxconn != nil { + in, out := &in.NetCoreSomaxconn, &out.NetCoreSomaxconn + *out = new(int) + **out = **in + } + if in.NetCoreWmemDefault != nil { + in, out := &in.NetCoreWmemDefault, &out.NetCoreWmemDefault + *out = new(int) + **out = **in + } + if in.NetCoreWmemMax != nil { + in, out := &in.NetCoreWmemMax, &out.NetCoreWmemMax + *out = new(int) + **out = **in + } + if in.NetIpv4IpLocalPortRange != nil { + in, out := &in.NetIpv4IpLocalPortRange, &out.NetIpv4IpLocalPortRange + *out = new(string) + **out = **in + } + if in.NetIpv4NeighDefaultGcThresh1 != nil { + in, out := &in.NetIpv4NeighDefaultGcThresh1, &out.NetIpv4NeighDefaultGcThresh1 + *out = new(int) + **out = **in + } + if in.NetIpv4NeighDefaultGcThresh2 != nil { + in, out := &in.NetIpv4NeighDefaultGcThresh2, &out.NetIpv4NeighDefaultGcThresh2 + *out = new(int) + **out = **in + } + if in.NetIpv4NeighDefaultGcThresh3 != nil { + in, out := &in.NetIpv4NeighDefaultGcThresh3, &out.NetIpv4NeighDefaultGcThresh3 + *out = new(int) + **out = **in + } + if in.NetIpv4TcpFinTimeout != nil { + in, out := &in.NetIpv4TcpFinTimeout, &out.NetIpv4TcpFinTimeout + *out = new(int) + **out = **in + } + if in.NetIpv4TcpKeepaliveProbes != nil { + in, out := &in.NetIpv4TcpKeepaliveProbes, &out.NetIpv4TcpKeepaliveProbes + *out = new(int) + **out = **in + } + if in.NetIpv4TcpKeepaliveTime != nil { + in, out := &in.NetIpv4TcpKeepaliveTime, &out.NetIpv4TcpKeepaliveTime + *out = new(int) + **out = **in + } + if in.NetIpv4TcpMaxSynBacklog != nil { + in, out := &in.NetIpv4TcpMaxSynBacklog, &out.NetIpv4TcpMaxSynBacklog + *out = new(int) + **out = **in + } + if in.NetIpv4TcpMaxTwBuckets != nil { + in, out := &in.NetIpv4TcpMaxTwBuckets, &out.NetIpv4TcpMaxTwBuckets + *out = new(int) + **out = **in + } + if in.NetIpv4TcpTwReuse != nil { + in, out := &in.NetIpv4TcpTwReuse, &out.NetIpv4TcpTwReuse + *out = new(bool) + **out = **in + } + if in.NetIpv4TcpkeepaliveIntvl != nil { + in, out := &in.NetIpv4TcpkeepaliveIntvl, &out.NetIpv4TcpkeepaliveIntvl + *out = new(int) + **out = **in + } + if in.NetNetfilterNfConntrackBuckets != nil { + in, out := &in.NetNetfilterNfConntrackBuckets, &out.NetNetfilterNfConntrackBuckets + *out = new(int) + **out = **in + } + if in.NetNetfilterNfConntrackMax != nil { + in, out := &in.NetNetfilterNfConntrackMax, &out.NetNetfilterNfConntrackMax + *out = new(int) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.VmMaxMapCount != nil { + in, out := &in.VmMaxMapCount, &out.VmMaxMapCount + *out = new(int) + **out = **in + } + if in.VmSwappiness != nil { + in, out := &in.VmSwappiness, &out.VmSwappiness + *out = new(int) + **out = **in + } + if in.VmVfsCachePressure != nil { + in, out := &in.VmVfsCachePressure, &out.VmVfsCachePressure + *out = new(int) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SysctlConfig_STATUS. +func (in *SysctlConfig_STATUS) DeepCopy() *SysctlConfig_STATUS { + if in == nil { + return nil + } + out := new(SysctlConfig_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SystemData_STATUS) DeepCopyInto(out *SystemData_STATUS) { + *out = *in + if in.CreatedAt != nil { + in, out := &in.CreatedAt, &out.CreatedAt + *out = new(string) + **out = **in + } + if in.CreatedBy != nil { + in, out := &in.CreatedBy, &out.CreatedBy + *out = new(string) + **out = **in + } + if in.CreatedByType != nil { + in, out := &in.CreatedByType, &out.CreatedByType + *out = new(string) + **out = **in + } + if in.LastModifiedAt != nil { + in, out := &in.LastModifiedAt, &out.LastModifiedAt + *out = new(string) + **out = **in + } + if in.LastModifiedBy != nil { + in, out := &in.LastModifiedBy, &out.LastModifiedBy + *out = new(string) + **out = **in + } + if in.LastModifiedByType != nil { + in, out := &in.LastModifiedByType, &out.LastModifiedByType + *out = new(string) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SystemData_STATUS. +func (in *SystemData_STATUS) DeepCopy() *SystemData_STATUS { + if in == nil { + return nil + } + out := new(SystemData_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TimeInWeek) DeepCopyInto(out *TimeInWeek) { + *out = *in + if in.Day != nil { + in, out := &in.Day, &out.Day + *out = new(string) + **out = **in + } + if in.HourSlots != nil { + in, out := &in.HourSlots, &out.HourSlots + *out = make([]int, len(*in)) + copy(*out, *in) + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TimeInWeek. +func (in *TimeInWeek) DeepCopy() *TimeInWeek { + if in == nil { + return nil + } + out := new(TimeInWeek) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TimeInWeek_STATUS) DeepCopyInto(out *TimeInWeek_STATUS) { + *out = *in + if in.Day != nil { + in, out := &in.Day, &out.Day + *out = new(string) + **out = **in + } + if in.HourSlots != nil { + in, out := &in.HourSlots, &out.HourSlots + *out = make([]int, len(*in)) + copy(*out, *in) + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TimeInWeek_STATUS. +func (in *TimeInWeek_STATUS) DeepCopy() *TimeInWeek_STATUS { + if in == nil { + return nil + } + out := new(TimeInWeek_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TimeSpan) DeepCopyInto(out *TimeSpan) { + *out = *in + if in.End != nil { + in, out := &in.End, &out.End + *out = new(string) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.Start != nil { + in, out := &in.Start, &out.Start + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TimeSpan. +func (in *TimeSpan) DeepCopy() *TimeSpan { + if in == nil { + return nil + } + out := new(TimeSpan) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TimeSpan_STATUS) DeepCopyInto(out *TimeSpan_STATUS) { + *out = *in + if in.End != nil { + in, out := &in.End, &out.End + *out = new(string) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.Start != nil { + in, out := &in.Start, &out.Start + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TimeSpan_STATUS. +func (in *TimeSpan_STATUS) DeepCopy() *TimeSpan_STATUS { + if in == nil { + return nil + } + out := new(TimeSpan_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TrustedAccessRoleBinding) DeepCopyInto(out *TrustedAccessRoleBinding) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + in.Spec.DeepCopyInto(&out.Spec) + in.Status.DeepCopyInto(&out.Status) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TrustedAccessRoleBinding. +func (in *TrustedAccessRoleBinding) DeepCopy() *TrustedAccessRoleBinding { + if in == nil { + return nil + } + out := new(TrustedAccessRoleBinding) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *TrustedAccessRoleBinding) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TrustedAccessRoleBindingList) DeepCopyInto(out *TrustedAccessRoleBindingList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]TrustedAccessRoleBinding, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TrustedAccessRoleBindingList. +func (in *TrustedAccessRoleBindingList) DeepCopy() *TrustedAccessRoleBindingList { + if in == nil { + return nil + } + out := new(TrustedAccessRoleBindingList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *TrustedAccessRoleBindingList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TrustedAccessRoleBinding_STATUS) DeepCopyInto(out *TrustedAccessRoleBinding_STATUS) { + *out = *in + if in.Conditions != nil { + in, out := &in.Conditions, &out.Conditions + *out = make([]conditions.Condition, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Id != nil { + in, out := &in.Id, &out.Id + *out = new(string) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.ProvisioningState != nil { + in, out := &in.ProvisioningState, &out.ProvisioningState + *out = new(string) + **out = **in + } + if in.Roles != nil { + in, out := &in.Roles, &out.Roles + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.SourceResourceId != nil { + in, out := &in.SourceResourceId, &out.SourceResourceId + *out = new(string) + **out = **in + } + if in.SystemData != nil { + in, out := &in.SystemData, &out.SystemData + *out = new(SystemData_STATUS) + (*in).DeepCopyInto(*out) + } + if in.Type != nil { + in, out := &in.Type, &out.Type + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TrustedAccessRoleBinding_STATUS. +func (in *TrustedAccessRoleBinding_STATUS) DeepCopy() *TrustedAccessRoleBinding_STATUS { + if in == nil { + return nil + } + out := new(TrustedAccessRoleBinding_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TrustedAccessRoleBinding_Spec) DeepCopyInto(out *TrustedAccessRoleBinding_Spec) { + *out = *in + if in.Owner != nil { + in, out := &in.Owner, &out.Owner + *out = new(genruntime.KnownResourceReference) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.Roles != nil { + in, out := &in.Roles, &out.Roles + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.SourceResourceReference != nil { + in, out := &in.SourceResourceReference, &out.SourceResourceReference + *out = new(genruntime.ResourceReference) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TrustedAccessRoleBinding_Spec. +func (in *TrustedAccessRoleBinding_Spec) DeepCopy() *TrustedAccessRoleBinding_Spec { + if in == nil { + return nil + } + out := new(TrustedAccessRoleBinding_Spec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *UpgradeOverrideSettings) DeepCopyInto(out *UpgradeOverrideSettings) { + *out = *in + if in.ForceUpgrade != nil { + in, out := &in.ForceUpgrade, &out.ForceUpgrade + *out = new(bool) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.Until != nil { + in, out := &in.Until, &out.Until + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UpgradeOverrideSettings. +func (in *UpgradeOverrideSettings) DeepCopy() *UpgradeOverrideSettings { + if in == nil { + return nil + } + out := new(UpgradeOverrideSettings) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *UpgradeOverrideSettings_STATUS) DeepCopyInto(out *UpgradeOverrideSettings_STATUS) { + *out = *in + if in.ForceUpgrade != nil { + in, out := &in.ForceUpgrade, &out.ForceUpgrade + *out = new(bool) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.Until != nil { + in, out := &in.Until, &out.Until + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UpgradeOverrideSettings_STATUS. +func (in *UpgradeOverrideSettings_STATUS) DeepCopy() *UpgradeOverrideSettings_STATUS { + if in == nil { + return nil + } + out := new(UpgradeOverrideSettings_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *UserAssignedIdentity) DeepCopyInto(out *UserAssignedIdentity) { + *out = *in + if in.ClientId != nil { + in, out := &in.ClientId, &out.ClientId + *out = new(string) + **out = **in + } + if in.ObjectId != nil { + in, out := &in.ObjectId, &out.ObjectId + *out = new(string) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.ResourceReference != nil { + in, out := &in.ResourceReference, &out.ResourceReference + *out = new(genruntime.ResourceReference) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserAssignedIdentity. +func (in *UserAssignedIdentity) DeepCopy() *UserAssignedIdentity { + if in == nil { + return nil + } + out := new(UserAssignedIdentity) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *UserAssignedIdentityDetails) DeepCopyInto(out *UserAssignedIdentityDetails) { + *out = *in + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + out.Reference = in.Reference +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserAssignedIdentityDetails. +func (in *UserAssignedIdentityDetails) DeepCopy() *UserAssignedIdentityDetails { + if in == nil { + return nil + } + out := new(UserAssignedIdentityDetails) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *UserAssignedIdentity_STATUS) DeepCopyInto(out *UserAssignedIdentity_STATUS) { + *out = *in + if in.ClientId != nil { + in, out := &in.ClientId, &out.ClientId + *out = new(string) + **out = **in + } + if in.ObjectId != nil { + in, out := &in.ObjectId, &out.ObjectId + *out = new(string) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.ResourceId != nil { + in, out := &in.ResourceId, &out.ResourceId + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserAssignedIdentity_STATUS. +func (in *UserAssignedIdentity_STATUS) DeepCopy() *UserAssignedIdentity_STATUS { + if in == nil { + return nil + } + out := new(UserAssignedIdentity_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WeeklySchedule) DeepCopyInto(out *WeeklySchedule) { + *out = *in + if in.DayOfWeek != nil { + in, out := &in.DayOfWeek, &out.DayOfWeek + *out = new(string) + **out = **in + } + if in.IntervalWeeks != nil { + in, out := &in.IntervalWeeks, &out.IntervalWeeks + *out = new(int) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WeeklySchedule. +func (in *WeeklySchedule) DeepCopy() *WeeklySchedule { + if in == nil { + return nil + } + out := new(WeeklySchedule) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WeeklySchedule_STATUS) DeepCopyInto(out *WeeklySchedule_STATUS) { + *out = *in + if in.DayOfWeek != nil { + in, out := &in.DayOfWeek, &out.DayOfWeek + *out = new(string) + **out = **in + } + if in.IntervalWeeks != nil { + in, out := &in.IntervalWeeks, &out.IntervalWeeks + *out = new(int) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WeeklySchedule_STATUS. +func (in *WeeklySchedule_STATUS) DeepCopy() *WeeklySchedule_STATUS { + if in == nil { + return nil + } + out := new(WeeklySchedule_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WindowsGmsaProfile) DeepCopyInto(out *WindowsGmsaProfile) { + *out = *in + if in.DnsServer != nil { + in, out := &in.DnsServer, &out.DnsServer + *out = new(string) + **out = **in + } + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.RootDomainName != nil { + in, out := &in.RootDomainName, &out.RootDomainName + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsGmsaProfile. +func (in *WindowsGmsaProfile) DeepCopy() *WindowsGmsaProfile { + if in == nil { + return nil + } + out := new(WindowsGmsaProfile) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WindowsGmsaProfile_STATUS) DeepCopyInto(out *WindowsGmsaProfile_STATUS) { + *out = *in + if in.DnsServer != nil { + in, out := &in.DnsServer, &out.DnsServer + *out = new(string) + **out = **in + } + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.RootDomainName != nil { + in, out := &in.RootDomainName, &out.RootDomainName + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsGmsaProfile_STATUS. +func (in *WindowsGmsaProfile_STATUS) DeepCopy() *WindowsGmsaProfile_STATUS { + if in == nil { + return nil + } + out := new(WindowsGmsaProfile_STATUS) + in.DeepCopyInto(out) + return out +} diff --git a/v2/api/containerservice/v1api20240901/structure.txt b/v2/api/containerservice/v1api20240901/structure.txt new file mode 100644 index 00000000000..0e5ae7b27b4 --- /dev/null +++ b/v2/api/containerservice/v1api20240901/structure.txt @@ -0,0 +1,1436 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20240901 +----------------------------------------------------------------------------- +APIVersion: Enum (1 value) +└── "2024-09-01" +MaintenanceConfiguration: Resource +├── Owner: ManagedCluster +├── Spec: Object (5 properties) +│ ├── AzureName: string +│ ├── MaintenanceWindow: *Object (6 properties) +│ │ ├── DurationHours: Validated<*int> (2 rules) +│ │ │ ├── Rule 0: Maximum: 24 +│ │ │ └── Rule 1: Minimum: 4 +│ │ ├── NotAllowedDates: Object (2 properties)[] +│ │ │ ├── End: *string +│ │ │ └── Start: *string +│ │ ├── Schedule: *Object (4 properties) +│ │ │ ├── AbsoluteMonthly: *Object (2 properties) +│ │ │ │ ├── DayOfMonth: Validated<*int> (2 rules) +│ │ │ │ │ ├── Rule 0: Maximum: 31 +│ │ │ │ │ └── Rule 1: Minimum: 1 +│ │ │ │ └── IntervalMonths: Validated<*int> (2 rules) +│ │ │ │ ├── Rule 0: Maximum: 6 +│ │ │ │ └── Rule 1: Minimum: 1 +│ │ │ ├── Daily: *Object (1 property) +│ │ │ │ └── IntervalDays: Validated<*int> (2 rules) +│ │ │ │ ├── Rule 0: Maximum: 7 +│ │ │ │ └── Rule 1: Minimum: 1 +│ │ │ ├── RelativeMonthly: *Object (3 properties) +│ │ │ │ ├── DayOfWeek: *Enum (7 values) +│ │ │ │ │ ├── "Friday" +│ │ │ │ │ ├── "Monday" +│ │ │ │ │ ├── "Saturday" +│ │ │ │ │ ├── "Sunday" +│ │ │ │ │ ├── "Thursday" +│ │ │ │ │ ├── "Tuesday" +│ │ │ │ │ └── "Wednesday" +│ │ │ │ ├── IntervalMonths: Validated<*int> (2 rules) +│ │ │ │ │ ├── Rule 0: Maximum: 6 +│ │ │ │ │ └── Rule 1: Minimum: 1 +│ │ │ │ └── WeekIndex: *Enum (5 values) +│ │ │ │ ├── "First" +│ │ │ │ ├── "Fourth" +│ │ │ │ ├── "Last" +│ │ │ │ ├── "Second" +│ │ │ │ └── "Third" +│ │ │ └── Weekly: *Object (2 properties) +│ │ │ ├── DayOfWeek: *Enum (7 values) +│ │ │ │ ├── "Friday" +│ │ │ │ ├── "Monday" +│ │ │ │ ├── "Saturday" +│ │ │ │ ├── "Sunday" +│ │ │ │ ├── "Thursday" +│ │ │ │ ├── "Tuesday" +│ │ │ │ └── "Wednesday" +│ │ │ └── IntervalWeeks: Validated<*int> (2 rules) +│ │ │ ├── Rule 0: Maximum: 4 +│ │ │ └── Rule 1: Minimum: 1 +│ │ ├── StartDate: *string +│ │ ├── StartTime: Validated<*string> (1 rule) +│ │ │ └── Rule 0: Pattern: "^\\d{2}:\\d{2}$" +│ │ └── UtcOffset: Validated<*string> (1 rule) +│ │ └── Rule 0: Pattern: "^(-|\\+)[0-9]{2}:[0-9]{2}$" +│ ├── NotAllowedTime: Object (2 properties)[] +│ │ ├── End: *string +│ │ └── Start: *string +│ ├── Owner: *genruntime.KnownResourceReference +│ └── TimeInWeek: Object (2 properties)[] +│ ├── Day: *Enum (7 values) +│ │ ├── "Friday" +│ │ ├── "Monday" +│ │ ├── "Saturday" +│ │ ├── "Sunday" +│ │ ├── "Thursday" +│ │ ├── "Tuesday" +│ │ └── "Wednesday" +│ └── HourSlots: Validated (2 rules)[] +│ ├── Rule 0: Maximum: 23 +│ └── Rule 1: Minimum: 0 +└── Status: Object (8 properties) + ├── Conditions: conditions.Condition[] + ├── Id: *string + ├── MaintenanceWindow: *Object (6 properties) + │ ├── DurationHours: *int + │ ├── NotAllowedDates: Object (2 properties)[] + │ │ ├── End: *string + │ │ └── Start: *string + │ ├── Schedule: *Object (4 properties) + │ │ ├── AbsoluteMonthly: *Object (2 properties) + │ │ │ ├── DayOfMonth: *int + │ │ │ └── IntervalMonths: *int + │ │ ├── Daily: *Object (1 property) + │ │ │ └── IntervalDays: *int + │ │ ├── RelativeMonthly: *Object (3 properties) + │ │ │ ├── DayOfWeek: *Enum (7 values) + │ │ │ │ ├── "Friday" + │ │ │ │ ├── "Monday" + │ │ │ │ ├── "Saturday" + │ │ │ │ ├── "Sunday" + │ │ │ │ ├── "Thursday" + │ │ │ │ ├── "Tuesday" + │ │ │ │ └── "Wednesday" + │ │ │ ├── IntervalMonths: *int + │ │ │ └── WeekIndex: *Enum (5 values) + │ │ │ ├── "First" + │ │ │ ├── "Fourth" + │ │ │ ├── "Last" + │ │ │ ├── "Second" + │ │ │ └── "Third" + │ │ └── Weekly: *Object (2 properties) + │ │ ├── DayOfWeek: *Enum (7 values) + │ │ │ ├── "Friday" + │ │ │ ├── "Monday" + │ │ │ ├── "Saturday" + │ │ │ ├── "Sunday" + │ │ │ ├── "Thursday" + │ │ │ ├── "Tuesday" + │ │ │ └── "Wednesday" + │ │ └── IntervalWeeks: *int + │ ├── StartDate: *string + │ ├── StartTime: *string + │ └── UtcOffset: *string + ├── Name: *string + ├── NotAllowedTime: Object (2 properties)[] + │ ├── End: *string + │ └── Start: *string + ├── SystemData: *Object (6 properties) + │ ├── CreatedAt: *string + │ ├── CreatedBy: *string + │ ├── CreatedByType: *Enum (4 values) + │ │ ├── "Application" + │ │ ├── "Key" + │ │ ├── "ManagedIdentity" + │ │ └── "User" + │ ├── LastModifiedAt: *string + │ ├── LastModifiedBy: *string + │ └── LastModifiedByType: *Enum (4 values) + │ ├── "Application" + │ ├── "Key" + │ ├── "ManagedIdentity" + │ └── "User" + ├── TimeInWeek: Object (2 properties)[] + │ ├── Day: *Enum (7 values) + │ │ ├── "Friday" + │ │ ├── "Monday" + │ │ ├── "Saturday" + │ │ ├── "Sunday" + │ │ ├── "Thursday" + │ │ ├── "Tuesday" + │ │ └── "Wednesday" + │ └── HourSlots: int[] + └── Type: *string +ManagedCluster: Resource +├── Owner: resources/v1apiv20191001.ResourceGroup +├── Spec: Object (42 properties) +│ ├── AadProfile: *Object (7 properties) +│ │ ├── AdminGroupObjectIDs: string[] +│ │ ├── ClientAppID: *string +│ │ ├── EnableAzureRBAC: *bool +│ │ ├── Managed: *bool +│ │ ├── ServerAppID: *string +│ │ ├── ServerAppSecret: *string +│ │ └── TenantID: *string +│ ├── AddonProfiles: map[string]Object (2 properties) +│ │ ├── Config: map[string]string +│ │ └── Enabled: *bool +│ ├── AgentPoolProfiles: Object (43 properties)[] +│ │ ├── AvailabilityZones: string[] +│ │ ├── CapacityReservationGroupReference: *genruntime.ResourceReference +│ │ ├── Count: *int +│ │ ├── CreationData: *Object (1 property) +│ │ │ └── SourceResourceReference: *genruntime.ResourceReference +│ │ ├── EnableAutoScaling: *bool +│ │ ├── EnableEncryptionAtHost: *bool +│ │ ├── EnableFIPS: *bool +│ │ ├── EnableNodePublicIP: *bool +│ │ ├── EnableUltraSSD: *bool +│ │ ├── GpuInstanceProfile: *Enum (5 values) +│ │ │ ├── "MIG1g" +│ │ │ ├── "MIG2g" +│ │ │ ├── "MIG3g" +│ │ │ ├── "MIG4g" +│ │ │ └── "MIG7g" +│ │ ├── HostGroupReference: *genruntime.ResourceReference +│ │ ├── KubeletConfig: *Object (11 properties) +│ │ │ ├── AllowedUnsafeSysctls: string[] +│ │ │ ├── ContainerLogMaxFiles: Validated<*int> (1 rule) +│ │ │ │ └── Rule 0: Minimum: 2 +│ │ │ ├── ContainerLogMaxSizeMB: *int +│ │ │ ├── CpuCfsQuota: *bool +│ │ │ ├── CpuCfsQuotaPeriod: *string +│ │ │ ├── CpuManagerPolicy: *string +│ │ │ ├── FailSwapOn: *bool +│ │ │ ├── ImageGcHighThreshold: *int +│ │ │ ├── ImageGcLowThreshold: *int +│ │ │ ├── PodMaxPids: *int +│ │ │ └── TopologyManagerPolicy: *string +│ │ ├── KubeletDiskType: *Enum (2 values) +│ │ │ ├── "OS" +│ │ │ └── "Temporary" +│ │ ├── LinuxOSConfig: *Object (4 properties) +│ │ │ ├── SwapFileSizeMB: *int +│ │ │ ├── Sysctls: *Object (28 properties) +│ │ │ │ ├── FsAioMaxNr: *int +│ │ │ │ ├── FsFileMax: *int +│ │ │ │ ├── FsInotifyMaxUserWatches: *int +│ │ │ │ ├── FsNrOpen: *int +│ │ │ │ ├── KernelThreadsMax: *int +│ │ │ │ ├── NetCoreNetdevMaxBacklog: *int +│ │ │ │ ├── NetCoreOptmemMax: *int +│ │ │ │ ├── NetCoreRmemDefault: *int +│ │ │ │ ├── NetCoreRmemMax: *int +│ │ │ │ ├── NetCoreSomaxconn: *int +│ │ │ │ ├── NetCoreWmemDefault: *int +│ │ │ │ ├── NetCoreWmemMax: *int +│ │ │ │ ├── NetIpv4IpLocalPortRange: *string +│ │ │ │ ├── NetIpv4NeighDefaultGcThresh1: *int +│ │ │ │ ├── NetIpv4NeighDefaultGcThresh2: *int +│ │ │ │ ├── NetIpv4NeighDefaultGcThresh3: *int +│ │ │ │ ├── NetIpv4TcpFinTimeout: *int +│ │ │ │ ├── NetIpv4TcpKeepaliveProbes: *int +│ │ │ │ ├── NetIpv4TcpKeepaliveTime: *int +│ │ │ │ ├── NetIpv4TcpMaxSynBacklog: *int +│ │ │ │ ├── NetIpv4TcpMaxTwBuckets: *int +│ │ │ │ ├── NetIpv4TcpTwReuse: *bool +│ │ │ │ ├── NetIpv4TcpkeepaliveIntvl: Validated<*int> (2 rules) +│ │ │ │ │ ├── Rule 0: Maximum: 90 +│ │ │ │ │ └── Rule 1: Minimum: 10 +│ │ │ │ ├── NetNetfilterNfConntrackBuckets: Validated<*int> (2 rules) +│ │ │ │ │ ├── Rule 0: Maximum: 524288 +│ │ │ │ │ └── Rule 1: Minimum: 65536 +│ │ │ │ ├── NetNetfilterNfConntrackMax: Validated<*int> (2 rules) +│ │ │ │ │ ├── Rule 0: Maximum: 2097152 +│ │ │ │ │ └── Rule 1: Minimum: 131072 +│ │ │ │ ├── VmMaxMapCount: *int +│ │ │ │ ├── VmSwappiness: *int +│ │ │ │ └── VmVfsCachePressure: *int +│ │ │ ├── TransparentHugePageDefrag: *string +│ │ │ └── TransparentHugePageEnabled: *string +│ │ ├── MaxCount: *int +│ │ ├── MaxPods: *int +│ │ ├── MinCount: *int +│ │ ├── Mode: *Enum (2 values) +│ │ │ ├── "System" +│ │ │ └── "User" +│ │ ├── Name: Validated<*string> (1 rule) +│ │ │ └── Rule 0: Pattern: "^[a-z][a-z0-9]{0,11}$" +│ │ ├── NetworkProfile: *Object (3 properties) +│ │ │ ├── AllowedHostPorts: Object (3 properties)[] +│ │ │ │ ├── PortEnd: Validated<*int> (2 rules) +│ │ │ │ │ ├── Rule 0: Maximum: 65535 +│ │ │ │ │ └── Rule 1: Minimum: 1 +│ │ │ │ ├── PortStart: Validated<*int> (2 rules) +│ │ │ │ │ ├── Rule 0: Maximum: 65535 +│ │ │ │ │ └── Rule 1: Minimum: 1 +│ │ │ │ └── Protocol: *Enum (2 values) +│ │ │ │ ├── "TCP" +│ │ │ │ └── "UDP" +│ │ │ ├── ApplicationSecurityGroupsReferences: genruntime.ResourceReference[] +│ │ │ └── NodePublicIPTags: Object (2 properties)[] +│ │ │ ├── IpTagType: *string +│ │ │ └── Tag: *string +│ │ ├── NodeLabels: map[string]string +│ │ ├── NodePublicIPPrefixReference: *genruntime.ResourceReference +│ │ ├── NodeTaints: string[] +│ │ ├── OrchestratorVersion: *string +│ │ ├── OsDiskSizeGB: *Validated (2 rules) +│ │ │ ├── Rule 0: Maximum: 2048 +│ │ │ └── Rule 1: Minimum: 0 +│ │ ├── OsDiskType: *Enum (2 values) +│ │ │ ├── "Ephemeral" +│ │ │ └── "Managed" +│ │ ├── OsSKU: *Enum (5 values) +│ │ │ ├── "AzureLinux" +│ │ │ ├── "CBLMariner" +│ │ │ ├── "Ubuntu" +│ │ │ ├── "Windows2019" +│ │ │ └── "Windows2022" +│ │ ├── OsType: *Enum (2 values) +│ │ │ ├── "Linux" +│ │ │ └── "Windows" +│ │ ├── PodSubnetReference: *genruntime.ResourceReference +│ │ ├── PowerState: *Object (1 property) +│ │ │ └── Code: *Enum (2 values) +│ │ │ ├── "Running" +│ │ │ └── "Stopped" +│ │ ├── ProximityPlacementGroupReference: *genruntime.ResourceReference +│ │ ├── ScaleDownMode: *Enum (2 values) +│ │ │ ├── "Deallocate" +│ │ │ └── "Delete" +│ │ ├── ScaleSetEvictionPolicy: *Enum (2 values) +│ │ │ ├── "Deallocate" +│ │ │ └── "Delete" +│ │ ├── ScaleSetPriority: *Enum (2 values) +│ │ │ ├── "Regular" +│ │ │ └── "Spot" +│ │ ├── SecurityProfile: *Object (2 properties) +│ │ │ ├── EnableSecureBoot: *bool +│ │ │ └── EnableVTPM: *bool +│ │ ├── SpotMaxPrice: *float64 +│ │ ├── Tags: map[string]string +│ │ ├── Type: *Enum (2 values) +│ │ │ ├── "AvailabilitySet" +│ │ │ └── "VirtualMachineScaleSets" +│ │ ├── UpgradeSettings: *Object (3 properties) +│ │ │ ├── DrainTimeoutInMinutes: Validated<*int> (2 rules) +│ │ │ │ ├── Rule 0: Maximum: 1440 +│ │ │ │ └── Rule 1: Minimum: 1 +│ │ │ ├── MaxSurge: *string +│ │ │ └── NodeSoakDurationInMinutes: Validated<*int> (2 rules) +│ │ │ ├── Rule 0: Maximum: 30 +│ │ │ └── Rule 1: Minimum: 0 +│ │ ├── VmSize: *string +│ │ ├── VnetSubnetReference: *genruntime.ResourceReference +│ │ ├── WindowsProfile: *Object (1 property) +│ │ │ └── DisableOutboundNat: *bool +│ │ └── WorkloadRuntime: *Enum (2 values) +│ │ ├── "OCIContainer" +│ │ └── "WasmWasi" +│ ├── ApiServerAccessProfile: *Object (5 properties) +│ │ ├── AuthorizedIPRanges: string[] +│ │ ├── DisableRunCommand: *bool +│ │ ├── EnablePrivateCluster: *bool +│ │ ├── EnablePrivateClusterPublicFQDN: *bool +│ │ └── PrivateDNSZone: *string +│ ├── AutoScalerProfile: *Object (20 properties) +│ │ ├── BalanceSimilarNodeGroups: *string +│ │ ├── DaemonsetEvictionForEmptyNodes: *bool +│ │ ├── DaemonsetEvictionForOccupiedNodes: *bool +│ │ ├── Expander: *Enum (4 values) +│ │ │ ├── "least-waste" +│ │ │ ├── "most-pods" +│ │ │ ├── "priority" +│ │ │ └── "random" +│ │ ├── IgnoreDaemonsetsUtilization: *bool +│ │ ├── MaxEmptyBulkDelete: *string +│ │ ├── MaxGracefulTerminationSec: *string +│ │ ├── MaxNodeProvisionTime: *string +│ │ ├── MaxTotalUnreadyPercentage: *string +│ │ ├── NewPodScaleUpDelay: *string +│ │ ├── OkTotalUnreadyCount: *string +│ │ ├── ScaleDownDelayAfterAdd: *string +│ │ ├── ScaleDownDelayAfterDelete: *string +│ │ ├── ScaleDownDelayAfterFailure: *string +│ │ ├── ScaleDownUnneededTime: *string +│ │ ├── ScaleDownUnreadyTime: *string +│ │ ├── ScaleDownUtilizationThreshold: *string +│ │ ├── ScanInterval: *string +│ │ ├── SkipNodesWithLocalStorage: *string +│ │ └── SkipNodesWithSystemPods: *string +│ ├── AutoUpgradeProfile: *Object (2 properties) +│ │ ├── NodeOSUpgradeChannel: *Enum (4 values) +│ │ │ ├── "NodeImage" +│ │ │ ├── "None" +│ │ │ ├── "SecurityPatch" +│ │ │ └── "Unmanaged" +│ │ └── UpgradeChannel: *Enum (5 values) +│ │ ├── "node-image" +│ │ ├── "none" +│ │ ├── "patch" +│ │ ├── "rapid" +│ │ └── "stable" +│ ├── AzureMonitorProfile: *Object (1 property) +│ │ └── Metrics: *Object (2 properties) +│ │ ├── Enabled: *bool +│ │ └── KubeStateMetrics: *Object (2 properties) +│ │ ├── MetricAnnotationsAllowList: *string +│ │ └── MetricLabelsAllowlist: *string +│ ├── AzureName: Validated (3 rules) +│ │ ├── Rule 0: MaxLength: 63 +│ │ ├── Rule 1: MinLength: 1 +│ │ └── Rule 2: Pattern: "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$" +│ ├── DisableLocalAccounts: *bool +│ ├── DiskEncryptionSetReference: *genruntime.ResourceReference +│ ├── DnsPrefix: *string +│ ├── EnablePodSecurityPolicy: *bool +│ ├── EnableRBAC: *bool +│ ├── ExtendedLocation: *Object (2 properties) +│ │ ├── Name: *string +│ │ └── Type: *Enum (1 value) +│ │ └── "EdgeZone" +│ ├── FqdnSubdomain: *string +│ ├── HttpProxyConfig: *Object (4 properties) +│ │ ├── HttpProxy: *string +│ │ ├── HttpsProxy: *string +│ │ ├── NoProxy: string[] +│ │ └── TrustedCa: *string +│ ├── Identity: *Object (3 properties) +│ │ ├── DelegatedResources: map[string]Object (4 properties) +│ │ │ ├── Location: *string +│ │ │ ├── ReferralResource: *string +│ │ │ ├── ResourceReference: *genruntime.ResourceReference +│ │ │ └── TenantId: Validated<*string> (1 rule) +│ │ │ └── Rule 0: Pattern: "^[0-9a-fA-F]{8}(-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$" +│ │ ├── Type: *Enum (3 values) +│ │ │ ├── "None" +│ │ │ ├── "SystemAssigned" +│ │ │ └── "UserAssigned" +│ │ └── UserAssignedIdentities: Object (1 property)[] +│ │ └── Reference: genruntime.ResourceReference +│ ├── IdentityProfile: map[string]Object (3 properties) +│ │ ├── ClientId: *string +│ │ ├── ObjectId: *string +│ │ └── ResourceReference: *genruntime.ResourceReference +│ ├── IngressProfile: *Object (1 property) +│ │ └── WebAppRouting: *Object (2 properties) +│ │ ├── DnsZoneResourceReferences: genruntime.ResourceReference[] +│ │ └── Enabled: *bool +│ ├── KubernetesVersion: *string +│ ├── LinuxProfile: *Object (2 properties) +│ │ ├── AdminUsername: Validated<*string> (1 rule) +│ │ │ └── Rule 0: Pattern: "^[A-Za-z][-A-Za-z0-9_]*$" +│ │ └── Ssh: *Object (1 property) +│ │ └── PublicKeys: Object (1 property)[] +│ │ └── KeyData: *string +│ ├── Location: *string +│ ├── MetricsProfile: *Object (1 property) +│ │ └── CostAnalysis: *Object (1 property) +│ │ └── Enabled: *bool +│ ├── NetworkProfile: *Object (16 properties) +│ │ ├── AdvancedNetworking: *Object (3 properties) +│ │ │ ├── Enabled: *bool +│ │ │ ├── Observability: *Object (1 property) +│ │ │ │ └── Enabled: *bool +│ │ │ └── Security: *Object (1 property) +│ │ │ └── Enabled: *bool +│ │ ├── DnsServiceIP: Validated<*string> (1 rule) +│ │ │ └── Rule 0: Pattern: "^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$" +│ │ ├── IpFamilies: Enum (2 values)[] +│ │ │ ├── "IPv4" +│ │ │ └── "IPv6" +│ │ ├── LoadBalancerProfile: *Object (8 properties) +│ │ │ ├── AllocatedOutboundPorts: Validated<*int> (2 rules) +│ │ │ │ ├── Rule 0: Maximum: 64000 +│ │ │ │ └── Rule 1: Minimum: 0 +│ │ │ ├── BackendPoolType: *Enum (2 values) +│ │ │ │ ├── "NodeIP" +│ │ │ │ └── "NodeIPConfiguration" +│ │ │ ├── EffectiveOutboundIPs: Object (1 property)[] +│ │ │ │ └── Reference: *genruntime.ResourceReference +│ │ │ ├── EnableMultipleStandardLoadBalancers: *bool +│ │ │ ├── IdleTimeoutInMinutes: Validated<*int> (2 rules) +│ │ │ │ ├── Rule 0: Maximum: 120 +│ │ │ │ └── Rule 1: Minimum: 4 +│ │ │ ├── ManagedOutboundIPs: *Object (2 properties) +│ │ │ │ ├── Count: Validated<*int> (2 rules) +│ │ │ │ │ ├── Rule 0: Maximum: 100 +│ │ │ │ │ └── Rule 1: Minimum: 1 +│ │ │ │ └── CountIPv6: Validated<*int> (2 rules) +│ │ │ │ ├── Rule 0: Maximum: 100 +│ │ │ │ └── Rule 1: Minimum: 0 +│ │ │ ├── OutboundIPPrefixes: *Object (1 property) +│ │ │ │ └── PublicIPPrefixes: Object (1 property)[] +│ │ │ │ └── Reference: *genruntime.ResourceReference +│ │ │ └── OutboundIPs: *Object (1 property) +│ │ │ └── PublicIPs: Object (1 property)[] +│ │ │ └── Reference: *genruntime.ResourceReference +│ │ ├── LoadBalancerSku: *Enum (2 values) +│ │ │ ├── "basic" +│ │ │ └── "standard" +│ │ ├── NatGatewayProfile: *Object (3 properties) +│ │ │ ├── EffectiveOutboundIPs: Object (1 property)[] +│ │ │ │ └── Reference: *genruntime.ResourceReference +│ │ │ ├── IdleTimeoutInMinutes: Validated<*int> (2 rules) +│ │ │ │ ├── Rule 0: Maximum: 120 +│ │ │ │ └── Rule 1: Minimum: 4 +│ │ │ └── ManagedOutboundIPProfile: *Object (1 property) +│ │ │ └── Count: Validated<*int> (2 rules) +│ │ │ ├── Rule 0: Maximum: 16 +│ │ │ └── Rule 1: Minimum: 1 +│ │ ├── NetworkDataplane: *Enum (2 values) +│ │ │ ├── "azure" +│ │ │ └── "cilium" +│ │ ├── NetworkMode: *Enum (2 values) +│ │ │ ├── "bridge" +│ │ │ └── "transparent" +│ │ ├── NetworkPlugin: *Enum (3 values) +│ │ │ ├── "azure" +│ │ │ ├── "kubenet" +│ │ │ └── "none" +│ │ ├── NetworkPluginMode: *Enum (1 value) +│ │ │ └── "overlay" +│ │ ├── NetworkPolicy: *Enum (4 values) +│ │ │ ├── "azure" +│ │ │ ├── "calico" +│ │ │ ├── "cilium" +│ │ │ └── "none" +│ │ ├── OutboundType: *Enum (4 values) +│ │ │ ├── "loadBalancer" +│ │ │ ├── "managedNATGateway" +│ │ │ ├── "userAssignedNATGateway" +│ │ │ └── "userDefinedRouting" +│ │ ├── PodCidr: Validated<*string> (1 rule) +│ │ │ └── Rule 0: Pattern: "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$" +│ │ ├── PodCidrs: string[] +│ │ ├── ServiceCidr: Validated<*string> (1 rule) +│ │ │ └── Rule 0: Pattern: "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$" +│ │ └── ServiceCidrs: string[] +│ ├── NodeResourceGroup: *string +│ ├── NodeResourceGroupProfile: *Object (1 property) +│ │ └── RestrictionLevel: *Enum (2 values) +│ │ ├── "ReadOnly" +│ │ └── "Unrestricted" +│ ├── OidcIssuerProfile: *Object (1 property) +│ │ └── Enabled: *bool +│ ├── OperatorSpec: *Object (2 properties) +│ │ ├── ConfigMaps: *Object (1 property) +│ │ │ └── OIDCIssuerProfile: *genruntime.ConfigMapDestination +│ │ └── Secrets: *Object (2 properties) +│ │ ├── AdminCredentials: *genruntime.SecretDestination +│ │ └── UserCredentials: *genruntime.SecretDestination +│ ├── Owner: *genruntime.KnownResourceReference +│ ├── PodIdentityProfile: *Object (4 properties) +│ │ ├── AllowNetworkPluginKubenet: *bool +│ │ ├── Enabled: *bool +│ │ ├── UserAssignedIdentities: Object (4 properties)[] +│ │ │ ├── BindingSelector: *string +│ │ │ ├── Identity: *Object (3 properties) +│ │ │ │ ├── ClientId: *string +│ │ │ │ ├── ObjectId: *string +│ │ │ │ └── ResourceReference: *genruntime.ResourceReference +│ │ │ ├── Name: *string +│ │ │ └── Namespace: *string +│ │ └── UserAssignedIdentityExceptions: Object (3 properties)[] +│ │ ├── Name: *string +│ │ ├── Namespace: *string +│ │ └── PodLabels: map[string]string +│ ├── PrivateLinkResources: Object (5 properties)[] +│ │ ├── GroupId: *string +│ │ ├── Name: *string +│ │ ├── Reference: *genruntime.ResourceReference +│ │ ├── RequiredMembers: string[] +│ │ └── Type: *string +│ ├── PublicNetworkAccess: *Enum (2 values) +│ │ ├── "Disabled" +│ │ └── "Enabled" +│ ├── SecurityProfile: *Object (4 properties) +│ │ ├── AzureKeyVaultKms: *Object (4 properties) +│ │ │ ├── Enabled: *bool +│ │ │ ├── KeyId: *string +│ │ │ ├── KeyVaultNetworkAccess: *Enum (2 values) +│ │ │ │ ├── "Private" +│ │ │ │ └── "Public" +│ │ │ └── KeyVaultResourceReference: *genruntime.ResourceReference +│ │ ├── Defender: *Object (2 properties) +│ │ │ ├── LogAnalyticsWorkspaceResourceReference: *genruntime.ResourceReference +│ │ │ └── SecurityMonitoring: *Object (1 property) +│ │ │ └── Enabled: *bool +│ │ ├── ImageCleaner: *Object (2 properties) +│ │ │ ├── Enabled: *bool +│ │ │ └── IntervalHours: *int +│ │ └── WorkloadIdentity: *Object (1 property) +│ │ └── Enabled: *bool +│ ├── ServiceMeshProfile: *Object (2 properties) +│ │ ├── Istio: *Object (3 properties) +│ │ │ ├── CertificateAuthority: *Object (1 property) +│ │ │ │ └── Plugin: *Object (5 properties) +│ │ │ │ ├── CertChainObjectName: *string +│ │ │ │ ├── CertObjectName: *string +│ │ │ │ ├── KeyObjectName: *string +│ │ │ │ ├── KeyVaultReference: *genruntime.ResourceReference +│ │ │ │ └── RootCertObjectName: *string +│ │ │ ├── Components: *Object (2 properties) +│ │ │ │ ├── EgressGateways: Object (1 property)[] +│ │ │ │ │ └── Enabled: *bool +│ │ │ │ └── IngressGateways: Object (2 properties)[] +│ │ │ │ ├── Enabled: *bool +│ │ │ │ └── Mode: *Enum (2 values) +│ │ │ │ ├── "External" +│ │ │ │ └── "Internal" +│ │ │ └── Revisions: Validated (1 rule) +│ │ │ └── Rule 0: MaxItems: 2 +│ │ └── Mode: *Enum (2 values) +│ │ ├── "Disabled" +│ │ └── "Istio" +│ ├── ServicePrincipalProfile: *Object (2 properties) +│ │ ├── ClientId: *string +│ │ └── Secret: *genruntime.SecretReference +│ ├── Sku: *Object (2 properties) +│ │ ├── Name: *Enum (1 value) +│ │ │ └── "Base" +│ │ └── Tier: *Enum (3 values) +│ │ ├── "Free" +│ │ ├── "Premium" +│ │ └── "Standard" +│ ├── StorageProfile: *Object (4 properties) +│ │ ├── BlobCSIDriver: *Object (1 property) +│ │ │ └── Enabled: *bool +│ │ ├── DiskCSIDriver: *Object (1 property) +│ │ │ └── Enabled: *bool +│ │ ├── FileCSIDriver: *Object (1 property) +│ │ │ └── Enabled: *bool +│ │ └── SnapshotController: *Object (1 property) +│ │ └── Enabled: *bool +│ ├── SupportPlan: *Enum (2 values) +│ │ ├── "AKSLongTermSupport" +│ │ └── "KubernetesOfficial" +│ ├── Tags: map[string]string +│ ├── UpgradeSettings: *Object (1 property) +│ │ └── OverrideSettings: *Object (2 properties) +│ │ ├── ForceUpgrade: *bool +│ │ └── Until: *string +│ ├── WindowsProfile: *Object (5 properties) +│ │ ├── AdminPassword: *genruntime.SecretReference +│ │ ├── AdminUsername: *string +│ │ ├── EnableCSIProxy: *bool +│ │ ├── GmsaProfile: *Object (3 properties) +│ │ │ ├── DnsServer: *string +│ │ │ ├── Enabled: *bool +│ │ │ └── RootDomainName: *string +│ │ └── LicenseType: *Enum (2 values) +│ │ ├── "None" +│ │ └── "Windows_Server" +│ └── WorkloadAutoScalerProfile: *Object (2 properties) +│ ├── Keda: *Object (1 property) +│ │ └── Enabled: *bool +│ └── VerticalPodAutoscaler: *Object (1 property) +│ └── Enabled: *bool +└── Status: Object (53 properties) + ├── AadProfile: *Object (7 properties) + │ ├── AdminGroupObjectIDs: string[] + │ ├── ClientAppID: *string + │ ├── EnableAzureRBAC: *bool + │ ├── Managed: *bool + │ ├── ServerAppID: *string + │ ├── ServerAppSecret: *string + │ └── TenantID: *string + ├── AddonProfiles: map[string]Object (3 properties) + │ ├── Config: map[string]string + │ ├── Enabled: *bool + │ └── Identity: *Object (3 properties) + │ ├── ClientId: *string + │ ├── ObjectId: *string + │ └── ResourceId: *string + ├── AgentPoolProfiles: Object (47 properties)[] + │ ├── AvailabilityZones: string[] + │ ├── CapacityReservationGroupID: *string + │ ├── Count: *int + │ ├── CreationData: *Object (1 property) + │ │ └── SourceResourceId: *string + │ ├── CurrentOrchestratorVersion: *string + │ ├── ETag: *string + │ ├── EnableAutoScaling: *bool + │ ├── EnableEncryptionAtHost: *bool + │ ├── EnableFIPS: *bool + │ ├── EnableNodePublicIP: *bool + │ ├── EnableUltraSSD: *bool + │ ├── GpuInstanceProfile: *Enum (5 values) + │ │ ├── "MIG1g" + │ │ ├── "MIG2g" + │ │ ├── "MIG3g" + │ │ ├── "MIG4g" + │ │ └── "MIG7g" + │ ├── HostGroupID: *string + │ ├── KubeletConfig: *Object (11 properties) + │ │ ├── AllowedUnsafeSysctls: string[] + │ │ ├── ContainerLogMaxFiles: *int + │ │ ├── ContainerLogMaxSizeMB: *int + │ │ ├── CpuCfsQuota: *bool + │ │ ├── CpuCfsQuotaPeriod: *string + │ │ ├── CpuManagerPolicy: *string + │ │ ├── FailSwapOn: *bool + │ │ ├── ImageGcHighThreshold: *int + │ │ ├── ImageGcLowThreshold: *int + │ │ ├── PodMaxPids: *int + │ │ └── TopologyManagerPolicy: *string + │ ├── KubeletDiskType: *Enum (2 values) + │ │ ├── "OS" + │ │ └── "Temporary" + │ ├── LinuxOSConfig: *Object (4 properties) + │ │ ├── SwapFileSizeMB: *int + │ │ ├── Sysctls: *Object (28 properties) + │ │ │ ├── FsAioMaxNr: *int + │ │ │ ├── FsFileMax: *int + │ │ │ ├── FsInotifyMaxUserWatches: *int + │ │ │ ├── FsNrOpen: *int + │ │ │ ├── KernelThreadsMax: *int + │ │ │ ├── NetCoreNetdevMaxBacklog: *int + │ │ │ ├── NetCoreOptmemMax: *int + │ │ │ ├── NetCoreRmemDefault: *int + │ │ │ ├── NetCoreRmemMax: *int + │ │ │ ├── NetCoreSomaxconn: *int + │ │ │ ├── NetCoreWmemDefault: *int + │ │ │ ├── NetCoreWmemMax: *int + │ │ │ ├── NetIpv4IpLocalPortRange: *string + │ │ │ ├── NetIpv4NeighDefaultGcThresh1: *int + │ │ │ ├── NetIpv4NeighDefaultGcThresh2: *int + │ │ │ ├── NetIpv4NeighDefaultGcThresh3: *int + │ │ │ ├── NetIpv4TcpFinTimeout: *int + │ │ │ ├── NetIpv4TcpKeepaliveProbes: *int + │ │ │ ├── NetIpv4TcpKeepaliveTime: *int + │ │ │ ├── NetIpv4TcpMaxSynBacklog: *int + │ │ │ ├── NetIpv4TcpMaxTwBuckets: *int + │ │ │ ├── NetIpv4TcpTwReuse: *bool + │ │ │ ├── NetIpv4TcpkeepaliveIntvl: *int + │ │ │ ├── NetNetfilterNfConntrackBuckets: *int + │ │ │ ├── NetNetfilterNfConntrackMax: *int + │ │ │ ├── VmMaxMapCount: *int + │ │ │ ├── VmSwappiness: *int + │ │ │ └── VmVfsCachePressure: *int + │ │ ├── TransparentHugePageDefrag: *string + │ │ └── TransparentHugePageEnabled: *string + │ ├── MaxCount: *int + │ ├── MaxPods: *int + │ ├── MinCount: *int + │ ├── Mode: *Enum (2 values) + │ │ ├── "System" + │ │ └── "User" + │ ├── Name: *string + │ ├── NetworkProfile: *Object (3 properties) + │ │ ├── AllowedHostPorts: Object (3 properties)[] + │ │ │ ├── PortEnd: *int + │ │ │ ├── PortStart: *int + │ │ │ └── Protocol: *Enum (2 values) + │ │ │ ├── "TCP" + │ │ │ └── "UDP" + │ │ ├── ApplicationSecurityGroups: string[] + │ │ └── NodePublicIPTags: Object (2 properties)[] + │ │ ├── IpTagType: *string + │ │ └── Tag: *string + │ ├── NodeImageVersion: *string + │ ├── NodeLabels: map[string]string + │ ├── NodePublicIPPrefixID: *string + │ ├── NodeTaints: string[] + │ ├── OrchestratorVersion: *string + │ ├── OsDiskSizeGB: *int + │ ├── OsDiskType: *Enum (2 values) + │ │ ├── "Ephemeral" + │ │ └── "Managed" + │ ├── OsSKU: *Enum (5 values) + │ │ ├── "AzureLinux" + │ │ ├── "CBLMariner" + │ │ ├── "Ubuntu" + │ │ ├── "Windows2019" + │ │ └── "Windows2022" + │ ├── OsType: *Enum (2 values) + │ │ ├── "Linux" + │ │ └── "Windows" + │ ├── PodSubnetID: *string + │ ├── PowerState: *Object (1 property) + │ │ └── Code: *Enum (2 values) + │ │ ├── "Running" + │ │ └── "Stopped" + │ ├── ProvisioningState: *string + │ ├── ProximityPlacementGroupID: *string + │ ├── ScaleDownMode: *Enum (2 values) + │ │ ├── "Deallocate" + │ │ └── "Delete" + │ ├── ScaleSetEvictionPolicy: *Enum (2 values) + │ │ ├── "Deallocate" + │ │ └── "Delete" + │ ├── ScaleSetPriority: *Enum (2 values) + │ │ ├── "Regular" + │ │ └── "Spot" + │ ├── SecurityProfile: *Object (2 properties) + │ │ ├── EnableSecureBoot: *bool + │ │ └── EnableVTPM: *bool + │ ├── SpotMaxPrice: *float64 + │ ├── Tags: map[string]string + │ ├── Type: *Enum (2 values) + │ │ ├── "AvailabilitySet" + │ │ └── "VirtualMachineScaleSets" + │ ├── UpgradeSettings: *Object (3 properties) + │ │ ├── DrainTimeoutInMinutes: *int + │ │ ├── MaxSurge: *string + │ │ └── NodeSoakDurationInMinutes: *int + │ ├── VmSize: *string + │ ├── VnetSubnetID: *string + │ ├── WindowsProfile: *Object (1 property) + │ │ └── DisableOutboundNat: *bool + │ └── WorkloadRuntime: *Enum (2 values) + │ ├── "OCIContainer" + │ └── "WasmWasi" + ├── ApiServerAccessProfile: *Object (5 properties) + │ ├── AuthorizedIPRanges: string[] + │ ├── DisableRunCommand: *bool + │ ├── EnablePrivateCluster: *bool + │ ├── EnablePrivateClusterPublicFQDN: *bool + │ └── PrivateDNSZone: *string + ├── AutoScalerProfile: *Object (20 properties) + │ ├── BalanceSimilarNodeGroups: *string + │ ├── DaemonsetEvictionForEmptyNodes: *bool + │ ├── DaemonsetEvictionForOccupiedNodes: *bool + │ ├── Expander: *Enum (4 values) + │ │ ├── "least-waste" + │ │ ├── "most-pods" + │ │ ├── "priority" + │ │ └── "random" + │ ├── IgnoreDaemonsetsUtilization: *bool + │ ├── MaxEmptyBulkDelete: *string + │ ├── MaxGracefulTerminationSec: *string + │ ├── MaxNodeProvisionTime: *string + │ ├── MaxTotalUnreadyPercentage: *string + │ ├── NewPodScaleUpDelay: *string + │ ├── OkTotalUnreadyCount: *string + │ ├── ScaleDownDelayAfterAdd: *string + │ ├── ScaleDownDelayAfterDelete: *string + │ ├── ScaleDownDelayAfterFailure: *string + │ ├── ScaleDownUnneededTime: *string + │ ├── ScaleDownUnreadyTime: *string + │ ├── ScaleDownUtilizationThreshold: *string + │ ├── ScanInterval: *string + │ ├── SkipNodesWithLocalStorage: *string + │ └── SkipNodesWithSystemPods: *string + ├── AutoUpgradeProfile: *Object (2 properties) + │ ├── NodeOSUpgradeChannel: *Enum (4 values) + │ │ ├── "NodeImage" + │ │ ├── "None" + │ │ ├── "SecurityPatch" + │ │ └── "Unmanaged" + │ └── UpgradeChannel: *Enum (5 values) + │ ├── "node-image" + │ ├── "none" + │ ├── "patch" + │ ├── "rapid" + │ └── "stable" + ├── AzureMonitorProfile: *Object (1 property) + │ └── Metrics: *Object (2 properties) + │ ├── Enabled: *bool + │ └── KubeStateMetrics: *Object (2 properties) + │ ├── MetricAnnotationsAllowList: *string + │ └── MetricLabelsAllowlist: *string + ├── AzurePortalFQDN: *string + ├── Conditions: conditions.Condition[] + ├── CurrentKubernetesVersion: *string + ├── DisableLocalAccounts: *bool + ├── DiskEncryptionSetID: *string + ├── DnsPrefix: *string + ├── ETag: *string + ├── EnablePodSecurityPolicy: *bool + ├── EnableRBAC: *bool + ├── ExtendedLocation: *Object (2 properties) + │ ├── Name: *string + │ └── Type: *Enum (1 value) + │ └── "EdgeZone" + ├── Fqdn: *string + ├── FqdnSubdomain: *string + ├── HttpProxyConfig: *Object (4 properties) + │ ├── HttpProxy: *string + │ ├── HttpsProxy: *string + │ ├── NoProxy: string[] + │ └── TrustedCa: *string + ├── Id: *string + ├── Identity: *Object (5 properties) + │ ├── DelegatedResources: map[string]Object (4 properties) + │ │ ├── Location: *string + │ │ ├── ReferralResource: *string + │ │ ├── ResourceId: *string + │ │ └── TenantId: *string + │ ├── PrincipalId: *string + │ ├── TenantId: *string + │ ├── Type: *Enum (3 values) + │ │ ├── "None" + │ │ ├── "SystemAssigned" + │ │ └── "UserAssigned" + │ └── UserAssignedIdentities: map[string]Object (2 properties) + │ ├── ClientId: *string + │ └── PrincipalId: *string + ├── IdentityProfile: map[string]Object (3 properties) + │ ├── ClientId: *string + │ ├── ObjectId: *string + │ └── ResourceId: *string + ├── IngressProfile: *Object (1 property) + │ └── WebAppRouting: *Object (3 properties) + │ ├── DnsZoneResourceIds: string[] + │ ├── Enabled: *bool + │ └── Identity: *Object (3 properties) + │ ├── ClientId: *string + │ ├── ObjectId: *string + │ └── ResourceId: *string + ├── KubernetesVersion: *string + ├── LinuxProfile: *Object (2 properties) + │ ├── AdminUsername: *string + │ └── Ssh: *Object (1 property) + │ └── PublicKeys: Object (1 property)[] + │ └── KeyData: *string + ├── Location: *string + ├── MaxAgentPools: *int + ├── MetricsProfile: *Object (1 property) + │ └── CostAnalysis: *Object (1 property) + │ └── Enabled: *bool + ├── Name: *string + ├── NetworkProfile: *Object (16 properties) + │ ├── AdvancedNetworking: *Object (3 properties) + │ │ ├── Enabled: *bool + │ │ ├── Observability: *Object (1 property) + │ │ │ └── Enabled: *bool + │ │ └── Security: *Object (1 property) + │ │ └── Enabled: *bool + │ ├── DnsServiceIP: *string + │ ├── IpFamilies: Enum (2 values)[] + │ │ ├── "IPv4" + │ │ └── "IPv6" + │ ├── LoadBalancerProfile: *Object (8 properties) + │ │ ├── AllocatedOutboundPorts: *int + │ │ ├── BackendPoolType: *Enum (2 values) + │ │ │ ├── "NodeIP" + │ │ │ └── "NodeIPConfiguration" + │ │ ├── EffectiveOutboundIPs: Object (1 property)[] + │ │ │ └── Id: *string + │ │ ├── EnableMultipleStandardLoadBalancers: *bool + │ │ ├── IdleTimeoutInMinutes: *int + │ │ ├── ManagedOutboundIPs: *Object (2 properties) + │ │ │ ├── Count: *int + │ │ │ └── CountIPv6: *int + │ │ ├── OutboundIPPrefixes: *Object (1 property) + │ │ │ └── PublicIPPrefixes: Object (1 property)[] + │ │ │ └── Id: *string + │ │ └── OutboundIPs: *Object (1 property) + │ │ └── PublicIPs: Object (1 property)[] + │ │ └── Id: *string + │ ├── LoadBalancerSku: *Enum (2 values) + │ │ ├── "basic" + │ │ └── "standard" + │ ├── NatGatewayProfile: *Object (3 properties) + │ │ ├── EffectiveOutboundIPs: Object (1 property)[] + │ │ │ └── Id: *string + │ │ ├── IdleTimeoutInMinutes: *int + │ │ └── ManagedOutboundIPProfile: *Object (1 property) + │ │ └── Count: *int + │ ├── NetworkDataplane: *Enum (2 values) + │ │ ├── "azure" + │ │ └── "cilium" + │ ├── NetworkMode: *Enum (2 values) + │ │ ├── "bridge" + │ │ └── "transparent" + │ ├── NetworkPlugin: *Enum (3 values) + │ │ ├── "azure" + │ │ ├── "kubenet" + │ │ └── "none" + │ ├── NetworkPluginMode: *Enum (1 value) + │ │ └── "overlay" + │ ├── NetworkPolicy: *Enum (4 values) + │ │ ├── "azure" + │ │ ├── "calico" + │ │ ├── "cilium" + │ │ └── "none" + │ ├── OutboundType: *Enum (4 values) + │ │ ├── "loadBalancer" + │ │ ├── "managedNATGateway" + │ │ ├── "userAssignedNATGateway" + │ │ └── "userDefinedRouting" + │ ├── PodCidr: *string + │ ├── PodCidrs: string[] + │ ├── ServiceCidr: *string + │ └── ServiceCidrs: string[] + ├── NodeResourceGroup: *string + ├── NodeResourceGroupProfile: *Object (1 property) + │ └── RestrictionLevel: *Enum (2 values) + │ ├── "ReadOnly" + │ └── "Unrestricted" + ├── OidcIssuerProfile: *Object (2 properties) + │ ├── Enabled: *bool + │ └── IssuerURL: *string + ├── PodIdentityProfile: *Object (4 properties) + │ ├── AllowNetworkPluginKubenet: *bool + │ ├── Enabled: *bool + │ ├── UserAssignedIdentities: Object (6 properties)[] + │ │ ├── BindingSelector: *string + │ │ ├── Identity: *Object (3 properties) + │ │ │ ├── ClientId: *string + │ │ │ ├── ObjectId: *string + │ │ │ └── ResourceId: *string + │ │ ├── Name: *string + │ │ ├── Namespace: *string + │ │ ├── ProvisioningInfo: *Object (1 property) + │ │ │ └── Error: *Object (1 property) + │ │ │ └── Error: *Object (4 properties) + │ │ │ ├── Code: *string + │ │ │ ├── Details: Object (3 properties)[] + │ │ │ │ ├── Code: *string + │ │ │ │ ├── Message: *string + │ │ │ │ └── Target: *string + │ │ │ ├── Message: *string + │ │ │ └── Target: *string + │ │ └── ProvisioningState: *Enum (6 values) + │ │ ├── "Assigned" + │ │ ├── "Canceled" + │ │ ├── "Deleting" + │ │ ├── "Failed" + │ │ ├── "Succeeded" + │ │ └── "Updating" + │ └── UserAssignedIdentityExceptions: Object (3 properties)[] + │ ├── Name: *string + │ ├── Namespace: *string + │ └── PodLabels: map[string]string + ├── PowerState: *Object (1 property) + │ └── Code: *Enum (2 values) + │ ├── "Running" + │ └── "Stopped" + ├── PrivateFQDN: *string + ├── PrivateLinkResources: Object (6 properties)[] + │ ├── GroupId: *string + │ ├── Id: *string + │ ├── Name: *string + │ ├── PrivateLinkServiceID: *string + │ ├── RequiredMembers: string[] + │ └── Type: *string + ├── ProvisioningState: *string + ├── PublicNetworkAccess: *Enum (2 values) + │ ├── "Disabled" + │ └── "Enabled" + ├── ResourceUID: *string + ├── SecurityProfile: *Object (4 properties) + │ ├── AzureKeyVaultKms: *Object (4 properties) + │ │ ├── Enabled: *bool + │ │ ├── KeyId: *string + │ │ ├── KeyVaultNetworkAccess: *Enum (2 values) + │ │ │ ├── "Private" + │ │ │ └── "Public" + │ │ └── KeyVaultResourceId: *string + │ ├── Defender: *Object (2 properties) + │ │ ├── LogAnalyticsWorkspaceResourceId: *string + │ │ └── SecurityMonitoring: *Object (1 property) + │ │ └── Enabled: *bool + │ ├── ImageCleaner: *Object (2 properties) + │ │ ├── Enabled: *bool + │ │ └── IntervalHours: *int + │ └── WorkloadIdentity: *Object (1 property) + │ └── Enabled: *bool + ├── ServiceMeshProfile: *Object (2 properties) + │ ├── Istio: *Object (3 properties) + │ │ ├── CertificateAuthority: *Object (1 property) + │ │ │ └── Plugin: *Object (5 properties) + │ │ │ ├── CertChainObjectName: *string + │ │ │ ├── CertObjectName: *string + │ │ │ ├── KeyObjectName: *string + │ │ │ ├── KeyVaultId: *string + │ │ │ └── RootCertObjectName: *string + │ │ ├── Components: *Object (2 properties) + │ │ │ ├── EgressGateways: Object (1 property)[] + │ │ │ │ └── Enabled: *bool + │ │ │ └── IngressGateways: Object (2 properties)[] + │ │ │ ├── Enabled: *bool + │ │ │ └── Mode: *Enum (2 values) + │ │ │ ├── "External" + │ │ │ └── "Internal" + │ │ └── Revisions: string[] + │ └── Mode: *Enum (2 values) + │ ├── "Disabled" + │ └── "Istio" + ├── ServicePrincipalProfile: *Object (1 property) + │ └── ClientId: *string + ├── Sku: *Object (2 properties) + │ ├── Name: *Enum (1 value) + │ │ └── "Base" + │ └── Tier: *Enum (3 values) + │ ├── "Free" + │ ├── "Premium" + │ └── "Standard" + ├── StorageProfile: *Object (4 properties) + │ ├── BlobCSIDriver: *Object (1 property) + │ │ └── Enabled: *bool + │ ├── DiskCSIDriver: *Object (1 property) + │ │ └── Enabled: *bool + │ ├── FileCSIDriver: *Object (1 property) + │ │ └── Enabled: *bool + │ └── SnapshotController: *Object (1 property) + │ └── Enabled: *bool + ├── SupportPlan: *Enum (2 values) + │ ├── "AKSLongTermSupport" + │ └── "KubernetesOfficial" + ├── SystemData: *Object (6 properties) + │ ├── CreatedAt: *string + │ ├── CreatedBy: *string + │ ├── CreatedByType: *Enum (4 values) + │ │ ├── "Application" + │ │ ├── "Key" + │ │ ├── "ManagedIdentity" + │ │ └── "User" + │ ├── LastModifiedAt: *string + │ ├── LastModifiedBy: *string + │ └── LastModifiedByType: *Enum (4 values) + │ ├── "Application" + │ ├── "Key" + │ ├── "ManagedIdentity" + │ └── "User" + ├── Tags: map[string]string + ├── Type: *string + ├── UpgradeSettings: *Object (1 property) + │ └── OverrideSettings: *Object (2 properties) + │ ├── ForceUpgrade: *bool + │ └── Until: *string + ├── WindowsProfile: *Object (4 properties) + │ ├── AdminUsername: *string + │ ├── EnableCSIProxy: *bool + │ ├── GmsaProfile: *Object (3 properties) + │ │ ├── DnsServer: *string + │ │ ├── Enabled: *bool + │ │ └── RootDomainName: *string + │ └── LicenseType: *Enum (2 values) + │ ├── "None" + │ └── "Windows_Server" + └── WorkloadAutoScalerProfile: *Object (2 properties) + ├── Keda: *Object (1 property) + │ └── Enabled: *bool + └── VerticalPodAutoscaler: *Object (1 property) + └── Enabled: *bool +ManagedClustersAgentPool: Resource +├── Owner: ManagedCluster +├── Spec: Object (44 properties) +│ ├── AvailabilityZones: string[] +│ ├── AzureName: Validated (3 rules) +│ │ ├── Rule 0: MaxLength: 12 +│ │ ├── Rule 1: MinLength: 1 +│ │ └── Rule 2: Pattern: "^[a-z][a-z0-9]{0,11}$" +│ ├── CapacityReservationGroupReference: *genruntime.ResourceReference +│ ├── Count: *int +│ ├── CreationData: *Object (1 property) +│ │ └── SourceResourceReference: *genruntime.ResourceReference +│ ├── EnableAutoScaling: *bool +│ ├── EnableEncryptionAtHost: *bool +│ ├── EnableFIPS: *bool +│ ├── EnableNodePublicIP: *bool +│ ├── EnableUltraSSD: *bool +│ ├── GpuInstanceProfile: *Enum (5 values) +│ │ ├── "MIG1g" +│ │ ├── "MIG2g" +│ │ ├── "MIG3g" +│ │ ├── "MIG4g" +│ │ └── "MIG7g" +│ ├── HostGroupReference: *genruntime.ResourceReference +│ ├── KubeletConfig: *Object (11 properties) +│ │ ├── AllowedUnsafeSysctls: string[] +│ │ ├── ContainerLogMaxFiles: Validated<*int> (1 rule) +│ │ │ └── Rule 0: Minimum: 2 +│ │ ├── ContainerLogMaxSizeMB: *int +│ │ ├── CpuCfsQuota: *bool +│ │ ├── CpuCfsQuotaPeriod: *string +│ │ ├── CpuManagerPolicy: *string +│ │ ├── FailSwapOn: *bool +│ │ ├── ImageGcHighThreshold: *int +│ │ ├── ImageGcLowThreshold: *int +│ │ ├── PodMaxPids: *int +│ │ └── TopologyManagerPolicy: *string +│ ├── KubeletDiskType: *Enum (2 values) +│ │ ├── "OS" +│ │ └── "Temporary" +│ ├── LinuxOSConfig: *Object (4 properties) +│ │ ├── SwapFileSizeMB: *int +│ │ ├── Sysctls: *Object (28 properties) +│ │ │ ├── FsAioMaxNr: *int +│ │ │ ├── FsFileMax: *int +│ │ │ ├── FsInotifyMaxUserWatches: *int +│ │ │ ├── FsNrOpen: *int +│ │ │ ├── KernelThreadsMax: *int +│ │ │ ├── NetCoreNetdevMaxBacklog: *int +│ │ │ ├── NetCoreOptmemMax: *int +│ │ │ ├── NetCoreRmemDefault: *int +│ │ │ ├── NetCoreRmemMax: *int +│ │ │ ├── NetCoreSomaxconn: *int +│ │ │ ├── NetCoreWmemDefault: *int +│ │ │ ├── NetCoreWmemMax: *int +│ │ │ ├── NetIpv4IpLocalPortRange: *string +│ │ │ ├── NetIpv4NeighDefaultGcThresh1: *int +│ │ │ ├── NetIpv4NeighDefaultGcThresh2: *int +│ │ │ ├── NetIpv4NeighDefaultGcThresh3: *int +│ │ │ ├── NetIpv4TcpFinTimeout: *int +│ │ │ ├── NetIpv4TcpKeepaliveProbes: *int +│ │ │ ├── NetIpv4TcpKeepaliveTime: *int +│ │ │ ├── NetIpv4TcpMaxSynBacklog: *int +│ │ │ ├── NetIpv4TcpMaxTwBuckets: *int +│ │ │ ├── NetIpv4TcpTwReuse: *bool +│ │ │ ├── NetIpv4TcpkeepaliveIntvl: Validated<*int> (2 rules) +│ │ │ │ ├── Rule 0: Maximum: 90 +│ │ │ │ └── Rule 1: Minimum: 10 +│ │ │ ├── NetNetfilterNfConntrackBuckets: Validated<*int> (2 rules) +│ │ │ │ ├── Rule 0: Maximum: 524288 +│ │ │ │ └── Rule 1: Minimum: 65536 +│ │ │ ├── NetNetfilterNfConntrackMax: Validated<*int> (2 rules) +│ │ │ │ ├── Rule 0: Maximum: 2097152 +│ │ │ │ └── Rule 1: Minimum: 131072 +│ │ │ ├── VmMaxMapCount: *int +│ │ │ ├── VmSwappiness: *int +│ │ │ └── VmVfsCachePressure: *int +│ │ ├── TransparentHugePageDefrag: *string +│ │ └── TransparentHugePageEnabled: *string +│ ├── MaxCount: *int +│ ├── MaxPods: *int +│ ├── MinCount: *int +│ ├── Mode: *Enum (2 values) +│ │ ├── "System" +│ │ └── "User" +│ ├── NetworkProfile: *Object (3 properties) +│ │ ├── AllowedHostPorts: Object (3 properties)[] +│ │ │ ├── PortEnd: Validated<*int> (2 rules) +│ │ │ │ ├── Rule 0: Maximum: 65535 +│ │ │ │ └── Rule 1: Minimum: 1 +│ │ │ ├── PortStart: Validated<*int> (2 rules) +│ │ │ │ ├── Rule 0: Maximum: 65535 +│ │ │ │ └── Rule 1: Minimum: 1 +│ │ │ └── Protocol: *Enum (2 values) +│ │ │ ├── "TCP" +│ │ │ └── "UDP" +│ │ ├── ApplicationSecurityGroupsReferences: genruntime.ResourceReference[] +│ │ └── NodePublicIPTags: Object (2 properties)[] +│ │ ├── IpTagType: *string +│ │ └── Tag: *string +│ ├── NodeLabels: map[string]string +│ ├── NodePublicIPPrefixReference: *genruntime.ResourceReference +│ ├── NodeTaints: string[] +│ ├── OrchestratorVersion: *string +│ ├── OsDiskSizeGB: *Validated (2 rules) +│ │ ├── Rule 0: Maximum: 2048 +│ │ └── Rule 1: Minimum: 0 +│ ├── OsDiskType: *Enum (2 values) +│ │ ├── "Ephemeral" +│ │ └── "Managed" +│ ├── OsSKU: *Enum (5 values) +│ │ ├── "AzureLinux" +│ │ ├── "CBLMariner" +│ │ ├── "Ubuntu" +│ │ ├── "Windows2019" +│ │ └── "Windows2022" +│ ├── OsType: *Enum (2 values) +│ │ ├── "Linux" +│ │ └── "Windows" +│ ├── Owner: *genruntime.KnownResourceReference +│ ├── PodSubnetReference: *genruntime.ResourceReference +│ ├── PowerState: *Object (1 property) +│ │ └── Code: *Enum (2 values) +│ │ ├── "Running" +│ │ └── "Stopped" +│ ├── ProximityPlacementGroupReference: *genruntime.ResourceReference +│ ├── ScaleDownMode: *Enum (2 values) +│ │ ├── "Deallocate" +│ │ └── "Delete" +│ ├── ScaleSetEvictionPolicy: *Enum (2 values) +│ │ ├── "Deallocate" +│ │ └── "Delete" +│ ├── ScaleSetPriority: *Enum (2 values) +│ │ ├── "Regular" +│ │ └── "Spot" +│ ├── SecurityProfile: *Object (2 properties) +│ │ ├── EnableSecureBoot: *bool +│ │ └── EnableVTPM: *bool +│ ├── SpotMaxPrice: *float64 +│ ├── Tags: map[string]string +│ ├── Type: *Enum (2 values) +│ │ ├── "AvailabilitySet" +│ │ └── "VirtualMachineScaleSets" +│ ├── UpgradeSettings: *Object (3 properties) +│ │ ├── DrainTimeoutInMinutes: Validated<*int> (2 rules) +│ │ │ ├── Rule 0: Maximum: 1440 +│ │ │ └── Rule 1: Minimum: 1 +│ │ ├── MaxSurge: *string +│ │ └── NodeSoakDurationInMinutes: Validated<*int> (2 rules) +│ │ ├── Rule 0: Maximum: 30 +│ │ └── Rule 1: Minimum: 0 +│ ├── VmSize: *string +│ ├── VnetSubnetReference: *genruntime.ResourceReference +│ ├── WindowsProfile: *Object (1 property) +│ │ └── DisableOutboundNat: *bool +│ └── WorkloadRuntime: *Enum (2 values) +│ ├── "OCIContainer" +│ └── "WasmWasi" +└── Status: Object (50 properties) + ├── AvailabilityZones: string[] + ├── CapacityReservationGroupID: *string + ├── Conditions: conditions.Condition[] + ├── Count: *int + ├── CreationData: *Object (1 property) + │ └── SourceResourceId: *string + ├── CurrentOrchestratorVersion: *string + ├── ETag: *string + ├── EnableAutoScaling: *bool + ├── EnableEncryptionAtHost: *bool + ├── EnableFIPS: *bool + ├── EnableNodePublicIP: *bool + ├── EnableUltraSSD: *bool + ├── GpuInstanceProfile: *Enum (5 values) + │ ├── "MIG1g" + │ ├── "MIG2g" + │ ├── "MIG3g" + │ ├── "MIG4g" + │ └── "MIG7g" + ├── HostGroupID: *string + ├── Id: *string + ├── KubeletConfig: *Object (11 properties) + │ ├── AllowedUnsafeSysctls: string[] + │ ├── ContainerLogMaxFiles: *int + │ ├── ContainerLogMaxSizeMB: *int + │ ├── CpuCfsQuota: *bool + │ ├── CpuCfsQuotaPeriod: *string + │ ├── CpuManagerPolicy: *string + │ ├── FailSwapOn: *bool + │ ├── ImageGcHighThreshold: *int + │ ├── ImageGcLowThreshold: *int + │ ├── PodMaxPids: *int + │ └── TopologyManagerPolicy: *string + ├── KubeletDiskType: *Enum (2 values) + │ ├── "OS" + │ └── "Temporary" + ├── LinuxOSConfig: *Object (4 properties) + │ ├── SwapFileSizeMB: *int + │ ├── Sysctls: *Object (28 properties) + │ │ ├── FsAioMaxNr: *int + │ │ ├── FsFileMax: *int + │ │ ├── FsInotifyMaxUserWatches: *int + │ │ ├── FsNrOpen: *int + │ │ ├── KernelThreadsMax: *int + │ │ ├── NetCoreNetdevMaxBacklog: *int + │ │ ├── NetCoreOptmemMax: *int + │ │ ├── NetCoreRmemDefault: *int + │ │ ├── NetCoreRmemMax: *int + │ │ ├── NetCoreSomaxconn: *int + │ │ ├── NetCoreWmemDefault: *int + │ │ ├── NetCoreWmemMax: *int + │ │ ├── NetIpv4IpLocalPortRange: *string + │ │ ├── NetIpv4NeighDefaultGcThresh1: *int + │ │ ├── NetIpv4NeighDefaultGcThresh2: *int + │ │ ├── NetIpv4NeighDefaultGcThresh3: *int + │ │ ├── NetIpv4TcpFinTimeout: *int + │ │ ├── NetIpv4TcpKeepaliveProbes: *int + │ │ ├── NetIpv4TcpKeepaliveTime: *int + │ │ ├── NetIpv4TcpMaxSynBacklog: *int + │ │ ├── NetIpv4TcpMaxTwBuckets: *int + │ │ ├── NetIpv4TcpTwReuse: *bool + │ │ ├── NetIpv4TcpkeepaliveIntvl: *int + │ │ ├── NetNetfilterNfConntrackBuckets: *int + │ │ ├── NetNetfilterNfConntrackMax: *int + │ │ ├── VmMaxMapCount: *int + │ │ ├── VmSwappiness: *int + │ │ └── VmVfsCachePressure: *int + │ ├── TransparentHugePageDefrag: *string + │ └── TransparentHugePageEnabled: *string + ├── MaxCount: *int + ├── MaxPods: *int + ├── MinCount: *int + ├── Mode: *Enum (2 values) + │ ├── "System" + │ └── "User" + ├── Name: *string + ├── NetworkProfile: *Object (3 properties) + │ ├── AllowedHostPorts: Object (3 properties)[] + │ │ ├── PortEnd: *int + │ │ ├── PortStart: *int + │ │ └── Protocol: *Enum (2 values) + │ │ ├── "TCP" + │ │ └── "UDP" + │ ├── ApplicationSecurityGroups: string[] + │ └── NodePublicIPTags: Object (2 properties)[] + │ ├── IpTagType: *string + │ └── Tag: *string + ├── NodeImageVersion: *string + ├── NodeLabels: map[string]string + ├── NodePublicIPPrefixID: *string + ├── NodeTaints: string[] + ├── OrchestratorVersion: *string + ├── OsDiskSizeGB: *int + ├── OsDiskType: *Enum (2 values) + │ ├── "Ephemeral" + │ └── "Managed" + ├── OsSKU: *Enum (5 values) + │ ├── "AzureLinux" + │ ├── "CBLMariner" + │ ├── "Ubuntu" + │ ├── "Windows2019" + │ └── "Windows2022" + ├── OsType: *Enum (2 values) + │ ├── "Linux" + │ └── "Windows" + ├── PodSubnetID: *string + ├── PowerState: *Object (1 property) + │ └── Code: *Enum (2 values) + │ ├── "Running" + │ └── "Stopped" + ├── PropertiesType: *Enum (2 values) + │ ├── "AvailabilitySet" + │ └── "VirtualMachineScaleSets" + ├── ProvisioningState: *string + ├── ProximityPlacementGroupID: *string + ├── ScaleDownMode: *Enum (2 values) + │ ├── "Deallocate" + │ └── "Delete" + ├── ScaleSetEvictionPolicy: *Enum (2 values) + │ ├── "Deallocate" + │ └── "Delete" + ├── ScaleSetPriority: *Enum (2 values) + │ ├── "Regular" + │ └── "Spot" + ├── SecurityProfile: *Object (2 properties) + │ ├── EnableSecureBoot: *bool + │ └── EnableVTPM: *bool + ├── SpotMaxPrice: *float64 + ├── Tags: map[string]string + ├── Type: *string + ├── UpgradeSettings: *Object (3 properties) + │ ├── DrainTimeoutInMinutes: *int + │ ├── MaxSurge: *string + │ └── NodeSoakDurationInMinutes: *int + ├── VmSize: *string + ├── VnetSubnetID: *string + ├── WindowsProfile: *Object (1 property) + │ └── DisableOutboundNat: *bool + └── WorkloadRuntime: *Enum (2 values) + ├── "OCIContainer" + └── "WasmWasi" +TrustedAccessRoleBinding: Resource +├── Owner: ManagedCluster +├── Spec: Object (4 properties) +│ ├── AzureName: Validated (3 rules) +│ │ ├── Rule 0: MaxLength: 24 +│ │ ├── Rule 1: MinLength: 1 +│ │ └── Rule 2: Pattern: "^([A-Za-z0-9-])+$" +│ ├── Owner: *genruntime.KnownResourceReference +│ ├── Roles: string[] +│ └── SourceResourceReference: *genruntime.ResourceReference +└── Status: Object (8 properties) + ├── Conditions: conditions.Condition[] + ├── Id: *string + ├── Name: *string + ├── ProvisioningState: *Enum (5 values) + │ ├── "Canceled" + │ ├── "Deleting" + │ ├── "Failed" + │ ├── "Succeeded" + │ └── "Updating" + ├── Roles: string[] + ├── SourceResourceId: *string + ├── SystemData: *Object (6 properties) + │ ├── CreatedAt: *string + │ ├── CreatedBy: *string + │ ├── CreatedByType: *Enum (4 values) + │ │ ├── "Application" + │ │ ├── "Key" + │ │ ├── "ManagedIdentity" + │ │ └── "User" + │ ├── LastModifiedAt: *string + │ ├── LastModifiedBy: *string + │ └── LastModifiedByType: *Enum (4 values) + │ ├── "Application" + │ ├── "Key" + │ ├── "ManagedIdentity" + │ └── "User" + └── Type: *string diff --git a/v2/api/containerservice/v1api20240901/trusted_access_role_binding_types_gen.go b/v2/api/containerservice/v1api20240901/trusted_access_role_binding_types_gen.go new file mode 100644 index 00000000000..6a83e0ec295 --- /dev/null +++ b/v2/api/containerservice/v1api20240901/trusted_access_role_binding_types_gen.go @@ -0,0 +1,841 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package v1api20240901 + +import ( + "fmt" + arm "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20240901/arm" + storage "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20240901/storage" + "github.com/Azure/azure-service-operator/v2/internal/reflecthelpers" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime/conditions" + "github.com/pkg/errors" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/conversion" + "sigs.k8s.io/controller-runtime/pkg/webhook/admission" +) + +// +kubebuilder:object:root=true +// +kubebuilder:subresource:status +// +kubebuilder:printcolumn:name="Ready",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +// +kubebuilder:printcolumn:name="Severity",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].severity" +// +kubebuilder:printcolumn:name="Reason",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].reason" +// +kubebuilder:printcolumn:name="Message",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].message" +// Generator information: +// - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2024-09-01/managedClusters.json +// - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/trustedAccessRoleBindings/{trustedAccessRoleBindingName} +type TrustedAccessRoleBinding struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec TrustedAccessRoleBinding_Spec `json:"spec,omitempty"` + Status TrustedAccessRoleBinding_STATUS `json:"status,omitempty"` +} + +var _ conditions.Conditioner = &TrustedAccessRoleBinding{} + +// GetConditions returns the conditions of the resource +func (binding *TrustedAccessRoleBinding) GetConditions() conditions.Conditions { + return binding.Status.Conditions +} + +// SetConditions sets the conditions on the resource status +func (binding *TrustedAccessRoleBinding) SetConditions(conditions conditions.Conditions) { + binding.Status.Conditions = conditions +} + +var _ conversion.Convertible = &TrustedAccessRoleBinding{} + +// ConvertFrom populates our TrustedAccessRoleBinding from the provided hub TrustedAccessRoleBinding +func (binding *TrustedAccessRoleBinding) ConvertFrom(hub conversion.Hub) error { + source, ok := hub.(*storage.TrustedAccessRoleBinding) + if !ok { + return fmt.Errorf("expected containerservice/v1api20240901/storage/TrustedAccessRoleBinding but received %T instead", hub) + } + + return binding.AssignProperties_From_TrustedAccessRoleBinding(source) +} + +// ConvertTo populates the provided hub TrustedAccessRoleBinding from our TrustedAccessRoleBinding +func (binding *TrustedAccessRoleBinding) ConvertTo(hub conversion.Hub) error { + destination, ok := hub.(*storage.TrustedAccessRoleBinding) + if !ok { + return fmt.Errorf("expected containerservice/v1api20240901/storage/TrustedAccessRoleBinding but received %T instead", hub) + } + + return binding.AssignProperties_To_TrustedAccessRoleBinding(destination) +} + +// +kubebuilder:webhook:path=/mutate-containerservice-azure-com-v1api20240901-trustedaccessrolebinding,mutating=true,sideEffects=None,matchPolicy=Exact,failurePolicy=fail,groups=containerservice.azure.com,resources=trustedaccessrolebindings,verbs=create;update,versions=v1api20240901,name=default.v1api20240901.trustedaccessrolebindings.containerservice.azure.com,admissionReviewVersions=v1 + +var _ admission.Defaulter = &TrustedAccessRoleBinding{} + +// Default applies defaults to the TrustedAccessRoleBinding resource +func (binding *TrustedAccessRoleBinding) Default() { + binding.defaultImpl() + var temp any = binding + if runtimeDefaulter, ok := temp.(genruntime.Defaulter); ok { + runtimeDefaulter.CustomDefault() + } +} + +// defaultAzureName defaults the Azure name of the resource to the Kubernetes name +func (binding *TrustedAccessRoleBinding) defaultAzureName() { + if binding.Spec.AzureName == "" { + binding.Spec.AzureName = binding.Name + } +} + +// defaultImpl applies the code generated defaults to the TrustedAccessRoleBinding resource +func (binding *TrustedAccessRoleBinding) defaultImpl() { binding.defaultAzureName() } + +var _ genruntime.ImportableResource = &TrustedAccessRoleBinding{} + +// InitializeSpec initializes the spec for this resource from the given status +func (binding *TrustedAccessRoleBinding) InitializeSpec(status genruntime.ConvertibleStatus) error { + if s, ok := status.(*TrustedAccessRoleBinding_STATUS); ok { + return binding.Spec.Initialize_From_TrustedAccessRoleBinding_STATUS(s) + } + + return fmt.Errorf("expected Status of type TrustedAccessRoleBinding_STATUS but received %T instead", status) +} + +var _ genruntime.KubernetesResource = &TrustedAccessRoleBinding{} + +// AzureName returns the Azure name of the resource +func (binding *TrustedAccessRoleBinding) AzureName() string { + return binding.Spec.AzureName +} + +// GetAPIVersion returns the ARM API version of the resource. This is always "2024-09-01" +func (binding TrustedAccessRoleBinding) GetAPIVersion() string { + return "2024-09-01" +} + +// GetResourceScope returns the scope of the resource +func (binding *TrustedAccessRoleBinding) GetResourceScope() genruntime.ResourceScope { + return genruntime.ResourceScopeResourceGroup +} + +// GetSpec returns the specification of this resource +func (binding *TrustedAccessRoleBinding) GetSpec() genruntime.ConvertibleSpec { + return &binding.Spec +} + +// GetStatus returns the status of this resource +func (binding *TrustedAccessRoleBinding) GetStatus() genruntime.ConvertibleStatus { + return &binding.Status +} + +// GetSupportedOperations returns the operations supported by the resource +func (binding *TrustedAccessRoleBinding) GetSupportedOperations() []genruntime.ResourceOperation { + return []genruntime.ResourceOperation{ + genruntime.ResourceOperationDelete, + genruntime.ResourceOperationGet, + genruntime.ResourceOperationPut, + } +} + +// GetType returns the ARM Type of the resource. This is always "Microsoft.ContainerService/managedClusters/trustedAccessRoleBindings" +func (binding *TrustedAccessRoleBinding) GetType() string { + return "Microsoft.ContainerService/managedClusters/trustedAccessRoleBindings" +} + +// NewEmptyStatus returns a new empty (blank) status +func (binding *TrustedAccessRoleBinding) NewEmptyStatus() genruntime.ConvertibleStatus { + return &TrustedAccessRoleBinding_STATUS{} +} + +// Owner returns the ResourceReference of the owner +func (binding *TrustedAccessRoleBinding) Owner() *genruntime.ResourceReference { + group, kind := genruntime.LookupOwnerGroupKind(binding.Spec) + return binding.Spec.Owner.AsResourceReference(group, kind) +} + +// SetStatus sets the status of this resource +func (binding *TrustedAccessRoleBinding) SetStatus(status genruntime.ConvertibleStatus) error { + // If we have exactly the right type of status, assign it + if st, ok := status.(*TrustedAccessRoleBinding_STATUS); ok { + binding.Status = *st + return nil + } + + // Convert status to required version + var st TrustedAccessRoleBinding_STATUS + err := status.ConvertStatusTo(&st) + if err != nil { + return errors.Wrap(err, "failed to convert status") + } + + binding.Status = st + return nil +} + +// +kubebuilder:webhook:path=/validate-containerservice-azure-com-v1api20240901-trustedaccessrolebinding,mutating=false,sideEffects=None,matchPolicy=Exact,failurePolicy=fail,groups=containerservice.azure.com,resources=trustedaccessrolebindings,verbs=create;update,versions=v1api20240901,name=validate.v1api20240901.trustedaccessrolebindings.containerservice.azure.com,admissionReviewVersions=v1 + +var _ admission.Validator = &TrustedAccessRoleBinding{} + +// ValidateCreate validates the creation of the resource +func (binding *TrustedAccessRoleBinding) ValidateCreate() (admission.Warnings, error) { + validations := binding.createValidations() + var temp any = binding + if runtimeValidator, ok := temp.(genruntime.Validator); ok { + validations = append(validations, runtimeValidator.CreateValidations()...) + } + return genruntime.ValidateCreate(validations) +} + +// ValidateDelete validates the deletion of the resource +func (binding *TrustedAccessRoleBinding) ValidateDelete() (admission.Warnings, error) { + validations := binding.deleteValidations() + var temp any = binding + if runtimeValidator, ok := temp.(genruntime.Validator); ok { + validations = append(validations, runtimeValidator.DeleteValidations()...) + } + return genruntime.ValidateDelete(validations) +} + +// ValidateUpdate validates an update of the resource +func (binding *TrustedAccessRoleBinding) ValidateUpdate(old runtime.Object) (admission.Warnings, error) { + validations := binding.updateValidations() + var temp any = binding + if runtimeValidator, ok := temp.(genruntime.Validator); ok { + validations = append(validations, runtimeValidator.UpdateValidations()...) + } + return genruntime.ValidateUpdate(old, validations) +} + +// createValidations validates the creation of the resource +func (binding *TrustedAccessRoleBinding) createValidations() []func() (admission.Warnings, error) { + return []func() (admission.Warnings, error){binding.validateResourceReferences, binding.validateOwnerReference} +} + +// deleteValidations validates the deletion of the resource +func (binding *TrustedAccessRoleBinding) deleteValidations() []func() (admission.Warnings, error) { + return nil +} + +// updateValidations validates the update of the resource +func (binding *TrustedAccessRoleBinding) updateValidations() []func(old runtime.Object) (admission.Warnings, error) { + return []func(old runtime.Object) (admission.Warnings, error){ + func(old runtime.Object) (admission.Warnings, error) { + return binding.validateResourceReferences() + }, + binding.validateWriteOnceProperties, + func(old runtime.Object) (admission.Warnings, error) { + return binding.validateOwnerReference() + }, + } +} + +// validateOwnerReference validates the owner field +func (binding *TrustedAccessRoleBinding) validateOwnerReference() (admission.Warnings, error) { + return genruntime.ValidateOwner(binding) +} + +// validateResourceReferences validates all resource references +func (binding *TrustedAccessRoleBinding) validateResourceReferences() (admission.Warnings, error) { + refs, err := reflecthelpers.FindResourceReferences(&binding.Spec) + if err != nil { + return nil, err + } + return genruntime.ValidateResourceReferences(refs) +} + +// validateWriteOnceProperties validates all WriteOnce properties +func (binding *TrustedAccessRoleBinding) validateWriteOnceProperties(old runtime.Object) (admission.Warnings, error) { + oldObj, ok := old.(*TrustedAccessRoleBinding) + if !ok { + return nil, nil + } + + return genruntime.ValidateWriteOnceProperties(oldObj, binding) +} + +// AssignProperties_From_TrustedAccessRoleBinding populates our TrustedAccessRoleBinding from the provided source TrustedAccessRoleBinding +func (binding *TrustedAccessRoleBinding) AssignProperties_From_TrustedAccessRoleBinding(source *storage.TrustedAccessRoleBinding) error { + + // ObjectMeta + binding.ObjectMeta = *source.ObjectMeta.DeepCopy() + + // Spec + var spec TrustedAccessRoleBinding_Spec + err := spec.AssignProperties_From_TrustedAccessRoleBinding_Spec(&source.Spec) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_TrustedAccessRoleBinding_Spec() to populate field Spec") + } + binding.Spec = spec + + // Status + var status TrustedAccessRoleBinding_STATUS + err = status.AssignProperties_From_TrustedAccessRoleBinding_STATUS(&source.Status) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_TrustedAccessRoleBinding_STATUS() to populate field Status") + } + binding.Status = status + + // No error + return nil +} + +// AssignProperties_To_TrustedAccessRoleBinding populates the provided destination TrustedAccessRoleBinding from our TrustedAccessRoleBinding +func (binding *TrustedAccessRoleBinding) AssignProperties_To_TrustedAccessRoleBinding(destination *storage.TrustedAccessRoleBinding) error { + + // ObjectMeta + destination.ObjectMeta = *binding.ObjectMeta.DeepCopy() + + // Spec + var spec storage.TrustedAccessRoleBinding_Spec + err := binding.Spec.AssignProperties_To_TrustedAccessRoleBinding_Spec(&spec) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_TrustedAccessRoleBinding_Spec() to populate field Spec") + } + destination.Spec = spec + + // Status + var status storage.TrustedAccessRoleBinding_STATUS + err = binding.Status.AssignProperties_To_TrustedAccessRoleBinding_STATUS(&status) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_TrustedAccessRoleBinding_STATUS() to populate field Status") + } + destination.Status = status + + // No error + return nil +} + +// OriginalGVK returns a GroupValueKind for the original API version used to create the resource +func (binding *TrustedAccessRoleBinding) OriginalGVK() *schema.GroupVersionKind { + return &schema.GroupVersionKind{ + Group: GroupVersion.Group, + Version: binding.Spec.OriginalVersion(), + Kind: "TrustedAccessRoleBinding", + } +} + +// +kubebuilder:object:root=true +// Generator information: +// - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2024-09-01/managedClusters.json +// - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/trustedAccessRoleBindings/{trustedAccessRoleBindingName} +type TrustedAccessRoleBindingList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []TrustedAccessRoleBinding `json:"items"` +} + +type TrustedAccessRoleBinding_Spec struct { + // +kubebuilder:validation:MaxLength=24 + // +kubebuilder:validation:MinLength=1 + // +kubebuilder:validation:Pattern="^([A-Za-z0-9-])+$" + // AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + // doesn't have to be. + AzureName string `json:"azureName,omitempty"` + + // +kubebuilder:validation:Required + // Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + // controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + // reference to a containerservice.azure.com/ManagedCluster resource + Owner *genruntime.KnownResourceReference `group:"containerservice.azure.com" json:"owner,omitempty" kind:"ManagedCluster"` + + // +kubebuilder:validation:Required + // Roles: A list of roles to bind, each item is a resource type qualified role name. For example: + // 'Microsoft.MachineLearningServices/workspaces/reader'. + Roles []string `json:"roles,omitempty"` + + // +kubebuilder:validation:Required + // SourceResourceReference: The ARM resource ID of source resource that trusted access is configured for. + SourceResourceReference *genruntime.ResourceReference `armReference:"SourceResourceId" json:"sourceResourceReference,omitempty"` +} + +var _ genruntime.ARMTransformer = &TrustedAccessRoleBinding_Spec{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (binding *TrustedAccessRoleBinding_Spec) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if binding == nil { + return nil, nil + } + result := &arm.TrustedAccessRoleBinding_Spec{} + + // Set property "Name": + result.Name = resolved.Name + + // Set property "Properties": + if binding.Roles != nil || binding.SourceResourceReference != nil { + result.Properties = &arm.TrustedAccessRoleBindingProperties{} + } + for _, item := range binding.Roles { + result.Properties.Roles = append(result.Properties.Roles, item) + } + if binding.SourceResourceReference != nil { + sourceResourceIdARMID, err := resolved.ResolvedReferences.Lookup(*binding.SourceResourceReference) + if err != nil { + return nil, err + } + sourceResourceId := sourceResourceIdARMID + result.Properties.SourceResourceId = &sourceResourceId + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (binding *TrustedAccessRoleBinding_Spec) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.TrustedAccessRoleBinding_Spec{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (binding *TrustedAccessRoleBinding_Spec) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.TrustedAccessRoleBinding_Spec) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.TrustedAccessRoleBinding_Spec, got %T", armInput) + } + + // Set property "AzureName": + binding.SetAzureName(genruntime.ExtractKubernetesResourceNameFromARMName(typedInput.Name)) + + // Set property "Owner": + binding.Owner = &genruntime.KnownResourceReference{ + Name: owner.Name, + ARMID: owner.ARMID, + } + + // Set property "Roles": + // copying flattened property: + if typedInput.Properties != nil { + for _, item := range typedInput.Properties.Roles { + binding.Roles = append(binding.Roles, item) + } + } + + // no assignment for property "SourceResourceReference" + + // No error + return nil +} + +var _ genruntime.ConvertibleSpec = &TrustedAccessRoleBinding_Spec{} + +// ConvertSpecFrom populates our TrustedAccessRoleBinding_Spec from the provided source +func (binding *TrustedAccessRoleBinding_Spec) ConvertSpecFrom(source genruntime.ConvertibleSpec) error { + src, ok := source.(*storage.TrustedAccessRoleBinding_Spec) + if ok { + // Populate our instance from source + return binding.AssignProperties_From_TrustedAccessRoleBinding_Spec(src) + } + + // Convert to an intermediate form + src = &storage.TrustedAccessRoleBinding_Spec{} + err := src.ConvertSpecFrom(source) + if err != nil { + return errors.Wrap(err, "initial step of conversion in ConvertSpecFrom()") + } + + // Update our instance from src + err = binding.AssignProperties_From_TrustedAccessRoleBinding_Spec(src) + if err != nil { + return errors.Wrap(err, "final step of conversion in ConvertSpecFrom()") + } + + return nil +} + +// ConvertSpecTo populates the provided destination from our TrustedAccessRoleBinding_Spec +func (binding *TrustedAccessRoleBinding_Spec) ConvertSpecTo(destination genruntime.ConvertibleSpec) error { + dst, ok := destination.(*storage.TrustedAccessRoleBinding_Spec) + if ok { + // Populate destination from our instance + return binding.AssignProperties_To_TrustedAccessRoleBinding_Spec(dst) + } + + // Convert to an intermediate form + dst = &storage.TrustedAccessRoleBinding_Spec{} + err := binding.AssignProperties_To_TrustedAccessRoleBinding_Spec(dst) + if err != nil { + return errors.Wrap(err, "initial step of conversion in ConvertSpecTo()") + } + + // Update dst from our instance + err = dst.ConvertSpecTo(destination) + if err != nil { + return errors.Wrap(err, "final step of conversion in ConvertSpecTo()") + } + + return nil +} + +// AssignProperties_From_TrustedAccessRoleBinding_Spec populates our TrustedAccessRoleBinding_Spec from the provided source TrustedAccessRoleBinding_Spec +func (binding *TrustedAccessRoleBinding_Spec) AssignProperties_From_TrustedAccessRoleBinding_Spec(source *storage.TrustedAccessRoleBinding_Spec) error { + + // AzureName + binding.AzureName = source.AzureName + + // Owner + if source.Owner != nil { + owner := source.Owner.Copy() + binding.Owner = &owner + } else { + binding.Owner = nil + } + + // Roles + binding.Roles = genruntime.CloneSliceOfString(source.Roles) + + // SourceResourceReference + if source.SourceResourceReference != nil { + sourceResourceReference := source.SourceResourceReference.Copy() + binding.SourceResourceReference = &sourceResourceReference + } else { + binding.SourceResourceReference = nil + } + + // No error + return nil +} + +// AssignProperties_To_TrustedAccessRoleBinding_Spec populates the provided destination TrustedAccessRoleBinding_Spec from our TrustedAccessRoleBinding_Spec +func (binding *TrustedAccessRoleBinding_Spec) AssignProperties_To_TrustedAccessRoleBinding_Spec(destination *storage.TrustedAccessRoleBinding_Spec) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // AzureName + destination.AzureName = binding.AzureName + + // OriginalVersion + destination.OriginalVersion = binding.OriginalVersion() + + // Owner + if binding.Owner != nil { + owner := binding.Owner.Copy() + destination.Owner = &owner + } else { + destination.Owner = nil + } + + // Roles + destination.Roles = genruntime.CloneSliceOfString(binding.Roles) + + // SourceResourceReference + if binding.SourceResourceReference != nil { + sourceResourceReference := binding.SourceResourceReference.Copy() + destination.SourceResourceReference = &sourceResourceReference + } else { + destination.SourceResourceReference = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_TrustedAccessRoleBinding_STATUS populates our TrustedAccessRoleBinding_Spec from the provided source TrustedAccessRoleBinding_STATUS +func (binding *TrustedAccessRoleBinding_Spec) Initialize_From_TrustedAccessRoleBinding_STATUS(source *TrustedAccessRoleBinding_STATUS) error { + + // Roles + binding.Roles = genruntime.CloneSliceOfString(source.Roles) + + // SourceResourceReference + if source.SourceResourceId != nil { + sourceResourceReference := genruntime.CreateResourceReferenceFromARMID(*source.SourceResourceId) + binding.SourceResourceReference = &sourceResourceReference + } else { + binding.SourceResourceReference = nil + } + + // No error + return nil +} + +// OriginalVersion returns the original API version used to create the resource. +func (binding *TrustedAccessRoleBinding_Spec) OriginalVersion() string { + return GroupVersion.Version +} + +// SetAzureName sets the Azure name of the resource +func (binding *TrustedAccessRoleBinding_Spec) SetAzureName(azureName string) { + binding.AzureName = azureName +} + +type TrustedAccessRoleBinding_STATUS struct { + // Conditions: The observed state of the resource + Conditions []conditions.Condition `json:"conditions,omitempty"` + + // Id: Fully qualified resource ID for the resource. E.g. + // "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + Id *string `json:"id,omitempty"` + + // Name: The name of the resource + Name *string `json:"name,omitempty"` + + // ProvisioningState: The current provisioning state of trusted access role binding. + ProvisioningState *TrustedAccessRoleBindingProperties_ProvisioningState_STATUS `json:"provisioningState,omitempty"` + + // Roles: A list of roles to bind, each item is a resource type qualified role name. For example: + // 'Microsoft.MachineLearningServices/workspaces/reader'. + Roles []string `json:"roles,omitempty"` + + // SourceResourceId: The ARM resource ID of source resource that trusted access is configured for. + SourceResourceId *string `json:"sourceResourceId,omitempty"` + + // SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information. + SystemData *SystemData_STATUS `json:"systemData,omitempty"` + + // Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + Type *string `json:"type,omitempty"` +} + +var _ genruntime.ConvertibleStatus = &TrustedAccessRoleBinding_STATUS{} + +// ConvertStatusFrom populates our TrustedAccessRoleBinding_STATUS from the provided source +func (binding *TrustedAccessRoleBinding_STATUS) ConvertStatusFrom(source genruntime.ConvertibleStatus) error { + src, ok := source.(*storage.TrustedAccessRoleBinding_STATUS) + if ok { + // Populate our instance from source + return binding.AssignProperties_From_TrustedAccessRoleBinding_STATUS(src) + } + + // Convert to an intermediate form + src = &storage.TrustedAccessRoleBinding_STATUS{} + err := src.ConvertStatusFrom(source) + if err != nil { + return errors.Wrap(err, "initial step of conversion in ConvertStatusFrom()") + } + + // Update our instance from src + err = binding.AssignProperties_From_TrustedAccessRoleBinding_STATUS(src) + if err != nil { + return errors.Wrap(err, "final step of conversion in ConvertStatusFrom()") + } + + return nil +} + +// ConvertStatusTo populates the provided destination from our TrustedAccessRoleBinding_STATUS +func (binding *TrustedAccessRoleBinding_STATUS) ConvertStatusTo(destination genruntime.ConvertibleStatus) error { + dst, ok := destination.(*storage.TrustedAccessRoleBinding_STATUS) + if ok { + // Populate destination from our instance + return binding.AssignProperties_To_TrustedAccessRoleBinding_STATUS(dst) + } + + // Convert to an intermediate form + dst = &storage.TrustedAccessRoleBinding_STATUS{} + err := binding.AssignProperties_To_TrustedAccessRoleBinding_STATUS(dst) + if err != nil { + return errors.Wrap(err, "initial step of conversion in ConvertStatusTo()") + } + + // Update dst from our instance + err = dst.ConvertStatusTo(destination) + if err != nil { + return errors.Wrap(err, "final step of conversion in ConvertStatusTo()") + } + + return nil +} + +var _ genruntime.FromARMConverter = &TrustedAccessRoleBinding_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (binding *TrustedAccessRoleBinding_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &arm.TrustedAccessRoleBinding_STATUS{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (binding *TrustedAccessRoleBinding_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(arm.TrustedAccessRoleBinding_STATUS) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected arm.TrustedAccessRoleBinding_STATUS, got %T", armInput) + } + + // no assignment for property "Conditions" + + // Set property "Id": + if typedInput.Id != nil { + id := *typedInput.Id + binding.Id = &id + } + + // Set property "Name": + if typedInput.Name != nil { + name := *typedInput.Name + binding.Name = &name + } + + // Set property "ProvisioningState": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.ProvisioningState != nil { + var temp string + temp = string(*typedInput.Properties.ProvisioningState) + provisioningState := TrustedAccessRoleBindingProperties_ProvisioningState_STATUS(temp) + binding.ProvisioningState = &provisioningState + } + } + + // Set property "Roles": + // copying flattened property: + if typedInput.Properties != nil { + for _, item := range typedInput.Properties.Roles { + binding.Roles = append(binding.Roles, item) + } + } + + // Set property "SourceResourceId": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.SourceResourceId != nil { + sourceResourceId := *typedInput.Properties.SourceResourceId + binding.SourceResourceId = &sourceResourceId + } + } + + // Set property "SystemData": + if typedInput.SystemData != nil { + var systemData1 SystemData_STATUS + err := systemData1.PopulateFromARM(owner, *typedInput.SystemData) + if err != nil { + return err + } + systemData := systemData1 + binding.SystemData = &systemData + } + + // Set property "Type": + if typedInput.Type != nil { + typeVar := *typedInput.Type + binding.Type = &typeVar + } + + // No error + return nil +} + +// AssignProperties_From_TrustedAccessRoleBinding_STATUS populates our TrustedAccessRoleBinding_STATUS from the provided source TrustedAccessRoleBinding_STATUS +func (binding *TrustedAccessRoleBinding_STATUS) AssignProperties_From_TrustedAccessRoleBinding_STATUS(source *storage.TrustedAccessRoleBinding_STATUS) error { + + // Conditions + binding.Conditions = genruntime.CloneSliceOfCondition(source.Conditions) + + // Id + binding.Id = genruntime.ClonePointerToString(source.Id) + + // Name + binding.Name = genruntime.ClonePointerToString(source.Name) + + // ProvisioningState + if source.ProvisioningState != nil { + provisioningState := *source.ProvisioningState + provisioningStateTemp := genruntime.ToEnum(provisioningState, trustedAccessRoleBindingProperties_ProvisioningState_STATUS_Values) + binding.ProvisioningState = &provisioningStateTemp + } else { + binding.ProvisioningState = nil + } + + // Roles + binding.Roles = genruntime.CloneSliceOfString(source.Roles) + + // SourceResourceId + binding.SourceResourceId = genruntime.ClonePointerToString(source.SourceResourceId) + + // SystemData + if source.SystemData != nil { + var systemDatum SystemData_STATUS + err := systemDatum.AssignProperties_From_SystemData_STATUS(source.SystemData) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_SystemData_STATUS() to populate field SystemData") + } + binding.SystemData = &systemDatum + } else { + binding.SystemData = nil + } + + // Type + binding.Type = genruntime.ClonePointerToString(source.Type) + + // No error + return nil +} + +// AssignProperties_To_TrustedAccessRoleBinding_STATUS populates the provided destination TrustedAccessRoleBinding_STATUS from our TrustedAccessRoleBinding_STATUS +func (binding *TrustedAccessRoleBinding_STATUS) AssignProperties_To_TrustedAccessRoleBinding_STATUS(destination *storage.TrustedAccessRoleBinding_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Conditions + destination.Conditions = genruntime.CloneSliceOfCondition(binding.Conditions) + + // Id + destination.Id = genruntime.ClonePointerToString(binding.Id) + + // Name + destination.Name = genruntime.ClonePointerToString(binding.Name) + + // ProvisioningState + if binding.ProvisioningState != nil { + provisioningState := string(*binding.ProvisioningState) + destination.ProvisioningState = &provisioningState + } else { + destination.ProvisioningState = nil + } + + // Roles + destination.Roles = genruntime.CloneSliceOfString(binding.Roles) + + // SourceResourceId + destination.SourceResourceId = genruntime.ClonePointerToString(binding.SourceResourceId) + + // SystemData + if binding.SystemData != nil { + var systemDatum storage.SystemData_STATUS + err := binding.SystemData.AssignProperties_To_SystemData_STATUS(&systemDatum) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_SystemData_STATUS() to populate field SystemData") + } + destination.SystemData = &systemDatum + } else { + destination.SystemData = nil + } + + // Type + destination.Type = genruntime.ClonePointerToString(binding.Type) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +type TrustedAccessRoleBindingProperties_ProvisioningState_STATUS string + +const ( + TrustedAccessRoleBindingProperties_ProvisioningState_STATUS_Canceled = TrustedAccessRoleBindingProperties_ProvisioningState_STATUS("Canceled") + TrustedAccessRoleBindingProperties_ProvisioningState_STATUS_Deleting = TrustedAccessRoleBindingProperties_ProvisioningState_STATUS("Deleting") + TrustedAccessRoleBindingProperties_ProvisioningState_STATUS_Failed = TrustedAccessRoleBindingProperties_ProvisioningState_STATUS("Failed") + TrustedAccessRoleBindingProperties_ProvisioningState_STATUS_Succeeded = TrustedAccessRoleBindingProperties_ProvisioningState_STATUS("Succeeded") + TrustedAccessRoleBindingProperties_ProvisioningState_STATUS_Updating = TrustedAccessRoleBindingProperties_ProvisioningState_STATUS("Updating") +) + +// Mapping from string to TrustedAccessRoleBindingProperties_ProvisioningState_STATUS +var trustedAccessRoleBindingProperties_ProvisioningState_STATUS_Values = map[string]TrustedAccessRoleBindingProperties_ProvisioningState_STATUS{ + "canceled": TrustedAccessRoleBindingProperties_ProvisioningState_STATUS_Canceled, + "deleting": TrustedAccessRoleBindingProperties_ProvisioningState_STATUS_Deleting, + "failed": TrustedAccessRoleBindingProperties_ProvisioningState_STATUS_Failed, + "succeeded": TrustedAccessRoleBindingProperties_ProvisioningState_STATUS_Succeeded, + "updating": TrustedAccessRoleBindingProperties_ProvisioningState_STATUS_Updating, +} + +func init() { + SchemeBuilder.Register(&TrustedAccessRoleBinding{}, &TrustedAccessRoleBindingList{}) +} diff --git a/v2/api/containerservice/v1api20240901/trusted_access_role_binding_types_gen_test.go b/v2/api/containerservice/v1api20240901/trusted_access_role_binding_types_gen_test.go new file mode 100644 index 00000000000..fbd67989406 --- /dev/null +++ b/v2/api/containerservice/v1api20240901/trusted_access_role_binding_types_gen_test.go @@ -0,0 +1,397 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package v1api20240901 + +import ( + "encoding/json" + storage "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20240901/storage" + "github.com/google/go-cmp/cmp" + "github.com/google/go-cmp/cmp/cmpopts" + "github.com/kr/pretty" + "github.com/kylelemons/godebug/diff" + "github.com/leanovate/gopter" + "github.com/leanovate/gopter/gen" + "github.com/leanovate/gopter/prop" + "os" + "reflect" + "testing" +) + +func Test_TrustedAccessRoleBinding_WhenConvertedToHub_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + parameters.MinSuccessfulTests = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from TrustedAccessRoleBinding to hub returns original", + prop.ForAll(RunResourceConversionTestForTrustedAccessRoleBinding, TrustedAccessRoleBindingGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunResourceConversionTestForTrustedAccessRoleBinding tests if a specific instance of TrustedAccessRoleBinding round trips to the hub storage version and back losslessly +func RunResourceConversionTestForTrustedAccessRoleBinding(subject TrustedAccessRoleBinding) string { + // Copy subject to make sure conversion doesn't modify it + copied := subject.DeepCopy() + + // Convert to our hub version + var hub storage.TrustedAccessRoleBinding + err := copied.ConvertTo(&hub) + if err != nil { + return err.Error() + } + + // Convert from our hub version + var actual TrustedAccessRoleBinding + err = actual.ConvertFrom(&hub) + if err != nil { + return err.Error() + } + + // Compare actual with what we started with + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_TrustedAccessRoleBinding_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from TrustedAccessRoleBinding to TrustedAccessRoleBinding via AssignProperties_To_TrustedAccessRoleBinding & AssignProperties_From_TrustedAccessRoleBinding returns original", + prop.ForAll(RunPropertyAssignmentTestForTrustedAccessRoleBinding, TrustedAccessRoleBindingGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForTrustedAccessRoleBinding tests if a specific instance of TrustedAccessRoleBinding can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForTrustedAccessRoleBinding(subject TrustedAccessRoleBinding) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.TrustedAccessRoleBinding + err := copied.AssignProperties_To_TrustedAccessRoleBinding(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual TrustedAccessRoleBinding + err = actual.AssignProperties_From_TrustedAccessRoleBinding(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_TrustedAccessRoleBinding_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 20 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of TrustedAccessRoleBinding via JSON returns original", + prop.ForAll(RunJSONSerializationTestForTrustedAccessRoleBinding, TrustedAccessRoleBindingGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForTrustedAccessRoleBinding runs a test to see if a specific instance of TrustedAccessRoleBinding round trips to JSON and back losslessly +func RunJSONSerializationTestForTrustedAccessRoleBinding(subject TrustedAccessRoleBinding) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual TrustedAccessRoleBinding + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of TrustedAccessRoleBinding instances for property testing - lazily instantiated by +// TrustedAccessRoleBindingGenerator() +var trustedAccessRoleBindingGenerator gopter.Gen + +// TrustedAccessRoleBindingGenerator returns a generator of TrustedAccessRoleBinding instances for property testing. +func TrustedAccessRoleBindingGenerator() gopter.Gen { + if trustedAccessRoleBindingGenerator != nil { + return trustedAccessRoleBindingGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForTrustedAccessRoleBinding(generators) + trustedAccessRoleBindingGenerator = gen.Struct(reflect.TypeOf(TrustedAccessRoleBinding{}), generators) + + return trustedAccessRoleBindingGenerator +} + +// AddRelatedPropertyGeneratorsForTrustedAccessRoleBinding is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForTrustedAccessRoleBinding(gens map[string]gopter.Gen) { + gens["Spec"] = TrustedAccessRoleBinding_SpecGenerator() + gens["Status"] = TrustedAccessRoleBinding_STATUSGenerator() +} + +func Test_TrustedAccessRoleBinding_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from TrustedAccessRoleBinding_STATUS to TrustedAccessRoleBinding_STATUS via AssignProperties_To_TrustedAccessRoleBinding_STATUS & AssignProperties_From_TrustedAccessRoleBinding_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForTrustedAccessRoleBinding_STATUS, TrustedAccessRoleBinding_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForTrustedAccessRoleBinding_STATUS tests if a specific instance of TrustedAccessRoleBinding_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForTrustedAccessRoleBinding_STATUS(subject TrustedAccessRoleBinding_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.TrustedAccessRoleBinding_STATUS + err := copied.AssignProperties_To_TrustedAccessRoleBinding_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual TrustedAccessRoleBinding_STATUS + err = actual.AssignProperties_From_TrustedAccessRoleBinding_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_TrustedAccessRoleBinding_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of TrustedAccessRoleBinding_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForTrustedAccessRoleBinding_STATUS, TrustedAccessRoleBinding_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForTrustedAccessRoleBinding_STATUS runs a test to see if a specific instance of TrustedAccessRoleBinding_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForTrustedAccessRoleBinding_STATUS(subject TrustedAccessRoleBinding_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual TrustedAccessRoleBinding_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of TrustedAccessRoleBinding_STATUS instances for property testing - lazily instantiated by +// TrustedAccessRoleBinding_STATUSGenerator() +var trustedAccessRoleBinding_STATUSGenerator gopter.Gen + +// TrustedAccessRoleBinding_STATUSGenerator returns a generator of TrustedAccessRoleBinding_STATUS instances for property testing. +// We first initialize trustedAccessRoleBinding_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func TrustedAccessRoleBinding_STATUSGenerator() gopter.Gen { + if trustedAccessRoleBinding_STATUSGenerator != nil { + return trustedAccessRoleBinding_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForTrustedAccessRoleBinding_STATUS(generators) + trustedAccessRoleBinding_STATUSGenerator = gen.Struct(reflect.TypeOf(TrustedAccessRoleBinding_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForTrustedAccessRoleBinding_STATUS(generators) + AddRelatedPropertyGeneratorsForTrustedAccessRoleBinding_STATUS(generators) + trustedAccessRoleBinding_STATUSGenerator = gen.Struct(reflect.TypeOf(TrustedAccessRoleBinding_STATUS{}), generators) + + return trustedAccessRoleBinding_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForTrustedAccessRoleBinding_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForTrustedAccessRoleBinding_STATUS(gens map[string]gopter.Gen) { + gens["Id"] = gen.PtrOf(gen.AlphaString()) + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["ProvisioningState"] = gen.PtrOf(gen.OneConstOf( + TrustedAccessRoleBindingProperties_ProvisioningState_STATUS_Canceled, + TrustedAccessRoleBindingProperties_ProvisioningState_STATUS_Deleting, + TrustedAccessRoleBindingProperties_ProvisioningState_STATUS_Failed, + TrustedAccessRoleBindingProperties_ProvisioningState_STATUS_Succeeded, + TrustedAccessRoleBindingProperties_ProvisioningState_STATUS_Updating)) + gens["Roles"] = gen.SliceOf(gen.AlphaString()) + gens["SourceResourceId"] = gen.PtrOf(gen.AlphaString()) + gens["Type"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForTrustedAccessRoleBinding_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForTrustedAccessRoleBinding_STATUS(gens map[string]gopter.Gen) { + gens["SystemData"] = gen.PtrOf(SystemData_STATUSGenerator()) +} + +func Test_TrustedAccessRoleBinding_Spec_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from TrustedAccessRoleBinding_Spec to TrustedAccessRoleBinding_Spec via AssignProperties_To_TrustedAccessRoleBinding_Spec & AssignProperties_From_TrustedAccessRoleBinding_Spec returns original", + prop.ForAll(RunPropertyAssignmentTestForTrustedAccessRoleBinding_Spec, TrustedAccessRoleBinding_SpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForTrustedAccessRoleBinding_Spec tests if a specific instance of TrustedAccessRoleBinding_Spec can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForTrustedAccessRoleBinding_Spec(subject TrustedAccessRoleBinding_Spec) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other storage.TrustedAccessRoleBinding_Spec + err := copied.AssignProperties_To_TrustedAccessRoleBinding_Spec(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual TrustedAccessRoleBinding_Spec + err = actual.AssignProperties_From_TrustedAccessRoleBinding_Spec(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_TrustedAccessRoleBinding_Spec_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of TrustedAccessRoleBinding_Spec via JSON returns original", + prop.ForAll(RunJSONSerializationTestForTrustedAccessRoleBinding_Spec, TrustedAccessRoleBinding_SpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForTrustedAccessRoleBinding_Spec runs a test to see if a specific instance of TrustedAccessRoleBinding_Spec round trips to JSON and back losslessly +func RunJSONSerializationTestForTrustedAccessRoleBinding_Spec(subject TrustedAccessRoleBinding_Spec) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual TrustedAccessRoleBinding_Spec + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of TrustedAccessRoleBinding_Spec instances for property testing - lazily instantiated by +// TrustedAccessRoleBinding_SpecGenerator() +var trustedAccessRoleBinding_SpecGenerator gopter.Gen + +// TrustedAccessRoleBinding_SpecGenerator returns a generator of TrustedAccessRoleBinding_Spec instances for property testing. +func TrustedAccessRoleBinding_SpecGenerator() gopter.Gen { + if trustedAccessRoleBinding_SpecGenerator != nil { + return trustedAccessRoleBinding_SpecGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForTrustedAccessRoleBinding_Spec(generators) + trustedAccessRoleBinding_SpecGenerator = gen.Struct(reflect.TypeOf(TrustedAccessRoleBinding_Spec{}), generators) + + return trustedAccessRoleBinding_SpecGenerator +} + +// AddIndependentPropertyGeneratorsForTrustedAccessRoleBinding_Spec is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForTrustedAccessRoleBinding_Spec(gens map[string]gopter.Gen) { + gens["AzureName"] = gen.AlphaString() + gens["Roles"] = gen.SliceOf(gen.AlphaString()) +} diff --git a/v2/api/containerservice/v1api20240901/zz_generated.deepcopy.go b/v2/api/containerservice/v1api20240901/zz_generated.deepcopy.go new file mode 100644 index 00000000000..387ad8b2997 --- /dev/null +++ b/v2/api/containerservice/v1api20240901/zz_generated.deepcopy.go @@ -0,0 +1,7449 @@ +//go:build !ignore_autogenerated + +/* +Copyright (c) Microsoft Corporation. +Licensed under the MIT license. +*/ + +// Code generated by controller-gen. DO NOT EDIT. + +package v1api20240901 + +import ( + "github.com/Azure/azure-service-operator/v2/pkg/genruntime" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime/conditions" + "k8s.io/apimachinery/pkg/runtime" +) + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AbsoluteMonthlySchedule) DeepCopyInto(out *AbsoluteMonthlySchedule) { + *out = *in + if in.DayOfMonth != nil { + in, out := &in.DayOfMonth, &out.DayOfMonth + *out = new(int) + **out = **in + } + if in.IntervalMonths != nil { + in, out := &in.IntervalMonths, &out.IntervalMonths + *out = new(int) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AbsoluteMonthlySchedule. +func (in *AbsoluteMonthlySchedule) DeepCopy() *AbsoluteMonthlySchedule { + if in == nil { + return nil + } + out := new(AbsoluteMonthlySchedule) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AbsoluteMonthlySchedule_STATUS) DeepCopyInto(out *AbsoluteMonthlySchedule_STATUS) { + *out = *in + if in.DayOfMonth != nil { + in, out := &in.DayOfMonth, &out.DayOfMonth + *out = new(int) + **out = **in + } + if in.IntervalMonths != nil { + in, out := &in.IntervalMonths, &out.IntervalMonths + *out = new(int) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AbsoluteMonthlySchedule_STATUS. +func (in *AbsoluteMonthlySchedule_STATUS) DeepCopy() *AbsoluteMonthlySchedule_STATUS { + if in == nil { + return nil + } + out := new(AbsoluteMonthlySchedule_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AdvancedNetworking) DeepCopyInto(out *AdvancedNetworking) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.Observability != nil { + in, out := &in.Observability, &out.Observability + *out = new(AdvancedNetworkingObservability) + (*in).DeepCopyInto(*out) + } + if in.Security != nil { + in, out := &in.Security, &out.Security + *out = new(AdvancedNetworkingSecurity) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AdvancedNetworking. +func (in *AdvancedNetworking) DeepCopy() *AdvancedNetworking { + if in == nil { + return nil + } + out := new(AdvancedNetworking) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AdvancedNetworkingObservability) DeepCopyInto(out *AdvancedNetworkingObservability) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AdvancedNetworkingObservability. +func (in *AdvancedNetworkingObservability) DeepCopy() *AdvancedNetworkingObservability { + if in == nil { + return nil + } + out := new(AdvancedNetworkingObservability) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AdvancedNetworkingObservability_STATUS) DeepCopyInto(out *AdvancedNetworkingObservability_STATUS) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AdvancedNetworkingObservability_STATUS. +func (in *AdvancedNetworkingObservability_STATUS) DeepCopy() *AdvancedNetworkingObservability_STATUS { + if in == nil { + return nil + } + out := new(AdvancedNetworkingObservability_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AdvancedNetworkingSecurity) DeepCopyInto(out *AdvancedNetworkingSecurity) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AdvancedNetworkingSecurity. +func (in *AdvancedNetworkingSecurity) DeepCopy() *AdvancedNetworkingSecurity { + if in == nil { + return nil + } + out := new(AdvancedNetworkingSecurity) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AdvancedNetworkingSecurity_STATUS) DeepCopyInto(out *AdvancedNetworkingSecurity_STATUS) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AdvancedNetworkingSecurity_STATUS. +func (in *AdvancedNetworkingSecurity_STATUS) DeepCopy() *AdvancedNetworkingSecurity_STATUS { + if in == nil { + return nil + } + out := new(AdvancedNetworkingSecurity_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AdvancedNetworking_STATUS) DeepCopyInto(out *AdvancedNetworking_STATUS) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.Observability != nil { + in, out := &in.Observability, &out.Observability + *out = new(AdvancedNetworkingObservability_STATUS) + (*in).DeepCopyInto(*out) + } + if in.Security != nil { + in, out := &in.Security, &out.Security + *out = new(AdvancedNetworkingSecurity_STATUS) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AdvancedNetworking_STATUS. +func (in *AdvancedNetworking_STATUS) DeepCopy() *AdvancedNetworking_STATUS { + if in == nil { + return nil + } + out := new(AdvancedNetworking_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AgentPoolNetworkProfile) DeepCopyInto(out *AgentPoolNetworkProfile) { + *out = *in + if in.AllowedHostPorts != nil { + in, out := &in.AllowedHostPorts, &out.AllowedHostPorts + *out = make([]PortRange, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ApplicationSecurityGroupsReferences != nil { + in, out := &in.ApplicationSecurityGroupsReferences, &out.ApplicationSecurityGroupsReferences + *out = make([]genruntime.ResourceReference, len(*in)) + copy(*out, *in) + } + if in.NodePublicIPTags != nil { + in, out := &in.NodePublicIPTags, &out.NodePublicIPTags + *out = make([]IPTag, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AgentPoolNetworkProfile. +func (in *AgentPoolNetworkProfile) DeepCopy() *AgentPoolNetworkProfile { + if in == nil { + return nil + } + out := new(AgentPoolNetworkProfile) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AgentPoolNetworkProfile_STATUS) DeepCopyInto(out *AgentPoolNetworkProfile_STATUS) { + *out = *in + if in.AllowedHostPorts != nil { + in, out := &in.AllowedHostPorts, &out.AllowedHostPorts + *out = make([]PortRange_STATUS, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ApplicationSecurityGroups != nil { + in, out := &in.ApplicationSecurityGroups, &out.ApplicationSecurityGroups + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.NodePublicIPTags != nil { + in, out := &in.NodePublicIPTags, &out.NodePublicIPTags + *out = make([]IPTag_STATUS, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AgentPoolNetworkProfile_STATUS. +func (in *AgentPoolNetworkProfile_STATUS) DeepCopy() *AgentPoolNetworkProfile_STATUS { + if in == nil { + return nil + } + out := new(AgentPoolNetworkProfile_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AgentPoolSecurityProfile) DeepCopyInto(out *AgentPoolSecurityProfile) { + *out = *in + if in.EnableSecureBoot != nil { + in, out := &in.EnableSecureBoot, &out.EnableSecureBoot + *out = new(bool) + **out = **in + } + if in.EnableVTPM != nil { + in, out := &in.EnableVTPM, &out.EnableVTPM + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AgentPoolSecurityProfile. +func (in *AgentPoolSecurityProfile) DeepCopy() *AgentPoolSecurityProfile { + if in == nil { + return nil + } + out := new(AgentPoolSecurityProfile) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AgentPoolSecurityProfile_STATUS) DeepCopyInto(out *AgentPoolSecurityProfile_STATUS) { + *out = *in + if in.EnableSecureBoot != nil { + in, out := &in.EnableSecureBoot, &out.EnableSecureBoot + *out = new(bool) + **out = **in + } + if in.EnableVTPM != nil { + in, out := &in.EnableVTPM, &out.EnableVTPM + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AgentPoolSecurityProfile_STATUS. +func (in *AgentPoolSecurityProfile_STATUS) DeepCopy() *AgentPoolSecurityProfile_STATUS { + if in == nil { + return nil + } + out := new(AgentPoolSecurityProfile_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AgentPoolUpgradeSettings) DeepCopyInto(out *AgentPoolUpgradeSettings) { + *out = *in + if in.DrainTimeoutInMinutes != nil { + in, out := &in.DrainTimeoutInMinutes, &out.DrainTimeoutInMinutes + *out = new(int) + **out = **in + } + if in.MaxSurge != nil { + in, out := &in.MaxSurge, &out.MaxSurge + *out = new(string) + **out = **in + } + if in.NodeSoakDurationInMinutes != nil { + in, out := &in.NodeSoakDurationInMinutes, &out.NodeSoakDurationInMinutes + *out = new(int) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AgentPoolUpgradeSettings. +func (in *AgentPoolUpgradeSettings) DeepCopy() *AgentPoolUpgradeSettings { + if in == nil { + return nil + } + out := new(AgentPoolUpgradeSettings) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AgentPoolUpgradeSettings_STATUS) DeepCopyInto(out *AgentPoolUpgradeSettings_STATUS) { + *out = *in + if in.DrainTimeoutInMinutes != nil { + in, out := &in.DrainTimeoutInMinutes, &out.DrainTimeoutInMinutes + *out = new(int) + **out = **in + } + if in.MaxSurge != nil { + in, out := &in.MaxSurge, &out.MaxSurge + *out = new(string) + **out = **in + } + if in.NodeSoakDurationInMinutes != nil { + in, out := &in.NodeSoakDurationInMinutes, &out.NodeSoakDurationInMinutes + *out = new(int) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AgentPoolUpgradeSettings_STATUS. +func (in *AgentPoolUpgradeSettings_STATUS) DeepCopy() *AgentPoolUpgradeSettings_STATUS { + if in == nil { + return nil + } + out := new(AgentPoolUpgradeSettings_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AgentPoolWindowsProfile) DeepCopyInto(out *AgentPoolWindowsProfile) { + *out = *in + if in.DisableOutboundNat != nil { + in, out := &in.DisableOutboundNat, &out.DisableOutboundNat + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AgentPoolWindowsProfile. +func (in *AgentPoolWindowsProfile) DeepCopy() *AgentPoolWindowsProfile { + if in == nil { + return nil + } + out := new(AgentPoolWindowsProfile) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AgentPoolWindowsProfile_STATUS) DeepCopyInto(out *AgentPoolWindowsProfile_STATUS) { + *out = *in + if in.DisableOutboundNat != nil { + in, out := &in.DisableOutboundNat, &out.DisableOutboundNat + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AgentPoolWindowsProfile_STATUS. +func (in *AgentPoolWindowsProfile_STATUS) DeepCopy() *AgentPoolWindowsProfile_STATUS { + if in == nil { + return nil + } + out := new(AgentPoolWindowsProfile_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AzureKeyVaultKms) DeepCopyInto(out *AzureKeyVaultKms) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.KeyId != nil { + in, out := &in.KeyId, &out.KeyId + *out = new(string) + **out = **in + } + if in.KeyVaultNetworkAccess != nil { + in, out := &in.KeyVaultNetworkAccess, &out.KeyVaultNetworkAccess + *out = new(AzureKeyVaultKms_KeyVaultNetworkAccess) + **out = **in + } + if in.KeyVaultResourceReference != nil { + in, out := &in.KeyVaultResourceReference, &out.KeyVaultResourceReference + *out = new(genruntime.ResourceReference) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AzureKeyVaultKms. +func (in *AzureKeyVaultKms) DeepCopy() *AzureKeyVaultKms { + if in == nil { + return nil + } + out := new(AzureKeyVaultKms) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AzureKeyVaultKms_STATUS) DeepCopyInto(out *AzureKeyVaultKms_STATUS) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.KeyId != nil { + in, out := &in.KeyId, &out.KeyId + *out = new(string) + **out = **in + } + if in.KeyVaultNetworkAccess != nil { + in, out := &in.KeyVaultNetworkAccess, &out.KeyVaultNetworkAccess + *out = new(AzureKeyVaultKms_KeyVaultNetworkAccess_STATUS) + **out = **in + } + if in.KeyVaultResourceId != nil { + in, out := &in.KeyVaultResourceId, &out.KeyVaultResourceId + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AzureKeyVaultKms_STATUS. +func (in *AzureKeyVaultKms_STATUS) DeepCopy() *AzureKeyVaultKms_STATUS { + if in == nil { + return nil + } + out := new(AzureKeyVaultKms_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClusterUpgradeSettings) DeepCopyInto(out *ClusterUpgradeSettings) { + *out = *in + if in.OverrideSettings != nil { + in, out := &in.OverrideSettings, &out.OverrideSettings + *out = new(UpgradeOverrideSettings) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterUpgradeSettings. +func (in *ClusterUpgradeSettings) DeepCopy() *ClusterUpgradeSettings { + if in == nil { + return nil + } + out := new(ClusterUpgradeSettings) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClusterUpgradeSettings_STATUS) DeepCopyInto(out *ClusterUpgradeSettings_STATUS) { + *out = *in + if in.OverrideSettings != nil { + in, out := &in.OverrideSettings, &out.OverrideSettings + *out = new(UpgradeOverrideSettings_STATUS) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterUpgradeSettings_STATUS. +func (in *ClusterUpgradeSettings_STATUS) DeepCopy() *ClusterUpgradeSettings_STATUS { + if in == nil { + return nil + } + out := new(ClusterUpgradeSettings_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ContainerServiceLinuxProfile) DeepCopyInto(out *ContainerServiceLinuxProfile) { + *out = *in + if in.AdminUsername != nil { + in, out := &in.AdminUsername, &out.AdminUsername + *out = new(string) + **out = **in + } + if in.Ssh != nil { + in, out := &in.Ssh, &out.Ssh + *out = new(ContainerServiceSshConfiguration) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerServiceLinuxProfile. +func (in *ContainerServiceLinuxProfile) DeepCopy() *ContainerServiceLinuxProfile { + if in == nil { + return nil + } + out := new(ContainerServiceLinuxProfile) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ContainerServiceLinuxProfile_STATUS) DeepCopyInto(out *ContainerServiceLinuxProfile_STATUS) { + *out = *in + if in.AdminUsername != nil { + in, out := &in.AdminUsername, &out.AdminUsername + *out = new(string) + **out = **in + } + if in.Ssh != nil { + in, out := &in.Ssh, &out.Ssh + *out = new(ContainerServiceSshConfiguration_STATUS) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerServiceLinuxProfile_STATUS. +func (in *ContainerServiceLinuxProfile_STATUS) DeepCopy() *ContainerServiceLinuxProfile_STATUS { + if in == nil { + return nil + } + out := new(ContainerServiceLinuxProfile_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ContainerServiceNetworkProfile) DeepCopyInto(out *ContainerServiceNetworkProfile) { + *out = *in + if in.AdvancedNetworking != nil { + in, out := &in.AdvancedNetworking, &out.AdvancedNetworking + *out = new(AdvancedNetworking) + (*in).DeepCopyInto(*out) + } + if in.DnsServiceIP != nil { + in, out := &in.DnsServiceIP, &out.DnsServiceIP + *out = new(string) + **out = **in + } + if in.IpFamilies != nil { + in, out := &in.IpFamilies, &out.IpFamilies + *out = make([]ContainerServiceNetworkProfile_IpFamilies, len(*in)) + copy(*out, *in) + } + if in.LoadBalancerProfile != nil { + in, out := &in.LoadBalancerProfile, &out.LoadBalancerProfile + *out = new(ManagedClusterLoadBalancerProfile) + (*in).DeepCopyInto(*out) + } + if in.LoadBalancerSku != nil { + in, out := &in.LoadBalancerSku, &out.LoadBalancerSku + *out = new(ContainerServiceNetworkProfile_LoadBalancerSku) + **out = **in + } + if in.NatGatewayProfile != nil { + in, out := &in.NatGatewayProfile, &out.NatGatewayProfile + *out = new(ManagedClusterNATGatewayProfile) + (*in).DeepCopyInto(*out) + } + if in.NetworkDataplane != nil { + in, out := &in.NetworkDataplane, &out.NetworkDataplane + *out = new(ContainerServiceNetworkProfile_NetworkDataplane) + **out = **in + } + if in.NetworkMode != nil { + in, out := &in.NetworkMode, &out.NetworkMode + *out = new(ContainerServiceNetworkProfile_NetworkMode) + **out = **in + } + if in.NetworkPlugin != nil { + in, out := &in.NetworkPlugin, &out.NetworkPlugin + *out = new(ContainerServiceNetworkProfile_NetworkPlugin) + **out = **in + } + if in.NetworkPluginMode != nil { + in, out := &in.NetworkPluginMode, &out.NetworkPluginMode + *out = new(ContainerServiceNetworkProfile_NetworkPluginMode) + **out = **in + } + if in.NetworkPolicy != nil { + in, out := &in.NetworkPolicy, &out.NetworkPolicy + *out = new(ContainerServiceNetworkProfile_NetworkPolicy) + **out = **in + } + if in.OutboundType != nil { + in, out := &in.OutboundType, &out.OutboundType + *out = new(ContainerServiceNetworkProfile_OutboundType) + **out = **in + } + if in.PodCidr != nil { + in, out := &in.PodCidr, &out.PodCidr + *out = new(string) + **out = **in + } + if in.PodCidrs != nil { + in, out := &in.PodCidrs, &out.PodCidrs + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.ServiceCidr != nil { + in, out := &in.ServiceCidr, &out.ServiceCidr + *out = new(string) + **out = **in + } + if in.ServiceCidrs != nil { + in, out := &in.ServiceCidrs, &out.ServiceCidrs + *out = make([]string, len(*in)) + copy(*out, *in) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerServiceNetworkProfile. +func (in *ContainerServiceNetworkProfile) DeepCopy() *ContainerServiceNetworkProfile { + if in == nil { + return nil + } + out := new(ContainerServiceNetworkProfile) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ContainerServiceNetworkProfile_STATUS) DeepCopyInto(out *ContainerServiceNetworkProfile_STATUS) { + *out = *in + if in.AdvancedNetworking != nil { + in, out := &in.AdvancedNetworking, &out.AdvancedNetworking + *out = new(AdvancedNetworking_STATUS) + (*in).DeepCopyInto(*out) + } + if in.DnsServiceIP != nil { + in, out := &in.DnsServiceIP, &out.DnsServiceIP + *out = new(string) + **out = **in + } + if in.IpFamilies != nil { + in, out := &in.IpFamilies, &out.IpFamilies + *out = make([]ContainerServiceNetworkProfile_IpFamilies_STATUS, len(*in)) + copy(*out, *in) + } + if in.LoadBalancerProfile != nil { + in, out := &in.LoadBalancerProfile, &out.LoadBalancerProfile + *out = new(ManagedClusterLoadBalancerProfile_STATUS) + (*in).DeepCopyInto(*out) + } + if in.LoadBalancerSku != nil { + in, out := &in.LoadBalancerSku, &out.LoadBalancerSku + *out = new(ContainerServiceNetworkProfile_LoadBalancerSku_STATUS) + **out = **in + } + if in.NatGatewayProfile != nil { + in, out := &in.NatGatewayProfile, &out.NatGatewayProfile + *out = new(ManagedClusterNATGatewayProfile_STATUS) + (*in).DeepCopyInto(*out) + } + if in.NetworkDataplane != nil { + in, out := &in.NetworkDataplane, &out.NetworkDataplane + *out = new(ContainerServiceNetworkProfile_NetworkDataplane_STATUS) + **out = **in + } + if in.NetworkMode != nil { + in, out := &in.NetworkMode, &out.NetworkMode + *out = new(ContainerServiceNetworkProfile_NetworkMode_STATUS) + **out = **in + } + if in.NetworkPlugin != nil { + in, out := &in.NetworkPlugin, &out.NetworkPlugin + *out = new(ContainerServiceNetworkProfile_NetworkPlugin_STATUS) + **out = **in + } + if in.NetworkPluginMode != nil { + in, out := &in.NetworkPluginMode, &out.NetworkPluginMode + *out = new(ContainerServiceNetworkProfile_NetworkPluginMode_STATUS) + **out = **in + } + if in.NetworkPolicy != nil { + in, out := &in.NetworkPolicy, &out.NetworkPolicy + *out = new(ContainerServiceNetworkProfile_NetworkPolicy_STATUS) + **out = **in + } + if in.OutboundType != nil { + in, out := &in.OutboundType, &out.OutboundType + *out = new(ContainerServiceNetworkProfile_OutboundType_STATUS) + **out = **in + } + if in.PodCidr != nil { + in, out := &in.PodCidr, &out.PodCidr + *out = new(string) + **out = **in + } + if in.PodCidrs != nil { + in, out := &in.PodCidrs, &out.PodCidrs + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.ServiceCidr != nil { + in, out := &in.ServiceCidr, &out.ServiceCidr + *out = new(string) + **out = **in + } + if in.ServiceCidrs != nil { + in, out := &in.ServiceCidrs, &out.ServiceCidrs + *out = make([]string, len(*in)) + copy(*out, *in) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerServiceNetworkProfile_STATUS. +func (in *ContainerServiceNetworkProfile_STATUS) DeepCopy() *ContainerServiceNetworkProfile_STATUS { + if in == nil { + return nil + } + out := new(ContainerServiceNetworkProfile_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ContainerServiceSshConfiguration) DeepCopyInto(out *ContainerServiceSshConfiguration) { + *out = *in + if in.PublicKeys != nil { + in, out := &in.PublicKeys, &out.PublicKeys + *out = make([]ContainerServiceSshPublicKey, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerServiceSshConfiguration. +func (in *ContainerServiceSshConfiguration) DeepCopy() *ContainerServiceSshConfiguration { + if in == nil { + return nil + } + out := new(ContainerServiceSshConfiguration) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ContainerServiceSshConfiguration_STATUS) DeepCopyInto(out *ContainerServiceSshConfiguration_STATUS) { + *out = *in + if in.PublicKeys != nil { + in, out := &in.PublicKeys, &out.PublicKeys + *out = make([]ContainerServiceSshPublicKey_STATUS, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerServiceSshConfiguration_STATUS. +func (in *ContainerServiceSshConfiguration_STATUS) DeepCopy() *ContainerServiceSshConfiguration_STATUS { + if in == nil { + return nil + } + out := new(ContainerServiceSshConfiguration_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ContainerServiceSshPublicKey) DeepCopyInto(out *ContainerServiceSshPublicKey) { + *out = *in + if in.KeyData != nil { + in, out := &in.KeyData, &out.KeyData + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerServiceSshPublicKey. +func (in *ContainerServiceSshPublicKey) DeepCopy() *ContainerServiceSshPublicKey { + if in == nil { + return nil + } + out := new(ContainerServiceSshPublicKey) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ContainerServiceSshPublicKey_STATUS) DeepCopyInto(out *ContainerServiceSshPublicKey_STATUS) { + *out = *in + if in.KeyData != nil { + in, out := &in.KeyData, &out.KeyData + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerServiceSshPublicKey_STATUS. +func (in *ContainerServiceSshPublicKey_STATUS) DeepCopy() *ContainerServiceSshPublicKey_STATUS { + if in == nil { + return nil + } + out := new(ContainerServiceSshPublicKey_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CreationData) DeepCopyInto(out *CreationData) { + *out = *in + if in.SourceResourceReference != nil { + in, out := &in.SourceResourceReference, &out.SourceResourceReference + *out = new(genruntime.ResourceReference) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CreationData. +func (in *CreationData) DeepCopy() *CreationData { + if in == nil { + return nil + } + out := new(CreationData) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CreationData_STATUS) DeepCopyInto(out *CreationData_STATUS) { + *out = *in + if in.SourceResourceId != nil { + in, out := &in.SourceResourceId, &out.SourceResourceId + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CreationData_STATUS. +func (in *CreationData_STATUS) DeepCopy() *CreationData_STATUS { + if in == nil { + return nil + } + out := new(CreationData_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DailySchedule) DeepCopyInto(out *DailySchedule) { + *out = *in + if in.IntervalDays != nil { + in, out := &in.IntervalDays, &out.IntervalDays + *out = new(int) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DailySchedule. +func (in *DailySchedule) DeepCopy() *DailySchedule { + if in == nil { + return nil + } + out := new(DailySchedule) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DailySchedule_STATUS) DeepCopyInto(out *DailySchedule_STATUS) { + *out = *in + if in.IntervalDays != nil { + in, out := &in.IntervalDays, &out.IntervalDays + *out = new(int) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DailySchedule_STATUS. +func (in *DailySchedule_STATUS) DeepCopy() *DailySchedule_STATUS { + if in == nil { + return nil + } + out := new(DailySchedule_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DateSpan) DeepCopyInto(out *DateSpan) { + *out = *in + if in.End != nil { + in, out := &in.End, &out.End + *out = new(string) + **out = **in + } + if in.Start != nil { + in, out := &in.Start, &out.Start + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DateSpan. +func (in *DateSpan) DeepCopy() *DateSpan { + if in == nil { + return nil + } + out := new(DateSpan) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DateSpan_STATUS) DeepCopyInto(out *DateSpan_STATUS) { + *out = *in + if in.End != nil { + in, out := &in.End, &out.End + *out = new(string) + **out = **in + } + if in.Start != nil { + in, out := &in.Start, &out.Start + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DateSpan_STATUS. +func (in *DateSpan_STATUS) DeepCopy() *DateSpan_STATUS { + if in == nil { + return nil + } + out := new(DateSpan_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DelegatedResource) DeepCopyInto(out *DelegatedResource) { + *out = *in + if in.Location != nil { + in, out := &in.Location, &out.Location + *out = new(string) + **out = **in + } + if in.ReferralResource != nil { + in, out := &in.ReferralResource, &out.ReferralResource + *out = new(string) + **out = **in + } + if in.ResourceReference != nil { + in, out := &in.ResourceReference, &out.ResourceReference + *out = new(genruntime.ResourceReference) + **out = **in + } + if in.TenantId != nil { + in, out := &in.TenantId, &out.TenantId + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DelegatedResource. +func (in *DelegatedResource) DeepCopy() *DelegatedResource { + if in == nil { + return nil + } + out := new(DelegatedResource) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DelegatedResource_STATUS) DeepCopyInto(out *DelegatedResource_STATUS) { + *out = *in + if in.Location != nil { + in, out := &in.Location, &out.Location + *out = new(string) + **out = **in + } + if in.ReferralResource != nil { + in, out := &in.ReferralResource, &out.ReferralResource + *out = new(string) + **out = **in + } + if in.ResourceId != nil { + in, out := &in.ResourceId, &out.ResourceId + *out = new(string) + **out = **in + } + if in.TenantId != nil { + in, out := &in.TenantId, &out.TenantId + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DelegatedResource_STATUS. +func (in *DelegatedResource_STATUS) DeepCopy() *DelegatedResource_STATUS { + if in == nil { + return nil + } + out := new(DelegatedResource_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ExtendedLocation) DeepCopyInto(out *ExtendedLocation) { + *out = *in + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Type != nil { + in, out := &in.Type, &out.Type + *out = new(ExtendedLocationType) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExtendedLocation. +func (in *ExtendedLocation) DeepCopy() *ExtendedLocation { + if in == nil { + return nil + } + out := new(ExtendedLocation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ExtendedLocation_STATUS) DeepCopyInto(out *ExtendedLocation_STATUS) { + *out = *in + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Type != nil { + in, out := &in.Type, &out.Type + *out = new(ExtendedLocationType_STATUS) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExtendedLocation_STATUS. +func (in *ExtendedLocation_STATUS) DeepCopy() *ExtendedLocation_STATUS { + if in == nil { + return nil + } + out := new(ExtendedLocation_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IPTag) DeepCopyInto(out *IPTag) { + *out = *in + if in.IpTagType != nil { + in, out := &in.IpTagType, &out.IpTagType + *out = new(string) + **out = **in + } + if in.Tag != nil { + in, out := &in.Tag, &out.Tag + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPTag. +func (in *IPTag) DeepCopy() *IPTag { + if in == nil { + return nil + } + out := new(IPTag) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IPTag_STATUS) DeepCopyInto(out *IPTag_STATUS) { + *out = *in + if in.IpTagType != nil { + in, out := &in.IpTagType, &out.IpTagType + *out = new(string) + **out = **in + } + if in.Tag != nil { + in, out := &in.Tag, &out.Tag + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPTag_STATUS. +func (in *IPTag_STATUS) DeepCopy() *IPTag_STATUS { + if in == nil { + return nil + } + out := new(IPTag_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IstioCertificateAuthority) DeepCopyInto(out *IstioCertificateAuthority) { + *out = *in + if in.Plugin != nil { + in, out := &in.Plugin, &out.Plugin + *out = new(IstioPluginCertificateAuthority) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IstioCertificateAuthority. +func (in *IstioCertificateAuthority) DeepCopy() *IstioCertificateAuthority { + if in == nil { + return nil + } + out := new(IstioCertificateAuthority) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IstioCertificateAuthority_STATUS) DeepCopyInto(out *IstioCertificateAuthority_STATUS) { + *out = *in + if in.Plugin != nil { + in, out := &in.Plugin, &out.Plugin + *out = new(IstioPluginCertificateAuthority_STATUS) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IstioCertificateAuthority_STATUS. +func (in *IstioCertificateAuthority_STATUS) DeepCopy() *IstioCertificateAuthority_STATUS { + if in == nil { + return nil + } + out := new(IstioCertificateAuthority_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IstioComponents) DeepCopyInto(out *IstioComponents) { + *out = *in + if in.EgressGateways != nil { + in, out := &in.EgressGateways, &out.EgressGateways + *out = make([]IstioEgressGateway, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.IngressGateways != nil { + in, out := &in.IngressGateways, &out.IngressGateways + *out = make([]IstioIngressGateway, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IstioComponents. +func (in *IstioComponents) DeepCopy() *IstioComponents { + if in == nil { + return nil + } + out := new(IstioComponents) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IstioComponents_STATUS) DeepCopyInto(out *IstioComponents_STATUS) { + *out = *in + if in.EgressGateways != nil { + in, out := &in.EgressGateways, &out.EgressGateways + *out = make([]IstioEgressGateway_STATUS, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.IngressGateways != nil { + in, out := &in.IngressGateways, &out.IngressGateways + *out = make([]IstioIngressGateway_STATUS, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IstioComponents_STATUS. +func (in *IstioComponents_STATUS) DeepCopy() *IstioComponents_STATUS { + if in == nil { + return nil + } + out := new(IstioComponents_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IstioEgressGateway) DeepCopyInto(out *IstioEgressGateway) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IstioEgressGateway. +func (in *IstioEgressGateway) DeepCopy() *IstioEgressGateway { + if in == nil { + return nil + } + out := new(IstioEgressGateway) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IstioEgressGateway_STATUS) DeepCopyInto(out *IstioEgressGateway_STATUS) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IstioEgressGateway_STATUS. +func (in *IstioEgressGateway_STATUS) DeepCopy() *IstioEgressGateway_STATUS { + if in == nil { + return nil + } + out := new(IstioEgressGateway_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IstioIngressGateway) DeepCopyInto(out *IstioIngressGateway) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.Mode != nil { + in, out := &in.Mode, &out.Mode + *out = new(IstioIngressGateway_Mode) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IstioIngressGateway. +func (in *IstioIngressGateway) DeepCopy() *IstioIngressGateway { + if in == nil { + return nil + } + out := new(IstioIngressGateway) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IstioIngressGateway_STATUS) DeepCopyInto(out *IstioIngressGateway_STATUS) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.Mode != nil { + in, out := &in.Mode, &out.Mode + *out = new(IstioIngressGateway_Mode_STATUS) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IstioIngressGateway_STATUS. +func (in *IstioIngressGateway_STATUS) DeepCopy() *IstioIngressGateway_STATUS { + if in == nil { + return nil + } + out := new(IstioIngressGateway_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IstioPluginCertificateAuthority) DeepCopyInto(out *IstioPluginCertificateAuthority) { + *out = *in + if in.CertChainObjectName != nil { + in, out := &in.CertChainObjectName, &out.CertChainObjectName + *out = new(string) + **out = **in + } + if in.CertObjectName != nil { + in, out := &in.CertObjectName, &out.CertObjectName + *out = new(string) + **out = **in + } + if in.KeyObjectName != nil { + in, out := &in.KeyObjectName, &out.KeyObjectName + *out = new(string) + **out = **in + } + if in.KeyVaultReference != nil { + in, out := &in.KeyVaultReference, &out.KeyVaultReference + *out = new(genruntime.ResourceReference) + **out = **in + } + if in.RootCertObjectName != nil { + in, out := &in.RootCertObjectName, &out.RootCertObjectName + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IstioPluginCertificateAuthority. +func (in *IstioPluginCertificateAuthority) DeepCopy() *IstioPluginCertificateAuthority { + if in == nil { + return nil + } + out := new(IstioPluginCertificateAuthority) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IstioPluginCertificateAuthority_STATUS) DeepCopyInto(out *IstioPluginCertificateAuthority_STATUS) { + *out = *in + if in.CertChainObjectName != nil { + in, out := &in.CertChainObjectName, &out.CertChainObjectName + *out = new(string) + **out = **in + } + if in.CertObjectName != nil { + in, out := &in.CertObjectName, &out.CertObjectName + *out = new(string) + **out = **in + } + if in.KeyObjectName != nil { + in, out := &in.KeyObjectName, &out.KeyObjectName + *out = new(string) + **out = **in + } + if in.KeyVaultId != nil { + in, out := &in.KeyVaultId, &out.KeyVaultId + *out = new(string) + **out = **in + } + if in.RootCertObjectName != nil { + in, out := &in.RootCertObjectName, &out.RootCertObjectName + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IstioPluginCertificateAuthority_STATUS. +func (in *IstioPluginCertificateAuthority_STATUS) DeepCopy() *IstioPluginCertificateAuthority_STATUS { + if in == nil { + return nil + } + out := new(IstioPluginCertificateAuthority_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IstioServiceMesh) DeepCopyInto(out *IstioServiceMesh) { + *out = *in + if in.CertificateAuthority != nil { + in, out := &in.CertificateAuthority, &out.CertificateAuthority + *out = new(IstioCertificateAuthority) + (*in).DeepCopyInto(*out) + } + if in.Components != nil { + in, out := &in.Components, &out.Components + *out = new(IstioComponents) + (*in).DeepCopyInto(*out) + } + if in.Revisions != nil { + in, out := &in.Revisions, &out.Revisions + *out = make([]string, len(*in)) + copy(*out, *in) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IstioServiceMesh. +func (in *IstioServiceMesh) DeepCopy() *IstioServiceMesh { + if in == nil { + return nil + } + out := new(IstioServiceMesh) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IstioServiceMesh_STATUS) DeepCopyInto(out *IstioServiceMesh_STATUS) { + *out = *in + if in.CertificateAuthority != nil { + in, out := &in.CertificateAuthority, &out.CertificateAuthority + *out = new(IstioCertificateAuthority_STATUS) + (*in).DeepCopyInto(*out) + } + if in.Components != nil { + in, out := &in.Components, &out.Components + *out = new(IstioComponents_STATUS) + (*in).DeepCopyInto(*out) + } + if in.Revisions != nil { + in, out := &in.Revisions, &out.Revisions + *out = make([]string, len(*in)) + copy(*out, *in) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IstioServiceMesh_STATUS. +func (in *IstioServiceMesh_STATUS) DeepCopy() *IstioServiceMesh_STATUS { + if in == nil { + return nil + } + out := new(IstioServiceMesh_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *KubeletConfig) DeepCopyInto(out *KubeletConfig) { + *out = *in + if in.AllowedUnsafeSysctls != nil { + in, out := &in.AllowedUnsafeSysctls, &out.AllowedUnsafeSysctls + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.ContainerLogMaxFiles != nil { + in, out := &in.ContainerLogMaxFiles, &out.ContainerLogMaxFiles + *out = new(int) + **out = **in + } + if in.ContainerLogMaxSizeMB != nil { + in, out := &in.ContainerLogMaxSizeMB, &out.ContainerLogMaxSizeMB + *out = new(int) + **out = **in + } + if in.CpuCfsQuota != nil { + in, out := &in.CpuCfsQuota, &out.CpuCfsQuota + *out = new(bool) + **out = **in + } + if in.CpuCfsQuotaPeriod != nil { + in, out := &in.CpuCfsQuotaPeriod, &out.CpuCfsQuotaPeriod + *out = new(string) + **out = **in + } + if in.CpuManagerPolicy != nil { + in, out := &in.CpuManagerPolicy, &out.CpuManagerPolicy + *out = new(string) + **out = **in + } + if in.FailSwapOn != nil { + in, out := &in.FailSwapOn, &out.FailSwapOn + *out = new(bool) + **out = **in + } + if in.ImageGcHighThreshold != nil { + in, out := &in.ImageGcHighThreshold, &out.ImageGcHighThreshold + *out = new(int) + **out = **in + } + if in.ImageGcLowThreshold != nil { + in, out := &in.ImageGcLowThreshold, &out.ImageGcLowThreshold + *out = new(int) + **out = **in + } + if in.PodMaxPids != nil { + in, out := &in.PodMaxPids, &out.PodMaxPids + *out = new(int) + **out = **in + } + if in.TopologyManagerPolicy != nil { + in, out := &in.TopologyManagerPolicy, &out.TopologyManagerPolicy + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeletConfig. +func (in *KubeletConfig) DeepCopy() *KubeletConfig { + if in == nil { + return nil + } + out := new(KubeletConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *KubeletConfig_STATUS) DeepCopyInto(out *KubeletConfig_STATUS) { + *out = *in + if in.AllowedUnsafeSysctls != nil { + in, out := &in.AllowedUnsafeSysctls, &out.AllowedUnsafeSysctls + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.ContainerLogMaxFiles != nil { + in, out := &in.ContainerLogMaxFiles, &out.ContainerLogMaxFiles + *out = new(int) + **out = **in + } + if in.ContainerLogMaxSizeMB != nil { + in, out := &in.ContainerLogMaxSizeMB, &out.ContainerLogMaxSizeMB + *out = new(int) + **out = **in + } + if in.CpuCfsQuota != nil { + in, out := &in.CpuCfsQuota, &out.CpuCfsQuota + *out = new(bool) + **out = **in + } + if in.CpuCfsQuotaPeriod != nil { + in, out := &in.CpuCfsQuotaPeriod, &out.CpuCfsQuotaPeriod + *out = new(string) + **out = **in + } + if in.CpuManagerPolicy != nil { + in, out := &in.CpuManagerPolicy, &out.CpuManagerPolicy + *out = new(string) + **out = **in + } + if in.FailSwapOn != nil { + in, out := &in.FailSwapOn, &out.FailSwapOn + *out = new(bool) + **out = **in + } + if in.ImageGcHighThreshold != nil { + in, out := &in.ImageGcHighThreshold, &out.ImageGcHighThreshold + *out = new(int) + **out = **in + } + if in.ImageGcLowThreshold != nil { + in, out := &in.ImageGcLowThreshold, &out.ImageGcLowThreshold + *out = new(int) + **out = **in + } + if in.PodMaxPids != nil { + in, out := &in.PodMaxPids, &out.PodMaxPids + *out = new(int) + **out = **in + } + if in.TopologyManagerPolicy != nil { + in, out := &in.TopologyManagerPolicy, &out.TopologyManagerPolicy + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeletConfig_STATUS. +func (in *KubeletConfig_STATUS) DeepCopy() *KubeletConfig_STATUS { + if in == nil { + return nil + } + out := new(KubeletConfig_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *LinuxOSConfig) DeepCopyInto(out *LinuxOSConfig) { + *out = *in + if in.SwapFileSizeMB != nil { + in, out := &in.SwapFileSizeMB, &out.SwapFileSizeMB + *out = new(int) + **out = **in + } + if in.Sysctls != nil { + in, out := &in.Sysctls, &out.Sysctls + *out = new(SysctlConfig) + (*in).DeepCopyInto(*out) + } + if in.TransparentHugePageDefrag != nil { + in, out := &in.TransparentHugePageDefrag, &out.TransparentHugePageDefrag + *out = new(string) + **out = **in + } + if in.TransparentHugePageEnabled != nil { + in, out := &in.TransparentHugePageEnabled, &out.TransparentHugePageEnabled + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinuxOSConfig. +func (in *LinuxOSConfig) DeepCopy() *LinuxOSConfig { + if in == nil { + return nil + } + out := new(LinuxOSConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *LinuxOSConfig_STATUS) DeepCopyInto(out *LinuxOSConfig_STATUS) { + *out = *in + if in.SwapFileSizeMB != nil { + in, out := &in.SwapFileSizeMB, &out.SwapFileSizeMB + *out = new(int) + **out = **in + } + if in.Sysctls != nil { + in, out := &in.Sysctls, &out.Sysctls + *out = new(SysctlConfig_STATUS) + (*in).DeepCopyInto(*out) + } + if in.TransparentHugePageDefrag != nil { + in, out := &in.TransparentHugePageDefrag, &out.TransparentHugePageDefrag + *out = new(string) + **out = **in + } + if in.TransparentHugePageEnabled != nil { + in, out := &in.TransparentHugePageEnabled, &out.TransparentHugePageEnabled + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinuxOSConfig_STATUS. +func (in *LinuxOSConfig_STATUS) DeepCopy() *LinuxOSConfig_STATUS { + if in == nil { + return nil + } + out := new(LinuxOSConfig_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MaintenanceConfiguration) DeepCopyInto(out *MaintenanceConfiguration) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + in.Spec.DeepCopyInto(&out.Spec) + in.Status.DeepCopyInto(&out.Status) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MaintenanceConfiguration. +func (in *MaintenanceConfiguration) DeepCopy() *MaintenanceConfiguration { + if in == nil { + return nil + } + out := new(MaintenanceConfiguration) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *MaintenanceConfiguration) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MaintenanceConfigurationList) DeepCopyInto(out *MaintenanceConfigurationList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]MaintenanceConfiguration, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MaintenanceConfigurationList. +func (in *MaintenanceConfigurationList) DeepCopy() *MaintenanceConfigurationList { + if in == nil { + return nil + } + out := new(MaintenanceConfigurationList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *MaintenanceConfigurationList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MaintenanceConfiguration_STATUS) DeepCopyInto(out *MaintenanceConfiguration_STATUS) { + *out = *in + if in.Conditions != nil { + in, out := &in.Conditions, &out.Conditions + *out = make([]conditions.Condition, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Id != nil { + in, out := &in.Id, &out.Id + *out = new(string) + **out = **in + } + if in.MaintenanceWindow != nil { + in, out := &in.MaintenanceWindow, &out.MaintenanceWindow + *out = new(MaintenanceWindow_STATUS) + (*in).DeepCopyInto(*out) + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.NotAllowedTime != nil { + in, out := &in.NotAllowedTime, &out.NotAllowedTime + *out = make([]TimeSpan_STATUS, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.SystemData != nil { + in, out := &in.SystemData, &out.SystemData + *out = new(SystemData_STATUS) + (*in).DeepCopyInto(*out) + } + if in.TimeInWeek != nil { + in, out := &in.TimeInWeek, &out.TimeInWeek + *out = make([]TimeInWeek_STATUS, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Type != nil { + in, out := &in.Type, &out.Type + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MaintenanceConfiguration_STATUS. +func (in *MaintenanceConfiguration_STATUS) DeepCopy() *MaintenanceConfiguration_STATUS { + if in == nil { + return nil + } + out := new(MaintenanceConfiguration_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MaintenanceConfiguration_Spec) DeepCopyInto(out *MaintenanceConfiguration_Spec) { + *out = *in + if in.MaintenanceWindow != nil { + in, out := &in.MaintenanceWindow, &out.MaintenanceWindow + *out = new(MaintenanceWindow) + (*in).DeepCopyInto(*out) + } + if in.NotAllowedTime != nil { + in, out := &in.NotAllowedTime, &out.NotAllowedTime + *out = make([]TimeSpan, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Owner != nil { + in, out := &in.Owner, &out.Owner + *out = new(genruntime.KnownResourceReference) + **out = **in + } + if in.TimeInWeek != nil { + in, out := &in.TimeInWeek, &out.TimeInWeek + *out = make([]TimeInWeek, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MaintenanceConfiguration_Spec. +func (in *MaintenanceConfiguration_Spec) DeepCopy() *MaintenanceConfiguration_Spec { + if in == nil { + return nil + } + out := new(MaintenanceConfiguration_Spec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MaintenanceWindow) DeepCopyInto(out *MaintenanceWindow) { + *out = *in + if in.DurationHours != nil { + in, out := &in.DurationHours, &out.DurationHours + *out = new(int) + **out = **in + } + if in.NotAllowedDates != nil { + in, out := &in.NotAllowedDates, &out.NotAllowedDates + *out = make([]DateSpan, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Schedule != nil { + in, out := &in.Schedule, &out.Schedule + *out = new(Schedule) + (*in).DeepCopyInto(*out) + } + if in.StartDate != nil { + in, out := &in.StartDate, &out.StartDate + *out = new(string) + **out = **in + } + if in.StartTime != nil { + in, out := &in.StartTime, &out.StartTime + *out = new(string) + **out = **in + } + if in.UtcOffset != nil { + in, out := &in.UtcOffset, &out.UtcOffset + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MaintenanceWindow. +func (in *MaintenanceWindow) DeepCopy() *MaintenanceWindow { + if in == nil { + return nil + } + out := new(MaintenanceWindow) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MaintenanceWindow_STATUS) DeepCopyInto(out *MaintenanceWindow_STATUS) { + *out = *in + if in.DurationHours != nil { + in, out := &in.DurationHours, &out.DurationHours + *out = new(int) + **out = **in + } + if in.NotAllowedDates != nil { + in, out := &in.NotAllowedDates, &out.NotAllowedDates + *out = make([]DateSpan_STATUS, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Schedule != nil { + in, out := &in.Schedule, &out.Schedule + *out = new(Schedule_STATUS) + (*in).DeepCopyInto(*out) + } + if in.StartDate != nil { + in, out := &in.StartDate, &out.StartDate + *out = new(string) + **out = **in + } + if in.StartTime != nil { + in, out := &in.StartTime, &out.StartTime + *out = new(string) + **out = **in + } + if in.UtcOffset != nil { + in, out := &in.UtcOffset, &out.UtcOffset + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MaintenanceWindow_STATUS. +func (in *MaintenanceWindow_STATUS) DeepCopy() *MaintenanceWindow_STATUS { + if in == nil { + return nil + } + out := new(MaintenanceWindow_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedCluster) DeepCopyInto(out *ManagedCluster) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + in.Spec.DeepCopyInto(&out.Spec) + in.Status.DeepCopyInto(&out.Status) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedCluster. +func (in *ManagedCluster) DeepCopy() *ManagedCluster { + if in == nil { + return nil + } + out := new(ManagedCluster) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ManagedCluster) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterAADProfile) DeepCopyInto(out *ManagedClusterAADProfile) { + *out = *in + if in.AdminGroupObjectIDs != nil { + in, out := &in.AdminGroupObjectIDs, &out.AdminGroupObjectIDs + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.ClientAppID != nil { + in, out := &in.ClientAppID, &out.ClientAppID + *out = new(string) + **out = **in + } + if in.EnableAzureRBAC != nil { + in, out := &in.EnableAzureRBAC, &out.EnableAzureRBAC + *out = new(bool) + **out = **in + } + if in.Managed != nil { + in, out := &in.Managed, &out.Managed + *out = new(bool) + **out = **in + } + if in.ServerAppID != nil { + in, out := &in.ServerAppID, &out.ServerAppID + *out = new(string) + **out = **in + } + if in.ServerAppSecret != nil { + in, out := &in.ServerAppSecret, &out.ServerAppSecret + *out = new(string) + **out = **in + } + if in.TenantID != nil { + in, out := &in.TenantID, &out.TenantID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterAADProfile. +func (in *ManagedClusterAADProfile) DeepCopy() *ManagedClusterAADProfile { + if in == nil { + return nil + } + out := new(ManagedClusterAADProfile) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterAADProfile_STATUS) DeepCopyInto(out *ManagedClusterAADProfile_STATUS) { + *out = *in + if in.AdminGroupObjectIDs != nil { + in, out := &in.AdminGroupObjectIDs, &out.AdminGroupObjectIDs + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.ClientAppID != nil { + in, out := &in.ClientAppID, &out.ClientAppID + *out = new(string) + **out = **in + } + if in.EnableAzureRBAC != nil { + in, out := &in.EnableAzureRBAC, &out.EnableAzureRBAC + *out = new(bool) + **out = **in + } + if in.Managed != nil { + in, out := &in.Managed, &out.Managed + *out = new(bool) + **out = **in + } + if in.ServerAppID != nil { + in, out := &in.ServerAppID, &out.ServerAppID + *out = new(string) + **out = **in + } + if in.ServerAppSecret != nil { + in, out := &in.ServerAppSecret, &out.ServerAppSecret + *out = new(string) + **out = **in + } + if in.TenantID != nil { + in, out := &in.TenantID, &out.TenantID + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterAADProfile_STATUS. +func (in *ManagedClusterAADProfile_STATUS) DeepCopy() *ManagedClusterAADProfile_STATUS { + if in == nil { + return nil + } + out := new(ManagedClusterAADProfile_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterAPIServerAccessProfile) DeepCopyInto(out *ManagedClusterAPIServerAccessProfile) { + *out = *in + if in.AuthorizedIPRanges != nil { + in, out := &in.AuthorizedIPRanges, &out.AuthorizedIPRanges + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.DisableRunCommand != nil { + in, out := &in.DisableRunCommand, &out.DisableRunCommand + *out = new(bool) + **out = **in + } + if in.EnablePrivateCluster != nil { + in, out := &in.EnablePrivateCluster, &out.EnablePrivateCluster + *out = new(bool) + **out = **in + } + if in.EnablePrivateClusterPublicFQDN != nil { + in, out := &in.EnablePrivateClusterPublicFQDN, &out.EnablePrivateClusterPublicFQDN + *out = new(bool) + **out = **in + } + if in.PrivateDNSZone != nil { + in, out := &in.PrivateDNSZone, &out.PrivateDNSZone + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterAPIServerAccessProfile. +func (in *ManagedClusterAPIServerAccessProfile) DeepCopy() *ManagedClusterAPIServerAccessProfile { + if in == nil { + return nil + } + out := new(ManagedClusterAPIServerAccessProfile) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterAPIServerAccessProfile_STATUS) DeepCopyInto(out *ManagedClusterAPIServerAccessProfile_STATUS) { + *out = *in + if in.AuthorizedIPRanges != nil { + in, out := &in.AuthorizedIPRanges, &out.AuthorizedIPRanges + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.DisableRunCommand != nil { + in, out := &in.DisableRunCommand, &out.DisableRunCommand + *out = new(bool) + **out = **in + } + if in.EnablePrivateCluster != nil { + in, out := &in.EnablePrivateCluster, &out.EnablePrivateCluster + *out = new(bool) + **out = **in + } + if in.EnablePrivateClusterPublicFQDN != nil { + in, out := &in.EnablePrivateClusterPublicFQDN, &out.EnablePrivateClusterPublicFQDN + *out = new(bool) + **out = **in + } + if in.PrivateDNSZone != nil { + in, out := &in.PrivateDNSZone, &out.PrivateDNSZone + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterAPIServerAccessProfile_STATUS. +func (in *ManagedClusterAPIServerAccessProfile_STATUS) DeepCopy() *ManagedClusterAPIServerAccessProfile_STATUS { + if in == nil { + return nil + } + out := new(ManagedClusterAPIServerAccessProfile_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterAddonProfile) DeepCopyInto(out *ManagedClusterAddonProfile) { + *out = *in + if in.Config != nil { + in, out := &in.Config, &out.Config + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterAddonProfile. +func (in *ManagedClusterAddonProfile) DeepCopy() *ManagedClusterAddonProfile { + if in == nil { + return nil + } + out := new(ManagedClusterAddonProfile) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterAddonProfile_STATUS) DeepCopyInto(out *ManagedClusterAddonProfile_STATUS) { + *out = *in + if in.Config != nil { + in, out := &in.Config, &out.Config + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.Identity != nil { + in, out := &in.Identity, &out.Identity + *out = new(UserAssignedIdentity_STATUS) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterAddonProfile_STATUS. +func (in *ManagedClusterAddonProfile_STATUS) DeepCopy() *ManagedClusterAddonProfile_STATUS { + if in == nil { + return nil + } + out := new(ManagedClusterAddonProfile_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterAgentPoolProfile) DeepCopyInto(out *ManagedClusterAgentPoolProfile) { + *out = *in + if in.AvailabilityZones != nil { + in, out := &in.AvailabilityZones, &out.AvailabilityZones + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.CapacityReservationGroupReference != nil { + in, out := &in.CapacityReservationGroupReference, &out.CapacityReservationGroupReference + *out = new(genruntime.ResourceReference) + **out = **in + } + if in.Count != nil { + in, out := &in.Count, &out.Count + *out = new(int) + **out = **in + } + if in.CreationData != nil { + in, out := &in.CreationData, &out.CreationData + *out = new(CreationData) + (*in).DeepCopyInto(*out) + } + if in.EnableAutoScaling != nil { + in, out := &in.EnableAutoScaling, &out.EnableAutoScaling + *out = new(bool) + **out = **in + } + if in.EnableEncryptionAtHost != nil { + in, out := &in.EnableEncryptionAtHost, &out.EnableEncryptionAtHost + *out = new(bool) + **out = **in + } + if in.EnableFIPS != nil { + in, out := &in.EnableFIPS, &out.EnableFIPS + *out = new(bool) + **out = **in + } + if in.EnableNodePublicIP != nil { + in, out := &in.EnableNodePublicIP, &out.EnableNodePublicIP + *out = new(bool) + **out = **in + } + if in.EnableUltraSSD != nil { + in, out := &in.EnableUltraSSD, &out.EnableUltraSSD + *out = new(bool) + **out = **in + } + if in.GpuInstanceProfile != nil { + in, out := &in.GpuInstanceProfile, &out.GpuInstanceProfile + *out = new(GPUInstanceProfile) + **out = **in + } + if in.HostGroupReference != nil { + in, out := &in.HostGroupReference, &out.HostGroupReference + *out = new(genruntime.ResourceReference) + **out = **in + } + if in.KubeletConfig != nil { + in, out := &in.KubeletConfig, &out.KubeletConfig + *out = new(KubeletConfig) + (*in).DeepCopyInto(*out) + } + if in.KubeletDiskType != nil { + in, out := &in.KubeletDiskType, &out.KubeletDiskType + *out = new(KubeletDiskType) + **out = **in + } + if in.LinuxOSConfig != nil { + in, out := &in.LinuxOSConfig, &out.LinuxOSConfig + *out = new(LinuxOSConfig) + (*in).DeepCopyInto(*out) + } + if in.MaxCount != nil { + in, out := &in.MaxCount, &out.MaxCount + *out = new(int) + **out = **in + } + if in.MaxPods != nil { + in, out := &in.MaxPods, &out.MaxPods + *out = new(int) + **out = **in + } + if in.MinCount != nil { + in, out := &in.MinCount, &out.MinCount + *out = new(int) + **out = **in + } + if in.Mode != nil { + in, out := &in.Mode, &out.Mode + *out = new(AgentPoolMode) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.NetworkProfile != nil { + in, out := &in.NetworkProfile, &out.NetworkProfile + *out = new(AgentPoolNetworkProfile) + (*in).DeepCopyInto(*out) + } + if in.NodeLabels != nil { + in, out := &in.NodeLabels, &out.NodeLabels + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.NodePublicIPPrefixReference != nil { + in, out := &in.NodePublicIPPrefixReference, &out.NodePublicIPPrefixReference + *out = new(genruntime.ResourceReference) + **out = **in + } + if in.NodeTaints != nil { + in, out := &in.NodeTaints, &out.NodeTaints + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.OrchestratorVersion != nil { + in, out := &in.OrchestratorVersion, &out.OrchestratorVersion + *out = new(string) + **out = **in + } + if in.OsDiskSizeGB != nil { + in, out := &in.OsDiskSizeGB, &out.OsDiskSizeGB + *out = new(ContainerServiceOSDisk) + **out = **in + } + if in.OsDiskType != nil { + in, out := &in.OsDiskType, &out.OsDiskType + *out = new(OSDiskType) + **out = **in + } + if in.OsSKU != nil { + in, out := &in.OsSKU, &out.OsSKU + *out = new(OSSKU) + **out = **in + } + if in.OsType != nil { + in, out := &in.OsType, &out.OsType + *out = new(OSType) + **out = **in + } + if in.PodSubnetReference != nil { + in, out := &in.PodSubnetReference, &out.PodSubnetReference + *out = new(genruntime.ResourceReference) + **out = **in + } + if in.PowerState != nil { + in, out := &in.PowerState, &out.PowerState + *out = new(PowerState) + (*in).DeepCopyInto(*out) + } + if in.ProximityPlacementGroupReference != nil { + in, out := &in.ProximityPlacementGroupReference, &out.ProximityPlacementGroupReference + *out = new(genruntime.ResourceReference) + **out = **in + } + if in.ScaleDownMode != nil { + in, out := &in.ScaleDownMode, &out.ScaleDownMode + *out = new(ScaleDownMode) + **out = **in + } + if in.ScaleSetEvictionPolicy != nil { + in, out := &in.ScaleSetEvictionPolicy, &out.ScaleSetEvictionPolicy + *out = new(ScaleSetEvictionPolicy) + **out = **in + } + if in.ScaleSetPriority != nil { + in, out := &in.ScaleSetPriority, &out.ScaleSetPriority + *out = new(ScaleSetPriority) + **out = **in + } + if in.SecurityProfile != nil { + in, out := &in.SecurityProfile, &out.SecurityProfile + *out = new(AgentPoolSecurityProfile) + (*in).DeepCopyInto(*out) + } + if in.SpotMaxPrice != nil { + in, out := &in.SpotMaxPrice, &out.SpotMaxPrice + *out = new(float64) + **out = **in + } + if in.Tags != nil { + in, out := &in.Tags, &out.Tags + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.Type != nil { + in, out := &in.Type, &out.Type + *out = new(AgentPoolType) + **out = **in + } + if in.UpgradeSettings != nil { + in, out := &in.UpgradeSettings, &out.UpgradeSettings + *out = new(AgentPoolUpgradeSettings) + (*in).DeepCopyInto(*out) + } + if in.VmSize != nil { + in, out := &in.VmSize, &out.VmSize + *out = new(string) + **out = **in + } + if in.VnetSubnetReference != nil { + in, out := &in.VnetSubnetReference, &out.VnetSubnetReference + *out = new(genruntime.ResourceReference) + **out = **in + } + if in.WindowsProfile != nil { + in, out := &in.WindowsProfile, &out.WindowsProfile + *out = new(AgentPoolWindowsProfile) + (*in).DeepCopyInto(*out) + } + if in.WorkloadRuntime != nil { + in, out := &in.WorkloadRuntime, &out.WorkloadRuntime + *out = new(WorkloadRuntime) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterAgentPoolProfile. +func (in *ManagedClusterAgentPoolProfile) DeepCopy() *ManagedClusterAgentPoolProfile { + if in == nil { + return nil + } + out := new(ManagedClusterAgentPoolProfile) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterAgentPoolProfile_STATUS) DeepCopyInto(out *ManagedClusterAgentPoolProfile_STATUS) { + *out = *in + if in.AvailabilityZones != nil { + in, out := &in.AvailabilityZones, &out.AvailabilityZones + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.CapacityReservationGroupID != nil { + in, out := &in.CapacityReservationGroupID, &out.CapacityReservationGroupID + *out = new(string) + **out = **in + } + if in.Count != nil { + in, out := &in.Count, &out.Count + *out = new(int) + **out = **in + } + if in.CreationData != nil { + in, out := &in.CreationData, &out.CreationData + *out = new(CreationData_STATUS) + (*in).DeepCopyInto(*out) + } + if in.CurrentOrchestratorVersion != nil { + in, out := &in.CurrentOrchestratorVersion, &out.CurrentOrchestratorVersion + *out = new(string) + **out = **in + } + if in.ETag != nil { + in, out := &in.ETag, &out.ETag + *out = new(string) + **out = **in + } + if in.EnableAutoScaling != nil { + in, out := &in.EnableAutoScaling, &out.EnableAutoScaling + *out = new(bool) + **out = **in + } + if in.EnableEncryptionAtHost != nil { + in, out := &in.EnableEncryptionAtHost, &out.EnableEncryptionAtHost + *out = new(bool) + **out = **in + } + if in.EnableFIPS != nil { + in, out := &in.EnableFIPS, &out.EnableFIPS + *out = new(bool) + **out = **in + } + if in.EnableNodePublicIP != nil { + in, out := &in.EnableNodePublicIP, &out.EnableNodePublicIP + *out = new(bool) + **out = **in + } + if in.EnableUltraSSD != nil { + in, out := &in.EnableUltraSSD, &out.EnableUltraSSD + *out = new(bool) + **out = **in + } + if in.GpuInstanceProfile != nil { + in, out := &in.GpuInstanceProfile, &out.GpuInstanceProfile + *out = new(GPUInstanceProfile_STATUS) + **out = **in + } + if in.HostGroupID != nil { + in, out := &in.HostGroupID, &out.HostGroupID + *out = new(string) + **out = **in + } + if in.KubeletConfig != nil { + in, out := &in.KubeletConfig, &out.KubeletConfig + *out = new(KubeletConfig_STATUS) + (*in).DeepCopyInto(*out) + } + if in.KubeletDiskType != nil { + in, out := &in.KubeletDiskType, &out.KubeletDiskType + *out = new(KubeletDiskType_STATUS) + **out = **in + } + if in.LinuxOSConfig != nil { + in, out := &in.LinuxOSConfig, &out.LinuxOSConfig + *out = new(LinuxOSConfig_STATUS) + (*in).DeepCopyInto(*out) + } + if in.MaxCount != nil { + in, out := &in.MaxCount, &out.MaxCount + *out = new(int) + **out = **in + } + if in.MaxPods != nil { + in, out := &in.MaxPods, &out.MaxPods + *out = new(int) + **out = **in + } + if in.MinCount != nil { + in, out := &in.MinCount, &out.MinCount + *out = new(int) + **out = **in + } + if in.Mode != nil { + in, out := &in.Mode, &out.Mode + *out = new(AgentPoolMode_STATUS) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.NetworkProfile != nil { + in, out := &in.NetworkProfile, &out.NetworkProfile + *out = new(AgentPoolNetworkProfile_STATUS) + (*in).DeepCopyInto(*out) + } + if in.NodeImageVersion != nil { + in, out := &in.NodeImageVersion, &out.NodeImageVersion + *out = new(string) + **out = **in + } + if in.NodeLabels != nil { + in, out := &in.NodeLabels, &out.NodeLabels + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.NodePublicIPPrefixID != nil { + in, out := &in.NodePublicIPPrefixID, &out.NodePublicIPPrefixID + *out = new(string) + **out = **in + } + if in.NodeTaints != nil { + in, out := &in.NodeTaints, &out.NodeTaints + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.OrchestratorVersion != nil { + in, out := &in.OrchestratorVersion, &out.OrchestratorVersion + *out = new(string) + **out = **in + } + if in.OsDiskSizeGB != nil { + in, out := &in.OsDiskSizeGB, &out.OsDiskSizeGB + *out = new(int) + **out = **in + } + if in.OsDiskType != nil { + in, out := &in.OsDiskType, &out.OsDiskType + *out = new(OSDiskType_STATUS) + **out = **in + } + if in.OsSKU != nil { + in, out := &in.OsSKU, &out.OsSKU + *out = new(OSSKU_STATUS) + **out = **in + } + if in.OsType != nil { + in, out := &in.OsType, &out.OsType + *out = new(OSType_STATUS) + **out = **in + } + if in.PodSubnetID != nil { + in, out := &in.PodSubnetID, &out.PodSubnetID + *out = new(string) + **out = **in + } + if in.PowerState != nil { + in, out := &in.PowerState, &out.PowerState + *out = new(PowerState_STATUS) + (*in).DeepCopyInto(*out) + } + if in.ProvisioningState != nil { + in, out := &in.ProvisioningState, &out.ProvisioningState + *out = new(string) + **out = **in + } + if in.ProximityPlacementGroupID != nil { + in, out := &in.ProximityPlacementGroupID, &out.ProximityPlacementGroupID + *out = new(string) + **out = **in + } + if in.ScaleDownMode != nil { + in, out := &in.ScaleDownMode, &out.ScaleDownMode + *out = new(ScaleDownMode_STATUS) + **out = **in + } + if in.ScaleSetEvictionPolicy != nil { + in, out := &in.ScaleSetEvictionPolicy, &out.ScaleSetEvictionPolicy + *out = new(ScaleSetEvictionPolicy_STATUS) + **out = **in + } + if in.ScaleSetPriority != nil { + in, out := &in.ScaleSetPriority, &out.ScaleSetPriority + *out = new(ScaleSetPriority_STATUS) + **out = **in + } + if in.SecurityProfile != nil { + in, out := &in.SecurityProfile, &out.SecurityProfile + *out = new(AgentPoolSecurityProfile_STATUS) + (*in).DeepCopyInto(*out) + } + if in.SpotMaxPrice != nil { + in, out := &in.SpotMaxPrice, &out.SpotMaxPrice + *out = new(float64) + **out = **in + } + if in.Tags != nil { + in, out := &in.Tags, &out.Tags + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.Type != nil { + in, out := &in.Type, &out.Type + *out = new(AgentPoolType_STATUS) + **out = **in + } + if in.UpgradeSettings != nil { + in, out := &in.UpgradeSettings, &out.UpgradeSettings + *out = new(AgentPoolUpgradeSettings_STATUS) + (*in).DeepCopyInto(*out) + } + if in.VmSize != nil { + in, out := &in.VmSize, &out.VmSize + *out = new(string) + **out = **in + } + if in.VnetSubnetID != nil { + in, out := &in.VnetSubnetID, &out.VnetSubnetID + *out = new(string) + **out = **in + } + if in.WindowsProfile != nil { + in, out := &in.WindowsProfile, &out.WindowsProfile + *out = new(AgentPoolWindowsProfile_STATUS) + (*in).DeepCopyInto(*out) + } + if in.WorkloadRuntime != nil { + in, out := &in.WorkloadRuntime, &out.WorkloadRuntime + *out = new(WorkloadRuntime_STATUS) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterAgentPoolProfile_STATUS. +func (in *ManagedClusterAgentPoolProfile_STATUS) DeepCopy() *ManagedClusterAgentPoolProfile_STATUS { + if in == nil { + return nil + } + out := new(ManagedClusterAgentPoolProfile_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterAutoUpgradeProfile) DeepCopyInto(out *ManagedClusterAutoUpgradeProfile) { + *out = *in + if in.NodeOSUpgradeChannel != nil { + in, out := &in.NodeOSUpgradeChannel, &out.NodeOSUpgradeChannel + *out = new(ManagedClusterAutoUpgradeProfile_NodeOSUpgradeChannel) + **out = **in + } + if in.UpgradeChannel != nil { + in, out := &in.UpgradeChannel, &out.UpgradeChannel + *out = new(ManagedClusterAutoUpgradeProfile_UpgradeChannel) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterAutoUpgradeProfile. +func (in *ManagedClusterAutoUpgradeProfile) DeepCopy() *ManagedClusterAutoUpgradeProfile { + if in == nil { + return nil + } + out := new(ManagedClusterAutoUpgradeProfile) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterAutoUpgradeProfile_STATUS) DeepCopyInto(out *ManagedClusterAutoUpgradeProfile_STATUS) { + *out = *in + if in.NodeOSUpgradeChannel != nil { + in, out := &in.NodeOSUpgradeChannel, &out.NodeOSUpgradeChannel + *out = new(ManagedClusterAutoUpgradeProfile_NodeOSUpgradeChannel_STATUS) + **out = **in + } + if in.UpgradeChannel != nil { + in, out := &in.UpgradeChannel, &out.UpgradeChannel + *out = new(ManagedClusterAutoUpgradeProfile_UpgradeChannel_STATUS) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterAutoUpgradeProfile_STATUS. +func (in *ManagedClusterAutoUpgradeProfile_STATUS) DeepCopy() *ManagedClusterAutoUpgradeProfile_STATUS { + if in == nil { + return nil + } + out := new(ManagedClusterAutoUpgradeProfile_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterAzureMonitorProfile) DeepCopyInto(out *ManagedClusterAzureMonitorProfile) { + *out = *in + if in.Metrics != nil { + in, out := &in.Metrics, &out.Metrics + *out = new(ManagedClusterAzureMonitorProfileMetrics) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterAzureMonitorProfile. +func (in *ManagedClusterAzureMonitorProfile) DeepCopy() *ManagedClusterAzureMonitorProfile { + if in == nil { + return nil + } + out := new(ManagedClusterAzureMonitorProfile) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterAzureMonitorProfileKubeStateMetrics) DeepCopyInto(out *ManagedClusterAzureMonitorProfileKubeStateMetrics) { + *out = *in + if in.MetricAnnotationsAllowList != nil { + in, out := &in.MetricAnnotationsAllowList, &out.MetricAnnotationsAllowList + *out = new(string) + **out = **in + } + if in.MetricLabelsAllowlist != nil { + in, out := &in.MetricLabelsAllowlist, &out.MetricLabelsAllowlist + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterAzureMonitorProfileKubeStateMetrics. +func (in *ManagedClusterAzureMonitorProfileKubeStateMetrics) DeepCopy() *ManagedClusterAzureMonitorProfileKubeStateMetrics { + if in == nil { + return nil + } + out := new(ManagedClusterAzureMonitorProfileKubeStateMetrics) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS) DeepCopyInto(out *ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS) { + *out = *in + if in.MetricAnnotationsAllowList != nil { + in, out := &in.MetricAnnotationsAllowList, &out.MetricAnnotationsAllowList + *out = new(string) + **out = **in + } + if in.MetricLabelsAllowlist != nil { + in, out := &in.MetricLabelsAllowlist, &out.MetricLabelsAllowlist + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS. +func (in *ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS) DeepCopy() *ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS { + if in == nil { + return nil + } + out := new(ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterAzureMonitorProfileMetrics) DeepCopyInto(out *ManagedClusterAzureMonitorProfileMetrics) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.KubeStateMetrics != nil { + in, out := &in.KubeStateMetrics, &out.KubeStateMetrics + *out = new(ManagedClusterAzureMonitorProfileKubeStateMetrics) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterAzureMonitorProfileMetrics. +func (in *ManagedClusterAzureMonitorProfileMetrics) DeepCopy() *ManagedClusterAzureMonitorProfileMetrics { + if in == nil { + return nil + } + out := new(ManagedClusterAzureMonitorProfileMetrics) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterAzureMonitorProfileMetrics_STATUS) DeepCopyInto(out *ManagedClusterAzureMonitorProfileMetrics_STATUS) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.KubeStateMetrics != nil { + in, out := &in.KubeStateMetrics, &out.KubeStateMetrics + *out = new(ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterAzureMonitorProfileMetrics_STATUS. +func (in *ManagedClusterAzureMonitorProfileMetrics_STATUS) DeepCopy() *ManagedClusterAzureMonitorProfileMetrics_STATUS { + if in == nil { + return nil + } + out := new(ManagedClusterAzureMonitorProfileMetrics_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterAzureMonitorProfile_STATUS) DeepCopyInto(out *ManagedClusterAzureMonitorProfile_STATUS) { + *out = *in + if in.Metrics != nil { + in, out := &in.Metrics, &out.Metrics + *out = new(ManagedClusterAzureMonitorProfileMetrics_STATUS) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterAzureMonitorProfile_STATUS. +func (in *ManagedClusterAzureMonitorProfile_STATUS) DeepCopy() *ManagedClusterAzureMonitorProfile_STATUS { + if in == nil { + return nil + } + out := new(ManagedClusterAzureMonitorProfile_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterCostAnalysis) DeepCopyInto(out *ManagedClusterCostAnalysis) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterCostAnalysis. +func (in *ManagedClusterCostAnalysis) DeepCopy() *ManagedClusterCostAnalysis { + if in == nil { + return nil + } + out := new(ManagedClusterCostAnalysis) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterCostAnalysis_STATUS) DeepCopyInto(out *ManagedClusterCostAnalysis_STATUS) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterCostAnalysis_STATUS. +func (in *ManagedClusterCostAnalysis_STATUS) DeepCopy() *ManagedClusterCostAnalysis_STATUS { + if in == nil { + return nil + } + out := new(ManagedClusterCostAnalysis_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterHTTPProxyConfig) DeepCopyInto(out *ManagedClusterHTTPProxyConfig) { + *out = *in + if in.HttpProxy != nil { + in, out := &in.HttpProxy, &out.HttpProxy + *out = new(string) + **out = **in + } + if in.HttpsProxy != nil { + in, out := &in.HttpsProxy, &out.HttpsProxy + *out = new(string) + **out = **in + } + if in.NoProxy != nil { + in, out := &in.NoProxy, &out.NoProxy + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.TrustedCa != nil { + in, out := &in.TrustedCa, &out.TrustedCa + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterHTTPProxyConfig. +func (in *ManagedClusterHTTPProxyConfig) DeepCopy() *ManagedClusterHTTPProxyConfig { + if in == nil { + return nil + } + out := new(ManagedClusterHTTPProxyConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterHTTPProxyConfig_STATUS) DeepCopyInto(out *ManagedClusterHTTPProxyConfig_STATUS) { + *out = *in + if in.HttpProxy != nil { + in, out := &in.HttpProxy, &out.HttpProxy + *out = new(string) + **out = **in + } + if in.HttpsProxy != nil { + in, out := &in.HttpsProxy, &out.HttpsProxy + *out = new(string) + **out = **in + } + if in.NoProxy != nil { + in, out := &in.NoProxy, &out.NoProxy + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.TrustedCa != nil { + in, out := &in.TrustedCa, &out.TrustedCa + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterHTTPProxyConfig_STATUS. +func (in *ManagedClusterHTTPProxyConfig_STATUS) DeepCopy() *ManagedClusterHTTPProxyConfig_STATUS { + if in == nil { + return nil + } + out := new(ManagedClusterHTTPProxyConfig_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterIdentity) DeepCopyInto(out *ManagedClusterIdentity) { + *out = *in + if in.DelegatedResources != nil { + in, out := &in.DelegatedResources, &out.DelegatedResources + *out = make(map[string]DelegatedResource, len(*in)) + for key, val := range *in { + (*out)[key] = *val.DeepCopy() + } + } + if in.Type != nil { + in, out := &in.Type, &out.Type + *out = new(ManagedClusterIdentity_Type) + **out = **in + } + if in.UserAssignedIdentities != nil { + in, out := &in.UserAssignedIdentities, &out.UserAssignedIdentities + *out = make([]UserAssignedIdentityDetails, len(*in)) + copy(*out, *in) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterIdentity. +func (in *ManagedClusterIdentity) DeepCopy() *ManagedClusterIdentity { + if in == nil { + return nil + } + out := new(ManagedClusterIdentity) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterIdentity_STATUS) DeepCopyInto(out *ManagedClusterIdentity_STATUS) { + *out = *in + if in.DelegatedResources != nil { + in, out := &in.DelegatedResources, &out.DelegatedResources + *out = make(map[string]DelegatedResource_STATUS, len(*in)) + for key, val := range *in { + (*out)[key] = *val.DeepCopy() + } + } + if in.PrincipalId != nil { + in, out := &in.PrincipalId, &out.PrincipalId + *out = new(string) + **out = **in + } + if in.TenantId != nil { + in, out := &in.TenantId, &out.TenantId + *out = new(string) + **out = **in + } + if in.Type != nil { + in, out := &in.Type, &out.Type + *out = new(ManagedClusterIdentity_Type_STATUS) + **out = **in + } + if in.UserAssignedIdentities != nil { + in, out := &in.UserAssignedIdentities, &out.UserAssignedIdentities + *out = make(map[string]ManagedClusterIdentity_UserAssignedIdentities_STATUS, len(*in)) + for key, val := range *in { + (*out)[key] = *val.DeepCopy() + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterIdentity_STATUS. +func (in *ManagedClusterIdentity_STATUS) DeepCopy() *ManagedClusterIdentity_STATUS { + if in == nil { + return nil + } + out := new(ManagedClusterIdentity_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterIdentity_UserAssignedIdentities_STATUS) DeepCopyInto(out *ManagedClusterIdentity_UserAssignedIdentities_STATUS) { + *out = *in + if in.ClientId != nil { + in, out := &in.ClientId, &out.ClientId + *out = new(string) + **out = **in + } + if in.PrincipalId != nil { + in, out := &in.PrincipalId, &out.PrincipalId + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterIdentity_UserAssignedIdentities_STATUS. +func (in *ManagedClusterIdentity_UserAssignedIdentities_STATUS) DeepCopy() *ManagedClusterIdentity_UserAssignedIdentities_STATUS { + if in == nil { + return nil + } + out := new(ManagedClusterIdentity_UserAssignedIdentities_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterIngressProfile) DeepCopyInto(out *ManagedClusterIngressProfile) { + *out = *in + if in.WebAppRouting != nil { + in, out := &in.WebAppRouting, &out.WebAppRouting + *out = new(ManagedClusterIngressProfileWebAppRouting) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterIngressProfile. +func (in *ManagedClusterIngressProfile) DeepCopy() *ManagedClusterIngressProfile { + if in == nil { + return nil + } + out := new(ManagedClusterIngressProfile) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterIngressProfileWebAppRouting) DeepCopyInto(out *ManagedClusterIngressProfileWebAppRouting) { + *out = *in + if in.DnsZoneResourceReferences != nil { + in, out := &in.DnsZoneResourceReferences, &out.DnsZoneResourceReferences + *out = make([]genruntime.ResourceReference, len(*in)) + copy(*out, *in) + } + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterIngressProfileWebAppRouting. +func (in *ManagedClusterIngressProfileWebAppRouting) DeepCopy() *ManagedClusterIngressProfileWebAppRouting { + if in == nil { + return nil + } + out := new(ManagedClusterIngressProfileWebAppRouting) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterIngressProfileWebAppRouting_STATUS) DeepCopyInto(out *ManagedClusterIngressProfileWebAppRouting_STATUS) { + *out = *in + if in.DnsZoneResourceIds != nil { + in, out := &in.DnsZoneResourceIds, &out.DnsZoneResourceIds + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.Identity != nil { + in, out := &in.Identity, &out.Identity + *out = new(UserAssignedIdentity_STATUS) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterIngressProfileWebAppRouting_STATUS. +func (in *ManagedClusterIngressProfileWebAppRouting_STATUS) DeepCopy() *ManagedClusterIngressProfileWebAppRouting_STATUS { + if in == nil { + return nil + } + out := new(ManagedClusterIngressProfileWebAppRouting_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterIngressProfile_STATUS) DeepCopyInto(out *ManagedClusterIngressProfile_STATUS) { + *out = *in + if in.WebAppRouting != nil { + in, out := &in.WebAppRouting, &out.WebAppRouting + *out = new(ManagedClusterIngressProfileWebAppRouting_STATUS) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterIngressProfile_STATUS. +func (in *ManagedClusterIngressProfile_STATUS) DeepCopy() *ManagedClusterIngressProfile_STATUS { + if in == nil { + return nil + } + out := new(ManagedClusterIngressProfile_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterList) DeepCopyInto(out *ManagedClusterList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]ManagedCluster, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterList. +func (in *ManagedClusterList) DeepCopy() *ManagedClusterList { + if in == nil { + return nil + } + out := new(ManagedClusterList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ManagedClusterList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterLoadBalancerProfile) DeepCopyInto(out *ManagedClusterLoadBalancerProfile) { + *out = *in + if in.AllocatedOutboundPorts != nil { + in, out := &in.AllocatedOutboundPorts, &out.AllocatedOutboundPorts + *out = new(int) + **out = **in + } + if in.BackendPoolType != nil { + in, out := &in.BackendPoolType, &out.BackendPoolType + *out = new(ManagedClusterLoadBalancerProfile_BackendPoolType) + **out = **in + } + if in.EffectiveOutboundIPs != nil { + in, out := &in.EffectiveOutboundIPs, &out.EffectiveOutboundIPs + *out = make([]ResourceReference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.EnableMultipleStandardLoadBalancers != nil { + in, out := &in.EnableMultipleStandardLoadBalancers, &out.EnableMultipleStandardLoadBalancers + *out = new(bool) + **out = **in + } + if in.IdleTimeoutInMinutes != nil { + in, out := &in.IdleTimeoutInMinutes, &out.IdleTimeoutInMinutes + *out = new(int) + **out = **in + } + if in.ManagedOutboundIPs != nil { + in, out := &in.ManagedOutboundIPs, &out.ManagedOutboundIPs + *out = new(ManagedClusterLoadBalancerProfile_ManagedOutboundIPs) + (*in).DeepCopyInto(*out) + } + if in.OutboundIPPrefixes != nil { + in, out := &in.OutboundIPPrefixes, &out.OutboundIPPrefixes + *out = new(ManagedClusterLoadBalancerProfile_OutboundIPPrefixes) + (*in).DeepCopyInto(*out) + } + if in.OutboundIPs != nil { + in, out := &in.OutboundIPs, &out.OutboundIPs + *out = new(ManagedClusterLoadBalancerProfile_OutboundIPs) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterLoadBalancerProfile. +func (in *ManagedClusterLoadBalancerProfile) DeepCopy() *ManagedClusterLoadBalancerProfile { + if in == nil { + return nil + } + out := new(ManagedClusterLoadBalancerProfile) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterLoadBalancerProfile_ManagedOutboundIPs) DeepCopyInto(out *ManagedClusterLoadBalancerProfile_ManagedOutboundIPs) { + *out = *in + if in.Count != nil { + in, out := &in.Count, &out.Count + *out = new(int) + **out = **in + } + if in.CountIPv6 != nil { + in, out := &in.CountIPv6, &out.CountIPv6 + *out = new(int) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterLoadBalancerProfile_ManagedOutboundIPs. +func (in *ManagedClusterLoadBalancerProfile_ManagedOutboundIPs) DeepCopy() *ManagedClusterLoadBalancerProfile_ManagedOutboundIPs { + if in == nil { + return nil + } + out := new(ManagedClusterLoadBalancerProfile_ManagedOutboundIPs) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS) DeepCopyInto(out *ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS) { + *out = *in + if in.Count != nil { + in, out := &in.Count, &out.Count + *out = new(int) + **out = **in + } + if in.CountIPv6 != nil { + in, out := &in.CountIPv6, &out.CountIPv6 + *out = new(int) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS. +func (in *ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS) DeepCopy() *ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS { + if in == nil { + return nil + } + out := new(ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterLoadBalancerProfile_OutboundIPPrefixes) DeepCopyInto(out *ManagedClusterLoadBalancerProfile_OutboundIPPrefixes) { + *out = *in + if in.PublicIPPrefixes != nil { + in, out := &in.PublicIPPrefixes, &out.PublicIPPrefixes + *out = make([]ResourceReference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterLoadBalancerProfile_OutboundIPPrefixes. +func (in *ManagedClusterLoadBalancerProfile_OutboundIPPrefixes) DeepCopy() *ManagedClusterLoadBalancerProfile_OutboundIPPrefixes { + if in == nil { + return nil + } + out := new(ManagedClusterLoadBalancerProfile_OutboundIPPrefixes) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS) DeepCopyInto(out *ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS) { + *out = *in + if in.PublicIPPrefixes != nil { + in, out := &in.PublicIPPrefixes, &out.PublicIPPrefixes + *out = make([]ResourceReference_STATUS, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS. +func (in *ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS) DeepCopy() *ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS { + if in == nil { + return nil + } + out := new(ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterLoadBalancerProfile_OutboundIPs) DeepCopyInto(out *ManagedClusterLoadBalancerProfile_OutboundIPs) { + *out = *in + if in.PublicIPs != nil { + in, out := &in.PublicIPs, &out.PublicIPs + *out = make([]ResourceReference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterLoadBalancerProfile_OutboundIPs. +func (in *ManagedClusterLoadBalancerProfile_OutboundIPs) DeepCopy() *ManagedClusterLoadBalancerProfile_OutboundIPs { + if in == nil { + return nil + } + out := new(ManagedClusterLoadBalancerProfile_OutboundIPs) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS) DeepCopyInto(out *ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS) { + *out = *in + if in.PublicIPs != nil { + in, out := &in.PublicIPs, &out.PublicIPs + *out = make([]ResourceReference_STATUS, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS. +func (in *ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS) DeepCopy() *ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS { + if in == nil { + return nil + } + out := new(ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterLoadBalancerProfile_STATUS) DeepCopyInto(out *ManagedClusterLoadBalancerProfile_STATUS) { + *out = *in + if in.AllocatedOutboundPorts != nil { + in, out := &in.AllocatedOutboundPorts, &out.AllocatedOutboundPorts + *out = new(int) + **out = **in + } + if in.BackendPoolType != nil { + in, out := &in.BackendPoolType, &out.BackendPoolType + *out = new(ManagedClusterLoadBalancerProfile_BackendPoolType_STATUS) + **out = **in + } + if in.EffectiveOutboundIPs != nil { + in, out := &in.EffectiveOutboundIPs, &out.EffectiveOutboundIPs + *out = make([]ResourceReference_STATUS, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.EnableMultipleStandardLoadBalancers != nil { + in, out := &in.EnableMultipleStandardLoadBalancers, &out.EnableMultipleStandardLoadBalancers + *out = new(bool) + **out = **in + } + if in.IdleTimeoutInMinutes != nil { + in, out := &in.IdleTimeoutInMinutes, &out.IdleTimeoutInMinutes + *out = new(int) + **out = **in + } + if in.ManagedOutboundIPs != nil { + in, out := &in.ManagedOutboundIPs, &out.ManagedOutboundIPs + *out = new(ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS) + (*in).DeepCopyInto(*out) + } + if in.OutboundIPPrefixes != nil { + in, out := &in.OutboundIPPrefixes, &out.OutboundIPPrefixes + *out = new(ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS) + (*in).DeepCopyInto(*out) + } + if in.OutboundIPs != nil { + in, out := &in.OutboundIPs, &out.OutboundIPs + *out = new(ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterLoadBalancerProfile_STATUS. +func (in *ManagedClusterLoadBalancerProfile_STATUS) DeepCopy() *ManagedClusterLoadBalancerProfile_STATUS { + if in == nil { + return nil + } + out := new(ManagedClusterLoadBalancerProfile_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterManagedOutboundIPProfile) DeepCopyInto(out *ManagedClusterManagedOutboundIPProfile) { + *out = *in + if in.Count != nil { + in, out := &in.Count, &out.Count + *out = new(int) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterManagedOutboundIPProfile. +func (in *ManagedClusterManagedOutboundIPProfile) DeepCopy() *ManagedClusterManagedOutboundIPProfile { + if in == nil { + return nil + } + out := new(ManagedClusterManagedOutboundIPProfile) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterManagedOutboundIPProfile_STATUS) DeepCopyInto(out *ManagedClusterManagedOutboundIPProfile_STATUS) { + *out = *in + if in.Count != nil { + in, out := &in.Count, &out.Count + *out = new(int) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterManagedOutboundIPProfile_STATUS. +func (in *ManagedClusterManagedOutboundIPProfile_STATUS) DeepCopy() *ManagedClusterManagedOutboundIPProfile_STATUS { + if in == nil { + return nil + } + out := new(ManagedClusterManagedOutboundIPProfile_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterMetricsProfile) DeepCopyInto(out *ManagedClusterMetricsProfile) { + *out = *in + if in.CostAnalysis != nil { + in, out := &in.CostAnalysis, &out.CostAnalysis + *out = new(ManagedClusterCostAnalysis) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterMetricsProfile. +func (in *ManagedClusterMetricsProfile) DeepCopy() *ManagedClusterMetricsProfile { + if in == nil { + return nil + } + out := new(ManagedClusterMetricsProfile) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterMetricsProfile_STATUS) DeepCopyInto(out *ManagedClusterMetricsProfile_STATUS) { + *out = *in + if in.CostAnalysis != nil { + in, out := &in.CostAnalysis, &out.CostAnalysis + *out = new(ManagedClusterCostAnalysis_STATUS) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterMetricsProfile_STATUS. +func (in *ManagedClusterMetricsProfile_STATUS) DeepCopy() *ManagedClusterMetricsProfile_STATUS { + if in == nil { + return nil + } + out := new(ManagedClusterMetricsProfile_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterNATGatewayProfile) DeepCopyInto(out *ManagedClusterNATGatewayProfile) { + *out = *in + if in.EffectiveOutboundIPs != nil { + in, out := &in.EffectiveOutboundIPs, &out.EffectiveOutboundIPs + *out = make([]ResourceReference, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.IdleTimeoutInMinutes != nil { + in, out := &in.IdleTimeoutInMinutes, &out.IdleTimeoutInMinutes + *out = new(int) + **out = **in + } + if in.ManagedOutboundIPProfile != nil { + in, out := &in.ManagedOutboundIPProfile, &out.ManagedOutboundIPProfile + *out = new(ManagedClusterManagedOutboundIPProfile) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterNATGatewayProfile. +func (in *ManagedClusterNATGatewayProfile) DeepCopy() *ManagedClusterNATGatewayProfile { + if in == nil { + return nil + } + out := new(ManagedClusterNATGatewayProfile) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterNATGatewayProfile_STATUS) DeepCopyInto(out *ManagedClusterNATGatewayProfile_STATUS) { + *out = *in + if in.EffectiveOutboundIPs != nil { + in, out := &in.EffectiveOutboundIPs, &out.EffectiveOutboundIPs + *out = make([]ResourceReference_STATUS, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.IdleTimeoutInMinutes != nil { + in, out := &in.IdleTimeoutInMinutes, &out.IdleTimeoutInMinutes + *out = new(int) + **out = **in + } + if in.ManagedOutboundIPProfile != nil { + in, out := &in.ManagedOutboundIPProfile, &out.ManagedOutboundIPProfile + *out = new(ManagedClusterManagedOutboundIPProfile_STATUS) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterNATGatewayProfile_STATUS. +func (in *ManagedClusterNATGatewayProfile_STATUS) DeepCopy() *ManagedClusterNATGatewayProfile_STATUS { + if in == nil { + return nil + } + out := new(ManagedClusterNATGatewayProfile_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterNodeResourceGroupProfile) DeepCopyInto(out *ManagedClusterNodeResourceGroupProfile) { + *out = *in + if in.RestrictionLevel != nil { + in, out := &in.RestrictionLevel, &out.RestrictionLevel + *out = new(ManagedClusterNodeResourceGroupProfile_RestrictionLevel) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterNodeResourceGroupProfile. +func (in *ManagedClusterNodeResourceGroupProfile) DeepCopy() *ManagedClusterNodeResourceGroupProfile { + if in == nil { + return nil + } + out := new(ManagedClusterNodeResourceGroupProfile) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterNodeResourceGroupProfile_STATUS) DeepCopyInto(out *ManagedClusterNodeResourceGroupProfile_STATUS) { + *out = *in + if in.RestrictionLevel != nil { + in, out := &in.RestrictionLevel, &out.RestrictionLevel + *out = new(ManagedClusterNodeResourceGroupProfile_RestrictionLevel_STATUS) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterNodeResourceGroupProfile_STATUS. +func (in *ManagedClusterNodeResourceGroupProfile_STATUS) DeepCopy() *ManagedClusterNodeResourceGroupProfile_STATUS { + if in == nil { + return nil + } + out := new(ManagedClusterNodeResourceGroupProfile_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterOIDCIssuerProfile) DeepCopyInto(out *ManagedClusterOIDCIssuerProfile) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterOIDCIssuerProfile. +func (in *ManagedClusterOIDCIssuerProfile) DeepCopy() *ManagedClusterOIDCIssuerProfile { + if in == nil { + return nil + } + out := new(ManagedClusterOIDCIssuerProfile) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterOIDCIssuerProfile_STATUS) DeepCopyInto(out *ManagedClusterOIDCIssuerProfile_STATUS) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.IssuerURL != nil { + in, out := &in.IssuerURL, &out.IssuerURL + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterOIDCIssuerProfile_STATUS. +func (in *ManagedClusterOIDCIssuerProfile_STATUS) DeepCopy() *ManagedClusterOIDCIssuerProfile_STATUS { + if in == nil { + return nil + } + out := new(ManagedClusterOIDCIssuerProfile_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterOperatorConfigMaps) DeepCopyInto(out *ManagedClusterOperatorConfigMaps) { + *out = *in + if in.OIDCIssuerProfile != nil { + in, out := &in.OIDCIssuerProfile, &out.OIDCIssuerProfile + *out = new(genruntime.ConfigMapDestination) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterOperatorConfigMaps. +func (in *ManagedClusterOperatorConfigMaps) DeepCopy() *ManagedClusterOperatorConfigMaps { + if in == nil { + return nil + } + out := new(ManagedClusterOperatorConfigMaps) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterOperatorSecrets) DeepCopyInto(out *ManagedClusterOperatorSecrets) { + *out = *in + if in.AdminCredentials != nil { + in, out := &in.AdminCredentials, &out.AdminCredentials + *out = new(genruntime.SecretDestination) + **out = **in + } + if in.UserCredentials != nil { + in, out := &in.UserCredentials, &out.UserCredentials + *out = new(genruntime.SecretDestination) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterOperatorSecrets. +func (in *ManagedClusterOperatorSecrets) DeepCopy() *ManagedClusterOperatorSecrets { + if in == nil { + return nil + } + out := new(ManagedClusterOperatorSecrets) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterOperatorSpec) DeepCopyInto(out *ManagedClusterOperatorSpec) { + *out = *in + if in.ConfigMaps != nil { + in, out := &in.ConfigMaps, &out.ConfigMaps + *out = new(ManagedClusterOperatorConfigMaps) + (*in).DeepCopyInto(*out) + } + if in.Secrets != nil { + in, out := &in.Secrets, &out.Secrets + *out = new(ManagedClusterOperatorSecrets) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterOperatorSpec. +func (in *ManagedClusterOperatorSpec) DeepCopy() *ManagedClusterOperatorSpec { + if in == nil { + return nil + } + out := new(ManagedClusterOperatorSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterPodIdentity) DeepCopyInto(out *ManagedClusterPodIdentity) { + *out = *in + if in.BindingSelector != nil { + in, out := &in.BindingSelector, &out.BindingSelector + *out = new(string) + **out = **in + } + if in.Identity != nil { + in, out := &in.Identity, &out.Identity + *out = new(UserAssignedIdentity) + (*in).DeepCopyInto(*out) + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Namespace != nil { + in, out := &in.Namespace, &out.Namespace + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterPodIdentity. +func (in *ManagedClusterPodIdentity) DeepCopy() *ManagedClusterPodIdentity { + if in == nil { + return nil + } + out := new(ManagedClusterPodIdentity) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterPodIdentityException) DeepCopyInto(out *ManagedClusterPodIdentityException) { + *out = *in + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Namespace != nil { + in, out := &in.Namespace, &out.Namespace + *out = new(string) + **out = **in + } + if in.PodLabels != nil { + in, out := &in.PodLabels, &out.PodLabels + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterPodIdentityException. +func (in *ManagedClusterPodIdentityException) DeepCopy() *ManagedClusterPodIdentityException { + if in == nil { + return nil + } + out := new(ManagedClusterPodIdentityException) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterPodIdentityException_STATUS) DeepCopyInto(out *ManagedClusterPodIdentityException_STATUS) { + *out = *in + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Namespace != nil { + in, out := &in.Namespace, &out.Namespace + *out = new(string) + **out = **in + } + if in.PodLabels != nil { + in, out := &in.PodLabels, &out.PodLabels + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterPodIdentityException_STATUS. +func (in *ManagedClusterPodIdentityException_STATUS) DeepCopy() *ManagedClusterPodIdentityException_STATUS { + if in == nil { + return nil + } + out := new(ManagedClusterPodIdentityException_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterPodIdentityProfile) DeepCopyInto(out *ManagedClusterPodIdentityProfile) { + *out = *in + if in.AllowNetworkPluginKubenet != nil { + in, out := &in.AllowNetworkPluginKubenet, &out.AllowNetworkPluginKubenet + *out = new(bool) + **out = **in + } + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.UserAssignedIdentities != nil { + in, out := &in.UserAssignedIdentities, &out.UserAssignedIdentities + *out = make([]ManagedClusterPodIdentity, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.UserAssignedIdentityExceptions != nil { + in, out := &in.UserAssignedIdentityExceptions, &out.UserAssignedIdentityExceptions + *out = make([]ManagedClusterPodIdentityException, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterPodIdentityProfile. +func (in *ManagedClusterPodIdentityProfile) DeepCopy() *ManagedClusterPodIdentityProfile { + if in == nil { + return nil + } + out := new(ManagedClusterPodIdentityProfile) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterPodIdentityProfile_STATUS) DeepCopyInto(out *ManagedClusterPodIdentityProfile_STATUS) { + *out = *in + if in.AllowNetworkPluginKubenet != nil { + in, out := &in.AllowNetworkPluginKubenet, &out.AllowNetworkPluginKubenet + *out = new(bool) + **out = **in + } + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.UserAssignedIdentities != nil { + in, out := &in.UserAssignedIdentities, &out.UserAssignedIdentities + *out = make([]ManagedClusterPodIdentity_STATUS, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.UserAssignedIdentityExceptions != nil { + in, out := &in.UserAssignedIdentityExceptions, &out.UserAssignedIdentityExceptions + *out = make([]ManagedClusterPodIdentityException_STATUS, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterPodIdentityProfile_STATUS. +func (in *ManagedClusterPodIdentityProfile_STATUS) DeepCopy() *ManagedClusterPodIdentityProfile_STATUS { + if in == nil { + return nil + } + out := new(ManagedClusterPodIdentityProfile_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterPodIdentityProvisioningErrorBody_STATUS) DeepCopyInto(out *ManagedClusterPodIdentityProvisioningErrorBody_STATUS) { + *out = *in + if in.Code != nil { + in, out := &in.Code, &out.Code + *out = new(string) + **out = **in + } + if in.Details != nil { + in, out := &in.Details, &out.Details + *out = make([]ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Message != nil { + in, out := &in.Message, &out.Message + *out = new(string) + **out = **in + } + if in.Target != nil { + in, out := &in.Target, &out.Target + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterPodIdentityProvisioningErrorBody_STATUS. +func (in *ManagedClusterPodIdentityProvisioningErrorBody_STATUS) DeepCopy() *ManagedClusterPodIdentityProvisioningErrorBody_STATUS { + if in == nil { + return nil + } + out := new(ManagedClusterPodIdentityProvisioningErrorBody_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled) DeepCopyInto(out *ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled) { + *out = *in + if in.Code != nil { + in, out := &in.Code, &out.Code + *out = new(string) + **out = **in + } + if in.Message != nil { + in, out := &in.Message, &out.Message + *out = new(string) + **out = **in + } + if in.Target != nil { + in, out := &in.Target, &out.Target + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled. +func (in *ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled) DeepCopy() *ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled { + if in == nil { + return nil + } + out := new(ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterPodIdentityProvisioningError_STATUS) DeepCopyInto(out *ManagedClusterPodIdentityProvisioningError_STATUS) { + *out = *in + if in.Error != nil { + in, out := &in.Error, &out.Error + *out = new(ManagedClusterPodIdentityProvisioningErrorBody_STATUS) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterPodIdentityProvisioningError_STATUS. +func (in *ManagedClusterPodIdentityProvisioningError_STATUS) DeepCopy() *ManagedClusterPodIdentityProvisioningError_STATUS { + if in == nil { + return nil + } + out := new(ManagedClusterPodIdentityProvisioningError_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterPodIdentity_ProvisioningInfo_STATUS) DeepCopyInto(out *ManagedClusterPodIdentity_ProvisioningInfo_STATUS) { + *out = *in + if in.Error != nil { + in, out := &in.Error, &out.Error + *out = new(ManagedClusterPodIdentityProvisioningError_STATUS) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterPodIdentity_ProvisioningInfo_STATUS. +func (in *ManagedClusterPodIdentity_ProvisioningInfo_STATUS) DeepCopy() *ManagedClusterPodIdentity_ProvisioningInfo_STATUS { + if in == nil { + return nil + } + out := new(ManagedClusterPodIdentity_ProvisioningInfo_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterPodIdentity_STATUS) DeepCopyInto(out *ManagedClusterPodIdentity_STATUS) { + *out = *in + if in.BindingSelector != nil { + in, out := &in.BindingSelector, &out.BindingSelector + *out = new(string) + **out = **in + } + if in.Identity != nil { + in, out := &in.Identity, &out.Identity + *out = new(UserAssignedIdentity_STATUS) + (*in).DeepCopyInto(*out) + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Namespace != nil { + in, out := &in.Namespace, &out.Namespace + *out = new(string) + **out = **in + } + if in.ProvisioningInfo != nil { + in, out := &in.ProvisioningInfo, &out.ProvisioningInfo + *out = new(ManagedClusterPodIdentity_ProvisioningInfo_STATUS) + (*in).DeepCopyInto(*out) + } + if in.ProvisioningState != nil { + in, out := &in.ProvisioningState, &out.ProvisioningState + *out = new(ManagedClusterPodIdentity_ProvisioningState_STATUS) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterPodIdentity_STATUS. +func (in *ManagedClusterPodIdentity_STATUS) DeepCopy() *ManagedClusterPodIdentity_STATUS { + if in == nil { + return nil + } + out := new(ManagedClusterPodIdentity_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterProperties_AutoScalerProfile) DeepCopyInto(out *ManagedClusterProperties_AutoScalerProfile) { + *out = *in + if in.BalanceSimilarNodeGroups != nil { + in, out := &in.BalanceSimilarNodeGroups, &out.BalanceSimilarNodeGroups + *out = new(string) + **out = **in + } + if in.DaemonsetEvictionForEmptyNodes != nil { + in, out := &in.DaemonsetEvictionForEmptyNodes, &out.DaemonsetEvictionForEmptyNodes + *out = new(bool) + **out = **in + } + if in.DaemonsetEvictionForOccupiedNodes != nil { + in, out := &in.DaemonsetEvictionForOccupiedNodes, &out.DaemonsetEvictionForOccupiedNodes + *out = new(bool) + **out = **in + } + if in.Expander != nil { + in, out := &in.Expander, &out.Expander + *out = new(ManagedClusterProperties_AutoScalerProfile_Expander) + **out = **in + } + if in.IgnoreDaemonsetsUtilization != nil { + in, out := &in.IgnoreDaemonsetsUtilization, &out.IgnoreDaemonsetsUtilization + *out = new(bool) + **out = **in + } + if in.MaxEmptyBulkDelete != nil { + in, out := &in.MaxEmptyBulkDelete, &out.MaxEmptyBulkDelete + *out = new(string) + **out = **in + } + if in.MaxGracefulTerminationSec != nil { + in, out := &in.MaxGracefulTerminationSec, &out.MaxGracefulTerminationSec + *out = new(string) + **out = **in + } + if in.MaxNodeProvisionTime != nil { + in, out := &in.MaxNodeProvisionTime, &out.MaxNodeProvisionTime + *out = new(string) + **out = **in + } + if in.MaxTotalUnreadyPercentage != nil { + in, out := &in.MaxTotalUnreadyPercentage, &out.MaxTotalUnreadyPercentage + *out = new(string) + **out = **in + } + if in.NewPodScaleUpDelay != nil { + in, out := &in.NewPodScaleUpDelay, &out.NewPodScaleUpDelay + *out = new(string) + **out = **in + } + if in.OkTotalUnreadyCount != nil { + in, out := &in.OkTotalUnreadyCount, &out.OkTotalUnreadyCount + *out = new(string) + **out = **in + } + if in.ScaleDownDelayAfterAdd != nil { + in, out := &in.ScaleDownDelayAfterAdd, &out.ScaleDownDelayAfterAdd + *out = new(string) + **out = **in + } + if in.ScaleDownDelayAfterDelete != nil { + in, out := &in.ScaleDownDelayAfterDelete, &out.ScaleDownDelayAfterDelete + *out = new(string) + **out = **in + } + if in.ScaleDownDelayAfterFailure != nil { + in, out := &in.ScaleDownDelayAfterFailure, &out.ScaleDownDelayAfterFailure + *out = new(string) + **out = **in + } + if in.ScaleDownUnneededTime != nil { + in, out := &in.ScaleDownUnneededTime, &out.ScaleDownUnneededTime + *out = new(string) + **out = **in + } + if in.ScaleDownUnreadyTime != nil { + in, out := &in.ScaleDownUnreadyTime, &out.ScaleDownUnreadyTime + *out = new(string) + **out = **in + } + if in.ScaleDownUtilizationThreshold != nil { + in, out := &in.ScaleDownUtilizationThreshold, &out.ScaleDownUtilizationThreshold + *out = new(string) + **out = **in + } + if in.ScanInterval != nil { + in, out := &in.ScanInterval, &out.ScanInterval + *out = new(string) + **out = **in + } + if in.SkipNodesWithLocalStorage != nil { + in, out := &in.SkipNodesWithLocalStorage, &out.SkipNodesWithLocalStorage + *out = new(string) + **out = **in + } + if in.SkipNodesWithSystemPods != nil { + in, out := &in.SkipNodesWithSystemPods, &out.SkipNodesWithSystemPods + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterProperties_AutoScalerProfile. +func (in *ManagedClusterProperties_AutoScalerProfile) DeepCopy() *ManagedClusterProperties_AutoScalerProfile { + if in == nil { + return nil + } + out := new(ManagedClusterProperties_AutoScalerProfile) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterProperties_AutoScalerProfile_STATUS) DeepCopyInto(out *ManagedClusterProperties_AutoScalerProfile_STATUS) { + *out = *in + if in.BalanceSimilarNodeGroups != nil { + in, out := &in.BalanceSimilarNodeGroups, &out.BalanceSimilarNodeGroups + *out = new(string) + **out = **in + } + if in.DaemonsetEvictionForEmptyNodes != nil { + in, out := &in.DaemonsetEvictionForEmptyNodes, &out.DaemonsetEvictionForEmptyNodes + *out = new(bool) + **out = **in + } + if in.DaemonsetEvictionForOccupiedNodes != nil { + in, out := &in.DaemonsetEvictionForOccupiedNodes, &out.DaemonsetEvictionForOccupiedNodes + *out = new(bool) + **out = **in + } + if in.Expander != nil { + in, out := &in.Expander, &out.Expander + *out = new(ManagedClusterProperties_AutoScalerProfile_Expander_STATUS) + **out = **in + } + if in.IgnoreDaemonsetsUtilization != nil { + in, out := &in.IgnoreDaemonsetsUtilization, &out.IgnoreDaemonsetsUtilization + *out = new(bool) + **out = **in + } + if in.MaxEmptyBulkDelete != nil { + in, out := &in.MaxEmptyBulkDelete, &out.MaxEmptyBulkDelete + *out = new(string) + **out = **in + } + if in.MaxGracefulTerminationSec != nil { + in, out := &in.MaxGracefulTerminationSec, &out.MaxGracefulTerminationSec + *out = new(string) + **out = **in + } + if in.MaxNodeProvisionTime != nil { + in, out := &in.MaxNodeProvisionTime, &out.MaxNodeProvisionTime + *out = new(string) + **out = **in + } + if in.MaxTotalUnreadyPercentage != nil { + in, out := &in.MaxTotalUnreadyPercentage, &out.MaxTotalUnreadyPercentage + *out = new(string) + **out = **in + } + if in.NewPodScaleUpDelay != nil { + in, out := &in.NewPodScaleUpDelay, &out.NewPodScaleUpDelay + *out = new(string) + **out = **in + } + if in.OkTotalUnreadyCount != nil { + in, out := &in.OkTotalUnreadyCount, &out.OkTotalUnreadyCount + *out = new(string) + **out = **in + } + if in.ScaleDownDelayAfterAdd != nil { + in, out := &in.ScaleDownDelayAfterAdd, &out.ScaleDownDelayAfterAdd + *out = new(string) + **out = **in + } + if in.ScaleDownDelayAfterDelete != nil { + in, out := &in.ScaleDownDelayAfterDelete, &out.ScaleDownDelayAfterDelete + *out = new(string) + **out = **in + } + if in.ScaleDownDelayAfterFailure != nil { + in, out := &in.ScaleDownDelayAfterFailure, &out.ScaleDownDelayAfterFailure + *out = new(string) + **out = **in + } + if in.ScaleDownUnneededTime != nil { + in, out := &in.ScaleDownUnneededTime, &out.ScaleDownUnneededTime + *out = new(string) + **out = **in + } + if in.ScaleDownUnreadyTime != nil { + in, out := &in.ScaleDownUnreadyTime, &out.ScaleDownUnreadyTime + *out = new(string) + **out = **in + } + if in.ScaleDownUtilizationThreshold != nil { + in, out := &in.ScaleDownUtilizationThreshold, &out.ScaleDownUtilizationThreshold + *out = new(string) + **out = **in + } + if in.ScanInterval != nil { + in, out := &in.ScanInterval, &out.ScanInterval + *out = new(string) + **out = **in + } + if in.SkipNodesWithLocalStorage != nil { + in, out := &in.SkipNodesWithLocalStorage, &out.SkipNodesWithLocalStorage + *out = new(string) + **out = **in + } + if in.SkipNodesWithSystemPods != nil { + in, out := &in.SkipNodesWithSystemPods, &out.SkipNodesWithSystemPods + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterProperties_AutoScalerProfile_STATUS. +func (in *ManagedClusterProperties_AutoScalerProfile_STATUS) DeepCopy() *ManagedClusterProperties_AutoScalerProfile_STATUS { + if in == nil { + return nil + } + out := new(ManagedClusterProperties_AutoScalerProfile_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterSKU) DeepCopyInto(out *ManagedClusterSKU) { + *out = *in + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(ManagedClusterSKU_Name) + **out = **in + } + if in.Tier != nil { + in, out := &in.Tier, &out.Tier + *out = new(ManagedClusterSKU_Tier) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterSKU. +func (in *ManagedClusterSKU) DeepCopy() *ManagedClusterSKU { + if in == nil { + return nil + } + out := new(ManagedClusterSKU) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterSKU_STATUS) DeepCopyInto(out *ManagedClusterSKU_STATUS) { + *out = *in + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(ManagedClusterSKU_Name_STATUS) + **out = **in + } + if in.Tier != nil { + in, out := &in.Tier, &out.Tier + *out = new(ManagedClusterSKU_Tier_STATUS) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterSKU_STATUS. +func (in *ManagedClusterSKU_STATUS) DeepCopy() *ManagedClusterSKU_STATUS { + if in == nil { + return nil + } + out := new(ManagedClusterSKU_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterSecurityProfile) DeepCopyInto(out *ManagedClusterSecurityProfile) { + *out = *in + if in.AzureKeyVaultKms != nil { + in, out := &in.AzureKeyVaultKms, &out.AzureKeyVaultKms + *out = new(AzureKeyVaultKms) + (*in).DeepCopyInto(*out) + } + if in.Defender != nil { + in, out := &in.Defender, &out.Defender + *out = new(ManagedClusterSecurityProfileDefender) + (*in).DeepCopyInto(*out) + } + if in.ImageCleaner != nil { + in, out := &in.ImageCleaner, &out.ImageCleaner + *out = new(ManagedClusterSecurityProfileImageCleaner) + (*in).DeepCopyInto(*out) + } + if in.WorkloadIdentity != nil { + in, out := &in.WorkloadIdentity, &out.WorkloadIdentity + *out = new(ManagedClusterSecurityProfileWorkloadIdentity) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterSecurityProfile. +func (in *ManagedClusterSecurityProfile) DeepCopy() *ManagedClusterSecurityProfile { + if in == nil { + return nil + } + out := new(ManagedClusterSecurityProfile) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterSecurityProfileDefender) DeepCopyInto(out *ManagedClusterSecurityProfileDefender) { + *out = *in + if in.LogAnalyticsWorkspaceResourceReference != nil { + in, out := &in.LogAnalyticsWorkspaceResourceReference, &out.LogAnalyticsWorkspaceResourceReference + *out = new(genruntime.ResourceReference) + **out = **in + } + if in.SecurityMonitoring != nil { + in, out := &in.SecurityMonitoring, &out.SecurityMonitoring + *out = new(ManagedClusterSecurityProfileDefenderSecurityMonitoring) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterSecurityProfileDefender. +func (in *ManagedClusterSecurityProfileDefender) DeepCopy() *ManagedClusterSecurityProfileDefender { + if in == nil { + return nil + } + out := new(ManagedClusterSecurityProfileDefender) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterSecurityProfileDefenderSecurityMonitoring) DeepCopyInto(out *ManagedClusterSecurityProfileDefenderSecurityMonitoring) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterSecurityProfileDefenderSecurityMonitoring. +func (in *ManagedClusterSecurityProfileDefenderSecurityMonitoring) DeepCopy() *ManagedClusterSecurityProfileDefenderSecurityMonitoring { + if in == nil { + return nil + } + out := new(ManagedClusterSecurityProfileDefenderSecurityMonitoring) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS) DeepCopyInto(out *ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS. +func (in *ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS) DeepCopy() *ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS { + if in == nil { + return nil + } + out := new(ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterSecurityProfileDefender_STATUS) DeepCopyInto(out *ManagedClusterSecurityProfileDefender_STATUS) { + *out = *in + if in.LogAnalyticsWorkspaceResourceId != nil { + in, out := &in.LogAnalyticsWorkspaceResourceId, &out.LogAnalyticsWorkspaceResourceId + *out = new(string) + **out = **in + } + if in.SecurityMonitoring != nil { + in, out := &in.SecurityMonitoring, &out.SecurityMonitoring + *out = new(ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterSecurityProfileDefender_STATUS. +func (in *ManagedClusterSecurityProfileDefender_STATUS) DeepCopy() *ManagedClusterSecurityProfileDefender_STATUS { + if in == nil { + return nil + } + out := new(ManagedClusterSecurityProfileDefender_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterSecurityProfileImageCleaner) DeepCopyInto(out *ManagedClusterSecurityProfileImageCleaner) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.IntervalHours != nil { + in, out := &in.IntervalHours, &out.IntervalHours + *out = new(int) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterSecurityProfileImageCleaner. +func (in *ManagedClusterSecurityProfileImageCleaner) DeepCopy() *ManagedClusterSecurityProfileImageCleaner { + if in == nil { + return nil + } + out := new(ManagedClusterSecurityProfileImageCleaner) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterSecurityProfileImageCleaner_STATUS) DeepCopyInto(out *ManagedClusterSecurityProfileImageCleaner_STATUS) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.IntervalHours != nil { + in, out := &in.IntervalHours, &out.IntervalHours + *out = new(int) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterSecurityProfileImageCleaner_STATUS. +func (in *ManagedClusterSecurityProfileImageCleaner_STATUS) DeepCopy() *ManagedClusterSecurityProfileImageCleaner_STATUS { + if in == nil { + return nil + } + out := new(ManagedClusterSecurityProfileImageCleaner_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterSecurityProfileWorkloadIdentity) DeepCopyInto(out *ManagedClusterSecurityProfileWorkloadIdentity) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterSecurityProfileWorkloadIdentity. +func (in *ManagedClusterSecurityProfileWorkloadIdentity) DeepCopy() *ManagedClusterSecurityProfileWorkloadIdentity { + if in == nil { + return nil + } + out := new(ManagedClusterSecurityProfileWorkloadIdentity) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterSecurityProfileWorkloadIdentity_STATUS) DeepCopyInto(out *ManagedClusterSecurityProfileWorkloadIdentity_STATUS) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterSecurityProfileWorkloadIdentity_STATUS. +func (in *ManagedClusterSecurityProfileWorkloadIdentity_STATUS) DeepCopy() *ManagedClusterSecurityProfileWorkloadIdentity_STATUS { + if in == nil { + return nil + } + out := new(ManagedClusterSecurityProfileWorkloadIdentity_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterSecurityProfile_STATUS) DeepCopyInto(out *ManagedClusterSecurityProfile_STATUS) { + *out = *in + if in.AzureKeyVaultKms != nil { + in, out := &in.AzureKeyVaultKms, &out.AzureKeyVaultKms + *out = new(AzureKeyVaultKms_STATUS) + (*in).DeepCopyInto(*out) + } + if in.Defender != nil { + in, out := &in.Defender, &out.Defender + *out = new(ManagedClusterSecurityProfileDefender_STATUS) + (*in).DeepCopyInto(*out) + } + if in.ImageCleaner != nil { + in, out := &in.ImageCleaner, &out.ImageCleaner + *out = new(ManagedClusterSecurityProfileImageCleaner_STATUS) + (*in).DeepCopyInto(*out) + } + if in.WorkloadIdentity != nil { + in, out := &in.WorkloadIdentity, &out.WorkloadIdentity + *out = new(ManagedClusterSecurityProfileWorkloadIdentity_STATUS) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterSecurityProfile_STATUS. +func (in *ManagedClusterSecurityProfile_STATUS) DeepCopy() *ManagedClusterSecurityProfile_STATUS { + if in == nil { + return nil + } + out := new(ManagedClusterSecurityProfile_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterServicePrincipalProfile) DeepCopyInto(out *ManagedClusterServicePrincipalProfile) { + *out = *in + if in.ClientId != nil { + in, out := &in.ClientId, &out.ClientId + *out = new(string) + **out = **in + } + if in.Secret != nil { + in, out := &in.Secret, &out.Secret + *out = new(genruntime.SecretReference) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterServicePrincipalProfile. +func (in *ManagedClusterServicePrincipalProfile) DeepCopy() *ManagedClusterServicePrincipalProfile { + if in == nil { + return nil + } + out := new(ManagedClusterServicePrincipalProfile) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterServicePrincipalProfile_STATUS) DeepCopyInto(out *ManagedClusterServicePrincipalProfile_STATUS) { + *out = *in + if in.ClientId != nil { + in, out := &in.ClientId, &out.ClientId + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterServicePrincipalProfile_STATUS. +func (in *ManagedClusterServicePrincipalProfile_STATUS) DeepCopy() *ManagedClusterServicePrincipalProfile_STATUS { + if in == nil { + return nil + } + out := new(ManagedClusterServicePrincipalProfile_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterStorageProfile) DeepCopyInto(out *ManagedClusterStorageProfile) { + *out = *in + if in.BlobCSIDriver != nil { + in, out := &in.BlobCSIDriver, &out.BlobCSIDriver + *out = new(ManagedClusterStorageProfileBlobCSIDriver) + (*in).DeepCopyInto(*out) + } + if in.DiskCSIDriver != nil { + in, out := &in.DiskCSIDriver, &out.DiskCSIDriver + *out = new(ManagedClusterStorageProfileDiskCSIDriver) + (*in).DeepCopyInto(*out) + } + if in.FileCSIDriver != nil { + in, out := &in.FileCSIDriver, &out.FileCSIDriver + *out = new(ManagedClusterStorageProfileFileCSIDriver) + (*in).DeepCopyInto(*out) + } + if in.SnapshotController != nil { + in, out := &in.SnapshotController, &out.SnapshotController + *out = new(ManagedClusterStorageProfileSnapshotController) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterStorageProfile. +func (in *ManagedClusterStorageProfile) DeepCopy() *ManagedClusterStorageProfile { + if in == nil { + return nil + } + out := new(ManagedClusterStorageProfile) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterStorageProfileBlobCSIDriver) DeepCopyInto(out *ManagedClusterStorageProfileBlobCSIDriver) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterStorageProfileBlobCSIDriver. +func (in *ManagedClusterStorageProfileBlobCSIDriver) DeepCopy() *ManagedClusterStorageProfileBlobCSIDriver { + if in == nil { + return nil + } + out := new(ManagedClusterStorageProfileBlobCSIDriver) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterStorageProfileBlobCSIDriver_STATUS) DeepCopyInto(out *ManagedClusterStorageProfileBlobCSIDriver_STATUS) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterStorageProfileBlobCSIDriver_STATUS. +func (in *ManagedClusterStorageProfileBlobCSIDriver_STATUS) DeepCopy() *ManagedClusterStorageProfileBlobCSIDriver_STATUS { + if in == nil { + return nil + } + out := new(ManagedClusterStorageProfileBlobCSIDriver_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterStorageProfileDiskCSIDriver) DeepCopyInto(out *ManagedClusterStorageProfileDiskCSIDriver) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterStorageProfileDiskCSIDriver. +func (in *ManagedClusterStorageProfileDiskCSIDriver) DeepCopy() *ManagedClusterStorageProfileDiskCSIDriver { + if in == nil { + return nil + } + out := new(ManagedClusterStorageProfileDiskCSIDriver) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterStorageProfileDiskCSIDriver_STATUS) DeepCopyInto(out *ManagedClusterStorageProfileDiskCSIDriver_STATUS) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterStorageProfileDiskCSIDriver_STATUS. +func (in *ManagedClusterStorageProfileDiskCSIDriver_STATUS) DeepCopy() *ManagedClusterStorageProfileDiskCSIDriver_STATUS { + if in == nil { + return nil + } + out := new(ManagedClusterStorageProfileDiskCSIDriver_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterStorageProfileFileCSIDriver) DeepCopyInto(out *ManagedClusterStorageProfileFileCSIDriver) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterStorageProfileFileCSIDriver. +func (in *ManagedClusterStorageProfileFileCSIDriver) DeepCopy() *ManagedClusterStorageProfileFileCSIDriver { + if in == nil { + return nil + } + out := new(ManagedClusterStorageProfileFileCSIDriver) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterStorageProfileFileCSIDriver_STATUS) DeepCopyInto(out *ManagedClusterStorageProfileFileCSIDriver_STATUS) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterStorageProfileFileCSIDriver_STATUS. +func (in *ManagedClusterStorageProfileFileCSIDriver_STATUS) DeepCopy() *ManagedClusterStorageProfileFileCSIDriver_STATUS { + if in == nil { + return nil + } + out := new(ManagedClusterStorageProfileFileCSIDriver_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterStorageProfileSnapshotController) DeepCopyInto(out *ManagedClusterStorageProfileSnapshotController) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterStorageProfileSnapshotController. +func (in *ManagedClusterStorageProfileSnapshotController) DeepCopy() *ManagedClusterStorageProfileSnapshotController { + if in == nil { + return nil + } + out := new(ManagedClusterStorageProfileSnapshotController) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterStorageProfileSnapshotController_STATUS) DeepCopyInto(out *ManagedClusterStorageProfileSnapshotController_STATUS) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterStorageProfileSnapshotController_STATUS. +func (in *ManagedClusterStorageProfileSnapshotController_STATUS) DeepCopy() *ManagedClusterStorageProfileSnapshotController_STATUS { + if in == nil { + return nil + } + out := new(ManagedClusterStorageProfileSnapshotController_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterStorageProfile_STATUS) DeepCopyInto(out *ManagedClusterStorageProfile_STATUS) { + *out = *in + if in.BlobCSIDriver != nil { + in, out := &in.BlobCSIDriver, &out.BlobCSIDriver + *out = new(ManagedClusterStorageProfileBlobCSIDriver_STATUS) + (*in).DeepCopyInto(*out) + } + if in.DiskCSIDriver != nil { + in, out := &in.DiskCSIDriver, &out.DiskCSIDriver + *out = new(ManagedClusterStorageProfileDiskCSIDriver_STATUS) + (*in).DeepCopyInto(*out) + } + if in.FileCSIDriver != nil { + in, out := &in.FileCSIDriver, &out.FileCSIDriver + *out = new(ManagedClusterStorageProfileFileCSIDriver_STATUS) + (*in).DeepCopyInto(*out) + } + if in.SnapshotController != nil { + in, out := &in.SnapshotController, &out.SnapshotController + *out = new(ManagedClusterStorageProfileSnapshotController_STATUS) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterStorageProfile_STATUS. +func (in *ManagedClusterStorageProfile_STATUS) DeepCopy() *ManagedClusterStorageProfile_STATUS { + if in == nil { + return nil + } + out := new(ManagedClusterStorageProfile_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterWindowsProfile) DeepCopyInto(out *ManagedClusterWindowsProfile) { + *out = *in + if in.AdminPassword != nil { + in, out := &in.AdminPassword, &out.AdminPassword + *out = new(genruntime.SecretReference) + **out = **in + } + if in.AdminUsername != nil { + in, out := &in.AdminUsername, &out.AdminUsername + *out = new(string) + **out = **in + } + if in.EnableCSIProxy != nil { + in, out := &in.EnableCSIProxy, &out.EnableCSIProxy + *out = new(bool) + **out = **in + } + if in.GmsaProfile != nil { + in, out := &in.GmsaProfile, &out.GmsaProfile + *out = new(WindowsGmsaProfile) + (*in).DeepCopyInto(*out) + } + if in.LicenseType != nil { + in, out := &in.LicenseType, &out.LicenseType + *out = new(ManagedClusterWindowsProfile_LicenseType) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterWindowsProfile. +func (in *ManagedClusterWindowsProfile) DeepCopy() *ManagedClusterWindowsProfile { + if in == nil { + return nil + } + out := new(ManagedClusterWindowsProfile) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterWindowsProfile_STATUS) DeepCopyInto(out *ManagedClusterWindowsProfile_STATUS) { + *out = *in + if in.AdminUsername != nil { + in, out := &in.AdminUsername, &out.AdminUsername + *out = new(string) + **out = **in + } + if in.EnableCSIProxy != nil { + in, out := &in.EnableCSIProxy, &out.EnableCSIProxy + *out = new(bool) + **out = **in + } + if in.GmsaProfile != nil { + in, out := &in.GmsaProfile, &out.GmsaProfile + *out = new(WindowsGmsaProfile_STATUS) + (*in).DeepCopyInto(*out) + } + if in.LicenseType != nil { + in, out := &in.LicenseType, &out.LicenseType + *out = new(ManagedClusterWindowsProfile_LicenseType_STATUS) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterWindowsProfile_STATUS. +func (in *ManagedClusterWindowsProfile_STATUS) DeepCopy() *ManagedClusterWindowsProfile_STATUS { + if in == nil { + return nil + } + out := new(ManagedClusterWindowsProfile_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterWorkloadAutoScalerProfile) DeepCopyInto(out *ManagedClusterWorkloadAutoScalerProfile) { + *out = *in + if in.Keda != nil { + in, out := &in.Keda, &out.Keda + *out = new(ManagedClusterWorkloadAutoScalerProfileKeda) + (*in).DeepCopyInto(*out) + } + if in.VerticalPodAutoscaler != nil { + in, out := &in.VerticalPodAutoscaler, &out.VerticalPodAutoscaler + *out = new(ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterWorkloadAutoScalerProfile. +func (in *ManagedClusterWorkloadAutoScalerProfile) DeepCopy() *ManagedClusterWorkloadAutoScalerProfile { + if in == nil { + return nil + } + out := new(ManagedClusterWorkloadAutoScalerProfile) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterWorkloadAutoScalerProfileKeda) DeepCopyInto(out *ManagedClusterWorkloadAutoScalerProfileKeda) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterWorkloadAutoScalerProfileKeda. +func (in *ManagedClusterWorkloadAutoScalerProfileKeda) DeepCopy() *ManagedClusterWorkloadAutoScalerProfileKeda { + if in == nil { + return nil + } + out := new(ManagedClusterWorkloadAutoScalerProfileKeda) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterWorkloadAutoScalerProfileKeda_STATUS) DeepCopyInto(out *ManagedClusterWorkloadAutoScalerProfileKeda_STATUS) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterWorkloadAutoScalerProfileKeda_STATUS. +func (in *ManagedClusterWorkloadAutoScalerProfileKeda_STATUS) DeepCopy() *ManagedClusterWorkloadAutoScalerProfileKeda_STATUS { + if in == nil { + return nil + } + out := new(ManagedClusterWorkloadAutoScalerProfileKeda_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler) DeepCopyInto(out *ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler. +func (in *ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler) DeepCopy() *ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler { + if in == nil { + return nil + } + out := new(ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS) DeepCopyInto(out *ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS. +func (in *ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS) DeepCopy() *ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS { + if in == nil { + return nil + } + out := new(ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClusterWorkloadAutoScalerProfile_STATUS) DeepCopyInto(out *ManagedClusterWorkloadAutoScalerProfile_STATUS) { + *out = *in + if in.Keda != nil { + in, out := &in.Keda, &out.Keda + *out = new(ManagedClusterWorkloadAutoScalerProfileKeda_STATUS) + (*in).DeepCopyInto(*out) + } + if in.VerticalPodAutoscaler != nil { + in, out := &in.VerticalPodAutoscaler, &out.VerticalPodAutoscaler + *out = new(ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClusterWorkloadAutoScalerProfile_STATUS. +func (in *ManagedClusterWorkloadAutoScalerProfile_STATUS) DeepCopy() *ManagedClusterWorkloadAutoScalerProfile_STATUS { + if in == nil { + return nil + } + out := new(ManagedClusterWorkloadAutoScalerProfile_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedCluster_STATUS) DeepCopyInto(out *ManagedCluster_STATUS) { + *out = *in + if in.AadProfile != nil { + in, out := &in.AadProfile, &out.AadProfile + *out = new(ManagedClusterAADProfile_STATUS) + (*in).DeepCopyInto(*out) + } + if in.AddonProfiles != nil { + in, out := &in.AddonProfiles, &out.AddonProfiles + *out = make(map[string]ManagedClusterAddonProfile_STATUS, len(*in)) + for key, val := range *in { + (*out)[key] = *val.DeepCopy() + } + } + if in.AgentPoolProfiles != nil { + in, out := &in.AgentPoolProfiles, &out.AgentPoolProfiles + *out = make([]ManagedClusterAgentPoolProfile_STATUS, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ApiServerAccessProfile != nil { + in, out := &in.ApiServerAccessProfile, &out.ApiServerAccessProfile + *out = new(ManagedClusterAPIServerAccessProfile_STATUS) + (*in).DeepCopyInto(*out) + } + if in.AutoScalerProfile != nil { + in, out := &in.AutoScalerProfile, &out.AutoScalerProfile + *out = new(ManagedClusterProperties_AutoScalerProfile_STATUS) + (*in).DeepCopyInto(*out) + } + if in.AutoUpgradeProfile != nil { + in, out := &in.AutoUpgradeProfile, &out.AutoUpgradeProfile + *out = new(ManagedClusterAutoUpgradeProfile_STATUS) + (*in).DeepCopyInto(*out) + } + if in.AzureMonitorProfile != nil { + in, out := &in.AzureMonitorProfile, &out.AzureMonitorProfile + *out = new(ManagedClusterAzureMonitorProfile_STATUS) + (*in).DeepCopyInto(*out) + } + if in.AzurePortalFQDN != nil { + in, out := &in.AzurePortalFQDN, &out.AzurePortalFQDN + *out = new(string) + **out = **in + } + if in.Conditions != nil { + in, out := &in.Conditions, &out.Conditions + *out = make([]conditions.Condition, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.CurrentKubernetesVersion != nil { + in, out := &in.CurrentKubernetesVersion, &out.CurrentKubernetesVersion + *out = new(string) + **out = **in + } + if in.DisableLocalAccounts != nil { + in, out := &in.DisableLocalAccounts, &out.DisableLocalAccounts + *out = new(bool) + **out = **in + } + if in.DiskEncryptionSetID != nil { + in, out := &in.DiskEncryptionSetID, &out.DiskEncryptionSetID + *out = new(string) + **out = **in + } + if in.DnsPrefix != nil { + in, out := &in.DnsPrefix, &out.DnsPrefix + *out = new(string) + **out = **in + } + if in.ETag != nil { + in, out := &in.ETag, &out.ETag + *out = new(string) + **out = **in + } + if in.EnablePodSecurityPolicy != nil { + in, out := &in.EnablePodSecurityPolicy, &out.EnablePodSecurityPolicy + *out = new(bool) + **out = **in + } + if in.EnableRBAC != nil { + in, out := &in.EnableRBAC, &out.EnableRBAC + *out = new(bool) + **out = **in + } + if in.ExtendedLocation != nil { + in, out := &in.ExtendedLocation, &out.ExtendedLocation + *out = new(ExtendedLocation_STATUS) + (*in).DeepCopyInto(*out) + } + if in.Fqdn != nil { + in, out := &in.Fqdn, &out.Fqdn + *out = new(string) + **out = **in + } + if in.FqdnSubdomain != nil { + in, out := &in.FqdnSubdomain, &out.FqdnSubdomain + *out = new(string) + **out = **in + } + if in.HttpProxyConfig != nil { + in, out := &in.HttpProxyConfig, &out.HttpProxyConfig + *out = new(ManagedClusterHTTPProxyConfig_STATUS) + (*in).DeepCopyInto(*out) + } + if in.Id != nil { + in, out := &in.Id, &out.Id + *out = new(string) + **out = **in + } + if in.Identity != nil { + in, out := &in.Identity, &out.Identity + *out = new(ManagedClusterIdentity_STATUS) + (*in).DeepCopyInto(*out) + } + if in.IdentityProfile != nil { + in, out := &in.IdentityProfile, &out.IdentityProfile + *out = make(map[string]UserAssignedIdentity_STATUS, len(*in)) + for key, val := range *in { + (*out)[key] = *val.DeepCopy() + } + } + if in.IngressProfile != nil { + in, out := &in.IngressProfile, &out.IngressProfile + *out = new(ManagedClusterIngressProfile_STATUS) + (*in).DeepCopyInto(*out) + } + if in.KubernetesVersion != nil { + in, out := &in.KubernetesVersion, &out.KubernetesVersion + *out = new(string) + **out = **in + } + if in.LinuxProfile != nil { + in, out := &in.LinuxProfile, &out.LinuxProfile + *out = new(ContainerServiceLinuxProfile_STATUS) + (*in).DeepCopyInto(*out) + } + if in.Location != nil { + in, out := &in.Location, &out.Location + *out = new(string) + **out = **in + } + if in.MaxAgentPools != nil { + in, out := &in.MaxAgentPools, &out.MaxAgentPools + *out = new(int) + **out = **in + } + if in.MetricsProfile != nil { + in, out := &in.MetricsProfile, &out.MetricsProfile + *out = new(ManagedClusterMetricsProfile_STATUS) + (*in).DeepCopyInto(*out) + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.NetworkProfile != nil { + in, out := &in.NetworkProfile, &out.NetworkProfile + *out = new(ContainerServiceNetworkProfile_STATUS) + (*in).DeepCopyInto(*out) + } + if in.NodeResourceGroup != nil { + in, out := &in.NodeResourceGroup, &out.NodeResourceGroup + *out = new(string) + **out = **in + } + if in.NodeResourceGroupProfile != nil { + in, out := &in.NodeResourceGroupProfile, &out.NodeResourceGroupProfile + *out = new(ManagedClusterNodeResourceGroupProfile_STATUS) + (*in).DeepCopyInto(*out) + } + if in.OidcIssuerProfile != nil { + in, out := &in.OidcIssuerProfile, &out.OidcIssuerProfile + *out = new(ManagedClusterOIDCIssuerProfile_STATUS) + (*in).DeepCopyInto(*out) + } + if in.PodIdentityProfile != nil { + in, out := &in.PodIdentityProfile, &out.PodIdentityProfile + *out = new(ManagedClusterPodIdentityProfile_STATUS) + (*in).DeepCopyInto(*out) + } + if in.PowerState != nil { + in, out := &in.PowerState, &out.PowerState + *out = new(PowerState_STATUS) + (*in).DeepCopyInto(*out) + } + if in.PrivateFQDN != nil { + in, out := &in.PrivateFQDN, &out.PrivateFQDN + *out = new(string) + **out = **in + } + if in.PrivateLinkResources != nil { + in, out := &in.PrivateLinkResources, &out.PrivateLinkResources + *out = make([]PrivateLinkResource_STATUS, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ProvisioningState != nil { + in, out := &in.ProvisioningState, &out.ProvisioningState + *out = new(string) + **out = **in + } + if in.PublicNetworkAccess != nil { + in, out := &in.PublicNetworkAccess, &out.PublicNetworkAccess + *out = new(ManagedClusterProperties_PublicNetworkAccess_STATUS) + **out = **in + } + if in.ResourceUID != nil { + in, out := &in.ResourceUID, &out.ResourceUID + *out = new(string) + **out = **in + } + if in.SecurityProfile != nil { + in, out := &in.SecurityProfile, &out.SecurityProfile + *out = new(ManagedClusterSecurityProfile_STATUS) + (*in).DeepCopyInto(*out) + } + if in.ServiceMeshProfile != nil { + in, out := &in.ServiceMeshProfile, &out.ServiceMeshProfile + *out = new(ServiceMeshProfile_STATUS) + (*in).DeepCopyInto(*out) + } + if in.ServicePrincipalProfile != nil { + in, out := &in.ServicePrincipalProfile, &out.ServicePrincipalProfile + *out = new(ManagedClusterServicePrincipalProfile_STATUS) + (*in).DeepCopyInto(*out) + } + if in.Sku != nil { + in, out := &in.Sku, &out.Sku + *out = new(ManagedClusterSKU_STATUS) + (*in).DeepCopyInto(*out) + } + if in.StorageProfile != nil { + in, out := &in.StorageProfile, &out.StorageProfile + *out = new(ManagedClusterStorageProfile_STATUS) + (*in).DeepCopyInto(*out) + } + if in.SupportPlan != nil { + in, out := &in.SupportPlan, &out.SupportPlan + *out = new(KubernetesSupportPlan_STATUS) + **out = **in + } + if in.SystemData != nil { + in, out := &in.SystemData, &out.SystemData + *out = new(SystemData_STATUS) + (*in).DeepCopyInto(*out) + } + if in.Tags != nil { + in, out := &in.Tags, &out.Tags + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.Type != nil { + in, out := &in.Type, &out.Type + *out = new(string) + **out = **in + } + if in.UpgradeSettings != nil { + in, out := &in.UpgradeSettings, &out.UpgradeSettings + *out = new(ClusterUpgradeSettings_STATUS) + (*in).DeepCopyInto(*out) + } + if in.WindowsProfile != nil { + in, out := &in.WindowsProfile, &out.WindowsProfile + *out = new(ManagedClusterWindowsProfile_STATUS) + (*in).DeepCopyInto(*out) + } + if in.WorkloadAutoScalerProfile != nil { + in, out := &in.WorkloadAutoScalerProfile, &out.WorkloadAutoScalerProfile + *out = new(ManagedClusterWorkloadAutoScalerProfile_STATUS) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedCluster_STATUS. +func (in *ManagedCluster_STATUS) DeepCopy() *ManagedCluster_STATUS { + if in == nil { + return nil + } + out := new(ManagedCluster_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedCluster_Spec) DeepCopyInto(out *ManagedCluster_Spec) { + *out = *in + if in.AadProfile != nil { + in, out := &in.AadProfile, &out.AadProfile + *out = new(ManagedClusterAADProfile) + (*in).DeepCopyInto(*out) + } + if in.AddonProfiles != nil { + in, out := &in.AddonProfiles, &out.AddonProfiles + *out = make(map[string]ManagedClusterAddonProfile, len(*in)) + for key, val := range *in { + (*out)[key] = *val.DeepCopy() + } + } + if in.AgentPoolProfiles != nil { + in, out := &in.AgentPoolProfiles, &out.AgentPoolProfiles + *out = make([]ManagedClusterAgentPoolProfile, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ApiServerAccessProfile != nil { + in, out := &in.ApiServerAccessProfile, &out.ApiServerAccessProfile + *out = new(ManagedClusterAPIServerAccessProfile) + (*in).DeepCopyInto(*out) + } + if in.AutoScalerProfile != nil { + in, out := &in.AutoScalerProfile, &out.AutoScalerProfile + *out = new(ManagedClusterProperties_AutoScalerProfile) + (*in).DeepCopyInto(*out) + } + if in.AutoUpgradeProfile != nil { + in, out := &in.AutoUpgradeProfile, &out.AutoUpgradeProfile + *out = new(ManagedClusterAutoUpgradeProfile) + (*in).DeepCopyInto(*out) + } + if in.AzureMonitorProfile != nil { + in, out := &in.AzureMonitorProfile, &out.AzureMonitorProfile + *out = new(ManagedClusterAzureMonitorProfile) + (*in).DeepCopyInto(*out) + } + if in.DisableLocalAccounts != nil { + in, out := &in.DisableLocalAccounts, &out.DisableLocalAccounts + *out = new(bool) + **out = **in + } + if in.DiskEncryptionSetReference != nil { + in, out := &in.DiskEncryptionSetReference, &out.DiskEncryptionSetReference + *out = new(genruntime.ResourceReference) + **out = **in + } + if in.DnsPrefix != nil { + in, out := &in.DnsPrefix, &out.DnsPrefix + *out = new(string) + **out = **in + } + if in.EnablePodSecurityPolicy != nil { + in, out := &in.EnablePodSecurityPolicy, &out.EnablePodSecurityPolicy + *out = new(bool) + **out = **in + } + if in.EnableRBAC != nil { + in, out := &in.EnableRBAC, &out.EnableRBAC + *out = new(bool) + **out = **in + } + if in.ExtendedLocation != nil { + in, out := &in.ExtendedLocation, &out.ExtendedLocation + *out = new(ExtendedLocation) + (*in).DeepCopyInto(*out) + } + if in.FqdnSubdomain != nil { + in, out := &in.FqdnSubdomain, &out.FqdnSubdomain + *out = new(string) + **out = **in + } + if in.HttpProxyConfig != nil { + in, out := &in.HttpProxyConfig, &out.HttpProxyConfig + *out = new(ManagedClusterHTTPProxyConfig) + (*in).DeepCopyInto(*out) + } + if in.Identity != nil { + in, out := &in.Identity, &out.Identity + *out = new(ManagedClusterIdentity) + (*in).DeepCopyInto(*out) + } + if in.IdentityProfile != nil { + in, out := &in.IdentityProfile, &out.IdentityProfile + *out = make(map[string]UserAssignedIdentity, len(*in)) + for key, val := range *in { + (*out)[key] = *val.DeepCopy() + } + } + if in.IngressProfile != nil { + in, out := &in.IngressProfile, &out.IngressProfile + *out = new(ManagedClusterIngressProfile) + (*in).DeepCopyInto(*out) + } + if in.KubernetesVersion != nil { + in, out := &in.KubernetesVersion, &out.KubernetesVersion + *out = new(string) + **out = **in + } + if in.LinuxProfile != nil { + in, out := &in.LinuxProfile, &out.LinuxProfile + *out = new(ContainerServiceLinuxProfile) + (*in).DeepCopyInto(*out) + } + if in.Location != nil { + in, out := &in.Location, &out.Location + *out = new(string) + **out = **in + } + if in.MetricsProfile != nil { + in, out := &in.MetricsProfile, &out.MetricsProfile + *out = new(ManagedClusterMetricsProfile) + (*in).DeepCopyInto(*out) + } + if in.NetworkProfile != nil { + in, out := &in.NetworkProfile, &out.NetworkProfile + *out = new(ContainerServiceNetworkProfile) + (*in).DeepCopyInto(*out) + } + if in.NodeResourceGroup != nil { + in, out := &in.NodeResourceGroup, &out.NodeResourceGroup + *out = new(string) + **out = **in + } + if in.NodeResourceGroupProfile != nil { + in, out := &in.NodeResourceGroupProfile, &out.NodeResourceGroupProfile + *out = new(ManagedClusterNodeResourceGroupProfile) + (*in).DeepCopyInto(*out) + } + if in.OidcIssuerProfile != nil { + in, out := &in.OidcIssuerProfile, &out.OidcIssuerProfile + *out = new(ManagedClusterOIDCIssuerProfile) + (*in).DeepCopyInto(*out) + } + if in.OperatorSpec != nil { + in, out := &in.OperatorSpec, &out.OperatorSpec + *out = new(ManagedClusterOperatorSpec) + (*in).DeepCopyInto(*out) + } + if in.Owner != nil { + in, out := &in.Owner, &out.Owner + *out = new(genruntime.KnownResourceReference) + **out = **in + } + if in.PodIdentityProfile != nil { + in, out := &in.PodIdentityProfile, &out.PodIdentityProfile + *out = new(ManagedClusterPodIdentityProfile) + (*in).DeepCopyInto(*out) + } + if in.PrivateLinkResources != nil { + in, out := &in.PrivateLinkResources, &out.PrivateLinkResources + *out = make([]PrivateLinkResource, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.PublicNetworkAccess != nil { + in, out := &in.PublicNetworkAccess, &out.PublicNetworkAccess + *out = new(ManagedClusterProperties_PublicNetworkAccess) + **out = **in + } + if in.SecurityProfile != nil { + in, out := &in.SecurityProfile, &out.SecurityProfile + *out = new(ManagedClusterSecurityProfile) + (*in).DeepCopyInto(*out) + } + if in.ServiceMeshProfile != nil { + in, out := &in.ServiceMeshProfile, &out.ServiceMeshProfile + *out = new(ServiceMeshProfile) + (*in).DeepCopyInto(*out) + } + if in.ServicePrincipalProfile != nil { + in, out := &in.ServicePrincipalProfile, &out.ServicePrincipalProfile + *out = new(ManagedClusterServicePrincipalProfile) + (*in).DeepCopyInto(*out) + } + if in.Sku != nil { + in, out := &in.Sku, &out.Sku + *out = new(ManagedClusterSKU) + (*in).DeepCopyInto(*out) + } + if in.StorageProfile != nil { + in, out := &in.StorageProfile, &out.StorageProfile + *out = new(ManagedClusterStorageProfile) + (*in).DeepCopyInto(*out) + } + if in.SupportPlan != nil { + in, out := &in.SupportPlan, &out.SupportPlan + *out = new(KubernetesSupportPlan) + **out = **in + } + if in.Tags != nil { + in, out := &in.Tags, &out.Tags + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.UpgradeSettings != nil { + in, out := &in.UpgradeSettings, &out.UpgradeSettings + *out = new(ClusterUpgradeSettings) + (*in).DeepCopyInto(*out) + } + if in.WindowsProfile != nil { + in, out := &in.WindowsProfile, &out.WindowsProfile + *out = new(ManagedClusterWindowsProfile) + (*in).DeepCopyInto(*out) + } + if in.WorkloadAutoScalerProfile != nil { + in, out := &in.WorkloadAutoScalerProfile, &out.WorkloadAutoScalerProfile + *out = new(ManagedClusterWorkloadAutoScalerProfile) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedCluster_Spec. +func (in *ManagedCluster_Spec) DeepCopy() *ManagedCluster_Spec { + if in == nil { + return nil + } + out := new(ManagedCluster_Spec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClustersAgentPool) DeepCopyInto(out *ManagedClustersAgentPool) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + in.Spec.DeepCopyInto(&out.Spec) + in.Status.DeepCopyInto(&out.Status) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClustersAgentPool. +func (in *ManagedClustersAgentPool) DeepCopy() *ManagedClustersAgentPool { + if in == nil { + return nil + } + out := new(ManagedClustersAgentPool) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ManagedClustersAgentPool) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClustersAgentPoolList) DeepCopyInto(out *ManagedClustersAgentPoolList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]ManagedClustersAgentPool, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClustersAgentPoolList. +func (in *ManagedClustersAgentPoolList) DeepCopy() *ManagedClustersAgentPoolList { + if in == nil { + return nil + } + out := new(ManagedClustersAgentPoolList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ManagedClustersAgentPoolList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClustersAgentPool_STATUS) DeepCopyInto(out *ManagedClustersAgentPool_STATUS) { + *out = *in + if in.AvailabilityZones != nil { + in, out := &in.AvailabilityZones, &out.AvailabilityZones + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.CapacityReservationGroupID != nil { + in, out := &in.CapacityReservationGroupID, &out.CapacityReservationGroupID + *out = new(string) + **out = **in + } + if in.Conditions != nil { + in, out := &in.Conditions, &out.Conditions + *out = make([]conditions.Condition, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Count != nil { + in, out := &in.Count, &out.Count + *out = new(int) + **out = **in + } + if in.CreationData != nil { + in, out := &in.CreationData, &out.CreationData + *out = new(CreationData_STATUS) + (*in).DeepCopyInto(*out) + } + if in.CurrentOrchestratorVersion != nil { + in, out := &in.CurrentOrchestratorVersion, &out.CurrentOrchestratorVersion + *out = new(string) + **out = **in + } + if in.ETag != nil { + in, out := &in.ETag, &out.ETag + *out = new(string) + **out = **in + } + if in.EnableAutoScaling != nil { + in, out := &in.EnableAutoScaling, &out.EnableAutoScaling + *out = new(bool) + **out = **in + } + if in.EnableEncryptionAtHost != nil { + in, out := &in.EnableEncryptionAtHost, &out.EnableEncryptionAtHost + *out = new(bool) + **out = **in + } + if in.EnableFIPS != nil { + in, out := &in.EnableFIPS, &out.EnableFIPS + *out = new(bool) + **out = **in + } + if in.EnableNodePublicIP != nil { + in, out := &in.EnableNodePublicIP, &out.EnableNodePublicIP + *out = new(bool) + **out = **in + } + if in.EnableUltraSSD != nil { + in, out := &in.EnableUltraSSD, &out.EnableUltraSSD + *out = new(bool) + **out = **in + } + if in.GpuInstanceProfile != nil { + in, out := &in.GpuInstanceProfile, &out.GpuInstanceProfile + *out = new(GPUInstanceProfile_STATUS) + **out = **in + } + if in.HostGroupID != nil { + in, out := &in.HostGroupID, &out.HostGroupID + *out = new(string) + **out = **in + } + if in.Id != nil { + in, out := &in.Id, &out.Id + *out = new(string) + **out = **in + } + if in.KubeletConfig != nil { + in, out := &in.KubeletConfig, &out.KubeletConfig + *out = new(KubeletConfig_STATUS) + (*in).DeepCopyInto(*out) + } + if in.KubeletDiskType != nil { + in, out := &in.KubeletDiskType, &out.KubeletDiskType + *out = new(KubeletDiskType_STATUS) + **out = **in + } + if in.LinuxOSConfig != nil { + in, out := &in.LinuxOSConfig, &out.LinuxOSConfig + *out = new(LinuxOSConfig_STATUS) + (*in).DeepCopyInto(*out) + } + if in.MaxCount != nil { + in, out := &in.MaxCount, &out.MaxCount + *out = new(int) + **out = **in + } + if in.MaxPods != nil { + in, out := &in.MaxPods, &out.MaxPods + *out = new(int) + **out = **in + } + if in.MinCount != nil { + in, out := &in.MinCount, &out.MinCount + *out = new(int) + **out = **in + } + if in.Mode != nil { + in, out := &in.Mode, &out.Mode + *out = new(AgentPoolMode_STATUS) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.NetworkProfile != nil { + in, out := &in.NetworkProfile, &out.NetworkProfile + *out = new(AgentPoolNetworkProfile_STATUS) + (*in).DeepCopyInto(*out) + } + if in.NodeImageVersion != nil { + in, out := &in.NodeImageVersion, &out.NodeImageVersion + *out = new(string) + **out = **in + } + if in.NodeLabels != nil { + in, out := &in.NodeLabels, &out.NodeLabels + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.NodePublicIPPrefixID != nil { + in, out := &in.NodePublicIPPrefixID, &out.NodePublicIPPrefixID + *out = new(string) + **out = **in + } + if in.NodeTaints != nil { + in, out := &in.NodeTaints, &out.NodeTaints + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.OrchestratorVersion != nil { + in, out := &in.OrchestratorVersion, &out.OrchestratorVersion + *out = new(string) + **out = **in + } + if in.OsDiskSizeGB != nil { + in, out := &in.OsDiskSizeGB, &out.OsDiskSizeGB + *out = new(int) + **out = **in + } + if in.OsDiskType != nil { + in, out := &in.OsDiskType, &out.OsDiskType + *out = new(OSDiskType_STATUS) + **out = **in + } + if in.OsSKU != nil { + in, out := &in.OsSKU, &out.OsSKU + *out = new(OSSKU_STATUS) + **out = **in + } + if in.OsType != nil { + in, out := &in.OsType, &out.OsType + *out = new(OSType_STATUS) + **out = **in + } + if in.PodSubnetID != nil { + in, out := &in.PodSubnetID, &out.PodSubnetID + *out = new(string) + **out = **in + } + if in.PowerState != nil { + in, out := &in.PowerState, &out.PowerState + *out = new(PowerState_STATUS) + (*in).DeepCopyInto(*out) + } + if in.PropertiesType != nil { + in, out := &in.PropertiesType, &out.PropertiesType + *out = new(AgentPoolType_STATUS) + **out = **in + } + if in.ProvisioningState != nil { + in, out := &in.ProvisioningState, &out.ProvisioningState + *out = new(string) + **out = **in + } + if in.ProximityPlacementGroupID != nil { + in, out := &in.ProximityPlacementGroupID, &out.ProximityPlacementGroupID + *out = new(string) + **out = **in + } + if in.ScaleDownMode != nil { + in, out := &in.ScaleDownMode, &out.ScaleDownMode + *out = new(ScaleDownMode_STATUS) + **out = **in + } + if in.ScaleSetEvictionPolicy != nil { + in, out := &in.ScaleSetEvictionPolicy, &out.ScaleSetEvictionPolicy + *out = new(ScaleSetEvictionPolicy_STATUS) + **out = **in + } + if in.ScaleSetPriority != nil { + in, out := &in.ScaleSetPriority, &out.ScaleSetPriority + *out = new(ScaleSetPriority_STATUS) + **out = **in + } + if in.SecurityProfile != nil { + in, out := &in.SecurityProfile, &out.SecurityProfile + *out = new(AgentPoolSecurityProfile_STATUS) + (*in).DeepCopyInto(*out) + } + if in.SpotMaxPrice != nil { + in, out := &in.SpotMaxPrice, &out.SpotMaxPrice + *out = new(float64) + **out = **in + } + if in.Tags != nil { + in, out := &in.Tags, &out.Tags + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.Type != nil { + in, out := &in.Type, &out.Type + *out = new(string) + **out = **in + } + if in.UpgradeSettings != nil { + in, out := &in.UpgradeSettings, &out.UpgradeSettings + *out = new(AgentPoolUpgradeSettings_STATUS) + (*in).DeepCopyInto(*out) + } + if in.VmSize != nil { + in, out := &in.VmSize, &out.VmSize + *out = new(string) + **out = **in + } + if in.VnetSubnetID != nil { + in, out := &in.VnetSubnetID, &out.VnetSubnetID + *out = new(string) + **out = **in + } + if in.WindowsProfile != nil { + in, out := &in.WindowsProfile, &out.WindowsProfile + *out = new(AgentPoolWindowsProfile_STATUS) + (*in).DeepCopyInto(*out) + } + if in.WorkloadRuntime != nil { + in, out := &in.WorkloadRuntime, &out.WorkloadRuntime + *out = new(WorkloadRuntime_STATUS) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClustersAgentPool_STATUS. +func (in *ManagedClustersAgentPool_STATUS) DeepCopy() *ManagedClustersAgentPool_STATUS { + if in == nil { + return nil + } + out := new(ManagedClustersAgentPool_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ManagedClustersAgentPool_Spec) DeepCopyInto(out *ManagedClustersAgentPool_Spec) { + *out = *in + if in.AvailabilityZones != nil { + in, out := &in.AvailabilityZones, &out.AvailabilityZones + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.CapacityReservationGroupReference != nil { + in, out := &in.CapacityReservationGroupReference, &out.CapacityReservationGroupReference + *out = new(genruntime.ResourceReference) + **out = **in + } + if in.Count != nil { + in, out := &in.Count, &out.Count + *out = new(int) + **out = **in + } + if in.CreationData != nil { + in, out := &in.CreationData, &out.CreationData + *out = new(CreationData) + (*in).DeepCopyInto(*out) + } + if in.EnableAutoScaling != nil { + in, out := &in.EnableAutoScaling, &out.EnableAutoScaling + *out = new(bool) + **out = **in + } + if in.EnableEncryptionAtHost != nil { + in, out := &in.EnableEncryptionAtHost, &out.EnableEncryptionAtHost + *out = new(bool) + **out = **in + } + if in.EnableFIPS != nil { + in, out := &in.EnableFIPS, &out.EnableFIPS + *out = new(bool) + **out = **in + } + if in.EnableNodePublicIP != nil { + in, out := &in.EnableNodePublicIP, &out.EnableNodePublicIP + *out = new(bool) + **out = **in + } + if in.EnableUltraSSD != nil { + in, out := &in.EnableUltraSSD, &out.EnableUltraSSD + *out = new(bool) + **out = **in + } + if in.GpuInstanceProfile != nil { + in, out := &in.GpuInstanceProfile, &out.GpuInstanceProfile + *out = new(GPUInstanceProfile) + **out = **in + } + if in.HostGroupReference != nil { + in, out := &in.HostGroupReference, &out.HostGroupReference + *out = new(genruntime.ResourceReference) + **out = **in + } + if in.KubeletConfig != nil { + in, out := &in.KubeletConfig, &out.KubeletConfig + *out = new(KubeletConfig) + (*in).DeepCopyInto(*out) + } + if in.KubeletDiskType != nil { + in, out := &in.KubeletDiskType, &out.KubeletDiskType + *out = new(KubeletDiskType) + **out = **in + } + if in.LinuxOSConfig != nil { + in, out := &in.LinuxOSConfig, &out.LinuxOSConfig + *out = new(LinuxOSConfig) + (*in).DeepCopyInto(*out) + } + if in.MaxCount != nil { + in, out := &in.MaxCount, &out.MaxCount + *out = new(int) + **out = **in + } + if in.MaxPods != nil { + in, out := &in.MaxPods, &out.MaxPods + *out = new(int) + **out = **in + } + if in.MinCount != nil { + in, out := &in.MinCount, &out.MinCount + *out = new(int) + **out = **in + } + if in.Mode != nil { + in, out := &in.Mode, &out.Mode + *out = new(AgentPoolMode) + **out = **in + } + if in.NetworkProfile != nil { + in, out := &in.NetworkProfile, &out.NetworkProfile + *out = new(AgentPoolNetworkProfile) + (*in).DeepCopyInto(*out) + } + if in.NodeLabels != nil { + in, out := &in.NodeLabels, &out.NodeLabels + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.NodePublicIPPrefixReference != nil { + in, out := &in.NodePublicIPPrefixReference, &out.NodePublicIPPrefixReference + *out = new(genruntime.ResourceReference) + **out = **in + } + if in.NodeTaints != nil { + in, out := &in.NodeTaints, &out.NodeTaints + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.OrchestratorVersion != nil { + in, out := &in.OrchestratorVersion, &out.OrchestratorVersion + *out = new(string) + **out = **in + } + if in.OsDiskSizeGB != nil { + in, out := &in.OsDiskSizeGB, &out.OsDiskSizeGB + *out = new(ContainerServiceOSDisk) + **out = **in + } + if in.OsDiskType != nil { + in, out := &in.OsDiskType, &out.OsDiskType + *out = new(OSDiskType) + **out = **in + } + if in.OsSKU != nil { + in, out := &in.OsSKU, &out.OsSKU + *out = new(OSSKU) + **out = **in + } + if in.OsType != nil { + in, out := &in.OsType, &out.OsType + *out = new(OSType) + **out = **in + } + if in.Owner != nil { + in, out := &in.Owner, &out.Owner + *out = new(genruntime.KnownResourceReference) + **out = **in + } + if in.PodSubnetReference != nil { + in, out := &in.PodSubnetReference, &out.PodSubnetReference + *out = new(genruntime.ResourceReference) + **out = **in + } + if in.PowerState != nil { + in, out := &in.PowerState, &out.PowerState + *out = new(PowerState) + (*in).DeepCopyInto(*out) + } + if in.ProximityPlacementGroupReference != nil { + in, out := &in.ProximityPlacementGroupReference, &out.ProximityPlacementGroupReference + *out = new(genruntime.ResourceReference) + **out = **in + } + if in.ScaleDownMode != nil { + in, out := &in.ScaleDownMode, &out.ScaleDownMode + *out = new(ScaleDownMode) + **out = **in + } + if in.ScaleSetEvictionPolicy != nil { + in, out := &in.ScaleSetEvictionPolicy, &out.ScaleSetEvictionPolicy + *out = new(ScaleSetEvictionPolicy) + **out = **in + } + if in.ScaleSetPriority != nil { + in, out := &in.ScaleSetPriority, &out.ScaleSetPriority + *out = new(ScaleSetPriority) + **out = **in + } + if in.SecurityProfile != nil { + in, out := &in.SecurityProfile, &out.SecurityProfile + *out = new(AgentPoolSecurityProfile) + (*in).DeepCopyInto(*out) + } + if in.SpotMaxPrice != nil { + in, out := &in.SpotMaxPrice, &out.SpotMaxPrice + *out = new(float64) + **out = **in + } + if in.Tags != nil { + in, out := &in.Tags, &out.Tags + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.Type != nil { + in, out := &in.Type, &out.Type + *out = new(AgentPoolType) + **out = **in + } + if in.UpgradeSettings != nil { + in, out := &in.UpgradeSettings, &out.UpgradeSettings + *out = new(AgentPoolUpgradeSettings) + (*in).DeepCopyInto(*out) + } + if in.VmSize != nil { + in, out := &in.VmSize, &out.VmSize + *out = new(string) + **out = **in + } + if in.VnetSubnetReference != nil { + in, out := &in.VnetSubnetReference, &out.VnetSubnetReference + *out = new(genruntime.ResourceReference) + **out = **in + } + if in.WindowsProfile != nil { + in, out := &in.WindowsProfile, &out.WindowsProfile + *out = new(AgentPoolWindowsProfile) + (*in).DeepCopyInto(*out) + } + if in.WorkloadRuntime != nil { + in, out := &in.WorkloadRuntime, &out.WorkloadRuntime + *out = new(WorkloadRuntime) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedClustersAgentPool_Spec. +func (in *ManagedClustersAgentPool_Spec) DeepCopy() *ManagedClustersAgentPool_Spec { + if in == nil { + return nil + } + out := new(ManagedClustersAgentPool_Spec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PortRange) DeepCopyInto(out *PortRange) { + *out = *in + if in.PortEnd != nil { + in, out := &in.PortEnd, &out.PortEnd + *out = new(int) + **out = **in + } + if in.PortStart != nil { + in, out := &in.PortStart, &out.PortStart + *out = new(int) + **out = **in + } + if in.Protocol != nil { + in, out := &in.Protocol, &out.Protocol + *out = new(PortRange_Protocol) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PortRange. +func (in *PortRange) DeepCopy() *PortRange { + if in == nil { + return nil + } + out := new(PortRange) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PortRange_STATUS) DeepCopyInto(out *PortRange_STATUS) { + *out = *in + if in.PortEnd != nil { + in, out := &in.PortEnd, &out.PortEnd + *out = new(int) + **out = **in + } + if in.PortStart != nil { + in, out := &in.PortStart, &out.PortStart + *out = new(int) + **out = **in + } + if in.Protocol != nil { + in, out := &in.Protocol, &out.Protocol + *out = new(PortRange_Protocol_STATUS) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PortRange_STATUS. +func (in *PortRange_STATUS) DeepCopy() *PortRange_STATUS { + if in == nil { + return nil + } + out := new(PortRange_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PowerState) DeepCopyInto(out *PowerState) { + *out = *in + if in.Code != nil { + in, out := &in.Code, &out.Code + *out = new(PowerState_Code) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PowerState. +func (in *PowerState) DeepCopy() *PowerState { + if in == nil { + return nil + } + out := new(PowerState) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PowerState_STATUS) DeepCopyInto(out *PowerState_STATUS) { + *out = *in + if in.Code != nil { + in, out := &in.Code, &out.Code + *out = new(PowerState_Code_STATUS) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PowerState_STATUS. +func (in *PowerState_STATUS) DeepCopy() *PowerState_STATUS { + if in == nil { + return nil + } + out := new(PowerState_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PrivateLinkResource) DeepCopyInto(out *PrivateLinkResource) { + *out = *in + if in.GroupId != nil { + in, out := &in.GroupId, &out.GroupId + *out = new(string) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Reference != nil { + in, out := &in.Reference, &out.Reference + *out = new(genruntime.ResourceReference) + **out = **in + } + if in.RequiredMembers != nil { + in, out := &in.RequiredMembers, &out.RequiredMembers + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.Type != nil { + in, out := &in.Type, &out.Type + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PrivateLinkResource. +func (in *PrivateLinkResource) DeepCopy() *PrivateLinkResource { + if in == nil { + return nil + } + out := new(PrivateLinkResource) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PrivateLinkResource_STATUS) DeepCopyInto(out *PrivateLinkResource_STATUS) { + *out = *in + if in.GroupId != nil { + in, out := &in.GroupId, &out.GroupId + *out = new(string) + **out = **in + } + if in.Id != nil { + in, out := &in.Id, &out.Id + *out = new(string) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.PrivateLinkServiceID != nil { + in, out := &in.PrivateLinkServiceID, &out.PrivateLinkServiceID + *out = new(string) + **out = **in + } + if in.RequiredMembers != nil { + in, out := &in.RequiredMembers, &out.RequiredMembers + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.Type != nil { + in, out := &in.Type, &out.Type + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PrivateLinkResource_STATUS. +func (in *PrivateLinkResource_STATUS) DeepCopy() *PrivateLinkResource_STATUS { + if in == nil { + return nil + } + out := new(PrivateLinkResource_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RelativeMonthlySchedule) DeepCopyInto(out *RelativeMonthlySchedule) { + *out = *in + if in.DayOfWeek != nil { + in, out := &in.DayOfWeek, &out.DayOfWeek + *out = new(WeekDay) + **out = **in + } + if in.IntervalMonths != nil { + in, out := &in.IntervalMonths, &out.IntervalMonths + *out = new(int) + **out = **in + } + if in.WeekIndex != nil { + in, out := &in.WeekIndex, &out.WeekIndex + *out = new(RelativeMonthlySchedule_WeekIndex) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RelativeMonthlySchedule. +func (in *RelativeMonthlySchedule) DeepCopy() *RelativeMonthlySchedule { + if in == nil { + return nil + } + out := new(RelativeMonthlySchedule) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RelativeMonthlySchedule_STATUS) DeepCopyInto(out *RelativeMonthlySchedule_STATUS) { + *out = *in + if in.DayOfWeek != nil { + in, out := &in.DayOfWeek, &out.DayOfWeek + *out = new(WeekDay_STATUS) + **out = **in + } + if in.IntervalMonths != nil { + in, out := &in.IntervalMonths, &out.IntervalMonths + *out = new(int) + **out = **in + } + if in.WeekIndex != nil { + in, out := &in.WeekIndex, &out.WeekIndex + *out = new(RelativeMonthlySchedule_WeekIndex_STATUS) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RelativeMonthlySchedule_STATUS. +func (in *RelativeMonthlySchedule_STATUS) DeepCopy() *RelativeMonthlySchedule_STATUS { + if in == nil { + return nil + } + out := new(RelativeMonthlySchedule_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ResourceReference) DeepCopyInto(out *ResourceReference) { + *out = *in + if in.Reference != nil { + in, out := &in.Reference, &out.Reference + *out = new(genruntime.ResourceReference) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceReference. +func (in *ResourceReference) DeepCopy() *ResourceReference { + if in == nil { + return nil + } + out := new(ResourceReference) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ResourceReference_STATUS) DeepCopyInto(out *ResourceReference_STATUS) { + *out = *in + if in.Id != nil { + in, out := &in.Id, &out.Id + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceReference_STATUS. +func (in *ResourceReference_STATUS) DeepCopy() *ResourceReference_STATUS { + if in == nil { + return nil + } + out := new(ResourceReference_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Schedule) DeepCopyInto(out *Schedule) { + *out = *in + if in.AbsoluteMonthly != nil { + in, out := &in.AbsoluteMonthly, &out.AbsoluteMonthly + *out = new(AbsoluteMonthlySchedule) + (*in).DeepCopyInto(*out) + } + if in.Daily != nil { + in, out := &in.Daily, &out.Daily + *out = new(DailySchedule) + (*in).DeepCopyInto(*out) + } + if in.RelativeMonthly != nil { + in, out := &in.RelativeMonthly, &out.RelativeMonthly + *out = new(RelativeMonthlySchedule) + (*in).DeepCopyInto(*out) + } + if in.Weekly != nil { + in, out := &in.Weekly, &out.Weekly + *out = new(WeeklySchedule) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Schedule. +func (in *Schedule) DeepCopy() *Schedule { + if in == nil { + return nil + } + out := new(Schedule) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Schedule_STATUS) DeepCopyInto(out *Schedule_STATUS) { + *out = *in + if in.AbsoluteMonthly != nil { + in, out := &in.AbsoluteMonthly, &out.AbsoluteMonthly + *out = new(AbsoluteMonthlySchedule_STATUS) + (*in).DeepCopyInto(*out) + } + if in.Daily != nil { + in, out := &in.Daily, &out.Daily + *out = new(DailySchedule_STATUS) + (*in).DeepCopyInto(*out) + } + if in.RelativeMonthly != nil { + in, out := &in.RelativeMonthly, &out.RelativeMonthly + *out = new(RelativeMonthlySchedule_STATUS) + (*in).DeepCopyInto(*out) + } + if in.Weekly != nil { + in, out := &in.Weekly, &out.Weekly + *out = new(WeeklySchedule_STATUS) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Schedule_STATUS. +func (in *Schedule_STATUS) DeepCopy() *Schedule_STATUS { + if in == nil { + return nil + } + out := new(Schedule_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServiceMeshProfile) DeepCopyInto(out *ServiceMeshProfile) { + *out = *in + if in.Istio != nil { + in, out := &in.Istio, &out.Istio + *out = new(IstioServiceMesh) + (*in).DeepCopyInto(*out) + } + if in.Mode != nil { + in, out := &in.Mode, &out.Mode + *out = new(ServiceMeshProfile_Mode) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceMeshProfile. +func (in *ServiceMeshProfile) DeepCopy() *ServiceMeshProfile { + if in == nil { + return nil + } + out := new(ServiceMeshProfile) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServiceMeshProfile_STATUS) DeepCopyInto(out *ServiceMeshProfile_STATUS) { + *out = *in + if in.Istio != nil { + in, out := &in.Istio, &out.Istio + *out = new(IstioServiceMesh_STATUS) + (*in).DeepCopyInto(*out) + } + if in.Mode != nil { + in, out := &in.Mode, &out.Mode + *out = new(ServiceMeshProfile_Mode_STATUS) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceMeshProfile_STATUS. +func (in *ServiceMeshProfile_STATUS) DeepCopy() *ServiceMeshProfile_STATUS { + if in == nil { + return nil + } + out := new(ServiceMeshProfile_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SysctlConfig) DeepCopyInto(out *SysctlConfig) { + *out = *in + if in.FsAioMaxNr != nil { + in, out := &in.FsAioMaxNr, &out.FsAioMaxNr + *out = new(int) + **out = **in + } + if in.FsFileMax != nil { + in, out := &in.FsFileMax, &out.FsFileMax + *out = new(int) + **out = **in + } + if in.FsInotifyMaxUserWatches != nil { + in, out := &in.FsInotifyMaxUserWatches, &out.FsInotifyMaxUserWatches + *out = new(int) + **out = **in + } + if in.FsNrOpen != nil { + in, out := &in.FsNrOpen, &out.FsNrOpen + *out = new(int) + **out = **in + } + if in.KernelThreadsMax != nil { + in, out := &in.KernelThreadsMax, &out.KernelThreadsMax + *out = new(int) + **out = **in + } + if in.NetCoreNetdevMaxBacklog != nil { + in, out := &in.NetCoreNetdevMaxBacklog, &out.NetCoreNetdevMaxBacklog + *out = new(int) + **out = **in + } + if in.NetCoreOptmemMax != nil { + in, out := &in.NetCoreOptmemMax, &out.NetCoreOptmemMax + *out = new(int) + **out = **in + } + if in.NetCoreRmemDefault != nil { + in, out := &in.NetCoreRmemDefault, &out.NetCoreRmemDefault + *out = new(int) + **out = **in + } + if in.NetCoreRmemMax != nil { + in, out := &in.NetCoreRmemMax, &out.NetCoreRmemMax + *out = new(int) + **out = **in + } + if in.NetCoreSomaxconn != nil { + in, out := &in.NetCoreSomaxconn, &out.NetCoreSomaxconn + *out = new(int) + **out = **in + } + if in.NetCoreWmemDefault != nil { + in, out := &in.NetCoreWmemDefault, &out.NetCoreWmemDefault + *out = new(int) + **out = **in + } + if in.NetCoreWmemMax != nil { + in, out := &in.NetCoreWmemMax, &out.NetCoreWmemMax + *out = new(int) + **out = **in + } + if in.NetIpv4IpLocalPortRange != nil { + in, out := &in.NetIpv4IpLocalPortRange, &out.NetIpv4IpLocalPortRange + *out = new(string) + **out = **in + } + if in.NetIpv4NeighDefaultGcThresh1 != nil { + in, out := &in.NetIpv4NeighDefaultGcThresh1, &out.NetIpv4NeighDefaultGcThresh1 + *out = new(int) + **out = **in + } + if in.NetIpv4NeighDefaultGcThresh2 != nil { + in, out := &in.NetIpv4NeighDefaultGcThresh2, &out.NetIpv4NeighDefaultGcThresh2 + *out = new(int) + **out = **in + } + if in.NetIpv4NeighDefaultGcThresh3 != nil { + in, out := &in.NetIpv4NeighDefaultGcThresh3, &out.NetIpv4NeighDefaultGcThresh3 + *out = new(int) + **out = **in + } + if in.NetIpv4TcpFinTimeout != nil { + in, out := &in.NetIpv4TcpFinTimeout, &out.NetIpv4TcpFinTimeout + *out = new(int) + **out = **in + } + if in.NetIpv4TcpKeepaliveProbes != nil { + in, out := &in.NetIpv4TcpKeepaliveProbes, &out.NetIpv4TcpKeepaliveProbes + *out = new(int) + **out = **in + } + if in.NetIpv4TcpKeepaliveTime != nil { + in, out := &in.NetIpv4TcpKeepaliveTime, &out.NetIpv4TcpKeepaliveTime + *out = new(int) + **out = **in + } + if in.NetIpv4TcpMaxSynBacklog != nil { + in, out := &in.NetIpv4TcpMaxSynBacklog, &out.NetIpv4TcpMaxSynBacklog + *out = new(int) + **out = **in + } + if in.NetIpv4TcpMaxTwBuckets != nil { + in, out := &in.NetIpv4TcpMaxTwBuckets, &out.NetIpv4TcpMaxTwBuckets + *out = new(int) + **out = **in + } + if in.NetIpv4TcpTwReuse != nil { + in, out := &in.NetIpv4TcpTwReuse, &out.NetIpv4TcpTwReuse + *out = new(bool) + **out = **in + } + if in.NetIpv4TcpkeepaliveIntvl != nil { + in, out := &in.NetIpv4TcpkeepaliveIntvl, &out.NetIpv4TcpkeepaliveIntvl + *out = new(int) + **out = **in + } + if in.NetNetfilterNfConntrackBuckets != nil { + in, out := &in.NetNetfilterNfConntrackBuckets, &out.NetNetfilterNfConntrackBuckets + *out = new(int) + **out = **in + } + if in.NetNetfilterNfConntrackMax != nil { + in, out := &in.NetNetfilterNfConntrackMax, &out.NetNetfilterNfConntrackMax + *out = new(int) + **out = **in + } + if in.VmMaxMapCount != nil { + in, out := &in.VmMaxMapCount, &out.VmMaxMapCount + *out = new(int) + **out = **in + } + if in.VmSwappiness != nil { + in, out := &in.VmSwappiness, &out.VmSwappiness + *out = new(int) + **out = **in + } + if in.VmVfsCachePressure != nil { + in, out := &in.VmVfsCachePressure, &out.VmVfsCachePressure + *out = new(int) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SysctlConfig. +func (in *SysctlConfig) DeepCopy() *SysctlConfig { + if in == nil { + return nil + } + out := new(SysctlConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SysctlConfig_STATUS) DeepCopyInto(out *SysctlConfig_STATUS) { + *out = *in + if in.FsAioMaxNr != nil { + in, out := &in.FsAioMaxNr, &out.FsAioMaxNr + *out = new(int) + **out = **in + } + if in.FsFileMax != nil { + in, out := &in.FsFileMax, &out.FsFileMax + *out = new(int) + **out = **in + } + if in.FsInotifyMaxUserWatches != nil { + in, out := &in.FsInotifyMaxUserWatches, &out.FsInotifyMaxUserWatches + *out = new(int) + **out = **in + } + if in.FsNrOpen != nil { + in, out := &in.FsNrOpen, &out.FsNrOpen + *out = new(int) + **out = **in + } + if in.KernelThreadsMax != nil { + in, out := &in.KernelThreadsMax, &out.KernelThreadsMax + *out = new(int) + **out = **in + } + if in.NetCoreNetdevMaxBacklog != nil { + in, out := &in.NetCoreNetdevMaxBacklog, &out.NetCoreNetdevMaxBacklog + *out = new(int) + **out = **in + } + if in.NetCoreOptmemMax != nil { + in, out := &in.NetCoreOptmemMax, &out.NetCoreOptmemMax + *out = new(int) + **out = **in + } + if in.NetCoreRmemDefault != nil { + in, out := &in.NetCoreRmemDefault, &out.NetCoreRmemDefault + *out = new(int) + **out = **in + } + if in.NetCoreRmemMax != nil { + in, out := &in.NetCoreRmemMax, &out.NetCoreRmemMax + *out = new(int) + **out = **in + } + if in.NetCoreSomaxconn != nil { + in, out := &in.NetCoreSomaxconn, &out.NetCoreSomaxconn + *out = new(int) + **out = **in + } + if in.NetCoreWmemDefault != nil { + in, out := &in.NetCoreWmemDefault, &out.NetCoreWmemDefault + *out = new(int) + **out = **in + } + if in.NetCoreWmemMax != nil { + in, out := &in.NetCoreWmemMax, &out.NetCoreWmemMax + *out = new(int) + **out = **in + } + if in.NetIpv4IpLocalPortRange != nil { + in, out := &in.NetIpv4IpLocalPortRange, &out.NetIpv4IpLocalPortRange + *out = new(string) + **out = **in + } + if in.NetIpv4NeighDefaultGcThresh1 != nil { + in, out := &in.NetIpv4NeighDefaultGcThresh1, &out.NetIpv4NeighDefaultGcThresh1 + *out = new(int) + **out = **in + } + if in.NetIpv4NeighDefaultGcThresh2 != nil { + in, out := &in.NetIpv4NeighDefaultGcThresh2, &out.NetIpv4NeighDefaultGcThresh2 + *out = new(int) + **out = **in + } + if in.NetIpv4NeighDefaultGcThresh3 != nil { + in, out := &in.NetIpv4NeighDefaultGcThresh3, &out.NetIpv4NeighDefaultGcThresh3 + *out = new(int) + **out = **in + } + if in.NetIpv4TcpFinTimeout != nil { + in, out := &in.NetIpv4TcpFinTimeout, &out.NetIpv4TcpFinTimeout + *out = new(int) + **out = **in + } + if in.NetIpv4TcpKeepaliveProbes != nil { + in, out := &in.NetIpv4TcpKeepaliveProbes, &out.NetIpv4TcpKeepaliveProbes + *out = new(int) + **out = **in + } + if in.NetIpv4TcpKeepaliveTime != nil { + in, out := &in.NetIpv4TcpKeepaliveTime, &out.NetIpv4TcpKeepaliveTime + *out = new(int) + **out = **in + } + if in.NetIpv4TcpMaxSynBacklog != nil { + in, out := &in.NetIpv4TcpMaxSynBacklog, &out.NetIpv4TcpMaxSynBacklog + *out = new(int) + **out = **in + } + if in.NetIpv4TcpMaxTwBuckets != nil { + in, out := &in.NetIpv4TcpMaxTwBuckets, &out.NetIpv4TcpMaxTwBuckets + *out = new(int) + **out = **in + } + if in.NetIpv4TcpTwReuse != nil { + in, out := &in.NetIpv4TcpTwReuse, &out.NetIpv4TcpTwReuse + *out = new(bool) + **out = **in + } + if in.NetIpv4TcpkeepaliveIntvl != nil { + in, out := &in.NetIpv4TcpkeepaliveIntvl, &out.NetIpv4TcpkeepaliveIntvl + *out = new(int) + **out = **in + } + if in.NetNetfilterNfConntrackBuckets != nil { + in, out := &in.NetNetfilterNfConntrackBuckets, &out.NetNetfilterNfConntrackBuckets + *out = new(int) + **out = **in + } + if in.NetNetfilterNfConntrackMax != nil { + in, out := &in.NetNetfilterNfConntrackMax, &out.NetNetfilterNfConntrackMax + *out = new(int) + **out = **in + } + if in.VmMaxMapCount != nil { + in, out := &in.VmMaxMapCount, &out.VmMaxMapCount + *out = new(int) + **out = **in + } + if in.VmSwappiness != nil { + in, out := &in.VmSwappiness, &out.VmSwappiness + *out = new(int) + **out = **in + } + if in.VmVfsCachePressure != nil { + in, out := &in.VmVfsCachePressure, &out.VmVfsCachePressure + *out = new(int) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SysctlConfig_STATUS. +func (in *SysctlConfig_STATUS) DeepCopy() *SysctlConfig_STATUS { + if in == nil { + return nil + } + out := new(SysctlConfig_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SystemData_STATUS) DeepCopyInto(out *SystemData_STATUS) { + *out = *in + if in.CreatedAt != nil { + in, out := &in.CreatedAt, &out.CreatedAt + *out = new(string) + **out = **in + } + if in.CreatedBy != nil { + in, out := &in.CreatedBy, &out.CreatedBy + *out = new(string) + **out = **in + } + if in.CreatedByType != nil { + in, out := &in.CreatedByType, &out.CreatedByType + *out = new(SystemData_CreatedByType_STATUS) + **out = **in + } + if in.LastModifiedAt != nil { + in, out := &in.LastModifiedAt, &out.LastModifiedAt + *out = new(string) + **out = **in + } + if in.LastModifiedBy != nil { + in, out := &in.LastModifiedBy, &out.LastModifiedBy + *out = new(string) + **out = **in + } + if in.LastModifiedByType != nil { + in, out := &in.LastModifiedByType, &out.LastModifiedByType + *out = new(SystemData_LastModifiedByType_STATUS) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SystemData_STATUS. +func (in *SystemData_STATUS) DeepCopy() *SystemData_STATUS { + if in == nil { + return nil + } + out := new(SystemData_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TimeInWeek) DeepCopyInto(out *TimeInWeek) { + *out = *in + if in.Day != nil { + in, out := &in.Day, &out.Day + *out = new(WeekDay) + **out = **in + } + if in.HourSlots != nil { + in, out := &in.HourSlots, &out.HourSlots + *out = make([]HourInDay, len(*in)) + copy(*out, *in) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TimeInWeek. +func (in *TimeInWeek) DeepCopy() *TimeInWeek { + if in == nil { + return nil + } + out := new(TimeInWeek) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TimeInWeek_STATUS) DeepCopyInto(out *TimeInWeek_STATUS) { + *out = *in + if in.Day != nil { + in, out := &in.Day, &out.Day + *out = new(WeekDay_STATUS) + **out = **in + } + if in.HourSlots != nil { + in, out := &in.HourSlots, &out.HourSlots + *out = make([]int, len(*in)) + copy(*out, *in) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TimeInWeek_STATUS. +func (in *TimeInWeek_STATUS) DeepCopy() *TimeInWeek_STATUS { + if in == nil { + return nil + } + out := new(TimeInWeek_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TimeSpan) DeepCopyInto(out *TimeSpan) { + *out = *in + if in.End != nil { + in, out := &in.End, &out.End + *out = new(string) + **out = **in + } + if in.Start != nil { + in, out := &in.Start, &out.Start + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TimeSpan. +func (in *TimeSpan) DeepCopy() *TimeSpan { + if in == nil { + return nil + } + out := new(TimeSpan) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TimeSpan_STATUS) DeepCopyInto(out *TimeSpan_STATUS) { + *out = *in + if in.End != nil { + in, out := &in.End, &out.End + *out = new(string) + **out = **in + } + if in.Start != nil { + in, out := &in.Start, &out.Start + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TimeSpan_STATUS. +func (in *TimeSpan_STATUS) DeepCopy() *TimeSpan_STATUS { + if in == nil { + return nil + } + out := new(TimeSpan_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TrustedAccessRoleBinding) DeepCopyInto(out *TrustedAccessRoleBinding) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + in.Spec.DeepCopyInto(&out.Spec) + in.Status.DeepCopyInto(&out.Status) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TrustedAccessRoleBinding. +func (in *TrustedAccessRoleBinding) DeepCopy() *TrustedAccessRoleBinding { + if in == nil { + return nil + } + out := new(TrustedAccessRoleBinding) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *TrustedAccessRoleBinding) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TrustedAccessRoleBindingList) DeepCopyInto(out *TrustedAccessRoleBindingList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]TrustedAccessRoleBinding, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TrustedAccessRoleBindingList. +func (in *TrustedAccessRoleBindingList) DeepCopy() *TrustedAccessRoleBindingList { + if in == nil { + return nil + } + out := new(TrustedAccessRoleBindingList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *TrustedAccessRoleBindingList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TrustedAccessRoleBinding_STATUS) DeepCopyInto(out *TrustedAccessRoleBinding_STATUS) { + *out = *in + if in.Conditions != nil { + in, out := &in.Conditions, &out.Conditions + *out = make([]conditions.Condition, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Id != nil { + in, out := &in.Id, &out.Id + *out = new(string) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.ProvisioningState != nil { + in, out := &in.ProvisioningState, &out.ProvisioningState + *out = new(TrustedAccessRoleBindingProperties_ProvisioningState_STATUS) + **out = **in + } + if in.Roles != nil { + in, out := &in.Roles, &out.Roles + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.SourceResourceId != nil { + in, out := &in.SourceResourceId, &out.SourceResourceId + *out = new(string) + **out = **in + } + if in.SystemData != nil { + in, out := &in.SystemData, &out.SystemData + *out = new(SystemData_STATUS) + (*in).DeepCopyInto(*out) + } + if in.Type != nil { + in, out := &in.Type, &out.Type + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TrustedAccessRoleBinding_STATUS. +func (in *TrustedAccessRoleBinding_STATUS) DeepCopy() *TrustedAccessRoleBinding_STATUS { + if in == nil { + return nil + } + out := new(TrustedAccessRoleBinding_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *TrustedAccessRoleBinding_Spec) DeepCopyInto(out *TrustedAccessRoleBinding_Spec) { + *out = *in + if in.Owner != nil { + in, out := &in.Owner, &out.Owner + *out = new(genruntime.KnownResourceReference) + **out = **in + } + if in.Roles != nil { + in, out := &in.Roles, &out.Roles + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.SourceResourceReference != nil { + in, out := &in.SourceResourceReference, &out.SourceResourceReference + *out = new(genruntime.ResourceReference) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TrustedAccessRoleBinding_Spec. +func (in *TrustedAccessRoleBinding_Spec) DeepCopy() *TrustedAccessRoleBinding_Spec { + if in == nil { + return nil + } + out := new(TrustedAccessRoleBinding_Spec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *UpgradeOverrideSettings) DeepCopyInto(out *UpgradeOverrideSettings) { + *out = *in + if in.ForceUpgrade != nil { + in, out := &in.ForceUpgrade, &out.ForceUpgrade + *out = new(bool) + **out = **in + } + if in.Until != nil { + in, out := &in.Until, &out.Until + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UpgradeOverrideSettings. +func (in *UpgradeOverrideSettings) DeepCopy() *UpgradeOverrideSettings { + if in == nil { + return nil + } + out := new(UpgradeOverrideSettings) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *UpgradeOverrideSettings_STATUS) DeepCopyInto(out *UpgradeOverrideSettings_STATUS) { + *out = *in + if in.ForceUpgrade != nil { + in, out := &in.ForceUpgrade, &out.ForceUpgrade + *out = new(bool) + **out = **in + } + if in.Until != nil { + in, out := &in.Until, &out.Until + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UpgradeOverrideSettings_STATUS. +func (in *UpgradeOverrideSettings_STATUS) DeepCopy() *UpgradeOverrideSettings_STATUS { + if in == nil { + return nil + } + out := new(UpgradeOverrideSettings_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *UserAssignedIdentity) DeepCopyInto(out *UserAssignedIdentity) { + *out = *in + if in.ClientId != nil { + in, out := &in.ClientId, &out.ClientId + *out = new(string) + **out = **in + } + if in.ObjectId != nil { + in, out := &in.ObjectId, &out.ObjectId + *out = new(string) + **out = **in + } + if in.ResourceReference != nil { + in, out := &in.ResourceReference, &out.ResourceReference + *out = new(genruntime.ResourceReference) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserAssignedIdentity. +func (in *UserAssignedIdentity) DeepCopy() *UserAssignedIdentity { + if in == nil { + return nil + } + out := new(UserAssignedIdentity) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *UserAssignedIdentityDetails) DeepCopyInto(out *UserAssignedIdentityDetails) { + *out = *in + out.Reference = in.Reference +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserAssignedIdentityDetails. +func (in *UserAssignedIdentityDetails) DeepCopy() *UserAssignedIdentityDetails { + if in == nil { + return nil + } + out := new(UserAssignedIdentityDetails) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *UserAssignedIdentity_STATUS) DeepCopyInto(out *UserAssignedIdentity_STATUS) { + *out = *in + if in.ClientId != nil { + in, out := &in.ClientId, &out.ClientId + *out = new(string) + **out = **in + } + if in.ObjectId != nil { + in, out := &in.ObjectId, &out.ObjectId + *out = new(string) + **out = **in + } + if in.ResourceId != nil { + in, out := &in.ResourceId, &out.ResourceId + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserAssignedIdentity_STATUS. +func (in *UserAssignedIdentity_STATUS) DeepCopy() *UserAssignedIdentity_STATUS { + if in == nil { + return nil + } + out := new(UserAssignedIdentity_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WeeklySchedule) DeepCopyInto(out *WeeklySchedule) { + *out = *in + if in.DayOfWeek != nil { + in, out := &in.DayOfWeek, &out.DayOfWeek + *out = new(WeekDay) + **out = **in + } + if in.IntervalWeeks != nil { + in, out := &in.IntervalWeeks, &out.IntervalWeeks + *out = new(int) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WeeklySchedule. +func (in *WeeklySchedule) DeepCopy() *WeeklySchedule { + if in == nil { + return nil + } + out := new(WeeklySchedule) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WeeklySchedule_STATUS) DeepCopyInto(out *WeeklySchedule_STATUS) { + *out = *in + if in.DayOfWeek != nil { + in, out := &in.DayOfWeek, &out.DayOfWeek + *out = new(WeekDay_STATUS) + **out = **in + } + if in.IntervalWeeks != nil { + in, out := &in.IntervalWeeks, &out.IntervalWeeks + *out = new(int) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WeeklySchedule_STATUS. +func (in *WeeklySchedule_STATUS) DeepCopy() *WeeklySchedule_STATUS { + if in == nil { + return nil + } + out := new(WeeklySchedule_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WindowsGmsaProfile) DeepCopyInto(out *WindowsGmsaProfile) { + *out = *in + if in.DnsServer != nil { + in, out := &in.DnsServer, &out.DnsServer + *out = new(string) + **out = **in + } + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.RootDomainName != nil { + in, out := &in.RootDomainName, &out.RootDomainName + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsGmsaProfile. +func (in *WindowsGmsaProfile) DeepCopy() *WindowsGmsaProfile { + if in == nil { + return nil + } + out := new(WindowsGmsaProfile) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *WindowsGmsaProfile_STATUS) DeepCopyInto(out *WindowsGmsaProfile_STATUS) { + *out = *in + if in.DnsServer != nil { + in, out := &in.DnsServer, &out.DnsServer + *out = new(string) + **out = **in + } + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.RootDomainName != nil { + in, out := &in.RootDomainName, &out.RootDomainName + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WindowsGmsaProfile_STATUS. +func (in *WindowsGmsaProfile_STATUS) DeepCopy() *WindowsGmsaProfile_STATUS { + if in == nil { + return nil + } + out := new(WindowsGmsaProfile_STATUS) + in.DeepCopyInto(out) + return out +} diff --git a/v2/api/containerservice/versions_matrix.md b/v2/api/containerservice/versions_matrix.md index b9907d86cde..aaebfa9e481 100644 --- a/v2/api/containerservice/versions_matrix.md +++ b/v2/api/containerservice/versions_matrix.md @@ -1,383 +1,413 @@ -| Type Definitions in package "containerservice" | v1api20210501 | v1api20230201 | v1api20230315preview | v1api20231001 | v1api20231102preview | v1api20240402preview | -|--------------------------------------------------------------------------------------|---------------|---------------|----------------------|---------------|----------------------|----------------------| -| APIVersion | v1api20210501 | v1api20230201 | v1api20230315preview | v1api20231001 | v1api20231102preview | v1api20240402preview | -| AdvancedNetworking | | | | | | v1api20240402preview | -| AdvancedNetworkingObservability | | | | | | v1api20240402preview | -| AdvancedNetworkingObservability_STATUS | | | | | | v1api20240402preview | -| AdvancedNetworking_STATUS | | | | | | v1api20240402preview | -| AgentPoolArtifactStreamingProfile | | | | | v1api20231102preview | v1api20240402preview | -| AgentPoolArtifactStreamingProfile_STATUS | | | | | v1api20231102preview | v1api20240402preview | -| AgentPoolGPUProfile | | | | | v1api20231102preview | v1api20240402preview | -| AgentPoolGPUProfile_STATUS | | | | | v1api20231102preview | v1api20240402preview | -| AgentPoolGatewayProfile | | | | | | v1api20240402preview | -| AgentPoolGatewayProfile_STATUS | | | | | | v1api20240402preview | -| AgentPoolMode | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| AgentPoolMode_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| AgentPoolNetworkProfile | | | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| AgentPoolNetworkProfile_STATUS | | | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| AgentPoolSSHAccess | | | | | v1api20231102preview | v1api20240402preview | -| AgentPoolSSHAccess_STATUS | | | | | v1api20231102preview | v1api20240402preview | -| AgentPoolSecurityProfile | | | | | v1api20231102preview | v1api20240402preview | -| AgentPoolSecurityProfile_STATUS | | | | | v1api20231102preview | v1api20240402preview | -| AgentPoolType | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| AgentPoolType_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| AgentPoolUpgradeSettings | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| AgentPoolUpgradeSettings_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| AgentPoolUpgradeSettings_UndrainableNodeBehavior | | | | | | v1api20240402preview | -| AgentPoolUpgradeSettings_UndrainableNodeBehavior_STATUS | | | | | | v1api20240402preview | -| AgentPoolWindowsProfile | | | | | v1api20231102preview | v1api20240402preview | -| AgentPoolWindowsProfile_STATUS | | | | | v1api20231102preview | v1api20240402preview | -| AutoScaleProfile | | | | | | v1api20240402preview | -| AutoScaleProfile_STATUS | | | | | | v1api20240402preview | -| AzureKeyVaultKms | | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| AzureKeyVaultKms_KeyVaultNetworkAccess | | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| AzureKeyVaultKms_KeyVaultNetworkAccess_STATUS | | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| AzureKeyVaultKms_STATUS | | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ClusterUpgradeSettings | | | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ClusterUpgradeSettings_STATUS | | | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ContainerServiceLinuxProfile | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ContainerServiceLinuxProfile_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ContainerServiceNetworkProfile | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ContainerServiceNetworkProfile_IpFamilies | | v1api20230201 | | v1api20231001 | | | -| ContainerServiceNetworkProfile_IpFamilies_STATUS | | v1api20230201 | | v1api20231001 | | | -| ContainerServiceNetworkProfile_KubeProxyConfig | | | | | v1api20231102preview | v1api20240402preview | -| ContainerServiceNetworkProfile_KubeProxyConfig_IpvsConfig | | | | | v1api20231102preview | v1api20240402preview | -| ContainerServiceNetworkProfile_KubeProxyConfig_IpvsConfig_STATUS | | | | | v1api20231102preview | v1api20240402preview | -| ContainerServiceNetworkProfile_KubeProxyConfig_IpvsConfig_Scheduler | | | | | v1api20231102preview | v1api20240402preview | -| ContainerServiceNetworkProfile_KubeProxyConfig_IpvsConfig_Scheduler_STATUS | | | | | v1api20231102preview | v1api20240402preview | -| ContainerServiceNetworkProfile_KubeProxyConfig_Mode | | | | | v1api20231102preview | v1api20240402preview | -| ContainerServiceNetworkProfile_KubeProxyConfig_Mode_STATUS | | | | | v1api20231102preview | v1api20240402preview | -| ContainerServiceNetworkProfile_KubeProxyConfig_STATUS | | | | | v1api20231102preview | v1api20240402preview | -| ContainerServiceNetworkProfile_LoadBalancerSku | v1api20210501 | v1api20230201 | | v1api20231001 | | | -| ContainerServiceNetworkProfile_LoadBalancerSku_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | | | -| ContainerServiceNetworkProfile_NetworkDataplane | | v1api20230201 | | v1api20231001 | | | -| ContainerServiceNetworkProfile_NetworkDataplane_STATUS | | v1api20230201 | | v1api20231001 | | | -| ContainerServiceNetworkProfile_NetworkMode | v1api20210501 | v1api20230201 | | v1api20231001 | | | -| ContainerServiceNetworkProfile_NetworkMode_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | | | -| ContainerServiceNetworkProfile_NetworkPlugin | v1api20210501 | v1api20230201 | | | | | -| ContainerServiceNetworkProfile_NetworkPluginMode | | v1api20230201 | | v1api20231001 | | | -| ContainerServiceNetworkProfile_NetworkPluginMode_STATUS | | v1api20230201 | | v1api20231001 | | | -| ContainerServiceNetworkProfile_NetworkPlugin_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | | | -| ContainerServiceNetworkProfile_NetworkPolicy | v1api20210501 | v1api20230201 | | v1api20231001 | | | -| ContainerServiceNetworkProfile_NetworkPolicy_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | | | -| ContainerServiceNetworkProfile_OutboundType | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ContainerServiceNetworkProfile_OutboundType_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ContainerServiceNetworkProfile_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ContainerServiceOSDisk | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ContainerServiceSshConfiguration | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ContainerServiceSshConfiguration_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ContainerServiceSshPublicKey | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ContainerServiceSshPublicKey_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| CreationData | | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| CreationData_STATUS | | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| DelegatedResource | | | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| DelegatedResource_STATUS | | | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ErrorAdditionalInfo_STATUS | | | v1api20230315preview | | | | -| ErrorDetail_STATUS | | | v1api20230315preview | | | | -| ErrorDetail_STATUS_Unrolled | | | v1api20230315preview | | | | -| Expander | | | | | v1api20231102preview | v1api20240402preview | -| Expander_STATUS | | | | | v1api20231102preview | v1api20240402preview | -| ExtendedLocation | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ExtendedLocationType | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ExtendedLocationType_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ExtendedLocation_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| Fleet | | | v1api20230315preview | | | | -| FleetHubProfile | | | v1api20230315preview | | | | -| FleetHubProfile_STATUS | | | v1api20230315preview | | | | -| FleetMemberProperties | | | v1api20230315preview | | | | -| FleetMemberProperties_STATUS | | | v1api20230315preview | | | | -| FleetMemberProvisioningState_STATUS | | | v1api20230315preview | | | | -| FleetProperties | | | v1api20230315preview | | | | -| FleetProperties_STATUS | | | v1api20230315preview | | | | -| FleetProvisioningState_STATUS | | | v1api20230315preview | | | | -| Fleet_STATUS | | | v1api20230315preview | | | | -| Fleet_Spec | | | v1api20230315preview | | | | -| FleetsMember | | | v1api20230315preview | | | | -| FleetsMember_STATUS | | | v1api20230315preview | | | | -| FleetsMember_Spec | | | v1api20230315preview | | | | -| FleetsUpdateRun | | | v1api20230315preview | | | | -| FleetsUpdateRun_STATUS | | | v1api20230315preview | | | | -| FleetsUpdateRun_Spec | | | v1api20230315preview | | | | -| GPUInstanceProfile | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| GPUInstanceProfile_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| IPTag | | | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| IPTag_STATUS | | | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| IpFamily | | | | | v1api20231102preview | v1api20240402preview | -| IpFamily_STATUS | | | | | v1api20231102preview | v1api20240402preview | -| IstioCertificateAuthority | | | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| IstioCertificateAuthority_STATUS | | | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| IstioComponents | | | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| IstioComponents_STATUS | | | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| IstioEgressGateway | | | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| IstioEgressGateway_STATUS | | | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| IstioIngressGateway | | | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| IstioIngressGateway_Mode | | | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| IstioIngressGateway_Mode_STATUS | | | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| IstioIngressGateway_STATUS | | | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| IstioPluginCertificateAuthority | | | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| IstioPluginCertificateAuthority_STATUS | | | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| IstioServiceMesh | | | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| IstioServiceMesh_STATUS | | | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| KubeletConfig | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| KubeletConfig_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| KubeletDiskType | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| KubeletDiskType_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| KubernetesSupportPlan | | | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| KubernetesSupportPlan_STATUS | | | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| LinuxOSConfig | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| LinuxOSConfig_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| LoadBalancerSku | | | | | v1api20231102preview | v1api20240402preview | -| LoadBalancerSku_STATUS | | | | | v1api20231102preview | v1api20240402preview | -| ManagedCluster | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ManagedClusterAADProfile | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ManagedClusterAADProfile_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ManagedClusterAIToolchainOperatorProfile | | | | | v1api20231102preview | v1api20240402preview | -| ManagedClusterAIToolchainOperatorProfile_STATUS | | | | | v1api20231102preview | v1api20240402preview | -| ManagedClusterAPIServerAccessProfile | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ManagedClusterAPIServerAccessProfile_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ManagedClusterAddonProfile | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ManagedClusterAddonProfile_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ManagedClusterAgentPoolProfile | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ManagedClusterAgentPoolProfileProperties | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ManagedClusterAgentPoolProfileProperties_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ManagedClusterAgentPoolProfile_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ManagedClusterAutoUpgradeProfile | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ManagedClusterAutoUpgradeProfile_NodeOSUpgradeChannel | | | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ManagedClusterAutoUpgradeProfile_NodeOSUpgradeChannel_STATUS | | | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ManagedClusterAutoUpgradeProfile_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ManagedClusterAutoUpgradeProfile_UpgradeChannel | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ManagedClusterAutoUpgradeProfile_UpgradeChannel_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ManagedClusterAzureMonitorProfile | | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ManagedClusterAzureMonitorProfileAppMonitoring | | | | | v1api20231102preview | v1api20240402preview | -| ManagedClusterAzureMonitorProfileAppMonitoringAutoInstrumentation | | | | | | v1api20240402preview | -| ManagedClusterAzureMonitorProfileAppMonitoringAutoInstrumentation_STATUS | | | | | | v1api20240402preview | -| ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryLogs | | | | | | v1api20240402preview | -| ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryLogs_STATUS | | | | | | v1api20240402preview | -| ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetrics | | | | | v1api20231102preview | v1api20240402preview | -| ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetrics_STATUS | | | | | v1api20231102preview | v1api20240402preview | -| ManagedClusterAzureMonitorProfileAppMonitoring_STATUS | | | | | v1api20231102preview | v1api20240402preview | -| ManagedClusterAzureMonitorProfileContainerInsights | | | | | v1api20231102preview | v1api20240402preview | -| ManagedClusterAzureMonitorProfileContainerInsights_STATUS | | | | | v1api20231102preview | v1api20240402preview | -| ManagedClusterAzureMonitorProfileKubeStateMetrics | | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS | | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ManagedClusterAzureMonitorProfileLogs | | | | | v1api20231102preview | | -| ManagedClusterAzureMonitorProfileLogs_STATUS | | | | | v1api20231102preview | | -| ManagedClusterAzureMonitorProfileMetrics | | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ManagedClusterAzureMonitorProfileMetrics_STATUS | | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ManagedClusterAzureMonitorProfileWindowsHostLogs | | | | | v1api20231102preview | | -| ManagedClusterAzureMonitorProfileWindowsHostLogs_STATUS | | | | | v1api20231102preview | | -| ManagedClusterAzureMonitorProfile_STATUS | | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ManagedClusterBootstrapProfile | | | | | | v1api20240402preview | -| ManagedClusterBootstrapProfile_ArtifactSource | | | | | | v1api20240402preview | -| ManagedClusterBootstrapProfile_ArtifactSource_STATUS | | | | | | v1api20240402preview | -| ManagedClusterBootstrapProfile_STATUS | | | | | | v1api20240402preview | -| ManagedClusterCostAnalysis | | | | | v1api20231102preview | v1api20240402preview | -| ManagedClusterCostAnalysis_STATUS | | | | | v1api20231102preview | v1api20240402preview | -| ManagedClusterHTTPProxyConfig | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ManagedClusterHTTPProxyConfig_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ManagedClusterIdentity | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ManagedClusterIdentity_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ManagedClusterIdentity_Type | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ManagedClusterIdentity_Type_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ManagedClusterIdentity_UserAssignedIdentities_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ManagedClusterIngressProfile | | | | | v1api20231102preview | v1api20240402preview | -| ManagedClusterIngressProfileWebAppRouting | | | | | v1api20231102preview | v1api20240402preview | -| ManagedClusterIngressProfileWebAppRouting_STATUS | | | | | v1api20231102preview | v1api20240402preview | -| ManagedClusterIngressProfile_STATUS | | | | | v1api20231102preview | v1api20240402preview | -| ManagedClusterLoadBalancerProfile | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ManagedClusterLoadBalancerProfile_BackendPoolType | | | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ManagedClusterLoadBalancerProfile_BackendPoolType_STATUS | | | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ManagedClusterLoadBalancerProfile_ClusterServiceLoadBalancerHealthProbeMode | | | | | | v1api20240402preview | -| ManagedClusterLoadBalancerProfile_ClusterServiceLoadBalancerHealthProbeMode_STATUS | | | | | | v1api20240402preview | -| ManagedClusterLoadBalancerProfile_ManagedOutboundIPs | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ManagedClusterLoadBalancerProfile_OutboundIPPrefixes | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ManagedClusterLoadBalancerProfile_OutboundIPs | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ManagedClusterLoadBalancerProfile_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ManagedClusterManagedOutboundIPProfile | | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ManagedClusterManagedOutboundIPProfile_STATUS | | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ManagedClusterMetricsProfile | | | | | v1api20231102preview | v1api20240402preview | -| ManagedClusterMetricsProfile_STATUS | | | | | v1api20231102preview | v1api20240402preview | -| ManagedClusterNATGatewayProfile | | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ManagedClusterNATGatewayProfile_STATUS | | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ManagedClusterNodeProvisioningProfile | | | | | v1api20231102preview | v1api20240402preview | -| ManagedClusterNodeProvisioningProfile_Mode | | | | | v1api20231102preview | v1api20240402preview | -| ManagedClusterNodeProvisioningProfile_Mode_STATUS | | | | | v1api20231102preview | v1api20240402preview | -| ManagedClusterNodeProvisioningProfile_STATUS | | | | | v1api20231102preview | v1api20240402preview | -| ManagedClusterNodeResourceGroupProfile | | | | | v1api20231102preview | v1api20240402preview | -| ManagedClusterNodeResourceGroupProfile_RestrictionLevel | | | | | v1api20231102preview | v1api20240402preview | -| ManagedClusterNodeResourceGroupProfile_RestrictionLevel_STATUS | | | | | v1api20231102preview | v1api20240402preview | -| ManagedClusterNodeResourceGroupProfile_STATUS | | | | | v1api20231102preview | v1api20240402preview | -| ManagedClusterOIDCIssuerProfile | | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ManagedClusterOIDCIssuerProfile_STATUS | | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ManagedClusterPodIdentity | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ManagedClusterPodIdentityException | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ManagedClusterPodIdentityException_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ManagedClusterPodIdentityProfile | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ManagedClusterPodIdentityProfile_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ManagedClusterPodIdentityProvisioningErrorBody_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ManagedClusterPodIdentityProvisioningError_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ManagedClusterPodIdentity_ProvisioningInfo_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ManagedClusterPodIdentity_ProvisioningState_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ManagedClusterPodIdentity_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ManagedClusterProperties | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ManagedClusterProperties_AutoScalerProfile | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ManagedClusterProperties_AutoScalerProfile_Expander | v1api20210501 | v1api20230201 | | v1api20231001 | | | -| ManagedClusterProperties_AutoScalerProfile_Expander_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | | | -| ManagedClusterProperties_AutoScalerProfile_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ManagedClusterProperties_PublicNetworkAccess | | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ManagedClusterProperties_PublicNetworkAccess_STATUS | | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ManagedClusterProperties_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ManagedClusterSKU | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ManagedClusterSKU_Name | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ManagedClusterSKU_Name_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ManagedClusterSKU_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ManagedClusterSKU_Tier | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ManagedClusterSKU_Tier_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ManagedClusterSecurityProfile | | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ManagedClusterSecurityProfileCustomCATrustCertificates | | | | | v1api20231102preview | v1api20240402preview | -| ManagedClusterSecurityProfileDefender | | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ManagedClusterSecurityProfileDefenderSecurityMonitoring | | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS | | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ManagedClusterSecurityProfileDefender_STATUS | | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ManagedClusterSecurityProfileImageCleaner | | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ManagedClusterSecurityProfileImageCleaner_STATUS | | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ManagedClusterSecurityProfileImageIntegrity | | | | | v1api20231102preview | v1api20240402preview | -| ManagedClusterSecurityProfileImageIntegrity_STATUS | | | | | v1api20231102preview | v1api20240402preview | -| ManagedClusterSecurityProfileNodeRestriction | | | | | v1api20231102preview | v1api20240402preview | -| ManagedClusterSecurityProfileNodeRestriction_STATUS | | | | | v1api20231102preview | v1api20240402preview | -| ManagedClusterSecurityProfileWorkloadIdentity | | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ManagedClusterSecurityProfileWorkloadIdentity_STATUS | | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ManagedClusterSecurityProfile_STATUS | | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ManagedClusterServicePrincipalProfile | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ManagedClusterServicePrincipalProfile_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ManagedClusterStaticEgressGatewayProfile | | | | | | v1api20240402preview | -| ManagedClusterStaticEgressGatewayProfile_STATUS | | | | | | v1api20240402preview | -| ManagedClusterStorageProfile | | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ManagedClusterStorageProfileBlobCSIDriver | | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ManagedClusterStorageProfileBlobCSIDriver_STATUS | | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ManagedClusterStorageProfileDiskCSIDriver | | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ManagedClusterStorageProfileDiskCSIDriver_STATUS | | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ManagedClusterStorageProfileFileCSIDriver | | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ManagedClusterStorageProfileFileCSIDriver_STATUS | | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ManagedClusterStorageProfileSnapshotController | | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ManagedClusterStorageProfileSnapshotController_STATUS | | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ManagedClusterStorageProfile_STATUS | | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ManagedClusterUpdate | | | v1api20230315preview | | | | -| ManagedClusterUpdate_STATUS | | | v1api20230315preview | | | | -| ManagedClusterUpgradeSpec | | | v1api20230315preview | | | | -| ManagedClusterUpgradeSpec_STATUS | | | v1api20230315preview | | | | -| ManagedClusterUpgradeType | | | v1api20230315preview | | | | -| ManagedClusterUpgradeType_STATUS | | | v1api20230315preview | | | | -| ManagedClusterWindowsProfile | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ManagedClusterWindowsProfile_LicenseType | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ManagedClusterWindowsProfile_LicenseType_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ManagedClusterWindowsProfile_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ManagedClusterWorkloadAutoScalerProfile | | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ManagedClusterWorkloadAutoScalerProfileKeda | | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ManagedClusterWorkloadAutoScalerProfileKeda_STATUS | | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler | | | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_AddonAutoscaling | | | | | v1api20231102preview | v1api20240402preview | -| ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_AddonAutoscaling_STATUS | | | | | v1api20231102preview | v1api20240402preview | -| ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS | | | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ManagedClusterWorkloadAutoScalerProfile_STATUS | | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ManagedCluster_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ManagedCluster_Spec | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ManagedClustersAgentPool | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ManagedClustersAgentPool_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ManagedClustersAgentPool_Spec | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ManualScaleProfile | | | | | v1api20231102preview | v1api20240402preview | -| ManualScaleProfile_STATUS | | | | | v1api20231102preview | v1api20240402preview | -| MemberUpdateStatus_STATUS | | | v1api20230315preview | | | | -| NetworkDataplane | | | | | v1api20231102preview | v1api20240402preview | -| NetworkDataplane_STATUS | | | | | v1api20231102preview | v1api20240402preview | -| NetworkMode | | | | | v1api20231102preview | v1api20240402preview | -| NetworkMode_STATUS | | | | | v1api20231102preview | v1api20240402preview | -| NetworkMonitoring | | | | | v1api20231102preview | | -| NetworkMonitoring_STATUS | | | | | v1api20231102preview | | -| NetworkPlugin | | | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| NetworkPluginMode | | | | | v1api20231102preview | v1api20240402preview | -| NetworkPluginMode_STATUS | | | | | v1api20231102preview | v1api20240402preview | -| NetworkPlugin_STATUS | | | | | v1api20231102preview | v1api20240402preview | -| NetworkPolicy | | | | | v1api20231102preview | v1api20240402preview | -| NetworkPolicy_STATUS | | | | | v1api20231102preview | v1api20240402preview | -| OSDiskType | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| OSDiskType_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| OSSKU | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| OSSKU_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| OSType | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| OSType_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| PodIPAllocationMode | | | | | | v1api20240402preview | -| PodIPAllocationMode_STATUS | | | | | | v1api20240402preview | -| PodLinkLocalAccess | | | | | | v1api20240402preview | -| PodLinkLocalAccess_STATUS | | | | | | v1api20240402preview | -| PortRange | | | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| PortRange_Protocol | | | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| PortRange_Protocol_STATUS | | | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| PortRange_STATUS | | | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| PowerState | | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| PowerState_Code | | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| PowerState_Code_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| PowerState_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| PrivateLinkResource | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| PrivateLinkResource_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ResourceReference | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ResourceReference_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| SafeguardsProfile | | | | | v1api20231102preview | v1api20240402preview | -| SafeguardsProfile_Level | | | | | v1api20231102preview | v1api20240402preview | -| SafeguardsProfile_Level_STATUS | | | | | v1api20231102preview | v1api20240402preview | -| SafeguardsProfile_STATUS | | | | | v1api20231102preview | v1api20240402preview | -| ScaleDownMode | | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ScaleDownMode_STATUS | | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ScaleProfile | | | | | v1api20231102preview | v1api20240402preview | -| ScaleProfile_STATUS | | | | | v1api20231102preview | v1api20240402preview | -| ScaleSetEvictionPolicy | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ScaleSetEvictionPolicy_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ScaleSetPriority | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ScaleSetPriority_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ServiceMeshProfile | | | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ServiceMeshProfile_Mode | | | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ServiceMeshProfile_Mode_STATUS | | | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| ServiceMeshProfile_STATUS | | | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| SysctlConfig | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| SysctlConfig_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| SystemData_CreatedByType_STATUS | | v1api20230201 | v1api20230315preview | v1api20231001 | v1api20231102preview | v1api20240402preview | -| SystemData_LastModifiedByType_STATUS | | v1api20230201 | v1api20230315preview | v1api20231001 | v1api20231102preview | v1api20240402preview | -| SystemData_STATUS | | v1api20230201 | v1api20230315preview | v1api20231001 | v1api20231102preview | v1api20240402preview | -| TrustedAccessRoleBinding | | | | v1api20231001 | | v1api20240402preview | -| TrustedAccessRoleBindingProperties | | | | v1api20231001 | | v1api20240402preview | -| TrustedAccessRoleBindingProperties_ProvisioningState_STATUS | | | | v1api20231001 | | v1api20240402preview | -| TrustedAccessRoleBindingProperties_STATUS | | | | v1api20231001 | | v1api20240402preview | -| TrustedAccessRoleBinding_STATUS | | | | v1api20231001 | | v1api20240402preview | -| TrustedAccessRoleBinding_Spec | | | | v1api20231001 | | v1api20240402preview | -| UpdateGroup | | | v1api20230315preview | | | | -| UpdateGroupStatus_STATUS | | | v1api20230315preview | | | | -| UpdateGroup_STATUS | | | v1api20230315preview | | | | -| UpdateRunProperties | | | v1api20230315preview | | | | -| UpdateRunProperties_STATUS | | | v1api20230315preview | | | | -| UpdateRunProvisioningState_STATUS | | | v1api20230315preview | | | | -| UpdateRunStatus_STATUS | | | v1api20230315preview | | | | -| UpdateRunStrategy | | | v1api20230315preview | | | | -| UpdateRunStrategy_STATUS | | | v1api20230315preview | | | | -| UpdateStage | | | v1api20230315preview | | | | -| UpdateStageStatus_STATUS | | | v1api20230315preview | | | | -| UpdateStage_STATUS | | | v1api20230315preview | | | | -| UpdateState_STATUS | | | v1api20230315preview | | | | -| UpdateStatus_STATUS | | | v1api20230315preview | | | | -| UpgradeOverrideSettings | | | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| UpgradeOverrideSettings_STATUS | | | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| UserAssignedIdentity | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| UserAssignedIdentityDetails | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| UserAssignedIdentity_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| VirtualMachineNodes | | | | | v1api20231102preview | v1api20240402preview | -| VirtualMachineNodes_STATUS | | | | | v1api20231102preview | v1api20240402preview | -| VirtualMachinesProfile | | | | | v1api20231102preview | v1api20240402preview | -| VirtualMachinesProfile_STATUS | | | | | v1api20231102preview | v1api20240402preview | -| WaitStatus_STATUS | | | v1api20230315preview | | | | -| WindowsGmsaProfile | | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| WindowsGmsaProfile_STATUS | | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| WorkloadRuntime | | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | -| WorkloadRuntime_STATUS | | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | +| Type Definitions in package "containerservice" | v1api20210501 | v1api20230201 | v1api20230315preview | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +|--------------------------------------------------------------------------------------|---------------|---------------|----------------------|---------------|----------------------|----------------------|---------------| +| APIVersion | v1api20210501 | v1api20230201 | v1api20230315preview | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| AbsoluteMonthlySchedule | | | | | | | v1api20240901 | +| AbsoluteMonthlySchedule_STATUS | | | | | | | v1api20240901 | +| AdvancedNetworking | | | | | | v1api20240402preview | v1api20240901 | +| AdvancedNetworkingObservability | | | | | | v1api20240402preview | v1api20240901 | +| AdvancedNetworkingObservability_STATUS | | | | | | v1api20240402preview | v1api20240901 | +| AdvancedNetworkingSecurity | | | | | | | v1api20240901 | +| AdvancedNetworkingSecurity_STATUS | | | | | | | v1api20240901 | +| AdvancedNetworking_STATUS | | | | | | v1api20240402preview | v1api20240901 | +| AgentPoolArtifactStreamingProfile | | | | | v1api20231102preview | v1api20240402preview | | +| AgentPoolArtifactStreamingProfile_STATUS | | | | | v1api20231102preview | v1api20240402preview | | +| AgentPoolGPUProfile | | | | | v1api20231102preview | v1api20240402preview | | +| AgentPoolGPUProfile_STATUS | | | | | v1api20231102preview | v1api20240402preview | | +| AgentPoolGatewayProfile | | | | | | v1api20240402preview | | +| AgentPoolGatewayProfile_STATUS | | | | | | v1api20240402preview | | +| AgentPoolMode | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| AgentPoolMode_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| AgentPoolNetworkProfile | | | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| AgentPoolNetworkProfile_STATUS | | | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| AgentPoolSSHAccess | | | | | v1api20231102preview | v1api20240402preview | | +| AgentPoolSSHAccess_STATUS | | | | | v1api20231102preview | v1api20240402preview | | +| AgentPoolSecurityProfile | | | | | v1api20231102preview | v1api20240402preview | v1api20240901 | +| AgentPoolSecurityProfile_STATUS | | | | | v1api20231102preview | v1api20240402preview | v1api20240901 | +| AgentPoolType | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| AgentPoolType_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| AgentPoolUpgradeSettings | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| AgentPoolUpgradeSettings_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| AgentPoolUpgradeSettings_UndrainableNodeBehavior | | | | | | v1api20240402preview | | +| AgentPoolUpgradeSettings_UndrainableNodeBehavior_STATUS | | | | | | v1api20240402preview | | +| AgentPoolWindowsProfile | | | | | v1api20231102preview | v1api20240402preview | v1api20240901 | +| AgentPoolWindowsProfile_STATUS | | | | | v1api20231102preview | v1api20240402preview | v1api20240901 | +| AutoScaleProfile | | | | | | v1api20240402preview | | +| AutoScaleProfile_STATUS | | | | | | v1api20240402preview | | +| AzureKeyVaultKms | | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| AzureKeyVaultKms_KeyVaultNetworkAccess | | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| AzureKeyVaultKms_KeyVaultNetworkAccess_STATUS | | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| AzureKeyVaultKms_STATUS | | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ClusterUpgradeSettings | | | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ClusterUpgradeSettings_STATUS | | | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ContainerServiceLinuxProfile | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ContainerServiceLinuxProfile_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ContainerServiceNetworkProfile | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ContainerServiceNetworkProfile_IpFamilies | | v1api20230201 | | v1api20231001 | | | v1api20240901 | +| ContainerServiceNetworkProfile_IpFamilies_STATUS | | v1api20230201 | | v1api20231001 | | | v1api20240901 | +| ContainerServiceNetworkProfile_KubeProxyConfig | | | | | v1api20231102preview | v1api20240402preview | | +| ContainerServiceNetworkProfile_KubeProxyConfig_IpvsConfig | | | | | v1api20231102preview | v1api20240402preview | | +| ContainerServiceNetworkProfile_KubeProxyConfig_IpvsConfig_STATUS | | | | | v1api20231102preview | v1api20240402preview | | +| ContainerServiceNetworkProfile_KubeProxyConfig_IpvsConfig_Scheduler | | | | | v1api20231102preview | v1api20240402preview | | +| ContainerServiceNetworkProfile_KubeProxyConfig_IpvsConfig_Scheduler_STATUS | | | | | v1api20231102preview | v1api20240402preview | | +| ContainerServiceNetworkProfile_KubeProxyConfig_Mode | | | | | v1api20231102preview | v1api20240402preview | | +| ContainerServiceNetworkProfile_KubeProxyConfig_Mode_STATUS | | | | | v1api20231102preview | v1api20240402preview | | +| ContainerServiceNetworkProfile_KubeProxyConfig_STATUS | | | | | v1api20231102preview | v1api20240402preview | | +| ContainerServiceNetworkProfile_LoadBalancerSku | v1api20210501 | v1api20230201 | | v1api20231001 | | | v1api20240901 | +| ContainerServiceNetworkProfile_LoadBalancerSku_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | | | v1api20240901 | +| ContainerServiceNetworkProfile_NetworkDataplane | | v1api20230201 | | v1api20231001 | | | v1api20240901 | +| ContainerServiceNetworkProfile_NetworkDataplane_STATUS | | v1api20230201 | | v1api20231001 | | | v1api20240901 | +| ContainerServiceNetworkProfile_NetworkMode | v1api20210501 | v1api20230201 | | v1api20231001 | | | v1api20240901 | +| ContainerServiceNetworkProfile_NetworkMode_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | | | v1api20240901 | +| ContainerServiceNetworkProfile_NetworkPlugin | v1api20210501 | v1api20230201 | | | | | v1api20240901 | +| ContainerServiceNetworkProfile_NetworkPluginMode | | v1api20230201 | | v1api20231001 | | | v1api20240901 | +| ContainerServiceNetworkProfile_NetworkPluginMode_STATUS | | v1api20230201 | | v1api20231001 | | | v1api20240901 | +| ContainerServiceNetworkProfile_NetworkPlugin_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | | | v1api20240901 | +| ContainerServiceNetworkProfile_NetworkPolicy | v1api20210501 | v1api20230201 | | v1api20231001 | | | v1api20240901 | +| ContainerServiceNetworkProfile_NetworkPolicy_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | | | v1api20240901 | +| ContainerServiceNetworkProfile_OutboundType | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ContainerServiceNetworkProfile_OutboundType_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ContainerServiceNetworkProfile_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ContainerServiceOSDisk | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ContainerServiceSshConfiguration | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ContainerServiceSshConfiguration_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ContainerServiceSshPublicKey | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ContainerServiceSshPublicKey_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| CreationData | | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| CreationData_STATUS | | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| DailySchedule | | | | | | | v1api20240901 | +| DailySchedule_STATUS | | | | | | | v1api20240901 | +| DateSpan | | | | | | | v1api20240901 | +| DateSpan_STATUS | | | | | | | v1api20240901 | +| DelegatedResource | | | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| DelegatedResource_STATUS | | | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ErrorAdditionalInfo_STATUS | | | v1api20230315preview | | | | | +| ErrorDetail_STATUS | | | v1api20230315preview | | | | | +| ErrorDetail_STATUS_Unrolled | | | v1api20230315preview | | | | | +| Expander | | | | | v1api20231102preview | v1api20240402preview | | +| Expander_STATUS | | | | | v1api20231102preview | v1api20240402preview | | +| ExtendedLocation | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ExtendedLocationType | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ExtendedLocationType_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ExtendedLocation_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| Fleet | | | v1api20230315preview | | | | | +| FleetHubProfile | | | v1api20230315preview | | | | | +| FleetHubProfile_STATUS | | | v1api20230315preview | | | | | +| FleetMemberProperties | | | v1api20230315preview | | | | | +| FleetMemberProperties_STATUS | | | v1api20230315preview | | | | | +| FleetMemberProvisioningState_STATUS | | | v1api20230315preview | | | | | +| FleetProperties | | | v1api20230315preview | | | | | +| FleetProperties_STATUS | | | v1api20230315preview | | | | | +| FleetProvisioningState_STATUS | | | v1api20230315preview | | | | | +| Fleet_STATUS | | | v1api20230315preview | | | | | +| Fleet_Spec | | | v1api20230315preview | | | | | +| FleetsMember | | | v1api20230315preview | | | | | +| FleetsMember_STATUS | | | v1api20230315preview | | | | | +| FleetsMember_Spec | | | v1api20230315preview | | | | | +| FleetsUpdateRun | | | v1api20230315preview | | | | | +| FleetsUpdateRun_STATUS | | | v1api20230315preview | | | | | +| FleetsUpdateRun_Spec | | | v1api20230315preview | | | | | +| GPUInstanceProfile | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| GPUInstanceProfile_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| HourInDay | | | | | | | v1api20240901 | +| IPTag | | | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| IPTag_STATUS | | | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| IpFamily | | | | | v1api20231102preview | v1api20240402preview | | +| IpFamily_STATUS | | | | | v1api20231102preview | v1api20240402preview | | +| IstioCertificateAuthority | | | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| IstioCertificateAuthority_STATUS | | | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| IstioComponents | | | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| IstioComponents_STATUS | | | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| IstioEgressGateway | | | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| IstioEgressGateway_STATUS | | | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| IstioIngressGateway | | | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| IstioIngressGateway_Mode | | | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| IstioIngressGateway_Mode_STATUS | | | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| IstioIngressGateway_STATUS | | | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| IstioPluginCertificateAuthority | | | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| IstioPluginCertificateAuthority_STATUS | | | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| IstioServiceMesh | | | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| IstioServiceMesh_STATUS | | | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| KubeletConfig | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| KubeletConfig_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| KubeletDiskType | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| KubeletDiskType_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| KubernetesSupportPlan | | | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| KubernetesSupportPlan_STATUS | | | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| LinuxOSConfig | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| LinuxOSConfig_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| LoadBalancerSku | | | | | v1api20231102preview | v1api20240402preview | | +| LoadBalancerSku_STATUS | | | | | v1api20231102preview | v1api20240402preview | | +| MaintenanceConfiguration | | | | | | | v1api20240901 | +| MaintenanceConfigurationProperties | | | | | | | v1api20240901 | +| MaintenanceConfigurationProperties_STATUS | | | | | | | v1api20240901 | +| MaintenanceConfiguration_STATUS | | | | | | | v1api20240901 | +| MaintenanceConfiguration_Spec | | | | | | | v1api20240901 | +| MaintenanceWindow | | | | | | | v1api20240901 | +| MaintenanceWindow_STATUS | | | | | | | v1api20240901 | +| ManagedCluster | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ManagedClusterAADProfile | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ManagedClusterAADProfile_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ManagedClusterAIToolchainOperatorProfile | | | | | v1api20231102preview | v1api20240402preview | | +| ManagedClusterAIToolchainOperatorProfile_STATUS | | | | | v1api20231102preview | v1api20240402preview | | +| ManagedClusterAPIServerAccessProfile | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ManagedClusterAPIServerAccessProfile_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ManagedClusterAddonProfile | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ManagedClusterAddonProfile_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ManagedClusterAgentPoolProfile | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ManagedClusterAgentPoolProfileProperties | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ManagedClusterAgentPoolProfileProperties_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ManagedClusterAgentPoolProfile_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ManagedClusterAutoUpgradeProfile | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ManagedClusterAutoUpgradeProfile_NodeOSUpgradeChannel | | | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ManagedClusterAutoUpgradeProfile_NodeOSUpgradeChannel_STATUS | | | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ManagedClusterAutoUpgradeProfile_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ManagedClusterAutoUpgradeProfile_UpgradeChannel | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ManagedClusterAutoUpgradeProfile_UpgradeChannel_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ManagedClusterAzureMonitorProfile | | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ManagedClusterAzureMonitorProfileAppMonitoring | | | | | v1api20231102preview | v1api20240402preview | | +| ManagedClusterAzureMonitorProfileAppMonitoringAutoInstrumentation | | | | | | v1api20240402preview | | +| ManagedClusterAzureMonitorProfileAppMonitoringAutoInstrumentation_STATUS | | | | | | v1api20240402preview | | +| ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryLogs | | | | | | v1api20240402preview | | +| ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryLogs_STATUS | | | | | | v1api20240402preview | | +| ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetrics | | | | | v1api20231102preview | v1api20240402preview | | +| ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetrics_STATUS | | | | | v1api20231102preview | v1api20240402preview | | +| ManagedClusterAzureMonitorProfileAppMonitoring_STATUS | | | | | v1api20231102preview | v1api20240402preview | | +| ManagedClusterAzureMonitorProfileContainerInsights | | | | | v1api20231102preview | v1api20240402preview | | +| ManagedClusterAzureMonitorProfileContainerInsights_STATUS | | | | | v1api20231102preview | v1api20240402preview | | +| ManagedClusterAzureMonitorProfileKubeStateMetrics | | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS | | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ManagedClusterAzureMonitorProfileLogs | | | | | v1api20231102preview | | | +| ManagedClusterAzureMonitorProfileLogs_STATUS | | | | | v1api20231102preview | | | +| ManagedClusterAzureMonitorProfileMetrics | | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ManagedClusterAzureMonitorProfileMetrics_STATUS | | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ManagedClusterAzureMonitorProfileWindowsHostLogs | | | | | v1api20231102preview | | | +| ManagedClusterAzureMonitorProfileWindowsHostLogs_STATUS | | | | | v1api20231102preview | | | +| ManagedClusterAzureMonitorProfile_STATUS | | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ManagedClusterBootstrapProfile | | | | | | v1api20240402preview | | +| ManagedClusterBootstrapProfile_ArtifactSource | | | | | | v1api20240402preview | | +| ManagedClusterBootstrapProfile_ArtifactSource_STATUS | | | | | | v1api20240402preview | | +| ManagedClusterBootstrapProfile_STATUS | | | | | | v1api20240402preview | | +| ManagedClusterCostAnalysis | | | | | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ManagedClusterCostAnalysis_STATUS | | | | | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ManagedClusterHTTPProxyConfig | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ManagedClusterHTTPProxyConfig_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ManagedClusterIdentity | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ManagedClusterIdentity_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ManagedClusterIdentity_Type | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ManagedClusterIdentity_Type_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ManagedClusterIdentity_UserAssignedIdentities_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ManagedClusterIngressProfile | | | | | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ManagedClusterIngressProfileWebAppRouting | | | | | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ManagedClusterIngressProfileWebAppRouting_STATUS | | | | | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ManagedClusterIngressProfile_STATUS | | | | | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ManagedClusterLoadBalancerProfile | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ManagedClusterLoadBalancerProfile_BackendPoolType | | | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ManagedClusterLoadBalancerProfile_BackendPoolType_STATUS | | | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ManagedClusterLoadBalancerProfile_ClusterServiceLoadBalancerHealthProbeMode | | | | | | v1api20240402preview | | +| ManagedClusterLoadBalancerProfile_ClusterServiceLoadBalancerHealthProbeMode_STATUS | | | | | | v1api20240402preview | | +| ManagedClusterLoadBalancerProfile_ManagedOutboundIPs | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ManagedClusterLoadBalancerProfile_OutboundIPPrefixes | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ManagedClusterLoadBalancerProfile_OutboundIPs | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ManagedClusterLoadBalancerProfile_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ManagedClusterManagedOutboundIPProfile | | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ManagedClusterManagedOutboundIPProfile_STATUS | | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ManagedClusterMetricsProfile | | | | | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ManagedClusterMetricsProfile_STATUS | | | | | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ManagedClusterNATGatewayProfile | | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ManagedClusterNATGatewayProfile_STATUS | | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ManagedClusterNodeProvisioningProfile | | | | | v1api20231102preview | v1api20240402preview | | +| ManagedClusterNodeProvisioningProfile_Mode | | | | | v1api20231102preview | v1api20240402preview | | +| ManagedClusterNodeProvisioningProfile_Mode_STATUS | | | | | v1api20231102preview | v1api20240402preview | | +| ManagedClusterNodeProvisioningProfile_STATUS | | | | | v1api20231102preview | v1api20240402preview | | +| ManagedClusterNodeResourceGroupProfile | | | | | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ManagedClusterNodeResourceGroupProfile_RestrictionLevel | | | | | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ManagedClusterNodeResourceGroupProfile_RestrictionLevel_STATUS | | | | | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ManagedClusterNodeResourceGroupProfile_STATUS | | | | | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ManagedClusterOIDCIssuerProfile | | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ManagedClusterOIDCIssuerProfile_STATUS | | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ManagedClusterPodIdentity | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ManagedClusterPodIdentityException | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ManagedClusterPodIdentityException_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ManagedClusterPodIdentityProfile | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ManagedClusterPodIdentityProfile_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ManagedClusterPodIdentityProvisioningErrorBody_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ManagedClusterPodIdentityProvisioningError_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ManagedClusterPodIdentity_ProvisioningInfo_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ManagedClusterPodIdentity_ProvisioningState_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ManagedClusterPodIdentity_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ManagedClusterProperties | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ManagedClusterProperties_AutoScalerProfile | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ManagedClusterProperties_AutoScalerProfile_Expander | v1api20210501 | v1api20230201 | | v1api20231001 | | | v1api20240901 | +| ManagedClusterProperties_AutoScalerProfile_Expander_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | | | v1api20240901 | +| ManagedClusterProperties_AutoScalerProfile_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ManagedClusterProperties_PublicNetworkAccess | | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ManagedClusterProperties_PublicNetworkAccess_STATUS | | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ManagedClusterProperties_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ManagedClusterSKU | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ManagedClusterSKU_Name | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ManagedClusterSKU_Name_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ManagedClusterSKU_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ManagedClusterSKU_Tier | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ManagedClusterSKU_Tier_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ManagedClusterSecurityProfile | | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ManagedClusterSecurityProfileCustomCATrustCertificates | | | | | v1api20231102preview | v1api20240402preview | | +| ManagedClusterSecurityProfileDefender | | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ManagedClusterSecurityProfileDefenderSecurityMonitoring | | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS | | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ManagedClusterSecurityProfileDefender_STATUS | | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ManagedClusterSecurityProfileImageCleaner | | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ManagedClusterSecurityProfileImageCleaner_STATUS | | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ManagedClusterSecurityProfileImageIntegrity | | | | | v1api20231102preview | v1api20240402preview | | +| ManagedClusterSecurityProfileImageIntegrity_STATUS | | | | | v1api20231102preview | v1api20240402preview | | +| ManagedClusterSecurityProfileNodeRestriction | | | | | v1api20231102preview | v1api20240402preview | | +| ManagedClusterSecurityProfileNodeRestriction_STATUS | | | | | v1api20231102preview | v1api20240402preview | | +| ManagedClusterSecurityProfileWorkloadIdentity | | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ManagedClusterSecurityProfileWorkloadIdentity_STATUS | | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ManagedClusterSecurityProfile_STATUS | | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ManagedClusterServicePrincipalProfile | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ManagedClusterServicePrincipalProfile_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ManagedClusterStaticEgressGatewayProfile | | | | | | v1api20240402preview | | +| ManagedClusterStaticEgressGatewayProfile_STATUS | | | | | | v1api20240402preview | | +| ManagedClusterStorageProfile | | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ManagedClusterStorageProfileBlobCSIDriver | | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ManagedClusterStorageProfileBlobCSIDriver_STATUS | | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ManagedClusterStorageProfileDiskCSIDriver | | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ManagedClusterStorageProfileDiskCSIDriver_STATUS | | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ManagedClusterStorageProfileFileCSIDriver | | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ManagedClusterStorageProfileFileCSIDriver_STATUS | | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ManagedClusterStorageProfileSnapshotController | | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ManagedClusterStorageProfileSnapshotController_STATUS | | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ManagedClusterStorageProfile_STATUS | | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ManagedClusterUpdate | | | v1api20230315preview | | | | | +| ManagedClusterUpdate_STATUS | | | v1api20230315preview | | | | | +| ManagedClusterUpgradeSpec | | | v1api20230315preview | | | | | +| ManagedClusterUpgradeSpec_STATUS | | | v1api20230315preview | | | | | +| ManagedClusterUpgradeType | | | v1api20230315preview | | | | | +| ManagedClusterUpgradeType_STATUS | | | v1api20230315preview | | | | | +| ManagedClusterWindowsProfile | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ManagedClusterWindowsProfile_LicenseType | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ManagedClusterWindowsProfile_LicenseType_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ManagedClusterWindowsProfile_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ManagedClusterWorkloadAutoScalerProfile | | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ManagedClusterWorkloadAutoScalerProfileKeda | | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ManagedClusterWorkloadAutoScalerProfileKeda_STATUS | | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler | | | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_AddonAutoscaling | | | | | v1api20231102preview | v1api20240402preview | | +| ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_AddonAutoscaling_STATUS | | | | | v1api20231102preview | v1api20240402preview | | +| ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS | | | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ManagedClusterWorkloadAutoScalerProfile_STATUS | | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ManagedCluster_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ManagedCluster_Spec | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ManagedClustersAgentPool | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ManagedClustersAgentPool_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ManagedClustersAgentPool_Spec | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ManualScaleProfile | | | | | v1api20231102preview | v1api20240402preview | | +| ManualScaleProfile_STATUS | | | | | v1api20231102preview | v1api20240402preview | | +| MemberUpdateStatus_STATUS | | | v1api20230315preview | | | | | +| NetworkDataplane | | | | | v1api20231102preview | v1api20240402preview | | +| NetworkDataplane_STATUS | | | | | v1api20231102preview | v1api20240402preview | | +| NetworkMode | | | | | v1api20231102preview | v1api20240402preview | | +| NetworkMode_STATUS | | | | | v1api20231102preview | v1api20240402preview | | +| NetworkMonitoring | | | | | v1api20231102preview | | | +| NetworkMonitoring_STATUS | | | | | v1api20231102preview | | | +| NetworkPlugin | | | | v1api20231001 | v1api20231102preview | v1api20240402preview | | +| NetworkPluginMode | | | | | v1api20231102preview | v1api20240402preview | | +| NetworkPluginMode_STATUS | | | | | v1api20231102preview | v1api20240402preview | | +| NetworkPlugin_STATUS | | | | | v1api20231102preview | v1api20240402preview | | +| NetworkPolicy | | | | | v1api20231102preview | v1api20240402preview | | +| NetworkPolicy_STATUS | | | | | v1api20231102preview | v1api20240402preview | | +| OSDiskType | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| OSDiskType_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| OSSKU | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| OSSKU_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| OSType | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| OSType_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| PodIPAllocationMode | | | | | | v1api20240402preview | | +| PodIPAllocationMode_STATUS | | | | | | v1api20240402preview | | +| PodLinkLocalAccess | | | | | | v1api20240402preview | | +| PodLinkLocalAccess_STATUS | | | | | | v1api20240402preview | | +| PortRange | | | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| PortRange_Protocol | | | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| PortRange_Protocol_STATUS | | | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| PortRange_STATUS | | | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| PowerState | | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| PowerState_Code | | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| PowerState_Code_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| PowerState_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| PrivateLinkResource | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| PrivateLinkResource_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| RelativeMonthlySchedule | | | | | | | v1api20240901 | +| RelativeMonthlySchedule_STATUS | | | | | | | v1api20240901 | +| RelativeMonthlySchedule_WeekIndex | | | | | | | v1api20240901 | +| RelativeMonthlySchedule_WeekIndex_STATUS | | | | | | | v1api20240901 | +| ResourceReference | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ResourceReference_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| SafeguardsProfile | | | | | v1api20231102preview | v1api20240402preview | | +| SafeguardsProfile_Level | | | | | v1api20231102preview | v1api20240402preview | | +| SafeguardsProfile_Level_STATUS | | | | | v1api20231102preview | v1api20240402preview | | +| SafeguardsProfile_STATUS | | | | | v1api20231102preview | v1api20240402preview | | +| ScaleDownMode | | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ScaleDownMode_STATUS | | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ScaleProfile | | | | | v1api20231102preview | v1api20240402preview | | +| ScaleProfile_STATUS | | | | | v1api20231102preview | v1api20240402preview | | +| ScaleSetEvictionPolicy | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ScaleSetEvictionPolicy_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ScaleSetPriority | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ScaleSetPriority_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| Schedule | | | | | | | v1api20240901 | +| Schedule_STATUS | | | | | | | v1api20240901 | +| ServiceMeshProfile | | | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ServiceMeshProfile_Mode | | | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ServiceMeshProfile_Mode_STATUS | | | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| ServiceMeshProfile_STATUS | | | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| SysctlConfig | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| SysctlConfig_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| SystemData_CreatedByType_STATUS | | v1api20230201 | v1api20230315preview | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| SystemData_LastModifiedByType_STATUS | | v1api20230201 | v1api20230315preview | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| SystemData_STATUS | | v1api20230201 | v1api20230315preview | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| TimeInWeek | | | | | | | v1api20240901 | +| TimeInWeek_STATUS | | | | | | | v1api20240901 | +| TimeSpan | | | | | | | v1api20240901 | +| TimeSpan_STATUS | | | | | | | v1api20240901 | +| TrustedAccessRoleBinding | | | | v1api20231001 | | v1api20240402preview | v1api20240901 | +| TrustedAccessRoleBindingProperties | | | | v1api20231001 | | v1api20240402preview | v1api20240901 | +| TrustedAccessRoleBindingProperties_ProvisioningState_STATUS | | | | v1api20231001 | | v1api20240402preview | v1api20240901 | +| TrustedAccessRoleBindingProperties_STATUS | | | | v1api20231001 | | v1api20240402preview | v1api20240901 | +| TrustedAccessRoleBinding_STATUS | | | | v1api20231001 | | v1api20240402preview | v1api20240901 | +| TrustedAccessRoleBinding_Spec | | | | v1api20231001 | | v1api20240402preview | v1api20240901 | +| UpdateGroup | | | v1api20230315preview | | | | | +| UpdateGroupStatus_STATUS | | | v1api20230315preview | | | | | +| UpdateGroup_STATUS | | | v1api20230315preview | | | | | +| UpdateRunProperties | | | v1api20230315preview | | | | | +| UpdateRunProperties_STATUS | | | v1api20230315preview | | | | | +| UpdateRunProvisioningState_STATUS | | | v1api20230315preview | | | | | +| UpdateRunStatus_STATUS | | | v1api20230315preview | | | | | +| UpdateRunStrategy | | | v1api20230315preview | | | | | +| UpdateRunStrategy_STATUS | | | v1api20230315preview | | | | | +| UpdateStage | | | v1api20230315preview | | | | | +| UpdateStageStatus_STATUS | | | v1api20230315preview | | | | | +| UpdateStage_STATUS | | | v1api20230315preview | | | | | +| UpdateState_STATUS | | | v1api20230315preview | | | | | +| UpdateStatus_STATUS | | | v1api20230315preview | | | | | +| UpgradeOverrideSettings | | | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| UpgradeOverrideSettings_STATUS | | | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| UserAssignedIdentity | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| UserAssignedIdentityDetails | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| UserAssignedIdentity_STATUS | v1api20210501 | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| VirtualMachineNodes | | | | | v1api20231102preview | v1api20240402preview | | +| VirtualMachineNodes_STATUS | | | | | v1api20231102preview | v1api20240402preview | | +| VirtualMachinesProfile | | | | | v1api20231102preview | v1api20240402preview | | +| VirtualMachinesProfile_STATUS | | | | | v1api20231102preview | v1api20240402preview | | +| WaitStatus_STATUS | | | v1api20230315preview | | | | | +| WeekDay | | | | | | | v1api20240901 | +| WeekDay_STATUS | | | | | | | v1api20240901 | +| WeeklySchedule | | | | | | | v1api20240901 | +| WeeklySchedule_STATUS | | | | | | | v1api20240901 | +| WindowsGmsaProfile | | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| WindowsGmsaProfile_STATUS | | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| WorkloadRuntime | | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | +| WorkloadRuntime_STATUS | | v1api20230201 | | v1api20231001 | v1api20231102preview | v1api20240402preview | v1api20240901 | diff --git a/v2/azure-arm.yaml b/v2/azure-arm.yaml index 321f7157441..53a6a0ebba0 100644 --- a/v2/azure-arm.yaml +++ b/v2/azure-arm.yaml @@ -860,6 +860,11 @@ status: # If you have two names differing only by letter case, use a TypeTransform # to selectively rename one of the types. # +# $stripDocumentation: +# Strips documentation from the specified resource and all objects referenced by the resource +# recursively. Should not be used unless completely necessary - usually to reduce the size of +# a CRD to below the Kubernetes CRD size limit. +# # $supportedFrom: # Gives the version number of the first release of ASO that provides # support for this resource. @@ -1660,6 +1665,7 @@ objectModelConfiguration: ManagedCluster: $export: true $supportedFrom: v2.0.0-alpha.1 + $stripDocumentation: true $azureGeneratedSecrets: - AdminCredentials - UserCredentials @@ -1706,6 +1712,7 @@ objectModelConfiguration: ManagedCluster: $export: true $supportedFrom: v2.0.0 + $stripDocumentation: true $azureGeneratedSecrets: - AdminCredentials - UserCredentials @@ -1816,6 +1823,7 @@ objectModelConfiguration: ManagedCluster: $export: true $supportedFrom: v2.6.0 + $stripDocumentation: true $azureGeneratedSecrets: - AdminCredentials - UserCredentials @@ -1900,6 +1908,59 @@ objectModelConfiguration: PrivateLinkResource: Id: $armReference: true + 2024-09-01: + ContainerServiceSshPublicKey: + KeyData: + $isSecret: false + ContainerServiceSshPublicKey_STATUS: + KeyData: + $isSecret: false + DelegatedResource: + ResourceId: + $armReference: true + ManagedCluster: + $export: true + $supportedFrom: v2.11.0 + $azureGeneratedSecrets: + - AdminCredentials + - UserCredentials + $generatedConfigs: + OIDCIssuerProfile: $.Status.OidcIssuerProfile.IssuerURL + ManagedCluster_Spec: + Tags: + $payloadType: explicitEmptyCollections + ManagedClusterAgentPoolProfile: + NodeLabels: + $payloadType: explicitEmptyCollections + NodeTaints: + $payloadType: explicitEmptyCollections + Tags: + $payloadType: explicitEmptyCollections + ManagedClusterAgentPoolProfileProperties: + NodeLabels: + $payloadType: explicitEmptyCollections + NodeTaints: + $payloadType: explicitEmptyCollections + Tags: + $payloadType: explicitEmptyCollections + ManagedClusters_AgentPool: + $exportAs: ManagedClustersAgentPool + $supportedFrom: v2.11.0 + ManagedClusterServicePrincipalProfile: + Secret: + $isSecret: true + ManagedClusterWindowsProfile: + AdminPassword: + $isSecret: true + PrivateLinkResource: + Id: + $armReference: true + ManagedClusters_TrustedAccessRoleBinding: + $exportAs: TrustedAccessRoleBinding + $supportedFrom: v2.11.0 + ManagedClusters_MaintenanceConfiguration: + $exportAs: MaintenanceConfiguration + $supportedFrom: v2.11.0 datafactory: 2018-06-01: PurviewConfiguration: diff --git a/v2/cmd/asoctl/pkg/importresources/importable_arm_resource_test.go b/v2/cmd/asoctl/pkg/importresources/importable_arm_resource_test.go index 0946ad432fb..cd116660a4a 100644 --- a/v2/cmd/asoctl/pkg/importresources/importable_arm_resource_test.go +++ b/v2/cmd/asoctl/pkg/importresources/importable_arm_resource_test.go @@ -124,7 +124,7 @@ func Test_ARMResourceImporter_GroupVersionKindFromARMID(t *testing.T) { armId: "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aso-rg/providers/Microsoft.ContainerService/managedClusters/aso-cluster", expectedGroup: "containerservice.azure.com", expectedKind: "ManagedCluster", - expectedVersion: "v1api20231001", + expectedVersion: "v1api20240901", }, { name: "Redis cache", diff --git a/v2/internal/controllers/containerservice_managedcluster_crud_v1api20210501_test.go b/v2/internal/controllers/containerservice_managedcluster_crud_v1api20240901_test.go similarity index 61% rename from v2/internal/controllers/containerservice_managedcluster_crud_v1api20210501_test.go rename to v2/internal/controllers/containerservice_managedcluster_crud_v1api20240901_test.go index 08837f549c1..5c9c9e8f0b5 100644 --- a/v2/internal/controllers/containerservice_managedcluster_crud_v1api20210501_test.go +++ b/v2/internal/controllers/containerservice_managedcluster_crud_v1api20240901_test.go @@ -10,34 +10,24 @@ import ( . "github.com/onsi/gomega" - aks "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20210501" + aks "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20240901" "github.com/Azure/azure-service-operator/v2/internal/testcommon" "github.com/Azure/azure-service-operator/v2/internal/util/to" "github.com/Azure/azure-service-operator/v2/pkg/genruntime" ) -func Test_AKS_ManagedCluster_20210501_CRUD(t *testing.T) { +func Test_AKS_ManagedCluster_20240901_CRUD(t *testing.T) { t.Parallel() tc := globalTestContext.ForTest(t) + tc.AzureRegion = to.Ptr("westus3") // TODO: the default test region of westus2 doesn't allow ds2_v2 at the moment rg := tc.CreateTestResourceGroupAndWait() - region := to.Ptr("westus3") // TODO: the default test region of westus2 doesn't allow ds2_v2 at the moment - // region := tc.AzureRegion - - adminUsername := "adminUser" - sshPublicKey, err := tc.GenerateSSHKey(2048) - tc.Expect(err).ToNot(HaveOccurred()) - - identityKind := aks.ManagedClusterIdentity_Type_SystemAssigned - osType := aks.OSType_Linux - agentPoolMode := aks.AgentPoolMode_System - cluster := &aks.ManagedCluster{ ObjectMeta: tc.MakeObjectMeta("mc"), Spec: aks.ManagedCluster_Spec{ - Location: region, + Location: tc.AzureRegion, Owner: testcommon.AsOwner(rg), DnsPrefix: to.Ptr("aso"), AgentPoolProfiles: []aks.ManagedClusterAgentPoolProfile{ @@ -45,22 +35,12 @@ func Test_AKS_ManagedCluster_20210501_CRUD(t *testing.T) { Name: to.Ptr("ap1"), Count: to.Ptr(1), VmSize: to.Ptr("Standard_DS2_v2"), - OsType: &osType, - Mode: &agentPoolMode, - }, - }, - LinuxProfile: &aks.ContainerServiceLinuxProfile{ - AdminUsername: &adminUsername, - Ssh: &aks.ContainerServiceSshConfiguration{ - PublicKeys: []aks.ContainerServiceSshPublicKey{ - { - KeyData: sshPublicKey, - }, - }, + OsType: to.Ptr(aks.OSType_Linux), + Mode: to.Ptr(aks.AgentPoolMode_System), }, }, Identity: &aks.ManagedClusterIdentity{ - Type: &identityKind, + Type: to.Ptr(aks.ManagedClusterIdentity_Type_SystemAssigned), }, }, } @@ -71,8 +51,8 @@ func Test_AKS_ManagedCluster_20210501_CRUD(t *testing.T) { armId := *cluster.Status.Id // Perform a simple patch - skuName := aks.ManagedClusterSKU_Name_Basic - skuTier := aks.ManagedClusterSKU_Tier_Paid + skuName := aks.ManagedClusterSKU_Name_Base + skuTier := aks.ManagedClusterSKU_Tier_Standard old := cluster.DeepCopy() cluster.Spec.Sku = &aks.ManagedClusterSKU{ Name: &skuName, @@ -81,23 +61,29 @@ func Test_AKS_ManagedCluster_20210501_CRUD(t *testing.T) { tc.PatchResourceAndWait(old, cluster) tc.Expect(cluster.Status.Sku).ToNot(BeNil()) tc.Expect(cluster.Status.Sku.Name).ToNot(BeNil()) - tc.Expect(*cluster.Status.Sku.Name).To(Equal(aks.ManagedClusterSKU_Name_STATUS_Basic)) + tc.Expect(*cluster.Status.Sku.Name).To(Equal(aks.ManagedClusterSKU_Name_STATUS_Base)) tc.Expect(cluster.Status.Sku.Tier).ToNot(BeNil()) - tc.Expect(*cluster.Status.Sku.Tier).To(Equal(aks.ManagedClusterSKU_Tier_STATUS_Paid)) + tc.Expect(*cluster.Status.Sku.Tier).To(Equal(aks.ManagedClusterSKU_Tier_STATUS_Standard)) // Run sub tests tc.RunSubtests( testcommon.Subtest{ Name: "AKS KubeConfig secret CRUD", Test: func(tc *testcommon.KubePerTestContext) { - AKS_ManagedCluster_Kubeconfig_20210501_Secrets(tc, cluster) + AKS_ManagedCluster_Kubeconfig_20240901_Secrets(tc, cluster) }, }) tc.RunParallelSubtests( testcommon.Subtest{ Name: "AKS AgentPool CRUD", Test: func(tc *testcommon.KubePerTestContext) { - AKS_ManagedCluster_AgentPool_20210501_CRUD(tc, cluster) + AKS_ManagedCluster_AgentPool_20240901_CRUD(tc, cluster) + }, + }, + testcommon.Subtest{ + Name: "AKS MaintenanceWindow CRUD", + Test: func(tc *testcommon.KubePerTestContext) { + AKS_ManagedCluster_MaintenanceConfiguration_20240901_CRUD(tc, cluster) }, }, ) @@ -111,9 +97,8 @@ func Test_AKS_ManagedCluster_20210501_CRUD(t *testing.T) { tc.Expect(exists).To(BeFalse()) } -func AKS_ManagedCluster_AgentPool_20210501_CRUD(tc *testcommon.KubePerTestContext, cluster *aks.ManagedCluster) { +func AKS_ManagedCluster_AgentPool_20240901_CRUD(tc *testcommon.KubePerTestContext, cluster *aks.ManagedCluster) { osType := aks.OSType_Linux - agentPoolMode := aks.AgentPoolMode_System agentPool := &aks.ManagedClustersAgentPool{ ObjectMeta: tc.MakeObjectMetaWithName("ap2"), @@ -122,7 +107,7 @@ func AKS_ManagedCluster_AgentPool_20210501_CRUD(tc *testcommon.KubePerTestContex Count: to.Ptr(1), VmSize: to.Ptr("Standard_DS2_v2"), OsType: &osType, - Mode: &agentPoolMode, + Mode: to.Ptr(aks.AgentPoolMode_System), }, } @@ -149,7 +134,7 @@ func AKS_ManagedCluster_AgentPool_20210501_CRUD(tc *testcommon.KubePerTestContex tc.Expect(agentPool.Status.NodeLabels).To(HaveKey("mylabel")) } -func AKS_ManagedCluster_Kubeconfig_20210501_Secrets(tc *testcommon.KubePerTestContext, cluster *aks.ManagedCluster) { +func AKS_ManagedCluster_Kubeconfig_20240901_Secrets(tc *testcommon.KubePerTestContext, cluster *aks.ManagedCluster) { old := cluster.DeepCopy() secret := "kubeconfig" cluster.Spec.OperatorSpec = &aks.ManagedClusterOperatorSpec{ @@ -162,3 +147,39 @@ func AKS_ManagedCluster_Kubeconfig_20210501_Secrets(tc *testcommon.KubePerTestCo tc.PatchResourceAndWait(old, cluster) tc.ExpectSecretHasKeys(secret, "admin", "user") } + +func AKS_ManagedCluster_MaintenanceConfiguration_20240901_CRUD(tc *testcommon.KubePerTestContext, cluster *aks.ManagedCluster) { + mtcConfiguration := &aks.MaintenanceConfiguration{ + ObjectMeta: tc.MakeObjectMetaWithName("aksmanagedautoupgradeschedule"), // MaintenanceWindows only support a few fixed names + Spec: aks.MaintenanceConfiguration_Spec{ + Owner: testcommon.AsOwner(cluster), + MaintenanceWindow: &aks.MaintenanceWindow{ + Schedule: &aks.Schedule{ + Weekly: &aks.WeeklySchedule{ + DayOfWeek: to.Ptr(aks.WeekDay_Saturday), + IntervalWeeks: to.Ptr(1), + }, + }, + DurationHours: to.Ptr(12), + StartTime: to.Ptr("00:00"), + }, + }, + } + + tc.CreateResourceAndWait(mtcConfiguration) + defer tc.DeleteResourceAndWait(mtcConfiguration) + + tc.Expect(mtcConfiguration.Status.Id).ToNot(BeNil()) + + // a basic assertion on a few properties + tc.Expect(mtcConfiguration.Status.MaintenanceWindow).ToNot(BeNil()) + tc.Expect(mtcConfiguration.Status.MaintenanceWindow.DurationHours).ToNot(BeNil()) + tc.Expect(*mtcConfiguration.Status.MaintenanceWindow.DurationHours).To(Equal(12)) + + // Perform a simple patch + old := mtcConfiguration.DeepCopy() + mtcConfiguration.Spec.MaintenanceWindow.DurationHours = to.Ptr(8) + tc.PatchResourceAndWait(old, mtcConfiguration) + tc.Expect(mtcConfiguration.Status.MaintenanceWindow.DurationHours).ToNot(BeNil()) + tc.Expect(*mtcConfiguration.Status.MaintenanceWindow.DurationHours).To(Equal(8)) +} diff --git a/v2/internal/controllers/controller_resources_gen.go b/v2/internal/controllers/controller_resources_gen.go index 431d763d39d..98d447aec0a 100644 --- a/v2/internal/controllers/controller_resources_gen.go +++ b/v2/internal/controllers/controller_resources_gen.go @@ -71,6 +71,8 @@ import ( containerservice_v20231102ps "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20231102preview/storage" containerservice_v20240402p "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20240402preview" containerservice_v20240402ps "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20240402preview/storage" + containerservice_v20240901 "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20240901" + containerservice_v20240901s "github.com/Azure/azure-service-operator/v2/api/containerservice/v1api20240901/storage" datafactory_customizations "github.com/Azure/azure-service-operator/v2/api/datafactory/customizations" datafactory_v20180601 "github.com/Azure/azure-service-operator/v2/api/datafactory/v1api20180601" datafactory_v20180601s "github.com/Azure/azure-service-operator/v2/api/datafactory/v1api20180601/storage" @@ -534,8 +536,9 @@ func getKnownStorageTypes() []*registration.StorageType { result = append(result, ®istration.StorageType{Obj: new(containerservice_v20230315ps.Fleet)}) result = append(result, ®istration.StorageType{Obj: new(containerservice_v20230315ps.FleetsMember)}) result = append(result, ®istration.StorageType{Obj: new(containerservice_v20230315ps.FleetsUpdateRun)}) + result = append(result, ®istration.StorageType{Obj: new(containerservice_v20240901s.MaintenanceConfiguration)}) result = append(result, ®istration.StorageType{ - Obj: new(containerservice_v20231001s.ManagedCluster), + Obj: new(containerservice_v20240901s.ManagedCluster), Indexes: []registration.Index{ { Key: ".spec.windowsProfile.adminPassword", @@ -549,12 +552,12 @@ func getKnownStorageTypes() []*registration.StorageType { Watches: []registration.Watch{ { Type: &v1.Secret{}, - MakeEventHandler: watchSecretsFactory([]string{".spec.servicePrincipalProfile.secret", ".spec.windowsProfile.adminPassword"}, &containerservice_v20231001s.ManagedClusterList{}), + MakeEventHandler: watchSecretsFactory([]string{".spec.servicePrincipalProfile.secret", ".spec.windowsProfile.adminPassword"}, &containerservice_v20240901s.ManagedClusterList{}), }, }, }) - result = append(result, ®istration.StorageType{Obj: new(containerservice_v20231001s.ManagedClustersAgentPool)}) - result = append(result, ®istration.StorageType{Obj: new(containerservice_v20231001s.TrustedAccessRoleBinding)}) + result = append(result, ®istration.StorageType{Obj: new(containerservice_v20240901s.ManagedClustersAgentPool)}) + result = append(result, ®istration.StorageType{Obj: new(containerservice_v20240901s.TrustedAccessRoleBinding)}) result = append(result, ®istration.StorageType{Obj: new(datafactory_v20180601s.Factory)}) result = append(result, ®istration.StorageType{Obj: new(dataprotection_v20231101s.BackupVault)}) result = append(result, ®istration.StorageType{Obj: new(dataprotection_v20231101s.BackupVaultsBackupInstance)}) @@ -1654,6 +1657,18 @@ func getKnownTypes() []client.Object { new(containerservice_v20240402ps.ManagedCluster), new(containerservice_v20240402ps.ManagedClustersAgentPool), new(containerservice_v20240402ps.TrustedAccessRoleBinding)) + result = append( + result, + new(containerservice_v20240901.MaintenanceConfiguration), + new(containerservice_v20240901.ManagedCluster), + new(containerservice_v20240901.ManagedClustersAgentPool), + new(containerservice_v20240901.TrustedAccessRoleBinding)) + result = append( + result, + new(containerservice_v20240901s.MaintenanceConfiguration), + new(containerservice_v20240901s.ManagedCluster), + new(containerservice_v20240901s.ManagedClustersAgentPool), + new(containerservice_v20240901s.TrustedAccessRoleBinding)) result = append(result, new(datafactory_v20180601.Factory)) result = append(result, new(datafactory_v20180601s.Factory)) result = append( @@ -2297,6 +2312,8 @@ func createScheme() *runtime.Scheme { _ = containerservice_v20231102ps.AddToScheme(scheme) _ = containerservice_v20240402p.AddToScheme(scheme) _ = containerservice_v20240402ps.AddToScheme(scheme) + _ = containerservice_v20240901.AddToScheme(scheme) + _ = containerservice_v20240901s.AddToScheme(scheme) _ = datafactory_v20180601.AddToScheme(scheme) _ = datafactory_v20180601s.AddToScheme(scheme) _ = dataprotection_v20230101.AddToScheme(scheme) @@ -2463,6 +2480,7 @@ func getResourceExtensions() []genruntime.ResourceExtension { result = append(result, &containerservice_customizations.FleetExtension{}) result = append(result, &containerservice_customizations.FleetsMemberExtension{}) result = append(result, &containerservice_customizations.FleetsUpdateRunExtension{}) + result = append(result, &containerservice_customizations.MaintenanceConfigurationExtension{}) result = append(result, &containerservice_customizations.ManagedClusterExtension{}) result = append(result, &containerservice_customizations.ManagedClustersAgentPoolExtension{}) result = append(result, &containerservice_customizations.TrustedAccessRoleBindingExtension{}) @@ -3100,9 +3118,9 @@ func indexContainerinstanceContainerGroupWorkspaceKey(rawObj client.Object) []st return obj.Spec.Diagnostics.LogAnalytics.WorkspaceKey.Index() } -// indexContainerserviceManagedClusterAdminPassword an index function for containerservice_v20231001s.ManagedCluster .spec.windowsProfile.adminPassword +// indexContainerserviceManagedClusterAdminPassword an index function for containerservice_v20240901s.ManagedCluster .spec.windowsProfile.adminPassword func indexContainerserviceManagedClusterAdminPassword(rawObj client.Object) []string { - obj, ok := rawObj.(*containerservice_v20231001s.ManagedCluster) + obj, ok := rawObj.(*containerservice_v20240901s.ManagedCluster) if !ok { return nil } @@ -3115,9 +3133,9 @@ func indexContainerserviceManagedClusterAdminPassword(rawObj client.Object) []st return obj.Spec.WindowsProfile.AdminPassword.Index() } -// indexContainerserviceManagedClusterSecret an index function for containerservice_v20231001s.ManagedCluster .spec.servicePrincipalProfile.secret +// indexContainerserviceManagedClusterSecret an index function for containerservice_v20240901s.ManagedCluster .spec.servicePrincipalProfile.secret func indexContainerserviceManagedClusterSecret(rawObj client.Object) []string { - obj, ok := rawObj.(*containerservice_v20231001s.ManagedCluster) + obj, ok := rawObj.(*containerservice_v20240901s.ManagedCluster) if !ok { return nil } diff --git a/v2/internal/controllers/recordings/Test_AKS_ManagedCluster_20210501_CRUD.yaml b/v2/internal/controllers/recordings/Test_AKS_ManagedCluster_20210501_CRUD.yaml deleted file mode 100644 index d3126afa8ef..00000000000 --- a/v2/internal/controllers/recordings/Test_AKS_ManagedCluster_20210501_CRUD.yaml +++ /dev/null @@ -1,3743 +0,0 @@ ---- -version: 1 -interactions: -- request: - body: '{"location":"westus2","name":"asotest-rg-ccnlsk","tags":{"CreatedAt":"2001-02-03T04:05:06Z"}}' - form: {} - headers: - Accept: - - application/json - Content-Length: - - "93" - Content-Type: - - application/json - Test-Request-Attempt: - - "0" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ccnlsk?api-version=2020-06-01 - method: PUT - response: - body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ccnlsk","name":"asotest-rg-ccnlsk","type":"Microsoft.Resources/resourceGroups","location":"westus2","tags":{"CreatedAt":"2001-02-03T04:05:06Z"},"properties":{"provisioningState":"Succeeded"}}' - headers: - Cache-Control: - - no-cache - Content-Length: - - "276" - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - X-Content-Type-Options: - - nosniff - status: 201 Created - code: 201 - duration: "" -- request: - body: "" - form: {} - headers: - Accept: - - application/json - Test-Request-Attempt: - - "0" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ccnlsk?api-version=2020-06-01 - method: GET - response: - body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ccnlsk","name":"asotest-rg-ccnlsk","type":"Microsoft.Resources/resourceGroups","location":"westus2","tags":{"CreatedAt":"2001-02-03T04:05:06Z"},"properties":{"provisioningState":"Succeeded"}}' - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Accept: - - application/json - Test-Request-Attempt: - - "0" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ccnlsk/providers/Microsoft.ContainerService/managedClusters/asotest-mc-qzzywc?api-version=2021-05-01 - method: GET - response: - body: '{"error":{"code":"ResourceNotFound","message":"The Resource ''Microsoft.ContainerService/managedClusters/asotest-mc-qzzywc'' - under resource group ''asotest-rg-ccnlsk'' was not found. For more details please - go to https://aka.ms/ARMResourceNotFoundFix"}}' - headers: - Cache-Control: - - no-cache - Content-Length: - - "249" - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - X-Content-Type-Options: - - nosniff - X-Ms-Failure-Cause: - - gateway - status: 404 Not Found - code: 404 - duration: "" -- request: - body: '{"identity":{"type":"SystemAssigned"},"location":"westus3","name":"asotest-mc-qzzywc","properties":{"addonProfiles":null,"agentPoolProfiles":[{"availabilityZones":null,"count":1,"mode":"System","name":"ap1","nodeLabels":{},"nodeTaints":[],"osType":"Linux","tags":{},"vmSize":"Standard_DS2_v2"}],"dnsPrefix":"aso","identityProfile":null,"linuxProfile":{"adminUsername":"adminUser","ssh":{"publicKeys":[{"keyData":"ssh-rsa - {KEY}\n"}]}},"privateLinkResources":null},"tags":{}}' - form: {} - headers: - Accept: - - application/json - Content-Length: - - "832" - Content-Type: - - application/json - Test-Request-Attempt: - - "0" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ccnlsk/providers/Microsoft.ContainerService/managedClusters/asotest-mc-qzzywc?api-version=2021-05-01 - method: PUT - response: - body: |- - { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asotest-rg-ccnlsk/providers/Microsoft.ContainerService/managedClusters/asotest-mc-qzzywc", - "location": "westus3", - "name": "asotest-mc-qzzywc", - "type": "Microsoft.ContainerService/ManagedClusters", - "properties": { - "provisioningState": "Creating", - "powerState": { - "code": "Running" - }, - "kubernetesVersion": "1.26.6", - "dnsPrefix": "aso", - "fqdn": "aso-kdwsh5rj.hcp.westus3.azmk8s.io", - "azurePortalFQDN": "aso-kdwsh5rj.portal.hcp.westus3.azmk8s.io", - "agentPoolProfiles": [ - { - "name": "ap1", - "count": 1, - "vmSize": "Standard_DS2_v2", - "osDiskSizeGB": 128, - "osDiskType": "Managed", - "kubeletDiskType": "OS", - "maxPods": 110, - "type": "VirtualMachineScaleSets", - "provisioningState": "Creating", - "powerState": { - "code": "Running" - }, - "orchestratorVersion": "1.26.6", - "mode": "System", - "osType": "Linux", - "osSKU": "Ubuntu", - "nodeImageVersion": "AKSUbuntu-2204gen2containerd-202310.19.2", - "upgradeSettings": {}, - "enableFIPS": false - } - ], - "linuxProfile": { - "adminUsername": "adminUser", - "ssh": { - "publicKeys": [ - { - "keyData": "ssh-rsa {KEY}\n" - } - ] - } - }, - "servicePrincipalProfile": { - "clientId": "msi" - }, - "nodeResourceGroup": "MC_asotest-rg-ccnlsk_asotest-mc-qzzywc_westus3", - "enableRBAC": true, - "networkProfile": { - "networkPlugin": "kubenet", - "loadBalancerSku": "standard", - "loadBalancerProfile": { - "managedOutboundIPs": { - "count": 1 - } - }, - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", - "dnsServiceIP": "10.0.0.10", - "dockerBridgeCidr": "172.17.0.1/16", - "outboundType": "loadBalancer" - }, - "maxAgentPools": 100, - "autoUpgradeProfile": {} - }, - "identity": { - "type": "SystemAssigned", - "principalId": "0cce68d8-40e1-4779-8355-d93c6f72efa7", - "tenantId": "00000000-0000-0000-0000-000000000000" - }, - "sku": { - "name": "Basic", - "tier": "Free" - } - } - headers: - Azure-Asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/ca1518f0-7374-4fd5-9a77-089bd913b2a5?api-version=2016-03-30&t=638351699539450464&c=MIIHADCCBeigAwIBAgITHgOPMCVriuS4-lWO9AAAA48wJTANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDYwHhcNMjMxMTAxMTk0NDE0WhcNMjQxMDI2MTk0NDE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVYjGR__tDbQAkWmgTzkuhLkeLHMZF4BUrWy0rFsX2EQ-jKcnRoDb5IHA8d5kzQwRSfOsVkMYLJuxNfSVVkrT-2bRtOmLA39FjlxIxE-eeCClqoDypQUkMQFt03BhhgviChly_GAB1VdMVAtOkAqyDD7YkPdR2axUfPszW3havSW-NiPjXkJezv1WPkDjGs7VhIBdJ276lVsVC2AXVfTa_AH34QbGAVCgFq8f8RTHFAF3kuyznwrhR89pSFJZDGMu3zaigorG-qTVP15VUl0SThQRKENFzEVVIr40ndWscX0MCYmJQFpzB426gRb4aM5DABy8TfY3hU0Ma6Pqs5vu0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MB0GA1UdDgQWBBQ2lSwc1_ggaso1He0vGUt5JD_O-zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBTxRmjG8cPwKy19i2rhsvm-NfzRQTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAIw8F0494wN-l6CjjUdzUshsBr2wClEmC0dDhWd1f3feZIai44cKuTS3gtIM6iwdptdi2IL_bKhFk-6Fn-JXtbxsNzIJ8XXeKHhpzJVCU9MsZAFp3UQVp3udzC1s2K_AXSg-OCDXxNEARdl-WK7qOyoEscw8w8gjgQG2Ci1QnqpZZj3XNFuKivIpxFcC8b0hYbFHXp6mX3gSSX-JIvFbcilXTjD7Akh4wCqJ0qr_UVakf6f0hcmwRwI6pxk0EVSIZDDpivRgNJousujO4E5jLDLfevJch5BD-VERxY6bIKFRBYRq5WNGU96UKZ842RWmWmjml7ckpZd5e1UD5ErqHLA&s=bOqvz3iQjJP87R6tf3JDhrRj6-9wXdPhd9hYrfBX4AkqjrTuCFY3y3veX82wTRPbGffXcTH5AA2B3yzX0N4cIlurvD8dgQYWV9qfAGUGFqZzfc8wi8dIMHlcapROulJlYrgaqfYkZQAeo0U2MUt2-Fdm0V4S2nr6dDVotLMLFz4ZIQYoxyNDvJIKtCjPYAthpxX9GknoPPEaEjX649wAP7XSW0iTLJYA_jz8UMfGAYex1ujp4IgH2wPCr2f_7QuKvZL_cRRNJeNipLBQsPKMqdvsZP7opyeqv90xqSn7-a96bilO0MBdFfdFKc0flKGVOhoKWcN0lUT-4hende-Tng&h=nAgovbdtlyB_SCGEQ16UzBm-OsV6k9r9SNh8QjlaWxk - Cache-Control: - - no-cache - Content-Length: - - "2458" - Content-Type: - - application/json - Expires: - - "-1" - Pragma: - - no-cache - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - X-Content-Type-Options: - - nosniff - status: 201 Created - code: 201 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "0" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/ca1518f0-7374-4fd5-9a77-089bd913b2a5?api-version=2016-03-30&t=638351699539450464&c=MIIHADCCBeigAwIBAgITHgOPMCVriuS4-lWO9AAAA48wJTANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDYwHhcNMjMxMTAxMTk0NDE0WhcNMjQxMDI2MTk0NDE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVYjGR__tDbQAkWmgTzkuhLkeLHMZF4BUrWy0rFsX2EQ-jKcnRoDb5IHA8d5kzQwRSfOsVkMYLJuxNfSVVkrT-2bRtOmLA39FjlxIxE-eeCClqoDypQUkMQFt03BhhgviChly_GAB1VdMVAtOkAqyDD7YkPdR2axUfPszW3havSW-NiPjXkJezv1WPkDjGs7VhIBdJ276lVsVC2AXVfTa_AH34QbGAVCgFq8f8RTHFAF3kuyznwrhR89pSFJZDGMu3zaigorG-qTVP15VUl0SThQRKENFzEVVIr40ndWscX0MCYmJQFpzB426gRb4aM5DABy8TfY3hU0Ma6Pqs5vu0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MB0GA1UdDgQWBBQ2lSwc1_ggaso1He0vGUt5JD_O-zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBTxRmjG8cPwKy19i2rhsvm-NfzRQTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAIw8F0494wN-l6CjjUdzUshsBr2wClEmC0dDhWd1f3feZIai44cKuTS3gtIM6iwdptdi2IL_bKhFk-6Fn-JXtbxsNzIJ8XXeKHhpzJVCU9MsZAFp3UQVp3udzC1s2K_AXSg-OCDXxNEARdl-WK7qOyoEscw8w8gjgQG2Ci1QnqpZZj3XNFuKivIpxFcC8b0hYbFHXp6mX3gSSX-JIvFbcilXTjD7Akh4wCqJ0qr_UVakf6f0hcmwRwI6pxk0EVSIZDDpivRgNJousujO4E5jLDLfevJch5BD-VERxY6bIKFRBYRq5WNGU96UKZ842RWmWmjml7ckpZd5e1UD5ErqHLA&s=bOqvz3iQjJP87R6tf3JDhrRj6-9wXdPhd9hYrfBX4AkqjrTuCFY3y3veX82wTRPbGffXcTH5AA2B3yzX0N4cIlurvD8dgQYWV9qfAGUGFqZzfc8wi8dIMHlcapROulJlYrgaqfYkZQAeo0U2MUt2-Fdm0V4S2nr6dDVotLMLFz4ZIQYoxyNDvJIKtCjPYAthpxX9GknoPPEaEjX649wAP7XSW0iTLJYA_jz8UMfGAYex1ujp4IgH2wPCr2f_7QuKvZL_cRRNJeNipLBQsPKMqdvsZP7opyeqv90xqSn7-a96bilO0MBdFfdFKc0flKGVOhoKWcN0lUT-4hende-Tng&h=nAgovbdtlyB_SCGEQ16UzBm-OsV6k9r9SNh8QjlaWxk - method: GET - response: - body: |- - { - "name": "f01815ca-7473-d54f-9a77-089bd913b2a5", - "status": "InProgress", - "startTime": "2001-02-03T04:05:06Z" - } - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json - Expires: - - "-1" - Pragma: - - no-cache - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "1" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/ca1518f0-7374-4fd5-9a77-089bd913b2a5?api-version=2016-03-30&t=638351699539450464&c=MIIHADCCBeigAwIBAgITHgOPMCVriuS4-lWO9AAAA48wJTANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDYwHhcNMjMxMTAxMTk0NDE0WhcNMjQxMDI2MTk0NDE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVYjGR__tDbQAkWmgTzkuhLkeLHMZF4BUrWy0rFsX2EQ-jKcnRoDb5IHA8d5kzQwRSfOsVkMYLJuxNfSVVkrT-2bRtOmLA39FjlxIxE-eeCClqoDypQUkMQFt03BhhgviChly_GAB1VdMVAtOkAqyDD7YkPdR2axUfPszW3havSW-NiPjXkJezv1WPkDjGs7VhIBdJ276lVsVC2AXVfTa_AH34QbGAVCgFq8f8RTHFAF3kuyznwrhR89pSFJZDGMu3zaigorG-qTVP15VUl0SThQRKENFzEVVIr40ndWscX0MCYmJQFpzB426gRb4aM5DABy8TfY3hU0Ma6Pqs5vu0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MB0GA1UdDgQWBBQ2lSwc1_ggaso1He0vGUt5JD_O-zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBTxRmjG8cPwKy19i2rhsvm-NfzRQTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAIw8F0494wN-l6CjjUdzUshsBr2wClEmC0dDhWd1f3feZIai44cKuTS3gtIM6iwdptdi2IL_bKhFk-6Fn-JXtbxsNzIJ8XXeKHhpzJVCU9MsZAFp3UQVp3udzC1s2K_AXSg-OCDXxNEARdl-WK7qOyoEscw8w8gjgQG2Ci1QnqpZZj3XNFuKivIpxFcC8b0hYbFHXp6mX3gSSX-JIvFbcilXTjD7Akh4wCqJ0qr_UVakf6f0hcmwRwI6pxk0EVSIZDDpivRgNJousujO4E5jLDLfevJch5BD-VERxY6bIKFRBYRq5WNGU96UKZ842RWmWmjml7ckpZd5e1UD5ErqHLA&s=bOqvz3iQjJP87R6tf3JDhrRj6-9wXdPhd9hYrfBX4AkqjrTuCFY3y3veX82wTRPbGffXcTH5AA2B3yzX0N4cIlurvD8dgQYWV9qfAGUGFqZzfc8wi8dIMHlcapROulJlYrgaqfYkZQAeo0U2MUt2-Fdm0V4S2nr6dDVotLMLFz4ZIQYoxyNDvJIKtCjPYAthpxX9GknoPPEaEjX649wAP7XSW0iTLJYA_jz8UMfGAYex1ujp4IgH2wPCr2f_7QuKvZL_cRRNJeNipLBQsPKMqdvsZP7opyeqv90xqSn7-a96bilO0MBdFfdFKc0flKGVOhoKWcN0lUT-4hende-Tng&h=nAgovbdtlyB_SCGEQ16UzBm-OsV6k9r9SNh8QjlaWxk - method: GET - response: - body: |- - { - "name": "f01815ca-7473-d54f-9a77-089bd913b2a5", - "status": "InProgress", - "startTime": "2001-02-03T04:05:06Z" - } - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json - Expires: - - "-1" - Pragma: - - no-cache - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "2" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/ca1518f0-7374-4fd5-9a77-089bd913b2a5?api-version=2016-03-30&t=638351699539450464&c=MIIHADCCBeigAwIBAgITHgOPMCVriuS4-lWO9AAAA48wJTANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDYwHhcNMjMxMTAxMTk0NDE0WhcNMjQxMDI2MTk0NDE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVYjGR__tDbQAkWmgTzkuhLkeLHMZF4BUrWy0rFsX2EQ-jKcnRoDb5IHA8d5kzQwRSfOsVkMYLJuxNfSVVkrT-2bRtOmLA39FjlxIxE-eeCClqoDypQUkMQFt03BhhgviChly_GAB1VdMVAtOkAqyDD7YkPdR2axUfPszW3havSW-NiPjXkJezv1WPkDjGs7VhIBdJ276lVsVC2AXVfTa_AH34QbGAVCgFq8f8RTHFAF3kuyznwrhR89pSFJZDGMu3zaigorG-qTVP15VUl0SThQRKENFzEVVIr40ndWscX0MCYmJQFpzB426gRb4aM5DABy8TfY3hU0Ma6Pqs5vu0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MB0GA1UdDgQWBBQ2lSwc1_ggaso1He0vGUt5JD_O-zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBTxRmjG8cPwKy19i2rhsvm-NfzRQTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAIw8F0494wN-l6CjjUdzUshsBr2wClEmC0dDhWd1f3feZIai44cKuTS3gtIM6iwdptdi2IL_bKhFk-6Fn-JXtbxsNzIJ8XXeKHhpzJVCU9MsZAFp3UQVp3udzC1s2K_AXSg-OCDXxNEARdl-WK7qOyoEscw8w8gjgQG2Ci1QnqpZZj3XNFuKivIpxFcC8b0hYbFHXp6mX3gSSX-JIvFbcilXTjD7Akh4wCqJ0qr_UVakf6f0hcmwRwI6pxk0EVSIZDDpivRgNJousujO4E5jLDLfevJch5BD-VERxY6bIKFRBYRq5WNGU96UKZ842RWmWmjml7ckpZd5e1UD5ErqHLA&s=bOqvz3iQjJP87R6tf3JDhrRj6-9wXdPhd9hYrfBX4AkqjrTuCFY3y3veX82wTRPbGffXcTH5AA2B3yzX0N4cIlurvD8dgQYWV9qfAGUGFqZzfc8wi8dIMHlcapROulJlYrgaqfYkZQAeo0U2MUt2-Fdm0V4S2nr6dDVotLMLFz4ZIQYoxyNDvJIKtCjPYAthpxX9GknoPPEaEjX649wAP7XSW0iTLJYA_jz8UMfGAYex1ujp4IgH2wPCr2f_7QuKvZL_cRRNJeNipLBQsPKMqdvsZP7opyeqv90xqSn7-a96bilO0MBdFfdFKc0flKGVOhoKWcN0lUT-4hende-Tng&h=nAgovbdtlyB_SCGEQ16UzBm-OsV6k9r9SNh8QjlaWxk - method: GET - response: - body: |- - { - "name": "f01815ca-7473-d54f-9a77-089bd913b2a5", - "status": "InProgress", - "startTime": "2001-02-03T04:05:06Z" - } - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json - Expires: - - "-1" - Pragma: - - no-cache - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "3" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/ca1518f0-7374-4fd5-9a77-089bd913b2a5?api-version=2016-03-30&t=638351699539450464&c=MIIHADCCBeigAwIBAgITHgOPMCVriuS4-lWO9AAAA48wJTANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDYwHhcNMjMxMTAxMTk0NDE0WhcNMjQxMDI2MTk0NDE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVYjGR__tDbQAkWmgTzkuhLkeLHMZF4BUrWy0rFsX2EQ-jKcnRoDb5IHA8d5kzQwRSfOsVkMYLJuxNfSVVkrT-2bRtOmLA39FjlxIxE-eeCClqoDypQUkMQFt03BhhgviChly_GAB1VdMVAtOkAqyDD7YkPdR2axUfPszW3havSW-NiPjXkJezv1WPkDjGs7VhIBdJ276lVsVC2AXVfTa_AH34QbGAVCgFq8f8RTHFAF3kuyznwrhR89pSFJZDGMu3zaigorG-qTVP15VUl0SThQRKENFzEVVIr40ndWscX0MCYmJQFpzB426gRb4aM5DABy8TfY3hU0Ma6Pqs5vu0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MB0GA1UdDgQWBBQ2lSwc1_ggaso1He0vGUt5JD_O-zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBTxRmjG8cPwKy19i2rhsvm-NfzRQTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAIw8F0494wN-l6CjjUdzUshsBr2wClEmC0dDhWd1f3feZIai44cKuTS3gtIM6iwdptdi2IL_bKhFk-6Fn-JXtbxsNzIJ8XXeKHhpzJVCU9MsZAFp3UQVp3udzC1s2K_AXSg-OCDXxNEARdl-WK7qOyoEscw8w8gjgQG2Ci1QnqpZZj3XNFuKivIpxFcC8b0hYbFHXp6mX3gSSX-JIvFbcilXTjD7Akh4wCqJ0qr_UVakf6f0hcmwRwI6pxk0EVSIZDDpivRgNJousujO4E5jLDLfevJch5BD-VERxY6bIKFRBYRq5WNGU96UKZ842RWmWmjml7ckpZd5e1UD5ErqHLA&s=bOqvz3iQjJP87R6tf3JDhrRj6-9wXdPhd9hYrfBX4AkqjrTuCFY3y3veX82wTRPbGffXcTH5AA2B3yzX0N4cIlurvD8dgQYWV9qfAGUGFqZzfc8wi8dIMHlcapROulJlYrgaqfYkZQAeo0U2MUt2-Fdm0V4S2nr6dDVotLMLFz4ZIQYoxyNDvJIKtCjPYAthpxX9GknoPPEaEjX649wAP7XSW0iTLJYA_jz8UMfGAYex1ujp4IgH2wPCr2f_7QuKvZL_cRRNJeNipLBQsPKMqdvsZP7opyeqv90xqSn7-a96bilO0MBdFfdFKc0flKGVOhoKWcN0lUT-4hende-Tng&h=nAgovbdtlyB_SCGEQ16UzBm-OsV6k9r9SNh8QjlaWxk - method: GET - response: - body: |- - { - "name": "f01815ca-7473-d54f-9a77-089bd913b2a5", - "status": "InProgress", - "startTime": "2001-02-03T04:05:06Z" - } - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json - Expires: - - "-1" - Pragma: - - no-cache - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "4" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/ca1518f0-7374-4fd5-9a77-089bd913b2a5?api-version=2016-03-30&t=638351699539450464&c=MIIHADCCBeigAwIBAgITHgOPMCVriuS4-lWO9AAAA48wJTANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDYwHhcNMjMxMTAxMTk0NDE0WhcNMjQxMDI2MTk0NDE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVYjGR__tDbQAkWmgTzkuhLkeLHMZF4BUrWy0rFsX2EQ-jKcnRoDb5IHA8d5kzQwRSfOsVkMYLJuxNfSVVkrT-2bRtOmLA39FjlxIxE-eeCClqoDypQUkMQFt03BhhgviChly_GAB1VdMVAtOkAqyDD7YkPdR2axUfPszW3havSW-NiPjXkJezv1WPkDjGs7VhIBdJ276lVsVC2AXVfTa_AH34QbGAVCgFq8f8RTHFAF3kuyznwrhR89pSFJZDGMu3zaigorG-qTVP15VUl0SThQRKENFzEVVIr40ndWscX0MCYmJQFpzB426gRb4aM5DABy8TfY3hU0Ma6Pqs5vu0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MB0GA1UdDgQWBBQ2lSwc1_ggaso1He0vGUt5JD_O-zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBTxRmjG8cPwKy19i2rhsvm-NfzRQTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAIw8F0494wN-l6CjjUdzUshsBr2wClEmC0dDhWd1f3feZIai44cKuTS3gtIM6iwdptdi2IL_bKhFk-6Fn-JXtbxsNzIJ8XXeKHhpzJVCU9MsZAFp3UQVp3udzC1s2K_AXSg-OCDXxNEARdl-WK7qOyoEscw8w8gjgQG2Ci1QnqpZZj3XNFuKivIpxFcC8b0hYbFHXp6mX3gSSX-JIvFbcilXTjD7Akh4wCqJ0qr_UVakf6f0hcmwRwI6pxk0EVSIZDDpivRgNJousujO4E5jLDLfevJch5BD-VERxY6bIKFRBYRq5WNGU96UKZ842RWmWmjml7ckpZd5e1UD5ErqHLA&s=bOqvz3iQjJP87R6tf3JDhrRj6-9wXdPhd9hYrfBX4AkqjrTuCFY3y3veX82wTRPbGffXcTH5AA2B3yzX0N4cIlurvD8dgQYWV9qfAGUGFqZzfc8wi8dIMHlcapROulJlYrgaqfYkZQAeo0U2MUt2-Fdm0V4S2nr6dDVotLMLFz4ZIQYoxyNDvJIKtCjPYAthpxX9GknoPPEaEjX649wAP7XSW0iTLJYA_jz8UMfGAYex1ujp4IgH2wPCr2f_7QuKvZL_cRRNJeNipLBQsPKMqdvsZP7opyeqv90xqSn7-a96bilO0MBdFfdFKc0flKGVOhoKWcN0lUT-4hende-Tng&h=nAgovbdtlyB_SCGEQ16UzBm-OsV6k9r9SNh8QjlaWxk - method: GET - response: - body: |- - { - "name": "f01815ca-7473-d54f-9a77-089bd913b2a5", - "status": "InProgress", - "startTime": "2001-02-03T04:05:06Z" - } - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json - Expires: - - "-1" - Pragma: - - no-cache - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "5" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/ca1518f0-7374-4fd5-9a77-089bd913b2a5?api-version=2016-03-30&t=638351699539450464&c=MIIHADCCBeigAwIBAgITHgOPMCVriuS4-lWO9AAAA48wJTANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDYwHhcNMjMxMTAxMTk0NDE0WhcNMjQxMDI2MTk0NDE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVYjGR__tDbQAkWmgTzkuhLkeLHMZF4BUrWy0rFsX2EQ-jKcnRoDb5IHA8d5kzQwRSfOsVkMYLJuxNfSVVkrT-2bRtOmLA39FjlxIxE-eeCClqoDypQUkMQFt03BhhgviChly_GAB1VdMVAtOkAqyDD7YkPdR2axUfPszW3havSW-NiPjXkJezv1WPkDjGs7VhIBdJ276lVsVC2AXVfTa_AH34QbGAVCgFq8f8RTHFAF3kuyznwrhR89pSFJZDGMu3zaigorG-qTVP15VUl0SThQRKENFzEVVIr40ndWscX0MCYmJQFpzB426gRb4aM5DABy8TfY3hU0Ma6Pqs5vu0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MB0GA1UdDgQWBBQ2lSwc1_ggaso1He0vGUt5JD_O-zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBTxRmjG8cPwKy19i2rhsvm-NfzRQTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAIw8F0494wN-l6CjjUdzUshsBr2wClEmC0dDhWd1f3feZIai44cKuTS3gtIM6iwdptdi2IL_bKhFk-6Fn-JXtbxsNzIJ8XXeKHhpzJVCU9MsZAFp3UQVp3udzC1s2K_AXSg-OCDXxNEARdl-WK7qOyoEscw8w8gjgQG2Ci1QnqpZZj3XNFuKivIpxFcC8b0hYbFHXp6mX3gSSX-JIvFbcilXTjD7Akh4wCqJ0qr_UVakf6f0hcmwRwI6pxk0EVSIZDDpivRgNJousujO4E5jLDLfevJch5BD-VERxY6bIKFRBYRq5WNGU96UKZ842RWmWmjml7ckpZd5e1UD5ErqHLA&s=bOqvz3iQjJP87R6tf3JDhrRj6-9wXdPhd9hYrfBX4AkqjrTuCFY3y3veX82wTRPbGffXcTH5AA2B3yzX0N4cIlurvD8dgQYWV9qfAGUGFqZzfc8wi8dIMHlcapROulJlYrgaqfYkZQAeo0U2MUt2-Fdm0V4S2nr6dDVotLMLFz4ZIQYoxyNDvJIKtCjPYAthpxX9GknoPPEaEjX649wAP7XSW0iTLJYA_jz8UMfGAYex1ujp4IgH2wPCr2f_7QuKvZL_cRRNJeNipLBQsPKMqdvsZP7opyeqv90xqSn7-a96bilO0MBdFfdFKc0flKGVOhoKWcN0lUT-4hende-Tng&h=nAgovbdtlyB_SCGEQ16UzBm-OsV6k9r9SNh8QjlaWxk - method: GET - response: - body: |- - { - "name": "f01815ca-7473-d54f-9a77-089bd913b2a5", - "status": "InProgress", - "startTime": "2001-02-03T04:05:06Z" - } - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json - Expires: - - "-1" - Pragma: - - no-cache - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "6" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/ca1518f0-7374-4fd5-9a77-089bd913b2a5?api-version=2016-03-30&t=638351699539450464&c=MIIHADCCBeigAwIBAgITHgOPMCVriuS4-lWO9AAAA48wJTANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDYwHhcNMjMxMTAxMTk0NDE0WhcNMjQxMDI2MTk0NDE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVYjGR__tDbQAkWmgTzkuhLkeLHMZF4BUrWy0rFsX2EQ-jKcnRoDb5IHA8d5kzQwRSfOsVkMYLJuxNfSVVkrT-2bRtOmLA39FjlxIxE-eeCClqoDypQUkMQFt03BhhgviChly_GAB1VdMVAtOkAqyDD7YkPdR2axUfPszW3havSW-NiPjXkJezv1WPkDjGs7VhIBdJ276lVsVC2AXVfTa_AH34QbGAVCgFq8f8RTHFAF3kuyznwrhR89pSFJZDGMu3zaigorG-qTVP15VUl0SThQRKENFzEVVIr40ndWscX0MCYmJQFpzB426gRb4aM5DABy8TfY3hU0Ma6Pqs5vu0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MB0GA1UdDgQWBBQ2lSwc1_ggaso1He0vGUt5JD_O-zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBTxRmjG8cPwKy19i2rhsvm-NfzRQTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAIw8F0494wN-l6CjjUdzUshsBr2wClEmC0dDhWd1f3feZIai44cKuTS3gtIM6iwdptdi2IL_bKhFk-6Fn-JXtbxsNzIJ8XXeKHhpzJVCU9MsZAFp3UQVp3udzC1s2K_AXSg-OCDXxNEARdl-WK7qOyoEscw8w8gjgQG2Ci1QnqpZZj3XNFuKivIpxFcC8b0hYbFHXp6mX3gSSX-JIvFbcilXTjD7Akh4wCqJ0qr_UVakf6f0hcmwRwI6pxk0EVSIZDDpivRgNJousujO4E5jLDLfevJch5BD-VERxY6bIKFRBYRq5WNGU96UKZ842RWmWmjml7ckpZd5e1UD5ErqHLA&s=bOqvz3iQjJP87R6tf3JDhrRj6-9wXdPhd9hYrfBX4AkqjrTuCFY3y3veX82wTRPbGffXcTH5AA2B3yzX0N4cIlurvD8dgQYWV9qfAGUGFqZzfc8wi8dIMHlcapROulJlYrgaqfYkZQAeo0U2MUt2-Fdm0V4S2nr6dDVotLMLFz4ZIQYoxyNDvJIKtCjPYAthpxX9GknoPPEaEjX649wAP7XSW0iTLJYA_jz8UMfGAYex1ujp4IgH2wPCr2f_7QuKvZL_cRRNJeNipLBQsPKMqdvsZP7opyeqv90xqSn7-a96bilO0MBdFfdFKc0flKGVOhoKWcN0lUT-4hende-Tng&h=nAgovbdtlyB_SCGEQ16UzBm-OsV6k9r9SNh8QjlaWxk - method: GET - response: - body: |- - { - "name": "f01815ca-7473-d54f-9a77-089bd913b2a5", - "status": "InProgress", - "startTime": "2001-02-03T04:05:06Z" - } - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json - Expires: - - "-1" - Pragma: - - no-cache - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "7" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/ca1518f0-7374-4fd5-9a77-089bd913b2a5?api-version=2016-03-30&t=638351699539450464&c=MIIHADCCBeigAwIBAgITHgOPMCVriuS4-lWO9AAAA48wJTANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDYwHhcNMjMxMTAxMTk0NDE0WhcNMjQxMDI2MTk0NDE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVYjGR__tDbQAkWmgTzkuhLkeLHMZF4BUrWy0rFsX2EQ-jKcnRoDb5IHA8d5kzQwRSfOsVkMYLJuxNfSVVkrT-2bRtOmLA39FjlxIxE-eeCClqoDypQUkMQFt03BhhgviChly_GAB1VdMVAtOkAqyDD7YkPdR2axUfPszW3havSW-NiPjXkJezv1WPkDjGs7VhIBdJ276lVsVC2AXVfTa_AH34QbGAVCgFq8f8RTHFAF3kuyznwrhR89pSFJZDGMu3zaigorG-qTVP15VUl0SThQRKENFzEVVIr40ndWscX0MCYmJQFpzB426gRb4aM5DABy8TfY3hU0Ma6Pqs5vu0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MB0GA1UdDgQWBBQ2lSwc1_ggaso1He0vGUt5JD_O-zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBTxRmjG8cPwKy19i2rhsvm-NfzRQTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAIw8F0494wN-l6CjjUdzUshsBr2wClEmC0dDhWd1f3feZIai44cKuTS3gtIM6iwdptdi2IL_bKhFk-6Fn-JXtbxsNzIJ8XXeKHhpzJVCU9MsZAFp3UQVp3udzC1s2K_AXSg-OCDXxNEARdl-WK7qOyoEscw8w8gjgQG2Ci1QnqpZZj3XNFuKivIpxFcC8b0hYbFHXp6mX3gSSX-JIvFbcilXTjD7Akh4wCqJ0qr_UVakf6f0hcmwRwI6pxk0EVSIZDDpivRgNJousujO4E5jLDLfevJch5BD-VERxY6bIKFRBYRq5WNGU96UKZ842RWmWmjml7ckpZd5e1UD5ErqHLA&s=bOqvz3iQjJP87R6tf3JDhrRj6-9wXdPhd9hYrfBX4AkqjrTuCFY3y3veX82wTRPbGffXcTH5AA2B3yzX0N4cIlurvD8dgQYWV9qfAGUGFqZzfc8wi8dIMHlcapROulJlYrgaqfYkZQAeo0U2MUt2-Fdm0V4S2nr6dDVotLMLFz4ZIQYoxyNDvJIKtCjPYAthpxX9GknoPPEaEjX649wAP7XSW0iTLJYA_jz8UMfGAYex1ujp4IgH2wPCr2f_7QuKvZL_cRRNJeNipLBQsPKMqdvsZP7opyeqv90xqSn7-a96bilO0MBdFfdFKc0flKGVOhoKWcN0lUT-4hende-Tng&h=nAgovbdtlyB_SCGEQ16UzBm-OsV6k9r9SNh8QjlaWxk - method: GET - response: - body: |- - { - "name": "f01815ca-7473-d54f-9a77-089bd913b2a5", - "status": "Succeeded", - "startTime": "2001-02-03T04:05:06Z", - "endTime": "2001-02-03T04:05:06Z" - } - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json - Expires: - - "-1" - Pragma: - - no-cache - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "1" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ccnlsk/providers/Microsoft.ContainerService/managedClusters/asotest-mc-qzzywc?api-version=2021-05-01 - method: GET - response: - body: |- - { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asotest-rg-ccnlsk/providers/Microsoft.ContainerService/managedClusters/asotest-mc-qzzywc", - "location": "westus3", - "name": "asotest-mc-qzzywc", - "type": "Microsoft.ContainerService/ManagedClusters", - "properties": { - "provisioningState": "Succeeded", - "powerState": { - "code": "Running" - }, - "kubernetesVersion": "1.26.6", - "dnsPrefix": "aso", - "fqdn": "aso-kdwsh5rj.hcp.westus3.azmk8s.io", - "azurePortalFQDN": "aso-kdwsh5rj.portal.hcp.westus3.azmk8s.io", - "agentPoolProfiles": [ - { - "name": "ap1", - "count": 1, - "vmSize": "Standard_DS2_v2", - "osDiskSizeGB": 128, - "osDiskType": "Managed", - "kubeletDiskType": "OS", - "maxPods": 110, - "type": "VirtualMachineScaleSets", - "provisioningState": "Succeeded", - "powerState": { - "code": "Running" - }, - "orchestratorVersion": "1.26.6", - "mode": "System", - "osType": "Linux", - "osSKU": "Ubuntu", - "nodeImageVersion": "AKSUbuntu-2204gen2containerd-202310.19.2", - "upgradeSettings": {}, - "enableFIPS": false - } - ], - "linuxProfile": { - "adminUsername": "adminUser", - "ssh": { - "publicKeys": [ - { - "keyData": "ssh-rsa {KEY}\n" - } - ] - } - }, - "servicePrincipalProfile": { - "clientId": "msi" - }, - "nodeResourceGroup": "MC_asotest-rg-ccnlsk_asotest-mc-qzzywc_westus3", - "enableRBAC": true, - "networkProfile": { - "networkPlugin": "kubenet", - "loadBalancerSku": "Standard", - "loadBalancerProfile": { - "managedOutboundIPs": { - "count": 1 - }, - "effectiveOutboundIPs": [ - { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_asotest-rg-ccnlsk_asotest-mc-qzzywc_westus3/providers/Microsoft.Network/publicIPAddresses/f37e609c-6e2a-401c-abcf-13be95a50134" - } - ] - }, - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", - "dnsServiceIP": "10.0.0.10", - "dockerBridgeCidr": "172.17.0.1/16", - "outboundType": "loadBalancer" - }, - "maxAgentPools": 100, - "identityProfile": { - "kubeletidentity": { - "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_asotest-rg-ccnlsk_asotest-mc-qzzywc_westus3/providers/Microsoft.ManagedIdentity/userAssignedIdentities/asotest-mc-qzzywc-agentpool", - "clientId": "71ff5515-a586-44a2-bef0-25f5707059b5", - "objectId": "cb8cb1ff-2067-4379-acfe-d996e8f65270" - } - }, - "autoUpgradeProfile": {} - }, - "identity": { - "type": "SystemAssigned", - "principalId": "0cce68d8-40e1-4779-8355-d93c6f72efa7", - "tenantId": "00000000-0000-0000-0000-000000000000" - }, - "sku": { - "name": "Basic", - "tier": "Free" - } - } - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json - Expires: - - "-1" - Pragma: - - no-cache - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Accept: - - application/json - Test-Request-Attempt: - - "2" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ccnlsk/providers/Microsoft.ContainerService/managedClusters/asotest-mc-qzzywc?api-version=2021-05-01 - method: GET - response: - body: |- - { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asotest-rg-ccnlsk/providers/Microsoft.ContainerService/managedClusters/asotest-mc-qzzywc", - "location": "westus3", - "name": "asotest-mc-qzzywc", - "type": "Microsoft.ContainerService/ManagedClusters", - "properties": { - "provisioningState": "Succeeded", - "powerState": { - "code": "Running" - }, - "kubernetesVersion": "1.26.6", - "dnsPrefix": "aso", - "fqdn": "aso-kdwsh5rj.hcp.westus3.azmk8s.io", - "azurePortalFQDN": "aso-kdwsh5rj.portal.hcp.westus3.azmk8s.io", - "agentPoolProfiles": [ - { - "name": "ap1", - "count": 1, - "vmSize": "Standard_DS2_v2", - "osDiskSizeGB": 128, - "osDiskType": "Managed", - "kubeletDiskType": "OS", - "maxPods": 110, - "type": "VirtualMachineScaleSets", - "provisioningState": "Succeeded", - "powerState": { - "code": "Running" - }, - "orchestratorVersion": "1.26.6", - "mode": "System", - "osType": "Linux", - "osSKU": "Ubuntu", - "nodeImageVersion": "AKSUbuntu-2204gen2containerd-202310.19.2", - "upgradeSettings": {}, - "enableFIPS": false - } - ], - "linuxProfile": { - "adminUsername": "adminUser", - "ssh": { - "publicKeys": [ - { - "keyData": "ssh-rsa {KEY}\n" - } - ] - } - }, - "servicePrincipalProfile": { - "clientId": "msi" - }, - "nodeResourceGroup": "MC_asotest-rg-ccnlsk_asotest-mc-qzzywc_westus3", - "enableRBAC": true, - "networkProfile": { - "networkPlugin": "kubenet", - "loadBalancerSku": "Standard", - "loadBalancerProfile": { - "managedOutboundIPs": { - "count": 1 - }, - "effectiveOutboundIPs": [ - { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_asotest-rg-ccnlsk_asotest-mc-qzzywc_westus3/providers/Microsoft.Network/publicIPAddresses/f37e609c-6e2a-401c-abcf-13be95a50134" - } - ] - }, - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", - "dnsServiceIP": "10.0.0.10", - "dockerBridgeCidr": "172.17.0.1/16", - "outboundType": "loadBalancer" - }, - "maxAgentPools": 100, - "identityProfile": { - "kubeletidentity": { - "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_asotest-rg-ccnlsk_asotest-mc-qzzywc_westus3/providers/Microsoft.ManagedIdentity/userAssignedIdentities/asotest-mc-qzzywc-agentpool", - "clientId": "71ff5515-a586-44a2-bef0-25f5707059b5", - "objectId": "cb8cb1ff-2067-4379-acfe-d996e8f65270" - } - }, - "autoUpgradeProfile": {} - }, - "identity": { - "type": "SystemAssigned", - "principalId": "0cce68d8-40e1-4779-8355-d93c6f72efa7", - "tenantId": "00000000-0000-0000-0000-000000000000" - }, - "sku": { - "name": "Basic", - "tier": "Free" - } - } - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json - Expires: - - "-1" - Pragma: - - no-cache - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Accept: - - application/json - Test-Request-Attempt: - - "3" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ccnlsk/providers/Microsoft.ContainerService/managedClusters/asotest-mc-qzzywc?api-version=2021-05-01 - method: GET - response: - body: |- - { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asotest-rg-ccnlsk/providers/Microsoft.ContainerService/managedClusters/asotest-mc-qzzywc", - "location": "westus3", - "name": "asotest-mc-qzzywc", - "type": "Microsoft.ContainerService/ManagedClusters", - "properties": { - "provisioningState": "Succeeded", - "powerState": { - "code": "Running" - }, - "kubernetesVersion": "1.26.6", - "dnsPrefix": "aso", - "fqdn": "aso-kdwsh5rj.hcp.westus3.azmk8s.io", - "azurePortalFQDN": "aso-kdwsh5rj.portal.hcp.westus3.azmk8s.io", - "agentPoolProfiles": [ - { - "name": "ap1", - "count": 1, - "vmSize": "Standard_DS2_v2", - "osDiskSizeGB": 128, - "osDiskType": "Managed", - "kubeletDiskType": "OS", - "maxPods": 110, - "type": "VirtualMachineScaleSets", - "provisioningState": "Succeeded", - "powerState": { - "code": "Running" - }, - "orchestratorVersion": "1.26.6", - "mode": "System", - "osType": "Linux", - "osSKU": "Ubuntu", - "nodeImageVersion": "AKSUbuntu-2204gen2containerd-202310.19.2", - "upgradeSettings": {}, - "enableFIPS": false - } - ], - "linuxProfile": { - "adminUsername": "adminUser", - "ssh": { - "publicKeys": [ - { - "keyData": "ssh-rsa {KEY}\n" - } - ] - } - }, - "servicePrincipalProfile": { - "clientId": "msi" - }, - "nodeResourceGroup": "MC_asotest-rg-ccnlsk_asotest-mc-qzzywc_westus3", - "enableRBAC": true, - "networkProfile": { - "networkPlugin": "kubenet", - "loadBalancerSku": "Standard", - "loadBalancerProfile": { - "managedOutboundIPs": { - "count": 1 - }, - "effectiveOutboundIPs": [ - { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_asotest-rg-ccnlsk_asotest-mc-qzzywc_westus3/providers/Microsoft.Network/publicIPAddresses/f37e609c-6e2a-401c-abcf-13be95a50134" - } - ] - }, - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", - "dnsServiceIP": "10.0.0.10", - "dockerBridgeCidr": "172.17.0.1/16", - "outboundType": "loadBalancer" - }, - "maxAgentPools": 100, - "identityProfile": { - "kubeletidentity": { - "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_asotest-rg-ccnlsk_asotest-mc-qzzywc_westus3/providers/Microsoft.ManagedIdentity/userAssignedIdentities/asotest-mc-qzzywc-agentpool", - "clientId": "71ff5515-a586-44a2-bef0-25f5707059b5", - "objectId": "cb8cb1ff-2067-4379-acfe-d996e8f65270" - } - }, - "autoUpgradeProfile": {} - }, - "identity": { - "type": "SystemAssigned", - "principalId": "0cce68d8-40e1-4779-8355-d93c6f72efa7", - "tenantId": "00000000-0000-0000-0000-000000000000" - }, - "sku": { - "name": "Basic", - "tier": "Free" - } - } - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json - Expires: - - "-1" - Pragma: - - no-cache - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: '{"identity":{"type":"SystemAssigned"},"location":"westus3","name":"asotest-mc-qzzywc","properties":{"addonProfiles":null,"agentPoolProfiles":[{"availabilityZones":null,"count":1,"mode":"System","name":"ap1","nodeLabels":{},"nodeTaints":[],"osType":"Linux","tags":{},"vmSize":"Standard_DS2_v2"}],"dnsPrefix":"aso","identityProfile":null,"linuxProfile":{"adminUsername":"adminUser","ssh":{"publicKeys":[{"keyData":"ssh-rsa - {KEY}\n"}]}},"privateLinkResources":null},"sku":{"name":"Basic","tier":"Paid"},"tags":{}}' - form: {} - headers: - Accept: - - application/json - Content-Length: - - "869" - Content-Type: - - application/json - Test-Request-Attempt: - - "1" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ccnlsk/providers/Microsoft.ContainerService/managedClusters/asotest-mc-qzzywc?api-version=2021-05-01 - method: PUT - response: - body: |- - { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asotest-rg-ccnlsk/providers/Microsoft.ContainerService/managedClusters/asotest-mc-qzzywc", - "location": "westus3", - "name": "asotest-mc-qzzywc", - "type": "Microsoft.ContainerService/ManagedClusters", - "properties": { - "provisioningState": "Updating", - "powerState": { - "code": "Running" - }, - "kubernetesVersion": "1.26.6", - "dnsPrefix": "aso", - "fqdn": "aso-kdwsh5rj.hcp.westus3.azmk8s.io", - "azurePortalFQDN": "aso-kdwsh5rj.portal.hcp.westus3.azmk8s.io", - "agentPoolProfiles": [ - { - "name": "ap1", - "count": 1, - "vmSize": "Standard_DS2_v2", - "osDiskSizeGB": 128, - "osDiskType": "Managed", - "kubeletDiskType": "OS", - "maxPods": 110, - "type": "VirtualMachineScaleSets", - "provisioningState": "Updating", - "powerState": { - "code": "Running" - }, - "orchestratorVersion": "1.26.6", - "mode": "System", - "osType": "Linux", - "osSKU": "Ubuntu", - "nodeImageVersion": "AKSUbuntu-2204gen2containerd-202310.19.2", - "upgradeSettings": {}, - "enableFIPS": false - } - ], - "linuxProfile": { - "adminUsername": "adminUser", - "ssh": { - "publicKeys": [ - { - "keyData": "ssh-rsa {KEY}\n" - } - ] - } - }, - "servicePrincipalProfile": { - "clientId": "msi" - }, - "nodeResourceGroup": "MC_asotest-rg-ccnlsk_asotest-mc-qzzywc_westus3", - "enableRBAC": true, - "networkProfile": { - "networkPlugin": "kubenet", - "loadBalancerSku": "Standard", - "loadBalancerProfile": { - "managedOutboundIPs": { - "count": 1 - }, - "effectiveOutboundIPs": [ - { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_asotest-rg-ccnlsk_asotest-mc-qzzywc_westus3/providers/Microsoft.Network/publicIPAddresses/f37e609c-6e2a-401c-abcf-13be95a50134" - } - ] - }, - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", - "dnsServiceIP": "10.0.0.10", - "dockerBridgeCidr": "172.17.0.1/16", - "outboundType": "loadBalancer" - }, - "maxAgentPools": 100, - "identityProfile": { - "kubeletidentity": { - "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_asotest-rg-ccnlsk_asotest-mc-qzzywc_westus3/providers/Microsoft.ManagedIdentity/userAssignedIdentities/asotest-mc-qzzywc-agentpool", - "clientId": "71ff5515-a586-44a2-bef0-25f5707059b5", - "objectId": "cb8cb1ff-2067-4379-acfe-d996e8f65270" - } - }, - "autoUpgradeProfile": {} - }, - "identity": { - "type": "SystemAssigned", - "principalId": "0cce68d8-40e1-4779-8355-d93c6f72efa7", - "tenantId": "00000000-0000-0000-0000-000000000000" - }, - "sku": { - "name": "Basic", - "tier": "Paid" - } - } - headers: - Azure-Asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/443da181-745e-4b92-a66c-60bd844253a6?api-version=2016-03-30&t=638351702086376909&c=MIIHADCCBeigAwIBAgITHgOPMCVriuS4-lWO9AAAA48wJTANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDYwHhcNMjMxMTAxMTk0NDE0WhcNMjQxMDI2MTk0NDE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVYjGR__tDbQAkWmgTzkuhLkeLHMZF4BUrWy0rFsX2EQ-jKcnRoDb5IHA8d5kzQwRSfOsVkMYLJuxNfSVVkrT-2bRtOmLA39FjlxIxE-eeCClqoDypQUkMQFt03BhhgviChly_GAB1VdMVAtOkAqyDD7YkPdR2axUfPszW3havSW-NiPjXkJezv1WPkDjGs7VhIBdJ276lVsVC2AXVfTa_AH34QbGAVCgFq8f8RTHFAF3kuyznwrhR89pSFJZDGMu3zaigorG-qTVP15VUl0SThQRKENFzEVVIr40ndWscX0MCYmJQFpzB426gRb4aM5DABy8TfY3hU0Ma6Pqs5vu0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MB0GA1UdDgQWBBQ2lSwc1_ggaso1He0vGUt5JD_O-zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBTxRmjG8cPwKy19i2rhsvm-NfzRQTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAIw8F0494wN-l6CjjUdzUshsBr2wClEmC0dDhWd1f3feZIai44cKuTS3gtIM6iwdptdi2IL_bKhFk-6Fn-JXtbxsNzIJ8XXeKHhpzJVCU9MsZAFp3UQVp3udzC1s2K_AXSg-OCDXxNEARdl-WK7qOyoEscw8w8gjgQG2Ci1QnqpZZj3XNFuKivIpxFcC8b0hYbFHXp6mX3gSSX-JIvFbcilXTjD7Akh4wCqJ0qr_UVakf6f0hcmwRwI6pxk0EVSIZDDpivRgNJousujO4E5jLDLfevJch5BD-VERxY6bIKFRBYRq5WNGU96UKZ842RWmWmjml7ckpZd5e1UD5ErqHLA&s=nOFGAO-DQYX_EUuRfSnoRp7LgkoDYa1vA8nB73bFn1qpgJonnoBIteypBdAI6x64qJ18CM-fdnF-SoqGA_C3knh2_lXHVYkNxOtPGDvc7G91QQsJLJyyIXkEGHoqhyg7uU6iQim68b3FovTboB-QgGyxkm3iVWzbFD3o3wvyNBpkDmHc5TFzFN8UupUYVi2Zz16IJxepiNxxdZolVKTyCugHUJzzy_vsPktkcIVJXHhPF_Su1l2-_Ad75wuhT41_KyJxKWN3yMdZNuKniiG0LDS_QHAHHO69hYn9uuamqw0jprBA-Hruawu8CwySJIUiC6mtwLL_qvPQhRgyTA26RA&h=h_dPmYxL_21yAUUiqG6akB1e6GtVokODY8bj8uI1cYM - Cache-Control: - - no-cache - Content-Type: - - application/json - Expires: - - "-1" - Pragma: - - no-cache - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "0" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/443da181-745e-4b92-a66c-60bd844253a6?api-version=2016-03-30&t=638351702086376909&c=MIIHADCCBeigAwIBAgITHgOPMCVriuS4-lWO9AAAA48wJTANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDYwHhcNMjMxMTAxMTk0NDE0WhcNMjQxMDI2MTk0NDE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVYjGR__tDbQAkWmgTzkuhLkeLHMZF4BUrWy0rFsX2EQ-jKcnRoDb5IHA8d5kzQwRSfOsVkMYLJuxNfSVVkrT-2bRtOmLA39FjlxIxE-eeCClqoDypQUkMQFt03BhhgviChly_GAB1VdMVAtOkAqyDD7YkPdR2axUfPszW3havSW-NiPjXkJezv1WPkDjGs7VhIBdJ276lVsVC2AXVfTa_AH34QbGAVCgFq8f8RTHFAF3kuyznwrhR89pSFJZDGMu3zaigorG-qTVP15VUl0SThQRKENFzEVVIr40ndWscX0MCYmJQFpzB426gRb4aM5DABy8TfY3hU0Ma6Pqs5vu0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MB0GA1UdDgQWBBQ2lSwc1_ggaso1He0vGUt5JD_O-zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBTxRmjG8cPwKy19i2rhsvm-NfzRQTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAIw8F0494wN-l6CjjUdzUshsBr2wClEmC0dDhWd1f3feZIai44cKuTS3gtIM6iwdptdi2IL_bKhFk-6Fn-JXtbxsNzIJ8XXeKHhpzJVCU9MsZAFp3UQVp3udzC1s2K_AXSg-OCDXxNEARdl-WK7qOyoEscw8w8gjgQG2Ci1QnqpZZj3XNFuKivIpxFcC8b0hYbFHXp6mX3gSSX-JIvFbcilXTjD7Akh4wCqJ0qr_UVakf6f0hcmwRwI6pxk0EVSIZDDpivRgNJousujO4E5jLDLfevJch5BD-VERxY6bIKFRBYRq5WNGU96UKZ842RWmWmjml7ckpZd5e1UD5ErqHLA&s=nOFGAO-DQYX_EUuRfSnoRp7LgkoDYa1vA8nB73bFn1qpgJonnoBIteypBdAI6x64qJ18CM-fdnF-SoqGA_C3knh2_lXHVYkNxOtPGDvc7G91QQsJLJyyIXkEGHoqhyg7uU6iQim68b3FovTboB-QgGyxkm3iVWzbFD3o3wvyNBpkDmHc5TFzFN8UupUYVi2Zz16IJxepiNxxdZolVKTyCugHUJzzy_vsPktkcIVJXHhPF_Su1l2-_Ad75wuhT41_KyJxKWN3yMdZNuKniiG0LDS_QHAHHO69hYn9uuamqw0jprBA-Hruawu8CwySJIUiC6mtwLL_qvPQhRgyTA26RA&h=h_dPmYxL_21yAUUiqG6akB1e6GtVokODY8bj8uI1cYM - method: GET - response: - body: |- - { - "name": "81a13d44-5e74-924b-a66c-60bd844253a6", - "status": "InProgress", - "startTime": "2001-02-03T04:05:06Z", - "error": { - "code": "NotLatestOperation", - "message": "Cannot proceed with the operation. Either the operation has been preempted by another one, or the information needed by the operation failed to be saved (or hasn't been saved yet)." - } - } - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json - Expires: - - "-1" - Pragma: - - no-cache - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "1" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/443da181-745e-4b92-a66c-60bd844253a6?api-version=2016-03-30&t=638351702086376909&c=MIIHADCCBeigAwIBAgITHgOPMCVriuS4-lWO9AAAA48wJTANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDYwHhcNMjMxMTAxMTk0NDE0WhcNMjQxMDI2MTk0NDE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVYjGR__tDbQAkWmgTzkuhLkeLHMZF4BUrWy0rFsX2EQ-jKcnRoDb5IHA8d5kzQwRSfOsVkMYLJuxNfSVVkrT-2bRtOmLA39FjlxIxE-eeCClqoDypQUkMQFt03BhhgviChly_GAB1VdMVAtOkAqyDD7YkPdR2axUfPszW3havSW-NiPjXkJezv1WPkDjGs7VhIBdJ276lVsVC2AXVfTa_AH34QbGAVCgFq8f8RTHFAF3kuyznwrhR89pSFJZDGMu3zaigorG-qTVP15VUl0SThQRKENFzEVVIr40ndWscX0MCYmJQFpzB426gRb4aM5DABy8TfY3hU0Ma6Pqs5vu0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MB0GA1UdDgQWBBQ2lSwc1_ggaso1He0vGUt5JD_O-zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBTxRmjG8cPwKy19i2rhsvm-NfzRQTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAIw8F0494wN-l6CjjUdzUshsBr2wClEmC0dDhWd1f3feZIai44cKuTS3gtIM6iwdptdi2IL_bKhFk-6Fn-JXtbxsNzIJ8XXeKHhpzJVCU9MsZAFp3UQVp3udzC1s2K_AXSg-OCDXxNEARdl-WK7qOyoEscw8w8gjgQG2Ci1QnqpZZj3XNFuKivIpxFcC8b0hYbFHXp6mX3gSSX-JIvFbcilXTjD7Akh4wCqJ0qr_UVakf6f0hcmwRwI6pxk0EVSIZDDpivRgNJousujO4E5jLDLfevJch5BD-VERxY6bIKFRBYRq5WNGU96UKZ842RWmWmjml7ckpZd5e1UD5ErqHLA&s=nOFGAO-DQYX_EUuRfSnoRp7LgkoDYa1vA8nB73bFn1qpgJonnoBIteypBdAI6x64qJ18CM-fdnF-SoqGA_C3knh2_lXHVYkNxOtPGDvc7G91QQsJLJyyIXkEGHoqhyg7uU6iQim68b3FovTboB-QgGyxkm3iVWzbFD3o3wvyNBpkDmHc5TFzFN8UupUYVi2Zz16IJxepiNxxdZolVKTyCugHUJzzy_vsPktkcIVJXHhPF_Su1l2-_Ad75wuhT41_KyJxKWN3yMdZNuKniiG0LDS_QHAHHO69hYn9uuamqw0jprBA-Hruawu8CwySJIUiC6mtwLL_qvPQhRgyTA26RA&h=h_dPmYxL_21yAUUiqG6akB1e6GtVokODY8bj8uI1cYM - method: GET - response: - body: |- - { - "name": "81a13d44-5e74-924b-a66c-60bd844253a6", - "status": "InProgress", - "startTime": "2001-02-03T04:05:06Z", - "error": { - "code": "NotLatestOperation", - "message": "Cannot proceed with the operation. Either the operation has been preempted by another one, or the information needed by the operation failed to be saved (or hasn't been saved yet)." - } - } - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json - Expires: - - "-1" - Pragma: - - no-cache - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "2" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/443da181-745e-4b92-a66c-60bd844253a6?api-version=2016-03-30&t=638351702086376909&c=MIIHADCCBeigAwIBAgITHgOPMCVriuS4-lWO9AAAA48wJTANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDYwHhcNMjMxMTAxMTk0NDE0WhcNMjQxMDI2MTk0NDE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVYjGR__tDbQAkWmgTzkuhLkeLHMZF4BUrWy0rFsX2EQ-jKcnRoDb5IHA8d5kzQwRSfOsVkMYLJuxNfSVVkrT-2bRtOmLA39FjlxIxE-eeCClqoDypQUkMQFt03BhhgviChly_GAB1VdMVAtOkAqyDD7YkPdR2axUfPszW3havSW-NiPjXkJezv1WPkDjGs7VhIBdJ276lVsVC2AXVfTa_AH34QbGAVCgFq8f8RTHFAF3kuyznwrhR89pSFJZDGMu3zaigorG-qTVP15VUl0SThQRKENFzEVVIr40ndWscX0MCYmJQFpzB426gRb4aM5DABy8TfY3hU0Ma6Pqs5vu0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MB0GA1UdDgQWBBQ2lSwc1_ggaso1He0vGUt5JD_O-zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBTxRmjG8cPwKy19i2rhsvm-NfzRQTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAIw8F0494wN-l6CjjUdzUshsBr2wClEmC0dDhWd1f3feZIai44cKuTS3gtIM6iwdptdi2IL_bKhFk-6Fn-JXtbxsNzIJ8XXeKHhpzJVCU9MsZAFp3UQVp3udzC1s2K_AXSg-OCDXxNEARdl-WK7qOyoEscw8w8gjgQG2Ci1QnqpZZj3XNFuKivIpxFcC8b0hYbFHXp6mX3gSSX-JIvFbcilXTjD7Akh4wCqJ0qr_UVakf6f0hcmwRwI6pxk0EVSIZDDpivRgNJousujO4E5jLDLfevJch5BD-VERxY6bIKFRBYRq5WNGU96UKZ842RWmWmjml7ckpZd5e1UD5ErqHLA&s=nOFGAO-DQYX_EUuRfSnoRp7LgkoDYa1vA8nB73bFn1qpgJonnoBIteypBdAI6x64qJ18CM-fdnF-SoqGA_C3knh2_lXHVYkNxOtPGDvc7G91QQsJLJyyIXkEGHoqhyg7uU6iQim68b3FovTboB-QgGyxkm3iVWzbFD3o3wvyNBpkDmHc5TFzFN8UupUYVi2Zz16IJxepiNxxdZolVKTyCugHUJzzy_vsPktkcIVJXHhPF_Su1l2-_Ad75wuhT41_KyJxKWN3yMdZNuKniiG0LDS_QHAHHO69hYn9uuamqw0jprBA-Hruawu8CwySJIUiC6mtwLL_qvPQhRgyTA26RA&h=h_dPmYxL_21yAUUiqG6akB1e6GtVokODY8bj8uI1cYM - method: GET - response: - body: |- - { - "name": "81a13d44-5e74-924b-a66c-60bd844253a6", - "status": "InProgress", - "startTime": "2001-02-03T04:05:06Z", - "error": { - "code": "NotLatestOperation", - "message": "Cannot proceed with the operation. Either the operation has been preempted by another one, or the information needed by the operation failed to be saved (or hasn't been saved yet)." - } - } - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json - Expires: - - "-1" - Pragma: - - no-cache - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "3" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/443da181-745e-4b92-a66c-60bd844253a6?api-version=2016-03-30&t=638351702086376909&c=MIIHADCCBeigAwIBAgITHgOPMCVriuS4-lWO9AAAA48wJTANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDYwHhcNMjMxMTAxMTk0NDE0WhcNMjQxMDI2MTk0NDE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVYjGR__tDbQAkWmgTzkuhLkeLHMZF4BUrWy0rFsX2EQ-jKcnRoDb5IHA8d5kzQwRSfOsVkMYLJuxNfSVVkrT-2bRtOmLA39FjlxIxE-eeCClqoDypQUkMQFt03BhhgviChly_GAB1VdMVAtOkAqyDD7YkPdR2axUfPszW3havSW-NiPjXkJezv1WPkDjGs7VhIBdJ276lVsVC2AXVfTa_AH34QbGAVCgFq8f8RTHFAF3kuyznwrhR89pSFJZDGMu3zaigorG-qTVP15VUl0SThQRKENFzEVVIr40ndWscX0MCYmJQFpzB426gRb4aM5DABy8TfY3hU0Ma6Pqs5vu0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MB0GA1UdDgQWBBQ2lSwc1_ggaso1He0vGUt5JD_O-zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBTxRmjG8cPwKy19i2rhsvm-NfzRQTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAIw8F0494wN-l6CjjUdzUshsBr2wClEmC0dDhWd1f3feZIai44cKuTS3gtIM6iwdptdi2IL_bKhFk-6Fn-JXtbxsNzIJ8XXeKHhpzJVCU9MsZAFp3UQVp3udzC1s2K_AXSg-OCDXxNEARdl-WK7qOyoEscw8w8gjgQG2Ci1QnqpZZj3XNFuKivIpxFcC8b0hYbFHXp6mX3gSSX-JIvFbcilXTjD7Akh4wCqJ0qr_UVakf6f0hcmwRwI6pxk0EVSIZDDpivRgNJousujO4E5jLDLfevJch5BD-VERxY6bIKFRBYRq5WNGU96UKZ842RWmWmjml7ckpZd5e1UD5ErqHLA&s=nOFGAO-DQYX_EUuRfSnoRp7LgkoDYa1vA8nB73bFn1qpgJonnoBIteypBdAI6x64qJ18CM-fdnF-SoqGA_C3knh2_lXHVYkNxOtPGDvc7G91QQsJLJyyIXkEGHoqhyg7uU6iQim68b3FovTboB-QgGyxkm3iVWzbFD3o3wvyNBpkDmHc5TFzFN8UupUYVi2Zz16IJxepiNxxdZolVKTyCugHUJzzy_vsPktkcIVJXHhPF_Su1l2-_Ad75wuhT41_KyJxKWN3yMdZNuKniiG0LDS_QHAHHO69hYn9uuamqw0jprBA-Hruawu8CwySJIUiC6mtwLL_qvPQhRgyTA26RA&h=h_dPmYxL_21yAUUiqG6akB1e6GtVokODY8bj8uI1cYM - method: GET - response: - body: |- - { - "name": "81a13d44-5e74-924b-a66c-60bd844253a6", - "status": "InProgress", - "startTime": "2001-02-03T04:05:06Z", - "error": { - "code": "NotLatestOperation", - "message": "Cannot proceed with the operation. Either the operation has been preempted by another one, or the information needed by the operation failed to be saved (or hasn't been saved yet)." - } - } - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json - Expires: - - "-1" - Pragma: - - no-cache - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "4" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/443da181-745e-4b92-a66c-60bd844253a6?api-version=2016-03-30&t=638351702086376909&c=MIIHADCCBeigAwIBAgITHgOPMCVriuS4-lWO9AAAA48wJTANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDYwHhcNMjMxMTAxMTk0NDE0WhcNMjQxMDI2MTk0NDE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVYjGR__tDbQAkWmgTzkuhLkeLHMZF4BUrWy0rFsX2EQ-jKcnRoDb5IHA8d5kzQwRSfOsVkMYLJuxNfSVVkrT-2bRtOmLA39FjlxIxE-eeCClqoDypQUkMQFt03BhhgviChly_GAB1VdMVAtOkAqyDD7YkPdR2axUfPszW3havSW-NiPjXkJezv1WPkDjGs7VhIBdJ276lVsVC2AXVfTa_AH34QbGAVCgFq8f8RTHFAF3kuyznwrhR89pSFJZDGMu3zaigorG-qTVP15VUl0SThQRKENFzEVVIr40ndWscX0MCYmJQFpzB426gRb4aM5DABy8TfY3hU0Ma6Pqs5vu0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MB0GA1UdDgQWBBQ2lSwc1_ggaso1He0vGUt5JD_O-zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBTxRmjG8cPwKy19i2rhsvm-NfzRQTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAIw8F0494wN-l6CjjUdzUshsBr2wClEmC0dDhWd1f3feZIai44cKuTS3gtIM6iwdptdi2IL_bKhFk-6Fn-JXtbxsNzIJ8XXeKHhpzJVCU9MsZAFp3UQVp3udzC1s2K_AXSg-OCDXxNEARdl-WK7qOyoEscw8w8gjgQG2Ci1QnqpZZj3XNFuKivIpxFcC8b0hYbFHXp6mX3gSSX-JIvFbcilXTjD7Akh4wCqJ0qr_UVakf6f0hcmwRwI6pxk0EVSIZDDpivRgNJousujO4E5jLDLfevJch5BD-VERxY6bIKFRBYRq5WNGU96UKZ842RWmWmjml7ckpZd5e1UD5ErqHLA&s=nOFGAO-DQYX_EUuRfSnoRp7LgkoDYa1vA8nB73bFn1qpgJonnoBIteypBdAI6x64qJ18CM-fdnF-SoqGA_C3knh2_lXHVYkNxOtPGDvc7G91QQsJLJyyIXkEGHoqhyg7uU6iQim68b3FovTboB-QgGyxkm3iVWzbFD3o3wvyNBpkDmHc5TFzFN8UupUYVi2Zz16IJxepiNxxdZolVKTyCugHUJzzy_vsPktkcIVJXHhPF_Su1l2-_Ad75wuhT41_KyJxKWN3yMdZNuKniiG0LDS_QHAHHO69hYn9uuamqw0jprBA-Hruawu8CwySJIUiC6mtwLL_qvPQhRgyTA26RA&h=h_dPmYxL_21yAUUiqG6akB1e6GtVokODY8bj8uI1cYM - method: GET - response: - body: |- - { - "name": "81a13d44-5e74-924b-a66c-60bd844253a6", - "status": "InProgress", - "startTime": "2001-02-03T04:05:06Z", - "error": { - "code": "NotLatestOperation", - "message": "Cannot proceed with the operation. Either the operation has been preempted by another one, or the information needed by the operation failed to be saved (or hasn't been saved yet)." - } - } - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json - Expires: - - "-1" - Pragma: - - no-cache - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "5" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/443da181-745e-4b92-a66c-60bd844253a6?api-version=2016-03-30&t=638351702086376909&c=MIIHADCCBeigAwIBAgITHgOPMCVriuS4-lWO9AAAA48wJTANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDYwHhcNMjMxMTAxMTk0NDE0WhcNMjQxMDI2MTk0NDE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVYjGR__tDbQAkWmgTzkuhLkeLHMZF4BUrWy0rFsX2EQ-jKcnRoDb5IHA8d5kzQwRSfOsVkMYLJuxNfSVVkrT-2bRtOmLA39FjlxIxE-eeCClqoDypQUkMQFt03BhhgviChly_GAB1VdMVAtOkAqyDD7YkPdR2axUfPszW3havSW-NiPjXkJezv1WPkDjGs7VhIBdJ276lVsVC2AXVfTa_AH34QbGAVCgFq8f8RTHFAF3kuyznwrhR89pSFJZDGMu3zaigorG-qTVP15VUl0SThQRKENFzEVVIr40ndWscX0MCYmJQFpzB426gRb4aM5DABy8TfY3hU0Ma6Pqs5vu0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MB0GA1UdDgQWBBQ2lSwc1_ggaso1He0vGUt5JD_O-zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBTxRmjG8cPwKy19i2rhsvm-NfzRQTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAIw8F0494wN-l6CjjUdzUshsBr2wClEmC0dDhWd1f3feZIai44cKuTS3gtIM6iwdptdi2IL_bKhFk-6Fn-JXtbxsNzIJ8XXeKHhpzJVCU9MsZAFp3UQVp3udzC1s2K_AXSg-OCDXxNEARdl-WK7qOyoEscw8w8gjgQG2Ci1QnqpZZj3XNFuKivIpxFcC8b0hYbFHXp6mX3gSSX-JIvFbcilXTjD7Akh4wCqJ0qr_UVakf6f0hcmwRwI6pxk0EVSIZDDpivRgNJousujO4E5jLDLfevJch5BD-VERxY6bIKFRBYRq5WNGU96UKZ842RWmWmjml7ckpZd5e1UD5ErqHLA&s=nOFGAO-DQYX_EUuRfSnoRp7LgkoDYa1vA8nB73bFn1qpgJonnoBIteypBdAI6x64qJ18CM-fdnF-SoqGA_C3knh2_lXHVYkNxOtPGDvc7G91QQsJLJyyIXkEGHoqhyg7uU6iQim68b3FovTboB-QgGyxkm3iVWzbFD3o3wvyNBpkDmHc5TFzFN8UupUYVi2Zz16IJxepiNxxdZolVKTyCugHUJzzy_vsPktkcIVJXHhPF_Su1l2-_Ad75wuhT41_KyJxKWN3yMdZNuKniiG0LDS_QHAHHO69hYn9uuamqw0jprBA-Hruawu8CwySJIUiC6mtwLL_qvPQhRgyTA26RA&h=h_dPmYxL_21yAUUiqG6akB1e6GtVokODY8bj8uI1cYM - method: GET - response: - body: |- - { - "name": "81a13d44-5e74-924b-a66c-60bd844253a6", - "status": "InProgress", - "startTime": "2001-02-03T04:05:06Z", - "error": { - "code": "NotLatestOperation", - "message": "Cannot proceed with the operation. Either the operation has been preempted by another one, or the information needed by the operation failed to be saved (or hasn't been saved yet)." - } - } - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json - Expires: - - "-1" - Pragma: - - no-cache - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "6" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/443da181-745e-4b92-a66c-60bd844253a6?api-version=2016-03-30&t=638351702086376909&c=MIIHADCCBeigAwIBAgITHgOPMCVriuS4-lWO9AAAA48wJTANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDYwHhcNMjMxMTAxMTk0NDE0WhcNMjQxMDI2MTk0NDE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVYjGR__tDbQAkWmgTzkuhLkeLHMZF4BUrWy0rFsX2EQ-jKcnRoDb5IHA8d5kzQwRSfOsVkMYLJuxNfSVVkrT-2bRtOmLA39FjlxIxE-eeCClqoDypQUkMQFt03BhhgviChly_GAB1VdMVAtOkAqyDD7YkPdR2axUfPszW3havSW-NiPjXkJezv1WPkDjGs7VhIBdJ276lVsVC2AXVfTa_AH34QbGAVCgFq8f8RTHFAF3kuyznwrhR89pSFJZDGMu3zaigorG-qTVP15VUl0SThQRKENFzEVVIr40ndWscX0MCYmJQFpzB426gRb4aM5DABy8TfY3hU0Ma6Pqs5vu0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MB0GA1UdDgQWBBQ2lSwc1_ggaso1He0vGUt5JD_O-zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBTxRmjG8cPwKy19i2rhsvm-NfzRQTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAIw8F0494wN-l6CjjUdzUshsBr2wClEmC0dDhWd1f3feZIai44cKuTS3gtIM6iwdptdi2IL_bKhFk-6Fn-JXtbxsNzIJ8XXeKHhpzJVCU9MsZAFp3UQVp3udzC1s2K_AXSg-OCDXxNEARdl-WK7qOyoEscw8w8gjgQG2Ci1QnqpZZj3XNFuKivIpxFcC8b0hYbFHXp6mX3gSSX-JIvFbcilXTjD7Akh4wCqJ0qr_UVakf6f0hcmwRwI6pxk0EVSIZDDpivRgNJousujO4E5jLDLfevJch5BD-VERxY6bIKFRBYRq5WNGU96UKZ842RWmWmjml7ckpZd5e1UD5ErqHLA&s=nOFGAO-DQYX_EUuRfSnoRp7LgkoDYa1vA8nB73bFn1qpgJonnoBIteypBdAI6x64qJ18CM-fdnF-SoqGA_C3knh2_lXHVYkNxOtPGDvc7G91QQsJLJyyIXkEGHoqhyg7uU6iQim68b3FovTboB-QgGyxkm3iVWzbFD3o3wvyNBpkDmHc5TFzFN8UupUYVi2Zz16IJxepiNxxdZolVKTyCugHUJzzy_vsPktkcIVJXHhPF_Su1l2-_Ad75wuhT41_KyJxKWN3yMdZNuKniiG0LDS_QHAHHO69hYn9uuamqw0jprBA-Hruawu8CwySJIUiC6mtwLL_qvPQhRgyTA26RA&h=h_dPmYxL_21yAUUiqG6akB1e6GtVokODY8bj8uI1cYM - method: GET - response: - body: |- - { - "name": "81a13d44-5e74-924b-a66c-60bd844253a6", - "status": "InProgress", - "startTime": "2001-02-03T04:05:06Z", - "error": { - "code": "NotLatestOperation", - "message": "Cannot proceed with the operation. Either the operation has been preempted by another one, or the information needed by the operation failed to be saved (or hasn't been saved yet)." - } - } - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json - Expires: - - "-1" - Pragma: - - no-cache - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "7" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/443da181-745e-4b92-a66c-60bd844253a6?api-version=2016-03-30&t=638351702086376909&c=MIIHADCCBeigAwIBAgITHgOPMCVriuS4-lWO9AAAA48wJTANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDYwHhcNMjMxMTAxMTk0NDE0WhcNMjQxMDI2MTk0NDE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVYjGR__tDbQAkWmgTzkuhLkeLHMZF4BUrWy0rFsX2EQ-jKcnRoDb5IHA8d5kzQwRSfOsVkMYLJuxNfSVVkrT-2bRtOmLA39FjlxIxE-eeCClqoDypQUkMQFt03BhhgviChly_GAB1VdMVAtOkAqyDD7YkPdR2axUfPszW3havSW-NiPjXkJezv1WPkDjGs7VhIBdJ276lVsVC2AXVfTa_AH34QbGAVCgFq8f8RTHFAF3kuyznwrhR89pSFJZDGMu3zaigorG-qTVP15VUl0SThQRKENFzEVVIr40ndWscX0MCYmJQFpzB426gRb4aM5DABy8TfY3hU0Ma6Pqs5vu0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MB0GA1UdDgQWBBQ2lSwc1_ggaso1He0vGUt5JD_O-zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBTxRmjG8cPwKy19i2rhsvm-NfzRQTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAIw8F0494wN-l6CjjUdzUshsBr2wClEmC0dDhWd1f3feZIai44cKuTS3gtIM6iwdptdi2IL_bKhFk-6Fn-JXtbxsNzIJ8XXeKHhpzJVCU9MsZAFp3UQVp3udzC1s2K_AXSg-OCDXxNEARdl-WK7qOyoEscw8w8gjgQG2Ci1QnqpZZj3XNFuKivIpxFcC8b0hYbFHXp6mX3gSSX-JIvFbcilXTjD7Akh4wCqJ0qr_UVakf6f0hcmwRwI6pxk0EVSIZDDpivRgNJousujO4E5jLDLfevJch5BD-VERxY6bIKFRBYRq5WNGU96UKZ842RWmWmjml7ckpZd5e1UD5ErqHLA&s=nOFGAO-DQYX_EUuRfSnoRp7LgkoDYa1vA8nB73bFn1qpgJonnoBIteypBdAI6x64qJ18CM-fdnF-SoqGA_C3knh2_lXHVYkNxOtPGDvc7G91QQsJLJyyIXkEGHoqhyg7uU6iQim68b3FovTboB-QgGyxkm3iVWzbFD3o3wvyNBpkDmHc5TFzFN8UupUYVi2Zz16IJxepiNxxdZolVKTyCugHUJzzy_vsPktkcIVJXHhPF_Su1l2-_Ad75wuhT41_KyJxKWN3yMdZNuKniiG0LDS_QHAHHO69hYn9uuamqw0jprBA-Hruawu8CwySJIUiC6mtwLL_qvPQhRgyTA26RA&h=h_dPmYxL_21yAUUiqG6akB1e6GtVokODY8bj8uI1cYM - method: GET - response: - body: |- - { - "name": "81a13d44-5e74-924b-a66c-60bd844253a6", - "status": "InProgress", - "startTime": "2001-02-03T04:05:06Z", - "error": { - "code": "NotLatestOperation", - "message": "Cannot proceed with the operation. Either the operation has been preempted by another one, or the information needed by the operation failed to be saved (or hasn't been saved yet)." - } - } - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json - Expires: - - "-1" - Pragma: - - no-cache - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "8" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/443da181-745e-4b92-a66c-60bd844253a6?api-version=2016-03-30&t=638351702086376909&c=MIIHADCCBeigAwIBAgITHgOPMCVriuS4-lWO9AAAA48wJTANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDYwHhcNMjMxMTAxMTk0NDE0WhcNMjQxMDI2MTk0NDE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVYjGR__tDbQAkWmgTzkuhLkeLHMZF4BUrWy0rFsX2EQ-jKcnRoDb5IHA8d5kzQwRSfOsVkMYLJuxNfSVVkrT-2bRtOmLA39FjlxIxE-eeCClqoDypQUkMQFt03BhhgviChly_GAB1VdMVAtOkAqyDD7YkPdR2axUfPszW3havSW-NiPjXkJezv1WPkDjGs7VhIBdJ276lVsVC2AXVfTa_AH34QbGAVCgFq8f8RTHFAF3kuyznwrhR89pSFJZDGMu3zaigorG-qTVP15VUl0SThQRKENFzEVVIr40ndWscX0MCYmJQFpzB426gRb4aM5DABy8TfY3hU0Ma6Pqs5vu0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MB0GA1UdDgQWBBQ2lSwc1_ggaso1He0vGUt5JD_O-zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBTxRmjG8cPwKy19i2rhsvm-NfzRQTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAIw8F0494wN-l6CjjUdzUshsBr2wClEmC0dDhWd1f3feZIai44cKuTS3gtIM6iwdptdi2IL_bKhFk-6Fn-JXtbxsNzIJ8XXeKHhpzJVCU9MsZAFp3UQVp3udzC1s2K_AXSg-OCDXxNEARdl-WK7qOyoEscw8w8gjgQG2Ci1QnqpZZj3XNFuKivIpxFcC8b0hYbFHXp6mX3gSSX-JIvFbcilXTjD7Akh4wCqJ0qr_UVakf6f0hcmwRwI6pxk0EVSIZDDpivRgNJousujO4E5jLDLfevJch5BD-VERxY6bIKFRBYRq5WNGU96UKZ842RWmWmjml7ckpZd5e1UD5ErqHLA&s=nOFGAO-DQYX_EUuRfSnoRp7LgkoDYa1vA8nB73bFn1qpgJonnoBIteypBdAI6x64qJ18CM-fdnF-SoqGA_C3knh2_lXHVYkNxOtPGDvc7G91QQsJLJyyIXkEGHoqhyg7uU6iQim68b3FovTboB-QgGyxkm3iVWzbFD3o3wvyNBpkDmHc5TFzFN8UupUYVi2Zz16IJxepiNxxdZolVKTyCugHUJzzy_vsPktkcIVJXHhPF_Su1l2-_Ad75wuhT41_KyJxKWN3yMdZNuKniiG0LDS_QHAHHO69hYn9uuamqw0jprBA-Hruawu8CwySJIUiC6mtwLL_qvPQhRgyTA26RA&h=h_dPmYxL_21yAUUiqG6akB1e6GtVokODY8bj8uI1cYM - method: GET - response: - body: |- - { - "name": "81a13d44-5e74-924b-a66c-60bd844253a6", - "status": "Succeeded", - "startTime": "2001-02-03T04:05:06Z", - "endTime": "2001-02-03T04:05:06Z", - "error": { - "code": "NotLatestOperation", - "message": "Cannot proceed with the operation. Either the operation has been preempted by another one, or the information needed by the operation failed to be saved (or hasn't been saved yet)." - } - } - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json - Expires: - - "-1" - Pragma: - - no-cache - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "4" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ccnlsk/providers/Microsoft.ContainerService/managedClusters/asotest-mc-qzzywc?api-version=2021-05-01 - method: GET - response: - body: |- - { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asotest-rg-ccnlsk/providers/Microsoft.ContainerService/managedClusters/asotest-mc-qzzywc", - "location": "westus3", - "name": "asotest-mc-qzzywc", - "type": "Microsoft.ContainerService/ManagedClusters", - "properties": { - "provisioningState": "Succeeded", - "powerState": { - "code": "Running" - }, - "kubernetesVersion": "1.26.6", - "dnsPrefix": "aso", - "fqdn": "aso-kdwsh5rj.hcp.westus3.azmk8s.io", - "azurePortalFQDN": "aso-kdwsh5rj.portal.hcp.westus3.azmk8s.io", - "agentPoolProfiles": [ - { - "name": "ap1", - "count": 1, - "vmSize": "Standard_DS2_v2", - "osDiskSizeGB": 128, - "osDiskType": "Managed", - "kubeletDiskType": "OS", - "maxPods": 110, - "type": "VirtualMachineScaleSets", - "provisioningState": "Succeeded", - "powerState": { - "code": "Running" - }, - "orchestratorVersion": "1.26.6", - "mode": "System", - "osType": "Linux", - "osSKU": "Ubuntu", - "nodeImageVersion": "AKSUbuntu-2204gen2containerd-202310.19.2", - "upgradeSettings": {}, - "enableFIPS": false - } - ], - "linuxProfile": { - "adminUsername": "adminUser", - "ssh": { - "publicKeys": [ - { - "keyData": "ssh-rsa {KEY}\n" - } - ] - } - }, - "servicePrincipalProfile": { - "clientId": "msi" - }, - "nodeResourceGroup": "MC_asotest-rg-ccnlsk_asotest-mc-qzzywc_westus3", - "enableRBAC": true, - "networkProfile": { - "networkPlugin": "kubenet", - "loadBalancerSku": "Standard", - "loadBalancerProfile": { - "managedOutboundIPs": { - "count": 1 - }, - "effectiveOutboundIPs": [ - { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_asotest-rg-ccnlsk_asotest-mc-qzzywc_westus3/providers/Microsoft.Network/publicIPAddresses/f37e609c-6e2a-401c-abcf-13be95a50134" - } - ] - }, - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", - "dnsServiceIP": "10.0.0.10", - "dockerBridgeCidr": "172.17.0.1/16", - "outboundType": "loadBalancer" - }, - "maxAgentPools": 100, - "identityProfile": { - "kubeletidentity": { - "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_asotest-rg-ccnlsk_asotest-mc-qzzywc_westus3/providers/Microsoft.ManagedIdentity/userAssignedIdentities/asotest-mc-qzzywc-agentpool", - "clientId": "71ff5515-a586-44a2-bef0-25f5707059b5", - "objectId": "cb8cb1ff-2067-4379-acfe-d996e8f65270" - } - }, - "autoUpgradeProfile": {} - }, - "identity": { - "type": "SystemAssigned", - "principalId": "0cce68d8-40e1-4779-8355-d93c6f72efa7", - "tenantId": "00000000-0000-0000-0000-000000000000" - }, - "sku": { - "name": "Basic", - "tier": "Paid" - } - } - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json - Expires: - - "-1" - Pragma: - - no-cache - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Accept: - - application/json - Test-Request-Attempt: - - "5" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ccnlsk/providers/Microsoft.ContainerService/managedClusters/asotest-mc-qzzywc?api-version=2021-05-01 - method: GET - response: - body: |- - { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asotest-rg-ccnlsk/providers/Microsoft.ContainerService/managedClusters/asotest-mc-qzzywc", - "location": "westus3", - "name": "asotest-mc-qzzywc", - "type": "Microsoft.ContainerService/ManagedClusters", - "properties": { - "provisioningState": "Succeeded", - "powerState": { - "code": "Running" - }, - "kubernetesVersion": "1.26.6", - "dnsPrefix": "aso", - "fqdn": "aso-kdwsh5rj.hcp.westus3.azmk8s.io", - "azurePortalFQDN": "aso-kdwsh5rj.portal.hcp.westus3.azmk8s.io", - "agentPoolProfiles": [ - { - "name": "ap1", - "count": 1, - "vmSize": "Standard_DS2_v2", - "osDiskSizeGB": 128, - "osDiskType": "Managed", - "kubeletDiskType": "OS", - "maxPods": 110, - "type": "VirtualMachineScaleSets", - "provisioningState": "Succeeded", - "powerState": { - "code": "Running" - }, - "orchestratorVersion": "1.26.6", - "mode": "System", - "osType": "Linux", - "osSKU": "Ubuntu", - "nodeImageVersion": "AKSUbuntu-2204gen2containerd-202310.19.2", - "upgradeSettings": {}, - "enableFIPS": false - } - ], - "linuxProfile": { - "adminUsername": "adminUser", - "ssh": { - "publicKeys": [ - { - "keyData": "ssh-rsa {KEY}\n" - } - ] - } - }, - "servicePrincipalProfile": { - "clientId": "msi" - }, - "nodeResourceGroup": "MC_asotest-rg-ccnlsk_asotest-mc-qzzywc_westus3", - "enableRBAC": true, - "networkProfile": { - "networkPlugin": "kubenet", - "loadBalancerSku": "Standard", - "loadBalancerProfile": { - "managedOutboundIPs": { - "count": 1 - }, - "effectiveOutboundIPs": [ - { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_asotest-rg-ccnlsk_asotest-mc-qzzywc_westus3/providers/Microsoft.Network/publicIPAddresses/f37e609c-6e2a-401c-abcf-13be95a50134" - } - ] - }, - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", - "dnsServiceIP": "10.0.0.10", - "dockerBridgeCidr": "172.17.0.1/16", - "outboundType": "loadBalancer" - }, - "maxAgentPools": 100, - "identityProfile": { - "kubeletidentity": { - "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_asotest-rg-ccnlsk_asotest-mc-qzzywc_westus3/providers/Microsoft.ManagedIdentity/userAssignedIdentities/asotest-mc-qzzywc-agentpool", - "clientId": "71ff5515-a586-44a2-bef0-25f5707059b5", - "objectId": "cb8cb1ff-2067-4379-acfe-d996e8f65270" - } - }, - "autoUpgradeProfile": {} - }, - "identity": { - "type": "SystemAssigned", - "principalId": "0cce68d8-40e1-4779-8355-d93c6f72efa7", - "tenantId": "00000000-0000-0000-0000-000000000000" - }, - "sku": { - "name": "Basic", - "tier": "Paid" - } - } - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json - Expires: - - "-1" - Pragma: - - no-cache - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Accept: - - application/json - Test-Request-Attempt: - - "6" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ccnlsk/providers/Microsoft.ContainerService/managedClusters/asotest-mc-qzzywc?api-version=2021-05-01 - method: GET - response: - body: |- - { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asotest-rg-ccnlsk/providers/Microsoft.ContainerService/managedClusters/asotest-mc-qzzywc", - "location": "westus3", - "name": "asotest-mc-qzzywc", - "type": "Microsoft.ContainerService/ManagedClusters", - "properties": { - "provisioningState": "Succeeded", - "powerState": { - "code": "Running" - }, - "kubernetesVersion": "1.26.6", - "dnsPrefix": "aso", - "fqdn": "aso-kdwsh5rj.hcp.westus3.azmk8s.io", - "azurePortalFQDN": "aso-kdwsh5rj.portal.hcp.westus3.azmk8s.io", - "agentPoolProfiles": [ - { - "name": "ap1", - "count": 1, - "vmSize": "Standard_DS2_v2", - "osDiskSizeGB": 128, - "osDiskType": "Managed", - "kubeletDiskType": "OS", - "maxPods": 110, - "type": "VirtualMachineScaleSets", - "provisioningState": "Succeeded", - "powerState": { - "code": "Running" - }, - "orchestratorVersion": "1.26.6", - "mode": "System", - "osType": "Linux", - "osSKU": "Ubuntu", - "nodeImageVersion": "AKSUbuntu-2204gen2containerd-202310.19.2", - "upgradeSettings": {}, - "enableFIPS": false - } - ], - "linuxProfile": { - "adminUsername": "adminUser", - "ssh": { - "publicKeys": [ - { - "keyData": "ssh-rsa {KEY}\n" - } - ] - } - }, - "servicePrincipalProfile": { - "clientId": "msi" - }, - "nodeResourceGroup": "MC_asotest-rg-ccnlsk_asotest-mc-qzzywc_westus3", - "enableRBAC": true, - "networkProfile": { - "networkPlugin": "kubenet", - "loadBalancerSku": "Standard", - "loadBalancerProfile": { - "managedOutboundIPs": { - "count": 1 - }, - "effectiveOutboundIPs": [ - { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_asotest-rg-ccnlsk_asotest-mc-qzzywc_westus3/providers/Microsoft.Network/publicIPAddresses/f37e609c-6e2a-401c-abcf-13be95a50134" - } - ] - }, - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", - "dnsServiceIP": "10.0.0.10", - "dockerBridgeCidr": "172.17.0.1/16", - "outboundType": "loadBalancer" - }, - "maxAgentPools": 100, - "identityProfile": { - "kubeletidentity": { - "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_asotest-rg-ccnlsk_asotest-mc-qzzywc_westus3/providers/Microsoft.ManagedIdentity/userAssignedIdentities/asotest-mc-qzzywc-agentpool", - "clientId": "71ff5515-a586-44a2-bef0-25f5707059b5", - "objectId": "cb8cb1ff-2067-4379-acfe-d996e8f65270" - } - }, - "autoUpgradeProfile": {} - }, - "identity": { - "type": "SystemAssigned", - "principalId": "0cce68d8-40e1-4779-8355-d93c6f72efa7", - "tenantId": "00000000-0000-0000-0000-000000000000" - }, - "sku": { - "name": "Basic", - "tier": "Paid" - } - } - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json - Expires: - - "-1" - Pragma: - - no-cache - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: '{"identity":{"type":"SystemAssigned"},"location":"westus3","name":"asotest-mc-qzzywc","properties":{"addonProfiles":null,"agentPoolProfiles":[{"availabilityZones":null,"count":1,"mode":"System","name":"ap1","nodeLabels":{},"nodeTaints":[],"osType":"Linux","tags":{},"vmSize":"Standard_DS2_v2"}],"dnsPrefix":"aso","identityProfile":null,"linuxProfile":{"adminUsername":"adminUser","ssh":{"publicKeys":[{"keyData":"ssh-rsa - {KEY}\n"}]}},"privateLinkResources":null},"sku":{"name":"Basic","tier":"Paid"},"tags":{}}' - form: {} - headers: - Accept: - - application/json - Content-Length: - - "869" - Content-Type: - - application/json - Test-Request-Attempt: - - "2" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ccnlsk/providers/Microsoft.ContainerService/managedClusters/asotest-mc-qzzywc?api-version=2021-05-01 - method: PUT - response: - body: |- - { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asotest-rg-ccnlsk/providers/Microsoft.ContainerService/managedClusters/asotest-mc-qzzywc", - "location": "westus3", - "name": "asotest-mc-qzzywc", - "type": "Microsoft.ContainerService/ManagedClusters", - "properties": { - "provisioningState": "Updating", - "powerState": { - "code": "Running" - }, - "kubernetesVersion": "1.26.6", - "dnsPrefix": "aso", - "fqdn": "aso-kdwsh5rj.hcp.westus3.azmk8s.io", - "azurePortalFQDN": "aso-kdwsh5rj.portal.hcp.westus3.azmk8s.io", - "agentPoolProfiles": [ - { - "name": "ap1", - "count": 1, - "vmSize": "Standard_DS2_v2", - "osDiskSizeGB": 128, - "osDiskType": "Managed", - "kubeletDiskType": "OS", - "maxPods": 110, - "type": "VirtualMachineScaleSets", - "provisioningState": "Updating", - "powerState": { - "code": "Running" - }, - "orchestratorVersion": "1.26.6", - "mode": "System", - "osType": "Linux", - "osSKU": "Ubuntu", - "nodeImageVersion": "AKSUbuntu-2204gen2containerd-202310.19.2", - "upgradeSettings": {}, - "enableFIPS": false - } - ], - "linuxProfile": { - "adminUsername": "adminUser", - "ssh": { - "publicKeys": [ - { - "keyData": "ssh-rsa {KEY}\n" - } - ] - } - }, - "servicePrincipalProfile": { - "clientId": "msi" - }, - "nodeResourceGroup": "MC_asotest-rg-ccnlsk_asotest-mc-qzzywc_westus3", - "enableRBAC": true, - "networkProfile": { - "networkPlugin": "kubenet", - "loadBalancerSku": "Standard", - "loadBalancerProfile": { - "managedOutboundIPs": { - "count": 1 - }, - "effectiveOutboundIPs": [ - { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_asotest-rg-ccnlsk_asotest-mc-qzzywc_westus3/providers/Microsoft.Network/publicIPAddresses/f37e609c-6e2a-401c-abcf-13be95a50134" - } - ] - }, - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", - "dnsServiceIP": "10.0.0.10", - "dockerBridgeCidr": "172.17.0.1/16", - "outboundType": "loadBalancer" - }, - "maxAgentPools": 100, - "identityProfile": { - "kubeletidentity": { - "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_asotest-rg-ccnlsk_asotest-mc-qzzywc_westus3/providers/Microsoft.ManagedIdentity/userAssignedIdentities/asotest-mc-qzzywc-agentpool", - "clientId": "71ff5515-a586-44a2-bef0-25f5707059b5", - "objectId": "cb8cb1ff-2067-4379-acfe-d996e8f65270" - } - }, - "autoUpgradeProfile": {} - }, - "identity": { - "type": "SystemAssigned", - "principalId": "0cce68d8-40e1-4779-8355-d93c6f72efa7", - "tenantId": "00000000-0000-0000-0000-000000000000" - }, - "sku": { - "name": "Basic", - "tier": "Paid" - } - } - headers: - Azure-Asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/09d6913e-38f3-457a-92e5-4b7f1dda2070?api-version=2016-03-30&t=638351704644375102&c=MIIHADCCBeigAwIBAgITHgOPMCVriuS4-lWO9AAAA48wJTANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDYwHhcNMjMxMTAxMTk0NDE0WhcNMjQxMDI2MTk0NDE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVYjGR__tDbQAkWmgTzkuhLkeLHMZF4BUrWy0rFsX2EQ-jKcnRoDb5IHA8d5kzQwRSfOsVkMYLJuxNfSVVkrT-2bRtOmLA39FjlxIxE-eeCClqoDypQUkMQFt03BhhgviChly_GAB1VdMVAtOkAqyDD7YkPdR2axUfPszW3havSW-NiPjXkJezv1WPkDjGs7VhIBdJ276lVsVC2AXVfTa_AH34QbGAVCgFq8f8RTHFAF3kuyznwrhR89pSFJZDGMu3zaigorG-qTVP15VUl0SThQRKENFzEVVIr40ndWscX0MCYmJQFpzB426gRb4aM5DABy8TfY3hU0Ma6Pqs5vu0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MB0GA1UdDgQWBBQ2lSwc1_ggaso1He0vGUt5JD_O-zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBTxRmjG8cPwKy19i2rhsvm-NfzRQTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAIw8F0494wN-l6CjjUdzUshsBr2wClEmC0dDhWd1f3feZIai44cKuTS3gtIM6iwdptdi2IL_bKhFk-6Fn-JXtbxsNzIJ8XXeKHhpzJVCU9MsZAFp3UQVp3udzC1s2K_AXSg-OCDXxNEARdl-WK7qOyoEscw8w8gjgQG2Ci1QnqpZZj3XNFuKivIpxFcC8b0hYbFHXp6mX3gSSX-JIvFbcilXTjD7Akh4wCqJ0qr_UVakf6f0hcmwRwI6pxk0EVSIZDDpivRgNJousujO4E5jLDLfevJch5BD-VERxY6bIKFRBYRq5WNGU96UKZ842RWmWmjml7ckpZd5e1UD5ErqHLA&s=x-QL2jzbKJOnGS6CvIOCSKu-uDqamOqcS5RXielZ3NOAnmCzkMsq5j1IRXvniQzfPC_qttswDgFvKW8sC52cS4CrsFQEr7CFKOixrJ35piafrMECKrb6XGejgltl4jiEZcNrF-cXp9skEkK4P1-fHf0Uc2GbCVcnjnavjeGHwxdmbiFZTH9FT9rVh8sP8Mz_tHwd2hojAXnTxQtRmn1UYNpqclsiU43Oeb5Ds7Yh_wWabz3J6yaaHceh_ObUJ9ycScLal0FdYpKuJKTAzbpiU73dMRsdxEoZCh8ht5p-a6kTjE7gHLQE_bB7rlavvLEJqOogArlvy_oFWKmFMMTqtw&h=e75AE0U2SNWYfQH7cyGA_G1e4pdaaPBsRUNgPj-CzDM - Cache-Control: - - no-cache - Content-Type: - - application/json - Expires: - - "-1" - Pragma: - - no-cache - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "0" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/09d6913e-38f3-457a-92e5-4b7f1dda2070?api-version=2016-03-30&t=638351704644375102&c=MIIHADCCBeigAwIBAgITHgOPMCVriuS4-lWO9AAAA48wJTANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDYwHhcNMjMxMTAxMTk0NDE0WhcNMjQxMDI2MTk0NDE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVYjGR__tDbQAkWmgTzkuhLkeLHMZF4BUrWy0rFsX2EQ-jKcnRoDb5IHA8d5kzQwRSfOsVkMYLJuxNfSVVkrT-2bRtOmLA39FjlxIxE-eeCClqoDypQUkMQFt03BhhgviChly_GAB1VdMVAtOkAqyDD7YkPdR2axUfPszW3havSW-NiPjXkJezv1WPkDjGs7VhIBdJ276lVsVC2AXVfTa_AH34QbGAVCgFq8f8RTHFAF3kuyznwrhR89pSFJZDGMu3zaigorG-qTVP15VUl0SThQRKENFzEVVIr40ndWscX0MCYmJQFpzB426gRb4aM5DABy8TfY3hU0Ma6Pqs5vu0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MB0GA1UdDgQWBBQ2lSwc1_ggaso1He0vGUt5JD_O-zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBTxRmjG8cPwKy19i2rhsvm-NfzRQTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAIw8F0494wN-l6CjjUdzUshsBr2wClEmC0dDhWd1f3feZIai44cKuTS3gtIM6iwdptdi2IL_bKhFk-6Fn-JXtbxsNzIJ8XXeKHhpzJVCU9MsZAFp3UQVp3udzC1s2K_AXSg-OCDXxNEARdl-WK7qOyoEscw8w8gjgQG2Ci1QnqpZZj3XNFuKivIpxFcC8b0hYbFHXp6mX3gSSX-JIvFbcilXTjD7Akh4wCqJ0qr_UVakf6f0hcmwRwI6pxk0EVSIZDDpivRgNJousujO4E5jLDLfevJch5BD-VERxY6bIKFRBYRq5WNGU96UKZ842RWmWmjml7ckpZd5e1UD5ErqHLA&s=x-QL2jzbKJOnGS6CvIOCSKu-uDqamOqcS5RXielZ3NOAnmCzkMsq5j1IRXvniQzfPC_qttswDgFvKW8sC52cS4CrsFQEr7CFKOixrJ35piafrMECKrb6XGejgltl4jiEZcNrF-cXp9skEkK4P1-fHf0Uc2GbCVcnjnavjeGHwxdmbiFZTH9FT9rVh8sP8Mz_tHwd2hojAXnTxQtRmn1UYNpqclsiU43Oeb5Ds7Yh_wWabz3J6yaaHceh_ObUJ9ycScLal0FdYpKuJKTAzbpiU73dMRsdxEoZCh8ht5p-a6kTjE7gHLQE_bB7rlavvLEJqOogArlvy_oFWKmFMMTqtw&h=e75AE0U2SNWYfQH7cyGA_G1e4pdaaPBsRUNgPj-CzDM - method: GET - response: - body: |- - { - "name": "3e91d609-f338-7a45-92e5-4b7f1dda2070", - "status": "InProgress", - "startTime": "2001-02-03T04:05:06Z", - "error": { - "code": "NotLatestOperation", - "message": "Cannot proceed with the operation. Either the operation has been preempted by another one, or the information needed by the operation failed to be saved (or hasn't been saved yet)." - } - } - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json - Expires: - - "-1" - Pragma: - - no-cache - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "1" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/09d6913e-38f3-457a-92e5-4b7f1dda2070?api-version=2016-03-30&t=638351704644375102&c=MIIHADCCBeigAwIBAgITHgOPMCVriuS4-lWO9AAAA48wJTANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDYwHhcNMjMxMTAxMTk0NDE0WhcNMjQxMDI2MTk0NDE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVYjGR__tDbQAkWmgTzkuhLkeLHMZF4BUrWy0rFsX2EQ-jKcnRoDb5IHA8d5kzQwRSfOsVkMYLJuxNfSVVkrT-2bRtOmLA39FjlxIxE-eeCClqoDypQUkMQFt03BhhgviChly_GAB1VdMVAtOkAqyDD7YkPdR2axUfPszW3havSW-NiPjXkJezv1WPkDjGs7VhIBdJ276lVsVC2AXVfTa_AH34QbGAVCgFq8f8RTHFAF3kuyznwrhR89pSFJZDGMu3zaigorG-qTVP15VUl0SThQRKENFzEVVIr40ndWscX0MCYmJQFpzB426gRb4aM5DABy8TfY3hU0Ma6Pqs5vu0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MB0GA1UdDgQWBBQ2lSwc1_ggaso1He0vGUt5JD_O-zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBTxRmjG8cPwKy19i2rhsvm-NfzRQTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAIw8F0494wN-l6CjjUdzUshsBr2wClEmC0dDhWd1f3feZIai44cKuTS3gtIM6iwdptdi2IL_bKhFk-6Fn-JXtbxsNzIJ8XXeKHhpzJVCU9MsZAFp3UQVp3udzC1s2K_AXSg-OCDXxNEARdl-WK7qOyoEscw8w8gjgQG2Ci1QnqpZZj3XNFuKivIpxFcC8b0hYbFHXp6mX3gSSX-JIvFbcilXTjD7Akh4wCqJ0qr_UVakf6f0hcmwRwI6pxk0EVSIZDDpivRgNJousujO4E5jLDLfevJch5BD-VERxY6bIKFRBYRq5WNGU96UKZ842RWmWmjml7ckpZd5e1UD5ErqHLA&s=x-QL2jzbKJOnGS6CvIOCSKu-uDqamOqcS5RXielZ3NOAnmCzkMsq5j1IRXvniQzfPC_qttswDgFvKW8sC52cS4CrsFQEr7CFKOixrJ35piafrMECKrb6XGejgltl4jiEZcNrF-cXp9skEkK4P1-fHf0Uc2GbCVcnjnavjeGHwxdmbiFZTH9FT9rVh8sP8Mz_tHwd2hojAXnTxQtRmn1UYNpqclsiU43Oeb5Ds7Yh_wWabz3J6yaaHceh_ObUJ9ycScLal0FdYpKuJKTAzbpiU73dMRsdxEoZCh8ht5p-a6kTjE7gHLQE_bB7rlavvLEJqOogArlvy_oFWKmFMMTqtw&h=e75AE0U2SNWYfQH7cyGA_G1e4pdaaPBsRUNgPj-CzDM - method: GET - response: - body: |- - { - "name": "3e91d609-f338-7a45-92e5-4b7f1dda2070", - "status": "InProgress", - "startTime": "2001-02-03T04:05:06Z", - "error": { - "code": "NotLatestOperation", - "message": "Cannot proceed with the operation. Either the operation has been preempted by another one, or the information needed by the operation failed to be saved (or hasn't been saved yet)." - } - } - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json - Expires: - - "-1" - Pragma: - - no-cache - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "2" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/09d6913e-38f3-457a-92e5-4b7f1dda2070?api-version=2016-03-30&t=638351704644375102&c=MIIHADCCBeigAwIBAgITHgOPMCVriuS4-lWO9AAAA48wJTANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDYwHhcNMjMxMTAxMTk0NDE0WhcNMjQxMDI2MTk0NDE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVYjGR__tDbQAkWmgTzkuhLkeLHMZF4BUrWy0rFsX2EQ-jKcnRoDb5IHA8d5kzQwRSfOsVkMYLJuxNfSVVkrT-2bRtOmLA39FjlxIxE-eeCClqoDypQUkMQFt03BhhgviChly_GAB1VdMVAtOkAqyDD7YkPdR2axUfPszW3havSW-NiPjXkJezv1WPkDjGs7VhIBdJ276lVsVC2AXVfTa_AH34QbGAVCgFq8f8RTHFAF3kuyznwrhR89pSFJZDGMu3zaigorG-qTVP15VUl0SThQRKENFzEVVIr40ndWscX0MCYmJQFpzB426gRb4aM5DABy8TfY3hU0Ma6Pqs5vu0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MB0GA1UdDgQWBBQ2lSwc1_ggaso1He0vGUt5JD_O-zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBTxRmjG8cPwKy19i2rhsvm-NfzRQTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAIw8F0494wN-l6CjjUdzUshsBr2wClEmC0dDhWd1f3feZIai44cKuTS3gtIM6iwdptdi2IL_bKhFk-6Fn-JXtbxsNzIJ8XXeKHhpzJVCU9MsZAFp3UQVp3udzC1s2K_AXSg-OCDXxNEARdl-WK7qOyoEscw8w8gjgQG2Ci1QnqpZZj3XNFuKivIpxFcC8b0hYbFHXp6mX3gSSX-JIvFbcilXTjD7Akh4wCqJ0qr_UVakf6f0hcmwRwI6pxk0EVSIZDDpivRgNJousujO4E5jLDLfevJch5BD-VERxY6bIKFRBYRq5WNGU96UKZ842RWmWmjml7ckpZd5e1UD5ErqHLA&s=x-QL2jzbKJOnGS6CvIOCSKu-uDqamOqcS5RXielZ3NOAnmCzkMsq5j1IRXvniQzfPC_qttswDgFvKW8sC52cS4CrsFQEr7CFKOixrJ35piafrMECKrb6XGejgltl4jiEZcNrF-cXp9skEkK4P1-fHf0Uc2GbCVcnjnavjeGHwxdmbiFZTH9FT9rVh8sP8Mz_tHwd2hojAXnTxQtRmn1UYNpqclsiU43Oeb5Ds7Yh_wWabz3J6yaaHceh_ObUJ9ycScLal0FdYpKuJKTAzbpiU73dMRsdxEoZCh8ht5p-a6kTjE7gHLQE_bB7rlavvLEJqOogArlvy_oFWKmFMMTqtw&h=e75AE0U2SNWYfQH7cyGA_G1e4pdaaPBsRUNgPj-CzDM - method: GET - response: - body: |- - { - "name": "3e91d609-f338-7a45-92e5-4b7f1dda2070", - "status": "InProgress", - "startTime": "2001-02-03T04:05:06Z", - "error": { - "code": "NotLatestOperation", - "message": "Cannot proceed with the operation. Either the operation has been preempted by another one, or the information needed by the operation failed to be saved (or hasn't been saved yet)." - } - } - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json - Expires: - - "-1" - Pragma: - - no-cache - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "3" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/09d6913e-38f3-457a-92e5-4b7f1dda2070?api-version=2016-03-30&t=638351704644375102&c=MIIHADCCBeigAwIBAgITHgOPMCVriuS4-lWO9AAAA48wJTANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDYwHhcNMjMxMTAxMTk0NDE0WhcNMjQxMDI2MTk0NDE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVYjGR__tDbQAkWmgTzkuhLkeLHMZF4BUrWy0rFsX2EQ-jKcnRoDb5IHA8d5kzQwRSfOsVkMYLJuxNfSVVkrT-2bRtOmLA39FjlxIxE-eeCClqoDypQUkMQFt03BhhgviChly_GAB1VdMVAtOkAqyDD7YkPdR2axUfPszW3havSW-NiPjXkJezv1WPkDjGs7VhIBdJ276lVsVC2AXVfTa_AH34QbGAVCgFq8f8RTHFAF3kuyznwrhR89pSFJZDGMu3zaigorG-qTVP15VUl0SThQRKENFzEVVIr40ndWscX0MCYmJQFpzB426gRb4aM5DABy8TfY3hU0Ma6Pqs5vu0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MB0GA1UdDgQWBBQ2lSwc1_ggaso1He0vGUt5JD_O-zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBTxRmjG8cPwKy19i2rhsvm-NfzRQTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAIw8F0494wN-l6CjjUdzUshsBr2wClEmC0dDhWd1f3feZIai44cKuTS3gtIM6iwdptdi2IL_bKhFk-6Fn-JXtbxsNzIJ8XXeKHhpzJVCU9MsZAFp3UQVp3udzC1s2K_AXSg-OCDXxNEARdl-WK7qOyoEscw8w8gjgQG2Ci1QnqpZZj3XNFuKivIpxFcC8b0hYbFHXp6mX3gSSX-JIvFbcilXTjD7Akh4wCqJ0qr_UVakf6f0hcmwRwI6pxk0EVSIZDDpivRgNJousujO4E5jLDLfevJch5BD-VERxY6bIKFRBYRq5WNGU96UKZ842RWmWmjml7ckpZd5e1UD5ErqHLA&s=x-QL2jzbKJOnGS6CvIOCSKu-uDqamOqcS5RXielZ3NOAnmCzkMsq5j1IRXvniQzfPC_qttswDgFvKW8sC52cS4CrsFQEr7CFKOixrJ35piafrMECKrb6XGejgltl4jiEZcNrF-cXp9skEkK4P1-fHf0Uc2GbCVcnjnavjeGHwxdmbiFZTH9FT9rVh8sP8Mz_tHwd2hojAXnTxQtRmn1UYNpqclsiU43Oeb5Ds7Yh_wWabz3J6yaaHceh_ObUJ9ycScLal0FdYpKuJKTAzbpiU73dMRsdxEoZCh8ht5p-a6kTjE7gHLQE_bB7rlavvLEJqOogArlvy_oFWKmFMMTqtw&h=e75AE0U2SNWYfQH7cyGA_G1e4pdaaPBsRUNgPj-CzDM - method: GET - response: - body: |- - { - "name": "3e91d609-f338-7a45-92e5-4b7f1dda2070", - "status": "InProgress", - "startTime": "2001-02-03T04:05:06Z", - "error": { - "code": "NotLatestOperation", - "message": "Cannot proceed with the operation. Either the operation has been preempted by another one, or the information needed by the operation failed to be saved (or hasn't been saved yet)." - } - } - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json - Expires: - - "-1" - Pragma: - - no-cache - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "4" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/09d6913e-38f3-457a-92e5-4b7f1dda2070?api-version=2016-03-30&t=638351704644375102&c=MIIHADCCBeigAwIBAgITHgOPMCVriuS4-lWO9AAAA48wJTANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDYwHhcNMjMxMTAxMTk0NDE0WhcNMjQxMDI2MTk0NDE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVYjGR__tDbQAkWmgTzkuhLkeLHMZF4BUrWy0rFsX2EQ-jKcnRoDb5IHA8d5kzQwRSfOsVkMYLJuxNfSVVkrT-2bRtOmLA39FjlxIxE-eeCClqoDypQUkMQFt03BhhgviChly_GAB1VdMVAtOkAqyDD7YkPdR2axUfPszW3havSW-NiPjXkJezv1WPkDjGs7VhIBdJ276lVsVC2AXVfTa_AH34QbGAVCgFq8f8RTHFAF3kuyznwrhR89pSFJZDGMu3zaigorG-qTVP15VUl0SThQRKENFzEVVIr40ndWscX0MCYmJQFpzB426gRb4aM5DABy8TfY3hU0Ma6Pqs5vu0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MB0GA1UdDgQWBBQ2lSwc1_ggaso1He0vGUt5JD_O-zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBTxRmjG8cPwKy19i2rhsvm-NfzRQTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAIw8F0494wN-l6CjjUdzUshsBr2wClEmC0dDhWd1f3feZIai44cKuTS3gtIM6iwdptdi2IL_bKhFk-6Fn-JXtbxsNzIJ8XXeKHhpzJVCU9MsZAFp3UQVp3udzC1s2K_AXSg-OCDXxNEARdl-WK7qOyoEscw8w8gjgQG2Ci1QnqpZZj3XNFuKivIpxFcC8b0hYbFHXp6mX3gSSX-JIvFbcilXTjD7Akh4wCqJ0qr_UVakf6f0hcmwRwI6pxk0EVSIZDDpivRgNJousujO4E5jLDLfevJch5BD-VERxY6bIKFRBYRq5WNGU96UKZ842RWmWmjml7ckpZd5e1UD5ErqHLA&s=x-QL2jzbKJOnGS6CvIOCSKu-uDqamOqcS5RXielZ3NOAnmCzkMsq5j1IRXvniQzfPC_qttswDgFvKW8sC52cS4CrsFQEr7CFKOixrJ35piafrMECKrb6XGejgltl4jiEZcNrF-cXp9skEkK4P1-fHf0Uc2GbCVcnjnavjeGHwxdmbiFZTH9FT9rVh8sP8Mz_tHwd2hojAXnTxQtRmn1UYNpqclsiU43Oeb5Ds7Yh_wWabz3J6yaaHceh_ObUJ9ycScLal0FdYpKuJKTAzbpiU73dMRsdxEoZCh8ht5p-a6kTjE7gHLQE_bB7rlavvLEJqOogArlvy_oFWKmFMMTqtw&h=e75AE0U2SNWYfQH7cyGA_G1e4pdaaPBsRUNgPj-CzDM - method: GET - response: - body: |- - { - "name": "3e91d609-f338-7a45-92e5-4b7f1dda2070", - "status": "InProgress", - "startTime": "2001-02-03T04:05:06Z", - "error": { - "code": "NotLatestOperation", - "message": "Cannot proceed with the operation. Either the operation has been preempted by another one, or the information needed by the operation failed to be saved (or hasn't been saved yet)." - } - } - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json - Expires: - - "-1" - Pragma: - - no-cache - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "5" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/09d6913e-38f3-457a-92e5-4b7f1dda2070?api-version=2016-03-30&t=638351704644375102&c=MIIHADCCBeigAwIBAgITHgOPMCVriuS4-lWO9AAAA48wJTANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDYwHhcNMjMxMTAxMTk0NDE0WhcNMjQxMDI2MTk0NDE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVYjGR__tDbQAkWmgTzkuhLkeLHMZF4BUrWy0rFsX2EQ-jKcnRoDb5IHA8d5kzQwRSfOsVkMYLJuxNfSVVkrT-2bRtOmLA39FjlxIxE-eeCClqoDypQUkMQFt03BhhgviChly_GAB1VdMVAtOkAqyDD7YkPdR2axUfPszW3havSW-NiPjXkJezv1WPkDjGs7VhIBdJ276lVsVC2AXVfTa_AH34QbGAVCgFq8f8RTHFAF3kuyznwrhR89pSFJZDGMu3zaigorG-qTVP15VUl0SThQRKENFzEVVIr40ndWscX0MCYmJQFpzB426gRb4aM5DABy8TfY3hU0Ma6Pqs5vu0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MB0GA1UdDgQWBBQ2lSwc1_ggaso1He0vGUt5JD_O-zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBTxRmjG8cPwKy19i2rhsvm-NfzRQTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAIw8F0494wN-l6CjjUdzUshsBr2wClEmC0dDhWd1f3feZIai44cKuTS3gtIM6iwdptdi2IL_bKhFk-6Fn-JXtbxsNzIJ8XXeKHhpzJVCU9MsZAFp3UQVp3udzC1s2K_AXSg-OCDXxNEARdl-WK7qOyoEscw8w8gjgQG2Ci1QnqpZZj3XNFuKivIpxFcC8b0hYbFHXp6mX3gSSX-JIvFbcilXTjD7Akh4wCqJ0qr_UVakf6f0hcmwRwI6pxk0EVSIZDDpivRgNJousujO4E5jLDLfevJch5BD-VERxY6bIKFRBYRq5WNGU96UKZ842RWmWmjml7ckpZd5e1UD5ErqHLA&s=x-QL2jzbKJOnGS6CvIOCSKu-uDqamOqcS5RXielZ3NOAnmCzkMsq5j1IRXvniQzfPC_qttswDgFvKW8sC52cS4CrsFQEr7CFKOixrJ35piafrMECKrb6XGejgltl4jiEZcNrF-cXp9skEkK4P1-fHf0Uc2GbCVcnjnavjeGHwxdmbiFZTH9FT9rVh8sP8Mz_tHwd2hojAXnTxQtRmn1UYNpqclsiU43Oeb5Ds7Yh_wWabz3J6yaaHceh_ObUJ9ycScLal0FdYpKuJKTAzbpiU73dMRsdxEoZCh8ht5p-a6kTjE7gHLQE_bB7rlavvLEJqOogArlvy_oFWKmFMMTqtw&h=e75AE0U2SNWYfQH7cyGA_G1e4pdaaPBsRUNgPj-CzDM - method: GET - response: - body: |- - { - "name": "3e91d609-f338-7a45-92e5-4b7f1dda2070", - "status": "InProgress", - "startTime": "2001-02-03T04:05:06Z", - "error": { - "code": "NotLatestOperation", - "message": "Cannot proceed with the operation. Either the operation has been preempted by another one, or the information needed by the operation failed to be saved (or hasn't been saved yet)." - } - } - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json - Expires: - - "-1" - Pragma: - - no-cache - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "6" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/09d6913e-38f3-457a-92e5-4b7f1dda2070?api-version=2016-03-30&t=638351704644375102&c=MIIHADCCBeigAwIBAgITHgOPMCVriuS4-lWO9AAAA48wJTANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDYwHhcNMjMxMTAxMTk0NDE0WhcNMjQxMDI2MTk0NDE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVYjGR__tDbQAkWmgTzkuhLkeLHMZF4BUrWy0rFsX2EQ-jKcnRoDb5IHA8d5kzQwRSfOsVkMYLJuxNfSVVkrT-2bRtOmLA39FjlxIxE-eeCClqoDypQUkMQFt03BhhgviChly_GAB1VdMVAtOkAqyDD7YkPdR2axUfPszW3havSW-NiPjXkJezv1WPkDjGs7VhIBdJ276lVsVC2AXVfTa_AH34QbGAVCgFq8f8RTHFAF3kuyznwrhR89pSFJZDGMu3zaigorG-qTVP15VUl0SThQRKENFzEVVIr40ndWscX0MCYmJQFpzB426gRb4aM5DABy8TfY3hU0Ma6Pqs5vu0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MB0GA1UdDgQWBBQ2lSwc1_ggaso1He0vGUt5JD_O-zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBTxRmjG8cPwKy19i2rhsvm-NfzRQTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAIw8F0494wN-l6CjjUdzUshsBr2wClEmC0dDhWd1f3feZIai44cKuTS3gtIM6iwdptdi2IL_bKhFk-6Fn-JXtbxsNzIJ8XXeKHhpzJVCU9MsZAFp3UQVp3udzC1s2K_AXSg-OCDXxNEARdl-WK7qOyoEscw8w8gjgQG2Ci1QnqpZZj3XNFuKivIpxFcC8b0hYbFHXp6mX3gSSX-JIvFbcilXTjD7Akh4wCqJ0qr_UVakf6f0hcmwRwI6pxk0EVSIZDDpivRgNJousujO4E5jLDLfevJch5BD-VERxY6bIKFRBYRq5WNGU96UKZ842RWmWmjml7ckpZd5e1UD5ErqHLA&s=x-QL2jzbKJOnGS6CvIOCSKu-uDqamOqcS5RXielZ3NOAnmCzkMsq5j1IRXvniQzfPC_qttswDgFvKW8sC52cS4CrsFQEr7CFKOixrJ35piafrMECKrb6XGejgltl4jiEZcNrF-cXp9skEkK4P1-fHf0Uc2GbCVcnjnavjeGHwxdmbiFZTH9FT9rVh8sP8Mz_tHwd2hojAXnTxQtRmn1UYNpqclsiU43Oeb5Ds7Yh_wWabz3J6yaaHceh_ObUJ9ycScLal0FdYpKuJKTAzbpiU73dMRsdxEoZCh8ht5p-a6kTjE7gHLQE_bB7rlavvLEJqOogArlvy_oFWKmFMMTqtw&h=e75AE0U2SNWYfQH7cyGA_G1e4pdaaPBsRUNgPj-CzDM - method: GET - response: - body: |- - { - "name": "3e91d609-f338-7a45-92e5-4b7f1dda2070", - "status": "Succeeded", - "startTime": "2001-02-03T04:05:06Z", - "endTime": "2001-02-03T04:05:06Z", - "error": { - "code": "NotLatestOperation", - "message": "Cannot proceed with the operation. Either the operation has been preempted by another one, or the information needed by the operation failed to be saved (or hasn't been saved yet)." - } - } - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json - Expires: - - "-1" - Pragma: - - no-cache - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "7" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ccnlsk/providers/Microsoft.ContainerService/managedClusters/asotest-mc-qzzywc?api-version=2021-05-01 - method: GET - response: - body: |- - { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asotest-rg-ccnlsk/providers/Microsoft.ContainerService/managedClusters/asotest-mc-qzzywc", - "location": "westus3", - "name": "asotest-mc-qzzywc", - "type": "Microsoft.ContainerService/ManagedClusters", - "properties": { - "provisioningState": "Succeeded", - "powerState": { - "code": "Running" - }, - "kubernetesVersion": "1.26.6", - "dnsPrefix": "aso", - "fqdn": "aso-kdwsh5rj.hcp.westus3.azmk8s.io", - "azurePortalFQDN": "aso-kdwsh5rj.portal.hcp.westus3.azmk8s.io", - "agentPoolProfiles": [ - { - "name": "ap1", - "count": 1, - "vmSize": "Standard_DS2_v2", - "osDiskSizeGB": 128, - "osDiskType": "Managed", - "kubeletDiskType": "OS", - "maxPods": 110, - "type": "VirtualMachineScaleSets", - "provisioningState": "Succeeded", - "powerState": { - "code": "Running" - }, - "orchestratorVersion": "1.26.6", - "mode": "System", - "osType": "Linux", - "osSKU": "Ubuntu", - "nodeImageVersion": "AKSUbuntu-2204gen2containerd-202310.19.2", - "upgradeSettings": {}, - "enableFIPS": false - } - ], - "linuxProfile": { - "adminUsername": "adminUser", - "ssh": { - "publicKeys": [ - { - "keyData": "ssh-rsa {KEY}\n" - } - ] - } - }, - "servicePrincipalProfile": { - "clientId": "msi" - }, - "nodeResourceGroup": "MC_asotest-rg-ccnlsk_asotest-mc-qzzywc_westus3", - "enableRBAC": true, - "networkProfile": { - "networkPlugin": "kubenet", - "loadBalancerSku": "Standard", - "loadBalancerProfile": { - "managedOutboundIPs": { - "count": 1 - }, - "effectiveOutboundIPs": [ - { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_asotest-rg-ccnlsk_asotest-mc-qzzywc_westus3/providers/Microsoft.Network/publicIPAddresses/f37e609c-6e2a-401c-abcf-13be95a50134" - } - ] - }, - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", - "dnsServiceIP": "10.0.0.10", - "dockerBridgeCidr": "172.17.0.1/16", - "outboundType": "loadBalancer" - }, - "maxAgentPools": 100, - "identityProfile": { - "kubeletidentity": { - "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_asotest-rg-ccnlsk_asotest-mc-qzzywc_westus3/providers/Microsoft.ManagedIdentity/userAssignedIdentities/asotest-mc-qzzywc-agentpool", - "clientId": "71ff5515-a586-44a2-bef0-25f5707059b5", - "objectId": "cb8cb1ff-2067-4379-acfe-d996e8f65270" - } - }, - "autoUpgradeProfile": {} - }, - "identity": { - "type": "SystemAssigned", - "principalId": "0cce68d8-40e1-4779-8355-d93c6f72efa7", - "tenantId": "00000000-0000-0000-0000-000000000000" - }, - "sku": { - "name": "Basic", - "tier": "Paid" - } - } - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json - Expires: - - "-1" - Pragma: - - no-cache - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Accept: - - application/json - Test-Request-Attempt: - - "8" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ccnlsk/providers/Microsoft.ContainerService/managedClusters/asotest-mc-qzzywc?api-version=2021-05-01 - method: GET - response: - body: |- - { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asotest-rg-ccnlsk/providers/Microsoft.ContainerService/managedClusters/asotest-mc-qzzywc", - "location": "westus3", - "name": "asotest-mc-qzzywc", - "type": "Microsoft.ContainerService/ManagedClusters", - "properties": { - "provisioningState": "Succeeded", - "powerState": { - "code": "Running" - }, - "kubernetesVersion": "1.26.6", - "dnsPrefix": "aso", - "fqdn": "aso-kdwsh5rj.hcp.westus3.azmk8s.io", - "azurePortalFQDN": "aso-kdwsh5rj.portal.hcp.westus3.azmk8s.io", - "agentPoolProfiles": [ - { - "name": "ap1", - "count": 1, - "vmSize": "Standard_DS2_v2", - "osDiskSizeGB": 128, - "osDiskType": "Managed", - "kubeletDiskType": "OS", - "maxPods": 110, - "type": "VirtualMachineScaleSets", - "provisioningState": "Succeeded", - "powerState": { - "code": "Running" - }, - "orchestratorVersion": "1.26.6", - "mode": "System", - "osType": "Linux", - "osSKU": "Ubuntu", - "nodeImageVersion": "AKSUbuntu-2204gen2containerd-202310.19.2", - "upgradeSettings": {}, - "enableFIPS": false - } - ], - "linuxProfile": { - "adminUsername": "adminUser", - "ssh": { - "publicKeys": [ - { - "keyData": "ssh-rsa {KEY}\n" - } - ] - } - }, - "servicePrincipalProfile": { - "clientId": "msi" - }, - "nodeResourceGroup": "MC_asotest-rg-ccnlsk_asotest-mc-qzzywc_westus3", - "enableRBAC": true, - "networkProfile": { - "networkPlugin": "kubenet", - "loadBalancerSku": "Standard", - "loadBalancerProfile": { - "managedOutboundIPs": { - "count": 1 - }, - "effectiveOutboundIPs": [ - { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_asotest-rg-ccnlsk_asotest-mc-qzzywc_westus3/providers/Microsoft.Network/publicIPAddresses/f37e609c-6e2a-401c-abcf-13be95a50134" - } - ] - }, - "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", - "dnsServiceIP": "10.0.0.10", - "dockerBridgeCidr": "172.17.0.1/16", - "outboundType": "loadBalancer" - }, - "maxAgentPools": 100, - "identityProfile": { - "kubeletidentity": { - "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_asotest-rg-ccnlsk_asotest-mc-qzzywc_westus3/providers/Microsoft.ManagedIdentity/userAssignedIdentities/asotest-mc-qzzywc-agentpool", - "clientId": "71ff5515-a586-44a2-bef0-25f5707059b5", - "objectId": "cb8cb1ff-2067-4379-acfe-d996e8f65270" - } - }, - "autoUpgradeProfile": {} - }, - "identity": { - "type": "SystemAssigned", - "principalId": "0cce68d8-40e1-4779-8355-d93c6f72efa7", - "tenantId": "00000000-0000-0000-0000-000000000000" - }, - "sku": { - "name": "Basic", - "tier": "Paid" - } - } - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json - Expires: - - "-1" - Pragma: - - no-cache - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Accept: - - application/json - Test-Request-Attempt: - - "0" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ccnlsk/providers/Microsoft.ContainerService/managedClusters/asotest-mc-qzzywc/listClusterAdminCredential?api-version=2022-04-01 - method: POST - response: - body: |- - { - "kubeconfigs": [ - { - "name": "clusterAdmin", - "value": "IA==" - } - ] - } - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json - Expires: - - "-1" - Pragma: - - no-cache - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Accept: - - application/json - Test-Request-Attempt: - - "0" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ccnlsk/providers/Microsoft.ContainerService/managedClusters/asotest-mc-qzzywc/listClusterUserCredential?api-version=2022-04-01 - method: POST - response: - body: |- - { - "kubeconfigs": [ - { - "name": "clusterUser", - "value": "IA==" - } - ] - } - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json - Expires: - - "-1" - Pragma: - - no-cache - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Accept: - - application/json - Test-Request-Attempt: - - "0" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ccnlsk/providers/Microsoft.ContainerService/managedClusters/asotest-mc-qzzywc/agentPools/ap2?api-version=2021-05-01 - method: GET - response: - body: |- - { - "code": "NotFound", - "details": [ - { - "code": "Unspecified", - "message": "rpc error: code = NotFound desc = Agent Pool not found" - } - ], - "message": "Could not find the agentpool: ap2 in subscription: 00000000-0000-0000-0000-000000000000, resourceGroup: asotest-rg-ccnlsk, resourceName: asotest-mc-qzzywc.", - "subcode": "GetAgentPool_NotFound" - } - headers: - Cache-Control: - - no-cache - Content-Length: - - "364" - Content-Type: - - application/json - Expires: - - "-1" - Pragma: - - no-cache - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - X-Content-Type-Options: - - nosniff - status: 404 Not Found - code: 404 - duration: "" -- request: - body: '{"name":"ap2","properties":{"availabilityZones":null,"count":1,"mode":"System","nodeLabels":{},"nodeTaints":[],"osType":"Linux","tags":{},"vmSize":"Standard_DS2_v2"}}' - form: {} - headers: - Accept: - - application/json - Content-Length: - - "164" - Content-Type: - - application/json - Test-Request-Attempt: - - "0" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ccnlsk/providers/Microsoft.ContainerService/managedClusters/asotest-mc-qzzywc/agentPools/ap2?api-version=2021-05-01 - method: PUT - response: - body: |- - { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asotest-rg-ccnlsk/providers/Microsoft.ContainerService/managedClusters/asotest-mc-qzzywc/agentPools/ap2", - "name": "ap2", - "type": "Microsoft.ContainerService/managedClusters/agentPools", - "properties": { - "count": 1, - "vmSize": "Standard_DS2_v2", - "osDiskSizeGB": 128, - "osDiskType": "Managed", - "kubeletDiskType": "OS", - "maxPods": 110, - "type": "VirtualMachineScaleSets", - "provisioningState": "Creating", - "powerState": { - "code": "Running" - }, - "orchestratorVersion": "1.26.6", - "mode": "System", - "osType": "Linux", - "osSKU": "Ubuntu", - "nodeImageVersion": "AKSUbuntu-2204gen2containerd-202310.19.2", - "upgradeSettings": {}, - "enableFIPS": false - } - } - headers: - Azure-Asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/ac2dd0ef-5a72-4acc-a4ef-c95b9aa9b69a?api-version=2016-03-30&t=638351706000169163&c=MIIHADCCBeigAwIBAgITHgOPMCVriuS4-lWO9AAAA48wJTANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDYwHhcNMjMxMTAxMTk0NDE0WhcNMjQxMDI2MTk0NDE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVYjGR__tDbQAkWmgTzkuhLkeLHMZF4BUrWy0rFsX2EQ-jKcnRoDb5IHA8d5kzQwRSfOsVkMYLJuxNfSVVkrT-2bRtOmLA39FjlxIxE-eeCClqoDypQUkMQFt03BhhgviChly_GAB1VdMVAtOkAqyDD7YkPdR2axUfPszW3havSW-NiPjXkJezv1WPkDjGs7VhIBdJ276lVsVC2AXVfTa_AH34QbGAVCgFq8f8RTHFAF3kuyznwrhR89pSFJZDGMu3zaigorG-qTVP15VUl0SThQRKENFzEVVIr40ndWscX0MCYmJQFpzB426gRb4aM5DABy8TfY3hU0Ma6Pqs5vu0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MB0GA1UdDgQWBBQ2lSwc1_ggaso1He0vGUt5JD_O-zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBTxRmjG8cPwKy19i2rhsvm-NfzRQTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAIw8F0494wN-l6CjjUdzUshsBr2wClEmC0dDhWd1f3feZIai44cKuTS3gtIM6iwdptdi2IL_bKhFk-6Fn-JXtbxsNzIJ8XXeKHhpzJVCU9MsZAFp3UQVp3udzC1s2K_AXSg-OCDXxNEARdl-WK7qOyoEscw8w8gjgQG2Ci1QnqpZZj3XNFuKivIpxFcC8b0hYbFHXp6mX3gSSX-JIvFbcilXTjD7Akh4wCqJ0qr_UVakf6f0hcmwRwI6pxk0EVSIZDDpivRgNJousujO4E5jLDLfevJch5BD-VERxY6bIKFRBYRq5WNGU96UKZ842RWmWmjml7ckpZd5e1UD5ErqHLA&s=HAYlRBbQAykESqk47XfMxJdH7zuxvx22OTVguPLu07hEnzvLX08UjEQZD0BSeVKcl5cMVr3dXfpp7RrbdNn8hZPrzh4vsN0gIdwdxgsx4fqwpeNW3UweoBze3RTbE77gArSnP0tqVW9c0YDJ3ZUJODucoa_Ew7wLmw9ZxjpWGs5vQjV8Jcyrvy29km2glbTwyh1csmT-KHciR_AdjJeqb7jOCgFCiBfocxpiX0OVfPolxfOnU7UPZbxZ5190DS_mTJeRy0fKoBbs_k8dcOWWUtJtiIvLBe5ciORgjlHppuKg9OUNMbMmIPeEZTqO7NIXnj2igqNRDiAftAwq2uHbbg&h=1sOvrsGrTwEhwyPFoXHjMmWn5nimq8G_mHfZ63nP7rw - Cache-Control: - - no-cache - Content-Length: - - "776" - Content-Type: - - application/json - Expires: - - "-1" - Pragma: - - no-cache - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - X-Content-Type-Options: - - nosniff - status: 201 Created - code: 201 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "0" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/ac2dd0ef-5a72-4acc-a4ef-c95b9aa9b69a?api-version=2016-03-30&t=638351706000169163&c=MIIHADCCBeigAwIBAgITHgOPMCVriuS4-lWO9AAAA48wJTANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDYwHhcNMjMxMTAxMTk0NDE0WhcNMjQxMDI2MTk0NDE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVYjGR__tDbQAkWmgTzkuhLkeLHMZF4BUrWy0rFsX2EQ-jKcnRoDb5IHA8d5kzQwRSfOsVkMYLJuxNfSVVkrT-2bRtOmLA39FjlxIxE-eeCClqoDypQUkMQFt03BhhgviChly_GAB1VdMVAtOkAqyDD7YkPdR2axUfPszW3havSW-NiPjXkJezv1WPkDjGs7VhIBdJ276lVsVC2AXVfTa_AH34QbGAVCgFq8f8RTHFAF3kuyznwrhR89pSFJZDGMu3zaigorG-qTVP15VUl0SThQRKENFzEVVIr40ndWscX0MCYmJQFpzB426gRb4aM5DABy8TfY3hU0Ma6Pqs5vu0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MB0GA1UdDgQWBBQ2lSwc1_ggaso1He0vGUt5JD_O-zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBTxRmjG8cPwKy19i2rhsvm-NfzRQTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAIw8F0494wN-l6CjjUdzUshsBr2wClEmC0dDhWd1f3feZIai44cKuTS3gtIM6iwdptdi2IL_bKhFk-6Fn-JXtbxsNzIJ8XXeKHhpzJVCU9MsZAFp3UQVp3udzC1s2K_AXSg-OCDXxNEARdl-WK7qOyoEscw8w8gjgQG2Ci1QnqpZZj3XNFuKivIpxFcC8b0hYbFHXp6mX3gSSX-JIvFbcilXTjD7Akh4wCqJ0qr_UVakf6f0hcmwRwI6pxk0EVSIZDDpivRgNJousujO4E5jLDLfevJch5BD-VERxY6bIKFRBYRq5WNGU96UKZ842RWmWmjml7ckpZd5e1UD5ErqHLA&s=HAYlRBbQAykESqk47XfMxJdH7zuxvx22OTVguPLu07hEnzvLX08UjEQZD0BSeVKcl5cMVr3dXfpp7RrbdNn8hZPrzh4vsN0gIdwdxgsx4fqwpeNW3UweoBze3RTbE77gArSnP0tqVW9c0YDJ3ZUJODucoa_Ew7wLmw9ZxjpWGs5vQjV8Jcyrvy29km2glbTwyh1csmT-KHciR_AdjJeqb7jOCgFCiBfocxpiX0OVfPolxfOnU7UPZbxZ5190DS_mTJeRy0fKoBbs_k8dcOWWUtJtiIvLBe5ciORgjlHppuKg9OUNMbMmIPeEZTqO7NIXnj2igqNRDiAftAwq2uHbbg&h=1sOvrsGrTwEhwyPFoXHjMmWn5nimq8G_mHfZ63nP7rw - method: GET - response: - body: |- - { - "name": "efd02dac-725a-cc4a-a4ef-c95b9aa9b69a", - "status": "InProgress", - "startTime": "2001-02-03T04:05:06Z" - } - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json - Expires: - - "-1" - Pragma: - - no-cache - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "1" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/ac2dd0ef-5a72-4acc-a4ef-c95b9aa9b69a?api-version=2016-03-30&t=638351706000169163&c=MIIHADCCBeigAwIBAgITHgOPMCVriuS4-lWO9AAAA48wJTANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDYwHhcNMjMxMTAxMTk0NDE0WhcNMjQxMDI2MTk0NDE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVYjGR__tDbQAkWmgTzkuhLkeLHMZF4BUrWy0rFsX2EQ-jKcnRoDb5IHA8d5kzQwRSfOsVkMYLJuxNfSVVkrT-2bRtOmLA39FjlxIxE-eeCClqoDypQUkMQFt03BhhgviChly_GAB1VdMVAtOkAqyDD7YkPdR2axUfPszW3havSW-NiPjXkJezv1WPkDjGs7VhIBdJ276lVsVC2AXVfTa_AH34QbGAVCgFq8f8RTHFAF3kuyznwrhR89pSFJZDGMu3zaigorG-qTVP15VUl0SThQRKENFzEVVIr40ndWscX0MCYmJQFpzB426gRb4aM5DABy8TfY3hU0Ma6Pqs5vu0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MB0GA1UdDgQWBBQ2lSwc1_ggaso1He0vGUt5JD_O-zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBTxRmjG8cPwKy19i2rhsvm-NfzRQTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAIw8F0494wN-l6CjjUdzUshsBr2wClEmC0dDhWd1f3feZIai44cKuTS3gtIM6iwdptdi2IL_bKhFk-6Fn-JXtbxsNzIJ8XXeKHhpzJVCU9MsZAFp3UQVp3udzC1s2K_AXSg-OCDXxNEARdl-WK7qOyoEscw8w8gjgQG2Ci1QnqpZZj3XNFuKivIpxFcC8b0hYbFHXp6mX3gSSX-JIvFbcilXTjD7Akh4wCqJ0qr_UVakf6f0hcmwRwI6pxk0EVSIZDDpivRgNJousujO4E5jLDLfevJch5BD-VERxY6bIKFRBYRq5WNGU96UKZ842RWmWmjml7ckpZd5e1UD5ErqHLA&s=HAYlRBbQAykESqk47XfMxJdH7zuxvx22OTVguPLu07hEnzvLX08UjEQZD0BSeVKcl5cMVr3dXfpp7RrbdNn8hZPrzh4vsN0gIdwdxgsx4fqwpeNW3UweoBze3RTbE77gArSnP0tqVW9c0YDJ3ZUJODucoa_Ew7wLmw9ZxjpWGs5vQjV8Jcyrvy29km2glbTwyh1csmT-KHciR_AdjJeqb7jOCgFCiBfocxpiX0OVfPolxfOnU7UPZbxZ5190DS_mTJeRy0fKoBbs_k8dcOWWUtJtiIvLBe5ciORgjlHppuKg9OUNMbMmIPeEZTqO7NIXnj2igqNRDiAftAwq2uHbbg&h=1sOvrsGrTwEhwyPFoXHjMmWn5nimq8G_mHfZ63nP7rw - method: GET - response: - body: |- - { - "name": "efd02dac-725a-cc4a-a4ef-c95b9aa9b69a", - "status": "InProgress", - "startTime": "2001-02-03T04:05:06Z" - } - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json - Expires: - - "-1" - Pragma: - - no-cache - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "2" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/ac2dd0ef-5a72-4acc-a4ef-c95b9aa9b69a?api-version=2016-03-30&t=638351706000169163&c=MIIHADCCBeigAwIBAgITHgOPMCVriuS4-lWO9AAAA48wJTANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDYwHhcNMjMxMTAxMTk0NDE0WhcNMjQxMDI2MTk0NDE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVYjGR__tDbQAkWmgTzkuhLkeLHMZF4BUrWy0rFsX2EQ-jKcnRoDb5IHA8d5kzQwRSfOsVkMYLJuxNfSVVkrT-2bRtOmLA39FjlxIxE-eeCClqoDypQUkMQFt03BhhgviChly_GAB1VdMVAtOkAqyDD7YkPdR2axUfPszW3havSW-NiPjXkJezv1WPkDjGs7VhIBdJ276lVsVC2AXVfTa_AH34QbGAVCgFq8f8RTHFAF3kuyznwrhR89pSFJZDGMu3zaigorG-qTVP15VUl0SThQRKENFzEVVIr40ndWscX0MCYmJQFpzB426gRb4aM5DABy8TfY3hU0Ma6Pqs5vu0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MB0GA1UdDgQWBBQ2lSwc1_ggaso1He0vGUt5JD_O-zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBTxRmjG8cPwKy19i2rhsvm-NfzRQTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAIw8F0494wN-l6CjjUdzUshsBr2wClEmC0dDhWd1f3feZIai44cKuTS3gtIM6iwdptdi2IL_bKhFk-6Fn-JXtbxsNzIJ8XXeKHhpzJVCU9MsZAFp3UQVp3udzC1s2K_AXSg-OCDXxNEARdl-WK7qOyoEscw8w8gjgQG2Ci1QnqpZZj3XNFuKivIpxFcC8b0hYbFHXp6mX3gSSX-JIvFbcilXTjD7Akh4wCqJ0qr_UVakf6f0hcmwRwI6pxk0EVSIZDDpivRgNJousujO4E5jLDLfevJch5BD-VERxY6bIKFRBYRq5WNGU96UKZ842RWmWmjml7ckpZd5e1UD5ErqHLA&s=HAYlRBbQAykESqk47XfMxJdH7zuxvx22OTVguPLu07hEnzvLX08UjEQZD0BSeVKcl5cMVr3dXfpp7RrbdNn8hZPrzh4vsN0gIdwdxgsx4fqwpeNW3UweoBze3RTbE77gArSnP0tqVW9c0YDJ3ZUJODucoa_Ew7wLmw9ZxjpWGs5vQjV8Jcyrvy29km2glbTwyh1csmT-KHciR_AdjJeqb7jOCgFCiBfocxpiX0OVfPolxfOnU7UPZbxZ5190DS_mTJeRy0fKoBbs_k8dcOWWUtJtiIvLBe5ciORgjlHppuKg9OUNMbMmIPeEZTqO7NIXnj2igqNRDiAftAwq2uHbbg&h=1sOvrsGrTwEhwyPFoXHjMmWn5nimq8G_mHfZ63nP7rw - method: GET - response: - body: |- - { - "name": "efd02dac-725a-cc4a-a4ef-c95b9aa9b69a", - "status": "InProgress", - "startTime": "2001-02-03T04:05:06Z" - } - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json - Expires: - - "-1" - Pragma: - - no-cache - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "3" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/ac2dd0ef-5a72-4acc-a4ef-c95b9aa9b69a?api-version=2016-03-30&t=638351706000169163&c=MIIHADCCBeigAwIBAgITHgOPMCVriuS4-lWO9AAAA48wJTANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDYwHhcNMjMxMTAxMTk0NDE0WhcNMjQxMDI2MTk0NDE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVYjGR__tDbQAkWmgTzkuhLkeLHMZF4BUrWy0rFsX2EQ-jKcnRoDb5IHA8d5kzQwRSfOsVkMYLJuxNfSVVkrT-2bRtOmLA39FjlxIxE-eeCClqoDypQUkMQFt03BhhgviChly_GAB1VdMVAtOkAqyDD7YkPdR2axUfPszW3havSW-NiPjXkJezv1WPkDjGs7VhIBdJ276lVsVC2AXVfTa_AH34QbGAVCgFq8f8RTHFAF3kuyznwrhR89pSFJZDGMu3zaigorG-qTVP15VUl0SThQRKENFzEVVIr40ndWscX0MCYmJQFpzB426gRb4aM5DABy8TfY3hU0Ma6Pqs5vu0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MB0GA1UdDgQWBBQ2lSwc1_ggaso1He0vGUt5JD_O-zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBTxRmjG8cPwKy19i2rhsvm-NfzRQTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAIw8F0494wN-l6CjjUdzUshsBr2wClEmC0dDhWd1f3feZIai44cKuTS3gtIM6iwdptdi2IL_bKhFk-6Fn-JXtbxsNzIJ8XXeKHhpzJVCU9MsZAFp3UQVp3udzC1s2K_AXSg-OCDXxNEARdl-WK7qOyoEscw8w8gjgQG2Ci1QnqpZZj3XNFuKivIpxFcC8b0hYbFHXp6mX3gSSX-JIvFbcilXTjD7Akh4wCqJ0qr_UVakf6f0hcmwRwI6pxk0EVSIZDDpivRgNJousujO4E5jLDLfevJch5BD-VERxY6bIKFRBYRq5WNGU96UKZ842RWmWmjml7ckpZd5e1UD5ErqHLA&s=HAYlRBbQAykESqk47XfMxJdH7zuxvx22OTVguPLu07hEnzvLX08UjEQZD0BSeVKcl5cMVr3dXfpp7RrbdNn8hZPrzh4vsN0gIdwdxgsx4fqwpeNW3UweoBze3RTbE77gArSnP0tqVW9c0YDJ3ZUJODucoa_Ew7wLmw9ZxjpWGs5vQjV8Jcyrvy29km2glbTwyh1csmT-KHciR_AdjJeqb7jOCgFCiBfocxpiX0OVfPolxfOnU7UPZbxZ5190DS_mTJeRy0fKoBbs_k8dcOWWUtJtiIvLBe5ciORgjlHppuKg9OUNMbMmIPeEZTqO7NIXnj2igqNRDiAftAwq2uHbbg&h=1sOvrsGrTwEhwyPFoXHjMmWn5nimq8G_mHfZ63nP7rw - method: GET - response: - body: |- - { - "name": "efd02dac-725a-cc4a-a4ef-c95b9aa9b69a", - "status": "InProgress", - "startTime": "2001-02-03T04:05:06Z" - } - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json - Expires: - - "-1" - Pragma: - - no-cache - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "4" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/ac2dd0ef-5a72-4acc-a4ef-c95b9aa9b69a?api-version=2016-03-30&t=638351706000169163&c=MIIHADCCBeigAwIBAgITHgOPMCVriuS4-lWO9AAAA48wJTANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDYwHhcNMjMxMTAxMTk0NDE0WhcNMjQxMDI2MTk0NDE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVYjGR__tDbQAkWmgTzkuhLkeLHMZF4BUrWy0rFsX2EQ-jKcnRoDb5IHA8d5kzQwRSfOsVkMYLJuxNfSVVkrT-2bRtOmLA39FjlxIxE-eeCClqoDypQUkMQFt03BhhgviChly_GAB1VdMVAtOkAqyDD7YkPdR2axUfPszW3havSW-NiPjXkJezv1WPkDjGs7VhIBdJ276lVsVC2AXVfTa_AH34QbGAVCgFq8f8RTHFAF3kuyznwrhR89pSFJZDGMu3zaigorG-qTVP15VUl0SThQRKENFzEVVIr40ndWscX0MCYmJQFpzB426gRb4aM5DABy8TfY3hU0Ma6Pqs5vu0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MB0GA1UdDgQWBBQ2lSwc1_ggaso1He0vGUt5JD_O-zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBTxRmjG8cPwKy19i2rhsvm-NfzRQTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAIw8F0494wN-l6CjjUdzUshsBr2wClEmC0dDhWd1f3feZIai44cKuTS3gtIM6iwdptdi2IL_bKhFk-6Fn-JXtbxsNzIJ8XXeKHhpzJVCU9MsZAFp3UQVp3udzC1s2K_AXSg-OCDXxNEARdl-WK7qOyoEscw8w8gjgQG2Ci1QnqpZZj3XNFuKivIpxFcC8b0hYbFHXp6mX3gSSX-JIvFbcilXTjD7Akh4wCqJ0qr_UVakf6f0hcmwRwI6pxk0EVSIZDDpivRgNJousujO4E5jLDLfevJch5BD-VERxY6bIKFRBYRq5WNGU96UKZ842RWmWmjml7ckpZd5e1UD5ErqHLA&s=HAYlRBbQAykESqk47XfMxJdH7zuxvx22OTVguPLu07hEnzvLX08UjEQZD0BSeVKcl5cMVr3dXfpp7RrbdNn8hZPrzh4vsN0gIdwdxgsx4fqwpeNW3UweoBze3RTbE77gArSnP0tqVW9c0YDJ3ZUJODucoa_Ew7wLmw9ZxjpWGs5vQjV8Jcyrvy29km2glbTwyh1csmT-KHciR_AdjJeqb7jOCgFCiBfocxpiX0OVfPolxfOnU7UPZbxZ5190DS_mTJeRy0fKoBbs_k8dcOWWUtJtiIvLBe5ciORgjlHppuKg9OUNMbMmIPeEZTqO7NIXnj2igqNRDiAftAwq2uHbbg&h=1sOvrsGrTwEhwyPFoXHjMmWn5nimq8G_mHfZ63nP7rw - method: GET - response: - body: |- - { - "name": "efd02dac-725a-cc4a-a4ef-c95b9aa9b69a", - "status": "InProgress", - "startTime": "2001-02-03T04:05:06Z" - } - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json - Expires: - - "-1" - Pragma: - - no-cache - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "5" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/ac2dd0ef-5a72-4acc-a4ef-c95b9aa9b69a?api-version=2016-03-30&t=638351706000169163&c=MIIHADCCBeigAwIBAgITHgOPMCVriuS4-lWO9AAAA48wJTANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDYwHhcNMjMxMTAxMTk0NDE0WhcNMjQxMDI2MTk0NDE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVYjGR__tDbQAkWmgTzkuhLkeLHMZF4BUrWy0rFsX2EQ-jKcnRoDb5IHA8d5kzQwRSfOsVkMYLJuxNfSVVkrT-2bRtOmLA39FjlxIxE-eeCClqoDypQUkMQFt03BhhgviChly_GAB1VdMVAtOkAqyDD7YkPdR2axUfPszW3havSW-NiPjXkJezv1WPkDjGs7VhIBdJ276lVsVC2AXVfTa_AH34QbGAVCgFq8f8RTHFAF3kuyznwrhR89pSFJZDGMu3zaigorG-qTVP15VUl0SThQRKENFzEVVIr40ndWscX0MCYmJQFpzB426gRb4aM5DABy8TfY3hU0Ma6Pqs5vu0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MB0GA1UdDgQWBBQ2lSwc1_ggaso1He0vGUt5JD_O-zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBTxRmjG8cPwKy19i2rhsvm-NfzRQTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAIw8F0494wN-l6CjjUdzUshsBr2wClEmC0dDhWd1f3feZIai44cKuTS3gtIM6iwdptdi2IL_bKhFk-6Fn-JXtbxsNzIJ8XXeKHhpzJVCU9MsZAFp3UQVp3udzC1s2K_AXSg-OCDXxNEARdl-WK7qOyoEscw8w8gjgQG2Ci1QnqpZZj3XNFuKivIpxFcC8b0hYbFHXp6mX3gSSX-JIvFbcilXTjD7Akh4wCqJ0qr_UVakf6f0hcmwRwI6pxk0EVSIZDDpivRgNJousujO4E5jLDLfevJch5BD-VERxY6bIKFRBYRq5WNGU96UKZ842RWmWmjml7ckpZd5e1UD5ErqHLA&s=HAYlRBbQAykESqk47XfMxJdH7zuxvx22OTVguPLu07hEnzvLX08UjEQZD0BSeVKcl5cMVr3dXfpp7RrbdNn8hZPrzh4vsN0gIdwdxgsx4fqwpeNW3UweoBze3RTbE77gArSnP0tqVW9c0YDJ3ZUJODucoa_Ew7wLmw9ZxjpWGs5vQjV8Jcyrvy29km2glbTwyh1csmT-KHciR_AdjJeqb7jOCgFCiBfocxpiX0OVfPolxfOnU7UPZbxZ5190DS_mTJeRy0fKoBbs_k8dcOWWUtJtiIvLBe5ciORgjlHppuKg9OUNMbMmIPeEZTqO7NIXnj2igqNRDiAftAwq2uHbbg&h=1sOvrsGrTwEhwyPFoXHjMmWn5nimq8G_mHfZ63nP7rw - method: GET - response: - body: |- - { - "name": "efd02dac-725a-cc4a-a4ef-c95b9aa9b69a", - "status": "InProgress", - "startTime": "2001-02-03T04:05:06Z" - } - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json - Expires: - - "-1" - Pragma: - - no-cache - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "6" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/ac2dd0ef-5a72-4acc-a4ef-c95b9aa9b69a?api-version=2016-03-30&t=638351706000169163&c=MIIHADCCBeigAwIBAgITHgOPMCVriuS4-lWO9AAAA48wJTANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDYwHhcNMjMxMTAxMTk0NDE0WhcNMjQxMDI2MTk0NDE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVYjGR__tDbQAkWmgTzkuhLkeLHMZF4BUrWy0rFsX2EQ-jKcnRoDb5IHA8d5kzQwRSfOsVkMYLJuxNfSVVkrT-2bRtOmLA39FjlxIxE-eeCClqoDypQUkMQFt03BhhgviChly_GAB1VdMVAtOkAqyDD7YkPdR2axUfPszW3havSW-NiPjXkJezv1WPkDjGs7VhIBdJ276lVsVC2AXVfTa_AH34QbGAVCgFq8f8RTHFAF3kuyznwrhR89pSFJZDGMu3zaigorG-qTVP15VUl0SThQRKENFzEVVIr40ndWscX0MCYmJQFpzB426gRb4aM5DABy8TfY3hU0Ma6Pqs5vu0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MB0GA1UdDgQWBBQ2lSwc1_ggaso1He0vGUt5JD_O-zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBTxRmjG8cPwKy19i2rhsvm-NfzRQTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAIw8F0494wN-l6CjjUdzUshsBr2wClEmC0dDhWd1f3feZIai44cKuTS3gtIM6iwdptdi2IL_bKhFk-6Fn-JXtbxsNzIJ8XXeKHhpzJVCU9MsZAFp3UQVp3udzC1s2K_AXSg-OCDXxNEARdl-WK7qOyoEscw8w8gjgQG2Ci1QnqpZZj3XNFuKivIpxFcC8b0hYbFHXp6mX3gSSX-JIvFbcilXTjD7Akh4wCqJ0qr_UVakf6f0hcmwRwI6pxk0EVSIZDDpivRgNJousujO4E5jLDLfevJch5BD-VERxY6bIKFRBYRq5WNGU96UKZ842RWmWmjml7ckpZd5e1UD5ErqHLA&s=HAYlRBbQAykESqk47XfMxJdH7zuxvx22OTVguPLu07hEnzvLX08UjEQZD0BSeVKcl5cMVr3dXfpp7RrbdNn8hZPrzh4vsN0gIdwdxgsx4fqwpeNW3UweoBze3RTbE77gArSnP0tqVW9c0YDJ3ZUJODucoa_Ew7wLmw9ZxjpWGs5vQjV8Jcyrvy29km2glbTwyh1csmT-KHciR_AdjJeqb7jOCgFCiBfocxpiX0OVfPolxfOnU7UPZbxZ5190DS_mTJeRy0fKoBbs_k8dcOWWUtJtiIvLBe5ciORgjlHppuKg9OUNMbMmIPeEZTqO7NIXnj2igqNRDiAftAwq2uHbbg&h=1sOvrsGrTwEhwyPFoXHjMmWn5nimq8G_mHfZ63nP7rw - method: GET - response: - body: |- - { - "name": "efd02dac-725a-cc4a-a4ef-c95b9aa9b69a", - "status": "Succeeded", - "startTime": "2001-02-03T04:05:06Z", - "endTime": "2001-02-03T04:05:06Z" - } - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json - Expires: - - "-1" - Pragma: - - no-cache - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "1" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ccnlsk/providers/Microsoft.ContainerService/managedClusters/asotest-mc-qzzywc/agentPools/ap2?api-version=2021-05-01 - method: GET - response: - body: |- - { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asotest-rg-ccnlsk/providers/Microsoft.ContainerService/managedClusters/asotest-mc-qzzywc/agentPools/ap2", - "name": "ap2", - "type": "Microsoft.ContainerService/managedClusters/agentPools", - "properties": { - "count": 1, - "vmSize": "Standard_DS2_v2", - "osDiskSizeGB": 128, - "osDiskType": "Managed", - "kubeletDiskType": "OS", - "maxPods": 110, - "type": "VirtualMachineScaleSets", - "provisioningState": "Succeeded", - "powerState": { - "code": "Running" - }, - "orchestratorVersion": "1.26.6", - "mode": "System", - "osType": "Linux", - "osSKU": "Ubuntu", - "nodeImageVersion": "AKSUbuntu-2204gen2containerd-202310.19.2", - "upgradeSettings": {}, - "enableFIPS": false - } - } - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json - Expires: - - "-1" - Pragma: - - no-cache - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Accept: - - application/json - Test-Request-Attempt: - - "2" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ccnlsk/providers/Microsoft.ContainerService/managedClusters/asotest-mc-qzzywc/agentPools/ap2?api-version=2021-05-01 - method: GET - response: - body: |- - { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asotest-rg-ccnlsk/providers/Microsoft.ContainerService/managedClusters/asotest-mc-qzzywc/agentPools/ap2", - "name": "ap2", - "type": "Microsoft.ContainerService/managedClusters/agentPools", - "properties": { - "count": 1, - "vmSize": "Standard_DS2_v2", - "osDiskSizeGB": 128, - "osDiskType": "Managed", - "kubeletDiskType": "OS", - "maxPods": 110, - "type": "VirtualMachineScaleSets", - "provisioningState": "Succeeded", - "powerState": { - "code": "Running" - }, - "orchestratorVersion": "1.26.6", - "mode": "System", - "osType": "Linux", - "osSKU": "Ubuntu", - "nodeImageVersion": "AKSUbuntu-2204gen2containerd-202310.19.2", - "upgradeSettings": {}, - "enableFIPS": false - } - } - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json - Expires: - - "-1" - Pragma: - - no-cache - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Accept: - - application/json - Test-Request-Attempt: - - "3" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ccnlsk/providers/Microsoft.ContainerService/managedClusters/asotest-mc-qzzywc/agentPools/ap2?api-version=2021-05-01 - method: GET - response: - body: |- - { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asotest-rg-ccnlsk/providers/Microsoft.ContainerService/managedClusters/asotest-mc-qzzywc/agentPools/ap2", - "name": "ap2", - "type": "Microsoft.ContainerService/managedClusters/agentPools", - "properties": { - "count": 1, - "vmSize": "Standard_DS2_v2", - "osDiskSizeGB": 128, - "osDiskType": "Managed", - "kubeletDiskType": "OS", - "maxPods": 110, - "type": "VirtualMachineScaleSets", - "provisioningState": "Succeeded", - "powerState": { - "code": "Running" - }, - "orchestratorVersion": "1.26.6", - "mode": "System", - "osType": "Linux", - "osSKU": "Ubuntu", - "nodeImageVersion": "AKSUbuntu-2204gen2containerd-202310.19.2", - "upgradeSettings": {}, - "enableFIPS": false - } - } - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json - Expires: - - "-1" - Pragma: - - no-cache - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: '{"name":"ap2","properties":{"availabilityZones":null,"count":1,"mode":"System","nodeLabels":{"mylabel":"label"},"nodeTaints":[],"osType":"Linux","tags":{},"vmSize":"Standard_DS2_v2"}}' - form: {} - headers: - Accept: - - application/json - Content-Length: - - "181" - Content-Type: - - application/json - Test-Request-Attempt: - - "1" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ccnlsk/providers/Microsoft.ContainerService/managedClusters/asotest-mc-qzzywc/agentPools/ap2?api-version=2021-05-01 - method: PUT - response: - body: |- - { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asotest-rg-ccnlsk/providers/Microsoft.ContainerService/managedClusters/asotest-mc-qzzywc/agentPools/ap2", - "name": "ap2", - "type": "Microsoft.ContainerService/managedClusters/agentPools", - "properties": { - "count": 1, - "vmSize": "Standard_DS2_v2", - "osDiskSizeGB": 128, - "osDiskType": "Managed", - "kubeletDiskType": "OS", - "maxPods": 110, - "type": "VirtualMachineScaleSets", - "provisioningState": "Updating", - "powerState": { - "code": "Running" - }, - "orchestratorVersion": "1.26.6", - "nodeLabels": { - "mylabel": "label" - }, - "mode": "System", - "osType": "Linux", - "osSKU": "Ubuntu", - "nodeImageVersion": "AKSUbuntu-2204gen2containerd-202310.19.2", - "upgradeSettings": {}, - "enableFIPS": false - } - } - headers: - Azure-Asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/5079cd16-4775-469e-b389-9d256505b487?api-version=2016-03-30&t=638351707349919710&c=MIIHADCCBeigAwIBAgITHgOPMCVriuS4-lWO9AAAA48wJTANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDYwHhcNMjMxMTAxMTk0NDE0WhcNMjQxMDI2MTk0NDE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVYjGR__tDbQAkWmgTzkuhLkeLHMZF4BUrWy0rFsX2EQ-jKcnRoDb5IHA8d5kzQwRSfOsVkMYLJuxNfSVVkrT-2bRtOmLA39FjlxIxE-eeCClqoDypQUkMQFt03BhhgviChly_GAB1VdMVAtOkAqyDD7YkPdR2axUfPszW3havSW-NiPjXkJezv1WPkDjGs7VhIBdJ276lVsVC2AXVfTa_AH34QbGAVCgFq8f8RTHFAF3kuyznwrhR89pSFJZDGMu3zaigorG-qTVP15VUl0SThQRKENFzEVVIr40ndWscX0MCYmJQFpzB426gRb4aM5DABy8TfY3hU0Ma6Pqs5vu0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MB0GA1UdDgQWBBQ2lSwc1_ggaso1He0vGUt5JD_O-zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBTxRmjG8cPwKy19i2rhsvm-NfzRQTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAIw8F0494wN-l6CjjUdzUshsBr2wClEmC0dDhWd1f3feZIai44cKuTS3gtIM6iwdptdi2IL_bKhFk-6Fn-JXtbxsNzIJ8XXeKHhpzJVCU9MsZAFp3UQVp3udzC1s2K_AXSg-OCDXxNEARdl-WK7qOyoEscw8w8gjgQG2Ci1QnqpZZj3XNFuKivIpxFcC8b0hYbFHXp6mX3gSSX-JIvFbcilXTjD7Akh4wCqJ0qr_UVakf6f0hcmwRwI6pxk0EVSIZDDpivRgNJousujO4E5jLDLfevJch5BD-VERxY6bIKFRBYRq5WNGU96UKZ842RWmWmjml7ckpZd5e1UD5ErqHLA&s=4rIOMSedV0e-qz4gnglY1Z5w0AAganGP-88v67BjC8jyDgZmaHj794wvx-b64TNVtfbJgKiNvu6jla_PoLVIYIhbKkYA4n6elMI8VZnOPag4_2ShWBtzFD3Pw0S_r8lwwWJN8vW9_jrUfkaDxfXliGIeYKgXoYlpUAVi6YPGznI7GXzX0XJyG9ZAnxKUYuw0mUD5-T9jZqEeoeZlGNvsgkZ4GbBngYvHHlcCKD3lQ2a6fAwFy3mmB-sroD3lPumFD9Ubdm1gDeD7jfxPZHzKHYPqjRSH7N3ZUitgVKkRNLYTrDQElDUOGMEJ8V7TQJlUK1XhOKKmg4_XwCftH0kPIw&h=1NMtA6PNvnb-Wjhw-KddgcuHgsY9GUW1vNEkIBmn6n8 - Cache-Control: - - no-cache - Content-Type: - - application/json - Expires: - - "-1" - Pragma: - - no-cache - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "0" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/5079cd16-4775-469e-b389-9d256505b487?api-version=2016-03-30&t=638351707349919710&c=MIIHADCCBeigAwIBAgITHgOPMCVriuS4-lWO9AAAA48wJTANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDYwHhcNMjMxMTAxMTk0NDE0WhcNMjQxMDI2MTk0NDE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVYjGR__tDbQAkWmgTzkuhLkeLHMZF4BUrWy0rFsX2EQ-jKcnRoDb5IHA8d5kzQwRSfOsVkMYLJuxNfSVVkrT-2bRtOmLA39FjlxIxE-eeCClqoDypQUkMQFt03BhhgviChly_GAB1VdMVAtOkAqyDD7YkPdR2axUfPszW3havSW-NiPjXkJezv1WPkDjGs7VhIBdJ276lVsVC2AXVfTa_AH34QbGAVCgFq8f8RTHFAF3kuyznwrhR89pSFJZDGMu3zaigorG-qTVP15VUl0SThQRKENFzEVVIr40ndWscX0MCYmJQFpzB426gRb4aM5DABy8TfY3hU0Ma6Pqs5vu0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MB0GA1UdDgQWBBQ2lSwc1_ggaso1He0vGUt5JD_O-zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBTxRmjG8cPwKy19i2rhsvm-NfzRQTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAIw8F0494wN-l6CjjUdzUshsBr2wClEmC0dDhWd1f3feZIai44cKuTS3gtIM6iwdptdi2IL_bKhFk-6Fn-JXtbxsNzIJ8XXeKHhpzJVCU9MsZAFp3UQVp3udzC1s2K_AXSg-OCDXxNEARdl-WK7qOyoEscw8w8gjgQG2Ci1QnqpZZj3XNFuKivIpxFcC8b0hYbFHXp6mX3gSSX-JIvFbcilXTjD7Akh4wCqJ0qr_UVakf6f0hcmwRwI6pxk0EVSIZDDpivRgNJousujO4E5jLDLfevJch5BD-VERxY6bIKFRBYRq5WNGU96UKZ842RWmWmjml7ckpZd5e1UD5ErqHLA&s=4rIOMSedV0e-qz4gnglY1Z5w0AAganGP-88v67BjC8jyDgZmaHj794wvx-b64TNVtfbJgKiNvu6jla_PoLVIYIhbKkYA4n6elMI8VZnOPag4_2ShWBtzFD3Pw0S_r8lwwWJN8vW9_jrUfkaDxfXliGIeYKgXoYlpUAVi6YPGznI7GXzX0XJyG9ZAnxKUYuw0mUD5-T9jZqEeoeZlGNvsgkZ4GbBngYvHHlcCKD3lQ2a6fAwFy3mmB-sroD3lPumFD9Ubdm1gDeD7jfxPZHzKHYPqjRSH7N3ZUitgVKkRNLYTrDQElDUOGMEJ8V7TQJlUK1XhOKKmg4_XwCftH0kPIw&h=1NMtA6PNvnb-Wjhw-KddgcuHgsY9GUW1vNEkIBmn6n8 - method: GET - response: - body: |- - { - "name": "16cd7950-7547-9e46-b389-9d256505b487", - "status": "InProgress", - "startTime": "2001-02-03T04:05:06Z", - "error": { - "code": "NotLatestOperation", - "message": "Cannot proceed with the operation. Either the operation has been preempted by another one, or the information needed by the operation failed to be saved (or hasn't been saved yet)." - } - } - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json - Expires: - - "-1" - Pragma: - - no-cache - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "1" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/5079cd16-4775-469e-b389-9d256505b487?api-version=2016-03-30&t=638351707349919710&c=MIIHADCCBeigAwIBAgITHgOPMCVriuS4-lWO9AAAA48wJTANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDYwHhcNMjMxMTAxMTk0NDE0WhcNMjQxMDI2MTk0NDE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVYjGR__tDbQAkWmgTzkuhLkeLHMZF4BUrWy0rFsX2EQ-jKcnRoDb5IHA8d5kzQwRSfOsVkMYLJuxNfSVVkrT-2bRtOmLA39FjlxIxE-eeCClqoDypQUkMQFt03BhhgviChly_GAB1VdMVAtOkAqyDD7YkPdR2axUfPszW3havSW-NiPjXkJezv1WPkDjGs7VhIBdJ276lVsVC2AXVfTa_AH34QbGAVCgFq8f8RTHFAF3kuyznwrhR89pSFJZDGMu3zaigorG-qTVP15VUl0SThQRKENFzEVVIr40ndWscX0MCYmJQFpzB426gRb4aM5DABy8TfY3hU0Ma6Pqs5vu0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MB0GA1UdDgQWBBQ2lSwc1_ggaso1He0vGUt5JD_O-zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBTxRmjG8cPwKy19i2rhsvm-NfzRQTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAIw8F0494wN-l6CjjUdzUshsBr2wClEmC0dDhWd1f3feZIai44cKuTS3gtIM6iwdptdi2IL_bKhFk-6Fn-JXtbxsNzIJ8XXeKHhpzJVCU9MsZAFp3UQVp3udzC1s2K_AXSg-OCDXxNEARdl-WK7qOyoEscw8w8gjgQG2Ci1QnqpZZj3XNFuKivIpxFcC8b0hYbFHXp6mX3gSSX-JIvFbcilXTjD7Akh4wCqJ0qr_UVakf6f0hcmwRwI6pxk0EVSIZDDpivRgNJousujO4E5jLDLfevJch5BD-VERxY6bIKFRBYRq5WNGU96UKZ842RWmWmjml7ckpZd5e1UD5ErqHLA&s=4rIOMSedV0e-qz4gnglY1Z5w0AAganGP-88v67BjC8jyDgZmaHj794wvx-b64TNVtfbJgKiNvu6jla_PoLVIYIhbKkYA4n6elMI8VZnOPag4_2ShWBtzFD3Pw0S_r8lwwWJN8vW9_jrUfkaDxfXliGIeYKgXoYlpUAVi6YPGznI7GXzX0XJyG9ZAnxKUYuw0mUD5-T9jZqEeoeZlGNvsgkZ4GbBngYvHHlcCKD3lQ2a6fAwFy3mmB-sroD3lPumFD9Ubdm1gDeD7jfxPZHzKHYPqjRSH7N3ZUitgVKkRNLYTrDQElDUOGMEJ8V7TQJlUK1XhOKKmg4_XwCftH0kPIw&h=1NMtA6PNvnb-Wjhw-KddgcuHgsY9GUW1vNEkIBmn6n8 - method: GET - response: - body: |- - { - "name": "16cd7950-7547-9e46-b389-9d256505b487", - "status": "InProgress", - "startTime": "2001-02-03T04:05:06Z", - "error": { - "code": "NotLatestOperation", - "message": "Cannot proceed with the operation. Either the operation has been preempted by another one, or the information needed by the operation failed to be saved (or hasn't been saved yet)." - } - } - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json - Expires: - - "-1" - Pragma: - - no-cache - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "2" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/5079cd16-4775-469e-b389-9d256505b487?api-version=2016-03-30&t=638351707349919710&c=MIIHADCCBeigAwIBAgITHgOPMCVriuS4-lWO9AAAA48wJTANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDYwHhcNMjMxMTAxMTk0NDE0WhcNMjQxMDI2MTk0NDE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVYjGR__tDbQAkWmgTzkuhLkeLHMZF4BUrWy0rFsX2EQ-jKcnRoDb5IHA8d5kzQwRSfOsVkMYLJuxNfSVVkrT-2bRtOmLA39FjlxIxE-eeCClqoDypQUkMQFt03BhhgviChly_GAB1VdMVAtOkAqyDD7YkPdR2axUfPszW3havSW-NiPjXkJezv1WPkDjGs7VhIBdJ276lVsVC2AXVfTa_AH34QbGAVCgFq8f8RTHFAF3kuyznwrhR89pSFJZDGMu3zaigorG-qTVP15VUl0SThQRKENFzEVVIr40ndWscX0MCYmJQFpzB426gRb4aM5DABy8TfY3hU0Ma6Pqs5vu0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MB0GA1UdDgQWBBQ2lSwc1_ggaso1He0vGUt5JD_O-zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBTxRmjG8cPwKy19i2rhsvm-NfzRQTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAIw8F0494wN-l6CjjUdzUshsBr2wClEmC0dDhWd1f3feZIai44cKuTS3gtIM6iwdptdi2IL_bKhFk-6Fn-JXtbxsNzIJ8XXeKHhpzJVCU9MsZAFp3UQVp3udzC1s2K_AXSg-OCDXxNEARdl-WK7qOyoEscw8w8gjgQG2Ci1QnqpZZj3XNFuKivIpxFcC8b0hYbFHXp6mX3gSSX-JIvFbcilXTjD7Akh4wCqJ0qr_UVakf6f0hcmwRwI6pxk0EVSIZDDpivRgNJousujO4E5jLDLfevJch5BD-VERxY6bIKFRBYRq5WNGU96UKZ842RWmWmjml7ckpZd5e1UD5ErqHLA&s=4rIOMSedV0e-qz4gnglY1Z5w0AAganGP-88v67BjC8jyDgZmaHj794wvx-b64TNVtfbJgKiNvu6jla_PoLVIYIhbKkYA4n6elMI8VZnOPag4_2ShWBtzFD3Pw0S_r8lwwWJN8vW9_jrUfkaDxfXliGIeYKgXoYlpUAVi6YPGznI7GXzX0XJyG9ZAnxKUYuw0mUD5-T9jZqEeoeZlGNvsgkZ4GbBngYvHHlcCKD3lQ2a6fAwFy3mmB-sroD3lPumFD9Ubdm1gDeD7jfxPZHzKHYPqjRSH7N3ZUitgVKkRNLYTrDQElDUOGMEJ8V7TQJlUK1XhOKKmg4_XwCftH0kPIw&h=1NMtA6PNvnb-Wjhw-KddgcuHgsY9GUW1vNEkIBmn6n8 - method: GET - response: - body: |- - { - "name": "16cd7950-7547-9e46-b389-9d256505b487", - "status": "Succeeded", - "startTime": "2001-02-03T04:05:06Z", - "endTime": "2001-02-03T04:05:06Z", - "error": { - "code": "NotLatestOperation", - "message": "Cannot proceed with the operation. Either the operation has been preempted by another one, or the information needed by the operation failed to be saved (or hasn't been saved yet)." - } - } - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json - Expires: - - "-1" - Pragma: - - no-cache - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "4" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ccnlsk/providers/Microsoft.ContainerService/managedClusters/asotest-mc-qzzywc/agentPools/ap2?api-version=2021-05-01 - method: GET - response: - body: |- - { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asotest-rg-ccnlsk/providers/Microsoft.ContainerService/managedClusters/asotest-mc-qzzywc/agentPools/ap2", - "name": "ap2", - "type": "Microsoft.ContainerService/managedClusters/agentPools", - "properties": { - "count": 1, - "vmSize": "Standard_DS2_v2", - "osDiskSizeGB": 128, - "osDiskType": "Managed", - "kubeletDiskType": "OS", - "maxPods": 110, - "type": "VirtualMachineScaleSets", - "provisioningState": "Succeeded", - "powerState": { - "code": "Running" - }, - "orchestratorVersion": "1.26.6", - "nodeLabels": { - "mylabel": "label" - }, - "mode": "System", - "osType": "Linux", - "osSKU": "Ubuntu", - "nodeImageVersion": "AKSUbuntu-2204gen2containerd-202310.19.2", - "upgradeSettings": {}, - "enableFIPS": false - } - } - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json - Expires: - - "-1" - Pragma: - - no-cache - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Accept: - - application/json - Test-Request-Attempt: - - "5" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ccnlsk/providers/Microsoft.ContainerService/managedClusters/asotest-mc-qzzywc/agentPools/ap2?api-version=2021-05-01 - method: GET - response: - body: |- - { - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asotest-rg-ccnlsk/providers/Microsoft.ContainerService/managedClusters/asotest-mc-qzzywc/agentPools/ap2", - "name": "ap2", - "type": "Microsoft.ContainerService/managedClusters/agentPools", - "properties": { - "count": 1, - "vmSize": "Standard_DS2_v2", - "osDiskSizeGB": 128, - "osDiskType": "Managed", - "kubeletDiskType": "OS", - "maxPods": 110, - "type": "VirtualMachineScaleSets", - "provisioningState": "Succeeded", - "powerState": { - "code": "Running" - }, - "orchestratorVersion": "1.26.6", - "nodeLabels": { - "mylabel": "label" - }, - "mode": "System", - "osType": "Linux", - "osSKU": "Ubuntu", - "nodeImageVersion": "AKSUbuntu-2204gen2containerd-202310.19.2", - "upgradeSettings": {}, - "enableFIPS": false - } - } - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json - Expires: - - "-1" - Pragma: - - no-cache - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Accept: - - application/json - Test-Request-Attempt: - - "0" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ccnlsk/providers/Microsoft.ContainerService/managedClusters/asotest-mc-qzzywc/agentPools/ap2?api-version=2021-05-01 - method: DELETE - response: - body: "" - headers: - Azure-Asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/20037c4a-365b-4c23-9db0-86926087ca08?api-version=2016-03-30&t=638351707501334504&c=MIIHADCCBeigAwIBAgITHgOPMCVriuS4-lWO9AAAA48wJTANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDYwHhcNMjMxMTAxMTk0NDE0WhcNMjQxMDI2MTk0NDE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVYjGR__tDbQAkWmgTzkuhLkeLHMZF4BUrWy0rFsX2EQ-jKcnRoDb5IHA8d5kzQwRSfOsVkMYLJuxNfSVVkrT-2bRtOmLA39FjlxIxE-eeCClqoDypQUkMQFt03BhhgviChly_GAB1VdMVAtOkAqyDD7YkPdR2axUfPszW3havSW-NiPjXkJezv1WPkDjGs7VhIBdJ276lVsVC2AXVfTa_AH34QbGAVCgFq8f8RTHFAF3kuyznwrhR89pSFJZDGMu3zaigorG-qTVP15VUl0SThQRKENFzEVVIr40ndWscX0MCYmJQFpzB426gRb4aM5DABy8TfY3hU0Ma6Pqs5vu0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MB0GA1UdDgQWBBQ2lSwc1_ggaso1He0vGUt5JD_O-zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBTxRmjG8cPwKy19i2rhsvm-NfzRQTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAIw8F0494wN-l6CjjUdzUshsBr2wClEmC0dDhWd1f3feZIai44cKuTS3gtIM6iwdptdi2IL_bKhFk-6Fn-JXtbxsNzIJ8XXeKHhpzJVCU9MsZAFp3UQVp3udzC1s2K_AXSg-OCDXxNEARdl-WK7qOyoEscw8w8gjgQG2Ci1QnqpZZj3XNFuKivIpxFcC8b0hYbFHXp6mX3gSSX-JIvFbcilXTjD7Akh4wCqJ0qr_UVakf6f0hcmwRwI6pxk0EVSIZDDpivRgNJousujO4E5jLDLfevJch5BD-VERxY6bIKFRBYRq5WNGU96UKZ842RWmWmjml7ckpZd5e1UD5ErqHLA&s=4R_g0XDdt6mbBbE-wm9KmtfwHXuoKEU21qYskrqb8vJ-N_xLbOnzrEZJNmINnv9czlnoPnAqg3zboflWgj6kgO0g5B81xS3sHaCylWMf2pgQsMm5sdDZLu3lxH8go1cS0QwAHKr7NRu4hpsvxk5otMBudHTgZvZ4RG_P5mkU3qxYumH53yjkQC9JSrLMMQdtzeVVJB9TQYeIku7rZCOvY14hvMiiDVhlJEuCi49clyWxEZhynsLaklaHHe3NkgclsTGTwbeBspF3fiF3lPOT6HTyYPuvHAU6ULHEyks1qKuAymUZevcZxHaFsjD8NcjUvN2rfQHFHSFxnoAWGXxtmQ&h=oQX-EPpprpsk-uVKkvZSNLzoNDdHLSgOXwBBXosp_rY - Cache-Control: - - no-cache - Content-Length: - - "0" - Expires: - - "-1" - Location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operationresults/20037c4a-365b-4c23-9db0-86926087ca08?api-version=2016-03-30&t=638351707501490829&c=MIIHADCCBeigAwIBAgITHgOPMCVriuS4-lWO9AAAA48wJTANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDYwHhcNMjMxMTAxMTk0NDE0WhcNMjQxMDI2MTk0NDE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVYjGR__tDbQAkWmgTzkuhLkeLHMZF4BUrWy0rFsX2EQ-jKcnRoDb5IHA8d5kzQwRSfOsVkMYLJuxNfSVVkrT-2bRtOmLA39FjlxIxE-eeCClqoDypQUkMQFt03BhhgviChly_GAB1VdMVAtOkAqyDD7YkPdR2axUfPszW3havSW-NiPjXkJezv1WPkDjGs7VhIBdJ276lVsVC2AXVfTa_AH34QbGAVCgFq8f8RTHFAF3kuyznwrhR89pSFJZDGMu3zaigorG-qTVP15VUl0SThQRKENFzEVVIr40ndWscX0MCYmJQFpzB426gRb4aM5DABy8TfY3hU0Ma6Pqs5vu0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MB0GA1UdDgQWBBQ2lSwc1_ggaso1He0vGUt5JD_O-zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBTxRmjG8cPwKy19i2rhsvm-NfzRQTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAIw8F0494wN-l6CjjUdzUshsBr2wClEmC0dDhWd1f3feZIai44cKuTS3gtIM6iwdptdi2IL_bKhFk-6Fn-JXtbxsNzIJ8XXeKHhpzJVCU9MsZAFp3UQVp3udzC1s2K_AXSg-OCDXxNEARdl-WK7qOyoEscw8w8gjgQG2Ci1QnqpZZj3XNFuKivIpxFcC8b0hYbFHXp6mX3gSSX-JIvFbcilXTjD7Akh4wCqJ0qr_UVakf6f0hcmwRwI6pxk0EVSIZDDpivRgNJousujO4E5jLDLfevJch5BD-VERxY6bIKFRBYRq5WNGU96UKZ842RWmWmjml7ckpZd5e1UD5ErqHLA&s=hWk7gvCoiET50VE7tfeJMrM2whcDYQewh4M4zTDhIV0NfSEsKWYVeyG8YVDAsv3K1KWt84LEdRMbvkMtt7_aKur3_sWP5_k5FZ_rwUGEcKqV1v4IzfMG9kpbPN8asCVO-k6vFFUdUpNopDhOkDLkJ-LB2GUO3bNWDyAe8wE21MH0vtWYOofK8Jv-jQ6C0v7in4uBW31CdlkiIS9SvG0eLRt7YtxkHVz3LYIfNXgesq64bgh7idmE6lZ-SYNiUOynNunJ_SjdfUN-mBDwdvz68seoMsFlbSaUbyK0bWSdSjer144AX_xWhr6kF4aP2zulKTvBj50CYMoJBSJuyvMhXQ&h=rPi4zhWgYUQWdcN144tiqOJ-BR8bzyMFFn-MC7Ga6to - Pragma: - - no-cache - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - X-Content-Type-Options: - - nosniff - status: 202 Accepted - code: 202 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "0" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/20037c4a-365b-4c23-9db0-86926087ca08?api-version=2016-03-30&t=638351707501334504&c=MIIHADCCBeigAwIBAgITHgOPMCVriuS4-lWO9AAAA48wJTANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDYwHhcNMjMxMTAxMTk0NDE0WhcNMjQxMDI2MTk0NDE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVYjGR__tDbQAkWmgTzkuhLkeLHMZF4BUrWy0rFsX2EQ-jKcnRoDb5IHA8d5kzQwRSfOsVkMYLJuxNfSVVkrT-2bRtOmLA39FjlxIxE-eeCClqoDypQUkMQFt03BhhgviChly_GAB1VdMVAtOkAqyDD7YkPdR2axUfPszW3havSW-NiPjXkJezv1WPkDjGs7VhIBdJ276lVsVC2AXVfTa_AH34QbGAVCgFq8f8RTHFAF3kuyznwrhR89pSFJZDGMu3zaigorG-qTVP15VUl0SThQRKENFzEVVIr40ndWscX0MCYmJQFpzB426gRb4aM5DABy8TfY3hU0Ma6Pqs5vu0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MB0GA1UdDgQWBBQ2lSwc1_ggaso1He0vGUt5JD_O-zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBTxRmjG8cPwKy19i2rhsvm-NfzRQTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAIw8F0494wN-l6CjjUdzUshsBr2wClEmC0dDhWd1f3feZIai44cKuTS3gtIM6iwdptdi2IL_bKhFk-6Fn-JXtbxsNzIJ8XXeKHhpzJVCU9MsZAFp3UQVp3udzC1s2K_AXSg-OCDXxNEARdl-WK7qOyoEscw8w8gjgQG2Ci1QnqpZZj3XNFuKivIpxFcC8b0hYbFHXp6mX3gSSX-JIvFbcilXTjD7Akh4wCqJ0qr_UVakf6f0hcmwRwI6pxk0EVSIZDDpivRgNJousujO4E5jLDLfevJch5BD-VERxY6bIKFRBYRq5WNGU96UKZ842RWmWmjml7ckpZd5e1UD5ErqHLA&s=4R_g0XDdt6mbBbE-wm9KmtfwHXuoKEU21qYskrqb8vJ-N_xLbOnzrEZJNmINnv9czlnoPnAqg3zboflWgj6kgO0g5B81xS3sHaCylWMf2pgQsMm5sdDZLu3lxH8go1cS0QwAHKr7NRu4hpsvxk5otMBudHTgZvZ4RG_P5mkU3qxYumH53yjkQC9JSrLMMQdtzeVVJB9TQYeIku7rZCOvY14hvMiiDVhlJEuCi49clyWxEZhynsLaklaHHe3NkgclsTGTwbeBspF3fiF3lPOT6HTyYPuvHAU6ULHEyks1qKuAymUZevcZxHaFsjD8NcjUvN2rfQHFHSFxnoAWGXxtmQ&h=oQX-EPpprpsk-uVKkvZSNLzoNDdHLSgOXwBBXosp_rY - method: GET - response: - body: |- - { - "name": "4a7c0320-5b36-234c-9db0-86926087ca08", - "status": "InProgress", - "startTime": "2001-02-03T04:05:06Z" - } - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json - Expires: - - "-1" - Pragma: - - no-cache - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "1" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/20037c4a-365b-4c23-9db0-86926087ca08?api-version=2016-03-30&t=638351707501334504&c=MIIHADCCBeigAwIBAgITHgOPMCVriuS4-lWO9AAAA48wJTANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDYwHhcNMjMxMTAxMTk0NDE0WhcNMjQxMDI2MTk0NDE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVYjGR__tDbQAkWmgTzkuhLkeLHMZF4BUrWy0rFsX2EQ-jKcnRoDb5IHA8d5kzQwRSfOsVkMYLJuxNfSVVkrT-2bRtOmLA39FjlxIxE-eeCClqoDypQUkMQFt03BhhgviChly_GAB1VdMVAtOkAqyDD7YkPdR2axUfPszW3havSW-NiPjXkJezv1WPkDjGs7VhIBdJ276lVsVC2AXVfTa_AH34QbGAVCgFq8f8RTHFAF3kuyznwrhR89pSFJZDGMu3zaigorG-qTVP15VUl0SThQRKENFzEVVIr40ndWscX0MCYmJQFpzB426gRb4aM5DABy8TfY3hU0Ma6Pqs5vu0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MB0GA1UdDgQWBBQ2lSwc1_ggaso1He0vGUt5JD_O-zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBTxRmjG8cPwKy19i2rhsvm-NfzRQTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAIw8F0494wN-l6CjjUdzUshsBr2wClEmC0dDhWd1f3feZIai44cKuTS3gtIM6iwdptdi2IL_bKhFk-6Fn-JXtbxsNzIJ8XXeKHhpzJVCU9MsZAFp3UQVp3udzC1s2K_AXSg-OCDXxNEARdl-WK7qOyoEscw8w8gjgQG2Ci1QnqpZZj3XNFuKivIpxFcC8b0hYbFHXp6mX3gSSX-JIvFbcilXTjD7Akh4wCqJ0qr_UVakf6f0hcmwRwI6pxk0EVSIZDDpivRgNJousujO4E5jLDLfevJch5BD-VERxY6bIKFRBYRq5WNGU96UKZ842RWmWmjml7ckpZd5e1UD5ErqHLA&s=4R_g0XDdt6mbBbE-wm9KmtfwHXuoKEU21qYskrqb8vJ-N_xLbOnzrEZJNmINnv9czlnoPnAqg3zboflWgj6kgO0g5B81xS3sHaCylWMf2pgQsMm5sdDZLu3lxH8go1cS0QwAHKr7NRu4hpsvxk5otMBudHTgZvZ4RG_P5mkU3qxYumH53yjkQC9JSrLMMQdtzeVVJB9TQYeIku7rZCOvY14hvMiiDVhlJEuCi49clyWxEZhynsLaklaHHe3NkgclsTGTwbeBspF3fiF3lPOT6HTyYPuvHAU6ULHEyks1qKuAymUZevcZxHaFsjD8NcjUvN2rfQHFHSFxnoAWGXxtmQ&h=oQX-EPpprpsk-uVKkvZSNLzoNDdHLSgOXwBBXosp_rY - method: GET - response: - body: |- - { - "name": "4a7c0320-5b36-234c-9db0-86926087ca08", - "status": "InProgress", - "startTime": "2001-02-03T04:05:06Z" - } - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json - Expires: - - "-1" - Pragma: - - no-cache - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "2" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/20037c4a-365b-4c23-9db0-86926087ca08?api-version=2016-03-30&t=638351707501334504&c=MIIHADCCBeigAwIBAgITHgOPMCVriuS4-lWO9AAAA48wJTANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDYwHhcNMjMxMTAxMTk0NDE0WhcNMjQxMDI2MTk0NDE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVYjGR__tDbQAkWmgTzkuhLkeLHMZF4BUrWy0rFsX2EQ-jKcnRoDb5IHA8d5kzQwRSfOsVkMYLJuxNfSVVkrT-2bRtOmLA39FjlxIxE-eeCClqoDypQUkMQFt03BhhgviChly_GAB1VdMVAtOkAqyDD7YkPdR2axUfPszW3havSW-NiPjXkJezv1WPkDjGs7VhIBdJ276lVsVC2AXVfTa_AH34QbGAVCgFq8f8RTHFAF3kuyznwrhR89pSFJZDGMu3zaigorG-qTVP15VUl0SThQRKENFzEVVIr40ndWscX0MCYmJQFpzB426gRb4aM5DABy8TfY3hU0Ma6Pqs5vu0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MB0GA1UdDgQWBBQ2lSwc1_ggaso1He0vGUt5JD_O-zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBTxRmjG8cPwKy19i2rhsvm-NfzRQTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAIw8F0494wN-l6CjjUdzUshsBr2wClEmC0dDhWd1f3feZIai44cKuTS3gtIM6iwdptdi2IL_bKhFk-6Fn-JXtbxsNzIJ8XXeKHhpzJVCU9MsZAFp3UQVp3udzC1s2K_AXSg-OCDXxNEARdl-WK7qOyoEscw8w8gjgQG2Ci1QnqpZZj3XNFuKivIpxFcC8b0hYbFHXp6mX3gSSX-JIvFbcilXTjD7Akh4wCqJ0qr_UVakf6f0hcmwRwI6pxk0EVSIZDDpivRgNJousujO4E5jLDLfevJch5BD-VERxY6bIKFRBYRq5WNGU96UKZ842RWmWmjml7ckpZd5e1UD5ErqHLA&s=4R_g0XDdt6mbBbE-wm9KmtfwHXuoKEU21qYskrqb8vJ-N_xLbOnzrEZJNmINnv9czlnoPnAqg3zboflWgj6kgO0g5B81xS3sHaCylWMf2pgQsMm5sdDZLu3lxH8go1cS0QwAHKr7NRu4hpsvxk5otMBudHTgZvZ4RG_P5mkU3qxYumH53yjkQC9JSrLMMQdtzeVVJB9TQYeIku7rZCOvY14hvMiiDVhlJEuCi49clyWxEZhynsLaklaHHe3NkgclsTGTwbeBspF3fiF3lPOT6HTyYPuvHAU6ULHEyks1qKuAymUZevcZxHaFsjD8NcjUvN2rfQHFHSFxnoAWGXxtmQ&h=oQX-EPpprpsk-uVKkvZSNLzoNDdHLSgOXwBBXosp_rY - method: GET - response: - body: |- - { - "name": "4a7c0320-5b36-234c-9db0-86926087ca08", - "status": "InProgress", - "startTime": "2001-02-03T04:05:06Z" - } - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json - Expires: - - "-1" - Pragma: - - no-cache - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "3" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/20037c4a-365b-4c23-9db0-86926087ca08?api-version=2016-03-30&t=638351707501334504&c=MIIHADCCBeigAwIBAgITHgOPMCVriuS4-lWO9AAAA48wJTANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDYwHhcNMjMxMTAxMTk0NDE0WhcNMjQxMDI2MTk0NDE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVYjGR__tDbQAkWmgTzkuhLkeLHMZF4BUrWy0rFsX2EQ-jKcnRoDb5IHA8d5kzQwRSfOsVkMYLJuxNfSVVkrT-2bRtOmLA39FjlxIxE-eeCClqoDypQUkMQFt03BhhgviChly_GAB1VdMVAtOkAqyDD7YkPdR2axUfPszW3havSW-NiPjXkJezv1WPkDjGs7VhIBdJ276lVsVC2AXVfTa_AH34QbGAVCgFq8f8RTHFAF3kuyznwrhR89pSFJZDGMu3zaigorG-qTVP15VUl0SThQRKENFzEVVIr40ndWscX0MCYmJQFpzB426gRb4aM5DABy8TfY3hU0Ma6Pqs5vu0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MB0GA1UdDgQWBBQ2lSwc1_ggaso1He0vGUt5JD_O-zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBTxRmjG8cPwKy19i2rhsvm-NfzRQTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAIw8F0494wN-l6CjjUdzUshsBr2wClEmC0dDhWd1f3feZIai44cKuTS3gtIM6iwdptdi2IL_bKhFk-6Fn-JXtbxsNzIJ8XXeKHhpzJVCU9MsZAFp3UQVp3udzC1s2K_AXSg-OCDXxNEARdl-WK7qOyoEscw8w8gjgQG2Ci1QnqpZZj3XNFuKivIpxFcC8b0hYbFHXp6mX3gSSX-JIvFbcilXTjD7Akh4wCqJ0qr_UVakf6f0hcmwRwI6pxk0EVSIZDDpivRgNJousujO4E5jLDLfevJch5BD-VERxY6bIKFRBYRq5WNGU96UKZ842RWmWmjml7ckpZd5e1UD5ErqHLA&s=4R_g0XDdt6mbBbE-wm9KmtfwHXuoKEU21qYskrqb8vJ-N_xLbOnzrEZJNmINnv9czlnoPnAqg3zboflWgj6kgO0g5B81xS3sHaCylWMf2pgQsMm5sdDZLu3lxH8go1cS0QwAHKr7NRu4hpsvxk5otMBudHTgZvZ4RG_P5mkU3qxYumH53yjkQC9JSrLMMQdtzeVVJB9TQYeIku7rZCOvY14hvMiiDVhlJEuCi49clyWxEZhynsLaklaHHe3NkgclsTGTwbeBspF3fiF3lPOT6HTyYPuvHAU6ULHEyks1qKuAymUZevcZxHaFsjD8NcjUvN2rfQHFHSFxnoAWGXxtmQ&h=oQX-EPpprpsk-uVKkvZSNLzoNDdHLSgOXwBBXosp_rY - method: GET - response: - body: |- - { - "name": "4a7c0320-5b36-234c-9db0-86926087ca08", - "status": "Succeeded", - "startTime": "2001-02-03T04:05:06Z", - "endTime": "2001-02-03T04:05:06Z" - } - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json - Expires: - - "-1" - Pragma: - - no-cache - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Accept: - - application/json - Test-Request-Attempt: - - "0" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ccnlsk/providers/Microsoft.ContainerService/managedClusters/asotest-mc-qzzywc?api-version=2021-05-01 - method: DELETE - response: - body: "" - headers: - Azure-Asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/fe2c969f-c07f-4e9f-b2d6-ba8948386f7e?api-version=2016-03-30&t=638351707705095411&c=MIIHADCCBeigAwIBAgITHgOPMCVriuS4-lWO9AAAA48wJTANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDYwHhcNMjMxMTAxMTk0NDE0WhcNMjQxMDI2MTk0NDE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVYjGR__tDbQAkWmgTzkuhLkeLHMZF4BUrWy0rFsX2EQ-jKcnRoDb5IHA8d5kzQwRSfOsVkMYLJuxNfSVVkrT-2bRtOmLA39FjlxIxE-eeCClqoDypQUkMQFt03BhhgviChly_GAB1VdMVAtOkAqyDD7YkPdR2axUfPszW3havSW-NiPjXkJezv1WPkDjGs7VhIBdJ276lVsVC2AXVfTa_AH34QbGAVCgFq8f8RTHFAF3kuyznwrhR89pSFJZDGMu3zaigorG-qTVP15VUl0SThQRKENFzEVVIr40ndWscX0MCYmJQFpzB426gRb4aM5DABy8TfY3hU0Ma6Pqs5vu0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MB0GA1UdDgQWBBQ2lSwc1_ggaso1He0vGUt5JD_O-zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBTxRmjG8cPwKy19i2rhsvm-NfzRQTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAIw8F0494wN-l6CjjUdzUshsBr2wClEmC0dDhWd1f3feZIai44cKuTS3gtIM6iwdptdi2IL_bKhFk-6Fn-JXtbxsNzIJ8XXeKHhpzJVCU9MsZAFp3UQVp3udzC1s2K_AXSg-OCDXxNEARdl-WK7qOyoEscw8w8gjgQG2Ci1QnqpZZj3XNFuKivIpxFcC8b0hYbFHXp6mX3gSSX-JIvFbcilXTjD7Akh4wCqJ0qr_UVakf6f0hcmwRwI6pxk0EVSIZDDpivRgNJousujO4E5jLDLfevJch5BD-VERxY6bIKFRBYRq5WNGU96UKZ842RWmWmjml7ckpZd5e1UD5ErqHLA&s=CjfPiypicf8J2IxtITsr8wfG462blIOpZJ870AqnCAmaN77_J-nvyJGZ7mkJ4lAkMlQfXBnCFO-WOmpeeU8r8vyYeOnugK1D85LsL8xbMXLXCWSb7A3JZ3FwpY7AmwS7IwTmyzICSFuJKJNsqPK7FStc3g7JWW2rBlTm7ZYfyALhAVXMFAnNZgyLKT7RNRzOA510nruBZPTKH7TSAYhs577znE1KLTcin74q49XEa_dQ03CKkeCQPIkxguIMucHUUctwrvvjIS9xt5POQplLQUS8eg11390-9auN-56nkBnbQMjiICFt9H3Fx4UYYmEKwF_eC3al73lTNnHbdpvdyg&h=xHfO_d-rMgPn7AK2Amu3PpTO6ZWgzVreGj1de4tPnHk - Cache-Control: - - no-cache - Content-Length: - - "0" - Expires: - - "-1" - Location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operationresults/fe2c969f-c07f-4e9f-b2d6-ba8948386f7e?api-version=2016-03-30&t=638351707705095411&c=MIIHADCCBeigAwIBAgITHgOPMCVriuS4-lWO9AAAA48wJTANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDYwHhcNMjMxMTAxMTk0NDE0WhcNMjQxMDI2MTk0NDE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVYjGR__tDbQAkWmgTzkuhLkeLHMZF4BUrWy0rFsX2EQ-jKcnRoDb5IHA8d5kzQwRSfOsVkMYLJuxNfSVVkrT-2bRtOmLA39FjlxIxE-eeCClqoDypQUkMQFt03BhhgviChly_GAB1VdMVAtOkAqyDD7YkPdR2axUfPszW3havSW-NiPjXkJezv1WPkDjGs7VhIBdJ276lVsVC2AXVfTa_AH34QbGAVCgFq8f8RTHFAF3kuyznwrhR89pSFJZDGMu3zaigorG-qTVP15VUl0SThQRKENFzEVVIr40ndWscX0MCYmJQFpzB426gRb4aM5DABy8TfY3hU0Ma6Pqs5vu0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MB0GA1UdDgQWBBQ2lSwc1_ggaso1He0vGUt5JD_O-zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBTxRmjG8cPwKy19i2rhsvm-NfzRQTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAIw8F0494wN-l6CjjUdzUshsBr2wClEmC0dDhWd1f3feZIai44cKuTS3gtIM6iwdptdi2IL_bKhFk-6Fn-JXtbxsNzIJ8XXeKHhpzJVCU9MsZAFp3UQVp3udzC1s2K_AXSg-OCDXxNEARdl-WK7qOyoEscw8w8gjgQG2Ci1QnqpZZj3XNFuKivIpxFcC8b0hYbFHXp6mX3gSSX-JIvFbcilXTjD7Akh4wCqJ0qr_UVakf6f0hcmwRwI6pxk0EVSIZDDpivRgNJousujO4E5jLDLfevJch5BD-VERxY6bIKFRBYRq5WNGU96UKZ842RWmWmjml7ckpZd5e1UD5ErqHLA&s=UZcqBNd08dmGZ5kCI-llpH_7PVnWdsB6GY-3jTfj88mHmWjqx15l59DDNVulsupAsuSuBizeOM_5gW17Gz4qMcUy6shzmdjbABDSQvhVzevm4Z5b5V1WIJStCaRxJWbuXkzezL9SsL_yHiMLPiCiWnVevzSzS_-SG0qw97yr-esD94GZyxWLPe2qt2v1C68I44NezpeFJn8my1rzMr84s-h8q-95vBexTM1c_UqVkTKOgvUnpjBrC5Hh0GJcxXpyrZddr8aS40h-D_O2eih7DGF9Gb0-Khu_zL2XDPFHQHNbxYPBFGjCD1GjuWQZUgQ5zTfvJh9TsN-RFpFJsFlPwQ&h=bWnKPXUR_lFggXxtzf27d5sT4sHRoxCK1UFAm9sn6E0 - Pragma: - - no-cache - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - X-Content-Type-Options: - - nosniff - status: 202 Accepted - code: 202 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "0" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/fe2c969f-c07f-4e9f-b2d6-ba8948386f7e?api-version=2016-03-30&t=638351707705095411&c=MIIHADCCBeigAwIBAgITHgOPMCVriuS4-lWO9AAAA48wJTANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDYwHhcNMjMxMTAxMTk0NDE0WhcNMjQxMDI2MTk0NDE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVYjGR__tDbQAkWmgTzkuhLkeLHMZF4BUrWy0rFsX2EQ-jKcnRoDb5IHA8d5kzQwRSfOsVkMYLJuxNfSVVkrT-2bRtOmLA39FjlxIxE-eeCClqoDypQUkMQFt03BhhgviChly_GAB1VdMVAtOkAqyDD7YkPdR2axUfPszW3havSW-NiPjXkJezv1WPkDjGs7VhIBdJ276lVsVC2AXVfTa_AH34QbGAVCgFq8f8RTHFAF3kuyznwrhR89pSFJZDGMu3zaigorG-qTVP15VUl0SThQRKENFzEVVIr40ndWscX0MCYmJQFpzB426gRb4aM5DABy8TfY3hU0Ma6Pqs5vu0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MB0GA1UdDgQWBBQ2lSwc1_ggaso1He0vGUt5JD_O-zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBTxRmjG8cPwKy19i2rhsvm-NfzRQTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAIw8F0494wN-l6CjjUdzUshsBr2wClEmC0dDhWd1f3feZIai44cKuTS3gtIM6iwdptdi2IL_bKhFk-6Fn-JXtbxsNzIJ8XXeKHhpzJVCU9MsZAFp3UQVp3udzC1s2K_AXSg-OCDXxNEARdl-WK7qOyoEscw8w8gjgQG2Ci1QnqpZZj3XNFuKivIpxFcC8b0hYbFHXp6mX3gSSX-JIvFbcilXTjD7Akh4wCqJ0qr_UVakf6f0hcmwRwI6pxk0EVSIZDDpivRgNJousujO4E5jLDLfevJch5BD-VERxY6bIKFRBYRq5WNGU96UKZ842RWmWmjml7ckpZd5e1UD5ErqHLA&s=CjfPiypicf8J2IxtITsr8wfG462blIOpZJ870AqnCAmaN77_J-nvyJGZ7mkJ4lAkMlQfXBnCFO-WOmpeeU8r8vyYeOnugK1D85LsL8xbMXLXCWSb7A3JZ3FwpY7AmwS7IwTmyzICSFuJKJNsqPK7FStc3g7JWW2rBlTm7ZYfyALhAVXMFAnNZgyLKT7RNRzOA510nruBZPTKH7TSAYhs577znE1KLTcin74q49XEa_dQ03CKkeCQPIkxguIMucHUUctwrvvjIS9xt5POQplLQUS8eg11390-9auN-56nkBnbQMjiICFt9H3Fx4UYYmEKwF_eC3al73lTNnHbdpvdyg&h=xHfO_d-rMgPn7AK2Amu3PpTO6ZWgzVreGj1de4tPnHk - method: GET - response: - body: |- - { - "name": "9f962cfe-7fc0-9f4e-b2d6-ba8948386f7e", - "status": "InProgress", - "startTime": "2001-02-03T04:05:06Z", - "error": { - "code": "NotLatestOperation", - "message": "Cannot proceed with the operation. Either the operation has been preempted by another one, or the information needed by the operation failed to be saved (or hasn't been saved yet)." - } - } - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json - Expires: - - "-1" - Pragma: - - no-cache - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "1" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/fe2c969f-c07f-4e9f-b2d6-ba8948386f7e?api-version=2016-03-30&t=638351707705095411&c=MIIHADCCBeigAwIBAgITHgOPMCVriuS4-lWO9AAAA48wJTANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDYwHhcNMjMxMTAxMTk0NDE0WhcNMjQxMDI2MTk0NDE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVYjGR__tDbQAkWmgTzkuhLkeLHMZF4BUrWy0rFsX2EQ-jKcnRoDb5IHA8d5kzQwRSfOsVkMYLJuxNfSVVkrT-2bRtOmLA39FjlxIxE-eeCClqoDypQUkMQFt03BhhgviChly_GAB1VdMVAtOkAqyDD7YkPdR2axUfPszW3havSW-NiPjXkJezv1WPkDjGs7VhIBdJ276lVsVC2AXVfTa_AH34QbGAVCgFq8f8RTHFAF3kuyznwrhR89pSFJZDGMu3zaigorG-qTVP15VUl0SThQRKENFzEVVIr40ndWscX0MCYmJQFpzB426gRb4aM5DABy8TfY3hU0Ma6Pqs5vu0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MB0GA1UdDgQWBBQ2lSwc1_ggaso1He0vGUt5JD_O-zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBTxRmjG8cPwKy19i2rhsvm-NfzRQTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAIw8F0494wN-l6CjjUdzUshsBr2wClEmC0dDhWd1f3feZIai44cKuTS3gtIM6iwdptdi2IL_bKhFk-6Fn-JXtbxsNzIJ8XXeKHhpzJVCU9MsZAFp3UQVp3udzC1s2K_AXSg-OCDXxNEARdl-WK7qOyoEscw8w8gjgQG2Ci1QnqpZZj3XNFuKivIpxFcC8b0hYbFHXp6mX3gSSX-JIvFbcilXTjD7Akh4wCqJ0qr_UVakf6f0hcmwRwI6pxk0EVSIZDDpivRgNJousujO4E5jLDLfevJch5BD-VERxY6bIKFRBYRq5WNGU96UKZ842RWmWmjml7ckpZd5e1UD5ErqHLA&s=CjfPiypicf8J2IxtITsr8wfG462blIOpZJ870AqnCAmaN77_J-nvyJGZ7mkJ4lAkMlQfXBnCFO-WOmpeeU8r8vyYeOnugK1D85LsL8xbMXLXCWSb7A3JZ3FwpY7AmwS7IwTmyzICSFuJKJNsqPK7FStc3g7JWW2rBlTm7ZYfyALhAVXMFAnNZgyLKT7RNRzOA510nruBZPTKH7TSAYhs577znE1KLTcin74q49XEa_dQ03CKkeCQPIkxguIMucHUUctwrvvjIS9xt5POQplLQUS8eg11390-9auN-56nkBnbQMjiICFt9H3Fx4UYYmEKwF_eC3al73lTNnHbdpvdyg&h=xHfO_d-rMgPn7AK2Amu3PpTO6ZWgzVreGj1de4tPnHk - method: GET - response: - body: |- - { - "name": "9f962cfe-7fc0-9f4e-b2d6-ba8948386f7e", - "status": "InProgress", - "startTime": "2001-02-03T04:05:06Z", - "error": { - "code": "NotLatestOperation", - "message": "Cannot proceed with the operation. Either the operation has been preempted by another one, or the information needed by the operation failed to be saved (or hasn't been saved yet)." - } - } - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json - Expires: - - "-1" - Pragma: - - no-cache - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "2" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/fe2c969f-c07f-4e9f-b2d6-ba8948386f7e?api-version=2016-03-30&t=638351707705095411&c=MIIHADCCBeigAwIBAgITHgOPMCVriuS4-lWO9AAAA48wJTANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDYwHhcNMjMxMTAxMTk0NDE0WhcNMjQxMDI2MTk0NDE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVYjGR__tDbQAkWmgTzkuhLkeLHMZF4BUrWy0rFsX2EQ-jKcnRoDb5IHA8d5kzQwRSfOsVkMYLJuxNfSVVkrT-2bRtOmLA39FjlxIxE-eeCClqoDypQUkMQFt03BhhgviChly_GAB1VdMVAtOkAqyDD7YkPdR2axUfPszW3havSW-NiPjXkJezv1WPkDjGs7VhIBdJ276lVsVC2AXVfTa_AH34QbGAVCgFq8f8RTHFAF3kuyznwrhR89pSFJZDGMu3zaigorG-qTVP15VUl0SThQRKENFzEVVIr40ndWscX0MCYmJQFpzB426gRb4aM5DABy8TfY3hU0Ma6Pqs5vu0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MB0GA1UdDgQWBBQ2lSwc1_ggaso1He0vGUt5JD_O-zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBTxRmjG8cPwKy19i2rhsvm-NfzRQTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAIw8F0494wN-l6CjjUdzUshsBr2wClEmC0dDhWd1f3feZIai44cKuTS3gtIM6iwdptdi2IL_bKhFk-6Fn-JXtbxsNzIJ8XXeKHhpzJVCU9MsZAFp3UQVp3udzC1s2K_AXSg-OCDXxNEARdl-WK7qOyoEscw8w8gjgQG2Ci1QnqpZZj3XNFuKivIpxFcC8b0hYbFHXp6mX3gSSX-JIvFbcilXTjD7Akh4wCqJ0qr_UVakf6f0hcmwRwI6pxk0EVSIZDDpivRgNJousujO4E5jLDLfevJch5BD-VERxY6bIKFRBYRq5WNGU96UKZ842RWmWmjml7ckpZd5e1UD5ErqHLA&s=CjfPiypicf8J2IxtITsr8wfG462blIOpZJ870AqnCAmaN77_J-nvyJGZ7mkJ4lAkMlQfXBnCFO-WOmpeeU8r8vyYeOnugK1D85LsL8xbMXLXCWSb7A3JZ3FwpY7AmwS7IwTmyzICSFuJKJNsqPK7FStc3g7JWW2rBlTm7ZYfyALhAVXMFAnNZgyLKT7RNRzOA510nruBZPTKH7TSAYhs577znE1KLTcin74q49XEa_dQ03CKkeCQPIkxguIMucHUUctwrvvjIS9xt5POQplLQUS8eg11390-9auN-56nkBnbQMjiICFt9H3Fx4UYYmEKwF_eC3al73lTNnHbdpvdyg&h=xHfO_d-rMgPn7AK2Amu3PpTO6ZWgzVreGj1de4tPnHk - method: GET - response: - body: |- - { - "name": "9f962cfe-7fc0-9f4e-b2d6-ba8948386f7e", - "status": "InProgress", - "startTime": "2001-02-03T04:05:06Z", - "error": { - "code": "NotLatestOperation", - "message": "Cannot proceed with the operation. Either the operation has been preempted by another one, or the information needed by the operation failed to be saved (or hasn't been saved yet)." - } - } - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json - Expires: - - "-1" - Pragma: - - no-cache - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "3" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/fe2c969f-c07f-4e9f-b2d6-ba8948386f7e?api-version=2016-03-30&t=638351707705095411&c=MIIHADCCBeigAwIBAgITHgOPMCVriuS4-lWO9AAAA48wJTANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDYwHhcNMjMxMTAxMTk0NDE0WhcNMjQxMDI2MTk0NDE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVYjGR__tDbQAkWmgTzkuhLkeLHMZF4BUrWy0rFsX2EQ-jKcnRoDb5IHA8d5kzQwRSfOsVkMYLJuxNfSVVkrT-2bRtOmLA39FjlxIxE-eeCClqoDypQUkMQFt03BhhgviChly_GAB1VdMVAtOkAqyDD7YkPdR2axUfPszW3havSW-NiPjXkJezv1WPkDjGs7VhIBdJ276lVsVC2AXVfTa_AH34QbGAVCgFq8f8RTHFAF3kuyznwrhR89pSFJZDGMu3zaigorG-qTVP15VUl0SThQRKENFzEVVIr40ndWscX0MCYmJQFpzB426gRb4aM5DABy8TfY3hU0Ma6Pqs5vu0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MB0GA1UdDgQWBBQ2lSwc1_ggaso1He0vGUt5JD_O-zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBTxRmjG8cPwKy19i2rhsvm-NfzRQTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAIw8F0494wN-l6CjjUdzUshsBr2wClEmC0dDhWd1f3feZIai44cKuTS3gtIM6iwdptdi2IL_bKhFk-6Fn-JXtbxsNzIJ8XXeKHhpzJVCU9MsZAFp3UQVp3udzC1s2K_AXSg-OCDXxNEARdl-WK7qOyoEscw8w8gjgQG2Ci1QnqpZZj3XNFuKivIpxFcC8b0hYbFHXp6mX3gSSX-JIvFbcilXTjD7Akh4wCqJ0qr_UVakf6f0hcmwRwI6pxk0EVSIZDDpivRgNJousujO4E5jLDLfevJch5BD-VERxY6bIKFRBYRq5WNGU96UKZ842RWmWmjml7ckpZd5e1UD5ErqHLA&s=CjfPiypicf8J2IxtITsr8wfG462blIOpZJ870AqnCAmaN77_J-nvyJGZ7mkJ4lAkMlQfXBnCFO-WOmpeeU8r8vyYeOnugK1D85LsL8xbMXLXCWSb7A3JZ3FwpY7AmwS7IwTmyzICSFuJKJNsqPK7FStc3g7JWW2rBlTm7ZYfyALhAVXMFAnNZgyLKT7RNRzOA510nruBZPTKH7TSAYhs577znE1KLTcin74q49XEa_dQ03CKkeCQPIkxguIMucHUUctwrvvjIS9xt5POQplLQUS8eg11390-9auN-56nkBnbQMjiICFt9H3Fx4UYYmEKwF_eC3al73lTNnHbdpvdyg&h=xHfO_d-rMgPn7AK2Amu3PpTO6ZWgzVreGj1de4tPnHk - method: GET - response: - body: |- - { - "name": "9f962cfe-7fc0-9f4e-b2d6-ba8948386f7e", - "status": "InProgress", - "startTime": "2001-02-03T04:05:06Z", - "error": { - "code": "NotLatestOperation", - "message": "Cannot proceed with the operation. Either the operation has been preempted by another one, or the information needed by the operation failed to be saved (or hasn't been saved yet)." - } - } - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json - Expires: - - "-1" - Pragma: - - no-cache - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "4" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/fe2c969f-c07f-4e9f-b2d6-ba8948386f7e?api-version=2016-03-30&t=638351707705095411&c=MIIHADCCBeigAwIBAgITHgOPMCVriuS4-lWO9AAAA48wJTANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDYwHhcNMjMxMTAxMTk0NDE0WhcNMjQxMDI2MTk0NDE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVYjGR__tDbQAkWmgTzkuhLkeLHMZF4BUrWy0rFsX2EQ-jKcnRoDb5IHA8d5kzQwRSfOsVkMYLJuxNfSVVkrT-2bRtOmLA39FjlxIxE-eeCClqoDypQUkMQFt03BhhgviChly_GAB1VdMVAtOkAqyDD7YkPdR2axUfPszW3havSW-NiPjXkJezv1WPkDjGs7VhIBdJ276lVsVC2AXVfTa_AH34QbGAVCgFq8f8RTHFAF3kuyznwrhR89pSFJZDGMu3zaigorG-qTVP15VUl0SThQRKENFzEVVIr40ndWscX0MCYmJQFpzB426gRb4aM5DABy8TfY3hU0Ma6Pqs5vu0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MB0GA1UdDgQWBBQ2lSwc1_ggaso1He0vGUt5JD_O-zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBTxRmjG8cPwKy19i2rhsvm-NfzRQTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAIw8F0494wN-l6CjjUdzUshsBr2wClEmC0dDhWd1f3feZIai44cKuTS3gtIM6iwdptdi2IL_bKhFk-6Fn-JXtbxsNzIJ8XXeKHhpzJVCU9MsZAFp3UQVp3udzC1s2K_AXSg-OCDXxNEARdl-WK7qOyoEscw8w8gjgQG2Ci1QnqpZZj3XNFuKivIpxFcC8b0hYbFHXp6mX3gSSX-JIvFbcilXTjD7Akh4wCqJ0qr_UVakf6f0hcmwRwI6pxk0EVSIZDDpivRgNJousujO4E5jLDLfevJch5BD-VERxY6bIKFRBYRq5WNGU96UKZ842RWmWmjml7ckpZd5e1UD5ErqHLA&s=CjfPiypicf8J2IxtITsr8wfG462blIOpZJ870AqnCAmaN77_J-nvyJGZ7mkJ4lAkMlQfXBnCFO-WOmpeeU8r8vyYeOnugK1D85LsL8xbMXLXCWSb7A3JZ3FwpY7AmwS7IwTmyzICSFuJKJNsqPK7FStc3g7JWW2rBlTm7ZYfyALhAVXMFAnNZgyLKT7RNRzOA510nruBZPTKH7TSAYhs577znE1KLTcin74q49XEa_dQ03CKkeCQPIkxguIMucHUUctwrvvjIS9xt5POQplLQUS8eg11390-9auN-56nkBnbQMjiICFt9H3Fx4UYYmEKwF_eC3al73lTNnHbdpvdyg&h=xHfO_d-rMgPn7AK2Amu3PpTO6ZWgzVreGj1de4tPnHk - method: GET - response: - body: |- - { - "name": "9f962cfe-7fc0-9f4e-b2d6-ba8948386f7e", - "status": "InProgress", - "startTime": "2001-02-03T04:05:06Z", - "error": { - "code": "NotLatestOperation", - "message": "Cannot proceed with the operation. Either the operation has been preempted by another one, or the information needed by the operation failed to be saved (or hasn't been saved yet)." - } - } - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json - Expires: - - "-1" - Pragma: - - no-cache - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "5" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/fe2c969f-c07f-4e9f-b2d6-ba8948386f7e?api-version=2016-03-30&t=638351707705095411&c=MIIHADCCBeigAwIBAgITHgOPMCVriuS4-lWO9AAAA48wJTANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDYwHhcNMjMxMTAxMTk0NDE0WhcNMjQxMDI2MTk0NDE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVYjGR__tDbQAkWmgTzkuhLkeLHMZF4BUrWy0rFsX2EQ-jKcnRoDb5IHA8d5kzQwRSfOsVkMYLJuxNfSVVkrT-2bRtOmLA39FjlxIxE-eeCClqoDypQUkMQFt03BhhgviChly_GAB1VdMVAtOkAqyDD7YkPdR2axUfPszW3havSW-NiPjXkJezv1WPkDjGs7VhIBdJ276lVsVC2AXVfTa_AH34QbGAVCgFq8f8RTHFAF3kuyznwrhR89pSFJZDGMu3zaigorG-qTVP15VUl0SThQRKENFzEVVIr40ndWscX0MCYmJQFpzB426gRb4aM5DABy8TfY3hU0Ma6Pqs5vu0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MB0GA1UdDgQWBBQ2lSwc1_ggaso1He0vGUt5JD_O-zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBTxRmjG8cPwKy19i2rhsvm-NfzRQTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAIw8F0494wN-l6CjjUdzUshsBr2wClEmC0dDhWd1f3feZIai44cKuTS3gtIM6iwdptdi2IL_bKhFk-6Fn-JXtbxsNzIJ8XXeKHhpzJVCU9MsZAFp3UQVp3udzC1s2K_AXSg-OCDXxNEARdl-WK7qOyoEscw8w8gjgQG2Ci1QnqpZZj3XNFuKivIpxFcC8b0hYbFHXp6mX3gSSX-JIvFbcilXTjD7Akh4wCqJ0qr_UVakf6f0hcmwRwI6pxk0EVSIZDDpivRgNJousujO4E5jLDLfevJch5BD-VERxY6bIKFRBYRq5WNGU96UKZ842RWmWmjml7ckpZd5e1UD5ErqHLA&s=CjfPiypicf8J2IxtITsr8wfG462blIOpZJ870AqnCAmaN77_J-nvyJGZ7mkJ4lAkMlQfXBnCFO-WOmpeeU8r8vyYeOnugK1D85LsL8xbMXLXCWSb7A3JZ3FwpY7AmwS7IwTmyzICSFuJKJNsqPK7FStc3g7JWW2rBlTm7ZYfyALhAVXMFAnNZgyLKT7RNRzOA510nruBZPTKH7TSAYhs577znE1KLTcin74q49XEa_dQ03CKkeCQPIkxguIMucHUUctwrvvjIS9xt5POQplLQUS8eg11390-9auN-56nkBnbQMjiICFt9H3Fx4UYYmEKwF_eC3al73lTNnHbdpvdyg&h=xHfO_d-rMgPn7AK2Amu3PpTO6ZWgzVreGj1de4tPnHk - method: GET - response: - body: |- - { - "name": "9f962cfe-7fc0-9f4e-b2d6-ba8948386f7e", - "status": "InProgress", - "startTime": "2001-02-03T04:05:06Z", - "error": { - "code": "NotLatestOperation", - "message": "Cannot proceed with the operation. Either the operation has been preempted by another one, or the information needed by the operation failed to be saved (or hasn't been saved yet)." - } - } - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json - Expires: - - "-1" - Pragma: - - no-cache - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "6" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/fe2c969f-c07f-4e9f-b2d6-ba8948386f7e?api-version=2016-03-30&t=638351707705095411&c=MIIHADCCBeigAwIBAgITHgOPMCVriuS4-lWO9AAAA48wJTANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDYwHhcNMjMxMTAxMTk0NDE0WhcNMjQxMDI2MTk0NDE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVYjGR__tDbQAkWmgTzkuhLkeLHMZF4BUrWy0rFsX2EQ-jKcnRoDb5IHA8d5kzQwRSfOsVkMYLJuxNfSVVkrT-2bRtOmLA39FjlxIxE-eeCClqoDypQUkMQFt03BhhgviChly_GAB1VdMVAtOkAqyDD7YkPdR2axUfPszW3havSW-NiPjXkJezv1WPkDjGs7VhIBdJ276lVsVC2AXVfTa_AH34QbGAVCgFq8f8RTHFAF3kuyznwrhR89pSFJZDGMu3zaigorG-qTVP15VUl0SThQRKENFzEVVIr40ndWscX0MCYmJQFpzB426gRb4aM5DABy8TfY3hU0Ma6Pqs5vu0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MB0GA1UdDgQWBBQ2lSwc1_ggaso1He0vGUt5JD_O-zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBTxRmjG8cPwKy19i2rhsvm-NfzRQTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAIw8F0494wN-l6CjjUdzUshsBr2wClEmC0dDhWd1f3feZIai44cKuTS3gtIM6iwdptdi2IL_bKhFk-6Fn-JXtbxsNzIJ8XXeKHhpzJVCU9MsZAFp3UQVp3udzC1s2K_AXSg-OCDXxNEARdl-WK7qOyoEscw8w8gjgQG2Ci1QnqpZZj3XNFuKivIpxFcC8b0hYbFHXp6mX3gSSX-JIvFbcilXTjD7Akh4wCqJ0qr_UVakf6f0hcmwRwI6pxk0EVSIZDDpivRgNJousujO4E5jLDLfevJch5BD-VERxY6bIKFRBYRq5WNGU96UKZ842RWmWmjml7ckpZd5e1UD5ErqHLA&s=CjfPiypicf8J2IxtITsr8wfG462blIOpZJ870AqnCAmaN77_J-nvyJGZ7mkJ4lAkMlQfXBnCFO-WOmpeeU8r8vyYeOnugK1D85LsL8xbMXLXCWSb7A3JZ3FwpY7AmwS7IwTmyzICSFuJKJNsqPK7FStc3g7JWW2rBlTm7ZYfyALhAVXMFAnNZgyLKT7RNRzOA510nruBZPTKH7TSAYhs577znE1KLTcin74q49XEa_dQ03CKkeCQPIkxguIMucHUUctwrvvjIS9xt5POQplLQUS8eg11390-9auN-56nkBnbQMjiICFt9H3Fx4UYYmEKwF_eC3al73lTNnHbdpvdyg&h=xHfO_d-rMgPn7AK2Amu3PpTO6ZWgzVreGj1de4tPnHk - method: GET - response: - body: |- - { - "name": "9f962cfe-7fc0-9f4e-b2d6-ba8948386f7e", - "status": "InProgress", - "startTime": "2001-02-03T04:05:06Z", - "error": { - "code": "NotLatestOperation", - "message": "Cannot proceed with the operation. Either the operation has been preempted by another one, or the information needed by the operation failed to be saved (or hasn't been saved yet)." - } - } - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json - Expires: - - "-1" - Pragma: - - no-cache - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "7" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/fe2c969f-c07f-4e9f-b2d6-ba8948386f7e?api-version=2016-03-30&t=638351707705095411&c=MIIHADCCBeigAwIBAgITHgOPMCVriuS4-lWO9AAAA48wJTANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDYwHhcNMjMxMTAxMTk0NDE0WhcNMjQxMDI2MTk0NDE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVYjGR__tDbQAkWmgTzkuhLkeLHMZF4BUrWy0rFsX2EQ-jKcnRoDb5IHA8d5kzQwRSfOsVkMYLJuxNfSVVkrT-2bRtOmLA39FjlxIxE-eeCClqoDypQUkMQFt03BhhgviChly_GAB1VdMVAtOkAqyDD7YkPdR2axUfPszW3havSW-NiPjXkJezv1WPkDjGs7VhIBdJ276lVsVC2AXVfTa_AH34QbGAVCgFq8f8RTHFAF3kuyznwrhR89pSFJZDGMu3zaigorG-qTVP15VUl0SThQRKENFzEVVIr40ndWscX0MCYmJQFpzB426gRb4aM5DABy8TfY3hU0Ma6Pqs5vu0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MB0GA1UdDgQWBBQ2lSwc1_ggaso1He0vGUt5JD_O-zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBTxRmjG8cPwKy19i2rhsvm-NfzRQTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAIw8F0494wN-l6CjjUdzUshsBr2wClEmC0dDhWd1f3feZIai44cKuTS3gtIM6iwdptdi2IL_bKhFk-6Fn-JXtbxsNzIJ8XXeKHhpzJVCU9MsZAFp3UQVp3udzC1s2K_AXSg-OCDXxNEARdl-WK7qOyoEscw8w8gjgQG2Ci1QnqpZZj3XNFuKivIpxFcC8b0hYbFHXp6mX3gSSX-JIvFbcilXTjD7Akh4wCqJ0qr_UVakf6f0hcmwRwI6pxk0EVSIZDDpivRgNJousujO4E5jLDLfevJch5BD-VERxY6bIKFRBYRq5WNGU96UKZ842RWmWmjml7ckpZd5e1UD5ErqHLA&s=CjfPiypicf8J2IxtITsr8wfG462blIOpZJ870AqnCAmaN77_J-nvyJGZ7mkJ4lAkMlQfXBnCFO-WOmpeeU8r8vyYeOnugK1D85LsL8xbMXLXCWSb7A3JZ3FwpY7AmwS7IwTmyzICSFuJKJNsqPK7FStc3g7JWW2rBlTm7ZYfyALhAVXMFAnNZgyLKT7RNRzOA510nruBZPTKH7TSAYhs577znE1KLTcin74q49XEa_dQ03CKkeCQPIkxguIMucHUUctwrvvjIS9xt5POQplLQUS8eg11390-9auN-56nkBnbQMjiICFt9H3Fx4UYYmEKwF_eC3al73lTNnHbdpvdyg&h=xHfO_d-rMgPn7AK2Amu3PpTO6ZWgzVreGj1de4tPnHk - method: GET - response: - body: |- - { - "name": "9f962cfe-7fc0-9f4e-b2d6-ba8948386f7e", - "status": "Succeeded", - "startTime": "2001-02-03T04:05:06Z", - "endTime": "2001-02-03T04:05:06Z", - "error": { - "code": "NotLatestOperation", - "message": "Cannot proceed with the operation. Either the operation has been preempted by another one, or the information needed by the operation failed to be saved (or hasn't been saved yet)." - } - } - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json - Expires: - - "-1" - Pragma: - - no-cache - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Accept: - - application/json - Test-Request-Attempt: - - "0" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asotest-rg-ccnlsk/providers/Microsoft.ContainerService/managedClusters/asotest-mc-qzzywc?api-version=2021-05-01 - method: GET - response: - body: '{"error":{"code":"ResourceNotFound","message":"The Resource ''Microsoft.ContainerService/managedClusters/asotest-mc-qzzywc'' - under resource group ''asotest-rg-ccnlsk'' was not found. For more details please - go to https://aka.ms/ARMResourceNotFoundFix"}}' - headers: - Cache-Control: - - no-cache - Content-Length: - - "249" - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - X-Content-Type-Options: - - nosniff - X-Ms-Failure-Cause: - - gateway - status: 404 Not Found - code: 404 - duration: "" -- request: - body: "" - form: {} - headers: - Accept: - - application/json - Test-Request-Attempt: - - "0" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ccnlsk?api-version=2020-06-01 - method: DELETE - response: - body: "" - headers: - Cache-Control: - - no-cache - Content-Length: - - "0" - Expires: - - "-1" - Location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRDQ05MU0stV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638351709608450318&c=MIIHADCCBeigAwIBAgITHgOPMCVriuS4-lWO9AAAA48wJTANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDYwHhcNMjMxMTAxMTk0NDE0WhcNMjQxMDI2MTk0NDE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVYjGR__tDbQAkWmgTzkuhLkeLHMZF4BUrWy0rFsX2EQ-jKcnRoDb5IHA8d5kzQwRSfOsVkMYLJuxNfSVVkrT-2bRtOmLA39FjlxIxE-eeCClqoDypQUkMQFt03BhhgviChly_GAB1VdMVAtOkAqyDD7YkPdR2axUfPszW3havSW-NiPjXkJezv1WPkDjGs7VhIBdJ276lVsVC2AXVfTa_AH34QbGAVCgFq8f8RTHFAF3kuyznwrhR89pSFJZDGMu3zaigorG-qTVP15VUl0SThQRKENFzEVVIr40ndWscX0MCYmJQFpzB426gRb4aM5DABy8TfY3hU0Ma6Pqs5vu0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MB0GA1UdDgQWBBQ2lSwc1_ggaso1He0vGUt5JD_O-zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBTxRmjG8cPwKy19i2rhsvm-NfzRQTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAIw8F0494wN-l6CjjUdzUshsBr2wClEmC0dDhWd1f3feZIai44cKuTS3gtIM6iwdptdi2IL_bKhFk-6Fn-JXtbxsNzIJ8XXeKHhpzJVCU9MsZAFp3UQVp3udzC1s2K_AXSg-OCDXxNEARdl-WK7qOyoEscw8w8gjgQG2Ci1QnqpZZj3XNFuKivIpxFcC8b0hYbFHXp6mX3gSSX-JIvFbcilXTjD7Akh4wCqJ0qr_UVakf6f0hcmwRwI6pxk0EVSIZDDpivRgNJousujO4E5jLDLfevJch5BD-VERxY6bIKFRBYRq5WNGU96UKZ842RWmWmjml7ckpZd5e1UD5ErqHLA&s=qYRaDejop5x47j62xa1aSzFxHL3R28yefmlFPlUYQ6aTEdiZY1a0bMWC4XXNcp1G702gwct5GISQ5sP5UGqLNmM20xcfDMjRoZXO-lFhrKod36ydo6KPkG4uWQaK2yB_UNCNPlDQcSivTXd04Gh6Wdg_G3p--nbbB2euDVaHDMOa31k-mx0FhS_brlg7LdUuOKyDA1ynrdQLWHlre1E9ANLCs0H-KkoTvcjq24r2GUPTzR7R1moWVyrBRfVD3avqGr6xQf1TG2R0xXD6Ye8M-tF0M0N6TQfkAU6Wt0PJp2Dsa7wMFbSMLE7cXBXwMBXLzQZfNe1VcHWGJ-gkCJqNNw&h=b40IHWX8KdvOMoJfjyp4LbkcEMRlpF-J1PjhwVy7-l4 - Pragma: - - no-cache - Retry-After: - - "15" - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - X-Content-Type-Options: - - nosniff - status: 202 Accepted - code: 202 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "0" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRDQ05MU0stV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638351709608450318&c=MIIHADCCBeigAwIBAgITHgOPMCVriuS4-lWO9AAAA48wJTANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDYwHhcNMjMxMTAxMTk0NDE0WhcNMjQxMDI2MTk0NDE0WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVYjGR__tDbQAkWmgTzkuhLkeLHMZF4BUrWy0rFsX2EQ-jKcnRoDb5IHA8d5kzQwRSfOsVkMYLJuxNfSVVkrT-2bRtOmLA39FjlxIxE-eeCClqoDypQUkMQFt03BhhgviChly_GAB1VdMVAtOkAqyDD7YkPdR2axUfPszW3havSW-NiPjXkJezv1WPkDjGs7VhIBdJ276lVsVC2AXVfTa_AH34QbGAVCgFq8f8RTHFAF3kuyznwrhR89pSFJZDGMu3zaigorG-qTVP15VUl0SThQRKENFzEVVIr40ndWscX0MCYmJQFpzB426gRb4aM5DABy8TfY3hU0Ma6Pqs5vu0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MB0GA1UdDgQWBBQ2lSwc1_ggaso1He0vGUt5JD_O-zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBTxRmjG8cPwKy19i2rhsvm-NfzRQTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAIw8F0494wN-l6CjjUdzUshsBr2wClEmC0dDhWd1f3feZIai44cKuTS3gtIM6iwdptdi2IL_bKhFk-6Fn-JXtbxsNzIJ8XXeKHhpzJVCU9MsZAFp3UQVp3udzC1s2K_AXSg-OCDXxNEARdl-WK7qOyoEscw8w8gjgQG2Ci1QnqpZZj3XNFuKivIpxFcC8b0hYbFHXp6mX3gSSX-JIvFbcilXTjD7Akh4wCqJ0qr_UVakf6f0hcmwRwI6pxk0EVSIZDDpivRgNJousujO4E5jLDLfevJch5BD-VERxY6bIKFRBYRq5WNGU96UKZ842RWmWmjml7ckpZd5e1UD5ErqHLA&s=qYRaDejop5x47j62xa1aSzFxHL3R28yefmlFPlUYQ6aTEdiZY1a0bMWC4XXNcp1G702gwct5GISQ5sP5UGqLNmM20xcfDMjRoZXO-lFhrKod36ydo6KPkG4uWQaK2yB_UNCNPlDQcSivTXd04Gh6Wdg_G3p--nbbB2euDVaHDMOa31k-mx0FhS_brlg7LdUuOKyDA1ynrdQLWHlre1E9ANLCs0H-KkoTvcjq24r2GUPTzR7R1moWVyrBRfVD3avqGr6xQf1TG2R0xXD6Ye8M-tF0M0N6TQfkAU6Wt0PJp2Dsa7wMFbSMLE7cXBXwMBXLzQZfNe1VcHWGJ-gkCJqNNw&h=b40IHWX8KdvOMoJfjyp4LbkcEMRlpF-J1PjhwVy7-l4 - method: GET - response: - body: "" - headers: - Cache-Control: - - no-cache - Content-Length: - - "0" - Expires: - - "-1" - Pragma: - - no-cache - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" diff --git a/v2/internal/controllers/recordings/Test_AKS_ManagedCluster_20240901_CRUD.yaml b/v2/internal/controllers/recordings/Test_AKS_ManagedCluster_20240901_CRUD.yaml new file mode 100644 index 00000000000..4e484a319cc --- /dev/null +++ b/v2/internal/controllers/recordings/Test_AKS_ManagedCluster_20240901_CRUD.yaml @@ -0,0 +1,6072 @@ +--- +version: 2 +interactions: + - id: 0 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 93 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: '{"location":"westus3","name":"asotest-rg-nyuvpf","tags":{"CreatedAt":"2001-02-03T04:05:06Z"}}' + form: {} + headers: + Accept: + - application/json + Content-Length: + - "93" + Content-Type: + - application/json + Test-Request-Hash: + - 52aa9c54b8d706b19df4c4d409e3949b4990f142393230a9e409f004dbe27878 + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-nyuvpf?api-version=2020-06-01 + method: PUT + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 276 + uncompressed: false + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-nyuvpf","name":"asotest-rg-nyuvpf","type":"Microsoft.Resources/resourceGroups","location":"westus3","tags":{"CreatedAt":"2001-02-03T04:05:06Z"},"properties":{"provisioningState":"Succeeded"}}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "276" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Writes: + - "11999" + X-Msedge-Ref: + - 'Ref A: 06DF6F935D3648FEBDCDBFB9B5806F85 Ref B: CO6AA3150220035 Ref C: 2024-11-05T23:34:33Z' + status: 201 Created + code: 201 + duration: 319.481191ms + - id: 1 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-nyuvpf?api-version=2020-06-01 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 276 + uncompressed: false + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-nyuvpf","name":"asotest-rg-nyuvpf","type":"Microsoft.Resources/resourceGroups","location":"westus3","tags":{"CreatedAt":"2001-02-03T04:05:06Z"},"properties":{"provisioningState":"Succeeded"}}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "276" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: F97BFE77B8E34080B49F5814E1812477 Ref B: CO6AA3150220035 Ref C: 2024-11-05T23:34:33Z' + status: 200 OK + code: 200 + duration: 63.424735ms + - id: 2 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-nyuvpf/providers/Microsoft.ContainerService/managedClusters/asotest-mc-gtbfrk?api-version=2024-09-01 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 249 + uncompressed: false + body: '{"error":{"code":"ResourceNotFound","message":"The Resource ''Microsoft.ContainerService/managedClusters/asotest-mc-gtbfrk'' under resource group ''asotest-rg-nyuvpf'' was not found. For more details please go to https://aka.ms/ARMResourceNotFoundFix"}}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "249" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Failure-Cause: + - gateway + X-Msedge-Ref: + - 'Ref A: 75CB57AE82F24F7BB1528E11FB5CBD38 Ref B: CO6AA3150220035 Ref C: 2024-11-05T23:34:35Z' + status: 404 Not Found + code: 404 + duration: 63.761137ms + - id: 3 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 401 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: '{"identity":{"delegatedResources":null,"type":"SystemAssigned"},"location":"westus3","name":"asotest-mc-gtbfrk","properties":{"addonProfiles":null,"agentPoolProfiles":[{"availabilityZones":null,"count":1,"mode":"System","name":"ap1","nodeLabels":{},"nodeTaints":[],"osType":"Linux","tags":{},"vmSize":"Standard_DS2_v2"}],"dnsPrefix":"aso","identityProfile":null,"privateLinkResources":null},"tags":{}}' + form: {} + headers: + Accept: + - application/json + Content-Length: + - "401" + Content-Type: + - application/json + Test-Request-Hash: + - a8c82de5110a2591751c9d58107616ff4ab9636c45126e2975579326164b11a9 + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-nyuvpf/providers/Microsoft.ContainerService/managedClusters/asotest-mc-gtbfrk?api-version=2024-09-01 + method: PUT + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 2773 + uncompressed: false + body: |- + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asotest-rg-nyuvpf/providers/Microsoft.ContainerService/managedClusters/asotest-mc-gtbfrk", + "location": "westus3", + "name": "asotest-mc-gtbfrk", + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Creating", + "powerState": { + "code": "Running" + }, + "kubernetesVersion": "1.29", + "currentKubernetesVersion": "1.29.9", + "dnsPrefix": "aso", + "fqdn": "aso-ooytoapf.hcp.westus3.azmk8s.io", + "azurePortalFQDN": "aso-ooytoapf.portal.hcp.westus3.azmk8s.io", + "agentPoolProfiles": [ + { + "name": "ap1", + "count": 1, + "vmSize": "Standard_DS2_v2", + "osDiskSizeGB": 128, + "osDiskType": "Managed", + "kubeletDiskType": "OS", + "maxPods": 110, + "type": "VirtualMachineScaleSets", + "provisioningState": "Creating", + "powerState": { + "code": "Running" + }, + "orchestratorVersion": "1.29", + "currentOrchestratorVersion": "1.29.9", + "enableNodePublicIP": false, + "tags": {}, + "nodeLabels": {}, + "mode": "System", + "osType": "Linux", + "osSKU": "Ubuntu", + "nodeImageVersion": "AKSUbuntu-2204gen2containerd-202410.15.0", + "upgradeSettings": { + "maxSurge": "10%" + }, + "enableFIPS": false, + "securityProfile": { + "enableVTPM": false, + "enableSecureBoot": false + } + } + ], + "servicePrincipalProfile": { + "clientId": "msi" + }, + "nodeResourceGroup": "MC_asotest-rg-nyuvpf_asotest-mc-gtbfrk_westus3", + "enableRBAC": true, + "supportPlan": "KubernetesOfficial", + "networkProfile": { + "networkPlugin": "kubenet", + "networkPolicy": "none", + "loadBalancerSku": "standard", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 1 + }, + "backendPoolType": "nodeIPConfiguration" + }, + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ] + }, + "maxAgentPools": 100, + "autoUpgradeProfile": { + "nodeOSUpgradeChannel": "NodeImage" + }, + "securityProfile": {}, + "storageProfile": { + "diskCSIDriver": { + "enabled": true + }, + "fileCSIDriver": { + "enabled": true + }, + "snapshotController": { + "enabled": true + } + }, + "oidcIssuerProfile": { + "enabled": false + }, + "workloadAutoScalerProfile": {}, + "resourceUID": "672aab91e643240001f49152", + "metricsProfile": { + "costAnalysis": { + "enabled": false + } + } + }, + "identity": { + "type": "SystemAssigned", + "principalId": "0f438866-e6c0-46ac-9948-e6462467eb36", + "tenantId": "00000000-0000-0000-0000-000000000000" + }, + "sku": { + "name": "Base", + "tier": "Free" + } + } + headers: + Azure-Asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/1f558ff9-936d-450b-93e4-6016b1259a18?api-version=2016-03-30&t=638664464824751274&c=MIIHpTCCBo2gAwIBAgITOgM6dTLGpzYZpvPtgQAEAzp1MjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjQwNjI2MDEzMjIxWhcNMjUwNjIxMDEzMjIxWjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPPPKY5bDN03KptFFhiyLIyn86BlrXYFIZWYXA-hY7_WbLyWN0IxcLIUBW_I-9u-YsXOHk9WPMlUYHIFPgHW7A3FsSGfl9dd6YGapKoSSw0NkTpNXM58R54BBgLp7AhiWzK15D9T-XELNSU4Wq9sEeA5T24kazcgS2MUkzELH0I9dwu7g0dwJIuIJkoJjEzg1b1Q3Ie5HKHHNbjottJn7Q5LBS-9QtQyruuwaNTgSJpCoi4PBKVIOTBYL_Nv1wecmKmfWcT0mnhQE9zjhJTbcoN9hKSvAMqsDHtxWUFZosiw3JKIY0zb59CrVGSuOhfN3qaarwN9EAlXLqc4ZyKpsTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBRk_38CqdKjPVylWUR4uuqhbFGeHTAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEATAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAFsx7FtYAzSo98T5ydNFa0ukjPZ6XCQc9zo7ldqy235P_zJAUkaNgCU4EGOzbZJDoMa8mAfhyukL_0GfPeApUaY2e44ZOzoYAkeEuDiwcs-9zoQ1fCyXhn0pCumGFXRilX9KjAPaYTzDvQMEllTy_ZViwTahuKaGtFVamZguBPdaeYC_0oybtTVNQCs8hGnffhNZOMASB-5pFs35MNxsDWTVIQksDee419jqpsbWLkh6rnanILO1O_ihwb-WpvRQByQ5NGpG1-z0MQ6nRpr9wWxUi-DsrVsD38NTMIPc2uei4Ivf6qnGRvOOj0fmsciWuTTEXMaD-5a81mGlzhZc09Q&s=b-6_q6rDHYvyAaJb0uRPq4iEW9cG7mKSJU6oCewkNjJT6-7-8UXQTmQeUmN4_BptJ3FX62KpBMuHABM-SWvJFXbSZtOgVxGvKd3ywNqUg10BeonErhs-IZZvIyXMHPXvk7qLR9ks0f04WE-tgwPmjdlayNRJWKIjHi2qmGhK7D8-tgBev7v7-Y4M4G-RIZ9pbpzDnskrDyoWD2QU5-7A1sRKinqF4sPaxMwy2poGFAqYQ2u4eeTLNh-pco8Ytp1aAYexCeBqueGSoOn0g0DBcb6RVkq6Trbry5bHRtFIuL8Dc1ty8qw5I4Bt945jFP0aj-dTHqxSTDPV6ZCvxrAVzg&h=IyO_TGSq_PEMWrAXrwulUduX9GknNJ7O8NPGZi31Ra4 + Cache-Control: + - no-cache + Content-Length: + - "2773" + Content-Type: + - application/json + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Writes: + - "12000" + X-Msedge-Ref: + - 'Ref A: 1D1ECF096E9D4B0ABBE672B01704BB66 Ref B: CO6AA3150220035 Ref C: 2024-11-05T23:34:36Z' + status: 201 Created + code: 201 + duration: 6.470764969s + - id: 4 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/1f558ff9-936d-450b-93e4-6016b1259a18?api-version=2016-03-30&t=638664464824751274&c=MIIHpTCCBo2gAwIBAgITOgM6dTLGpzYZpvPtgQAEAzp1MjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjQwNjI2MDEzMjIxWhcNMjUwNjIxMDEzMjIxWjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPPPKY5bDN03KptFFhiyLIyn86BlrXYFIZWYXA-hY7_WbLyWN0IxcLIUBW_I-9u-YsXOHk9WPMlUYHIFPgHW7A3FsSGfl9dd6YGapKoSSw0NkTpNXM58R54BBgLp7AhiWzK15D9T-XELNSU4Wq9sEeA5T24kazcgS2MUkzELH0I9dwu7g0dwJIuIJkoJjEzg1b1Q3Ie5HKHHNbjottJn7Q5LBS-9QtQyruuwaNTgSJpCoi4PBKVIOTBYL_Nv1wecmKmfWcT0mnhQE9zjhJTbcoN9hKSvAMqsDHtxWUFZosiw3JKIY0zb59CrVGSuOhfN3qaarwN9EAlXLqc4ZyKpsTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBRk_38CqdKjPVylWUR4uuqhbFGeHTAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEATAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAFsx7FtYAzSo98T5ydNFa0ukjPZ6XCQc9zo7ldqy235P_zJAUkaNgCU4EGOzbZJDoMa8mAfhyukL_0GfPeApUaY2e44ZOzoYAkeEuDiwcs-9zoQ1fCyXhn0pCumGFXRilX9KjAPaYTzDvQMEllTy_ZViwTahuKaGtFVamZguBPdaeYC_0oybtTVNQCs8hGnffhNZOMASB-5pFs35MNxsDWTVIQksDee419jqpsbWLkh6rnanILO1O_ihwb-WpvRQByQ5NGpG1-z0MQ6nRpr9wWxUi-DsrVsD38NTMIPc2uei4Ivf6qnGRvOOj0fmsciWuTTEXMaD-5a81mGlzhZc09Q&s=b-6_q6rDHYvyAaJb0uRPq4iEW9cG7mKSJU6oCewkNjJT6-7-8UXQTmQeUmN4_BptJ3FX62KpBMuHABM-SWvJFXbSZtOgVxGvKd3ywNqUg10BeonErhs-IZZvIyXMHPXvk7qLR9ks0f04WE-tgwPmjdlayNRJWKIjHi2qmGhK7D8-tgBev7v7-Y4M4G-RIZ9pbpzDnskrDyoWD2QU5-7A1sRKinqF4sPaxMwy2poGFAqYQ2u4eeTLNh-pco8Ytp1aAYexCeBqueGSoOn0g0DBcb6RVkq6Trbry5bHRtFIuL8Dc1ty8qw5I4Bt945jFP0aj-dTHqxSTDPV6ZCvxrAVzg&h=IyO_TGSq_PEMWrAXrwulUduX9GknNJ7O8NPGZi31Ra4 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 122 + uncompressed: false + body: |- + { + "name": "1f558ff9-936d-450b-93e4-6016b1259a18", + "status": "InProgress", + "startTime": "2001-02-03T04:05:06Z" + } + headers: + Cache-Control: + - no-cache + Content-Length: + - "122" + Content-Type: + - application/json + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 107457527F094D39BB876B223C7047D7 Ref B: CO6AA3150220035 Ref C: 2024-11-05T23:34:51Z' + status: 200 OK + code: 200 + duration: 137.984552ms + - id: 5 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "1" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/1f558ff9-936d-450b-93e4-6016b1259a18?api-version=2016-03-30&t=638664464824751274&c=MIIHpTCCBo2gAwIBAgITOgM6dTLGpzYZpvPtgQAEAzp1MjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjQwNjI2MDEzMjIxWhcNMjUwNjIxMDEzMjIxWjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPPPKY5bDN03KptFFhiyLIyn86BlrXYFIZWYXA-hY7_WbLyWN0IxcLIUBW_I-9u-YsXOHk9WPMlUYHIFPgHW7A3FsSGfl9dd6YGapKoSSw0NkTpNXM58R54BBgLp7AhiWzK15D9T-XELNSU4Wq9sEeA5T24kazcgS2MUkzELH0I9dwu7g0dwJIuIJkoJjEzg1b1Q3Ie5HKHHNbjottJn7Q5LBS-9QtQyruuwaNTgSJpCoi4PBKVIOTBYL_Nv1wecmKmfWcT0mnhQE9zjhJTbcoN9hKSvAMqsDHtxWUFZosiw3JKIY0zb59CrVGSuOhfN3qaarwN9EAlXLqc4ZyKpsTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBRk_38CqdKjPVylWUR4uuqhbFGeHTAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEATAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAFsx7FtYAzSo98T5ydNFa0ukjPZ6XCQc9zo7ldqy235P_zJAUkaNgCU4EGOzbZJDoMa8mAfhyukL_0GfPeApUaY2e44ZOzoYAkeEuDiwcs-9zoQ1fCyXhn0pCumGFXRilX9KjAPaYTzDvQMEllTy_ZViwTahuKaGtFVamZguBPdaeYC_0oybtTVNQCs8hGnffhNZOMASB-5pFs35MNxsDWTVIQksDee419jqpsbWLkh6rnanILO1O_ihwb-WpvRQByQ5NGpG1-z0MQ6nRpr9wWxUi-DsrVsD38NTMIPc2uei4Ivf6qnGRvOOj0fmsciWuTTEXMaD-5a81mGlzhZc09Q&s=b-6_q6rDHYvyAaJb0uRPq4iEW9cG7mKSJU6oCewkNjJT6-7-8UXQTmQeUmN4_BptJ3FX62KpBMuHABM-SWvJFXbSZtOgVxGvKd3ywNqUg10BeonErhs-IZZvIyXMHPXvk7qLR9ks0f04WE-tgwPmjdlayNRJWKIjHi2qmGhK7D8-tgBev7v7-Y4M4G-RIZ9pbpzDnskrDyoWD2QU5-7A1sRKinqF4sPaxMwy2poGFAqYQ2u4eeTLNh-pco8Ytp1aAYexCeBqueGSoOn0g0DBcb6RVkq6Trbry5bHRtFIuL8Dc1ty8qw5I4Bt945jFP0aj-dTHqxSTDPV6ZCvxrAVzg&h=IyO_TGSq_PEMWrAXrwulUduX9GknNJ7O8NPGZi31Ra4 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 122 + uncompressed: false + body: |- + { + "name": "1f558ff9-936d-450b-93e4-6016b1259a18", + "status": "InProgress", + "startTime": "2001-02-03T04:05:06Z" + } + headers: + Cache-Control: + - no-cache + Content-Length: + - "122" + Content-Type: + - application/json + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: AE37C494CB254C26A16F5A200434E028 Ref B: CO6AA3150220035 Ref C: 2024-11-05T23:34:55Z' + status: 200 OK + code: 200 + duration: 246.1734ms + - id: 6 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "2" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/1f558ff9-936d-450b-93e4-6016b1259a18?api-version=2016-03-30&t=638664464824751274&c=MIIHpTCCBo2gAwIBAgITOgM6dTLGpzYZpvPtgQAEAzp1MjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjQwNjI2MDEzMjIxWhcNMjUwNjIxMDEzMjIxWjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPPPKY5bDN03KptFFhiyLIyn86BlrXYFIZWYXA-hY7_WbLyWN0IxcLIUBW_I-9u-YsXOHk9WPMlUYHIFPgHW7A3FsSGfl9dd6YGapKoSSw0NkTpNXM58R54BBgLp7AhiWzK15D9T-XELNSU4Wq9sEeA5T24kazcgS2MUkzELH0I9dwu7g0dwJIuIJkoJjEzg1b1Q3Ie5HKHHNbjottJn7Q5LBS-9QtQyruuwaNTgSJpCoi4PBKVIOTBYL_Nv1wecmKmfWcT0mnhQE9zjhJTbcoN9hKSvAMqsDHtxWUFZosiw3JKIY0zb59CrVGSuOhfN3qaarwN9EAlXLqc4ZyKpsTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBRk_38CqdKjPVylWUR4uuqhbFGeHTAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEATAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAFsx7FtYAzSo98T5ydNFa0ukjPZ6XCQc9zo7ldqy235P_zJAUkaNgCU4EGOzbZJDoMa8mAfhyukL_0GfPeApUaY2e44ZOzoYAkeEuDiwcs-9zoQ1fCyXhn0pCumGFXRilX9KjAPaYTzDvQMEllTy_ZViwTahuKaGtFVamZguBPdaeYC_0oybtTVNQCs8hGnffhNZOMASB-5pFs35MNxsDWTVIQksDee419jqpsbWLkh6rnanILO1O_ihwb-WpvRQByQ5NGpG1-z0MQ6nRpr9wWxUi-DsrVsD38NTMIPc2uei4Ivf6qnGRvOOj0fmsciWuTTEXMaD-5a81mGlzhZc09Q&s=b-6_q6rDHYvyAaJb0uRPq4iEW9cG7mKSJU6oCewkNjJT6-7-8UXQTmQeUmN4_BptJ3FX62KpBMuHABM-SWvJFXbSZtOgVxGvKd3ywNqUg10BeonErhs-IZZvIyXMHPXvk7qLR9ks0f04WE-tgwPmjdlayNRJWKIjHi2qmGhK7D8-tgBev7v7-Y4M4G-RIZ9pbpzDnskrDyoWD2QU5-7A1sRKinqF4sPaxMwy2poGFAqYQ2u4eeTLNh-pco8Ytp1aAYexCeBqueGSoOn0g0DBcb6RVkq6Trbry5bHRtFIuL8Dc1ty8qw5I4Bt945jFP0aj-dTHqxSTDPV6ZCvxrAVzg&h=IyO_TGSq_PEMWrAXrwulUduX9GknNJ7O8NPGZi31Ra4 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 122 + uncompressed: false + body: |- + { + "name": "1f558ff9-936d-450b-93e4-6016b1259a18", + "status": "InProgress", + "startTime": "2001-02-03T04:05:06Z" + } + headers: + Cache-Control: + - no-cache + Content-Length: + - "122" + Content-Type: + - application/json + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 553F12FF598445BFB28F5A6D0A279260 Ref B: CO6AA3150220035 Ref C: 2024-11-05T23:35:03Z' + status: 200 OK + code: 200 + duration: 122.809351ms + - id: 7 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "3" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/1f558ff9-936d-450b-93e4-6016b1259a18?api-version=2016-03-30&t=638664464824751274&c=MIIHpTCCBo2gAwIBAgITOgM6dTLGpzYZpvPtgQAEAzp1MjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjQwNjI2MDEzMjIxWhcNMjUwNjIxMDEzMjIxWjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPPPKY5bDN03KptFFhiyLIyn86BlrXYFIZWYXA-hY7_WbLyWN0IxcLIUBW_I-9u-YsXOHk9WPMlUYHIFPgHW7A3FsSGfl9dd6YGapKoSSw0NkTpNXM58R54BBgLp7AhiWzK15D9T-XELNSU4Wq9sEeA5T24kazcgS2MUkzELH0I9dwu7g0dwJIuIJkoJjEzg1b1Q3Ie5HKHHNbjottJn7Q5LBS-9QtQyruuwaNTgSJpCoi4PBKVIOTBYL_Nv1wecmKmfWcT0mnhQE9zjhJTbcoN9hKSvAMqsDHtxWUFZosiw3JKIY0zb59CrVGSuOhfN3qaarwN9EAlXLqc4ZyKpsTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBRk_38CqdKjPVylWUR4uuqhbFGeHTAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEATAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAFsx7FtYAzSo98T5ydNFa0ukjPZ6XCQc9zo7ldqy235P_zJAUkaNgCU4EGOzbZJDoMa8mAfhyukL_0GfPeApUaY2e44ZOzoYAkeEuDiwcs-9zoQ1fCyXhn0pCumGFXRilX9KjAPaYTzDvQMEllTy_ZViwTahuKaGtFVamZguBPdaeYC_0oybtTVNQCs8hGnffhNZOMASB-5pFs35MNxsDWTVIQksDee419jqpsbWLkh6rnanILO1O_ihwb-WpvRQByQ5NGpG1-z0MQ6nRpr9wWxUi-DsrVsD38NTMIPc2uei4Ivf6qnGRvOOj0fmsciWuTTEXMaD-5a81mGlzhZc09Q&s=b-6_q6rDHYvyAaJb0uRPq4iEW9cG7mKSJU6oCewkNjJT6-7-8UXQTmQeUmN4_BptJ3FX62KpBMuHABM-SWvJFXbSZtOgVxGvKd3ywNqUg10BeonErhs-IZZvIyXMHPXvk7qLR9ks0f04WE-tgwPmjdlayNRJWKIjHi2qmGhK7D8-tgBev7v7-Y4M4G-RIZ9pbpzDnskrDyoWD2QU5-7A1sRKinqF4sPaxMwy2poGFAqYQ2u4eeTLNh-pco8Ytp1aAYexCeBqueGSoOn0g0DBcb6RVkq6Trbry5bHRtFIuL8Dc1ty8qw5I4Bt945jFP0aj-dTHqxSTDPV6ZCvxrAVzg&h=IyO_TGSq_PEMWrAXrwulUduX9GknNJ7O8NPGZi31Ra4 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 122 + uncompressed: false + body: |- + { + "name": "1f558ff9-936d-450b-93e4-6016b1259a18", + "status": "InProgress", + "startTime": "2001-02-03T04:05:06Z" + } + headers: + Cache-Control: + - no-cache + Content-Length: + - "122" + Content-Type: + - application/json + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 15B6B901D50E4CACB6CF3A48F0735208 Ref B: CO6AA3150220035 Ref C: 2024-11-05T23:35:20Z' + status: 200 OK + code: 200 + duration: 143.021995ms + - id: 8 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "4" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/1f558ff9-936d-450b-93e4-6016b1259a18?api-version=2016-03-30&t=638664464824751274&c=MIIHpTCCBo2gAwIBAgITOgM6dTLGpzYZpvPtgQAEAzp1MjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjQwNjI2MDEzMjIxWhcNMjUwNjIxMDEzMjIxWjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPPPKY5bDN03KptFFhiyLIyn86BlrXYFIZWYXA-hY7_WbLyWN0IxcLIUBW_I-9u-YsXOHk9WPMlUYHIFPgHW7A3FsSGfl9dd6YGapKoSSw0NkTpNXM58R54BBgLp7AhiWzK15D9T-XELNSU4Wq9sEeA5T24kazcgS2MUkzELH0I9dwu7g0dwJIuIJkoJjEzg1b1Q3Ie5HKHHNbjottJn7Q5LBS-9QtQyruuwaNTgSJpCoi4PBKVIOTBYL_Nv1wecmKmfWcT0mnhQE9zjhJTbcoN9hKSvAMqsDHtxWUFZosiw3JKIY0zb59CrVGSuOhfN3qaarwN9EAlXLqc4ZyKpsTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBRk_38CqdKjPVylWUR4uuqhbFGeHTAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEATAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAFsx7FtYAzSo98T5ydNFa0ukjPZ6XCQc9zo7ldqy235P_zJAUkaNgCU4EGOzbZJDoMa8mAfhyukL_0GfPeApUaY2e44ZOzoYAkeEuDiwcs-9zoQ1fCyXhn0pCumGFXRilX9KjAPaYTzDvQMEllTy_ZViwTahuKaGtFVamZguBPdaeYC_0oybtTVNQCs8hGnffhNZOMASB-5pFs35MNxsDWTVIQksDee419jqpsbWLkh6rnanILO1O_ihwb-WpvRQByQ5NGpG1-z0MQ6nRpr9wWxUi-DsrVsD38NTMIPc2uei4Ivf6qnGRvOOj0fmsciWuTTEXMaD-5a81mGlzhZc09Q&s=b-6_q6rDHYvyAaJb0uRPq4iEW9cG7mKSJU6oCewkNjJT6-7-8UXQTmQeUmN4_BptJ3FX62KpBMuHABM-SWvJFXbSZtOgVxGvKd3ywNqUg10BeonErhs-IZZvIyXMHPXvk7qLR9ks0f04WE-tgwPmjdlayNRJWKIjHi2qmGhK7D8-tgBev7v7-Y4M4G-RIZ9pbpzDnskrDyoWD2QU5-7A1sRKinqF4sPaxMwy2poGFAqYQ2u4eeTLNh-pco8Ytp1aAYexCeBqueGSoOn0g0DBcb6RVkq6Trbry5bHRtFIuL8Dc1ty8qw5I4Bt945jFP0aj-dTHqxSTDPV6ZCvxrAVzg&h=IyO_TGSq_PEMWrAXrwulUduX9GknNJ7O8NPGZi31Ra4 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 122 + uncompressed: false + body: |- + { + "name": "1f558ff9-936d-450b-93e4-6016b1259a18", + "status": "InProgress", + "startTime": "2001-02-03T04:05:06Z" + } + headers: + Cache-Control: + - no-cache + Content-Length: + - "122" + Content-Type: + - application/json + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: B06D993303DE4BBAA0218D814C79C65F Ref B: CO6AA3150220035 Ref C: 2024-11-05T23:35:52Z' + status: 200 OK + code: 200 + duration: 142.659602ms + - id: 9 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "5" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/1f558ff9-936d-450b-93e4-6016b1259a18?api-version=2016-03-30&t=638664464824751274&c=MIIHpTCCBo2gAwIBAgITOgM6dTLGpzYZpvPtgQAEAzp1MjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjQwNjI2MDEzMjIxWhcNMjUwNjIxMDEzMjIxWjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPPPKY5bDN03KptFFhiyLIyn86BlrXYFIZWYXA-hY7_WbLyWN0IxcLIUBW_I-9u-YsXOHk9WPMlUYHIFPgHW7A3FsSGfl9dd6YGapKoSSw0NkTpNXM58R54BBgLp7AhiWzK15D9T-XELNSU4Wq9sEeA5T24kazcgS2MUkzELH0I9dwu7g0dwJIuIJkoJjEzg1b1Q3Ie5HKHHNbjottJn7Q5LBS-9QtQyruuwaNTgSJpCoi4PBKVIOTBYL_Nv1wecmKmfWcT0mnhQE9zjhJTbcoN9hKSvAMqsDHtxWUFZosiw3JKIY0zb59CrVGSuOhfN3qaarwN9EAlXLqc4ZyKpsTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBRk_38CqdKjPVylWUR4uuqhbFGeHTAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEATAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAFsx7FtYAzSo98T5ydNFa0ukjPZ6XCQc9zo7ldqy235P_zJAUkaNgCU4EGOzbZJDoMa8mAfhyukL_0GfPeApUaY2e44ZOzoYAkeEuDiwcs-9zoQ1fCyXhn0pCumGFXRilX9KjAPaYTzDvQMEllTy_ZViwTahuKaGtFVamZguBPdaeYC_0oybtTVNQCs8hGnffhNZOMASB-5pFs35MNxsDWTVIQksDee419jqpsbWLkh6rnanILO1O_ihwb-WpvRQByQ5NGpG1-z0MQ6nRpr9wWxUi-DsrVsD38NTMIPc2uei4Ivf6qnGRvOOj0fmsciWuTTEXMaD-5a81mGlzhZc09Q&s=b-6_q6rDHYvyAaJb0uRPq4iEW9cG7mKSJU6oCewkNjJT6-7-8UXQTmQeUmN4_BptJ3FX62KpBMuHABM-SWvJFXbSZtOgVxGvKd3ywNqUg10BeonErhs-IZZvIyXMHPXvk7qLR9ks0f04WE-tgwPmjdlayNRJWKIjHi2qmGhK7D8-tgBev7v7-Y4M4G-RIZ9pbpzDnskrDyoWD2QU5-7A1sRKinqF4sPaxMwy2poGFAqYQ2u4eeTLNh-pco8Ytp1aAYexCeBqueGSoOn0g0DBcb6RVkq6Trbry5bHRtFIuL8Dc1ty8qw5I4Bt945jFP0aj-dTHqxSTDPV6ZCvxrAVzg&h=IyO_TGSq_PEMWrAXrwulUduX9GknNJ7O8NPGZi31Ra4 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 122 + uncompressed: false + body: |- + { + "name": "1f558ff9-936d-450b-93e4-6016b1259a18", + "status": "InProgress", + "startTime": "2001-02-03T04:05:06Z" + } + headers: + Cache-Control: + - no-cache + Content-Length: + - "122" + Content-Type: + - application/json + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 38D3DBBD18F049C182BE67DAAAE9BA52 Ref B: CO6AA3150220035 Ref C: 2024-11-05T23:36:52Z' + status: 200 OK + code: 200 + duration: 213.857426ms + - id: 10 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "6" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/1f558ff9-936d-450b-93e4-6016b1259a18?api-version=2016-03-30&t=638664464824751274&c=MIIHpTCCBo2gAwIBAgITOgM6dTLGpzYZpvPtgQAEAzp1MjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjQwNjI2MDEzMjIxWhcNMjUwNjIxMDEzMjIxWjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPPPKY5bDN03KptFFhiyLIyn86BlrXYFIZWYXA-hY7_WbLyWN0IxcLIUBW_I-9u-YsXOHk9WPMlUYHIFPgHW7A3FsSGfl9dd6YGapKoSSw0NkTpNXM58R54BBgLp7AhiWzK15D9T-XELNSU4Wq9sEeA5T24kazcgS2MUkzELH0I9dwu7g0dwJIuIJkoJjEzg1b1Q3Ie5HKHHNbjottJn7Q5LBS-9QtQyruuwaNTgSJpCoi4PBKVIOTBYL_Nv1wecmKmfWcT0mnhQE9zjhJTbcoN9hKSvAMqsDHtxWUFZosiw3JKIY0zb59CrVGSuOhfN3qaarwN9EAlXLqc4ZyKpsTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBRk_38CqdKjPVylWUR4uuqhbFGeHTAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEATAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAFsx7FtYAzSo98T5ydNFa0ukjPZ6XCQc9zo7ldqy235P_zJAUkaNgCU4EGOzbZJDoMa8mAfhyukL_0GfPeApUaY2e44ZOzoYAkeEuDiwcs-9zoQ1fCyXhn0pCumGFXRilX9KjAPaYTzDvQMEllTy_ZViwTahuKaGtFVamZguBPdaeYC_0oybtTVNQCs8hGnffhNZOMASB-5pFs35MNxsDWTVIQksDee419jqpsbWLkh6rnanILO1O_ihwb-WpvRQByQ5NGpG1-z0MQ6nRpr9wWxUi-DsrVsD38NTMIPc2uei4Ivf6qnGRvOOj0fmsciWuTTEXMaD-5a81mGlzhZc09Q&s=b-6_q6rDHYvyAaJb0uRPq4iEW9cG7mKSJU6oCewkNjJT6-7-8UXQTmQeUmN4_BptJ3FX62KpBMuHABM-SWvJFXbSZtOgVxGvKd3ywNqUg10BeonErhs-IZZvIyXMHPXvk7qLR9ks0f04WE-tgwPmjdlayNRJWKIjHi2qmGhK7D8-tgBev7v7-Y4M4G-RIZ9pbpzDnskrDyoWD2QU5-7A1sRKinqF4sPaxMwy2poGFAqYQ2u4eeTLNh-pco8Ytp1aAYexCeBqueGSoOn0g0DBcb6RVkq6Trbry5bHRtFIuL8Dc1ty8qw5I4Bt945jFP0aj-dTHqxSTDPV6ZCvxrAVzg&h=IyO_TGSq_PEMWrAXrwulUduX9GknNJ7O8NPGZi31Ra4 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 122 + uncompressed: false + body: |- + { + "name": "1f558ff9-936d-450b-93e4-6016b1259a18", + "status": "InProgress", + "startTime": "2001-02-03T04:05:06Z" + } + headers: + Cache-Control: + - no-cache + Content-Length: + - "122" + Content-Type: + - application/json + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: E74FE5C10A0C4D7FB4A37AFC1617F685 Ref B: CO6AA3150220035 Ref C: 2024-11-05T23:37:53Z' + status: 200 OK + code: 200 + duration: 226.091335ms + - id: 11 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "7" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/1f558ff9-936d-450b-93e4-6016b1259a18?api-version=2016-03-30&t=638664464824751274&c=MIIHpTCCBo2gAwIBAgITOgM6dTLGpzYZpvPtgQAEAzp1MjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjQwNjI2MDEzMjIxWhcNMjUwNjIxMDEzMjIxWjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPPPKY5bDN03KptFFhiyLIyn86BlrXYFIZWYXA-hY7_WbLyWN0IxcLIUBW_I-9u-YsXOHk9WPMlUYHIFPgHW7A3FsSGfl9dd6YGapKoSSw0NkTpNXM58R54BBgLp7AhiWzK15D9T-XELNSU4Wq9sEeA5T24kazcgS2MUkzELH0I9dwu7g0dwJIuIJkoJjEzg1b1Q3Ie5HKHHNbjottJn7Q5LBS-9QtQyruuwaNTgSJpCoi4PBKVIOTBYL_Nv1wecmKmfWcT0mnhQE9zjhJTbcoN9hKSvAMqsDHtxWUFZosiw3JKIY0zb59CrVGSuOhfN3qaarwN9EAlXLqc4ZyKpsTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBRk_38CqdKjPVylWUR4uuqhbFGeHTAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEATAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAFsx7FtYAzSo98T5ydNFa0ukjPZ6XCQc9zo7ldqy235P_zJAUkaNgCU4EGOzbZJDoMa8mAfhyukL_0GfPeApUaY2e44ZOzoYAkeEuDiwcs-9zoQ1fCyXhn0pCumGFXRilX9KjAPaYTzDvQMEllTy_ZViwTahuKaGtFVamZguBPdaeYC_0oybtTVNQCs8hGnffhNZOMASB-5pFs35MNxsDWTVIQksDee419jqpsbWLkh6rnanILO1O_ihwb-WpvRQByQ5NGpG1-z0MQ6nRpr9wWxUi-DsrVsD38NTMIPc2uei4Ivf6qnGRvOOj0fmsciWuTTEXMaD-5a81mGlzhZc09Q&s=b-6_q6rDHYvyAaJb0uRPq4iEW9cG7mKSJU6oCewkNjJT6-7-8UXQTmQeUmN4_BptJ3FX62KpBMuHABM-SWvJFXbSZtOgVxGvKd3ywNqUg10BeonErhs-IZZvIyXMHPXvk7qLR9ks0f04WE-tgwPmjdlayNRJWKIjHi2qmGhK7D8-tgBev7v7-Y4M4G-RIZ9pbpzDnskrDyoWD2QU5-7A1sRKinqF4sPaxMwy2poGFAqYQ2u4eeTLNh-pco8Ytp1aAYexCeBqueGSoOn0g0DBcb6RVkq6Trbry5bHRtFIuL8Dc1ty8qw5I4Bt945jFP0aj-dTHqxSTDPV6ZCvxrAVzg&h=IyO_TGSq_PEMWrAXrwulUduX9GknNJ7O8NPGZi31Ra4 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 165 + uncompressed: false + body: |- + { + "name": "1f558ff9-936d-450b-93e4-6016b1259a18", + "status": "Succeeded", + "startTime": "2001-02-03T04:05:06Z", + "endTime": "2001-02-03T04:05:06Z" + } + headers: + Cache-Control: + - no-cache + Content-Length: + - "165" + Content-Type: + - application/json + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: E1C3E66738EA4273A5B42767430202E5 Ref B: CO6AA3150220035 Ref C: 2024-11-05T23:38:53Z' + status: 200 OK + code: 200 + duration: 215.142974ms + - id: 12 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "1" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-nyuvpf/providers/Microsoft.ContainerService/managedClusters/asotest-mc-gtbfrk?api-version=2024-09-01 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 3389 + uncompressed: false + body: |- + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asotest-rg-nyuvpf/providers/Microsoft.ContainerService/managedClusters/asotest-mc-gtbfrk", + "location": "westus3", + "name": "asotest-mc-gtbfrk", + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "powerState": { + "code": "Running" + }, + "kubernetesVersion": "1.29", + "currentKubernetesVersion": "1.29.9", + "dnsPrefix": "aso", + "fqdn": "aso-ooytoapf.hcp.westus3.azmk8s.io", + "azurePortalFQDN": "aso-ooytoapf.portal.hcp.westus3.azmk8s.io", + "agentPoolProfiles": [ + { + "name": "ap1", + "count": 1, + "vmSize": "Standard_DS2_v2", + "osDiskSizeGB": 128, + "osDiskType": "Managed", + "kubeletDiskType": "OS", + "maxPods": 110, + "type": "VirtualMachineScaleSets", + "provisioningState": "Succeeded", + "powerState": { + "code": "Running" + }, + "orchestratorVersion": "1.29", + "currentOrchestratorVersion": "1.29.9", + "enableNodePublicIP": false, + "mode": "System", + "osType": "Linux", + "osSKU": "Ubuntu", + "nodeImageVersion": "AKSUbuntu-2204gen2containerd-202410.15.0", + "upgradeSettings": { + "maxSurge": "10%" + }, + "enableFIPS": false, + "securityProfile": { + "enableVTPM": false, + "enableSecureBoot": false + } + } + ], + "servicePrincipalProfile": { + "clientId": "msi" + }, + "nodeResourceGroup": "MC_asotest-rg-nyuvpf_asotest-mc-gtbfrk_westus3", + "enableRBAC": true, + "supportPlan": "KubernetesOfficial", + "networkProfile": { + "networkPlugin": "kubenet", + "networkPolicy": "none", + "loadBalancerSku": "standard", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 1 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_asotest-rg-nyuvpf_asotest-mc-gtbfrk_westus3/providers/Microsoft.Network/publicIPAddresses/65da7144-370b-4125-9e72-66bf3f7d150d" + } + ], + "backendPoolType": "nodeIPConfiguration" + }, + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ] + }, + "maxAgentPools": 100, + "identityProfile": { + "kubeletidentity": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_asotest-rg-nyuvpf_asotest-mc-gtbfrk_westus3/providers/Microsoft.ManagedIdentity/userAssignedIdentities/asotest-mc-gtbfrk-agentpool", + "clientId": "240c7940-542d-4771-832d-8bb923e69604", + "objectId": "cfa75366-ace5-4adf-a081-bd8373387cd6" + } + }, + "autoUpgradeProfile": { + "nodeOSUpgradeChannel": "NodeImage" + }, + "securityProfile": {}, + "storageProfile": { + "diskCSIDriver": { + "enabled": true + }, + "fileCSIDriver": { + "enabled": true + }, + "snapshotController": { + "enabled": true + } + }, + "oidcIssuerProfile": { + "enabled": false + }, + "workloadAutoScalerProfile": {}, + "resourceUID": "672aab91e643240001f49152", + "metricsProfile": { + "costAnalysis": { + "enabled": false + } + } + }, + "identity": { + "type": "SystemAssigned", + "principalId": "0f438866-e6c0-46ac-9948-e6462467eb36", + "tenantId": "00000000-0000-0000-0000-000000000000" + }, + "sku": { + "name": "Base", + "tier": "Free" + } + } + headers: + Cache-Control: + - no-cache + Content-Length: + - "3389" + Content-Type: + - application/json + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 8F34A250D59D4AA983ACD598C8C8FA0B Ref B: CO6AA3150220035 Ref C: 2024-11-05T23:38:53Z' + status: 200 OK + code: 200 + duration: 792.495201ms + - id: 13 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "2" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-nyuvpf/providers/Microsoft.ContainerService/managedClusters/asotest-mc-gtbfrk?api-version=2024-09-01 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 3389 + uncompressed: false + body: |- + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asotest-rg-nyuvpf/providers/Microsoft.ContainerService/managedClusters/asotest-mc-gtbfrk", + "location": "westus3", + "name": "asotest-mc-gtbfrk", + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "powerState": { + "code": "Running" + }, + "kubernetesVersion": "1.29", + "currentKubernetesVersion": "1.29.9", + "dnsPrefix": "aso", + "fqdn": "aso-ooytoapf.hcp.westus3.azmk8s.io", + "azurePortalFQDN": "aso-ooytoapf.portal.hcp.westus3.azmk8s.io", + "agentPoolProfiles": [ + { + "name": "ap1", + "count": 1, + "vmSize": "Standard_DS2_v2", + "osDiskSizeGB": 128, + "osDiskType": "Managed", + "kubeletDiskType": "OS", + "maxPods": 110, + "type": "VirtualMachineScaleSets", + "provisioningState": "Succeeded", + "powerState": { + "code": "Running" + }, + "orchestratorVersion": "1.29", + "currentOrchestratorVersion": "1.29.9", + "enableNodePublicIP": false, + "mode": "System", + "osType": "Linux", + "osSKU": "Ubuntu", + "nodeImageVersion": "AKSUbuntu-2204gen2containerd-202410.15.0", + "upgradeSettings": { + "maxSurge": "10%" + }, + "enableFIPS": false, + "securityProfile": { + "enableVTPM": false, + "enableSecureBoot": false + } + } + ], + "servicePrincipalProfile": { + "clientId": "msi" + }, + "nodeResourceGroup": "MC_asotest-rg-nyuvpf_asotest-mc-gtbfrk_westus3", + "enableRBAC": true, + "supportPlan": "KubernetesOfficial", + "networkProfile": { + "networkPlugin": "kubenet", + "networkPolicy": "none", + "loadBalancerSku": "standard", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 1 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_asotest-rg-nyuvpf_asotest-mc-gtbfrk_westus3/providers/Microsoft.Network/publicIPAddresses/65da7144-370b-4125-9e72-66bf3f7d150d" + } + ], + "backendPoolType": "nodeIPConfiguration" + }, + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ] + }, + "maxAgentPools": 100, + "identityProfile": { + "kubeletidentity": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_asotest-rg-nyuvpf_asotest-mc-gtbfrk_westus3/providers/Microsoft.ManagedIdentity/userAssignedIdentities/asotest-mc-gtbfrk-agentpool", + "clientId": "240c7940-542d-4771-832d-8bb923e69604", + "objectId": "cfa75366-ace5-4adf-a081-bd8373387cd6" + } + }, + "autoUpgradeProfile": { + "nodeOSUpgradeChannel": "NodeImage" + }, + "securityProfile": {}, + "storageProfile": { + "diskCSIDriver": { + "enabled": true + }, + "fileCSIDriver": { + "enabled": true + }, + "snapshotController": { + "enabled": true + } + }, + "oidcIssuerProfile": { + "enabled": false + }, + "workloadAutoScalerProfile": {}, + "resourceUID": "672aab91e643240001f49152", + "metricsProfile": { + "costAnalysis": { + "enabled": false + } + } + }, + "identity": { + "type": "SystemAssigned", + "principalId": "0f438866-e6c0-46ac-9948-e6462467eb36", + "tenantId": "00000000-0000-0000-0000-000000000000" + }, + "sku": { + "name": "Base", + "tier": "Free" + } + } + headers: + Cache-Control: + - no-cache + Content-Length: + - "3389" + Content-Type: + - application/json + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 49F6D1E560214C099B1571D9F9A66376 Ref B: CO6AA3150220035 Ref C: 2024-11-05T23:38:55Z' + status: 200 OK + code: 200 + duration: 529.968481ms + - id: 14 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "3" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-nyuvpf/providers/Microsoft.ContainerService/managedClusters/asotest-mc-gtbfrk?api-version=2024-09-01 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 3389 + uncompressed: false + body: |- + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asotest-rg-nyuvpf/providers/Microsoft.ContainerService/managedClusters/asotest-mc-gtbfrk", + "location": "westus3", + "name": "asotest-mc-gtbfrk", + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "powerState": { + "code": "Running" + }, + "kubernetesVersion": "1.29", + "currentKubernetesVersion": "1.29.9", + "dnsPrefix": "aso", + "fqdn": "aso-ooytoapf.hcp.westus3.azmk8s.io", + "azurePortalFQDN": "aso-ooytoapf.portal.hcp.westus3.azmk8s.io", + "agentPoolProfiles": [ + { + "name": "ap1", + "count": 1, + "vmSize": "Standard_DS2_v2", + "osDiskSizeGB": 128, + "osDiskType": "Managed", + "kubeletDiskType": "OS", + "maxPods": 110, + "type": "VirtualMachineScaleSets", + "provisioningState": "Succeeded", + "powerState": { + "code": "Running" + }, + "orchestratorVersion": "1.29", + "currentOrchestratorVersion": "1.29.9", + "enableNodePublicIP": false, + "mode": "System", + "osType": "Linux", + "osSKU": "Ubuntu", + "nodeImageVersion": "AKSUbuntu-2204gen2containerd-202410.15.0", + "upgradeSettings": { + "maxSurge": "10%" + }, + "enableFIPS": false, + "securityProfile": { + "enableVTPM": false, + "enableSecureBoot": false + } + } + ], + "servicePrincipalProfile": { + "clientId": "msi" + }, + "nodeResourceGroup": "MC_asotest-rg-nyuvpf_asotest-mc-gtbfrk_westus3", + "enableRBAC": true, + "supportPlan": "KubernetesOfficial", + "networkProfile": { + "networkPlugin": "kubenet", + "networkPolicy": "none", + "loadBalancerSku": "standard", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 1 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_asotest-rg-nyuvpf_asotest-mc-gtbfrk_westus3/providers/Microsoft.Network/publicIPAddresses/65da7144-370b-4125-9e72-66bf3f7d150d" + } + ], + "backendPoolType": "nodeIPConfiguration" + }, + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ] + }, + "maxAgentPools": 100, + "identityProfile": { + "kubeletidentity": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_asotest-rg-nyuvpf_asotest-mc-gtbfrk_westus3/providers/Microsoft.ManagedIdentity/userAssignedIdentities/asotest-mc-gtbfrk-agentpool", + "clientId": "240c7940-542d-4771-832d-8bb923e69604", + "objectId": "cfa75366-ace5-4adf-a081-bd8373387cd6" + } + }, + "autoUpgradeProfile": { + "nodeOSUpgradeChannel": "NodeImage" + }, + "securityProfile": {}, + "storageProfile": { + "diskCSIDriver": { + "enabled": true + }, + "fileCSIDriver": { + "enabled": true + }, + "snapshotController": { + "enabled": true + } + }, + "oidcIssuerProfile": { + "enabled": false + }, + "workloadAutoScalerProfile": {}, + "resourceUID": "672aab91e643240001f49152", + "metricsProfile": { + "costAnalysis": { + "enabled": false + } + } + }, + "identity": { + "type": "SystemAssigned", + "principalId": "0f438866-e6c0-46ac-9948-e6462467eb36", + "tenantId": "00000000-0000-0000-0000-000000000000" + }, + "sku": { + "name": "Base", + "tier": "Free" + } + } + headers: + Cache-Control: + - no-cache + Content-Length: + - "3389" + Content-Type: + - application/json + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 129E75E75BFF497F83B24E5333C8E02B Ref B: CO6AA3150220035 Ref C: 2024-11-05T23:39:00Z' + status: 200 OK + code: 200 + duration: 727.637433ms + - id: 15 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 441 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: '{"identity":{"delegatedResources":null,"type":"SystemAssigned"},"location":"westus3","name":"asotest-mc-gtbfrk","properties":{"addonProfiles":null,"agentPoolProfiles":[{"availabilityZones":null,"count":1,"mode":"System","name":"ap1","nodeLabels":{},"nodeTaints":[],"osType":"Linux","tags":{},"vmSize":"Standard_DS2_v2"}],"dnsPrefix":"aso","identityProfile":null,"privateLinkResources":null},"sku":{"name":"Base","tier":"Standard"},"tags":{}}' + form: {} + headers: + Accept: + - application/json + Content-Length: + - "441" + Content-Type: + - application/json + Test-Request-Hash: + - 999d5d24edacd9b536bb995b72be98edd8668bcbecc54e35fa03d30690e9fea1 + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-nyuvpf/providers/Microsoft.ContainerService/managedClusters/asotest-mc-gtbfrk?api-version=2024-09-01 + method: PUT + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 3461 + uncompressed: false + body: |- + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asotest-rg-nyuvpf/providers/Microsoft.ContainerService/managedClusters/asotest-mc-gtbfrk", + "location": "westus3", + "name": "asotest-mc-gtbfrk", + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Updating", + "powerState": { + "code": "Running" + }, + "kubernetesVersion": "1.29", + "currentKubernetesVersion": "1.29.9", + "dnsPrefix": "aso", + "fqdn": "aso-ooytoapf.hcp.westus3.azmk8s.io", + "azurePortalFQDN": "aso-ooytoapf.portal.hcp.westus3.azmk8s.io", + "agentPoolProfiles": [ + { + "name": "ap1", + "count": 1, + "vmSize": "Standard_DS2_v2", + "osDiskSizeGB": 128, + "osDiskType": "Managed", + "kubeletDiskType": "OS", + "maxPods": 110, + "type": "VirtualMachineScaleSets", + "enableAutoScaling": false, + "provisioningState": "Updating", + "powerState": { + "code": "Running" + }, + "orchestratorVersion": "1.29", + "currentOrchestratorVersion": "1.29.9", + "enableNodePublicIP": false, + "tags": {}, + "nodeLabels": {}, + "mode": "System", + "osType": "Linux", + "osSKU": "Ubuntu", + "nodeImageVersion": "AKSUbuntu-2204gen2containerd-202410.15.0", + "upgradeSettings": { + "maxSurge": "10%" + }, + "enableFIPS": false, + "securityProfile": { + "enableVTPM": false, + "enableSecureBoot": false + } + } + ], + "servicePrincipalProfile": { + "clientId": "msi" + }, + "nodeResourceGroup": "MC_asotest-rg-nyuvpf_asotest-mc-gtbfrk_westus3", + "enableRBAC": true, + "supportPlan": "KubernetesOfficial", + "networkProfile": { + "networkPlugin": "kubenet", + "networkPolicy": "none", + "loadBalancerSku": "standard", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 1 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_asotest-rg-nyuvpf_asotest-mc-gtbfrk_westus3/providers/Microsoft.Network/publicIPAddresses/65da7144-370b-4125-9e72-66bf3f7d150d" + } + ], + "backendPoolType": "nodeIPConfiguration" + }, + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ] + }, + "maxAgentPools": 100, + "identityProfile": { + "kubeletidentity": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_asotest-rg-nyuvpf_asotest-mc-gtbfrk_westus3/providers/Microsoft.ManagedIdentity/userAssignedIdentities/asotest-mc-gtbfrk-agentpool", + "clientId": "240c7940-542d-4771-832d-8bb923e69604", + "objectId": "cfa75366-ace5-4adf-a081-bd8373387cd6" + } + }, + "autoUpgradeProfile": { + "nodeOSUpgradeChannel": "NodeImage" + }, + "securityProfile": {}, + "storageProfile": { + "diskCSIDriver": { + "enabled": true + }, + "fileCSIDriver": { + "enabled": true + }, + "snapshotController": { + "enabled": true + } + }, + "oidcIssuerProfile": { + "enabled": false + }, + "workloadAutoScalerProfile": {}, + "resourceUID": "672aab91e643240001f49152", + "metricsProfile": { + "costAnalysis": { + "enabled": false + } + } + }, + "identity": { + "type": "SystemAssigned", + "principalId": "0f438866-e6c0-46ac-9948-e6462467eb36", + "tenantId": "00000000-0000-0000-0000-000000000000" + }, + "sku": { + "name": "Base", + "tier": "Standard" + } + } + headers: + Azure-Asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/08010486-239e-401c-813b-79b27bcb2f32?api-version=2016-03-30&t=638664467478979574&c=MIIHhzCCBm-gAwIBAgITHgVxvH65_BmPrKxDIgAABXG8fjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDYwHhcNMjQwOTI1MTkzNzA4WhcNMjUwMzI0MTkzNzA4WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKlHcl7gn1b6aLS1hLftgvWE8n-Z9liLRsNGgjYfyY_1N6TVDEHJTtctREIaCRDPEC-hePKBe7OS45JIAD6cl5AGU_dQlGd-3bBZeVfAPJFUnC910pwhDca2OXlf4LyB1KSofXaA4xDB6G7cHXRld_URCnol2LHQEGox0vBzaPz30AUB0ZhAatZgqhXy5qnroV3zbEZC3m4qLDSnG8QNEnw8Wv5GpYH_MxK9mgDPwoIObeDBnjtQonKzvItZ8jXwF-wEmcVAnhr6Dvq3rWdBY9616kXvQ7E3eEvGqMn9W_NZTAqlaanfaACfITkIJZkgsSoJGw5USCMC-vzAb1Ms0j0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MB0GA1UdDgQWBBTELag1gS_F07Xj1us9l4ySYrHYYjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBTxRmjG8cPwKy19i2rhsvm-NfzRQTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBABJx3Gb3LtjBZ4x70SioNIk8ap3qwt2DMEu9dXEhi28jFB87BBsTCkNeuhGlLzHm7Ykx6xpUjJp4F2_qmJKrQjDH4U0VYT_yc8Ow5mxrFJcewgTXzwmwqXOodok5WWOUVP4Mmdp_O_3je1dVgw4TrdrypIZImBn2jVDrXQ79fFXTR-Td0XMOtWPDwreoMRagD769QW4hlGtVaZCqOAzyomfSc8PhDzKhllbZQrmP-UgiLU14SDsxwq6AHG413ClcJIDGfEsEKwlUyIIAKHDwSdbO41Zs7ZQG5k_eBlGTkr-5Zye8vT7OeGf1_mGZSme6otyTUL_3-6gJ282qCPXoflc&s=o3zjcGADBnIC7l_BJWXQIiKreZPVPtW7Tgddn9iqmhh3SHc5_NOy8M1S3qdIHDHqwA7s-0IJdyLqwOvZicICg-WkblpaT1T0kCBuacKd1XyUVjba5CUJQoBiNwy1lRw3OvZdfLcy1lI7LvSwiwlIyVPzCRZ7InnSFV3oE4_UaWT13qDyS8hYdl4PdtS23guOk1cbI4Ro1fx-kjdB-RNyGdUmBPcAVa4Ae0yHWGStxst6HXVRgrSWqq0FzyrV2qsGiseQoPo7s7-al6BRBE5NW8kt6gSa-KptyGLzvjrMJ9xQikZ0ZX3CTGP4BWKJVPUio-kL4cKlOqKHkExXYRqK4A&h=X7h3etXovzGtcifC0ABxtn9CWZHWAH4d_h_6nFLTx30 + Cache-Control: + - no-cache + Content-Length: + - "3461" + Content-Type: + - application/json + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Writes: + - "11999" + X-Msedge-Ref: + - 'Ref A: 0C8A8077BDED417699C165270C2C0A7A Ref B: CO6AA3150220035 Ref C: 2024-11-05T23:39:01Z' + status: 200 OK + code: 200 + duration: 6.292962455s + - id: 16 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/08010486-239e-401c-813b-79b27bcb2f32?api-version=2016-03-30&t=638664467478979574&c=MIIHhzCCBm-gAwIBAgITHgVxvH65_BmPrKxDIgAABXG8fjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDYwHhcNMjQwOTI1MTkzNzA4WhcNMjUwMzI0MTkzNzA4WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKlHcl7gn1b6aLS1hLftgvWE8n-Z9liLRsNGgjYfyY_1N6TVDEHJTtctREIaCRDPEC-hePKBe7OS45JIAD6cl5AGU_dQlGd-3bBZeVfAPJFUnC910pwhDca2OXlf4LyB1KSofXaA4xDB6G7cHXRld_URCnol2LHQEGox0vBzaPz30AUB0ZhAatZgqhXy5qnroV3zbEZC3m4qLDSnG8QNEnw8Wv5GpYH_MxK9mgDPwoIObeDBnjtQonKzvItZ8jXwF-wEmcVAnhr6Dvq3rWdBY9616kXvQ7E3eEvGqMn9W_NZTAqlaanfaACfITkIJZkgsSoJGw5USCMC-vzAb1Ms0j0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MB0GA1UdDgQWBBTELag1gS_F07Xj1us9l4ySYrHYYjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBTxRmjG8cPwKy19i2rhsvm-NfzRQTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBABJx3Gb3LtjBZ4x70SioNIk8ap3qwt2DMEu9dXEhi28jFB87BBsTCkNeuhGlLzHm7Ykx6xpUjJp4F2_qmJKrQjDH4U0VYT_yc8Ow5mxrFJcewgTXzwmwqXOodok5WWOUVP4Mmdp_O_3je1dVgw4TrdrypIZImBn2jVDrXQ79fFXTR-Td0XMOtWPDwreoMRagD769QW4hlGtVaZCqOAzyomfSc8PhDzKhllbZQrmP-UgiLU14SDsxwq6AHG413ClcJIDGfEsEKwlUyIIAKHDwSdbO41Zs7ZQG5k_eBlGTkr-5Zye8vT7OeGf1_mGZSme6otyTUL_3-6gJ282qCPXoflc&s=o3zjcGADBnIC7l_BJWXQIiKreZPVPtW7Tgddn9iqmhh3SHc5_NOy8M1S3qdIHDHqwA7s-0IJdyLqwOvZicICg-WkblpaT1T0kCBuacKd1XyUVjba5CUJQoBiNwy1lRw3OvZdfLcy1lI7LvSwiwlIyVPzCRZ7InnSFV3oE4_UaWT13qDyS8hYdl4PdtS23guOk1cbI4Ro1fx-kjdB-RNyGdUmBPcAVa4Ae0yHWGStxst6HXVRgrSWqq0FzyrV2qsGiseQoPo7s7-al6BRBE5NW8kt6gSa-KptyGLzvjrMJ9xQikZ0ZX3CTGP4BWKJVPUio-kL4cKlOqKHkExXYRqK4A&h=X7h3etXovzGtcifC0ABxtn9CWZHWAH4d_h_6nFLTx30 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 122 + uncompressed: false + body: |- + { + "name": "08010486-239e-401c-813b-79b27bcb2f32", + "status": "InProgress", + "startTime": "2001-02-03T04:05:06Z" + } + headers: + Cache-Control: + - no-cache + Content-Length: + - "122" + Content-Type: + - application/json + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 62B21019A83E46E9826E9DD47BE25D50 Ref B: CO6AA3150220035 Ref C: 2024-11-05T23:39:15Z' + status: 200 OK + code: 200 + duration: 245.748106ms + - id: 17 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "1" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/08010486-239e-401c-813b-79b27bcb2f32?api-version=2016-03-30&t=638664467478979574&c=MIIHhzCCBm-gAwIBAgITHgVxvH65_BmPrKxDIgAABXG8fjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDYwHhcNMjQwOTI1MTkzNzA4WhcNMjUwMzI0MTkzNzA4WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKlHcl7gn1b6aLS1hLftgvWE8n-Z9liLRsNGgjYfyY_1N6TVDEHJTtctREIaCRDPEC-hePKBe7OS45JIAD6cl5AGU_dQlGd-3bBZeVfAPJFUnC910pwhDca2OXlf4LyB1KSofXaA4xDB6G7cHXRld_URCnol2LHQEGox0vBzaPz30AUB0ZhAatZgqhXy5qnroV3zbEZC3m4qLDSnG8QNEnw8Wv5GpYH_MxK9mgDPwoIObeDBnjtQonKzvItZ8jXwF-wEmcVAnhr6Dvq3rWdBY9616kXvQ7E3eEvGqMn9W_NZTAqlaanfaACfITkIJZkgsSoJGw5USCMC-vzAb1Ms0j0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MB0GA1UdDgQWBBTELag1gS_F07Xj1us9l4ySYrHYYjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBTxRmjG8cPwKy19i2rhsvm-NfzRQTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBABJx3Gb3LtjBZ4x70SioNIk8ap3qwt2DMEu9dXEhi28jFB87BBsTCkNeuhGlLzHm7Ykx6xpUjJp4F2_qmJKrQjDH4U0VYT_yc8Ow5mxrFJcewgTXzwmwqXOodok5WWOUVP4Mmdp_O_3je1dVgw4TrdrypIZImBn2jVDrXQ79fFXTR-Td0XMOtWPDwreoMRagD769QW4hlGtVaZCqOAzyomfSc8PhDzKhllbZQrmP-UgiLU14SDsxwq6AHG413ClcJIDGfEsEKwlUyIIAKHDwSdbO41Zs7ZQG5k_eBlGTkr-5Zye8vT7OeGf1_mGZSme6otyTUL_3-6gJ282qCPXoflc&s=o3zjcGADBnIC7l_BJWXQIiKreZPVPtW7Tgddn9iqmhh3SHc5_NOy8M1S3qdIHDHqwA7s-0IJdyLqwOvZicICg-WkblpaT1T0kCBuacKd1XyUVjba5CUJQoBiNwy1lRw3OvZdfLcy1lI7LvSwiwlIyVPzCRZ7InnSFV3oE4_UaWT13qDyS8hYdl4PdtS23guOk1cbI4Ro1fx-kjdB-RNyGdUmBPcAVa4Ae0yHWGStxst6HXVRgrSWqq0FzyrV2qsGiseQoPo7s7-al6BRBE5NW8kt6gSa-KptyGLzvjrMJ9xQikZ0ZX3CTGP4BWKJVPUio-kL4cKlOqKHkExXYRqK4A&h=X7h3etXovzGtcifC0ABxtn9CWZHWAH4d_h_6nFLTx30 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 122 + uncompressed: false + body: |- + { + "name": "08010486-239e-401c-813b-79b27bcb2f32", + "status": "InProgress", + "startTime": "2001-02-03T04:05:06Z" + } + headers: + Cache-Control: + - no-cache + Content-Length: + - "122" + Content-Type: + - application/json + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 7F8E11FE41EC45EA9B6400E7D916608A Ref B: CO6AA3150220035 Ref C: 2024-11-05T23:39:17Z' + status: 200 OK + code: 200 + duration: 122.809703ms + - id: 18 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "2" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/08010486-239e-401c-813b-79b27bcb2f32?api-version=2016-03-30&t=638664467478979574&c=MIIHhzCCBm-gAwIBAgITHgVxvH65_BmPrKxDIgAABXG8fjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDYwHhcNMjQwOTI1MTkzNzA4WhcNMjUwMzI0MTkzNzA4WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKlHcl7gn1b6aLS1hLftgvWE8n-Z9liLRsNGgjYfyY_1N6TVDEHJTtctREIaCRDPEC-hePKBe7OS45JIAD6cl5AGU_dQlGd-3bBZeVfAPJFUnC910pwhDca2OXlf4LyB1KSofXaA4xDB6G7cHXRld_URCnol2LHQEGox0vBzaPz30AUB0ZhAatZgqhXy5qnroV3zbEZC3m4qLDSnG8QNEnw8Wv5GpYH_MxK9mgDPwoIObeDBnjtQonKzvItZ8jXwF-wEmcVAnhr6Dvq3rWdBY9616kXvQ7E3eEvGqMn9W_NZTAqlaanfaACfITkIJZkgsSoJGw5USCMC-vzAb1Ms0j0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MB0GA1UdDgQWBBTELag1gS_F07Xj1us9l4ySYrHYYjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBTxRmjG8cPwKy19i2rhsvm-NfzRQTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBABJx3Gb3LtjBZ4x70SioNIk8ap3qwt2DMEu9dXEhi28jFB87BBsTCkNeuhGlLzHm7Ykx6xpUjJp4F2_qmJKrQjDH4U0VYT_yc8Ow5mxrFJcewgTXzwmwqXOodok5WWOUVP4Mmdp_O_3je1dVgw4TrdrypIZImBn2jVDrXQ79fFXTR-Td0XMOtWPDwreoMRagD769QW4hlGtVaZCqOAzyomfSc8PhDzKhllbZQrmP-UgiLU14SDsxwq6AHG413ClcJIDGfEsEKwlUyIIAKHDwSdbO41Zs7ZQG5k_eBlGTkr-5Zye8vT7OeGf1_mGZSme6otyTUL_3-6gJ282qCPXoflc&s=o3zjcGADBnIC7l_BJWXQIiKreZPVPtW7Tgddn9iqmhh3SHc5_NOy8M1S3qdIHDHqwA7s-0IJdyLqwOvZicICg-WkblpaT1T0kCBuacKd1XyUVjba5CUJQoBiNwy1lRw3OvZdfLcy1lI7LvSwiwlIyVPzCRZ7InnSFV3oE4_UaWT13qDyS8hYdl4PdtS23guOk1cbI4Ro1fx-kjdB-RNyGdUmBPcAVa4Ae0yHWGStxst6HXVRgrSWqq0FzyrV2qsGiseQoPo7s7-al6BRBE5NW8kt6gSa-KptyGLzvjrMJ9xQikZ0ZX3CTGP4BWKJVPUio-kL4cKlOqKHkExXYRqK4A&h=X7h3etXovzGtcifC0ABxtn9CWZHWAH4d_h_6nFLTx30 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 122 + uncompressed: false + body: |- + { + "name": "08010486-239e-401c-813b-79b27bcb2f32", + "status": "InProgress", + "startTime": "2001-02-03T04:05:06Z" + } + headers: + Cache-Control: + - no-cache + Content-Length: + - "122" + Content-Type: + - application/json + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 558EA0BEA60D4B4BAF9AA970BDFD4121 Ref B: CO6AA3150220035 Ref C: 2024-11-05T23:39:22Z' + status: 200 OK + code: 200 + duration: 322.670174ms + - id: 19 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "3" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/08010486-239e-401c-813b-79b27bcb2f32?api-version=2016-03-30&t=638664467478979574&c=MIIHhzCCBm-gAwIBAgITHgVxvH65_BmPrKxDIgAABXG8fjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDYwHhcNMjQwOTI1MTkzNzA4WhcNMjUwMzI0MTkzNzA4WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKlHcl7gn1b6aLS1hLftgvWE8n-Z9liLRsNGgjYfyY_1N6TVDEHJTtctREIaCRDPEC-hePKBe7OS45JIAD6cl5AGU_dQlGd-3bBZeVfAPJFUnC910pwhDca2OXlf4LyB1KSofXaA4xDB6G7cHXRld_URCnol2LHQEGox0vBzaPz30AUB0ZhAatZgqhXy5qnroV3zbEZC3m4qLDSnG8QNEnw8Wv5GpYH_MxK9mgDPwoIObeDBnjtQonKzvItZ8jXwF-wEmcVAnhr6Dvq3rWdBY9616kXvQ7E3eEvGqMn9W_NZTAqlaanfaACfITkIJZkgsSoJGw5USCMC-vzAb1Ms0j0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MB0GA1UdDgQWBBTELag1gS_F07Xj1us9l4ySYrHYYjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBTxRmjG8cPwKy19i2rhsvm-NfzRQTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBABJx3Gb3LtjBZ4x70SioNIk8ap3qwt2DMEu9dXEhi28jFB87BBsTCkNeuhGlLzHm7Ykx6xpUjJp4F2_qmJKrQjDH4U0VYT_yc8Ow5mxrFJcewgTXzwmwqXOodok5WWOUVP4Mmdp_O_3je1dVgw4TrdrypIZImBn2jVDrXQ79fFXTR-Td0XMOtWPDwreoMRagD769QW4hlGtVaZCqOAzyomfSc8PhDzKhllbZQrmP-UgiLU14SDsxwq6AHG413ClcJIDGfEsEKwlUyIIAKHDwSdbO41Zs7ZQG5k_eBlGTkr-5Zye8vT7OeGf1_mGZSme6otyTUL_3-6gJ282qCPXoflc&s=o3zjcGADBnIC7l_BJWXQIiKreZPVPtW7Tgddn9iqmhh3SHc5_NOy8M1S3qdIHDHqwA7s-0IJdyLqwOvZicICg-WkblpaT1T0kCBuacKd1XyUVjba5CUJQoBiNwy1lRw3OvZdfLcy1lI7LvSwiwlIyVPzCRZ7InnSFV3oE4_UaWT13qDyS8hYdl4PdtS23guOk1cbI4Ro1fx-kjdB-RNyGdUmBPcAVa4Ae0yHWGStxst6HXVRgrSWqq0FzyrV2qsGiseQoPo7s7-al6BRBE5NW8kt6gSa-KptyGLzvjrMJ9xQikZ0ZX3CTGP4BWKJVPUio-kL4cKlOqKHkExXYRqK4A&h=X7h3etXovzGtcifC0ABxtn9CWZHWAH4d_h_6nFLTx30 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 122 + uncompressed: false + body: |- + { + "name": "08010486-239e-401c-813b-79b27bcb2f32", + "status": "InProgress", + "startTime": "2001-02-03T04:05:06Z" + } + headers: + Cache-Control: + - no-cache + Content-Length: + - "122" + Content-Type: + - application/json + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 6241FB1EA8C442789EEFD1F9C57EA8A5 Ref B: CO6AA3150220035 Ref C: 2024-11-05T23:39:30Z' + status: 200 OK + code: 200 + duration: 214.733682ms + - id: 20 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "4" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/08010486-239e-401c-813b-79b27bcb2f32?api-version=2016-03-30&t=638664467478979574&c=MIIHhzCCBm-gAwIBAgITHgVxvH65_BmPrKxDIgAABXG8fjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDYwHhcNMjQwOTI1MTkzNzA4WhcNMjUwMzI0MTkzNzA4WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKlHcl7gn1b6aLS1hLftgvWE8n-Z9liLRsNGgjYfyY_1N6TVDEHJTtctREIaCRDPEC-hePKBe7OS45JIAD6cl5AGU_dQlGd-3bBZeVfAPJFUnC910pwhDca2OXlf4LyB1KSofXaA4xDB6G7cHXRld_URCnol2LHQEGox0vBzaPz30AUB0ZhAatZgqhXy5qnroV3zbEZC3m4qLDSnG8QNEnw8Wv5GpYH_MxK9mgDPwoIObeDBnjtQonKzvItZ8jXwF-wEmcVAnhr6Dvq3rWdBY9616kXvQ7E3eEvGqMn9W_NZTAqlaanfaACfITkIJZkgsSoJGw5USCMC-vzAb1Ms0j0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MB0GA1UdDgQWBBTELag1gS_F07Xj1us9l4ySYrHYYjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBTxRmjG8cPwKy19i2rhsvm-NfzRQTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBABJx3Gb3LtjBZ4x70SioNIk8ap3qwt2DMEu9dXEhi28jFB87BBsTCkNeuhGlLzHm7Ykx6xpUjJp4F2_qmJKrQjDH4U0VYT_yc8Ow5mxrFJcewgTXzwmwqXOodok5WWOUVP4Mmdp_O_3je1dVgw4TrdrypIZImBn2jVDrXQ79fFXTR-Td0XMOtWPDwreoMRagD769QW4hlGtVaZCqOAzyomfSc8PhDzKhllbZQrmP-UgiLU14SDsxwq6AHG413ClcJIDGfEsEKwlUyIIAKHDwSdbO41Zs7ZQG5k_eBlGTkr-5Zye8vT7OeGf1_mGZSme6otyTUL_3-6gJ282qCPXoflc&s=o3zjcGADBnIC7l_BJWXQIiKreZPVPtW7Tgddn9iqmhh3SHc5_NOy8M1S3qdIHDHqwA7s-0IJdyLqwOvZicICg-WkblpaT1T0kCBuacKd1XyUVjba5CUJQoBiNwy1lRw3OvZdfLcy1lI7LvSwiwlIyVPzCRZ7InnSFV3oE4_UaWT13qDyS8hYdl4PdtS23guOk1cbI4Ro1fx-kjdB-RNyGdUmBPcAVa4Ae0yHWGStxst6HXVRgrSWqq0FzyrV2qsGiseQoPo7s7-al6BRBE5NW8kt6gSa-KptyGLzvjrMJ9xQikZ0ZX3CTGP4BWKJVPUio-kL4cKlOqKHkExXYRqK4A&h=X7h3etXovzGtcifC0ABxtn9CWZHWAH4d_h_6nFLTx30 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 122 + uncompressed: false + body: |- + { + "name": "08010486-239e-401c-813b-79b27bcb2f32", + "status": "InProgress", + "startTime": "2001-02-03T04:05:06Z" + } + headers: + Cache-Control: + - no-cache + Content-Length: + - "122" + Content-Type: + - application/json + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 4CD64CB94B4145D78EF4385A59B32006 Ref B: CO6AA3150220035 Ref C: 2024-11-05T23:39:47Z' + status: 200 OK + code: 200 + duration: 314.830226ms + - id: 21 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "5" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/08010486-239e-401c-813b-79b27bcb2f32?api-version=2016-03-30&t=638664467478979574&c=MIIHhzCCBm-gAwIBAgITHgVxvH65_BmPrKxDIgAABXG8fjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDYwHhcNMjQwOTI1MTkzNzA4WhcNMjUwMzI0MTkzNzA4WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKlHcl7gn1b6aLS1hLftgvWE8n-Z9liLRsNGgjYfyY_1N6TVDEHJTtctREIaCRDPEC-hePKBe7OS45JIAD6cl5AGU_dQlGd-3bBZeVfAPJFUnC910pwhDca2OXlf4LyB1KSofXaA4xDB6G7cHXRld_URCnol2LHQEGox0vBzaPz30AUB0ZhAatZgqhXy5qnroV3zbEZC3m4qLDSnG8QNEnw8Wv5GpYH_MxK9mgDPwoIObeDBnjtQonKzvItZ8jXwF-wEmcVAnhr6Dvq3rWdBY9616kXvQ7E3eEvGqMn9W_NZTAqlaanfaACfITkIJZkgsSoJGw5USCMC-vzAb1Ms0j0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MB0GA1UdDgQWBBTELag1gS_F07Xj1us9l4ySYrHYYjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBTxRmjG8cPwKy19i2rhsvm-NfzRQTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBABJx3Gb3LtjBZ4x70SioNIk8ap3qwt2DMEu9dXEhi28jFB87BBsTCkNeuhGlLzHm7Ykx6xpUjJp4F2_qmJKrQjDH4U0VYT_yc8Ow5mxrFJcewgTXzwmwqXOodok5WWOUVP4Mmdp_O_3je1dVgw4TrdrypIZImBn2jVDrXQ79fFXTR-Td0XMOtWPDwreoMRagD769QW4hlGtVaZCqOAzyomfSc8PhDzKhllbZQrmP-UgiLU14SDsxwq6AHG413ClcJIDGfEsEKwlUyIIAKHDwSdbO41Zs7ZQG5k_eBlGTkr-5Zye8vT7OeGf1_mGZSme6otyTUL_3-6gJ282qCPXoflc&s=o3zjcGADBnIC7l_BJWXQIiKreZPVPtW7Tgddn9iqmhh3SHc5_NOy8M1S3qdIHDHqwA7s-0IJdyLqwOvZicICg-WkblpaT1T0kCBuacKd1XyUVjba5CUJQoBiNwy1lRw3OvZdfLcy1lI7LvSwiwlIyVPzCRZ7InnSFV3oE4_UaWT13qDyS8hYdl4PdtS23guOk1cbI4Ro1fx-kjdB-RNyGdUmBPcAVa4Ae0yHWGStxst6HXVRgrSWqq0FzyrV2qsGiseQoPo7s7-al6BRBE5NW8kt6gSa-KptyGLzvjrMJ9xQikZ0ZX3CTGP4BWKJVPUio-kL4cKlOqKHkExXYRqK4A&h=X7h3etXovzGtcifC0ABxtn9CWZHWAH4d_h_6nFLTx30 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 122 + uncompressed: false + body: |- + { + "name": "08010486-239e-401c-813b-79b27bcb2f32", + "status": "InProgress", + "startTime": "2001-02-03T04:05:06Z" + } + headers: + Cache-Control: + - no-cache + Content-Length: + - "122" + Content-Type: + - application/json + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 367140008E734DAC986CD40EB69B64C5 Ref B: CO6AA3150220035 Ref C: 2024-11-05T23:40:19Z' + status: 200 OK + code: 200 + duration: 276.187952ms + - id: 22 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "6" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/08010486-239e-401c-813b-79b27bcb2f32?api-version=2016-03-30&t=638664467478979574&c=MIIHhzCCBm-gAwIBAgITHgVxvH65_BmPrKxDIgAABXG8fjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDYwHhcNMjQwOTI1MTkzNzA4WhcNMjUwMzI0MTkzNzA4WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKlHcl7gn1b6aLS1hLftgvWE8n-Z9liLRsNGgjYfyY_1N6TVDEHJTtctREIaCRDPEC-hePKBe7OS45JIAD6cl5AGU_dQlGd-3bBZeVfAPJFUnC910pwhDca2OXlf4LyB1KSofXaA4xDB6G7cHXRld_URCnol2LHQEGox0vBzaPz30AUB0ZhAatZgqhXy5qnroV3zbEZC3m4qLDSnG8QNEnw8Wv5GpYH_MxK9mgDPwoIObeDBnjtQonKzvItZ8jXwF-wEmcVAnhr6Dvq3rWdBY9616kXvQ7E3eEvGqMn9W_NZTAqlaanfaACfITkIJZkgsSoJGw5USCMC-vzAb1Ms0j0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MB0GA1UdDgQWBBTELag1gS_F07Xj1us9l4ySYrHYYjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBTxRmjG8cPwKy19i2rhsvm-NfzRQTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBABJx3Gb3LtjBZ4x70SioNIk8ap3qwt2DMEu9dXEhi28jFB87BBsTCkNeuhGlLzHm7Ykx6xpUjJp4F2_qmJKrQjDH4U0VYT_yc8Ow5mxrFJcewgTXzwmwqXOodok5WWOUVP4Mmdp_O_3je1dVgw4TrdrypIZImBn2jVDrXQ79fFXTR-Td0XMOtWPDwreoMRagD769QW4hlGtVaZCqOAzyomfSc8PhDzKhllbZQrmP-UgiLU14SDsxwq6AHG413ClcJIDGfEsEKwlUyIIAKHDwSdbO41Zs7ZQG5k_eBlGTkr-5Zye8vT7OeGf1_mGZSme6otyTUL_3-6gJ282qCPXoflc&s=o3zjcGADBnIC7l_BJWXQIiKreZPVPtW7Tgddn9iqmhh3SHc5_NOy8M1S3qdIHDHqwA7s-0IJdyLqwOvZicICg-WkblpaT1T0kCBuacKd1XyUVjba5CUJQoBiNwy1lRw3OvZdfLcy1lI7LvSwiwlIyVPzCRZ7InnSFV3oE4_UaWT13qDyS8hYdl4PdtS23guOk1cbI4Ro1fx-kjdB-RNyGdUmBPcAVa4Ae0yHWGStxst6HXVRgrSWqq0FzyrV2qsGiseQoPo7s7-al6BRBE5NW8kt6gSa-KptyGLzvjrMJ9xQikZ0ZX3CTGP4BWKJVPUio-kL4cKlOqKHkExXYRqK4A&h=X7h3etXovzGtcifC0ABxtn9CWZHWAH4d_h_6nFLTx30 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 122 + uncompressed: false + body: |- + { + "name": "08010486-239e-401c-813b-79b27bcb2f32", + "status": "InProgress", + "startTime": "2001-02-03T04:05:06Z" + } + headers: + Cache-Control: + - no-cache + Content-Length: + - "122" + Content-Type: + - application/json + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 4023E68485F54A4C9766CAE458B3E769 Ref B: CO6AA3150220035 Ref C: 2024-11-05T23:41:20Z' + status: 200 OK + code: 200 + duration: 201.601411ms + - id: 23 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "7" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/08010486-239e-401c-813b-79b27bcb2f32?api-version=2016-03-30&t=638664467478979574&c=MIIHhzCCBm-gAwIBAgITHgVxvH65_BmPrKxDIgAABXG8fjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDYwHhcNMjQwOTI1MTkzNzA4WhcNMjUwMzI0MTkzNzA4WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKlHcl7gn1b6aLS1hLftgvWE8n-Z9liLRsNGgjYfyY_1N6TVDEHJTtctREIaCRDPEC-hePKBe7OS45JIAD6cl5AGU_dQlGd-3bBZeVfAPJFUnC910pwhDca2OXlf4LyB1KSofXaA4xDB6G7cHXRld_URCnol2LHQEGox0vBzaPz30AUB0ZhAatZgqhXy5qnroV3zbEZC3m4qLDSnG8QNEnw8Wv5GpYH_MxK9mgDPwoIObeDBnjtQonKzvItZ8jXwF-wEmcVAnhr6Dvq3rWdBY9616kXvQ7E3eEvGqMn9W_NZTAqlaanfaACfITkIJZkgsSoJGw5USCMC-vzAb1Ms0j0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MB0GA1UdDgQWBBTELag1gS_F07Xj1us9l4ySYrHYYjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBTxRmjG8cPwKy19i2rhsvm-NfzRQTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBABJx3Gb3LtjBZ4x70SioNIk8ap3qwt2DMEu9dXEhi28jFB87BBsTCkNeuhGlLzHm7Ykx6xpUjJp4F2_qmJKrQjDH4U0VYT_yc8Ow5mxrFJcewgTXzwmwqXOodok5WWOUVP4Mmdp_O_3je1dVgw4TrdrypIZImBn2jVDrXQ79fFXTR-Td0XMOtWPDwreoMRagD769QW4hlGtVaZCqOAzyomfSc8PhDzKhllbZQrmP-UgiLU14SDsxwq6AHG413ClcJIDGfEsEKwlUyIIAKHDwSdbO41Zs7ZQG5k_eBlGTkr-5Zye8vT7OeGf1_mGZSme6otyTUL_3-6gJ282qCPXoflc&s=o3zjcGADBnIC7l_BJWXQIiKreZPVPtW7Tgddn9iqmhh3SHc5_NOy8M1S3qdIHDHqwA7s-0IJdyLqwOvZicICg-WkblpaT1T0kCBuacKd1XyUVjba5CUJQoBiNwy1lRw3OvZdfLcy1lI7LvSwiwlIyVPzCRZ7InnSFV3oE4_UaWT13qDyS8hYdl4PdtS23guOk1cbI4Ro1fx-kjdB-RNyGdUmBPcAVa4Ae0yHWGStxst6HXVRgrSWqq0FzyrV2qsGiseQoPo7s7-al6BRBE5NW8kt6gSa-KptyGLzvjrMJ9xQikZ0ZX3CTGP4BWKJVPUio-kL4cKlOqKHkExXYRqK4A&h=X7h3etXovzGtcifC0ABxtn9CWZHWAH4d_h_6nFLTx30 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 165 + uncompressed: false + body: |- + { + "name": "08010486-239e-401c-813b-79b27bcb2f32", + "status": "Succeeded", + "startTime": "2001-02-03T04:05:06Z", + "endTime": "2001-02-03T04:05:06Z" + } + headers: + Cache-Control: + - no-cache + Content-Length: + - "165" + Content-Type: + - application/json + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 81D3DC73F801476FA166D4111742FEBD Ref B: CO6AA3150220035 Ref C: 2024-11-05T23:42:20Z' + status: 200 OK + code: 200 + duration: 231.864757ms + - id: 24 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "4" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-nyuvpf/providers/Microsoft.ContainerService/managedClusters/asotest-mc-gtbfrk?api-version=2024-09-01 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 3425 + uncompressed: false + body: |- + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asotest-rg-nyuvpf/providers/Microsoft.ContainerService/managedClusters/asotest-mc-gtbfrk", + "location": "westus3", + "name": "asotest-mc-gtbfrk", + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "powerState": { + "code": "Running" + }, + "kubernetesVersion": "1.29", + "currentKubernetesVersion": "1.29.9", + "dnsPrefix": "aso", + "fqdn": "aso-ooytoapf.hcp.westus3.azmk8s.io", + "azurePortalFQDN": "aso-ooytoapf.portal.hcp.westus3.azmk8s.io", + "agentPoolProfiles": [ + { + "name": "ap1", + "count": 1, + "vmSize": "Standard_DS2_v2", + "osDiskSizeGB": 128, + "osDiskType": "Managed", + "kubeletDiskType": "OS", + "maxPods": 110, + "type": "VirtualMachineScaleSets", + "enableAutoScaling": false, + "provisioningState": "Succeeded", + "powerState": { + "code": "Running" + }, + "orchestratorVersion": "1.29", + "currentOrchestratorVersion": "1.29.9", + "enableNodePublicIP": false, + "mode": "System", + "osType": "Linux", + "osSKU": "Ubuntu", + "nodeImageVersion": "AKSUbuntu-2204gen2containerd-202410.15.0", + "upgradeSettings": { + "maxSurge": "10%" + }, + "enableFIPS": false, + "securityProfile": { + "enableVTPM": false, + "enableSecureBoot": false + } + } + ], + "servicePrincipalProfile": { + "clientId": "msi" + }, + "nodeResourceGroup": "MC_asotest-rg-nyuvpf_asotest-mc-gtbfrk_westus3", + "enableRBAC": true, + "supportPlan": "KubernetesOfficial", + "networkProfile": { + "networkPlugin": "kubenet", + "networkPolicy": "none", + "loadBalancerSku": "standard", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 1 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_asotest-rg-nyuvpf_asotest-mc-gtbfrk_westus3/providers/Microsoft.Network/publicIPAddresses/65da7144-370b-4125-9e72-66bf3f7d150d" + } + ], + "backendPoolType": "nodeIPConfiguration" + }, + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ] + }, + "maxAgentPools": 100, + "identityProfile": { + "kubeletidentity": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_asotest-rg-nyuvpf_asotest-mc-gtbfrk_westus3/providers/Microsoft.ManagedIdentity/userAssignedIdentities/asotest-mc-gtbfrk-agentpool", + "clientId": "240c7940-542d-4771-832d-8bb923e69604", + "objectId": "cfa75366-ace5-4adf-a081-bd8373387cd6" + } + }, + "autoUpgradeProfile": { + "nodeOSUpgradeChannel": "NodeImage" + }, + "securityProfile": {}, + "storageProfile": { + "diskCSIDriver": { + "enabled": true + }, + "fileCSIDriver": { + "enabled": true + }, + "snapshotController": { + "enabled": true + } + }, + "oidcIssuerProfile": { + "enabled": false + }, + "workloadAutoScalerProfile": {}, + "resourceUID": "672aab91e643240001f49152", + "metricsProfile": { + "costAnalysis": { + "enabled": false + } + } + }, + "identity": { + "type": "SystemAssigned", + "principalId": "0f438866-e6c0-46ac-9948-e6462467eb36", + "tenantId": "00000000-0000-0000-0000-000000000000" + }, + "sku": { + "name": "Base", + "tier": "Standard" + } + } + headers: + Cache-Control: + - no-cache + Content-Length: + - "3425" + Content-Type: + - application/json + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 3937723CDD5E4E0DBFB17947BF81AEC3 Ref B: CO6AA3150220035 Ref C: 2024-11-05T23:42:21Z' + status: 200 OK + code: 200 + duration: 786.002011ms + - id: 25 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "5" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-nyuvpf/providers/Microsoft.ContainerService/managedClusters/asotest-mc-gtbfrk?api-version=2024-09-01 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 3425 + uncompressed: false + body: |- + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asotest-rg-nyuvpf/providers/Microsoft.ContainerService/managedClusters/asotest-mc-gtbfrk", + "location": "westus3", + "name": "asotest-mc-gtbfrk", + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "powerState": { + "code": "Running" + }, + "kubernetesVersion": "1.29", + "currentKubernetesVersion": "1.29.9", + "dnsPrefix": "aso", + "fqdn": "aso-ooytoapf.hcp.westus3.azmk8s.io", + "azurePortalFQDN": "aso-ooytoapf.portal.hcp.westus3.azmk8s.io", + "agentPoolProfiles": [ + { + "name": "ap1", + "count": 1, + "vmSize": "Standard_DS2_v2", + "osDiskSizeGB": 128, + "osDiskType": "Managed", + "kubeletDiskType": "OS", + "maxPods": 110, + "type": "VirtualMachineScaleSets", + "enableAutoScaling": false, + "provisioningState": "Succeeded", + "powerState": { + "code": "Running" + }, + "orchestratorVersion": "1.29", + "currentOrchestratorVersion": "1.29.9", + "enableNodePublicIP": false, + "mode": "System", + "osType": "Linux", + "osSKU": "Ubuntu", + "nodeImageVersion": "AKSUbuntu-2204gen2containerd-202410.15.0", + "upgradeSettings": { + "maxSurge": "10%" + }, + "enableFIPS": false, + "securityProfile": { + "enableVTPM": false, + "enableSecureBoot": false + } + } + ], + "servicePrincipalProfile": { + "clientId": "msi" + }, + "nodeResourceGroup": "MC_asotest-rg-nyuvpf_asotest-mc-gtbfrk_westus3", + "enableRBAC": true, + "supportPlan": "KubernetesOfficial", + "networkProfile": { + "networkPlugin": "kubenet", + "networkPolicy": "none", + "loadBalancerSku": "standard", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 1 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_asotest-rg-nyuvpf_asotest-mc-gtbfrk_westus3/providers/Microsoft.Network/publicIPAddresses/65da7144-370b-4125-9e72-66bf3f7d150d" + } + ], + "backendPoolType": "nodeIPConfiguration" + }, + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ] + }, + "maxAgentPools": 100, + "identityProfile": { + "kubeletidentity": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_asotest-rg-nyuvpf_asotest-mc-gtbfrk_westus3/providers/Microsoft.ManagedIdentity/userAssignedIdentities/asotest-mc-gtbfrk-agentpool", + "clientId": "240c7940-542d-4771-832d-8bb923e69604", + "objectId": "cfa75366-ace5-4adf-a081-bd8373387cd6" + } + }, + "autoUpgradeProfile": { + "nodeOSUpgradeChannel": "NodeImage" + }, + "securityProfile": {}, + "storageProfile": { + "diskCSIDriver": { + "enabled": true + }, + "fileCSIDriver": { + "enabled": true + }, + "snapshotController": { + "enabled": true + } + }, + "oidcIssuerProfile": { + "enabled": false + }, + "workloadAutoScalerProfile": {}, + "resourceUID": "672aab91e643240001f49152", + "metricsProfile": { + "costAnalysis": { + "enabled": false + } + } + }, + "identity": { + "type": "SystemAssigned", + "principalId": "0f438866-e6c0-46ac-9948-e6462467eb36", + "tenantId": "00000000-0000-0000-0000-000000000000" + }, + "sku": { + "name": "Base", + "tier": "Standard" + } + } + headers: + Cache-Control: + - no-cache + Content-Length: + - "3425" + Content-Type: + - application/json + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 54BB1A9E63E24596A4E8F2AA4DD76459 Ref B: CO6AA3150220035 Ref C: 2024-11-05T23:42:22Z' + status: 200 OK + code: 200 + duration: 632.407126ms + - id: 26 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "6" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-nyuvpf/providers/Microsoft.ContainerService/managedClusters/asotest-mc-gtbfrk?api-version=2024-09-01 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 3425 + uncompressed: false + body: |- + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asotest-rg-nyuvpf/providers/Microsoft.ContainerService/managedClusters/asotest-mc-gtbfrk", + "location": "westus3", + "name": "asotest-mc-gtbfrk", + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "powerState": { + "code": "Running" + }, + "kubernetesVersion": "1.29", + "currentKubernetesVersion": "1.29.9", + "dnsPrefix": "aso", + "fqdn": "aso-ooytoapf.hcp.westus3.azmk8s.io", + "azurePortalFQDN": "aso-ooytoapf.portal.hcp.westus3.azmk8s.io", + "agentPoolProfiles": [ + { + "name": "ap1", + "count": 1, + "vmSize": "Standard_DS2_v2", + "osDiskSizeGB": 128, + "osDiskType": "Managed", + "kubeletDiskType": "OS", + "maxPods": 110, + "type": "VirtualMachineScaleSets", + "enableAutoScaling": false, + "provisioningState": "Succeeded", + "powerState": { + "code": "Running" + }, + "orchestratorVersion": "1.29", + "currentOrchestratorVersion": "1.29.9", + "enableNodePublicIP": false, + "mode": "System", + "osType": "Linux", + "osSKU": "Ubuntu", + "nodeImageVersion": "AKSUbuntu-2204gen2containerd-202410.15.0", + "upgradeSettings": { + "maxSurge": "10%" + }, + "enableFIPS": false, + "securityProfile": { + "enableVTPM": false, + "enableSecureBoot": false + } + } + ], + "servicePrincipalProfile": { + "clientId": "msi" + }, + "nodeResourceGroup": "MC_asotest-rg-nyuvpf_asotest-mc-gtbfrk_westus3", + "enableRBAC": true, + "supportPlan": "KubernetesOfficial", + "networkProfile": { + "networkPlugin": "kubenet", + "networkPolicy": "none", + "loadBalancerSku": "standard", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 1 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_asotest-rg-nyuvpf_asotest-mc-gtbfrk_westus3/providers/Microsoft.Network/publicIPAddresses/65da7144-370b-4125-9e72-66bf3f7d150d" + } + ], + "backendPoolType": "nodeIPConfiguration" + }, + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ] + }, + "maxAgentPools": 100, + "identityProfile": { + "kubeletidentity": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_asotest-rg-nyuvpf_asotest-mc-gtbfrk_westus3/providers/Microsoft.ManagedIdentity/userAssignedIdentities/asotest-mc-gtbfrk-agentpool", + "clientId": "240c7940-542d-4771-832d-8bb923e69604", + "objectId": "cfa75366-ace5-4adf-a081-bd8373387cd6" + } + }, + "autoUpgradeProfile": { + "nodeOSUpgradeChannel": "NodeImage" + }, + "securityProfile": {}, + "storageProfile": { + "diskCSIDriver": { + "enabled": true + }, + "fileCSIDriver": { + "enabled": true + }, + "snapshotController": { + "enabled": true + } + }, + "oidcIssuerProfile": { + "enabled": false + }, + "workloadAutoScalerProfile": {}, + "resourceUID": "672aab91e643240001f49152", + "metricsProfile": { + "costAnalysis": { + "enabled": false + } + } + }, + "identity": { + "type": "SystemAssigned", + "principalId": "0f438866-e6c0-46ac-9948-e6462467eb36", + "tenantId": "00000000-0000-0000-0000-000000000000" + }, + "sku": { + "name": "Base", + "tier": "Standard" + } + } + headers: + Cache-Control: + - no-cache + Content-Length: + - "3425" + Content-Type: + - application/json + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 701D0CFA73AE4BF1B9BF482A80A66C45 Ref B: CO6AA3150220035 Ref C: 2024-11-05T23:42:25Z' + status: 200 OK + code: 200 + duration: 764.241161ms + - id: 27 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 441 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: '{"identity":{"delegatedResources":null,"type":"SystemAssigned"},"location":"westus3","name":"asotest-mc-gtbfrk","properties":{"addonProfiles":null,"agentPoolProfiles":[{"availabilityZones":null,"count":1,"mode":"System","name":"ap1","nodeLabels":{},"nodeTaints":[],"osType":"Linux","tags":{},"vmSize":"Standard_DS2_v2"}],"dnsPrefix":"aso","identityProfile":null,"privateLinkResources":null},"sku":{"name":"Base","tier":"Standard"},"tags":{}}' + form: {} + headers: + Accept: + - application/json + Content-Length: + - "441" + Content-Type: + - application/json + Test-Request-Hash: + - 999d5d24edacd9b536bb995b72be98edd8668bcbecc54e35fa03d30690e9fea1 + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-nyuvpf/providers/Microsoft.ContainerService/managedClusters/asotest-mc-gtbfrk?api-version=2024-09-01 + method: PUT + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 3461 + uncompressed: false + body: |- + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asotest-rg-nyuvpf/providers/Microsoft.ContainerService/managedClusters/asotest-mc-gtbfrk", + "location": "westus3", + "name": "asotest-mc-gtbfrk", + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Updating", + "powerState": { + "code": "Running" + }, + "kubernetesVersion": "1.29", + "currentKubernetesVersion": "1.29.9", + "dnsPrefix": "aso", + "fqdn": "aso-ooytoapf.hcp.westus3.azmk8s.io", + "azurePortalFQDN": "aso-ooytoapf.portal.hcp.westus3.azmk8s.io", + "agentPoolProfiles": [ + { + "name": "ap1", + "count": 1, + "vmSize": "Standard_DS2_v2", + "osDiskSizeGB": 128, + "osDiskType": "Managed", + "kubeletDiskType": "OS", + "maxPods": 110, + "type": "VirtualMachineScaleSets", + "enableAutoScaling": false, + "provisioningState": "Updating", + "powerState": { + "code": "Running" + }, + "orchestratorVersion": "1.29", + "currentOrchestratorVersion": "1.29.9", + "enableNodePublicIP": false, + "tags": {}, + "nodeLabels": {}, + "mode": "System", + "osType": "Linux", + "osSKU": "Ubuntu", + "nodeImageVersion": "AKSUbuntu-2204gen2containerd-202410.15.0", + "upgradeSettings": { + "maxSurge": "10%" + }, + "enableFIPS": false, + "securityProfile": { + "enableVTPM": false, + "enableSecureBoot": false + } + } + ], + "servicePrincipalProfile": { + "clientId": "msi" + }, + "nodeResourceGroup": "MC_asotest-rg-nyuvpf_asotest-mc-gtbfrk_westus3", + "enableRBAC": true, + "supportPlan": "KubernetesOfficial", + "networkProfile": { + "networkPlugin": "kubenet", + "networkPolicy": "none", + "loadBalancerSku": "standard", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 1 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_asotest-rg-nyuvpf_asotest-mc-gtbfrk_westus3/providers/Microsoft.Network/publicIPAddresses/65da7144-370b-4125-9e72-66bf3f7d150d" + } + ], + "backendPoolType": "nodeIPConfiguration" + }, + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ] + }, + "maxAgentPools": 100, + "identityProfile": { + "kubeletidentity": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_asotest-rg-nyuvpf_asotest-mc-gtbfrk_westus3/providers/Microsoft.ManagedIdentity/userAssignedIdentities/asotest-mc-gtbfrk-agentpool", + "clientId": "240c7940-542d-4771-832d-8bb923e69604", + "objectId": "cfa75366-ace5-4adf-a081-bd8373387cd6" + } + }, + "autoUpgradeProfile": { + "nodeOSUpgradeChannel": "NodeImage" + }, + "securityProfile": {}, + "storageProfile": { + "diskCSIDriver": { + "enabled": true + }, + "fileCSIDriver": { + "enabled": true + }, + "snapshotController": { + "enabled": true + } + }, + "oidcIssuerProfile": { + "enabled": false + }, + "workloadAutoScalerProfile": {}, + "resourceUID": "672aab91e643240001f49152", + "metricsProfile": { + "costAnalysis": { + "enabled": false + } + } + }, + "identity": { + "type": "SystemAssigned", + "principalId": "0f438866-e6c0-46ac-9948-e6462467eb36", + "tenantId": "00000000-0000-0000-0000-000000000000" + }, + "sku": { + "name": "Base", + "tier": "Standard" + } + } + headers: + Azure-Asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/a072421f-5227-4135-854c-d794b39ae86a?api-version=2016-03-30&t=638664469532260151&c=MIIHpTCCBo2gAwIBAgITOgM6dTLGpzYZpvPtgQAEAzp1MjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjQwNjI2MDEzMjIxWhcNMjUwNjIxMDEzMjIxWjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPPPKY5bDN03KptFFhiyLIyn86BlrXYFIZWYXA-hY7_WbLyWN0IxcLIUBW_I-9u-YsXOHk9WPMlUYHIFPgHW7A3FsSGfl9dd6YGapKoSSw0NkTpNXM58R54BBgLp7AhiWzK15D9T-XELNSU4Wq9sEeA5T24kazcgS2MUkzELH0I9dwu7g0dwJIuIJkoJjEzg1b1Q3Ie5HKHHNbjottJn7Q5LBS-9QtQyruuwaNTgSJpCoi4PBKVIOTBYL_Nv1wecmKmfWcT0mnhQE9zjhJTbcoN9hKSvAMqsDHtxWUFZosiw3JKIY0zb59CrVGSuOhfN3qaarwN9EAlXLqc4ZyKpsTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBRk_38CqdKjPVylWUR4uuqhbFGeHTAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEATAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAFsx7FtYAzSo98T5ydNFa0ukjPZ6XCQc9zo7ldqy235P_zJAUkaNgCU4EGOzbZJDoMa8mAfhyukL_0GfPeApUaY2e44ZOzoYAkeEuDiwcs-9zoQ1fCyXhn0pCumGFXRilX9KjAPaYTzDvQMEllTy_ZViwTahuKaGtFVamZguBPdaeYC_0oybtTVNQCs8hGnffhNZOMASB-5pFs35MNxsDWTVIQksDee419jqpsbWLkh6rnanILO1O_ihwb-WpvRQByQ5NGpG1-z0MQ6nRpr9wWxUi-DsrVsD38NTMIPc2uei4Ivf6qnGRvOOj0fmsciWuTTEXMaD-5a81mGlzhZc09Q&s=ghvJLbjOTOLz00LcibhqOJXKqE3i6lUjBLLCOVuXru-LlQSc8ESg30f1ewiT1DUpht4zshSzzMTLwkgvqSsmBR6H2KRDJg-TTOPfob5Kmib1eUSsEy8lrSGhSkmZvgVuR1T-Tqbaq7HTRbrp0_Ac7gcIDaoBc_m8ucvgqWWm6trpCPrAPuBAkNm95daOB9KZjcFgdJWkzAmCFAeFB_VnG5cCirJWCVczNAQRkQLc5aOR6aUWz7bTtn5HTrDFg9FSZ_Uwx7aMIBPnWfgEIYa81JDcXo2LxSh9LS3S5vfcgWiIxzYuWbc7nh0BGlTjqA9-3kz0reoCSQpSuU2kTzDfig&h=YKp9FjNVKXXraSxjJdLPxXkO30R0LKfKOj-g9mLHgmU + Cache-Control: + - no-cache + Content-Length: + - "3461" + Content-Type: + - application/json + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Writes: + - "11999" + X-Msedge-Ref: + - 'Ref A: 302C90E9CCAD4FF785B26AA1781CE7BD Ref B: CO6AA3150220035 Ref C: 2024-11-05T23:42:27Z' + status: 200 OK + code: 200 + duration: 6.217224313s + - id: 28 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/a072421f-5227-4135-854c-d794b39ae86a?api-version=2016-03-30&t=638664469532260151&c=MIIHpTCCBo2gAwIBAgITOgM6dTLGpzYZpvPtgQAEAzp1MjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjQwNjI2MDEzMjIxWhcNMjUwNjIxMDEzMjIxWjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPPPKY5bDN03KptFFhiyLIyn86BlrXYFIZWYXA-hY7_WbLyWN0IxcLIUBW_I-9u-YsXOHk9WPMlUYHIFPgHW7A3FsSGfl9dd6YGapKoSSw0NkTpNXM58R54BBgLp7AhiWzK15D9T-XELNSU4Wq9sEeA5T24kazcgS2MUkzELH0I9dwu7g0dwJIuIJkoJjEzg1b1Q3Ie5HKHHNbjottJn7Q5LBS-9QtQyruuwaNTgSJpCoi4PBKVIOTBYL_Nv1wecmKmfWcT0mnhQE9zjhJTbcoN9hKSvAMqsDHtxWUFZosiw3JKIY0zb59CrVGSuOhfN3qaarwN9EAlXLqc4ZyKpsTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBRk_38CqdKjPVylWUR4uuqhbFGeHTAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEATAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAFsx7FtYAzSo98T5ydNFa0ukjPZ6XCQc9zo7ldqy235P_zJAUkaNgCU4EGOzbZJDoMa8mAfhyukL_0GfPeApUaY2e44ZOzoYAkeEuDiwcs-9zoQ1fCyXhn0pCumGFXRilX9KjAPaYTzDvQMEllTy_ZViwTahuKaGtFVamZguBPdaeYC_0oybtTVNQCs8hGnffhNZOMASB-5pFs35MNxsDWTVIQksDee419jqpsbWLkh6rnanILO1O_ihwb-WpvRQByQ5NGpG1-z0MQ6nRpr9wWxUi-DsrVsD38NTMIPc2uei4Ivf6qnGRvOOj0fmsciWuTTEXMaD-5a81mGlzhZc09Q&s=ghvJLbjOTOLz00LcibhqOJXKqE3i6lUjBLLCOVuXru-LlQSc8ESg30f1ewiT1DUpht4zshSzzMTLwkgvqSsmBR6H2KRDJg-TTOPfob5Kmib1eUSsEy8lrSGhSkmZvgVuR1T-Tqbaq7HTRbrp0_Ac7gcIDaoBc_m8ucvgqWWm6trpCPrAPuBAkNm95daOB9KZjcFgdJWkzAmCFAeFB_VnG5cCirJWCVczNAQRkQLc5aOR6aUWz7bTtn5HTrDFg9FSZ_Uwx7aMIBPnWfgEIYa81JDcXo2LxSh9LS3S5vfcgWiIxzYuWbc7nh0BGlTjqA9-3kz0reoCSQpSuU2kTzDfig&h=YKp9FjNVKXXraSxjJdLPxXkO30R0LKfKOj-g9mLHgmU + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 122 + uncompressed: false + body: |- + { + "name": "a072421f-5227-4135-854c-d794b39ae86a", + "status": "InProgress", + "startTime": "2001-02-03T04:05:06Z" + } + headers: + Cache-Control: + - no-cache + Content-Length: + - "122" + Content-Type: + - application/json + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 297A4F61CE4B49BD899D6FAF7FB5B795 Ref B: CO6AA3150220035 Ref C: 2024-11-05T23:42:40Z' + status: 200 OK + code: 200 + duration: 295.053723ms + - id: 29 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "1" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/a072421f-5227-4135-854c-d794b39ae86a?api-version=2016-03-30&t=638664469532260151&c=MIIHpTCCBo2gAwIBAgITOgM6dTLGpzYZpvPtgQAEAzp1MjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjQwNjI2MDEzMjIxWhcNMjUwNjIxMDEzMjIxWjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPPPKY5bDN03KptFFhiyLIyn86BlrXYFIZWYXA-hY7_WbLyWN0IxcLIUBW_I-9u-YsXOHk9WPMlUYHIFPgHW7A3FsSGfl9dd6YGapKoSSw0NkTpNXM58R54BBgLp7AhiWzK15D9T-XELNSU4Wq9sEeA5T24kazcgS2MUkzELH0I9dwu7g0dwJIuIJkoJjEzg1b1Q3Ie5HKHHNbjottJn7Q5LBS-9QtQyruuwaNTgSJpCoi4PBKVIOTBYL_Nv1wecmKmfWcT0mnhQE9zjhJTbcoN9hKSvAMqsDHtxWUFZosiw3JKIY0zb59CrVGSuOhfN3qaarwN9EAlXLqc4ZyKpsTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBRk_38CqdKjPVylWUR4uuqhbFGeHTAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEATAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAFsx7FtYAzSo98T5ydNFa0ukjPZ6XCQc9zo7ldqy235P_zJAUkaNgCU4EGOzbZJDoMa8mAfhyukL_0GfPeApUaY2e44ZOzoYAkeEuDiwcs-9zoQ1fCyXhn0pCumGFXRilX9KjAPaYTzDvQMEllTy_ZViwTahuKaGtFVamZguBPdaeYC_0oybtTVNQCs8hGnffhNZOMASB-5pFs35MNxsDWTVIQksDee419jqpsbWLkh6rnanILO1O_ihwb-WpvRQByQ5NGpG1-z0MQ6nRpr9wWxUi-DsrVsD38NTMIPc2uei4Ivf6qnGRvOOj0fmsciWuTTEXMaD-5a81mGlzhZc09Q&s=ghvJLbjOTOLz00LcibhqOJXKqE3i6lUjBLLCOVuXru-LlQSc8ESg30f1ewiT1DUpht4zshSzzMTLwkgvqSsmBR6H2KRDJg-TTOPfob5Kmib1eUSsEy8lrSGhSkmZvgVuR1T-Tqbaq7HTRbrp0_Ac7gcIDaoBc_m8ucvgqWWm6trpCPrAPuBAkNm95daOB9KZjcFgdJWkzAmCFAeFB_VnG5cCirJWCVczNAQRkQLc5aOR6aUWz7bTtn5HTrDFg9FSZ_Uwx7aMIBPnWfgEIYa81JDcXo2LxSh9LS3S5vfcgWiIxzYuWbc7nh0BGlTjqA9-3kz0reoCSQpSuU2kTzDfig&h=YKp9FjNVKXXraSxjJdLPxXkO30R0LKfKOj-g9mLHgmU + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 122 + uncompressed: false + body: |- + { + "name": "a072421f-5227-4135-854c-d794b39ae86a", + "status": "InProgress", + "startTime": "2001-02-03T04:05:06Z" + } + headers: + Cache-Control: + - no-cache + Content-Length: + - "122" + Content-Type: + - application/json + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 2ED21A432E554238AD71992A651C8D67 Ref B: CO6AA3150220035 Ref C: 2024-11-05T23:42:43Z' + status: 200 OK + code: 200 + duration: 234.639733ms + - id: 30 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "2" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/a072421f-5227-4135-854c-d794b39ae86a?api-version=2016-03-30&t=638664469532260151&c=MIIHpTCCBo2gAwIBAgITOgM6dTLGpzYZpvPtgQAEAzp1MjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjQwNjI2MDEzMjIxWhcNMjUwNjIxMDEzMjIxWjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPPPKY5bDN03KptFFhiyLIyn86BlrXYFIZWYXA-hY7_WbLyWN0IxcLIUBW_I-9u-YsXOHk9WPMlUYHIFPgHW7A3FsSGfl9dd6YGapKoSSw0NkTpNXM58R54BBgLp7AhiWzK15D9T-XELNSU4Wq9sEeA5T24kazcgS2MUkzELH0I9dwu7g0dwJIuIJkoJjEzg1b1Q3Ie5HKHHNbjottJn7Q5LBS-9QtQyruuwaNTgSJpCoi4PBKVIOTBYL_Nv1wecmKmfWcT0mnhQE9zjhJTbcoN9hKSvAMqsDHtxWUFZosiw3JKIY0zb59CrVGSuOhfN3qaarwN9EAlXLqc4ZyKpsTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBRk_38CqdKjPVylWUR4uuqhbFGeHTAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEATAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAFsx7FtYAzSo98T5ydNFa0ukjPZ6XCQc9zo7ldqy235P_zJAUkaNgCU4EGOzbZJDoMa8mAfhyukL_0GfPeApUaY2e44ZOzoYAkeEuDiwcs-9zoQ1fCyXhn0pCumGFXRilX9KjAPaYTzDvQMEllTy_ZViwTahuKaGtFVamZguBPdaeYC_0oybtTVNQCs8hGnffhNZOMASB-5pFs35MNxsDWTVIQksDee419jqpsbWLkh6rnanILO1O_ihwb-WpvRQByQ5NGpG1-z0MQ6nRpr9wWxUi-DsrVsD38NTMIPc2uei4Ivf6qnGRvOOj0fmsciWuTTEXMaD-5a81mGlzhZc09Q&s=ghvJLbjOTOLz00LcibhqOJXKqE3i6lUjBLLCOVuXru-LlQSc8ESg30f1ewiT1DUpht4zshSzzMTLwkgvqSsmBR6H2KRDJg-TTOPfob5Kmib1eUSsEy8lrSGhSkmZvgVuR1T-Tqbaq7HTRbrp0_Ac7gcIDaoBc_m8ucvgqWWm6trpCPrAPuBAkNm95daOB9KZjcFgdJWkzAmCFAeFB_VnG5cCirJWCVczNAQRkQLc5aOR6aUWz7bTtn5HTrDFg9FSZ_Uwx7aMIBPnWfgEIYa81JDcXo2LxSh9LS3S5vfcgWiIxzYuWbc7nh0BGlTjqA9-3kz0reoCSQpSuU2kTzDfig&h=YKp9FjNVKXXraSxjJdLPxXkO30R0LKfKOj-g9mLHgmU + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 122 + uncompressed: false + body: |- + { + "name": "a072421f-5227-4135-854c-d794b39ae86a", + "status": "InProgress", + "startTime": "2001-02-03T04:05:06Z" + } + headers: + Cache-Control: + - no-cache + Content-Length: + - "122" + Content-Type: + - application/json + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 224ED5ABB7624FF986D1F926C64656A0 Ref B: CO6AA3150220035 Ref C: 2024-11-05T23:42:47Z' + status: 200 OK + code: 200 + duration: 107.541108ms + - id: 31 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "3" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/a072421f-5227-4135-854c-d794b39ae86a?api-version=2016-03-30&t=638664469532260151&c=MIIHpTCCBo2gAwIBAgITOgM6dTLGpzYZpvPtgQAEAzp1MjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjQwNjI2MDEzMjIxWhcNMjUwNjIxMDEzMjIxWjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPPPKY5bDN03KptFFhiyLIyn86BlrXYFIZWYXA-hY7_WbLyWN0IxcLIUBW_I-9u-YsXOHk9WPMlUYHIFPgHW7A3FsSGfl9dd6YGapKoSSw0NkTpNXM58R54BBgLp7AhiWzK15D9T-XELNSU4Wq9sEeA5T24kazcgS2MUkzELH0I9dwu7g0dwJIuIJkoJjEzg1b1Q3Ie5HKHHNbjottJn7Q5LBS-9QtQyruuwaNTgSJpCoi4PBKVIOTBYL_Nv1wecmKmfWcT0mnhQE9zjhJTbcoN9hKSvAMqsDHtxWUFZosiw3JKIY0zb59CrVGSuOhfN3qaarwN9EAlXLqc4ZyKpsTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBRk_38CqdKjPVylWUR4uuqhbFGeHTAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEATAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAFsx7FtYAzSo98T5ydNFa0ukjPZ6XCQc9zo7ldqy235P_zJAUkaNgCU4EGOzbZJDoMa8mAfhyukL_0GfPeApUaY2e44ZOzoYAkeEuDiwcs-9zoQ1fCyXhn0pCumGFXRilX9KjAPaYTzDvQMEllTy_ZViwTahuKaGtFVamZguBPdaeYC_0oybtTVNQCs8hGnffhNZOMASB-5pFs35MNxsDWTVIQksDee419jqpsbWLkh6rnanILO1O_ihwb-WpvRQByQ5NGpG1-z0MQ6nRpr9wWxUi-DsrVsD38NTMIPc2uei4Ivf6qnGRvOOj0fmsciWuTTEXMaD-5a81mGlzhZc09Q&s=ghvJLbjOTOLz00LcibhqOJXKqE3i6lUjBLLCOVuXru-LlQSc8ESg30f1ewiT1DUpht4zshSzzMTLwkgvqSsmBR6H2KRDJg-TTOPfob5Kmib1eUSsEy8lrSGhSkmZvgVuR1T-Tqbaq7HTRbrp0_Ac7gcIDaoBc_m8ucvgqWWm6trpCPrAPuBAkNm95daOB9KZjcFgdJWkzAmCFAeFB_VnG5cCirJWCVczNAQRkQLc5aOR6aUWz7bTtn5HTrDFg9FSZ_Uwx7aMIBPnWfgEIYa81JDcXo2LxSh9LS3S5vfcgWiIxzYuWbc7nh0BGlTjqA9-3kz0reoCSQpSuU2kTzDfig&h=YKp9FjNVKXXraSxjJdLPxXkO30R0LKfKOj-g9mLHgmU + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 122 + uncompressed: false + body: |- + { + "name": "a072421f-5227-4135-854c-d794b39ae86a", + "status": "InProgress", + "startTime": "2001-02-03T04:05:06Z" + } + headers: + Cache-Control: + - no-cache + Content-Length: + - "122" + Content-Type: + - application/json + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: D01839C1F4A34D7A99E61C15326D8ED3 Ref B: CO6AA3150220035 Ref C: 2024-11-05T23:42:55Z' + status: 200 OK + code: 200 + duration: 444.708331ms + - id: 32 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "4" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/a072421f-5227-4135-854c-d794b39ae86a?api-version=2016-03-30&t=638664469532260151&c=MIIHpTCCBo2gAwIBAgITOgM6dTLGpzYZpvPtgQAEAzp1MjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjQwNjI2MDEzMjIxWhcNMjUwNjIxMDEzMjIxWjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPPPKY5bDN03KptFFhiyLIyn86BlrXYFIZWYXA-hY7_WbLyWN0IxcLIUBW_I-9u-YsXOHk9WPMlUYHIFPgHW7A3FsSGfl9dd6YGapKoSSw0NkTpNXM58R54BBgLp7AhiWzK15D9T-XELNSU4Wq9sEeA5T24kazcgS2MUkzELH0I9dwu7g0dwJIuIJkoJjEzg1b1Q3Ie5HKHHNbjottJn7Q5LBS-9QtQyruuwaNTgSJpCoi4PBKVIOTBYL_Nv1wecmKmfWcT0mnhQE9zjhJTbcoN9hKSvAMqsDHtxWUFZosiw3JKIY0zb59CrVGSuOhfN3qaarwN9EAlXLqc4ZyKpsTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBRk_38CqdKjPVylWUR4uuqhbFGeHTAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEATAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAFsx7FtYAzSo98T5ydNFa0ukjPZ6XCQc9zo7ldqy235P_zJAUkaNgCU4EGOzbZJDoMa8mAfhyukL_0GfPeApUaY2e44ZOzoYAkeEuDiwcs-9zoQ1fCyXhn0pCumGFXRilX9KjAPaYTzDvQMEllTy_ZViwTahuKaGtFVamZguBPdaeYC_0oybtTVNQCs8hGnffhNZOMASB-5pFs35MNxsDWTVIQksDee419jqpsbWLkh6rnanILO1O_ihwb-WpvRQByQ5NGpG1-z0MQ6nRpr9wWxUi-DsrVsD38NTMIPc2uei4Ivf6qnGRvOOj0fmsciWuTTEXMaD-5a81mGlzhZc09Q&s=ghvJLbjOTOLz00LcibhqOJXKqE3i6lUjBLLCOVuXru-LlQSc8ESg30f1ewiT1DUpht4zshSzzMTLwkgvqSsmBR6H2KRDJg-TTOPfob5Kmib1eUSsEy8lrSGhSkmZvgVuR1T-Tqbaq7HTRbrp0_Ac7gcIDaoBc_m8ucvgqWWm6trpCPrAPuBAkNm95daOB9KZjcFgdJWkzAmCFAeFB_VnG5cCirJWCVczNAQRkQLc5aOR6aUWz7bTtn5HTrDFg9FSZ_Uwx7aMIBPnWfgEIYa81JDcXo2LxSh9LS3S5vfcgWiIxzYuWbc7nh0BGlTjqA9-3kz0reoCSQpSuU2kTzDfig&h=YKp9FjNVKXXraSxjJdLPxXkO30R0LKfKOj-g9mLHgmU + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 122 + uncompressed: false + body: |- + { + "name": "a072421f-5227-4135-854c-d794b39ae86a", + "status": "InProgress", + "startTime": "2001-02-03T04:05:06Z" + } + headers: + Cache-Control: + - no-cache + Content-Length: + - "122" + Content-Type: + - application/json + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 30E4C5D84BCF41ACB4A172D59BDC6EBC Ref B: CO6AA3150220035 Ref C: 2024-11-05T23:43:12Z' + status: 200 OK + code: 200 + duration: 205.883683ms + - id: 33 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "5" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/a072421f-5227-4135-854c-d794b39ae86a?api-version=2016-03-30&t=638664469532260151&c=MIIHpTCCBo2gAwIBAgITOgM6dTLGpzYZpvPtgQAEAzp1MjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjQwNjI2MDEzMjIxWhcNMjUwNjIxMDEzMjIxWjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPPPKY5bDN03KptFFhiyLIyn86BlrXYFIZWYXA-hY7_WbLyWN0IxcLIUBW_I-9u-YsXOHk9WPMlUYHIFPgHW7A3FsSGfl9dd6YGapKoSSw0NkTpNXM58R54BBgLp7AhiWzK15D9T-XELNSU4Wq9sEeA5T24kazcgS2MUkzELH0I9dwu7g0dwJIuIJkoJjEzg1b1Q3Ie5HKHHNbjottJn7Q5LBS-9QtQyruuwaNTgSJpCoi4PBKVIOTBYL_Nv1wecmKmfWcT0mnhQE9zjhJTbcoN9hKSvAMqsDHtxWUFZosiw3JKIY0zb59CrVGSuOhfN3qaarwN9EAlXLqc4ZyKpsTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBRk_38CqdKjPVylWUR4uuqhbFGeHTAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEATAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAFsx7FtYAzSo98T5ydNFa0ukjPZ6XCQc9zo7ldqy235P_zJAUkaNgCU4EGOzbZJDoMa8mAfhyukL_0GfPeApUaY2e44ZOzoYAkeEuDiwcs-9zoQ1fCyXhn0pCumGFXRilX9KjAPaYTzDvQMEllTy_ZViwTahuKaGtFVamZguBPdaeYC_0oybtTVNQCs8hGnffhNZOMASB-5pFs35MNxsDWTVIQksDee419jqpsbWLkh6rnanILO1O_ihwb-WpvRQByQ5NGpG1-z0MQ6nRpr9wWxUi-DsrVsD38NTMIPc2uei4Ivf6qnGRvOOj0fmsciWuTTEXMaD-5a81mGlzhZc09Q&s=ghvJLbjOTOLz00LcibhqOJXKqE3i6lUjBLLCOVuXru-LlQSc8ESg30f1ewiT1DUpht4zshSzzMTLwkgvqSsmBR6H2KRDJg-TTOPfob5Kmib1eUSsEy8lrSGhSkmZvgVuR1T-Tqbaq7HTRbrp0_Ac7gcIDaoBc_m8ucvgqWWm6trpCPrAPuBAkNm95daOB9KZjcFgdJWkzAmCFAeFB_VnG5cCirJWCVczNAQRkQLc5aOR6aUWz7bTtn5HTrDFg9FSZ_Uwx7aMIBPnWfgEIYa81JDcXo2LxSh9LS3S5vfcgWiIxzYuWbc7nh0BGlTjqA9-3kz0reoCSQpSuU2kTzDfig&h=YKp9FjNVKXXraSxjJdLPxXkO30R0LKfKOj-g9mLHgmU + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 122 + uncompressed: false + body: |- + { + "name": "a072421f-5227-4135-854c-d794b39ae86a", + "status": "InProgress", + "startTime": "2001-02-03T04:05:06Z" + } + headers: + Cache-Control: + - no-cache + Content-Length: + - "122" + Content-Type: + - application/json + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 760084677B3E43239017C83DBD5F42BE Ref B: CO6AA3150220035 Ref C: 2024-11-05T23:43:45Z' + status: 200 OK + code: 200 + duration: 145.91636ms + - id: 34 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "6" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/a072421f-5227-4135-854c-d794b39ae86a?api-version=2016-03-30&t=638664469532260151&c=MIIHpTCCBo2gAwIBAgITOgM6dTLGpzYZpvPtgQAEAzp1MjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjQwNjI2MDEzMjIxWhcNMjUwNjIxMDEzMjIxWjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPPPKY5bDN03KptFFhiyLIyn86BlrXYFIZWYXA-hY7_WbLyWN0IxcLIUBW_I-9u-YsXOHk9WPMlUYHIFPgHW7A3FsSGfl9dd6YGapKoSSw0NkTpNXM58R54BBgLp7AhiWzK15D9T-XELNSU4Wq9sEeA5T24kazcgS2MUkzELH0I9dwu7g0dwJIuIJkoJjEzg1b1Q3Ie5HKHHNbjottJn7Q5LBS-9QtQyruuwaNTgSJpCoi4PBKVIOTBYL_Nv1wecmKmfWcT0mnhQE9zjhJTbcoN9hKSvAMqsDHtxWUFZosiw3JKIY0zb59CrVGSuOhfN3qaarwN9EAlXLqc4ZyKpsTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBRk_38CqdKjPVylWUR4uuqhbFGeHTAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEATAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAFsx7FtYAzSo98T5ydNFa0ukjPZ6XCQc9zo7ldqy235P_zJAUkaNgCU4EGOzbZJDoMa8mAfhyukL_0GfPeApUaY2e44ZOzoYAkeEuDiwcs-9zoQ1fCyXhn0pCumGFXRilX9KjAPaYTzDvQMEllTy_ZViwTahuKaGtFVamZguBPdaeYC_0oybtTVNQCs8hGnffhNZOMASB-5pFs35MNxsDWTVIQksDee419jqpsbWLkh6rnanILO1O_ihwb-WpvRQByQ5NGpG1-z0MQ6nRpr9wWxUi-DsrVsD38NTMIPc2uei4Ivf6qnGRvOOj0fmsciWuTTEXMaD-5a81mGlzhZc09Q&s=ghvJLbjOTOLz00LcibhqOJXKqE3i6lUjBLLCOVuXru-LlQSc8ESg30f1ewiT1DUpht4zshSzzMTLwkgvqSsmBR6H2KRDJg-TTOPfob5Kmib1eUSsEy8lrSGhSkmZvgVuR1T-Tqbaq7HTRbrp0_Ac7gcIDaoBc_m8ucvgqWWm6trpCPrAPuBAkNm95daOB9KZjcFgdJWkzAmCFAeFB_VnG5cCirJWCVczNAQRkQLc5aOR6aUWz7bTtn5HTrDFg9FSZ_Uwx7aMIBPnWfgEIYa81JDcXo2LxSh9LS3S5vfcgWiIxzYuWbc7nh0BGlTjqA9-3kz0reoCSQpSuU2kTzDfig&h=YKp9FjNVKXXraSxjJdLPxXkO30R0LKfKOj-g9mLHgmU + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 165 + uncompressed: false + body: |- + { + "name": "a072421f-5227-4135-854c-d794b39ae86a", + "status": "Succeeded", + "startTime": "2001-02-03T04:05:06Z", + "endTime": "2001-02-03T04:05:06Z" + } + headers: + Cache-Control: + - no-cache + Content-Length: + - "165" + Content-Type: + - application/json + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: ADD2C0BC5BD14CE58ECD4EF25D2F457E Ref B: CO6AA3150220035 Ref C: 2024-11-05T23:44:45Z' + status: 200 OK + code: 200 + duration: 160.936064ms + - id: 35 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "7" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-nyuvpf/providers/Microsoft.ContainerService/managedClusters/asotest-mc-gtbfrk?api-version=2024-09-01 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 3425 + uncompressed: false + body: |- + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asotest-rg-nyuvpf/providers/Microsoft.ContainerService/managedClusters/asotest-mc-gtbfrk", + "location": "westus3", + "name": "asotest-mc-gtbfrk", + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "powerState": { + "code": "Running" + }, + "kubernetesVersion": "1.29", + "currentKubernetesVersion": "1.29.9", + "dnsPrefix": "aso", + "fqdn": "aso-ooytoapf.hcp.westus3.azmk8s.io", + "azurePortalFQDN": "aso-ooytoapf.portal.hcp.westus3.azmk8s.io", + "agentPoolProfiles": [ + { + "name": "ap1", + "count": 1, + "vmSize": "Standard_DS2_v2", + "osDiskSizeGB": 128, + "osDiskType": "Managed", + "kubeletDiskType": "OS", + "maxPods": 110, + "type": "VirtualMachineScaleSets", + "enableAutoScaling": false, + "provisioningState": "Succeeded", + "powerState": { + "code": "Running" + }, + "orchestratorVersion": "1.29", + "currentOrchestratorVersion": "1.29.9", + "enableNodePublicIP": false, + "mode": "System", + "osType": "Linux", + "osSKU": "Ubuntu", + "nodeImageVersion": "AKSUbuntu-2204gen2containerd-202410.15.0", + "upgradeSettings": { + "maxSurge": "10%" + }, + "enableFIPS": false, + "securityProfile": { + "enableVTPM": false, + "enableSecureBoot": false + } + } + ], + "servicePrincipalProfile": { + "clientId": "msi" + }, + "nodeResourceGroup": "MC_asotest-rg-nyuvpf_asotest-mc-gtbfrk_westus3", + "enableRBAC": true, + "supportPlan": "KubernetesOfficial", + "networkProfile": { + "networkPlugin": "kubenet", + "networkPolicy": "none", + "loadBalancerSku": "standard", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 1 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_asotest-rg-nyuvpf_asotest-mc-gtbfrk_westus3/providers/Microsoft.Network/publicIPAddresses/65da7144-370b-4125-9e72-66bf3f7d150d" + } + ], + "backendPoolType": "nodeIPConfiguration" + }, + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ] + }, + "maxAgentPools": 100, + "identityProfile": { + "kubeletidentity": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_asotest-rg-nyuvpf_asotest-mc-gtbfrk_westus3/providers/Microsoft.ManagedIdentity/userAssignedIdentities/asotest-mc-gtbfrk-agentpool", + "clientId": "240c7940-542d-4771-832d-8bb923e69604", + "objectId": "cfa75366-ace5-4adf-a081-bd8373387cd6" + } + }, + "autoUpgradeProfile": { + "nodeOSUpgradeChannel": "NodeImage" + }, + "securityProfile": {}, + "storageProfile": { + "diskCSIDriver": { + "enabled": true + }, + "fileCSIDriver": { + "enabled": true + }, + "snapshotController": { + "enabled": true + } + }, + "oidcIssuerProfile": { + "enabled": false + }, + "workloadAutoScalerProfile": {}, + "resourceUID": "672aab91e643240001f49152", + "metricsProfile": { + "costAnalysis": { + "enabled": false + } + } + }, + "identity": { + "type": "SystemAssigned", + "principalId": "0f438866-e6c0-46ac-9948-e6462467eb36", + "tenantId": "00000000-0000-0000-0000-000000000000" + }, + "sku": { + "name": "Base", + "tier": "Standard" + } + } + headers: + Cache-Control: + - no-cache + Content-Length: + - "3425" + Content-Type: + - application/json + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 2E28652447CD4EA89505392DFB470A73 Ref B: CO6AA3150220035 Ref C: 2024-11-05T23:44:45Z' + status: 200 OK + code: 200 + duration: 579.932913ms + - id: 36 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "8" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-nyuvpf/providers/Microsoft.ContainerService/managedClusters/asotest-mc-gtbfrk?api-version=2024-09-01 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 3425 + uncompressed: false + body: |- + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asotest-rg-nyuvpf/providers/Microsoft.ContainerService/managedClusters/asotest-mc-gtbfrk", + "location": "westus3", + "name": "asotest-mc-gtbfrk", + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "powerState": { + "code": "Running" + }, + "kubernetesVersion": "1.29", + "currentKubernetesVersion": "1.29.9", + "dnsPrefix": "aso", + "fqdn": "aso-ooytoapf.hcp.westus3.azmk8s.io", + "azurePortalFQDN": "aso-ooytoapf.portal.hcp.westus3.azmk8s.io", + "agentPoolProfiles": [ + { + "name": "ap1", + "count": 1, + "vmSize": "Standard_DS2_v2", + "osDiskSizeGB": 128, + "osDiskType": "Managed", + "kubeletDiskType": "OS", + "maxPods": 110, + "type": "VirtualMachineScaleSets", + "enableAutoScaling": false, + "provisioningState": "Succeeded", + "powerState": { + "code": "Running" + }, + "orchestratorVersion": "1.29", + "currentOrchestratorVersion": "1.29.9", + "enableNodePublicIP": false, + "mode": "System", + "osType": "Linux", + "osSKU": "Ubuntu", + "nodeImageVersion": "AKSUbuntu-2204gen2containerd-202410.15.0", + "upgradeSettings": { + "maxSurge": "10%" + }, + "enableFIPS": false, + "securityProfile": { + "enableVTPM": false, + "enableSecureBoot": false + } + } + ], + "servicePrincipalProfile": { + "clientId": "msi" + }, + "nodeResourceGroup": "MC_asotest-rg-nyuvpf_asotest-mc-gtbfrk_westus3", + "enableRBAC": true, + "supportPlan": "KubernetesOfficial", + "networkProfile": { + "networkPlugin": "kubenet", + "networkPolicy": "none", + "loadBalancerSku": "standard", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 1 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_asotest-rg-nyuvpf_asotest-mc-gtbfrk_westus3/providers/Microsoft.Network/publicIPAddresses/65da7144-370b-4125-9e72-66bf3f7d150d" + } + ], + "backendPoolType": "nodeIPConfiguration" + }, + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ] + }, + "maxAgentPools": 100, + "identityProfile": { + "kubeletidentity": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_asotest-rg-nyuvpf_asotest-mc-gtbfrk_westus3/providers/Microsoft.ManagedIdentity/userAssignedIdentities/asotest-mc-gtbfrk-agentpool", + "clientId": "240c7940-542d-4771-832d-8bb923e69604", + "objectId": "cfa75366-ace5-4adf-a081-bd8373387cd6" + } + }, + "autoUpgradeProfile": { + "nodeOSUpgradeChannel": "NodeImage" + }, + "securityProfile": {}, + "storageProfile": { + "diskCSIDriver": { + "enabled": true + }, + "fileCSIDriver": { + "enabled": true + }, + "snapshotController": { + "enabled": true + } + }, + "oidcIssuerProfile": { + "enabled": false + }, + "workloadAutoScalerProfile": {}, + "resourceUID": "672aab91e643240001f49152", + "metricsProfile": { + "costAnalysis": { + "enabled": false + } + } + }, + "identity": { + "type": "SystemAssigned", + "principalId": "0f438866-e6c0-46ac-9948-e6462467eb36", + "tenantId": "00000000-0000-0000-0000-000000000000" + }, + "sku": { + "name": "Base", + "tier": "Standard" + } + } + headers: + Cache-Control: + - no-cache + Content-Length: + - "3425" + Content-Type: + - application/json + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 72208A9ABE164B988FE16AF20100344A Ref B: CO6AA3150220035 Ref C: 2024-11-05T23:44:46Z' + status: 200 OK + code: 200 + duration: 558.192524ms + - id: 37 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-nyuvpf/providers/Microsoft.ContainerService/managedClusters/asotest-mc-gtbfrk/listClusterAdminCredential?api-version=2022-04-01 + method: POST + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 13062 + uncompressed: false + body: |- + { + "kubeconfigs": [ + { + "name": "clusterAdmin", + "value": "IA==" + } + ] + } + headers: + Cache-Control: + - no-cache + Content-Length: + - "13062" + Content-Type: + - application/json + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Writes: + - "11999" + X-Msedge-Ref: + - 'Ref A: 1816F0BA8DC64F77AC058E64513104EB Ref B: CO6AA3150220035 Ref C: 2024-11-05T23:44:48Z' + status: 200 OK + code: 200 + duration: 423.814515ms + - id: 38 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-nyuvpf/providers/Microsoft.ContainerService/managedClusters/asotest-mc-gtbfrk/listClusterUserCredential?api-version=2022-04-01 + method: POST + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 13057 + uncompressed: false + body: |- + { + "kubeconfigs": [ + { + "name": "clusterUser", + "value": "IA==" + } + ] + } + headers: + Cache-Control: + - no-cache + Content-Length: + - "13057" + Content-Type: + - application/json + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Writes: + - "11999" + X-Msedge-Ref: + - 'Ref A: 64D69B3D7AA74AB5AE065EBD54FDDE26 Ref B: CO6AA3150220035 Ref C: 2024-11-05T23:44:49Z' + status: 200 OK + code: 200 + duration: 419.417586ms + - id: 39 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-nyuvpf/providers/Microsoft.ContainerService/managedClusters/asotest-mc-gtbfrk/agentPools/ap2?api-version=2024-09-01 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 364 + uncompressed: false + body: |- + { + "code": "NotFound", + "details": [ + { + "code": "Unspecified", + "message": "rpc error: code = NotFound desc = Agent Pool not found" + } + ], + "message": "Could not find the agentpool: ap2 in subscription: 00000000-0000-0000-0000-000000000000, resourceGroup: asotest-rg-nyuvpf, resourceName: asotest-mc-gtbfrk.", + "subcode": "GetAgentPool_NotFound" + } + headers: + Cache-Control: + - no-cache + Content-Length: + - "364" + Content-Type: + - application/json + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: CCA5592759134738A4AC4FAC968AC0BA Ref B: CO6AA3150220035 Ref C: 2024-11-05T23:44:51Z' + status: 404 Not Found + code: 404 + duration: 299.388486ms + - id: 40 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 244 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: '{"name":"aksmanagedautoupgradeschedule","properties":{"maintenanceWindow":{"durationHours":12,"notAllowedDates":null,"schedule":{"weekly":{"dayOfWeek":"Saturday","intervalWeeks":1}},"startTime":"00:00"},"notAllowedTime":null,"timeInWeek":null}}' + form: {} + headers: + Accept: + - application/json + Content-Length: + - "244" + Content-Type: + - application/json + Test-Request-Hash: + - 04ed5e10bdcad77b6708ca575b3a3bb6b770b9cb8b36d5314048d8e6eef50182 + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-nyuvpf/providers/Microsoft.ContainerService/managedClusters/asotest-mc-gtbfrk/maintenanceConfigurations/aksmanagedautoupgradeschedule?api-version=2024-09-01 + method: PUT + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 519 + uncompressed: false + body: |- + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-nyuvpf/providers/Microsoft.ContainerService/managedClusters/asotest-mc-gtbfrk/maintenanceConfigurations/aksmanagedautoupgradeschedule", + "name": "aksmanagedautoupgradeschedule", + "properties": { + "maintenanceWindow": { + "schedule": { + "weekly": { + "intervalWeeks": 1, + "dayOfWeek": "Saturday" + } + }, + "durationHours": 12, + "utcOffset": "+00:00", + "startDate": "2024-11-05", + "startTime": "00:00" + } + } + } + headers: + Cache-Control: + - no-cache + Content-Length: + - "519" + Content-Type: + - application/json + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Writes: + - "11999" + X-Msedge-Ref: + - 'Ref A: 6738C5813B44405B9F96E553C9EA0E15 Ref B: CO6AA3150220035 Ref C: 2024-11-05T23:44:51Z' + status: 200 OK + code: 200 + duration: 466.033411ms + - id: 41 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-nyuvpf/providers/Microsoft.ContainerService/managedClusters/asotest-mc-gtbfrk/maintenanceConfigurations/aksmanagedautoupgradeschedule?api-version=2024-09-01 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 519 + uncompressed: false + body: |- + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-nyuvpf/providers/Microsoft.ContainerService/managedClusters/asotest-mc-gtbfrk/maintenanceConfigurations/aksmanagedautoupgradeschedule", + "name": "aksmanagedautoupgradeschedule", + "properties": { + "maintenanceWindow": { + "schedule": { + "weekly": { + "intervalWeeks": 1, + "dayOfWeek": "Saturday" + } + }, + "durationHours": 12, + "utcOffset": "+00:00", + "startDate": "2024-11-05", + "startTime": "00:00" + } + } + } + headers: + Cache-Control: + - no-cache + Content-Length: + - "519" + Content-Type: + - application/json + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 22A6C20B8F6947D29DB8C1E12B2E7D0A Ref B: CO6AA3150220035 Ref C: 2024-11-05T23:44:52Z' + status: 200 OK + code: 200 + duration: 272.573843ms + - id: 42 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 243 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: '{"name":"aksmanagedautoupgradeschedule","properties":{"maintenanceWindow":{"durationHours":8,"notAllowedDates":null,"schedule":{"weekly":{"dayOfWeek":"Saturday","intervalWeeks":1}},"startTime":"00:00"},"notAllowedTime":null,"timeInWeek":null}}' + form: {} + headers: + Accept: + - application/json + Content-Length: + - "243" + Content-Type: + - application/json + Test-Request-Hash: + - 4be2e05fa94f7d4b5eba2ed3eefe36b9b90f89c313fe0ef62f2cb6409e39f852 + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-nyuvpf/providers/Microsoft.ContainerService/managedClusters/asotest-mc-gtbfrk/maintenanceConfigurations/aksmanagedautoupgradeschedule?api-version=2024-09-01 + method: PUT + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 518 + uncompressed: false + body: |- + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-nyuvpf/providers/Microsoft.ContainerService/managedClusters/asotest-mc-gtbfrk/maintenanceConfigurations/aksmanagedautoupgradeschedule", + "name": "aksmanagedautoupgradeschedule", + "properties": { + "maintenanceWindow": { + "schedule": { + "weekly": { + "intervalWeeks": 1, + "dayOfWeek": "Saturday" + } + }, + "durationHours": 8, + "utcOffset": "+00:00", + "startDate": "2024-11-05", + "startTime": "00:00" + } + } + } + headers: + Cache-Control: + - no-cache + Content-Length: + - "518" + Content-Type: + - application/json + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Writes: + - "11999" + X-Msedge-Ref: + - 'Ref A: 9E849D83E0A443998AC563F10D9041AE Ref B: CO6AA3150220035 Ref C: 2024-11-05T23:44:55Z' + status: 200 OK + code: 200 + duration: 478.145114ms + - id: 43 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "1" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-nyuvpf/providers/Microsoft.ContainerService/managedClusters/asotest-mc-gtbfrk/maintenanceConfigurations/aksmanagedautoupgradeschedule?api-version=2024-09-01 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 518 + uncompressed: false + body: |- + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-nyuvpf/providers/Microsoft.ContainerService/managedClusters/asotest-mc-gtbfrk/maintenanceConfigurations/aksmanagedautoupgradeschedule", + "name": "aksmanagedautoupgradeschedule", + "properties": { + "maintenanceWindow": { + "schedule": { + "weekly": { + "intervalWeeks": 1, + "dayOfWeek": "Saturday" + } + }, + "durationHours": 8, + "utcOffset": "+00:00", + "startDate": "2024-11-05", + "startTime": "00:00" + } + } + } + headers: + Cache-Control: + - no-cache + Content-Length: + - "518" + Content-Type: + - application/json + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 278AAA5045F8400982BF123DAF9A618C Ref B: CO6AA3150220035 Ref C: 2024-11-05T23:44:56Z' + status: 200 OK + code: 200 + duration: 161.69411ms + - id: 44 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 166 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: '{"name":"ap2","properties":{"availabilityZones":null,"count":1,"mode":"System","nodeLabels":{},"nodeTaints":[],"osType":"Linux","tags":{},"vmSize":"Standard_DS2_v2"}}' + form: {} + headers: + Accept: + - application/json + Content-Length: + - "166" + Content-Type: + - application/json + Test-Request-Hash: + - 3adf6c1be5c69cc63a2c223568f0ac3ea1a47d2c3d72d6f5415dcbfe238b54fb + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-nyuvpf/providers/Microsoft.ContainerService/managedClusters/asotest-mc-gtbfrk/agentPools/ap2?api-version=2024-09-01 + method: PUT + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 938 + uncompressed: false + body: |- + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asotest-rg-nyuvpf/providers/Microsoft.ContainerService/managedClusters/asotest-mc-gtbfrk/agentPools/ap2", + "name": "ap2", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "properties": { + "count": 1, + "vmSize": "Standard_DS2_v2", + "osDiskSizeGB": 128, + "osDiskType": "Managed", + "kubeletDiskType": "OS", + "maxPods": 110, + "type": "VirtualMachineScaleSets", + "enableAutoScaling": false, + "scaleDownMode": "Delete", + "provisioningState": "Creating", + "powerState": { + "code": "Running" + }, + "orchestratorVersion": "1.29", + "currentOrchestratorVersion": "1.29.9", + "enableNodePublicIP": false, + "mode": "System", + "osType": "Linux", + "osSKU": "Ubuntu", + "nodeImageVersion": "AKSUbuntu-2204gen2containerd-202410.15.0", + "enableFIPS": false, + "securityProfile": { + "enableVTPM": false, + "enableSecureBoot": false + } + } + } + headers: + Azure-Asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/4cff63c8-6062-4b01-8f73-9da9e6f7f325?api-version=2016-03-30&t=638664470974485203&c=MIIHpTCCBo2gAwIBAgITOgM6dTLGpzYZpvPtgQAEAzp1MjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjQwNjI2MDEzMjIxWhcNMjUwNjIxMDEzMjIxWjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPPPKY5bDN03KptFFhiyLIyn86BlrXYFIZWYXA-hY7_WbLyWN0IxcLIUBW_I-9u-YsXOHk9WPMlUYHIFPgHW7A3FsSGfl9dd6YGapKoSSw0NkTpNXM58R54BBgLp7AhiWzK15D9T-XELNSU4Wq9sEeA5T24kazcgS2MUkzELH0I9dwu7g0dwJIuIJkoJjEzg1b1Q3Ie5HKHHNbjottJn7Q5LBS-9QtQyruuwaNTgSJpCoi4PBKVIOTBYL_Nv1wecmKmfWcT0mnhQE9zjhJTbcoN9hKSvAMqsDHtxWUFZosiw3JKIY0zb59CrVGSuOhfN3qaarwN9EAlXLqc4ZyKpsTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBRk_38CqdKjPVylWUR4uuqhbFGeHTAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEATAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAFsx7FtYAzSo98T5ydNFa0ukjPZ6XCQc9zo7ldqy235P_zJAUkaNgCU4EGOzbZJDoMa8mAfhyukL_0GfPeApUaY2e44ZOzoYAkeEuDiwcs-9zoQ1fCyXhn0pCumGFXRilX9KjAPaYTzDvQMEllTy_ZViwTahuKaGtFVamZguBPdaeYC_0oybtTVNQCs8hGnffhNZOMASB-5pFs35MNxsDWTVIQksDee419jqpsbWLkh6rnanILO1O_ihwb-WpvRQByQ5NGpG1-z0MQ6nRpr9wWxUi-DsrVsD38NTMIPc2uei4Ivf6qnGRvOOj0fmsciWuTTEXMaD-5a81mGlzhZc09Q&s=WIDA2nxAwIGcHg4tbAUxO-GA0rkBlHx2Eeyw1QENDz5nz3cmyc7CEGYrku2RUf9Siay3s-5AVBbKeB9I5tV8xaOcLChzofGbuZm04J32SJYjS5trIWLBCY55vvxaR-FjBvpO4A8QMgWV9x1D3SlaL5yYOsb2xx98gvZLhXUQq-ZsHHaiCuzyGui924HCwQgaVYz5A4WiCpjNHw5BbiQ52k8R618txqzCylkj-RQQ8wMduXmEPkYCbesWRqpJQrF9Nf7UWqMe8gPfk8IBGXH9ZwVjB9UOe1UoHadtX6WeE8FH49aGMOKAR82MmEJfqsC21uKESmH49_rXdLzeXZIC5w&h=8HVvIhdIIt35Gf3YYAfssyIty6NIcHj7rbpxZf68Qyg + Cache-Control: + - no-cache + Content-Length: + - "938" + Content-Type: + - application/json + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Writes: + - "11999" + X-Msedge-Ref: + - 'Ref A: 34B803560D694CCD8A95C417ACF8F93D Ref B: CO6AA3150220035 Ref C: 2024-11-05T23:44:52Z' + status: 201 Created + code: 201 + duration: 5.090911363s + - id: 45 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-nyuvpf/providers/Microsoft.ContainerService/managedClusters/asotest-mc-gtbfrk/maintenanceConfigurations/aksmanagedautoupgradeschedule?api-version=2024-09-01 + method: DELETE + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Deletes: + - "11999" + X-Msedge-Ref: + - 'Ref A: E26E06AF6DE04693B3B1CB1003DFC7DC Ref B: CO6AA3150220035 Ref C: 2024-11-05T23:45:00Z' + status: 200 OK + code: 200 + duration: 326.078732ms + - id: 46 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/4cff63c8-6062-4b01-8f73-9da9e6f7f325?api-version=2016-03-30&t=638664470974485203&c=MIIHpTCCBo2gAwIBAgITOgM6dTLGpzYZpvPtgQAEAzp1MjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjQwNjI2MDEzMjIxWhcNMjUwNjIxMDEzMjIxWjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPPPKY5bDN03KptFFhiyLIyn86BlrXYFIZWYXA-hY7_WbLyWN0IxcLIUBW_I-9u-YsXOHk9WPMlUYHIFPgHW7A3FsSGfl9dd6YGapKoSSw0NkTpNXM58R54BBgLp7AhiWzK15D9T-XELNSU4Wq9sEeA5T24kazcgS2MUkzELH0I9dwu7g0dwJIuIJkoJjEzg1b1Q3Ie5HKHHNbjottJn7Q5LBS-9QtQyruuwaNTgSJpCoi4PBKVIOTBYL_Nv1wecmKmfWcT0mnhQE9zjhJTbcoN9hKSvAMqsDHtxWUFZosiw3JKIY0zb59CrVGSuOhfN3qaarwN9EAlXLqc4ZyKpsTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBRk_38CqdKjPVylWUR4uuqhbFGeHTAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEATAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAFsx7FtYAzSo98T5ydNFa0ukjPZ6XCQc9zo7ldqy235P_zJAUkaNgCU4EGOzbZJDoMa8mAfhyukL_0GfPeApUaY2e44ZOzoYAkeEuDiwcs-9zoQ1fCyXhn0pCumGFXRilX9KjAPaYTzDvQMEllTy_ZViwTahuKaGtFVamZguBPdaeYC_0oybtTVNQCs8hGnffhNZOMASB-5pFs35MNxsDWTVIQksDee419jqpsbWLkh6rnanILO1O_ihwb-WpvRQByQ5NGpG1-z0MQ6nRpr9wWxUi-DsrVsD38NTMIPc2uei4Ivf6qnGRvOOj0fmsciWuTTEXMaD-5a81mGlzhZc09Q&s=WIDA2nxAwIGcHg4tbAUxO-GA0rkBlHx2Eeyw1QENDz5nz3cmyc7CEGYrku2RUf9Siay3s-5AVBbKeB9I5tV8xaOcLChzofGbuZm04J32SJYjS5trIWLBCY55vvxaR-FjBvpO4A8QMgWV9x1D3SlaL5yYOsb2xx98gvZLhXUQq-ZsHHaiCuzyGui924HCwQgaVYz5A4WiCpjNHw5BbiQ52k8R618txqzCylkj-RQQ8wMduXmEPkYCbesWRqpJQrF9Nf7UWqMe8gPfk8IBGXH9ZwVjB9UOe1UoHadtX6WeE8FH49aGMOKAR82MmEJfqsC21uKESmH49_rXdLzeXZIC5w&h=8HVvIhdIIt35Gf3YYAfssyIty6NIcHj7rbpxZf68Qyg + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 122 + uncompressed: false + body: |- + { + "name": "4cff63c8-6062-4b01-8f73-9da9e6f7f325", + "status": "InProgress", + "startTime": "2001-02-03T04:05:06Z" + } + headers: + Cache-Control: + - no-cache + Content-Length: + - "122" + Content-Type: + - application/json + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 735EF52F42234AA69DC74165034D1483 Ref B: CO6AA3150220035 Ref C: 2024-11-05T23:45:04Z' + status: 200 OK + code: 200 + duration: 281.185238ms + - id: 47 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "1" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/4cff63c8-6062-4b01-8f73-9da9e6f7f325?api-version=2016-03-30&t=638664470974485203&c=MIIHpTCCBo2gAwIBAgITOgM6dTLGpzYZpvPtgQAEAzp1MjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjQwNjI2MDEzMjIxWhcNMjUwNjIxMDEzMjIxWjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPPPKY5bDN03KptFFhiyLIyn86BlrXYFIZWYXA-hY7_WbLyWN0IxcLIUBW_I-9u-YsXOHk9WPMlUYHIFPgHW7A3FsSGfl9dd6YGapKoSSw0NkTpNXM58R54BBgLp7AhiWzK15D9T-XELNSU4Wq9sEeA5T24kazcgS2MUkzELH0I9dwu7g0dwJIuIJkoJjEzg1b1Q3Ie5HKHHNbjottJn7Q5LBS-9QtQyruuwaNTgSJpCoi4PBKVIOTBYL_Nv1wecmKmfWcT0mnhQE9zjhJTbcoN9hKSvAMqsDHtxWUFZosiw3JKIY0zb59CrVGSuOhfN3qaarwN9EAlXLqc4ZyKpsTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBRk_38CqdKjPVylWUR4uuqhbFGeHTAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEATAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAFsx7FtYAzSo98T5ydNFa0ukjPZ6XCQc9zo7ldqy235P_zJAUkaNgCU4EGOzbZJDoMa8mAfhyukL_0GfPeApUaY2e44ZOzoYAkeEuDiwcs-9zoQ1fCyXhn0pCumGFXRilX9KjAPaYTzDvQMEllTy_ZViwTahuKaGtFVamZguBPdaeYC_0oybtTVNQCs8hGnffhNZOMASB-5pFs35MNxsDWTVIQksDee419jqpsbWLkh6rnanILO1O_ihwb-WpvRQByQ5NGpG1-z0MQ6nRpr9wWxUi-DsrVsD38NTMIPc2uei4Ivf6qnGRvOOj0fmsciWuTTEXMaD-5a81mGlzhZc09Q&s=WIDA2nxAwIGcHg4tbAUxO-GA0rkBlHx2Eeyw1QENDz5nz3cmyc7CEGYrku2RUf9Siay3s-5AVBbKeB9I5tV8xaOcLChzofGbuZm04J32SJYjS5trIWLBCY55vvxaR-FjBvpO4A8QMgWV9x1D3SlaL5yYOsb2xx98gvZLhXUQq-ZsHHaiCuzyGui924HCwQgaVYz5A4WiCpjNHw5BbiQ52k8R618txqzCylkj-RQQ8wMduXmEPkYCbesWRqpJQrF9Nf7UWqMe8gPfk8IBGXH9ZwVjB9UOe1UoHadtX6WeE8FH49aGMOKAR82MmEJfqsC21uKESmH49_rXdLzeXZIC5w&h=8HVvIhdIIt35Gf3YYAfssyIty6NIcHj7rbpxZf68Qyg + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 122 + uncompressed: false + body: |- + { + "name": "4cff63c8-6062-4b01-8f73-9da9e6f7f325", + "status": "InProgress", + "startTime": "2001-02-03T04:05:06Z" + } + headers: + Cache-Control: + - no-cache + Content-Length: + - "122" + Content-Type: + - application/json + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 40B375D243EB465DA8757D7576DCBE33 Ref B: CO6AA3150220035 Ref C: 2024-11-05T23:45:09Z' + status: 200 OK + code: 200 + duration: 286.236919ms + - id: 48 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "2" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/4cff63c8-6062-4b01-8f73-9da9e6f7f325?api-version=2016-03-30&t=638664470974485203&c=MIIHpTCCBo2gAwIBAgITOgM6dTLGpzYZpvPtgQAEAzp1MjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjQwNjI2MDEzMjIxWhcNMjUwNjIxMDEzMjIxWjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPPPKY5bDN03KptFFhiyLIyn86BlrXYFIZWYXA-hY7_WbLyWN0IxcLIUBW_I-9u-YsXOHk9WPMlUYHIFPgHW7A3FsSGfl9dd6YGapKoSSw0NkTpNXM58R54BBgLp7AhiWzK15D9T-XELNSU4Wq9sEeA5T24kazcgS2MUkzELH0I9dwu7g0dwJIuIJkoJjEzg1b1Q3Ie5HKHHNbjottJn7Q5LBS-9QtQyruuwaNTgSJpCoi4PBKVIOTBYL_Nv1wecmKmfWcT0mnhQE9zjhJTbcoN9hKSvAMqsDHtxWUFZosiw3JKIY0zb59CrVGSuOhfN3qaarwN9EAlXLqc4ZyKpsTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBRk_38CqdKjPVylWUR4uuqhbFGeHTAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEATAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAFsx7FtYAzSo98T5ydNFa0ukjPZ6XCQc9zo7ldqy235P_zJAUkaNgCU4EGOzbZJDoMa8mAfhyukL_0GfPeApUaY2e44ZOzoYAkeEuDiwcs-9zoQ1fCyXhn0pCumGFXRilX9KjAPaYTzDvQMEllTy_ZViwTahuKaGtFVamZguBPdaeYC_0oybtTVNQCs8hGnffhNZOMASB-5pFs35MNxsDWTVIQksDee419jqpsbWLkh6rnanILO1O_ihwb-WpvRQByQ5NGpG1-z0MQ6nRpr9wWxUi-DsrVsD38NTMIPc2uei4Ivf6qnGRvOOj0fmsciWuTTEXMaD-5a81mGlzhZc09Q&s=WIDA2nxAwIGcHg4tbAUxO-GA0rkBlHx2Eeyw1QENDz5nz3cmyc7CEGYrku2RUf9Siay3s-5AVBbKeB9I5tV8xaOcLChzofGbuZm04J32SJYjS5trIWLBCY55vvxaR-FjBvpO4A8QMgWV9x1D3SlaL5yYOsb2xx98gvZLhXUQq-ZsHHaiCuzyGui924HCwQgaVYz5A4WiCpjNHw5BbiQ52k8R618txqzCylkj-RQQ8wMduXmEPkYCbesWRqpJQrF9Nf7UWqMe8gPfk8IBGXH9ZwVjB9UOe1UoHadtX6WeE8FH49aGMOKAR82MmEJfqsC21uKESmH49_rXdLzeXZIC5w&h=8HVvIhdIIt35Gf3YYAfssyIty6NIcHj7rbpxZf68Qyg + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 122 + uncompressed: false + body: |- + { + "name": "4cff63c8-6062-4b01-8f73-9da9e6f7f325", + "status": "InProgress", + "startTime": "2001-02-03T04:05:06Z" + } + headers: + Cache-Control: + - no-cache + Content-Length: + - "122" + Content-Type: + - application/json + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 1E28F5D3F6494B82B59948541487BE58 Ref B: CO6AA3150220035 Ref C: 2024-11-05T23:45:17Z' + status: 200 OK + code: 200 + duration: 132.390076ms + - id: 49 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "3" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/4cff63c8-6062-4b01-8f73-9da9e6f7f325?api-version=2016-03-30&t=638664470974485203&c=MIIHpTCCBo2gAwIBAgITOgM6dTLGpzYZpvPtgQAEAzp1MjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjQwNjI2MDEzMjIxWhcNMjUwNjIxMDEzMjIxWjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPPPKY5bDN03KptFFhiyLIyn86BlrXYFIZWYXA-hY7_WbLyWN0IxcLIUBW_I-9u-YsXOHk9WPMlUYHIFPgHW7A3FsSGfl9dd6YGapKoSSw0NkTpNXM58R54BBgLp7AhiWzK15D9T-XELNSU4Wq9sEeA5T24kazcgS2MUkzELH0I9dwu7g0dwJIuIJkoJjEzg1b1Q3Ie5HKHHNbjottJn7Q5LBS-9QtQyruuwaNTgSJpCoi4PBKVIOTBYL_Nv1wecmKmfWcT0mnhQE9zjhJTbcoN9hKSvAMqsDHtxWUFZosiw3JKIY0zb59CrVGSuOhfN3qaarwN9EAlXLqc4ZyKpsTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBRk_38CqdKjPVylWUR4uuqhbFGeHTAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEATAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAFsx7FtYAzSo98T5ydNFa0ukjPZ6XCQc9zo7ldqy235P_zJAUkaNgCU4EGOzbZJDoMa8mAfhyukL_0GfPeApUaY2e44ZOzoYAkeEuDiwcs-9zoQ1fCyXhn0pCumGFXRilX9KjAPaYTzDvQMEllTy_ZViwTahuKaGtFVamZguBPdaeYC_0oybtTVNQCs8hGnffhNZOMASB-5pFs35MNxsDWTVIQksDee419jqpsbWLkh6rnanILO1O_ihwb-WpvRQByQ5NGpG1-z0MQ6nRpr9wWxUi-DsrVsD38NTMIPc2uei4Ivf6qnGRvOOj0fmsciWuTTEXMaD-5a81mGlzhZc09Q&s=WIDA2nxAwIGcHg4tbAUxO-GA0rkBlHx2Eeyw1QENDz5nz3cmyc7CEGYrku2RUf9Siay3s-5AVBbKeB9I5tV8xaOcLChzofGbuZm04J32SJYjS5trIWLBCY55vvxaR-FjBvpO4A8QMgWV9x1D3SlaL5yYOsb2xx98gvZLhXUQq-ZsHHaiCuzyGui924HCwQgaVYz5A4WiCpjNHw5BbiQ52k8R618txqzCylkj-RQQ8wMduXmEPkYCbesWRqpJQrF9Nf7UWqMe8gPfk8IBGXH9ZwVjB9UOe1UoHadtX6WeE8FH49aGMOKAR82MmEJfqsC21uKESmH49_rXdLzeXZIC5w&h=8HVvIhdIIt35Gf3YYAfssyIty6NIcHj7rbpxZf68Qyg + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 122 + uncompressed: false + body: |- + { + "name": "4cff63c8-6062-4b01-8f73-9da9e6f7f325", + "status": "InProgress", + "startTime": "2001-02-03T04:05:06Z" + } + headers: + Cache-Control: + - no-cache + Content-Length: + - "122" + Content-Type: + - application/json + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 01CFF62BDBB5426D8152E228891A7EE4 Ref B: CO6AA3150220035 Ref C: 2024-11-05T23:45:34Z' + status: 200 OK + code: 200 + duration: 128.248993ms + - id: 50 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "4" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/4cff63c8-6062-4b01-8f73-9da9e6f7f325?api-version=2016-03-30&t=638664470974485203&c=MIIHpTCCBo2gAwIBAgITOgM6dTLGpzYZpvPtgQAEAzp1MjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjQwNjI2MDEzMjIxWhcNMjUwNjIxMDEzMjIxWjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPPPKY5bDN03KptFFhiyLIyn86BlrXYFIZWYXA-hY7_WbLyWN0IxcLIUBW_I-9u-YsXOHk9WPMlUYHIFPgHW7A3FsSGfl9dd6YGapKoSSw0NkTpNXM58R54BBgLp7AhiWzK15D9T-XELNSU4Wq9sEeA5T24kazcgS2MUkzELH0I9dwu7g0dwJIuIJkoJjEzg1b1Q3Ie5HKHHNbjottJn7Q5LBS-9QtQyruuwaNTgSJpCoi4PBKVIOTBYL_Nv1wecmKmfWcT0mnhQE9zjhJTbcoN9hKSvAMqsDHtxWUFZosiw3JKIY0zb59CrVGSuOhfN3qaarwN9EAlXLqc4ZyKpsTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBRk_38CqdKjPVylWUR4uuqhbFGeHTAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEATAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAFsx7FtYAzSo98T5ydNFa0ukjPZ6XCQc9zo7ldqy235P_zJAUkaNgCU4EGOzbZJDoMa8mAfhyukL_0GfPeApUaY2e44ZOzoYAkeEuDiwcs-9zoQ1fCyXhn0pCumGFXRilX9KjAPaYTzDvQMEllTy_ZViwTahuKaGtFVamZguBPdaeYC_0oybtTVNQCs8hGnffhNZOMASB-5pFs35MNxsDWTVIQksDee419jqpsbWLkh6rnanILO1O_ihwb-WpvRQByQ5NGpG1-z0MQ6nRpr9wWxUi-DsrVsD38NTMIPc2uei4Ivf6qnGRvOOj0fmsciWuTTEXMaD-5a81mGlzhZc09Q&s=WIDA2nxAwIGcHg4tbAUxO-GA0rkBlHx2Eeyw1QENDz5nz3cmyc7CEGYrku2RUf9Siay3s-5AVBbKeB9I5tV8xaOcLChzofGbuZm04J32SJYjS5trIWLBCY55vvxaR-FjBvpO4A8QMgWV9x1D3SlaL5yYOsb2xx98gvZLhXUQq-ZsHHaiCuzyGui924HCwQgaVYz5A4WiCpjNHw5BbiQ52k8R618txqzCylkj-RQQ8wMduXmEPkYCbesWRqpJQrF9Nf7UWqMe8gPfk8IBGXH9ZwVjB9UOe1UoHadtX6WeE8FH49aGMOKAR82MmEJfqsC21uKESmH49_rXdLzeXZIC5w&h=8HVvIhdIIt35Gf3YYAfssyIty6NIcHj7rbpxZf68Qyg + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 122 + uncompressed: false + body: |- + { + "name": "4cff63c8-6062-4b01-8f73-9da9e6f7f325", + "status": "InProgress", + "startTime": "2001-02-03T04:05:06Z" + } + headers: + Cache-Control: + - no-cache + Content-Length: + - "122" + Content-Type: + - application/json + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 21839FA10CD048079728712E1D8D25EF Ref B: CO6AA3150220035 Ref C: 2024-11-05T23:46:06Z' + status: 200 OK + code: 200 + duration: 198.191852ms + - id: 51 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "5" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/4cff63c8-6062-4b01-8f73-9da9e6f7f325?api-version=2016-03-30&t=638664470974485203&c=MIIHpTCCBo2gAwIBAgITOgM6dTLGpzYZpvPtgQAEAzp1MjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjQwNjI2MDEzMjIxWhcNMjUwNjIxMDEzMjIxWjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPPPKY5bDN03KptFFhiyLIyn86BlrXYFIZWYXA-hY7_WbLyWN0IxcLIUBW_I-9u-YsXOHk9WPMlUYHIFPgHW7A3FsSGfl9dd6YGapKoSSw0NkTpNXM58R54BBgLp7AhiWzK15D9T-XELNSU4Wq9sEeA5T24kazcgS2MUkzELH0I9dwu7g0dwJIuIJkoJjEzg1b1Q3Ie5HKHHNbjottJn7Q5LBS-9QtQyruuwaNTgSJpCoi4PBKVIOTBYL_Nv1wecmKmfWcT0mnhQE9zjhJTbcoN9hKSvAMqsDHtxWUFZosiw3JKIY0zb59CrVGSuOhfN3qaarwN9EAlXLqc4ZyKpsTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBRk_38CqdKjPVylWUR4uuqhbFGeHTAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEATAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAFsx7FtYAzSo98T5ydNFa0ukjPZ6XCQc9zo7ldqy235P_zJAUkaNgCU4EGOzbZJDoMa8mAfhyukL_0GfPeApUaY2e44ZOzoYAkeEuDiwcs-9zoQ1fCyXhn0pCumGFXRilX9KjAPaYTzDvQMEllTy_ZViwTahuKaGtFVamZguBPdaeYC_0oybtTVNQCs8hGnffhNZOMASB-5pFs35MNxsDWTVIQksDee419jqpsbWLkh6rnanILO1O_ihwb-WpvRQByQ5NGpG1-z0MQ6nRpr9wWxUi-DsrVsD38NTMIPc2uei4Ivf6qnGRvOOj0fmsciWuTTEXMaD-5a81mGlzhZc09Q&s=WIDA2nxAwIGcHg4tbAUxO-GA0rkBlHx2Eeyw1QENDz5nz3cmyc7CEGYrku2RUf9Siay3s-5AVBbKeB9I5tV8xaOcLChzofGbuZm04J32SJYjS5trIWLBCY55vvxaR-FjBvpO4A8QMgWV9x1D3SlaL5yYOsb2xx98gvZLhXUQq-ZsHHaiCuzyGui924HCwQgaVYz5A4WiCpjNHw5BbiQ52k8R618txqzCylkj-RQQ8wMduXmEPkYCbesWRqpJQrF9Nf7UWqMe8gPfk8IBGXH9ZwVjB9UOe1UoHadtX6WeE8FH49aGMOKAR82MmEJfqsC21uKESmH49_rXdLzeXZIC5w&h=8HVvIhdIIt35Gf3YYAfssyIty6NIcHj7rbpxZf68Qyg + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 165 + uncompressed: false + body: |- + { + "name": "4cff63c8-6062-4b01-8f73-9da9e6f7f325", + "status": "Succeeded", + "startTime": "2001-02-03T04:05:06Z", + "endTime": "2001-02-03T04:05:06Z" + } + headers: + Cache-Control: + - no-cache + Content-Length: + - "165" + Content-Type: + - application/json + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 19C4382D0063411886C246813D117316 Ref B: CO6AA3150220035 Ref C: 2024-11-05T23:47:06Z' + status: 200 OK + code: 200 + duration: 212.298733ms + - id: 52 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "1" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-nyuvpf/providers/Microsoft.ContainerService/managedClusters/asotest-mc-gtbfrk/agentPools/ap2?api-version=2024-09-01 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 939 + uncompressed: false + body: |- + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asotest-rg-nyuvpf/providers/Microsoft.ContainerService/managedClusters/asotest-mc-gtbfrk/agentPools/ap2", + "name": "ap2", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "properties": { + "count": 1, + "vmSize": "Standard_DS2_v2", + "osDiskSizeGB": 128, + "osDiskType": "Managed", + "kubeletDiskType": "OS", + "maxPods": 110, + "type": "VirtualMachineScaleSets", + "enableAutoScaling": false, + "scaleDownMode": "Delete", + "provisioningState": "Succeeded", + "powerState": { + "code": "Running" + }, + "orchestratorVersion": "1.29", + "currentOrchestratorVersion": "1.29.9", + "enableNodePublicIP": false, + "mode": "System", + "osType": "Linux", + "osSKU": "Ubuntu", + "nodeImageVersion": "AKSUbuntu-2204gen2containerd-202410.15.0", + "enableFIPS": false, + "securityProfile": { + "enableVTPM": false, + "enableSecureBoot": false + } + } + } + headers: + Cache-Control: + - no-cache + Content-Length: + - "939" + Content-Type: + - application/json + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: FB174B5CBA20418D95C0EEBF49212609 Ref B: CO6AA3150220035 Ref C: 2024-11-05T23:47:07Z' + status: 200 OK + code: 200 + duration: 571.692618ms + - id: 53 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "2" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-nyuvpf/providers/Microsoft.ContainerService/managedClusters/asotest-mc-gtbfrk/agentPools/ap2?api-version=2024-09-01 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 939 + uncompressed: false + body: |- + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asotest-rg-nyuvpf/providers/Microsoft.ContainerService/managedClusters/asotest-mc-gtbfrk/agentPools/ap2", + "name": "ap2", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "properties": { + "count": 1, + "vmSize": "Standard_DS2_v2", + "osDiskSizeGB": 128, + "osDiskType": "Managed", + "kubeletDiskType": "OS", + "maxPods": 110, + "type": "VirtualMachineScaleSets", + "enableAutoScaling": false, + "scaleDownMode": "Delete", + "provisioningState": "Succeeded", + "powerState": { + "code": "Running" + }, + "orchestratorVersion": "1.29", + "currentOrchestratorVersion": "1.29.9", + "enableNodePublicIP": false, + "mode": "System", + "osType": "Linux", + "osSKU": "Ubuntu", + "nodeImageVersion": "AKSUbuntu-2204gen2containerd-202410.15.0", + "enableFIPS": false, + "securityProfile": { + "enableVTPM": false, + "enableSecureBoot": false + } + } + } + headers: + Cache-Control: + - no-cache + Content-Length: + - "939" + Content-Type: + - application/json + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 43435792BBA149769A055A50855B50F9 Ref B: CO6AA3150220035 Ref C: 2024-11-05T23:47:08Z' + status: 200 OK + code: 200 + duration: 616.485019ms + - id: 54 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "3" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-nyuvpf/providers/Microsoft.ContainerService/managedClusters/asotest-mc-gtbfrk/agentPools/ap2?api-version=2024-09-01 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 939 + uncompressed: false + body: |- + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asotest-rg-nyuvpf/providers/Microsoft.ContainerService/managedClusters/asotest-mc-gtbfrk/agentPools/ap2", + "name": "ap2", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "properties": { + "count": 1, + "vmSize": "Standard_DS2_v2", + "osDiskSizeGB": 128, + "osDiskType": "Managed", + "kubeletDiskType": "OS", + "maxPods": 110, + "type": "VirtualMachineScaleSets", + "enableAutoScaling": false, + "scaleDownMode": "Delete", + "provisioningState": "Succeeded", + "powerState": { + "code": "Running" + }, + "orchestratorVersion": "1.29", + "currentOrchestratorVersion": "1.29.9", + "enableNodePublicIP": false, + "mode": "System", + "osType": "Linux", + "osSKU": "Ubuntu", + "nodeImageVersion": "AKSUbuntu-2204gen2containerd-202410.15.0", + "enableFIPS": false, + "securityProfile": { + "enableVTPM": false, + "enableSecureBoot": false + } + } + } + headers: + Cache-Control: + - no-cache + Content-Length: + - "939" + Content-Type: + - application/json + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: BFBCD18F3B36490296B4FD4C0F94093D Ref B: CO6AA3150220035 Ref C: 2024-11-05T23:47:10Z' + status: 200 OK + code: 200 + duration: 602.073094ms + - id: 55 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 183 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: '{"name":"ap2","properties":{"availabilityZones":null,"count":1,"mode":"System","nodeLabels":{"mylabel":"label"},"nodeTaints":[],"osType":"Linux","tags":{},"vmSize":"Standard_DS2_v2"}}' + form: {} + headers: + Accept: + - application/json + Content-Length: + - "183" + Content-Type: + - application/json + Test-Request-Hash: + - 811e0d16d1b950df631fd5ea718b64bd93b1410fe8344b039b68dbc6c1d9f319 + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-nyuvpf/providers/Microsoft.ContainerService/managedClusters/asotest-mc-gtbfrk/agentPools/ap2?api-version=2024-09-01 + method: PUT + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 983 + uncompressed: false + body: |- + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asotest-rg-nyuvpf/providers/Microsoft.ContainerService/managedClusters/asotest-mc-gtbfrk/agentPools/ap2", + "name": "ap2", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "properties": { + "count": 1, + "vmSize": "Standard_DS2_v2", + "osDiskSizeGB": 128, + "osDiskType": "Managed", + "kubeletDiskType": "OS", + "maxPods": 110, + "type": "VirtualMachineScaleSets", + "enableAutoScaling": false, + "scaleDownMode": "Delete", + "provisioningState": "Updating", + "powerState": { + "code": "Running" + }, + "orchestratorVersion": "1.29", + "currentOrchestratorVersion": "1.29.9", + "enableNodePublicIP": false, + "nodeLabels": { + "mylabel": "label" + }, + "mode": "System", + "osType": "Linux", + "osSKU": "Ubuntu", + "nodeImageVersion": "AKSUbuntu-2204gen2containerd-202410.15.0", + "enableFIPS": false, + "securityProfile": { + "enableVTPM": false, + "enableSecureBoot": false + } + } + } + headers: + Azure-Asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/fd272894-330f-42ac-8f22-eb3abfa50a7c?api-version=2016-03-30&t=638664472378879640&c=MIIHpTCCBo2gAwIBAgITOgM6dTLGpzYZpvPtgQAEAzp1MjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjQwNjI2MDEzMjIxWhcNMjUwNjIxMDEzMjIxWjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPPPKY5bDN03KptFFhiyLIyn86BlrXYFIZWYXA-hY7_WbLyWN0IxcLIUBW_I-9u-YsXOHk9WPMlUYHIFPgHW7A3FsSGfl9dd6YGapKoSSw0NkTpNXM58R54BBgLp7AhiWzK15D9T-XELNSU4Wq9sEeA5T24kazcgS2MUkzELH0I9dwu7g0dwJIuIJkoJjEzg1b1Q3Ie5HKHHNbjottJn7Q5LBS-9QtQyruuwaNTgSJpCoi4PBKVIOTBYL_Nv1wecmKmfWcT0mnhQE9zjhJTbcoN9hKSvAMqsDHtxWUFZosiw3JKIY0zb59CrVGSuOhfN3qaarwN9EAlXLqc4ZyKpsTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBRk_38CqdKjPVylWUR4uuqhbFGeHTAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEATAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAFsx7FtYAzSo98T5ydNFa0ukjPZ6XCQc9zo7ldqy235P_zJAUkaNgCU4EGOzbZJDoMa8mAfhyukL_0GfPeApUaY2e44ZOzoYAkeEuDiwcs-9zoQ1fCyXhn0pCumGFXRilX9KjAPaYTzDvQMEllTy_ZViwTahuKaGtFVamZguBPdaeYC_0oybtTVNQCs8hGnffhNZOMASB-5pFs35MNxsDWTVIQksDee419jqpsbWLkh6rnanILO1O_ihwb-WpvRQByQ5NGpG1-z0MQ6nRpr9wWxUi-DsrVsD38NTMIPc2uei4Ivf6qnGRvOOj0fmsciWuTTEXMaD-5a81mGlzhZc09Q&s=qRjjti9G-4jiXlBq0aM8SFTMXPlFyvw5NR10VE7kpgiuHHchmJ-PxQlosTjLUidZJHe9WU6V9wAopsZndx4r1TCzReEy_dqt4eXnVWuHUiHSztNbPnIpUUreOHoBvY0DtEUq2q_CYCkqiVMQ8dwEm3uh_-da78dl39ubwlI2rj19qio1cLwg1EKnTOVOfAiwZrM0Ej1kHQEaPftSSW1YGj3T4aNVXjsNtfEfjAi8DDKRsOSbKeMxebTbhzweFwV5qZ-e3XTvUQuFVcmLHwxrZaXJWEoBSUq66P-AUNGabHRdqS57Ex_qiJgaoxF9yOPAXThczm5Krag3xtdP2zg1Sg&h=2I3yrgdf93hlus_qvSBJY_Te5f_V5-qlFZtrLknfJj8 + Cache-Control: + - no-cache + Content-Length: + - "983" + Content-Type: + - application/json + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Writes: + - "11999" + X-Msedge-Ref: + - 'Ref A: B2C957F04A1447A69984F67501B1CC86 Ref B: CO6AA3150220035 Ref C: 2024-11-05T23:47:12Z' + status: 200 OK + code: 200 + duration: 5.773697914s + - id: 56 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/fd272894-330f-42ac-8f22-eb3abfa50a7c?api-version=2016-03-30&t=638664472378879640&c=MIIHpTCCBo2gAwIBAgITOgM6dTLGpzYZpvPtgQAEAzp1MjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjQwNjI2MDEzMjIxWhcNMjUwNjIxMDEzMjIxWjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPPPKY5bDN03KptFFhiyLIyn86BlrXYFIZWYXA-hY7_WbLyWN0IxcLIUBW_I-9u-YsXOHk9WPMlUYHIFPgHW7A3FsSGfl9dd6YGapKoSSw0NkTpNXM58R54BBgLp7AhiWzK15D9T-XELNSU4Wq9sEeA5T24kazcgS2MUkzELH0I9dwu7g0dwJIuIJkoJjEzg1b1Q3Ie5HKHHNbjottJn7Q5LBS-9QtQyruuwaNTgSJpCoi4PBKVIOTBYL_Nv1wecmKmfWcT0mnhQE9zjhJTbcoN9hKSvAMqsDHtxWUFZosiw3JKIY0zb59CrVGSuOhfN3qaarwN9EAlXLqc4ZyKpsTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBRk_38CqdKjPVylWUR4uuqhbFGeHTAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEATAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAFsx7FtYAzSo98T5ydNFa0ukjPZ6XCQc9zo7ldqy235P_zJAUkaNgCU4EGOzbZJDoMa8mAfhyukL_0GfPeApUaY2e44ZOzoYAkeEuDiwcs-9zoQ1fCyXhn0pCumGFXRilX9KjAPaYTzDvQMEllTy_ZViwTahuKaGtFVamZguBPdaeYC_0oybtTVNQCs8hGnffhNZOMASB-5pFs35MNxsDWTVIQksDee419jqpsbWLkh6rnanILO1O_ihwb-WpvRQByQ5NGpG1-z0MQ6nRpr9wWxUi-DsrVsD38NTMIPc2uei4Ivf6qnGRvOOj0fmsciWuTTEXMaD-5a81mGlzhZc09Q&s=qRjjti9G-4jiXlBq0aM8SFTMXPlFyvw5NR10VE7kpgiuHHchmJ-PxQlosTjLUidZJHe9WU6V9wAopsZndx4r1TCzReEy_dqt4eXnVWuHUiHSztNbPnIpUUreOHoBvY0DtEUq2q_CYCkqiVMQ8dwEm3uh_-da78dl39ubwlI2rj19qio1cLwg1EKnTOVOfAiwZrM0Ej1kHQEaPftSSW1YGj3T4aNVXjsNtfEfjAi8DDKRsOSbKeMxebTbhzweFwV5qZ-e3XTvUQuFVcmLHwxrZaXJWEoBSUq66P-AUNGabHRdqS57Ex_qiJgaoxF9yOPAXThczm5Krag3xtdP2zg1Sg&h=2I3yrgdf93hlus_qvSBJY_Te5f_V5-qlFZtrLknfJj8 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 122 + uncompressed: false + body: |- + { + "name": "fd272894-330f-42ac-8f22-eb3abfa50a7c", + "status": "InProgress", + "startTime": "2001-02-03T04:05:06Z" + } + headers: + Cache-Control: + - no-cache + Content-Length: + - "122" + Content-Type: + - application/json + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 91965028826243D596586FB14BBBA72F Ref B: CO6AA3150220035 Ref C: 2024-11-05T23:47:24Z' + status: 200 OK + code: 200 + duration: 277.873747ms + - id: 57 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "1" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/fd272894-330f-42ac-8f22-eb3abfa50a7c?api-version=2016-03-30&t=638664472378879640&c=MIIHpTCCBo2gAwIBAgITOgM6dTLGpzYZpvPtgQAEAzp1MjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjQwNjI2MDEzMjIxWhcNMjUwNjIxMDEzMjIxWjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPPPKY5bDN03KptFFhiyLIyn86BlrXYFIZWYXA-hY7_WbLyWN0IxcLIUBW_I-9u-YsXOHk9WPMlUYHIFPgHW7A3FsSGfl9dd6YGapKoSSw0NkTpNXM58R54BBgLp7AhiWzK15D9T-XELNSU4Wq9sEeA5T24kazcgS2MUkzELH0I9dwu7g0dwJIuIJkoJjEzg1b1Q3Ie5HKHHNbjottJn7Q5LBS-9QtQyruuwaNTgSJpCoi4PBKVIOTBYL_Nv1wecmKmfWcT0mnhQE9zjhJTbcoN9hKSvAMqsDHtxWUFZosiw3JKIY0zb59CrVGSuOhfN3qaarwN9EAlXLqc4ZyKpsTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBRk_38CqdKjPVylWUR4uuqhbFGeHTAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEATAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAFsx7FtYAzSo98T5ydNFa0ukjPZ6XCQc9zo7ldqy235P_zJAUkaNgCU4EGOzbZJDoMa8mAfhyukL_0GfPeApUaY2e44ZOzoYAkeEuDiwcs-9zoQ1fCyXhn0pCumGFXRilX9KjAPaYTzDvQMEllTy_ZViwTahuKaGtFVamZguBPdaeYC_0oybtTVNQCs8hGnffhNZOMASB-5pFs35MNxsDWTVIQksDee419jqpsbWLkh6rnanILO1O_ihwb-WpvRQByQ5NGpG1-z0MQ6nRpr9wWxUi-DsrVsD38NTMIPc2uei4Ivf6qnGRvOOj0fmsciWuTTEXMaD-5a81mGlzhZc09Q&s=qRjjti9G-4jiXlBq0aM8SFTMXPlFyvw5NR10VE7kpgiuHHchmJ-PxQlosTjLUidZJHe9WU6V9wAopsZndx4r1TCzReEy_dqt4eXnVWuHUiHSztNbPnIpUUreOHoBvY0DtEUq2q_CYCkqiVMQ8dwEm3uh_-da78dl39ubwlI2rj19qio1cLwg1EKnTOVOfAiwZrM0Ej1kHQEaPftSSW1YGj3T4aNVXjsNtfEfjAi8DDKRsOSbKeMxebTbhzweFwV5qZ-e3XTvUQuFVcmLHwxrZaXJWEoBSUq66P-AUNGabHRdqS57Ex_qiJgaoxF9yOPAXThczm5Krag3xtdP2zg1Sg&h=2I3yrgdf93hlus_qvSBJY_Te5f_V5-qlFZtrLknfJj8 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 165 + uncompressed: false + body: |- + { + "name": "fd272894-330f-42ac-8f22-eb3abfa50a7c", + "status": "Succeeded", + "startTime": "2001-02-03T04:05:06Z", + "endTime": "2001-02-03T04:05:06Z" + } + headers: + Cache-Control: + - no-cache + Content-Length: + - "165" + Content-Type: + - application/json + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 7C485A4BFFF24EF4842DC2D23521AAC1 Ref B: CO6AA3150220035 Ref C: 2024-11-05T23:47:27Z' + status: 200 OK + code: 200 + duration: 210.561256ms + - id: 58 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "4" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-nyuvpf/providers/Microsoft.ContainerService/managedClusters/asotest-mc-gtbfrk/agentPools/ap2?api-version=2024-09-01 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 984 + uncompressed: false + body: |- + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asotest-rg-nyuvpf/providers/Microsoft.ContainerService/managedClusters/asotest-mc-gtbfrk/agentPools/ap2", + "name": "ap2", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "properties": { + "count": 1, + "vmSize": "Standard_DS2_v2", + "osDiskSizeGB": 128, + "osDiskType": "Managed", + "kubeletDiskType": "OS", + "maxPods": 110, + "type": "VirtualMachineScaleSets", + "enableAutoScaling": false, + "scaleDownMode": "Delete", + "provisioningState": "Succeeded", + "powerState": { + "code": "Running" + }, + "orchestratorVersion": "1.29", + "currentOrchestratorVersion": "1.29.9", + "enableNodePublicIP": false, + "nodeLabels": { + "mylabel": "label" + }, + "mode": "System", + "osType": "Linux", + "osSKU": "Ubuntu", + "nodeImageVersion": "AKSUbuntu-2204gen2containerd-202410.15.0", + "enableFIPS": false, + "securityProfile": { + "enableVTPM": false, + "enableSecureBoot": false + } + } + } + headers: + Cache-Control: + - no-cache + Content-Length: + - "984" + Content-Type: + - application/json + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 64A50752127443919B46623B2D01BB38 Ref B: CO6AA3150220035 Ref C: 2024-11-05T23:47:27Z' + status: 200 OK + code: 200 + duration: 566.333747ms + - id: 59 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "5" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-nyuvpf/providers/Microsoft.ContainerService/managedClusters/asotest-mc-gtbfrk/agentPools/ap2?api-version=2024-09-01 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 984 + uncompressed: false + body: |- + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asotest-rg-nyuvpf/providers/Microsoft.ContainerService/managedClusters/asotest-mc-gtbfrk/agentPools/ap2", + "name": "ap2", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "properties": { + "count": 1, + "vmSize": "Standard_DS2_v2", + "osDiskSizeGB": 128, + "osDiskType": "Managed", + "kubeletDiskType": "OS", + "maxPods": 110, + "type": "VirtualMachineScaleSets", + "enableAutoScaling": false, + "scaleDownMode": "Delete", + "provisioningState": "Succeeded", + "powerState": { + "code": "Running" + }, + "orchestratorVersion": "1.29", + "currentOrchestratorVersion": "1.29.9", + "enableNodePublicIP": false, + "nodeLabels": { + "mylabel": "label" + }, + "mode": "System", + "osType": "Linux", + "osSKU": "Ubuntu", + "nodeImageVersion": "AKSUbuntu-2204gen2containerd-202410.15.0", + "enableFIPS": false, + "securityProfile": { + "enableVTPM": false, + "enableSecureBoot": false + } + } + } + headers: + Cache-Control: + - no-cache + Content-Length: + - "984" + Content-Type: + - application/json + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 1F4DB2353BAD4750865DAE5BF98F3701 Ref B: CO6AA3150220035 Ref C: 2024-11-05T23:47:28Z' + status: 200 OK + code: 200 + duration: 559.128627ms + - id: 60 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-nyuvpf/providers/Microsoft.ContainerService/managedClusters/asotest-mc-gtbfrk/agentPools/ap2?api-version=2024-09-01 + method: DELETE + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Azure-Asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/15c31d0f-fbc2-4acd-8cac-8a4b42c22f88?api-version=2016-03-30&t=638664472514418517&c=MIIHpTCCBo2gAwIBAgITOgM6dTLGpzYZpvPtgQAEAzp1MjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjQwNjI2MDEzMjIxWhcNMjUwNjIxMDEzMjIxWjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPPPKY5bDN03KptFFhiyLIyn86BlrXYFIZWYXA-hY7_WbLyWN0IxcLIUBW_I-9u-YsXOHk9WPMlUYHIFPgHW7A3FsSGfl9dd6YGapKoSSw0NkTpNXM58R54BBgLp7AhiWzK15D9T-XELNSU4Wq9sEeA5T24kazcgS2MUkzELH0I9dwu7g0dwJIuIJkoJjEzg1b1Q3Ie5HKHHNbjottJn7Q5LBS-9QtQyruuwaNTgSJpCoi4PBKVIOTBYL_Nv1wecmKmfWcT0mnhQE9zjhJTbcoN9hKSvAMqsDHtxWUFZosiw3JKIY0zb59CrVGSuOhfN3qaarwN9EAlXLqc4ZyKpsTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBRk_38CqdKjPVylWUR4uuqhbFGeHTAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEATAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAFsx7FtYAzSo98T5ydNFa0ukjPZ6XCQc9zo7ldqy235P_zJAUkaNgCU4EGOzbZJDoMa8mAfhyukL_0GfPeApUaY2e44ZOzoYAkeEuDiwcs-9zoQ1fCyXhn0pCumGFXRilX9KjAPaYTzDvQMEllTy_ZViwTahuKaGtFVamZguBPdaeYC_0oybtTVNQCs8hGnffhNZOMASB-5pFs35MNxsDWTVIQksDee419jqpsbWLkh6rnanILO1O_ihwb-WpvRQByQ5NGpG1-z0MQ6nRpr9wWxUi-DsrVsD38NTMIPc2uei4Ivf6qnGRvOOj0fmsciWuTTEXMaD-5a81mGlzhZc09Q&s=66V6klxeULe1fhYBZdq-x6G9aztf_IG8Zw-7OG8Lq7-pQEm8L87Woh-Pdhc2S3HcLP1ifwK8cPi5x5WEo-8n9pRJBSzN1VpdSZLXNf3wnyj1MIF6ejLCJbqlFuWGRxcLVvRJzdH1NbRxNQdYVsjyqlse6FAlJTWI5Z6wW1IXwXw1Vpb90NWNOwsVmeEpkEw98t534yhxO5uSV4JpaWRcbOP10TE_V17aCNLfFJWtdAgOgWobeteA5oZEWixU18rVAiGUgS1Vf3VqwxW3MSaFzonZbYL_fd0WfEV5LOs8msx3xJtHSyZLbp7x6isBKN3nr36pk0ard-NwWx9M6_Bgrw&h=v2ynYlO5LZQLiIGbWkok1n760UHnCWV-lih1lU5p7RQ + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operationresults/15c31d0f-fbc2-4acd-8cac-8a4b42c22f88?api-version=2016-03-30&t=638664472514724727&c=MIIHpTCCBo2gAwIBAgITOgM6dTLGpzYZpvPtgQAEAzp1MjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjQwNjI2MDEzMjIxWhcNMjUwNjIxMDEzMjIxWjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPPPKY5bDN03KptFFhiyLIyn86BlrXYFIZWYXA-hY7_WbLyWN0IxcLIUBW_I-9u-YsXOHk9WPMlUYHIFPgHW7A3FsSGfl9dd6YGapKoSSw0NkTpNXM58R54BBgLp7AhiWzK15D9T-XELNSU4Wq9sEeA5T24kazcgS2MUkzELH0I9dwu7g0dwJIuIJkoJjEzg1b1Q3Ie5HKHHNbjottJn7Q5LBS-9QtQyruuwaNTgSJpCoi4PBKVIOTBYL_Nv1wecmKmfWcT0mnhQE9zjhJTbcoN9hKSvAMqsDHtxWUFZosiw3JKIY0zb59CrVGSuOhfN3qaarwN9EAlXLqc4ZyKpsTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBRk_38CqdKjPVylWUR4uuqhbFGeHTAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEATAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAFsx7FtYAzSo98T5ydNFa0ukjPZ6XCQc9zo7ldqy235P_zJAUkaNgCU4EGOzbZJDoMa8mAfhyukL_0GfPeApUaY2e44ZOzoYAkeEuDiwcs-9zoQ1fCyXhn0pCumGFXRilX9KjAPaYTzDvQMEllTy_ZViwTahuKaGtFVamZguBPdaeYC_0oybtTVNQCs8hGnffhNZOMASB-5pFs35MNxsDWTVIQksDee419jqpsbWLkh6rnanILO1O_ihwb-WpvRQByQ5NGpG1-z0MQ6nRpr9wWxUi-DsrVsD38NTMIPc2uei4Ivf6qnGRvOOj0fmsciWuTTEXMaD-5a81mGlzhZc09Q&s=ooODDuupr2h5XAykE48k4g3--FMmC3nBIF-Vx9A5ufdBgK8ZHNOw0_g-OtKF_S_R5qagwHX7uHp36HgJ0X-UVo0ZACCuPZRoaTkSf9ZXfKeD5SQbuqtTHktbFtZ_XnmfyCTHM2saP8cUgTz1syGHWJFOJatYdGWw6FlXVhYCw5KZu8rlpnTe55uuU21COumR_9o3aSkRFVVc01_f2_dDTJ5R4p58EDfjt0b4qkJdKO6ZF3X20SKgX_iUwan2GpEEpdjhSBUNqoAMGmW8S-8Cso4tL_nRgr7bxGFmwZLwX0NgYOa-JV60-BOsSnYJLmbtwIiGMbfWFUIyEGJAzbMzLg&h=SuGzuspO3cLiGO7F__VcLABZWYzsfmGgTdoVLJN5pP8 + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Deletes: + - "11999" + X-Msedge-Ref: + - 'Ref A: BF260D4B2F024D40BE5AD6ED69E8679D Ref B: CO6AA3150220035 Ref C: 2024-11-05T23:47:30Z' + status: 202 Accepted + code: 202 + duration: 525.964843ms + - id: 61 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/15c31d0f-fbc2-4acd-8cac-8a4b42c22f88?api-version=2016-03-30&t=638664472514418517&c=MIIHpTCCBo2gAwIBAgITOgM6dTLGpzYZpvPtgQAEAzp1MjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjQwNjI2MDEzMjIxWhcNMjUwNjIxMDEzMjIxWjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPPPKY5bDN03KptFFhiyLIyn86BlrXYFIZWYXA-hY7_WbLyWN0IxcLIUBW_I-9u-YsXOHk9WPMlUYHIFPgHW7A3FsSGfl9dd6YGapKoSSw0NkTpNXM58R54BBgLp7AhiWzK15D9T-XELNSU4Wq9sEeA5T24kazcgS2MUkzELH0I9dwu7g0dwJIuIJkoJjEzg1b1Q3Ie5HKHHNbjottJn7Q5LBS-9QtQyruuwaNTgSJpCoi4PBKVIOTBYL_Nv1wecmKmfWcT0mnhQE9zjhJTbcoN9hKSvAMqsDHtxWUFZosiw3JKIY0zb59CrVGSuOhfN3qaarwN9EAlXLqc4ZyKpsTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBRk_38CqdKjPVylWUR4uuqhbFGeHTAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEATAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAFsx7FtYAzSo98T5ydNFa0ukjPZ6XCQc9zo7ldqy235P_zJAUkaNgCU4EGOzbZJDoMa8mAfhyukL_0GfPeApUaY2e44ZOzoYAkeEuDiwcs-9zoQ1fCyXhn0pCumGFXRilX9KjAPaYTzDvQMEllTy_ZViwTahuKaGtFVamZguBPdaeYC_0oybtTVNQCs8hGnffhNZOMASB-5pFs35MNxsDWTVIQksDee419jqpsbWLkh6rnanILO1O_ihwb-WpvRQByQ5NGpG1-z0MQ6nRpr9wWxUi-DsrVsD38NTMIPc2uei4Ivf6qnGRvOOj0fmsciWuTTEXMaD-5a81mGlzhZc09Q&s=66V6klxeULe1fhYBZdq-x6G9aztf_IG8Zw-7OG8Lq7-pQEm8L87Woh-Pdhc2S3HcLP1ifwK8cPi5x5WEo-8n9pRJBSzN1VpdSZLXNf3wnyj1MIF6ejLCJbqlFuWGRxcLVvRJzdH1NbRxNQdYVsjyqlse6FAlJTWI5Z6wW1IXwXw1Vpb90NWNOwsVmeEpkEw98t534yhxO5uSV4JpaWRcbOP10TE_V17aCNLfFJWtdAgOgWobeteA5oZEWixU18rVAiGUgS1Vf3VqwxW3MSaFzonZbYL_fd0WfEV5LOs8msx3xJtHSyZLbp7x6isBKN3nr36pk0ard-NwWx9M6_Bgrw&h=v2ynYlO5LZQLiIGbWkok1n760UHnCWV-lih1lU5p7RQ + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 122 + uncompressed: false + body: |- + { + "name": "15c31d0f-fbc2-4acd-8cac-8a4b42c22f88", + "status": "InProgress", + "startTime": "2001-02-03T04:05:06Z" + } + headers: + Cache-Control: + - no-cache + Content-Length: + - "122" + Content-Type: + - application/json + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: E805D7308A1C406EB350DD32F1F5B932 Ref B: CO6AA3150220035 Ref C: 2024-11-05T23:47:33Z' + status: 200 OK + code: 200 + duration: 217.706424ms + - id: 62 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "1" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/15c31d0f-fbc2-4acd-8cac-8a4b42c22f88?api-version=2016-03-30&t=638664472514418517&c=MIIHpTCCBo2gAwIBAgITOgM6dTLGpzYZpvPtgQAEAzp1MjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjQwNjI2MDEzMjIxWhcNMjUwNjIxMDEzMjIxWjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPPPKY5bDN03KptFFhiyLIyn86BlrXYFIZWYXA-hY7_WbLyWN0IxcLIUBW_I-9u-YsXOHk9WPMlUYHIFPgHW7A3FsSGfl9dd6YGapKoSSw0NkTpNXM58R54BBgLp7AhiWzK15D9T-XELNSU4Wq9sEeA5T24kazcgS2MUkzELH0I9dwu7g0dwJIuIJkoJjEzg1b1Q3Ie5HKHHNbjottJn7Q5LBS-9QtQyruuwaNTgSJpCoi4PBKVIOTBYL_Nv1wecmKmfWcT0mnhQE9zjhJTbcoN9hKSvAMqsDHtxWUFZosiw3JKIY0zb59CrVGSuOhfN3qaarwN9EAlXLqc4ZyKpsTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBRk_38CqdKjPVylWUR4uuqhbFGeHTAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEATAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAFsx7FtYAzSo98T5ydNFa0ukjPZ6XCQc9zo7ldqy235P_zJAUkaNgCU4EGOzbZJDoMa8mAfhyukL_0GfPeApUaY2e44ZOzoYAkeEuDiwcs-9zoQ1fCyXhn0pCumGFXRilX9KjAPaYTzDvQMEllTy_ZViwTahuKaGtFVamZguBPdaeYC_0oybtTVNQCs8hGnffhNZOMASB-5pFs35MNxsDWTVIQksDee419jqpsbWLkh6rnanILO1O_ihwb-WpvRQByQ5NGpG1-z0MQ6nRpr9wWxUi-DsrVsD38NTMIPc2uei4Ivf6qnGRvOOj0fmsciWuTTEXMaD-5a81mGlzhZc09Q&s=66V6klxeULe1fhYBZdq-x6G9aztf_IG8Zw-7OG8Lq7-pQEm8L87Woh-Pdhc2S3HcLP1ifwK8cPi5x5WEo-8n9pRJBSzN1VpdSZLXNf3wnyj1MIF6ejLCJbqlFuWGRxcLVvRJzdH1NbRxNQdYVsjyqlse6FAlJTWI5Z6wW1IXwXw1Vpb90NWNOwsVmeEpkEw98t534yhxO5uSV4JpaWRcbOP10TE_V17aCNLfFJWtdAgOgWobeteA5oZEWixU18rVAiGUgS1Vf3VqwxW3MSaFzonZbYL_fd0WfEV5LOs8msx3xJtHSyZLbp7x6isBKN3nr36pk0ard-NwWx9M6_Bgrw&h=v2ynYlO5LZQLiIGbWkok1n760UHnCWV-lih1lU5p7RQ + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 122 + uncompressed: false + body: |- + { + "name": "15c31d0f-fbc2-4acd-8cac-8a4b42c22f88", + "status": "InProgress", + "startTime": "2001-02-03T04:05:06Z" + } + headers: + Cache-Control: + - no-cache + Content-Length: + - "122" + Content-Type: + - application/json + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 27726C66CBD44059A3FEA05E3A3CD799 Ref B: CO6AA3150220035 Ref C: 2024-11-05T23:47:35Z' + status: 200 OK + code: 200 + duration: 187.205896ms + - id: 63 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "2" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/15c31d0f-fbc2-4acd-8cac-8a4b42c22f88?api-version=2016-03-30&t=638664472514418517&c=MIIHpTCCBo2gAwIBAgITOgM6dTLGpzYZpvPtgQAEAzp1MjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjQwNjI2MDEzMjIxWhcNMjUwNjIxMDEzMjIxWjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPPPKY5bDN03KptFFhiyLIyn86BlrXYFIZWYXA-hY7_WbLyWN0IxcLIUBW_I-9u-YsXOHk9WPMlUYHIFPgHW7A3FsSGfl9dd6YGapKoSSw0NkTpNXM58R54BBgLp7AhiWzK15D9T-XELNSU4Wq9sEeA5T24kazcgS2MUkzELH0I9dwu7g0dwJIuIJkoJjEzg1b1Q3Ie5HKHHNbjottJn7Q5LBS-9QtQyruuwaNTgSJpCoi4PBKVIOTBYL_Nv1wecmKmfWcT0mnhQE9zjhJTbcoN9hKSvAMqsDHtxWUFZosiw3JKIY0zb59CrVGSuOhfN3qaarwN9EAlXLqc4ZyKpsTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBRk_38CqdKjPVylWUR4uuqhbFGeHTAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEATAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAFsx7FtYAzSo98T5ydNFa0ukjPZ6XCQc9zo7ldqy235P_zJAUkaNgCU4EGOzbZJDoMa8mAfhyukL_0GfPeApUaY2e44ZOzoYAkeEuDiwcs-9zoQ1fCyXhn0pCumGFXRilX9KjAPaYTzDvQMEllTy_ZViwTahuKaGtFVamZguBPdaeYC_0oybtTVNQCs8hGnffhNZOMASB-5pFs35MNxsDWTVIQksDee419jqpsbWLkh6rnanILO1O_ihwb-WpvRQByQ5NGpG1-z0MQ6nRpr9wWxUi-DsrVsD38NTMIPc2uei4Ivf6qnGRvOOj0fmsciWuTTEXMaD-5a81mGlzhZc09Q&s=66V6klxeULe1fhYBZdq-x6G9aztf_IG8Zw-7OG8Lq7-pQEm8L87Woh-Pdhc2S3HcLP1ifwK8cPi5x5WEo-8n9pRJBSzN1VpdSZLXNf3wnyj1MIF6ejLCJbqlFuWGRxcLVvRJzdH1NbRxNQdYVsjyqlse6FAlJTWI5Z6wW1IXwXw1Vpb90NWNOwsVmeEpkEw98t534yhxO5uSV4JpaWRcbOP10TE_V17aCNLfFJWtdAgOgWobeteA5oZEWixU18rVAiGUgS1Vf3VqwxW3MSaFzonZbYL_fd0WfEV5LOs8msx3xJtHSyZLbp7x6isBKN3nr36pk0ard-NwWx9M6_Bgrw&h=v2ynYlO5LZQLiIGbWkok1n760UHnCWV-lih1lU5p7RQ + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 122 + uncompressed: false + body: |- + { + "name": "15c31d0f-fbc2-4acd-8cac-8a4b42c22f88", + "status": "InProgress", + "startTime": "2001-02-03T04:05:06Z" + } + headers: + Cache-Control: + - no-cache + Content-Length: + - "122" + Content-Type: + - application/json + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 34630C7B75CA49638D45CF8C69F11181 Ref B: CO6AA3150220035 Ref C: 2024-11-05T23:47:39Z' + status: 200 OK + code: 200 + duration: 191.007383ms + - id: 64 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "3" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/15c31d0f-fbc2-4acd-8cac-8a4b42c22f88?api-version=2016-03-30&t=638664472514418517&c=MIIHpTCCBo2gAwIBAgITOgM6dTLGpzYZpvPtgQAEAzp1MjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjQwNjI2MDEzMjIxWhcNMjUwNjIxMDEzMjIxWjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPPPKY5bDN03KptFFhiyLIyn86BlrXYFIZWYXA-hY7_WbLyWN0IxcLIUBW_I-9u-YsXOHk9WPMlUYHIFPgHW7A3FsSGfl9dd6YGapKoSSw0NkTpNXM58R54BBgLp7AhiWzK15D9T-XELNSU4Wq9sEeA5T24kazcgS2MUkzELH0I9dwu7g0dwJIuIJkoJjEzg1b1Q3Ie5HKHHNbjottJn7Q5LBS-9QtQyruuwaNTgSJpCoi4PBKVIOTBYL_Nv1wecmKmfWcT0mnhQE9zjhJTbcoN9hKSvAMqsDHtxWUFZosiw3JKIY0zb59CrVGSuOhfN3qaarwN9EAlXLqc4ZyKpsTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBRk_38CqdKjPVylWUR4uuqhbFGeHTAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEATAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAFsx7FtYAzSo98T5ydNFa0ukjPZ6XCQc9zo7ldqy235P_zJAUkaNgCU4EGOzbZJDoMa8mAfhyukL_0GfPeApUaY2e44ZOzoYAkeEuDiwcs-9zoQ1fCyXhn0pCumGFXRilX9KjAPaYTzDvQMEllTy_ZViwTahuKaGtFVamZguBPdaeYC_0oybtTVNQCs8hGnffhNZOMASB-5pFs35MNxsDWTVIQksDee419jqpsbWLkh6rnanILO1O_ihwb-WpvRQByQ5NGpG1-z0MQ6nRpr9wWxUi-DsrVsD38NTMIPc2uei4Ivf6qnGRvOOj0fmsciWuTTEXMaD-5a81mGlzhZc09Q&s=66V6klxeULe1fhYBZdq-x6G9aztf_IG8Zw-7OG8Lq7-pQEm8L87Woh-Pdhc2S3HcLP1ifwK8cPi5x5WEo-8n9pRJBSzN1VpdSZLXNf3wnyj1MIF6ejLCJbqlFuWGRxcLVvRJzdH1NbRxNQdYVsjyqlse6FAlJTWI5Z6wW1IXwXw1Vpb90NWNOwsVmeEpkEw98t534yhxO5uSV4JpaWRcbOP10TE_V17aCNLfFJWtdAgOgWobeteA5oZEWixU18rVAiGUgS1Vf3VqwxW3MSaFzonZbYL_fd0WfEV5LOs8msx3xJtHSyZLbp7x6isBKN3nr36pk0ard-NwWx9M6_Bgrw&h=v2ynYlO5LZQLiIGbWkok1n760UHnCWV-lih1lU5p7RQ + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 122 + uncompressed: false + body: |- + { + "name": "15c31d0f-fbc2-4acd-8cac-8a4b42c22f88", + "status": "InProgress", + "startTime": "2001-02-03T04:05:06Z" + } + headers: + Cache-Control: + - no-cache + Content-Length: + - "122" + Content-Type: + - application/json + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 60B14489F23043FF8C6765D4771D9C33 Ref B: CO6AA3150220035 Ref C: 2024-11-05T23:47:48Z' + status: 200 OK + code: 200 + duration: 239.570819ms + - id: 65 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "4" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/15c31d0f-fbc2-4acd-8cac-8a4b42c22f88?api-version=2016-03-30&t=638664472514418517&c=MIIHpTCCBo2gAwIBAgITOgM6dTLGpzYZpvPtgQAEAzp1MjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjQwNjI2MDEzMjIxWhcNMjUwNjIxMDEzMjIxWjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPPPKY5bDN03KptFFhiyLIyn86BlrXYFIZWYXA-hY7_WbLyWN0IxcLIUBW_I-9u-YsXOHk9WPMlUYHIFPgHW7A3FsSGfl9dd6YGapKoSSw0NkTpNXM58R54BBgLp7AhiWzK15D9T-XELNSU4Wq9sEeA5T24kazcgS2MUkzELH0I9dwu7g0dwJIuIJkoJjEzg1b1Q3Ie5HKHHNbjottJn7Q5LBS-9QtQyruuwaNTgSJpCoi4PBKVIOTBYL_Nv1wecmKmfWcT0mnhQE9zjhJTbcoN9hKSvAMqsDHtxWUFZosiw3JKIY0zb59CrVGSuOhfN3qaarwN9EAlXLqc4ZyKpsTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBRk_38CqdKjPVylWUR4uuqhbFGeHTAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEATAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAFsx7FtYAzSo98T5ydNFa0ukjPZ6XCQc9zo7ldqy235P_zJAUkaNgCU4EGOzbZJDoMa8mAfhyukL_0GfPeApUaY2e44ZOzoYAkeEuDiwcs-9zoQ1fCyXhn0pCumGFXRilX9KjAPaYTzDvQMEllTy_ZViwTahuKaGtFVamZguBPdaeYC_0oybtTVNQCs8hGnffhNZOMASB-5pFs35MNxsDWTVIQksDee419jqpsbWLkh6rnanILO1O_ihwb-WpvRQByQ5NGpG1-z0MQ6nRpr9wWxUi-DsrVsD38NTMIPc2uei4Ivf6qnGRvOOj0fmsciWuTTEXMaD-5a81mGlzhZc09Q&s=66V6klxeULe1fhYBZdq-x6G9aztf_IG8Zw-7OG8Lq7-pQEm8L87Woh-Pdhc2S3HcLP1ifwK8cPi5x5WEo-8n9pRJBSzN1VpdSZLXNf3wnyj1MIF6ejLCJbqlFuWGRxcLVvRJzdH1NbRxNQdYVsjyqlse6FAlJTWI5Z6wW1IXwXw1Vpb90NWNOwsVmeEpkEw98t534yhxO5uSV4JpaWRcbOP10TE_V17aCNLfFJWtdAgOgWobeteA5oZEWixU18rVAiGUgS1Vf3VqwxW3MSaFzonZbYL_fd0WfEV5LOs8msx3xJtHSyZLbp7x6isBKN3nr36pk0ard-NwWx9M6_Bgrw&h=v2ynYlO5LZQLiIGbWkok1n760UHnCWV-lih1lU5p7RQ + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 122 + uncompressed: false + body: |- + { + "name": "15c31d0f-fbc2-4acd-8cac-8a4b42c22f88", + "status": "InProgress", + "startTime": "2001-02-03T04:05:06Z" + } + headers: + Cache-Control: + - no-cache + Content-Length: + - "122" + Content-Type: + - application/json + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: DC1D607B9C4D4405BAFED3A30AE3DB9D Ref B: CO6AA3150220035 Ref C: 2024-11-05T23:48:04Z' + status: 200 OK + code: 200 + duration: 217.646979ms + - id: 66 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "5" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/15c31d0f-fbc2-4acd-8cac-8a4b42c22f88?api-version=2016-03-30&t=638664472514418517&c=MIIHpTCCBo2gAwIBAgITOgM6dTLGpzYZpvPtgQAEAzp1MjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjQwNjI2MDEzMjIxWhcNMjUwNjIxMDEzMjIxWjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPPPKY5bDN03KptFFhiyLIyn86BlrXYFIZWYXA-hY7_WbLyWN0IxcLIUBW_I-9u-YsXOHk9WPMlUYHIFPgHW7A3FsSGfl9dd6YGapKoSSw0NkTpNXM58R54BBgLp7AhiWzK15D9T-XELNSU4Wq9sEeA5T24kazcgS2MUkzELH0I9dwu7g0dwJIuIJkoJjEzg1b1Q3Ie5HKHHNbjottJn7Q5LBS-9QtQyruuwaNTgSJpCoi4PBKVIOTBYL_Nv1wecmKmfWcT0mnhQE9zjhJTbcoN9hKSvAMqsDHtxWUFZosiw3JKIY0zb59CrVGSuOhfN3qaarwN9EAlXLqc4ZyKpsTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBRk_38CqdKjPVylWUR4uuqhbFGeHTAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEATAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAFsx7FtYAzSo98T5ydNFa0ukjPZ6XCQc9zo7ldqy235P_zJAUkaNgCU4EGOzbZJDoMa8mAfhyukL_0GfPeApUaY2e44ZOzoYAkeEuDiwcs-9zoQ1fCyXhn0pCumGFXRilX9KjAPaYTzDvQMEllTy_ZViwTahuKaGtFVamZguBPdaeYC_0oybtTVNQCs8hGnffhNZOMASB-5pFs35MNxsDWTVIQksDee419jqpsbWLkh6rnanILO1O_ihwb-WpvRQByQ5NGpG1-z0MQ6nRpr9wWxUi-DsrVsD38NTMIPc2uei4Ivf6qnGRvOOj0fmsciWuTTEXMaD-5a81mGlzhZc09Q&s=66V6klxeULe1fhYBZdq-x6G9aztf_IG8Zw-7OG8Lq7-pQEm8L87Woh-Pdhc2S3HcLP1ifwK8cPi5x5WEo-8n9pRJBSzN1VpdSZLXNf3wnyj1MIF6ejLCJbqlFuWGRxcLVvRJzdH1NbRxNQdYVsjyqlse6FAlJTWI5Z6wW1IXwXw1Vpb90NWNOwsVmeEpkEw98t534yhxO5uSV4JpaWRcbOP10TE_V17aCNLfFJWtdAgOgWobeteA5oZEWixU18rVAiGUgS1Vf3VqwxW3MSaFzonZbYL_fd0WfEV5LOs8msx3xJtHSyZLbp7x6isBKN3nr36pk0ard-NwWx9M6_Bgrw&h=v2ynYlO5LZQLiIGbWkok1n760UHnCWV-lih1lU5p7RQ + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 165 + uncompressed: false + body: |- + { + "name": "15c31d0f-fbc2-4acd-8cac-8a4b42c22f88", + "status": "Succeeded", + "startTime": "2001-02-03T04:05:06Z", + "endTime": "2001-02-03T04:05:06Z" + } + headers: + Cache-Control: + - no-cache + Content-Length: + - "165" + Content-Type: + - application/json + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 755BF6833D0E406D9E82EE264FE66679 Ref B: CO6AA3150220035 Ref C: 2024-11-05T23:48:37Z' + status: 200 OK + code: 200 + duration: 214.523654ms + - id: 67 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-nyuvpf/providers/Microsoft.ContainerService/managedClusters/asotest-mc-gtbfrk?api-version=2024-09-01 + method: DELETE + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Azure-Asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/3604b04f-2e14-480c-9aeb-51144cb6d492?api-version=2016-03-30&t=638664473221419250&c=MIIHpTCCBo2gAwIBAgITOgM6dTLGpzYZpvPtgQAEAzp1MjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjQwNjI2MDEzMjIxWhcNMjUwNjIxMDEzMjIxWjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPPPKY5bDN03KptFFhiyLIyn86BlrXYFIZWYXA-hY7_WbLyWN0IxcLIUBW_I-9u-YsXOHk9WPMlUYHIFPgHW7A3FsSGfl9dd6YGapKoSSw0NkTpNXM58R54BBgLp7AhiWzK15D9T-XELNSU4Wq9sEeA5T24kazcgS2MUkzELH0I9dwu7g0dwJIuIJkoJjEzg1b1Q3Ie5HKHHNbjottJn7Q5LBS-9QtQyruuwaNTgSJpCoi4PBKVIOTBYL_Nv1wecmKmfWcT0mnhQE9zjhJTbcoN9hKSvAMqsDHtxWUFZosiw3JKIY0zb59CrVGSuOhfN3qaarwN9EAlXLqc4ZyKpsTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBRk_38CqdKjPVylWUR4uuqhbFGeHTAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEATAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAFsx7FtYAzSo98T5ydNFa0ukjPZ6XCQc9zo7ldqy235P_zJAUkaNgCU4EGOzbZJDoMa8mAfhyukL_0GfPeApUaY2e44ZOzoYAkeEuDiwcs-9zoQ1fCyXhn0pCumGFXRilX9KjAPaYTzDvQMEllTy_ZViwTahuKaGtFVamZguBPdaeYC_0oybtTVNQCs8hGnffhNZOMASB-5pFs35MNxsDWTVIQksDee419jqpsbWLkh6rnanILO1O_ihwb-WpvRQByQ5NGpG1-z0MQ6nRpr9wWxUi-DsrVsD38NTMIPc2uei4Ivf6qnGRvOOj0fmsciWuTTEXMaD-5a81mGlzhZc09Q&s=TqUxf8672AdFIwWk8TVXsI9k14VRUKjuHUfexMEDiY5HTg7YxKEZW6fh4QkPYIhTuGffl_rKqam3jF0ynEgNaWuqCV4O3fBKy-97OgTK5c6WxslyqqJ8uYbcmbJjNpq04MaiN2oRcqwTY0LOegC69mOdtfpFzBAi-oIqzSLc5vtbCk58I901eUD4RGsVQdcs-B6uZZVZ1NRgE6xT44cE1h8i-Jpi-mnbRmkqwLyCrwuKtO6j_up_odLlSx1rUrZYrrv1Ep8yCHJRNxeK7bsAx3HuYYG37w3XePc5GhFhGnmKe4xq3MvbppiDv88Fi8d-4bI2WI4vAG-CKnnj4MTZig&h=huoFPR1BilbcHaU-1513S5iNLSAGWeFZ6D4JlbKzpjg + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operationresults/3604b04f-2e14-480c-9aeb-51144cb6d492?api-version=2016-03-30&t=638664473221575509&c=MIIHpTCCBo2gAwIBAgITOgM6dTLGpzYZpvPtgQAEAzp1MjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjQwNjI2MDEzMjIxWhcNMjUwNjIxMDEzMjIxWjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPPPKY5bDN03KptFFhiyLIyn86BlrXYFIZWYXA-hY7_WbLyWN0IxcLIUBW_I-9u-YsXOHk9WPMlUYHIFPgHW7A3FsSGfl9dd6YGapKoSSw0NkTpNXM58R54BBgLp7AhiWzK15D9T-XELNSU4Wq9sEeA5T24kazcgS2MUkzELH0I9dwu7g0dwJIuIJkoJjEzg1b1Q3Ie5HKHHNbjottJn7Q5LBS-9QtQyruuwaNTgSJpCoi4PBKVIOTBYL_Nv1wecmKmfWcT0mnhQE9zjhJTbcoN9hKSvAMqsDHtxWUFZosiw3JKIY0zb59CrVGSuOhfN3qaarwN9EAlXLqc4ZyKpsTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBRk_38CqdKjPVylWUR4uuqhbFGeHTAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEATAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAFsx7FtYAzSo98T5ydNFa0ukjPZ6XCQc9zo7ldqy235P_zJAUkaNgCU4EGOzbZJDoMa8mAfhyukL_0GfPeApUaY2e44ZOzoYAkeEuDiwcs-9zoQ1fCyXhn0pCumGFXRilX9KjAPaYTzDvQMEllTy_ZViwTahuKaGtFVamZguBPdaeYC_0oybtTVNQCs8hGnffhNZOMASB-5pFs35MNxsDWTVIQksDee419jqpsbWLkh6rnanILO1O_ihwb-WpvRQByQ5NGpG1-z0MQ6nRpr9wWxUi-DsrVsD38NTMIPc2uei4Ivf6qnGRvOOj0fmsciWuTTEXMaD-5a81mGlzhZc09Q&s=Exm9vWQ4Y32P1VxzJ-W05opAQA3-ri7AAfW_zIrgAw9Uyg6rXrsGWUOasLc9iyUlWvGi9yplO8a9RL1NUWwdP9BUmwcByPrvSA1pPJZLs993BxelWvqCaO1kYJS8fn2pzlUFQ4Oj7OtzRLYcrZsRJOSpl0hNF1Rg2RtPYqoYoth4CCPuRCmQgivXUb3hD5aVmifidLL73rDk3CNC8ZOL7H29jf0ruijDcnvtFX6IPWYR3AwLqypBSVtcN4rHvAx7GEs10nerEpF6FNpAAjEmPchAIJKE5DGxkcy0F7o_-YS0mR2qNZdf__czSETVoWwr28bJDN2tt9_jrPTrfe64qg&h=l7s6FqbJWc1B4Rv9LS21FmU6gw2Tz-4srKukf0BSv8M + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Deletes: + - "11999" + X-Msedge-Ref: + - 'Ref A: 1615073ABB7C4FBD918A6E53AB2FCBF1 Ref B: CO6AA3150220035 Ref C: 2024-11-05T23:48:41Z' + status: 202 Accepted + code: 202 + duration: 1.106927619s + - id: 68 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/3604b04f-2e14-480c-9aeb-51144cb6d492?api-version=2016-03-30&t=638664473221419250&c=MIIHpTCCBo2gAwIBAgITOgM6dTLGpzYZpvPtgQAEAzp1MjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjQwNjI2MDEzMjIxWhcNMjUwNjIxMDEzMjIxWjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPPPKY5bDN03KptFFhiyLIyn86BlrXYFIZWYXA-hY7_WbLyWN0IxcLIUBW_I-9u-YsXOHk9WPMlUYHIFPgHW7A3FsSGfl9dd6YGapKoSSw0NkTpNXM58R54BBgLp7AhiWzK15D9T-XELNSU4Wq9sEeA5T24kazcgS2MUkzELH0I9dwu7g0dwJIuIJkoJjEzg1b1Q3Ie5HKHHNbjottJn7Q5LBS-9QtQyruuwaNTgSJpCoi4PBKVIOTBYL_Nv1wecmKmfWcT0mnhQE9zjhJTbcoN9hKSvAMqsDHtxWUFZosiw3JKIY0zb59CrVGSuOhfN3qaarwN9EAlXLqc4ZyKpsTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBRk_38CqdKjPVylWUR4uuqhbFGeHTAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEATAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAFsx7FtYAzSo98T5ydNFa0ukjPZ6XCQc9zo7ldqy235P_zJAUkaNgCU4EGOzbZJDoMa8mAfhyukL_0GfPeApUaY2e44ZOzoYAkeEuDiwcs-9zoQ1fCyXhn0pCumGFXRilX9KjAPaYTzDvQMEllTy_ZViwTahuKaGtFVamZguBPdaeYC_0oybtTVNQCs8hGnffhNZOMASB-5pFs35MNxsDWTVIQksDee419jqpsbWLkh6rnanILO1O_ihwb-WpvRQByQ5NGpG1-z0MQ6nRpr9wWxUi-DsrVsD38NTMIPc2uei4Ivf6qnGRvOOj0fmsciWuTTEXMaD-5a81mGlzhZc09Q&s=TqUxf8672AdFIwWk8TVXsI9k14VRUKjuHUfexMEDiY5HTg7YxKEZW6fh4QkPYIhTuGffl_rKqam3jF0ynEgNaWuqCV4O3fBKy-97OgTK5c6WxslyqqJ8uYbcmbJjNpq04MaiN2oRcqwTY0LOegC69mOdtfpFzBAi-oIqzSLc5vtbCk58I901eUD4RGsVQdcs-B6uZZVZ1NRgE6xT44cE1h8i-Jpi-mnbRmkqwLyCrwuKtO6j_up_odLlSx1rUrZYrrv1Ep8yCHJRNxeK7bsAx3HuYYG37w3XePc5GhFhGnmKe4xq3MvbppiDv88Fi8d-4bI2WI4vAG-CKnnj4MTZig&h=huoFPR1BilbcHaU-1513S5iNLSAGWeFZ6D4JlbKzpjg + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 122 + uncompressed: false + body: |- + { + "name": "3604b04f-2e14-480c-9aeb-51144cb6d492", + "status": "InProgress", + "startTime": "2001-02-03T04:05:06Z" + } + headers: + Cache-Control: + - no-cache + Content-Length: + - "122" + Content-Type: + - application/json + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 3B32FDDDFDD7435384276301C6BEA0DA Ref B: CO6AA3150220035 Ref C: 2024-11-05T23:48:44Z' + status: 200 OK + code: 200 + duration: 278.266835ms + - id: 69 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "1" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/3604b04f-2e14-480c-9aeb-51144cb6d492?api-version=2016-03-30&t=638664473221419250&c=MIIHpTCCBo2gAwIBAgITOgM6dTLGpzYZpvPtgQAEAzp1MjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjQwNjI2MDEzMjIxWhcNMjUwNjIxMDEzMjIxWjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPPPKY5bDN03KptFFhiyLIyn86BlrXYFIZWYXA-hY7_WbLyWN0IxcLIUBW_I-9u-YsXOHk9WPMlUYHIFPgHW7A3FsSGfl9dd6YGapKoSSw0NkTpNXM58R54BBgLp7AhiWzK15D9T-XELNSU4Wq9sEeA5T24kazcgS2MUkzELH0I9dwu7g0dwJIuIJkoJjEzg1b1Q3Ie5HKHHNbjottJn7Q5LBS-9QtQyruuwaNTgSJpCoi4PBKVIOTBYL_Nv1wecmKmfWcT0mnhQE9zjhJTbcoN9hKSvAMqsDHtxWUFZosiw3JKIY0zb59CrVGSuOhfN3qaarwN9EAlXLqc4ZyKpsTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBRk_38CqdKjPVylWUR4uuqhbFGeHTAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEATAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAFsx7FtYAzSo98T5ydNFa0ukjPZ6XCQc9zo7ldqy235P_zJAUkaNgCU4EGOzbZJDoMa8mAfhyukL_0GfPeApUaY2e44ZOzoYAkeEuDiwcs-9zoQ1fCyXhn0pCumGFXRilX9KjAPaYTzDvQMEllTy_ZViwTahuKaGtFVamZguBPdaeYC_0oybtTVNQCs8hGnffhNZOMASB-5pFs35MNxsDWTVIQksDee419jqpsbWLkh6rnanILO1O_ihwb-WpvRQByQ5NGpG1-z0MQ6nRpr9wWxUi-DsrVsD38NTMIPc2uei4Ivf6qnGRvOOj0fmsciWuTTEXMaD-5a81mGlzhZc09Q&s=TqUxf8672AdFIwWk8TVXsI9k14VRUKjuHUfexMEDiY5HTg7YxKEZW6fh4QkPYIhTuGffl_rKqam3jF0ynEgNaWuqCV4O3fBKy-97OgTK5c6WxslyqqJ8uYbcmbJjNpq04MaiN2oRcqwTY0LOegC69mOdtfpFzBAi-oIqzSLc5vtbCk58I901eUD4RGsVQdcs-B6uZZVZ1NRgE6xT44cE1h8i-Jpi-mnbRmkqwLyCrwuKtO6j_up_odLlSx1rUrZYrrv1Ep8yCHJRNxeK7bsAx3HuYYG37w3XePc5GhFhGnmKe4xq3MvbppiDv88Fi8d-4bI2WI4vAG-CKnnj4MTZig&h=huoFPR1BilbcHaU-1513S5iNLSAGWeFZ6D4JlbKzpjg + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 122 + uncompressed: false + body: |- + { + "name": "3604b04f-2e14-480c-9aeb-51144cb6d492", + "status": "InProgress", + "startTime": "2001-02-03T04:05:06Z" + } + headers: + Cache-Control: + - no-cache + Content-Length: + - "122" + Content-Type: + - application/json + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: BCB949BC46DB4A3283F7DC636C28BC8E Ref B: CO6AA3150220035 Ref C: 2024-11-05T23:48:46Z' + status: 200 OK + code: 200 + duration: 238.15693ms + - id: 70 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "2" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/3604b04f-2e14-480c-9aeb-51144cb6d492?api-version=2016-03-30&t=638664473221419250&c=MIIHpTCCBo2gAwIBAgITOgM6dTLGpzYZpvPtgQAEAzp1MjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjQwNjI2MDEzMjIxWhcNMjUwNjIxMDEzMjIxWjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPPPKY5bDN03KptFFhiyLIyn86BlrXYFIZWYXA-hY7_WbLyWN0IxcLIUBW_I-9u-YsXOHk9WPMlUYHIFPgHW7A3FsSGfl9dd6YGapKoSSw0NkTpNXM58R54BBgLp7AhiWzK15D9T-XELNSU4Wq9sEeA5T24kazcgS2MUkzELH0I9dwu7g0dwJIuIJkoJjEzg1b1Q3Ie5HKHHNbjottJn7Q5LBS-9QtQyruuwaNTgSJpCoi4PBKVIOTBYL_Nv1wecmKmfWcT0mnhQE9zjhJTbcoN9hKSvAMqsDHtxWUFZosiw3JKIY0zb59CrVGSuOhfN3qaarwN9EAlXLqc4ZyKpsTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBRk_38CqdKjPVylWUR4uuqhbFGeHTAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEATAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAFsx7FtYAzSo98T5ydNFa0ukjPZ6XCQc9zo7ldqy235P_zJAUkaNgCU4EGOzbZJDoMa8mAfhyukL_0GfPeApUaY2e44ZOzoYAkeEuDiwcs-9zoQ1fCyXhn0pCumGFXRilX9KjAPaYTzDvQMEllTy_ZViwTahuKaGtFVamZguBPdaeYC_0oybtTVNQCs8hGnffhNZOMASB-5pFs35MNxsDWTVIQksDee419jqpsbWLkh6rnanILO1O_ihwb-WpvRQByQ5NGpG1-z0MQ6nRpr9wWxUi-DsrVsD38NTMIPc2uei4Ivf6qnGRvOOj0fmsciWuTTEXMaD-5a81mGlzhZc09Q&s=TqUxf8672AdFIwWk8TVXsI9k14VRUKjuHUfexMEDiY5HTg7YxKEZW6fh4QkPYIhTuGffl_rKqam3jF0ynEgNaWuqCV4O3fBKy-97OgTK5c6WxslyqqJ8uYbcmbJjNpq04MaiN2oRcqwTY0LOegC69mOdtfpFzBAi-oIqzSLc5vtbCk58I901eUD4RGsVQdcs-B6uZZVZ1NRgE6xT44cE1h8i-Jpi-mnbRmkqwLyCrwuKtO6j_up_odLlSx1rUrZYrrv1Ep8yCHJRNxeK7bsAx3HuYYG37w3XePc5GhFhGnmKe4xq3MvbppiDv88Fi8d-4bI2WI4vAG-CKnnj4MTZig&h=huoFPR1BilbcHaU-1513S5iNLSAGWeFZ6D4JlbKzpjg + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 122 + uncompressed: false + body: |- + { + "name": "3604b04f-2e14-480c-9aeb-51144cb6d492", + "status": "InProgress", + "startTime": "2001-02-03T04:05:06Z" + } + headers: + Cache-Control: + - no-cache + Content-Length: + - "122" + Content-Type: + - application/json + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 80E2939AE7B84CDBB0C895CFF07E3953 Ref B: CO6AA3150220035 Ref C: 2024-11-05T23:48:51Z' + status: 200 OK + code: 200 + duration: 100.907502ms + - id: 71 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "3" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/3604b04f-2e14-480c-9aeb-51144cb6d492?api-version=2016-03-30&t=638664473221419250&c=MIIHpTCCBo2gAwIBAgITOgM6dTLGpzYZpvPtgQAEAzp1MjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjQwNjI2MDEzMjIxWhcNMjUwNjIxMDEzMjIxWjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPPPKY5bDN03KptFFhiyLIyn86BlrXYFIZWYXA-hY7_WbLyWN0IxcLIUBW_I-9u-YsXOHk9WPMlUYHIFPgHW7A3FsSGfl9dd6YGapKoSSw0NkTpNXM58R54BBgLp7AhiWzK15D9T-XELNSU4Wq9sEeA5T24kazcgS2MUkzELH0I9dwu7g0dwJIuIJkoJjEzg1b1Q3Ie5HKHHNbjottJn7Q5LBS-9QtQyruuwaNTgSJpCoi4PBKVIOTBYL_Nv1wecmKmfWcT0mnhQE9zjhJTbcoN9hKSvAMqsDHtxWUFZosiw3JKIY0zb59CrVGSuOhfN3qaarwN9EAlXLqc4ZyKpsTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBRk_38CqdKjPVylWUR4uuqhbFGeHTAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEATAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAFsx7FtYAzSo98T5ydNFa0ukjPZ6XCQc9zo7ldqy235P_zJAUkaNgCU4EGOzbZJDoMa8mAfhyukL_0GfPeApUaY2e44ZOzoYAkeEuDiwcs-9zoQ1fCyXhn0pCumGFXRilX9KjAPaYTzDvQMEllTy_ZViwTahuKaGtFVamZguBPdaeYC_0oybtTVNQCs8hGnffhNZOMASB-5pFs35MNxsDWTVIQksDee419jqpsbWLkh6rnanILO1O_ihwb-WpvRQByQ5NGpG1-z0MQ6nRpr9wWxUi-DsrVsD38NTMIPc2uei4Ivf6qnGRvOOj0fmsciWuTTEXMaD-5a81mGlzhZc09Q&s=TqUxf8672AdFIwWk8TVXsI9k14VRUKjuHUfexMEDiY5HTg7YxKEZW6fh4QkPYIhTuGffl_rKqam3jF0ynEgNaWuqCV4O3fBKy-97OgTK5c6WxslyqqJ8uYbcmbJjNpq04MaiN2oRcqwTY0LOegC69mOdtfpFzBAi-oIqzSLc5vtbCk58I901eUD4RGsVQdcs-B6uZZVZ1NRgE6xT44cE1h8i-Jpi-mnbRmkqwLyCrwuKtO6j_up_odLlSx1rUrZYrrv1Ep8yCHJRNxeK7bsAx3HuYYG37w3XePc5GhFhGnmKe4xq3MvbppiDv88Fi8d-4bI2WI4vAG-CKnnj4MTZig&h=huoFPR1BilbcHaU-1513S5iNLSAGWeFZ6D4JlbKzpjg + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 122 + uncompressed: false + body: |- + { + "name": "3604b04f-2e14-480c-9aeb-51144cb6d492", + "status": "InProgress", + "startTime": "2001-02-03T04:05:06Z" + } + headers: + Cache-Control: + - no-cache + Content-Length: + - "122" + Content-Type: + - application/json + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 838A2445524F45B88AB2A5674A9E93BF Ref B: CO6AA3150220035 Ref C: 2024-11-05T23:48:59Z' + status: 200 OK + code: 200 + duration: 232.29233ms + - id: 72 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "4" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/3604b04f-2e14-480c-9aeb-51144cb6d492?api-version=2016-03-30&t=638664473221419250&c=MIIHpTCCBo2gAwIBAgITOgM6dTLGpzYZpvPtgQAEAzp1MjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjQwNjI2MDEzMjIxWhcNMjUwNjIxMDEzMjIxWjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPPPKY5bDN03KptFFhiyLIyn86BlrXYFIZWYXA-hY7_WbLyWN0IxcLIUBW_I-9u-YsXOHk9WPMlUYHIFPgHW7A3FsSGfl9dd6YGapKoSSw0NkTpNXM58R54BBgLp7AhiWzK15D9T-XELNSU4Wq9sEeA5T24kazcgS2MUkzELH0I9dwu7g0dwJIuIJkoJjEzg1b1Q3Ie5HKHHNbjottJn7Q5LBS-9QtQyruuwaNTgSJpCoi4PBKVIOTBYL_Nv1wecmKmfWcT0mnhQE9zjhJTbcoN9hKSvAMqsDHtxWUFZosiw3JKIY0zb59CrVGSuOhfN3qaarwN9EAlXLqc4ZyKpsTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBRk_38CqdKjPVylWUR4uuqhbFGeHTAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEATAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAFsx7FtYAzSo98T5ydNFa0ukjPZ6XCQc9zo7ldqy235P_zJAUkaNgCU4EGOzbZJDoMa8mAfhyukL_0GfPeApUaY2e44ZOzoYAkeEuDiwcs-9zoQ1fCyXhn0pCumGFXRilX9KjAPaYTzDvQMEllTy_ZViwTahuKaGtFVamZguBPdaeYC_0oybtTVNQCs8hGnffhNZOMASB-5pFs35MNxsDWTVIQksDee419jqpsbWLkh6rnanILO1O_ihwb-WpvRQByQ5NGpG1-z0MQ6nRpr9wWxUi-DsrVsD38NTMIPc2uei4Ivf6qnGRvOOj0fmsciWuTTEXMaD-5a81mGlzhZc09Q&s=TqUxf8672AdFIwWk8TVXsI9k14VRUKjuHUfexMEDiY5HTg7YxKEZW6fh4QkPYIhTuGffl_rKqam3jF0ynEgNaWuqCV4O3fBKy-97OgTK5c6WxslyqqJ8uYbcmbJjNpq04MaiN2oRcqwTY0LOegC69mOdtfpFzBAi-oIqzSLc5vtbCk58I901eUD4RGsVQdcs-B6uZZVZ1NRgE6xT44cE1h8i-Jpi-mnbRmkqwLyCrwuKtO6j_up_odLlSx1rUrZYrrv1Ep8yCHJRNxeK7bsAx3HuYYG37w3XePc5GhFhGnmKe4xq3MvbppiDv88Fi8d-4bI2WI4vAG-CKnnj4MTZig&h=huoFPR1BilbcHaU-1513S5iNLSAGWeFZ6D4JlbKzpjg + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 122 + uncompressed: false + body: |- + { + "name": "3604b04f-2e14-480c-9aeb-51144cb6d492", + "status": "InProgress", + "startTime": "2001-02-03T04:05:06Z" + } + headers: + Cache-Control: + - no-cache + Content-Length: + - "122" + Content-Type: + - application/json + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: CCF90AD01E7C4655B4D44CE7FBD63490 Ref B: CO6AA3150220035 Ref C: 2024-11-05T23:49:16Z' + status: 200 OK + code: 200 + duration: 105.167724ms + - id: 73 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "5" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/3604b04f-2e14-480c-9aeb-51144cb6d492?api-version=2016-03-30&t=638664473221419250&c=MIIHpTCCBo2gAwIBAgITOgM6dTLGpzYZpvPtgQAEAzp1MjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjQwNjI2MDEzMjIxWhcNMjUwNjIxMDEzMjIxWjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPPPKY5bDN03KptFFhiyLIyn86BlrXYFIZWYXA-hY7_WbLyWN0IxcLIUBW_I-9u-YsXOHk9WPMlUYHIFPgHW7A3FsSGfl9dd6YGapKoSSw0NkTpNXM58R54BBgLp7AhiWzK15D9T-XELNSU4Wq9sEeA5T24kazcgS2MUkzELH0I9dwu7g0dwJIuIJkoJjEzg1b1Q3Ie5HKHHNbjottJn7Q5LBS-9QtQyruuwaNTgSJpCoi4PBKVIOTBYL_Nv1wecmKmfWcT0mnhQE9zjhJTbcoN9hKSvAMqsDHtxWUFZosiw3JKIY0zb59CrVGSuOhfN3qaarwN9EAlXLqc4ZyKpsTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBRk_38CqdKjPVylWUR4uuqhbFGeHTAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEATAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAFsx7FtYAzSo98T5ydNFa0ukjPZ6XCQc9zo7ldqy235P_zJAUkaNgCU4EGOzbZJDoMa8mAfhyukL_0GfPeApUaY2e44ZOzoYAkeEuDiwcs-9zoQ1fCyXhn0pCumGFXRilX9KjAPaYTzDvQMEllTy_ZViwTahuKaGtFVamZguBPdaeYC_0oybtTVNQCs8hGnffhNZOMASB-5pFs35MNxsDWTVIQksDee419jqpsbWLkh6rnanILO1O_ihwb-WpvRQByQ5NGpG1-z0MQ6nRpr9wWxUi-DsrVsD38NTMIPc2uei4Ivf6qnGRvOOj0fmsciWuTTEXMaD-5a81mGlzhZc09Q&s=TqUxf8672AdFIwWk8TVXsI9k14VRUKjuHUfexMEDiY5HTg7YxKEZW6fh4QkPYIhTuGffl_rKqam3jF0ynEgNaWuqCV4O3fBKy-97OgTK5c6WxslyqqJ8uYbcmbJjNpq04MaiN2oRcqwTY0LOegC69mOdtfpFzBAi-oIqzSLc5vtbCk58I901eUD4RGsVQdcs-B6uZZVZ1NRgE6xT44cE1h8i-Jpi-mnbRmkqwLyCrwuKtO6j_up_odLlSx1rUrZYrrv1Ep8yCHJRNxeK7bsAx3HuYYG37w3XePc5GhFhGnmKe4xq3MvbppiDv88Fi8d-4bI2WI4vAG-CKnnj4MTZig&h=huoFPR1BilbcHaU-1513S5iNLSAGWeFZ6D4JlbKzpjg + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 122 + uncompressed: false + body: |- + { + "name": "3604b04f-2e14-480c-9aeb-51144cb6d492", + "status": "InProgress", + "startTime": "2001-02-03T04:05:06Z" + } + headers: + Cache-Control: + - no-cache + Content-Length: + - "122" + Content-Type: + - application/json + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: AA7D04B2A4F54D5A94B62466BF84E6EC Ref B: CO6AA3150220035 Ref C: 2024-11-05T23:49:48Z' + status: 200 OK + code: 200 + duration: 243.725378ms + - id: 74 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "6" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/3604b04f-2e14-480c-9aeb-51144cb6d492?api-version=2016-03-30&t=638664473221419250&c=MIIHpTCCBo2gAwIBAgITOgM6dTLGpzYZpvPtgQAEAzp1MjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjQwNjI2MDEzMjIxWhcNMjUwNjIxMDEzMjIxWjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPPPKY5bDN03KptFFhiyLIyn86BlrXYFIZWYXA-hY7_WbLyWN0IxcLIUBW_I-9u-YsXOHk9WPMlUYHIFPgHW7A3FsSGfl9dd6YGapKoSSw0NkTpNXM58R54BBgLp7AhiWzK15D9T-XELNSU4Wq9sEeA5T24kazcgS2MUkzELH0I9dwu7g0dwJIuIJkoJjEzg1b1Q3Ie5HKHHNbjottJn7Q5LBS-9QtQyruuwaNTgSJpCoi4PBKVIOTBYL_Nv1wecmKmfWcT0mnhQE9zjhJTbcoN9hKSvAMqsDHtxWUFZosiw3JKIY0zb59CrVGSuOhfN3qaarwN9EAlXLqc4ZyKpsTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBRk_38CqdKjPVylWUR4uuqhbFGeHTAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEATAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAFsx7FtYAzSo98T5ydNFa0ukjPZ6XCQc9zo7ldqy235P_zJAUkaNgCU4EGOzbZJDoMa8mAfhyukL_0GfPeApUaY2e44ZOzoYAkeEuDiwcs-9zoQ1fCyXhn0pCumGFXRilX9KjAPaYTzDvQMEllTy_ZViwTahuKaGtFVamZguBPdaeYC_0oybtTVNQCs8hGnffhNZOMASB-5pFs35MNxsDWTVIQksDee419jqpsbWLkh6rnanILO1O_ihwb-WpvRQByQ5NGpG1-z0MQ6nRpr9wWxUi-DsrVsD38NTMIPc2uei4Ivf6qnGRvOOj0fmsciWuTTEXMaD-5a81mGlzhZc09Q&s=TqUxf8672AdFIwWk8TVXsI9k14VRUKjuHUfexMEDiY5HTg7YxKEZW6fh4QkPYIhTuGffl_rKqam3jF0ynEgNaWuqCV4O3fBKy-97OgTK5c6WxslyqqJ8uYbcmbJjNpq04MaiN2oRcqwTY0LOegC69mOdtfpFzBAi-oIqzSLc5vtbCk58I901eUD4RGsVQdcs-B6uZZVZ1NRgE6xT44cE1h8i-Jpi-mnbRmkqwLyCrwuKtO6j_up_odLlSx1rUrZYrrv1Ep8yCHJRNxeK7bsAx3HuYYG37w3XePc5GhFhGnmKe4xq3MvbppiDv88Fi8d-4bI2WI4vAG-CKnnj4MTZig&h=huoFPR1BilbcHaU-1513S5iNLSAGWeFZ6D4JlbKzpjg + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 122 + uncompressed: false + body: |- + { + "name": "3604b04f-2e14-480c-9aeb-51144cb6d492", + "status": "InProgress", + "startTime": "2001-02-03T04:05:06Z" + } + headers: + Cache-Control: + - no-cache + Content-Length: + - "122" + Content-Type: + - application/json + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 5F8CD58ED2DF4F2A991DB0EE1527CEE6 Ref B: CO6AA3150220035 Ref C: 2024-11-05T23:50:48Z' + status: 200 OK + code: 200 + duration: 216.06076ms + - id: 75 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "7" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/3604b04f-2e14-480c-9aeb-51144cb6d492?api-version=2016-03-30&t=638664473221419250&c=MIIHpTCCBo2gAwIBAgITOgM6dTLGpzYZpvPtgQAEAzp1MjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjQwNjI2MDEzMjIxWhcNMjUwNjIxMDEzMjIxWjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPPPKY5bDN03KptFFhiyLIyn86BlrXYFIZWYXA-hY7_WbLyWN0IxcLIUBW_I-9u-YsXOHk9WPMlUYHIFPgHW7A3FsSGfl9dd6YGapKoSSw0NkTpNXM58R54BBgLp7AhiWzK15D9T-XELNSU4Wq9sEeA5T24kazcgS2MUkzELH0I9dwu7g0dwJIuIJkoJjEzg1b1Q3Ie5HKHHNbjottJn7Q5LBS-9QtQyruuwaNTgSJpCoi4PBKVIOTBYL_Nv1wecmKmfWcT0mnhQE9zjhJTbcoN9hKSvAMqsDHtxWUFZosiw3JKIY0zb59CrVGSuOhfN3qaarwN9EAlXLqc4ZyKpsTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBRk_38CqdKjPVylWUR4uuqhbFGeHTAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEATAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAFsx7FtYAzSo98T5ydNFa0ukjPZ6XCQc9zo7ldqy235P_zJAUkaNgCU4EGOzbZJDoMa8mAfhyukL_0GfPeApUaY2e44ZOzoYAkeEuDiwcs-9zoQ1fCyXhn0pCumGFXRilX9KjAPaYTzDvQMEllTy_ZViwTahuKaGtFVamZguBPdaeYC_0oybtTVNQCs8hGnffhNZOMASB-5pFs35MNxsDWTVIQksDee419jqpsbWLkh6rnanILO1O_ihwb-WpvRQByQ5NGpG1-z0MQ6nRpr9wWxUi-DsrVsD38NTMIPc2uei4Ivf6qnGRvOOj0fmsciWuTTEXMaD-5a81mGlzhZc09Q&s=TqUxf8672AdFIwWk8TVXsI9k14VRUKjuHUfexMEDiY5HTg7YxKEZW6fh4QkPYIhTuGffl_rKqam3jF0ynEgNaWuqCV4O3fBKy-97OgTK5c6WxslyqqJ8uYbcmbJjNpq04MaiN2oRcqwTY0LOegC69mOdtfpFzBAi-oIqzSLc5vtbCk58I901eUD4RGsVQdcs-B6uZZVZ1NRgE6xT44cE1h8i-Jpi-mnbRmkqwLyCrwuKtO6j_up_odLlSx1rUrZYrrv1Ep8yCHJRNxeK7bsAx3HuYYG37w3XePc5GhFhGnmKe4xq3MvbppiDv88Fi8d-4bI2WI4vAG-CKnnj4MTZig&h=huoFPR1BilbcHaU-1513S5iNLSAGWeFZ6D4JlbKzpjg + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 165 + uncompressed: false + body: |- + { + "name": "3604b04f-2e14-480c-9aeb-51144cb6d492", + "status": "Succeeded", + "startTime": "2001-02-03T04:05:06Z", + "endTime": "2001-02-03T04:05:06Z" + } + headers: + Cache-Control: + - no-cache + Content-Length: + - "165" + Content-Type: + - application/json + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: E478531FD6BB4E02ACAFE49185E40566 Ref B: CO6AA3150220035 Ref C: 2024-11-05T23:51:49Z' + status: 200 OK + code: 200 + duration: 225.424422ms + - id: 76 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asotest-rg-nyuvpf/providers/Microsoft.ContainerService/managedClusters/asotest-mc-gtbfrk?api-version=2024-09-01 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 249 + uncompressed: false + body: '{"error":{"code":"ResourceNotFound","message":"The Resource ''Microsoft.ContainerService/managedClusters/asotest-mc-gtbfrk'' under resource group ''asotest-rg-nyuvpf'' was not found. For more details please go to https://aka.ms/ARMResourceNotFoundFix"}}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "249" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Failure-Cause: + - gateway + X-Msedge-Ref: + - 'Ref A: D9052A5650EC4CF89D2CE6736372E920 Ref B: CO6AA3150220035 Ref C: 2024-11-05T23:51:51Z' + status: 404 Not Found + code: 404 + duration: 67.602839ms + - id: 77 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-nyuvpf?api-version=2020-06-01 + method: DELETE + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkROWVVWUEYtV0VTVFVTMyIsImpvYkxvY2F0aW9uIjoid2VzdHVzMyJ9?api-version=2020-06-01&t=638664475123774343&c=MIIHpTCCBo2gAwIBAgITOgM6dTLGpzYZpvPtgQAEAzp1MjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjQwNjI2MDEzMjIxWhcNMjUwNjIxMDEzMjIxWjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPPPKY5bDN03KptFFhiyLIyn86BlrXYFIZWYXA-hY7_WbLyWN0IxcLIUBW_I-9u-YsXOHk9WPMlUYHIFPgHW7A3FsSGfl9dd6YGapKoSSw0NkTpNXM58R54BBgLp7AhiWzK15D9T-XELNSU4Wq9sEeA5T24kazcgS2MUkzELH0I9dwu7g0dwJIuIJkoJjEzg1b1Q3Ie5HKHHNbjottJn7Q5LBS-9QtQyruuwaNTgSJpCoi4PBKVIOTBYL_Nv1wecmKmfWcT0mnhQE9zjhJTbcoN9hKSvAMqsDHtxWUFZosiw3JKIY0zb59CrVGSuOhfN3qaarwN9EAlXLqc4ZyKpsTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBRk_38CqdKjPVylWUR4uuqhbFGeHTAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEATAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAFsx7FtYAzSo98T5ydNFa0ukjPZ6XCQc9zo7ldqy235P_zJAUkaNgCU4EGOzbZJDoMa8mAfhyukL_0GfPeApUaY2e44ZOzoYAkeEuDiwcs-9zoQ1fCyXhn0pCumGFXRilX9KjAPaYTzDvQMEllTy_ZViwTahuKaGtFVamZguBPdaeYC_0oybtTVNQCs8hGnffhNZOMASB-5pFs35MNxsDWTVIQksDee419jqpsbWLkh6rnanILO1O_ihwb-WpvRQByQ5NGpG1-z0MQ6nRpr9wWxUi-DsrVsD38NTMIPc2uei4Ivf6qnGRvOOj0fmsciWuTTEXMaD-5a81mGlzhZc09Q&s=B8zJ0jee-kE9W2qiOBFCqErowgjHGRbPlxdWaXlAuyNkKPcoOAXhErbn1jiCbSRgZLDZ45G4eJUo1Et3lqD8E__ub2S_4zByrJd-do23-0fMDq-yrwhIE3ulG_d9xAe8grsWLCa7CEiDNuQ5ac6zxkVV4fLxDSC-lPaAeiLEuFg9QWjN9gDKP0qYn1V1tLfnkK72COk5KVETikVdODX18K1FLfno2ZRRH00gi9N6Bj897WMrRMo2CkQ38gyHYsFCbphv8srHzw4TtOLTz9y_OfPrBhNsRXEzQUm_oCjnlZDk60rkbmmc0lTNsi7ae0T6SSeEfjf3sqT7B-n0q83upA&h=a0T0C-xwcxmx74y6uSN_4yyvy1gRX2tN8G7J2ueOsQk + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Deletes: + - "11999" + X-Msedge-Ref: + - 'Ref A: B6A2F57D705749B5AFF11FBA47613054 Ref B: CO6AA3150220035 Ref C: 2024-11-05T23:51:52Z' + status: 202 Accepted + code: 202 + duration: 396.173174ms + - id: 78 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkROWVVWUEYtV0VTVFVTMyIsImpvYkxvY2F0aW9uIjoid2VzdHVzMyJ9?api-version=2020-06-01&t=638664475123774343&c=MIIHpTCCBo2gAwIBAgITOgM6dTLGpzYZpvPtgQAEAzp1MjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjQwNjI2MDEzMjIxWhcNMjUwNjIxMDEzMjIxWjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPPPKY5bDN03KptFFhiyLIyn86BlrXYFIZWYXA-hY7_WbLyWN0IxcLIUBW_I-9u-YsXOHk9WPMlUYHIFPgHW7A3FsSGfl9dd6YGapKoSSw0NkTpNXM58R54BBgLp7AhiWzK15D9T-XELNSU4Wq9sEeA5T24kazcgS2MUkzELH0I9dwu7g0dwJIuIJkoJjEzg1b1Q3Ie5HKHHNbjottJn7Q5LBS-9QtQyruuwaNTgSJpCoi4PBKVIOTBYL_Nv1wecmKmfWcT0mnhQE9zjhJTbcoN9hKSvAMqsDHtxWUFZosiw3JKIY0zb59CrVGSuOhfN3qaarwN9EAlXLqc4ZyKpsTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBRk_38CqdKjPVylWUR4uuqhbFGeHTAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEATAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAFsx7FtYAzSo98T5ydNFa0ukjPZ6XCQc9zo7ldqy235P_zJAUkaNgCU4EGOzbZJDoMa8mAfhyukL_0GfPeApUaY2e44ZOzoYAkeEuDiwcs-9zoQ1fCyXhn0pCumGFXRilX9KjAPaYTzDvQMEllTy_ZViwTahuKaGtFVamZguBPdaeYC_0oybtTVNQCs8hGnffhNZOMASB-5pFs35MNxsDWTVIQksDee419jqpsbWLkh6rnanILO1O_ihwb-WpvRQByQ5NGpG1-z0MQ6nRpr9wWxUi-DsrVsD38NTMIPc2uei4Ivf6qnGRvOOj0fmsciWuTTEXMaD-5a81mGlzhZc09Q&s=B8zJ0jee-kE9W2qiOBFCqErowgjHGRbPlxdWaXlAuyNkKPcoOAXhErbn1jiCbSRgZLDZ45G4eJUo1Et3lqD8E__ub2S_4zByrJd-do23-0fMDq-yrwhIE3ulG_d9xAe8grsWLCa7CEiDNuQ5ac6zxkVV4fLxDSC-lPaAeiLEuFg9QWjN9gDKP0qYn1V1tLfnkK72COk5KVETikVdODX18K1FLfno2ZRRH00gi9N6Bj897WMrRMo2CkQ38gyHYsFCbphv8srHzw4TtOLTz9y_OfPrBhNsRXEzQUm_oCjnlZDk60rkbmmc0lTNsi7ae0T6SSeEfjf3sqT7B-n0q83upA&h=a0T0C-xwcxmx74y6uSN_4yyvy1gRX2tN8G7J2ueOsQk + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 328201C3A8154D1B9C32555E6659A8BB Ref B: CO6AA3150220035 Ref C: 2024-11-05T23:52:07Z' + status: 200 OK + code: 200 + duration: 167.229191ms diff --git a/v2/internal/controllers/recordings/Test_Samples_CreationAndDeletion/Test_Containerservice_v1api20240901_CreationAndDeletion.yaml b/v2/internal/controllers/recordings/Test_Samples_CreationAndDeletion/Test_Containerservice_v1api20240901_CreationAndDeletion.yaml new file mode 100644 index 00000000000..1cc534481d2 --- /dev/null +++ b/v2/internal/controllers/recordings/Test_Samples_CreationAndDeletion/Test_Containerservice_v1api20240901_CreationAndDeletion.yaml @@ -0,0 +1,4808 @@ +--- +version: 2 +interactions: + - id: 0 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 93 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: '{"location":"westus2","name":"asotest-rg-rcocns","tags":{"CreatedAt":"2001-02-03T04:05:06Z"}}' + form: {} + headers: + Accept: + - application/json + Content-Length: + - "93" + Content-Type: + - application/json + Test-Request-Hash: + - 12cc6f20cd971a1a28a9f5d9235eeb143fb59edc8ecb6f9220abf83adec50ecd + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-rcocns?api-version=2020-06-01 + method: PUT + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 276 + uncompressed: false + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-rcocns","name":"asotest-rg-rcocns","type":"Microsoft.Resources/resourceGroups","location":"westus2","tags":{"CreatedAt":"2001-02-03T04:05:06Z"},"properties":{"provisioningState":"Succeeded"}}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "276" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Writes: + - "11999" + X-Msedge-Ref: + - 'Ref A: C2B7AC919AEE4E859C5E3773CB80ED8C Ref B: CO6AA3150220011 Ref C: 2024-11-05T23:57:49Z' + status: 201 Created + code: 201 + duration: 411.712509ms + - id: 1 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-rcocns?api-version=2020-06-01 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 276 + uncompressed: false + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-rcocns","name":"asotest-rg-rcocns","type":"Microsoft.Resources/resourceGroups","location":"westus2","tags":{"CreatedAt":"2001-02-03T04:05:06Z"},"properties":{"provisioningState":"Succeeded"}}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "276" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: F877CF7830DE4601BCD28C1AE6244331 Ref B: CO6AA3150220011 Ref C: 2024-11-05T23:57:50Z' + status: 200 OK + code: 200 + duration: 52.899389ms + - id: 2 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-rcocns/providers/Microsoft.ContainerService/managedClusters/sample-managedcluster-20240901?api-version=2024-09-01 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 262 + uncompressed: false + body: '{"error":{"code":"ResourceNotFound","message":"The Resource ''Microsoft.ContainerService/managedClusters/sample-managedcluster-20240901'' under resource group ''asotest-rg-rcocns'' was not found. For more details please go to https://aka.ms/ARMResourceNotFoundFix"}}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "262" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Failure-Cause: + - gateway + X-Msedge-Ref: + - 'Ref A: E1DE3BDBD3DF4F3EAF7CBFE212BC875F Ref B: CO6AA3150220011 Ref C: 2024-11-05T23:57:52Z' + status: 404 Not Found + code: 404 + duration: 52.99149ms + - id: 3 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.KeyVault/locations/westus3/deletedVaults/aso-cs-vault?api-version=2023-07-01 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 347 + uncompressed: false + body: '{"error":{"code":"DeletedVaultNotFound","message":"The specified deleted vault ''aso-cs-vault'' does not exist. Ensure that the vault was indeed deleted and that it is in recoverable state. If soft delete was not enabled then the vault is permanently deleted. Follow this link for more information: https://go.microsoft.com/fwlink/?linkid=2149745"}}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "347" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Aspnet-Version: + - 4.0.30319 + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Keyvault-Service-Version: + - 1.5.1361.0 + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 5F2B56561AF340009B9B63DA283EABF5 Ref B: CO6AA3150220011 Ref C: 2024-11-05T23:57:52Z' + status: 404 Not Found + code: 404 + duration: 109.503078ms + - id: 4 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "1" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.KeyVault/locations/westus3/deletedVaults/aso-cs-vault?api-version=2023-07-01 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 347 + uncompressed: false + body: '{"error":{"code":"DeletedVaultNotFound","message":"The specified deleted vault ''aso-cs-vault'' does not exist. Ensure that the vault was indeed deleted and that it is in recoverable state. If soft delete was not enabled then the vault is permanently deleted. Follow this link for more information: https://go.microsoft.com/fwlink/?linkid=2149745"}}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "347" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Aspnet-Version: + - 4.0.30319 + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Keyvault-Service-Version: + - 1.5.1361.0 + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: A563F5747FB14D92ACD4C239E21A765D Ref B: CO6AA3150220011 Ref C: 2024-11-05T23:57:53Z' + status: 404 Not Found + code: 404 + duration: 225.053956ms + - id: 5 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 503 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: '{"identity":{"type":"SystemAssigned"},"location":"westus3","name":"sampleworkspaces","properties":{"allowPublicAccessWhenBehindVnet":false,"keyVault":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-rcocns/providers/Microsoft.KeyVault/vaults/aso-cs-vault","storageAccount":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-rcocns/providers/Microsoft.Storage/storageAccounts/asoworkspacestorageacct"},"sku":{"name":"Standard_S1","tier":"Basic"}}' + form: {} + headers: + Accept: + - application/json + Content-Length: + - "503" + Content-Type: + - application/json + Test-Request-Hash: + - fb4a303d1c0707b2c743bd028d929ac76cdc14e1ccc5fce825cd23eebb0638f9 + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-rcocns/providers/Microsoft.MachineLearningServices/workspaces/sampleworkspaces?api-version=2021-07-01 + method: PUT + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Azure-Asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.MachineLearningServices/locations/westus3/workspaceOperationsStatus/utrGJQkKq4iAwgXv-buKFfHyjsyDnbi1TqrN_E2LYlk?api-version=2021-07-01&type=async&t=638664478751222468&c=MIIHpTCCBo2gAwIBAgITOgM6dTLGpzYZpvPtgQAEAzp1MjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjQwNjI2MDEzMjIxWhcNMjUwNjIxMDEzMjIxWjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPPPKY5bDN03KptFFhiyLIyn86BlrXYFIZWYXA-hY7_WbLyWN0IxcLIUBW_I-9u-YsXOHk9WPMlUYHIFPgHW7A3FsSGfl9dd6YGapKoSSw0NkTpNXM58R54BBgLp7AhiWzK15D9T-XELNSU4Wq9sEeA5T24kazcgS2MUkzELH0I9dwu7g0dwJIuIJkoJjEzg1b1Q3Ie5HKHHNbjottJn7Q5LBS-9QtQyruuwaNTgSJpCoi4PBKVIOTBYL_Nv1wecmKmfWcT0mnhQE9zjhJTbcoN9hKSvAMqsDHtxWUFZosiw3JKIY0zb59CrVGSuOhfN3qaarwN9EAlXLqc4ZyKpsTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBRk_38CqdKjPVylWUR4uuqhbFGeHTAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEATAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAFsx7FtYAzSo98T5ydNFa0ukjPZ6XCQc9zo7ldqy235P_zJAUkaNgCU4EGOzbZJDoMa8mAfhyukL_0GfPeApUaY2e44ZOzoYAkeEuDiwcs-9zoQ1fCyXhn0pCumGFXRilX9KjAPaYTzDvQMEllTy_ZViwTahuKaGtFVamZguBPdaeYC_0oybtTVNQCs8hGnffhNZOMASB-5pFs35MNxsDWTVIQksDee419jqpsbWLkh6rnanILO1O_ihwb-WpvRQByQ5NGpG1-z0MQ6nRpr9wWxUi-DsrVsD38NTMIPc2uei4Ivf6qnGRvOOj0fmsciWuTTEXMaD-5a81mGlzhZc09Q&s=tIywabtDPhPahdLmjiwCMrUCX2OSHgrLwvZsAk73psaK1RQRu0sbXGegnyq2VBv1xXpXZCAnWi-r0_dfdDVOwm6idRpYUVx5Cf_69FMtVLjg9wt7jWM8eTZjnpPhtVmOD3sTv33NiX9Ua_IscUZomcfZjS8mcksnOdR4lCnzMUh_eFqnnjrCqelOiVGK72ufcG3xeN2UlvRlhyQsy2MsRyiL9PdtDLrom5ne-shJO7pvE4QlcNqOpShzk2J1ZewyYn5Bh5cWmJiztKifRhyT5a6GyYpNqRa84_y5q5K_dGywTkGFFh_0C_SeWT1fhM7Nd-71qIz6eznhwmS3Hz8z1A&h=YICsCAP3Snkx6bhbtqCMcTFkaPEtGlY9LeZP7m4nhGA + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.MachineLearningServices/locations/westus3/workspaceOperationsStatus/utrGJQkKq4iAwgXv-buKFfHyjsyDnbi1TqrN_E2LYlk?api-version=2021-07-01&type=location&t=638664478751378761&c=MIIHpTCCBo2gAwIBAgITOgM6dTLGpzYZpvPtgQAEAzp1MjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjQwNjI2MDEzMjIxWhcNMjUwNjIxMDEzMjIxWjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPPPKY5bDN03KptFFhiyLIyn86BlrXYFIZWYXA-hY7_WbLyWN0IxcLIUBW_I-9u-YsXOHk9WPMlUYHIFPgHW7A3FsSGfl9dd6YGapKoSSw0NkTpNXM58R54BBgLp7AhiWzK15D9T-XELNSU4Wq9sEeA5T24kazcgS2MUkzELH0I9dwu7g0dwJIuIJkoJjEzg1b1Q3Ie5HKHHNbjottJn7Q5LBS-9QtQyruuwaNTgSJpCoi4PBKVIOTBYL_Nv1wecmKmfWcT0mnhQE9zjhJTbcoN9hKSvAMqsDHtxWUFZosiw3JKIY0zb59CrVGSuOhfN3qaarwN9EAlXLqc4ZyKpsTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBRk_38CqdKjPVylWUR4uuqhbFGeHTAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEATAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAFsx7FtYAzSo98T5ydNFa0ukjPZ6XCQc9zo7ldqy235P_zJAUkaNgCU4EGOzbZJDoMa8mAfhyukL_0GfPeApUaY2e44ZOzoYAkeEuDiwcs-9zoQ1fCyXhn0pCumGFXRilX9KjAPaYTzDvQMEllTy_ZViwTahuKaGtFVamZguBPdaeYC_0oybtTVNQCs8hGnffhNZOMASB-5pFs35MNxsDWTVIQksDee419jqpsbWLkh6rnanILO1O_ihwb-WpvRQByQ5NGpG1-z0MQ6nRpr9wWxUi-DsrVsD38NTMIPc2uei4Ivf6qnGRvOOj0fmsciWuTTEXMaD-5a81mGlzhZc09Q&s=jcU7yfNX7AOrsO0LvmZOwnyxGHDML8GiWIIgPrW2iboBPTHI56a2Hq_tZKYPa0s11mUac8kRxGR7_T7hzi9DpZnBKi2onDHKJ6-xMpX-tBTBG7mzVmgi5A5pPKV4ez5dgsEansxAF9_yWi11PGXWeADT0AknT2l5T-Nstzid8u46TlmSziwDJbPGp9rGWhf8hPvA8GS1w18yBwXp3S8DpoiUlWyjd4fprtiN1d6vp2ByL8mokMtAZNep7Ojf8eNk8oBKVRtogNTV96hnJ2b5g5EwGTH-sw2jico3bO_909n_CWZtiMNlznQTCnl5IMEOeyVaXVt1gN7D0Yo8coK2Pw&h=XDZoVekRX1T-HnLTT7NqIzds3QDfaIupMmwO2DtKVDY + Pragma: + - no-cache + Request-Context: + - appId=cid-v1:2d2e8e63-272e-4b3c-8598-4ee570a0e70d + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Aml-Cluster: + - vienna-westus3-01 + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Writes: + - "11999" + X-Ms-Response-Type: + - standard + X-Msedge-Ref: + - 'Ref A: 4B655DBB50474BE7884BD375C331E32B Ref B: CO6AA3150220011 Ref C: 2024-11-05T23:57:53Z' + X-Request-Time: + - "0.338" + status: 202 Accepted + code: 202 + duration: 1.938998232s + - id: 6 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 152 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: '{"kind":"BlobStorage","location":"westus3","name":"asoworkspacestorageacct","properties":{"accessTier":"Hot"},"sku":{"name":"Standard_LRS"},"tags":null}' + form: {} + headers: + Accept: + - application/json + Content-Length: + - "152" + Content-Type: + - application/json + Test-Request-Hash: + - 7ae994437493905f9dbe9897d9bc1f01cf1af7ce1f9ef4a97147b32c1ff87bc5 + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-rcocns/providers/Microsoft.Storage/storageAccounts/asoworkspacestorageacct?api-version=2021-04-01 + method: PUT + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Cache-Control: + - no-cache + Content-Length: + - "0" + Content-Type: + - text/plain; charset=utf-8 + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus3/asyncoperations/f72e3cfc-fe94-4ca9-81e1-9f515d2f7306?monitor=true&api-version=2021-04-01&t=638664478759176572&c=MIIHpTCCBo2gAwIBAgITOgM6dTLGpzYZpvPtgQAEAzp1MjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjQwNjI2MDEzMjIxWhcNMjUwNjIxMDEzMjIxWjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPPPKY5bDN03KptFFhiyLIyn86BlrXYFIZWYXA-hY7_WbLyWN0IxcLIUBW_I-9u-YsXOHk9WPMlUYHIFPgHW7A3FsSGfl9dd6YGapKoSSw0NkTpNXM58R54BBgLp7AhiWzK15D9T-XELNSU4Wq9sEeA5T24kazcgS2MUkzELH0I9dwu7g0dwJIuIJkoJjEzg1b1Q3Ie5HKHHNbjottJn7Q5LBS-9QtQyruuwaNTgSJpCoi4PBKVIOTBYL_Nv1wecmKmfWcT0mnhQE9zjhJTbcoN9hKSvAMqsDHtxWUFZosiw3JKIY0zb59CrVGSuOhfN3qaarwN9EAlXLqc4ZyKpsTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBRk_38CqdKjPVylWUR4uuqhbFGeHTAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEATAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAFsx7FtYAzSo98T5ydNFa0ukjPZ6XCQc9zo7ldqy235P_zJAUkaNgCU4EGOzbZJDoMa8mAfhyukL_0GfPeApUaY2e44ZOzoYAkeEuDiwcs-9zoQ1fCyXhn0pCumGFXRilX9KjAPaYTzDvQMEllTy_ZViwTahuKaGtFVamZguBPdaeYC_0oybtTVNQCs8hGnffhNZOMASB-5pFs35MNxsDWTVIQksDee419jqpsbWLkh6rnanILO1O_ihwb-WpvRQByQ5NGpG1-z0MQ6nRpr9wWxUi-DsrVsD38NTMIPc2uei4Ivf6qnGRvOOj0fmsciWuTTEXMaD-5a81mGlzhZc09Q&s=FaR5pB38ysnAJ_Lgw2QF-NuHyy0wjJ7PqPPu_fjnS9gItqCKAVGZKGgbVtPpW1ARy-8IPPG99CnELPU3I5vfWIvDLmx2b8rJfwZlJAEJJmWgcJNm-xRSFvO-gffk0vKpEcLfxpAdQRYOhihNlmoV09Pi6q-1vqtP9K3vs6W97QjtiAZM25k6kmzHbOsHANLgapuKgRpvTdiKlbuJQf9wZ2nkOAujr-3iIIE9BmEHb8aseR5qnI0Tk7094M-AnKCtAl8aAtGt23JI7PyLkrZ0mujP29aktQq7bTXEpi_C5WGzPrwWrxzp3cKHqHjznSRb6hmC1Zs-dQgdx6NgPhsJhA&h=ayPSdGXoHeZvZ8N-onNMB5rOoindPNeLG8ibzCVAHAI + Pragma: + - no-cache + Retry-After: + - "17" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Writes: + - "11999" + X-Msedge-Ref: + - 'Ref A: 2A6D539128284867BB0D91A9FD6DFFD4 Ref B: CO6AA3150220011 Ref C: 2024-11-05T23:57:52Z' + status: 202 Accepted + code: 202 + duration: 3.796272276s + - id: 7 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 437 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: '{"location":"westus3","name":"aso-cs-vault","properties":{"accessPolicies":[{"applicationId":"1C793267-c310-d4ae-7BD5-5Af5BEF875D3","objectId":"1C793267-c310-d4ae-7BD5-5Af5BEF875D3","permissions":{"certificates":["get"],"keys":["get"],"secrets":["get"],"storage":["get"]},"tenantId":"00000000-0000-0000-0000-000000000000"}],"createMode":"default","sku":{"family":"A","name":"standard"},"tenantId":"00000000-0000-0000-0000-000000000000"}}' + form: {} + headers: + Accept: + - application/json + Content-Length: + - "437" + Content-Type: + - application/json + Test-Request-Hash: + - 9e64c2c18df93ff8c424e2b4b33b85630a7fa35c75878ab473b88a951ca8ee80 + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-rcocns/providers/Microsoft.KeyVault/vaults/aso-cs-vault?api-version=2021-04-01-preview + method: PUT + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 968 + uncompressed: false + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-rcocns/providers/Microsoft.KeyVault/vaults/aso-cs-vault","name":"aso-cs-vault","type":"Microsoft.KeyVault/vaults","location":"westus3","tags":{},"systemData":{"createdBy":"matthchr@microsoft.com","createdByType":"User","createdAt":"2001-02-03T04:05:06Z","lastModifiedBy":"matthchr@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2001-02-03T04:05:06Z"},"properties":{"sku":{"family":"A","name":"standard"},"tenantId":"00000000-0000-0000-0000-000000000000","accessPolicies":[{"tenantId":"00000000-0000-0000-0000-000000000000","objectId":"1C793267-c310-d4ae-7BD5-5Af5BEF875D3","applicationId":"1c793267-c310-d4ae-7bd5-5af5bef875d3","permissions":{"certificates":["get"],"keys":["get"],"secrets":["get"],"storage":["get"]}}],"enabledForDeployment":false,"enableSoftDelete":true,"vaultUri":"https://aso-cs-vault.vault.azure.net","provisioningState":"RegisteringDns"}}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "968" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Aspnet-Version: + - 4.0.30319 + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Keyvault-Service-Version: + - 1.5.1361.0 + X-Ms-Ratelimit-Remaining-Subscription-Global-Writes: + - "11999" + X-Msedge-Ref: + - 'Ref A: A1BDDF40F2554386A6E5770ABA15456B Ref B: CO6AA3150220011 Ref C: 2024-11-05T23:57:53Z' + status: 200 OK + code: 200 + duration: 2.569317331s + - id: 8 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.MachineLearningServices/locations/westus3/workspaceOperationsStatus/utrGJQkKq4iAwgXv-buKFfHyjsyDnbi1TqrN_E2LYlk?api-version=2021-07-01&type=async&t=638664478751222468&c=MIIHpTCCBo2gAwIBAgITOgM6dTLGpzYZpvPtgQAEAzp1MjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjQwNjI2MDEzMjIxWhcNMjUwNjIxMDEzMjIxWjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPPPKY5bDN03KptFFhiyLIyn86BlrXYFIZWYXA-hY7_WbLyWN0IxcLIUBW_I-9u-YsXOHk9WPMlUYHIFPgHW7A3FsSGfl9dd6YGapKoSSw0NkTpNXM58R54BBgLp7AhiWzK15D9T-XELNSU4Wq9sEeA5T24kazcgS2MUkzELH0I9dwu7g0dwJIuIJkoJjEzg1b1Q3Ie5HKHHNbjottJn7Q5LBS-9QtQyruuwaNTgSJpCoi4PBKVIOTBYL_Nv1wecmKmfWcT0mnhQE9zjhJTbcoN9hKSvAMqsDHtxWUFZosiw3JKIY0zb59CrVGSuOhfN3qaarwN9EAlXLqc4ZyKpsTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBRk_38CqdKjPVylWUR4uuqhbFGeHTAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEATAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAFsx7FtYAzSo98T5ydNFa0ukjPZ6XCQc9zo7ldqy235P_zJAUkaNgCU4EGOzbZJDoMa8mAfhyukL_0GfPeApUaY2e44ZOzoYAkeEuDiwcs-9zoQ1fCyXhn0pCumGFXRilX9KjAPaYTzDvQMEllTy_ZViwTahuKaGtFVamZguBPdaeYC_0oybtTVNQCs8hGnffhNZOMASB-5pFs35MNxsDWTVIQksDee419jqpsbWLkh6rnanILO1O_ihwb-WpvRQByQ5NGpG1-z0MQ6nRpr9wWxUi-DsrVsD38NTMIPc2uei4Ivf6qnGRvOOj0fmsciWuTTEXMaD-5a81mGlzhZc09Q&s=tIywabtDPhPahdLmjiwCMrUCX2OSHgrLwvZsAk73psaK1RQRu0sbXGegnyq2VBv1xXpXZCAnWi-r0_dfdDVOwm6idRpYUVx5Cf_69FMtVLjg9wt7jWM8eTZjnpPhtVmOD3sTv33NiX9Ua_IscUZomcfZjS8mcksnOdR4lCnzMUh_eFqnnjrCqelOiVGK72ufcG3xeN2UlvRlhyQsy2MsRyiL9PdtDLrom5ne-shJO7pvE4QlcNqOpShzk2J1ZewyYn5Bh5cWmJiztKifRhyT5a6GyYpNqRa84_y5q5K_dGywTkGFFh_0C_SeWT1fhM7Nd-71qIz6eznhwmS3Hz8z1A&h=YICsCAP3Snkx6bhbtqCMcTFkaPEtGlY9LeZP7m4nhGA + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 28 + uncompressed: false + body: |- + { + "status": "InProgress" + } + headers: + Cache-Control: + - no-cache + Content-Length: + - "28" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Request-Context: + - appId=cid-v1:2d2e8e63-272e-4b3c-8598-4ee570a0e70d + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Aml-Cluster: + - vienna-westus3-02 + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Ms-Response-Type: + - standard + X-Msedge-Ref: + - 'Ref A: 5A07867FEC364D26801F006BD1F43735 Ref B: CO6AA3150220011 Ref C: 2024-11-05T23:57:58Z' + X-Request-Time: + - "0.028" + status: 200 OK + code: 200 + duration: 210.521866ms + - id: 9 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 416 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: '{"identity":{"delegatedResources":null,"type":"SystemAssigned"},"location":"westus3","name":"sample-managedcluster-20240901","properties":{"addonProfiles":null,"agentPoolProfiles":[{"availabilityZones":null,"count":1,"mode":"System","name":"pool1","nodeLabels":{},"nodeTaints":[],"osType":"Linux","tags":{},"vmSize":"Standard_DS2_v2"}],"dnsPrefix":"aso","identityProfile":null,"privateLinkResources":null},"tags":{}}' + form: {} + headers: + Accept: + - application/json + Content-Length: + - "416" + Content-Type: + - application/json + Test-Request-Hash: + - 34ecc02bb8333d14ab7668a000ae82b0c57b87f60824c27ca23a599e072c66bd + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-rcocns/providers/Microsoft.ContainerService/managedClusters/sample-managedcluster-20240901?api-version=2024-09-01 + method: PUT + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 2814 + uncompressed: false + body: |- + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asotest-rg-rcocns/providers/Microsoft.ContainerService/managedClusters/sample-managedcluster-20240901", + "location": "westus3", + "name": "sample-managedcluster-20240901", + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Creating", + "powerState": { + "code": "Running" + }, + "kubernetesVersion": "1.29", + "currentKubernetesVersion": "1.29.9", + "dnsPrefix": "aso", + "fqdn": "aso-ho5jltab.hcp.westus3.azmk8s.io", + "azurePortalFQDN": "aso-ho5jltab.portal.hcp.westus3.azmk8s.io", + "agentPoolProfiles": [ + { + "name": "pool1", + "count": 1, + "vmSize": "Standard_DS2_v2", + "osDiskSizeGB": 128, + "osDiskType": "Managed", + "kubeletDiskType": "OS", + "maxPods": 110, + "type": "VirtualMachineScaleSets", + "provisioningState": "Creating", + "powerState": { + "code": "Running" + }, + "orchestratorVersion": "1.29", + "currentOrchestratorVersion": "1.29.9", + "enableNodePublicIP": false, + "tags": {}, + "nodeLabels": {}, + "mode": "System", + "osType": "Linux", + "osSKU": "Ubuntu", + "nodeImageVersion": "AKSUbuntu-2204gen2containerd-202410.15.0", + "upgradeSettings": { + "maxSurge": "10%" + }, + "enableFIPS": false, + "securityProfile": { + "enableVTPM": false, + "enableSecureBoot": false + } + } + ], + "servicePrincipalProfile": { + "clientId": "msi" + }, + "nodeResourceGroup": "MC_asotest-rg-rcocns_sample-managedcluster-20240901_westus3", + "enableRBAC": true, + "supportPlan": "KubernetesOfficial", + "networkProfile": { + "networkPlugin": "kubenet", + "networkPolicy": "none", + "loadBalancerSku": "standard", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 1 + }, + "backendPoolType": "nodeIPConfiguration" + }, + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ] + }, + "maxAgentPools": 100, + "autoUpgradeProfile": { + "nodeOSUpgradeChannel": "NodeImage" + }, + "securityProfile": {}, + "storageProfile": { + "diskCSIDriver": { + "enabled": true + }, + "fileCSIDriver": { + "enabled": true + }, + "snapshotController": { + "enabled": true + } + }, + "oidcIssuerProfile": { + "enabled": false + }, + "workloadAutoScalerProfile": {}, + "resourceUID": "672ab1076de4f60001d8fce4", + "metricsProfile": { + "costAnalysis": { + "enabled": false + } + } + }, + "identity": { + "type": "SystemAssigned", + "principalId": "495d5881-48ee-4883-9c86-b43e87b19812", + "tenantId": "00000000-0000-0000-0000-000000000000" + }, + "sku": { + "name": "Base", + "tier": "Free" + } + } + headers: + Azure-Asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/65dde9c2-0c3b-468e-a2d4-0b6f72574e0e?api-version=2016-03-30&t=638664478803863635&c=MIIHpTCCBo2gAwIBAgITOgM6dTLGpzYZpvPtgQAEAzp1MjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjQwNjI2MDEzMjIxWhcNMjUwNjIxMDEzMjIxWjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPPPKY5bDN03KptFFhiyLIyn86BlrXYFIZWYXA-hY7_WbLyWN0IxcLIUBW_I-9u-YsXOHk9WPMlUYHIFPgHW7A3FsSGfl9dd6YGapKoSSw0NkTpNXM58R54BBgLp7AhiWzK15D9T-XELNSU4Wq9sEeA5T24kazcgS2MUkzELH0I9dwu7g0dwJIuIJkoJjEzg1b1Q3Ie5HKHHNbjottJn7Q5LBS-9QtQyruuwaNTgSJpCoi4PBKVIOTBYL_Nv1wecmKmfWcT0mnhQE9zjhJTbcoN9hKSvAMqsDHtxWUFZosiw3JKIY0zb59CrVGSuOhfN3qaarwN9EAlXLqc4ZyKpsTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBRk_38CqdKjPVylWUR4uuqhbFGeHTAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEATAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAFsx7FtYAzSo98T5ydNFa0ukjPZ6XCQc9zo7ldqy235P_zJAUkaNgCU4EGOzbZJDoMa8mAfhyukL_0GfPeApUaY2e44ZOzoYAkeEuDiwcs-9zoQ1fCyXhn0pCumGFXRilX9KjAPaYTzDvQMEllTy_ZViwTahuKaGtFVamZguBPdaeYC_0oybtTVNQCs8hGnffhNZOMASB-5pFs35MNxsDWTVIQksDee419jqpsbWLkh6rnanILO1O_ihwb-WpvRQByQ5NGpG1-z0MQ6nRpr9wWxUi-DsrVsD38NTMIPc2uei4Ivf6qnGRvOOj0fmsciWuTTEXMaD-5a81mGlzhZc09Q&s=tRotlYbZ20w_HQmlnNxLpTbtcDCIXAqLUu8jG02I-uguyxYNgkSSqbGiHPDsPu3pVyJbuU_cc4-28D-d43C7Jh6W73dMpAaObqZjimsdqyZkRwP6sd80hDP_ktzLZ2kFQrudhvr-AzKCsZ3ugX745TQ7h-2OimkYesAubj1lif7czc10XgsP052KPtkk3-z7DZ3_kbD6xdVI3vgXmpZ9JQWBoVqd2fuNeUo4uEZjHgmjoHFpPojC6BgpDAJ0SJspSX3jP6sZWxZql130NliLHyblsyLQFr2257nd0wqdQPcBTaHt8_5nq28Yc5WrV03CGOtstx45g9F1M-VR4W_1rg&h=gU9E3ktNnvsJMTXJD5OKwi45jW9ipuzslXR3vslwV0w + Cache-Control: + - no-cache + Content-Length: + - "2814" + Content-Type: + - application/json + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Writes: + - "12000" + X-Msedge-Ref: + - 'Ref A: C252018516A84564BFD2CA832C0CC4DB Ref B: CO6AA3150220011 Ref C: 2024-11-05T23:57:52Z' + status: 201 Created + code: 201 + duration: 8.07655689s + - id: 10 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "1" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.MachineLearningServices/locations/westus3/workspaceOperationsStatus/utrGJQkKq4iAwgXv-buKFfHyjsyDnbi1TqrN_E2LYlk?api-version=2021-07-01&type=async&t=638664478751222468&c=MIIHpTCCBo2gAwIBAgITOgM6dTLGpzYZpvPtgQAEAzp1MjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjQwNjI2MDEzMjIxWhcNMjUwNjIxMDEzMjIxWjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPPPKY5bDN03KptFFhiyLIyn86BlrXYFIZWYXA-hY7_WbLyWN0IxcLIUBW_I-9u-YsXOHk9WPMlUYHIFPgHW7A3FsSGfl9dd6YGapKoSSw0NkTpNXM58R54BBgLp7AhiWzK15D9T-XELNSU4Wq9sEeA5T24kazcgS2MUkzELH0I9dwu7g0dwJIuIJkoJjEzg1b1Q3Ie5HKHHNbjottJn7Q5LBS-9QtQyruuwaNTgSJpCoi4PBKVIOTBYL_Nv1wecmKmfWcT0mnhQE9zjhJTbcoN9hKSvAMqsDHtxWUFZosiw3JKIY0zb59CrVGSuOhfN3qaarwN9EAlXLqc4ZyKpsTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBRk_38CqdKjPVylWUR4uuqhbFGeHTAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEATAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAFsx7FtYAzSo98T5ydNFa0ukjPZ6XCQc9zo7ldqy235P_zJAUkaNgCU4EGOzbZJDoMa8mAfhyukL_0GfPeApUaY2e44ZOzoYAkeEuDiwcs-9zoQ1fCyXhn0pCumGFXRilX9KjAPaYTzDvQMEllTy_ZViwTahuKaGtFVamZguBPdaeYC_0oybtTVNQCs8hGnffhNZOMASB-5pFs35MNxsDWTVIQksDee419jqpsbWLkh6rnanILO1O_ihwb-WpvRQByQ5NGpG1-z0MQ6nRpr9wWxUi-DsrVsD38NTMIPc2uei4Ivf6qnGRvOOj0fmsciWuTTEXMaD-5a81mGlzhZc09Q&s=tIywabtDPhPahdLmjiwCMrUCX2OSHgrLwvZsAk73psaK1RQRu0sbXGegnyq2VBv1xXpXZCAnWi-r0_dfdDVOwm6idRpYUVx5Cf_69FMtVLjg9wt7jWM8eTZjnpPhtVmOD3sTv33NiX9Ua_IscUZomcfZjS8mcksnOdR4lCnzMUh_eFqnnjrCqelOiVGK72ufcG3xeN2UlvRlhyQsy2MsRyiL9PdtDLrom5ne-shJO7pvE4QlcNqOpShzk2J1ZewyYn5Bh5cWmJiztKifRhyT5a6GyYpNqRa84_y5q5K_dGywTkGFFh_0C_SeWT1fhM7Nd-71qIz6eznhwmS3Hz8z1A&h=YICsCAP3Snkx6bhbtqCMcTFkaPEtGlY9LeZP7m4nhGA + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 28 + uncompressed: false + body: |- + { + "status": "InProgress" + } + headers: + Cache-Control: + - no-cache + Content-Length: + - "28" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Request-Context: + - appId=cid-v1:2d2e8e63-272e-4b3c-8598-4ee570a0e70d + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Aml-Cluster: + - vienna-westus3-01 + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Ms-Response-Type: + - standard + X-Msedge-Ref: + - 'Ref A: 03046380CF7B451D8AE4263DE8872653 Ref B: CO6AA3150220011 Ref C: 2024-11-05T23:58:00Z' + X-Request-Time: + - "0.027" + status: 200 OK + code: 200 + duration: 198.251771ms + - id: 11 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-rcocns/providers/Microsoft.KeyVault/vaults/aso-cs-vault?api-version=2021-04-01-preview + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1156 + uncompressed: false + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-rcocns/providers/Microsoft.KeyVault/vaults/aso-cs-vault","name":"aso-cs-vault","type":"Microsoft.KeyVault/vaults","location":"westus3","tags":{},"systemData":{"createdBy":"matthchr@microsoft.com","createdByType":"User","createdAt":"2001-02-03T04:05:06Z","lastModifiedBy":"matthchr@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2001-02-03T04:05:06Z"},"properties":{"sku":{"family":"A","name":"standard"},"tenantId":"00000000-0000-0000-0000-000000000000","accessPolicies":[{"tenantId":"00000000-0000-0000-0000-000000000000","objectId":"1C793267-c310-d4ae-7BD5-5Af5BEF875D3","applicationId":"1c793267-c310-d4ae-7bd5-5af5bef875d3","permissions":{"certificates":["get"],"keys":["get"],"secrets":["get"],"storage":["get"]}},{"tenantId":"00000000-0000-0000-0000-000000000000","objectId":"b002a569-b046-48bb-87a2-51e6901358f8","permissions":{"keys":["all"],"secrets":["all"],"certificates":["all"],"storage":[]}}],"enabledForDeployment":false,"enableSoftDelete":true,"vaultUri":"https://aso-cs-vault.vault.azure.net/","provisioningState":"RegisteringDns"}}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "1156" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Aspnet-Version: + - 4.0.30319 + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Keyvault-Service-Version: + - 1.5.1361.0 + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: DA80BC80DB894443B1E85248D23F7896 Ref B: CO6AA3150220011 Ref C: 2024-11-05T23:58:01Z' + status: 200 OK + code: 200 + duration: 250.440765ms + - id: 12 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus3/asyncoperations/f72e3cfc-fe94-4ca9-81e1-9f515d2f7306?monitor=true&api-version=2021-04-01&t=638664478759176572&c=MIIHpTCCBo2gAwIBAgITOgM6dTLGpzYZpvPtgQAEAzp1MjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjQwNjI2MDEzMjIxWhcNMjUwNjIxMDEzMjIxWjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPPPKY5bDN03KptFFhiyLIyn86BlrXYFIZWYXA-hY7_WbLyWN0IxcLIUBW_I-9u-YsXOHk9WPMlUYHIFPgHW7A3FsSGfl9dd6YGapKoSSw0NkTpNXM58R54BBgLp7AhiWzK15D9T-XELNSU4Wq9sEeA5T24kazcgS2MUkzELH0I9dwu7g0dwJIuIJkoJjEzg1b1Q3Ie5HKHHNbjottJn7Q5LBS-9QtQyruuwaNTgSJpCoi4PBKVIOTBYL_Nv1wecmKmfWcT0mnhQE9zjhJTbcoN9hKSvAMqsDHtxWUFZosiw3JKIY0zb59CrVGSuOhfN3qaarwN9EAlXLqc4ZyKpsTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBRk_38CqdKjPVylWUR4uuqhbFGeHTAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEATAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAFsx7FtYAzSo98T5ydNFa0ukjPZ6XCQc9zo7ldqy235P_zJAUkaNgCU4EGOzbZJDoMa8mAfhyukL_0GfPeApUaY2e44ZOzoYAkeEuDiwcs-9zoQ1fCyXhn0pCumGFXRilX9KjAPaYTzDvQMEllTy_ZViwTahuKaGtFVamZguBPdaeYC_0oybtTVNQCs8hGnffhNZOMASB-5pFs35MNxsDWTVIQksDee419jqpsbWLkh6rnanILO1O_ihwb-WpvRQByQ5NGpG1-z0MQ6nRpr9wWxUi-DsrVsD38NTMIPc2uei4Ivf6qnGRvOOj0fmsciWuTTEXMaD-5a81mGlzhZc09Q&s=FaR5pB38ysnAJ_Lgw2QF-NuHyy0wjJ7PqPPu_fjnS9gItqCKAVGZKGgbVtPpW1ARy-8IPPG99CnELPU3I5vfWIvDLmx2b8rJfwZlJAEJJmWgcJNm-xRSFvO-gffk0vKpEcLfxpAdQRYOhihNlmoV09Pi6q-1vqtP9K3vs6W97QjtiAZM25k6kmzHbOsHANLgapuKgRpvTdiKlbuJQf9wZ2nkOAujr-3iIIE9BmEHb8aseR5qnI0Tk7094M-AnKCtAl8aAtGt23JI7PyLkrZ0mujP29aktQq7bTXEpi_C5WGzPrwWrxzp3cKHqHjznSRb6hmC1Zs-dQgdx6NgPhsJhA&h=ayPSdGXoHeZvZ8N-onNMB5rOoindPNeLG8ibzCVAHAI + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Cache-Control: + - no-cache + Content-Length: + - "0" + Content-Type: + - text/plain; charset=utf-8 + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus3/asyncoperations/f72e3cfc-fe94-4ca9-81e1-9f515d2f7306?monitor=true&api-version=2021-04-01&t=638664478819723622&c=MIIHpTCCBo2gAwIBAgITOgM6dTLGpzYZpvPtgQAEAzp1MjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjQwNjI2MDEzMjIxWhcNMjUwNjIxMDEzMjIxWjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPPPKY5bDN03KptFFhiyLIyn86BlrXYFIZWYXA-hY7_WbLyWN0IxcLIUBW_I-9u-YsXOHk9WPMlUYHIFPgHW7A3FsSGfl9dd6YGapKoSSw0NkTpNXM58R54BBgLp7AhiWzK15D9T-XELNSU4Wq9sEeA5T24kazcgS2MUkzELH0I9dwu7g0dwJIuIJkoJjEzg1b1Q3Ie5HKHHNbjottJn7Q5LBS-9QtQyruuwaNTgSJpCoi4PBKVIOTBYL_Nv1wecmKmfWcT0mnhQE9zjhJTbcoN9hKSvAMqsDHtxWUFZosiw3JKIY0zb59CrVGSuOhfN3qaarwN9EAlXLqc4ZyKpsTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBRk_38CqdKjPVylWUR4uuqhbFGeHTAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEATAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAFsx7FtYAzSo98T5ydNFa0ukjPZ6XCQc9zo7ldqy235P_zJAUkaNgCU4EGOzbZJDoMa8mAfhyukL_0GfPeApUaY2e44ZOzoYAkeEuDiwcs-9zoQ1fCyXhn0pCumGFXRilX9KjAPaYTzDvQMEllTy_ZViwTahuKaGtFVamZguBPdaeYC_0oybtTVNQCs8hGnffhNZOMASB-5pFs35MNxsDWTVIQksDee419jqpsbWLkh6rnanILO1O_ihwb-WpvRQByQ5NGpG1-z0MQ6nRpr9wWxUi-DsrVsD38NTMIPc2uei4Ivf6qnGRvOOj0fmsciWuTTEXMaD-5a81mGlzhZc09Q&s=VxzAxLEwkUSzSdWRj9eADTsfhsdFmjiMHse8__kQbVQN8F3CZroS2vzfCczpwk7LJL6tuiFsYoqIJmuzu2pyO9IZ2yeEYcr2CMUHxmDzLZA5QoFStex1X-vf9xM7GtSpssNm1tqS25ryTZuvn6hpNiIKP17bx76Lb7MHlm4Q29nVDqlKL8kDHuqTfc5hTBQNf0_T27gdRLCSGWInaQq55pBgKEjYq2L4gJoJpIgGaoW2-lYNwObr6z7H1XsHv51K8rd5r9tP6EgRjwmUNWfHUe9yjf8OrK_XsGsLvOSE0GB-vyfuRPEfBSgpI7BXJiUZv4Ly3KC7ZUBtExrzgXDm-A&h=TeTxv-l8SAdlILuSDgwcW1FXua7mAI1hbFx0CWKN-Bw + Pragma: + - no-cache + Retry-After: + - "17" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 5A40CAB413AC4AA3B0463533CC784776 Ref B: CO6AA3150220011 Ref C: 2024-11-05T23:58:01Z' + status: 202 Accepted + code: 202 + duration: 148.22308ms + - id: 13 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "2" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.MachineLearningServices/locations/westus3/workspaceOperationsStatus/utrGJQkKq4iAwgXv-buKFfHyjsyDnbi1TqrN_E2LYlk?api-version=2021-07-01&type=async&t=638664478751222468&c=MIIHpTCCBo2gAwIBAgITOgM6dTLGpzYZpvPtgQAEAzp1MjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjQwNjI2MDEzMjIxWhcNMjUwNjIxMDEzMjIxWjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPPPKY5bDN03KptFFhiyLIyn86BlrXYFIZWYXA-hY7_WbLyWN0IxcLIUBW_I-9u-YsXOHk9WPMlUYHIFPgHW7A3FsSGfl9dd6YGapKoSSw0NkTpNXM58R54BBgLp7AhiWzK15D9T-XELNSU4Wq9sEeA5T24kazcgS2MUkzELH0I9dwu7g0dwJIuIJkoJjEzg1b1Q3Ie5HKHHNbjottJn7Q5LBS-9QtQyruuwaNTgSJpCoi4PBKVIOTBYL_Nv1wecmKmfWcT0mnhQE9zjhJTbcoN9hKSvAMqsDHtxWUFZosiw3JKIY0zb59CrVGSuOhfN3qaarwN9EAlXLqc4ZyKpsTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBRk_38CqdKjPVylWUR4uuqhbFGeHTAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEATAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAFsx7FtYAzSo98T5ydNFa0ukjPZ6XCQc9zo7ldqy235P_zJAUkaNgCU4EGOzbZJDoMa8mAfhyukL_0GfPeApUaY2e44ZOzoYAkeEuDiwcs-9zoQ1fCyXhn0pCumGFXRilX9KjAPaYTzDvQMEllTy_ZViwTahuKaGtFVamZguBPdaeYC_0oybtTVNQCs8hGnffhNZOMASB-5pFs35MNxsDWTVIQksDee419jqpsbWLkh6rnanILO1O_ihwb-WpvRQByQ5NGpG1-z0MQ6nRpr9wWxUi-DsrVsD38NTMIPc2uei4Ivf6qnGRvOOj0fmsciWuTTEXMaD-5a81mGlzhZc09Q&s=tIywabtDPhPahdLmjiwCMrUCX2OSHgrLwvZsAk73psaK1RQRu0sbXGegnyq2VBv1xXpXZCAnWi-r0_dfdDVOwm6idRpYUVx5Cf_69FMtVLjg9wt7jWM8eTZjnpPhtVmOD3sTv33NiX9Ua_IscUZomcfZjS8mcksnOdR4lCnzMUh_eFqnnjrCqelOiVGK72ufcG3xeN2UlvRlhyQsy2MsRyiL9PdtDLrom5ne-shJO7pvE4QlcNqOpShzk2J1ZewyYn5Bh5cWmJiztKifRhyT5a6GyYpNqRa84_y5q5K_dGywTkGFFh_0C_SeWT1fhM7Nd-71qIz6eznhwmS3Hz8z1A&h=YICsCAP3Snkx6bhbtqCMcTFkaPEtGlY9LeZP7m4nhGA + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 28 + uncompressed: false + body: |- + { + "status": "InProgress" + } + headers: + Cache-Control: + - no-cache + Content-Length: + - "28" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Request-Context: + - appId=cid-v1:2d2e8e63-272e-4b3c-8598-4ee570a0e70d + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Aml-Cluster: + - vienna-westus3-02 + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Ms-Response-Type: + - standard + X-Msedge-Ref: + - 'Ref A: FAC95D73334A430282B96B5221560CFF Ref B: CO6AA3150220011 Ref C: 2024-11-05T23:58:04Z' + X-Request-Time: + - "0.030" + status: 200 OK + code: 200 + duration: 291.798268ms + - id: 14 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "1" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-rcocns/providers/Microsoft.KeyVault/vaults/aso-cs-vault?api-version=2021-04-01-preview + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1156 + uncompressed: false + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-rcocns/providers/Microsoft.KeyVault/vaults/aso-cs-vault","name":"aso-cs-vault","type":"Microsoft.KeyVault/vaults","location":"westus3","tags":{},"systemData":{"createdBy":"matthchr@microsoft.com","createdByType":"User","createdAt":"2001-02-03T04:05:06Z","lastModifiedBy":"matthchr@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2001-02-03T04:05:06Z"},"properties":{"sku":{"family":"A","name":"standard"},"tenantId":"00000000-0000-0000-0000-000000000000","accessPolicies":[{"tenantId":"00000000-0000-0000-0000-000000000000","objectId":"1C793267-c310-d4ae-7BD5-5Af5BEF875D3","applicationId":"1c793267-c310-d4ae-7bd5-5af5bef875d3","permissions":{"certificates":["get"],"keys":["get"],"secrets":["get"],"storage":["get"]}},{"tenantId":"00000000-0000-0000-0000-000000000000","objectId":"b002a569-b046-48bb-87a2-51e6901358f8","permissions":{"keys":["all"],"secrets":["all"],"certificates":["all"],"storage":[]}}],"enabledForDeployment":false,"enableSoftDelete":true,"vaultUri":"https://aso-cs-vault.vault.azure.net/","provisioningState":"RegisteringDns"}}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "1156" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Aspnet-Version: + - 4.0.30319 + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Keyvault-Service-Version: + - 1.5.1361.0 + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: E2A0A91E62274AF1BEB2DB2CF45EEB45 Ref B: CO6AA3150220011 Ref C: 2024-11-05T23:58:05Z' + status: 200 OK + code: 200 + duration: 2.372605554s + - id: 15 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/65dde9c2-0c3b-468e-a2d4-0b6f72574e0e?api-version=2016-03-30&t=638664478803863635&c=MIIHpTCCBo2gAwIBAgITOgM6dTLGpzYZpvPtgQAEAzp1MjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjQwNjI2MDEzMjIxWhcNMjUwNjIxMDEzMjIxWjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPPPKY5bDN03KptFFhiyLIyn86BlrXYFIZWYXA-hY7_WbLyWN0IxcLIUBW_I-9u-YsXOHk9WPMlUYHIFPgHW7A3FsSGfl9dd6YGapKoSSw0NkTpNXM58R54BBgLp7AhiWzK15D9T-XELNSU4Wq9sEeA5T24kazcgS2MUkzELH0I9dwu7g0dwJIuIJkoJjEzg1b1Q3Ie5HKHHNbjottJn7Q5LBS-9QtQyruuwaNTgSJpCoi4PBKVIOTBYL_Nv1wecmKmfWcT0mnhQE9zjhJTbcoN9hKSvAMqsDHtxWUFZosiw3JKIY0zb59CrVGSuOhfN3qaarwN9EAlXLqc4ZyKpsTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBRk_38CqdKjPVylWUR4uuqhbFGeHTAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEATAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAFsx7FtYAzSo98T5ydNFa0ukjPZ6XCQc9zo7ldqy235P_zJAUkaNgCU4EGOzbZJDoMa8mAfhyukL_0GfPeApUaY2e44ZOzoYAkeEuDiwcs-9zoQ1fCyXhn0pCumGFXRilX9KjAPaYTzDvQMEllTy_ZViwTahuKaGtFVamZguBPdaeYC_0oybtTVNQCs8hGnffhNZOMASB-5pFs35MNxsDWTVIQksDee419jqpsbWLkh6rnanILO1O_ihwb-WpvRQByQ5NGpG1-z0MQ6nRpr9wWxUi-DsrVsD38NTMIPc2uei4Ivf6qnGRvOOj0fmsciWuTTEXMaD-5a81mGlzhZc09Q&s=tRotlYbZ20w_HQmlnNxLpTbtcDCIXAqLUu8jG02I-uguyxYNgkSSqbGiHPDsPu3pVyJbuU_cc4-28D-d43C7Jh6W73dMpAaObqZjimsdqyZkRwP6sd80hDP_ktzLZ2kFQrudhvr-AzKCsZ3ugX745TQ7h-2OimkYesAubj1lif7czc10XgsP052KPtkk3-z7DZ3_kbD6xdVI3vgXmpZ9JQWBoVqd2fuNeUo4uEZjHgmjoHFpPojC6BgpDAJ0SJspSX3jP6sZWxZql130NliLHyblsyLQFr2257nd0wqdQPcBTaHt8_5nq28Yc5WrV03CGOtstx45g9F1M-VR4W_1rg&h=gU9E3ktNnvsJMTXJD5OKwi45jW9ipuzslXR3vslwV0w + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 121 + uncompressed: false + body: |- + { + "name": "65dde9c2-0c3b-468e-a2d4-0b6f72574e0e", + "status": "InProgress", + "startTime": "2001-02-03T04:05:06Z" + } + headers: + Cache-Control: + - no-cache + Content-Length: + - "121" + Content-Type: + - application/json + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: A4A9F60691EB4DF9A376AC492E4809B1 Ref B: CO6AA3150220011 Ref C: 2024-11-05T23:58:10Z' + status: 200 OK + code: 200 + duration: 192.354885ms + - id: 16 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "3" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.MachineLearningServices/locations/westus3/workspaceOperationsStatus/utrGJQkKq4iAwgXv-buKFfHyjsyDnbi1TqrN_E2LYlk?api-version=2021-07-01&type=async&t=638664478751222468&c=MIIHpTCCBo2gAwIBAgITOgM6dTLGpzYZpvPtgQAEAzp1MjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjQwNjI2MDEzMjIxWhcNMjUwNjIxMDEzMjIxWjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPPPKY5bDN03KptFFhiyLIyn86BlrXYFIZWYXA-hY7_WbLyWN0IxcLIUBW_I-9u-YsXOHk9WPMlUYHIFPgHW7A3FsSGfl9dd6YGapKoSSw0NkTpNXM58R54BBgLp7AhiWzK15D9T-XELNSU4Wq9sEeA5T24kazcgS2MUkzELH0I9dwu7g0dwJIuIJkoJjEzg1b1Q3Ie5HKHHNbjottJn7Q5LBS-9QtQyruuwaNTgSJpCoi4PBKVIOTBYL_Nv1wecmKmfWcT0mnhQE9zjhJTbcoN9hKSvAMqsDHtxWUFZosiw3JKIY0zb59CrVGSuOhfN3qaarwN9EAlXLqc4ZyKpsTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBRk_38CqdKjPVylWUR4uuqhbFGeHTAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEATAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAFsx7FtYAzSo98T5ydNFa0ukjPZ6XCQc9zo7ldqy235P_zJAUkaNgCU4EGOzbZJDoMa8mAfhyukL_0GfPeApUaY2e44ZOzoYAkeEuDiwcs-9zoQ1fCyXhn0pCumGFXRilX9KjAPaYTzDvQMEllTy_ZViwTahuKaGtFVamZguBPdaeYC_0oybtTVNQCs8hGnffhNZOMASB-5pFs35MNxsDWTVIQksDee419jqpsbWLkh6rnanILO1O_ihwb-WpvRQByQ5NGpG1-z0MQ6nRpr9wWxUi-DsrVsD38NTMIPc2uei4Ivf6qnGRvOOj0fmsciWuTTEXMaD-5a81mGlzhZc09Q&s=tIywabtDPhPahdLmjiwCMrUCX2OSHgrLwvZsAk73psaK1RQRu0sbXGegnyq2VBv1xXpXZCAnWi-r0_dfdDVOwm6idRpYUVx5Cf_69FMtVLjg9wt7jWM8eTZjnpPhtVmOD3sTv33NiX9Ua_IscUZomcfZjS8mcksnOdR4lCnzMUh_eFqnnjrCqelOiVGK72ufcG3xeN2UlvRlhyQsy2MsRyiL9PdtDLrom5ne-shJO7pvE4QlcNqOpShzk2J1ZewyYn5Bh5cWmJiztKifRhyT5a6GyYpNqRa84_y5q5K_dGywTkGFFh_0C_SeWT1fhM7Nd-71qIz6eznhwmS3Hz8z1A&h=YICsCAP3Snkx6bhbtqCMcTFkaPEtGlY9LeZP7m4nhGA + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 55 + uncompressed: false + body: |- + { + "status": "Succeeded", + "percentComplete": 100.0 + } + headers: + Cache-Control: + - no-cache + Content-Length: + - "55" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Request-Context: + - appId=cid-v1:2d2e8e63-272e-4b3c-8598-4ee570a0e70d + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Aml-Cluster: + - vienna-westus3-02 + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Ms-Response-Type: + - standard + X-Msedge-Ref: + - 'Ref A: 7B2EF6A2D24E4BE5869EFDA7ABA77A68 Ref B: CO6AA3150220011 Ref C: 2024-11-05T23:58:13Z' + X-Request-Time: + - "0.027" + status: 200 OK + code: 200 + duration: 207.786388ms + - id: 17 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-rcocns/providers/Microsoft.MachineLearningServices/workspaces/sampleworkspaces?api-version=2021-07-01 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 2372 + uncompressed: false + body: |- + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-rcocns/providers/Microsoft.MachineLearningServices/workspaces/sampleworkspaces", + "name": "sampleworkspaces", + "type": "Microsoft.MachineLearningServices/workspaces", + "location": "westus3", + "tags": {}, + "etag": null, + "properties": { + "friendlyName": "", + "description": "", + "storageAccount": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-rcocns/providers/Microsoft.Storage/storageAccounts/asoworkspacestorageacct", + "keyVault": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-rcocns/providers/Microsoft.Keyvault/vaults/aso-cs-vault", + "applicationInsights": null, + "hbiWorkspace": false, + "tenantId": "00000000-0000-0000-0000-000000000000", + "imageBuildCompute": null, + "provisioningState": "Succeeded", + "allowRoleAssignmentOnRG": true, + "creationTime": "2001-02-03T04:05:06Z", + "notebookInfo": { + "resourceId": "8051dcc009ad4840839d2d230c52cb05", + "fqdn": "ml-sampleworkspace-westus3-e7669fa5-1f87-4fdb-b321-56bbc58734ae.westus2.notebooks.azure.net", + "isPrivateLinkEnabled": false, + "notebookPreparationError": null + }, + "storageHnsEnabled": false, + "workspaceId": "e7669fa5-1f87-4fdb-b321-56bbc58734ae", + "linkedModelInventoryArmId": null, + "privateLinkCount": 0, + "allowPublicAccessWhenBehindVnet": true, + "discoveryUrl": "https://westus3.api.azureml.ms/discovery", + "mlFlowTrackingUri": "azureml://westus3.api.azureml.ms/mlflow/v1.0/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-rcocns/providers/Microsoft.MachineLearningServices/workspaces/sampleworkspaces", + "sdkTelemetryAppInsightsKey": "e2b2c446-95af-4564-b25f-79188b737986", + "sasGetterUri": "" + }, + "identity": { + "type": "SystemAssigned", + "principalId": "b002a569-b046-48bb-87a2-51e6901358f8", + "tenantId": "00000000-0000-0000-0000-000000000000" + }, + "kind": "Default", + "sku": { + "name": "Basic", + "tier": "Basic" + }, + "systemData": { + "createdAt": "2001-02-03T04:05:06Z", + "createdBy": "matthchr@microsoft.com", + "createdByType": "User", + "lastModifiedAt": "2001-02-03T04:05:06Z", + "lastModifiedBy": "matthchr@microsoft.com", + "lastModifiedByType": "User" + } + } + headers: + Cache-Control: + - no-cache + Content-Length: + - "2372" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Request-Context: + - appId=cid-v1:2d2e8e63-272e-4b3c-8598-4ee570a0e70d + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + Vary: + - Accept-Encoding + X-Aml-Cluster: + - vienna-westus3-02 + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Ms-Response-Type: + - standard + X-Msedge-Ref: + - 'Ref A: A27BC602636E4BC0B662B130D50EA567 Ref B: CO6AA3150220011 Ref C: 2024-11-05T23:58:13Z' + X-Request-Time: + - "0.025" + status: 200 OK + code: 200 + duration: 229.411888ms + - id: 18 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "1" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-rcocns/providers/Microsoft.MachineLearningServices/workspaces/sampleworkspaces?api-version=2021-07-01 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 2372 + uncompressed: false + body: |- + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-rcocns/providers/Microsoft.MachineLearningServices/workspaces/sampleworkspaces", + "name": "sampleworkspaces", + "type": "Microsoft.MachineLearningServices/workspaces", + "location": "westus3", + "tags": {}, + "etag": null, + "properties": { + "friendlyName": "", + "description": "", + "storageAccount": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-rcocns/providers/Microsoft.Storage/storageAccounts/asoworkspacestorageacct", + "keyVault": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-rcocns/providers/Microsoft.Keyvault/vaults/aso-cs-vault", + "applicationInsights": null, + "hbiWorkspace": false, + "tenantId": "00000000-0000-0000-0000-000000000000", + "imageBuildCompute": null, + "provisioningState": "Succeeded", + "allowRoleAssignmentOnRG": true, + "creationTime": "2001-02-03T04:05:06Z", + "notebookInfo": { + "resourceId": "8051dcc009ad4840839d2d230c52cb05", + "fqdn": "ml-sampleworkspace-westus3-e7669fa5-1f87-4fdb-b321-56bbc58734ae.westus2.notebooks.azure.net", + "isPrivateLinkEnabled": false, + "notebookPreparationError": null + }, + "storageHnsEnabled": false, + "workspaceId": "e7669fa5-1f87-4fdb-b321-56bbc58734ae", + "linkedModelInventoryArmId": null, + "privateLinkCount": 0, + "allowPublicAccessWhenBehindVnet": true, + "discoveryUrl": "https://westus3.api.azureml.ms/discovery", + "mlFlowTrackingUri": "azureml://westus3.api.azureml.ms/mlflow/v1.0/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-rcocns/providers/Microsoft.MachineLearningServices/workspaces/sampleworkspaces", + "sdkTelemetryAppInsightsKey": "e2b2c446-95af-4564-b25f-79188b737986", + "sasGetterUri": "" + }, + "identity": { + "type": "SystemAssigned", + "principalId": "b002a569-b046-48bb-87a2-51e6901358f8", + "tenantId": "00000000-0000-0000-0000-000000000000" + }, + "kind": "Default", + "sku": { + "name": "Basic", + "tier": "Basic" + }, + "systemData": { + "createdAt": "2001-02-03T04:05:06Z", + "createdBy": "matthchr@microsoft.com", + "createdByType": "User", + "lastModifiedAt": "2001-02-03T04:05:06Z", + "lastModifiedBy": "matthchr@microsoft.com", + "lastModifiedByType": "User" + } + } + headers: + Cache-Control: + - no-cache + Content-Length: + - "2372" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Request-Context: + - appId=cid-v1:2d2e8e63-272e-4b3c-8598-4ee570a0e70d + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + Vary: + - Accept-Encoding + X-Aml-Cluster: + - vienna-westus3-01 + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Ms-Response-Type: + - standard + X-Msedge-Ref: + - 'Ref A: 25E134A1D7734BFEA6640F7DCBB07A66 Ref B: CO6AA3150220011 Ref C: 2024-11-05T23:58:14Z' + X-Request-Time: + - "0.027" + status: 200 OK + code: 200 + duration: 222.125689ms + - id: 19 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "1" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/65dde9c2-0c3b-468e-a2d4-0b6f72574e0e?api-version=2016-03-30&t=638664478803863635&c=MIIHpTCCBo2gAwIBAgITOgM6dTLGpzYZpvPtgQAEAzp1MjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjQwNjI2MDEzMjIxWhcNMjUwNjIxMDEzMjIxWjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPPPKY5bDN03KptFFhiyLIyn86BlrXYFIZWYXA-hY7_WbLyWN0IxcLIUBW_I-9u-YsXOHk9WPMlUYHIFPgHW7A3FsSGfl9dd6YGapKoSSw0NkTpNXM58R54BBgLp7AhiWzK15D9T-XELNSU4Wq9sEeA5T24kazcgS2MUkzELH0I9dwu7g0dwJIuIJkoJjEzg1b1Q3Ie5HKHHNbjottJn7Q5LBS-9QtQyruuwaNTgSJpCoi4PBKVIOTBYL_Nv1wecmKmfWcT0mnhQE9zjhJTbcoN9hKSvAMqsDHtxWUFZosiw3JKIY0zb59CrVGSuOhfN3qaarwN9EAlXLqc4ZyKpsTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBRk_38CqdKjPVylWUR4uuqhbFGeHTAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEATAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAFsx7FtYAzSo98T5ydNFa0ukjPZ6XCQc9zo7ldqy235P_zJAUkaNgCU4EGOzbZJDoMa8mAfhyukL_0GfPeApUaY2e44ZOzoYAkeEuDiwcs-9zoQ1fCyXhn0pCumGFXRilX9KjAPaYTzDvQMEllTy_ZViwTahuKaGtFVamZguBPdaeYC_0oybtTVNQCs8hGnffhNZOMASB-5pFs35MNxsDWTVIQksDee419jqpsbWLkh6rnanILO1O_ihwb-WpvRQByQ5NGpG1-z0MQ6nRpr9wWxUi-DsrVsD38NTMIPc2uei4Ivf6qnGRvOOj0fmsciWuTTEXMaD-5a81mGlzhZc09Q&s=tRotlYbZ20w_HQmlnNxLpTbtcDCIXAqLUu8jG02I-uguyxYNgkSSqbGiHPDsPu3pVyJbuU_cc4-28D-d43C7Jh6W73dMpAaObqZjimsdqyZkRwP6sd80hDP_ktzLZ2kFQrudhvr-AzKCsZ3ugX745TQ7h-2OimkYesAubj1lif7czc10XgsP052KPtkk3-z7DZ3_kbD6xdVI3vgXmpZ9JQWBoVqd2fuNeUo4uEZjHgmjoHFpPojC6BgpDAJ0SJspSX3jP6sZWxZql130NliLHyblsyLQFr2257nd0wqdQPcBTaHt8_5nq28Yc5WrV03CGOtstx45g9F1M-VR4W_1rg&h=gU9E3ktNnvsJMTXJD5OKwi45jW9ipuzslXR3vslwV0w + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 121 + uncompressed: false + body: |- + { + "name": "65dde9c2-0c3b-468e-a2d4-0b6f72574e0e", + "status": "InProgress", + "startTime": "2001-02-03T04:05:06Z" + } + headers: + Cache-Control: + - no-cache + Content-Length: + - "121" + Content-Type: + - application/json + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 7A5794E37B234751962B7052DF236B1D Ref B: CO6AA3150220011 Ref C: 2024-11-05T23:58:14Z' + status: 200 OK + code: 200 + duration: 207.79049ms + - id: 20 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "2" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-rcocns/providers/Microsoft.KeyVault/vaults/aso-cs-vault?api-version=2021-04-01-preview + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1151 + uncompressed: false + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-rcocns/providers/Microsoft.KeyVault/vaults/aso-cs-vault","name":"aso-cs-vault","type":"Microsoft.KeyVault/vaults","location":"westus3","tags":{},"systemData":{"createdBy":"matthchr@microsoft.com","createdByType":"User","createdAt":"2001-02-03T04:05:06Z","lastModifiedBy":"matthchr@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2001-02-03T04:05:06Z"},"properties":{"sku":{"family":"A","name":"standard"},"tenantId":"00000000-0000-0000-0000-000000000000","accessPolicies":[{"tenantId":"00000000-0000-0000-0000-000000000000","objectId":"1C793267-c310-d4ae-7BD5-5Af5BEF875D3","applicationId":"1c793267-c310-d4ae-7bd5-5af5bef875d3","permissions":{"certificates":["get"],"keys":["get"],"secrets":["get"],"storage":["get"]}},{"tenantId":"00000000-0000-0000-0000-000000000000","objectId":"b002a569-b046-48bb-87a2-51e6901358f8","permissions":{"keys":["all"],"secrets":["all"],"certificates":["all"],"storage":[]}}],"enabledForDeployment":false,"enableSoftDelete":true,"vaultUri":"https://aso-cs-vault.vault.azure.net/","provisioningState":"Succeeded"}}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "1151" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Aspnet-Version: + - 4.0.30319 + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Keyvault-Service-Version: + - 1.5.1361.0 + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: DC3F3D3EE9514E1B85B35F02C7C5D2E1 Ref B: CO6AA3150220011 Ref C: 2024-11-05T23:58:18Z' + status: 200 OK + code: 200 + duration: 236.420194ms + - id: 21 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "3" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-rcocns/providers/Microsoft.KeyVault/vaults/aso-cs-vault?api-version=2021-04-01-preview + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1151 + uncompressed: false + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-rcocns/providers/Microsoft.KeyVault/vaults/aso-cs-vault","name":"aso-cs-vault","type":"Microsoft.KeyVault/vaults","location":"westus3","tags":{},"systemData":{"createdBy":"matthchr@microsoft.com","createdByType":"User","createdAt":"2001-02-03T04:05:06Z","lastModifiedBy":"matthchr@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2001-02-03T04:05:06Z"},"properties":{"sku":{"family":"A","name":"standard"},"tenantId":"00000000-0000-0000-0000-000000000000","accessPolicies":[{"tenantId":"00000000-0000-0000-0000-000000000000","objectId":"1C793267-c310-d4ae-7BD5-5Af5BEF875D3","applicationId":"1c793267-c310-d4ae-7bd5-5af5bef875d3","permissions":{"certificates":["get"],"keys":["get"],"secrets":["get"],"storage":["get"]}},{"tenantId":"00000000-0000-0000-0000-000000000000","objectId":"b002a569-b046-48bb-87a2-51e6901358f8","permissions":{"keys":["all"],"secrets":["all"],"certificates":["all"],"storage":[]}}],"enabledForDeployment":false,"enableSoftDelete":true,"vaultUri":"https://aso-cs-vault.vault.azure.net/","provisioningState":"Succeeded"}}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "1151" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Aspnet-Version: + - 4.0.30319 + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Keyvault-Service-Version: + - 1.5.1361.0 + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 6E649982D56E4256A8370B42EE806061 Ref B: CO6AA3150220011 Ref C: 2024-11-05T23:58:18Z' + status: 200 OK + code: 200 + duration: 212.960294ms + - id: 22 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "1" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus3/asyncoperations/f72e3cfc-fe94-4ca9-81e1-9f515d2f7306?monitor=true&api-version=2021-04-01&t=638664478759176572&c=MIIHpTCCBo2gAwIBAgITOgM6dTLGpzYZpvPtgQAEAzp1MjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjQwNjI2MDEzMjIxWhcNMjUwNjIxMDEzMjIxWjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPPPKY5bDN03KptFFhiyLIyn86BlrXYFIZWYXA-hY7_WbLyWN0IxcLIUBW_I-9u-YsXOHk9WPMlUYHIFPgHW7A3FsSGfl9dd6YGapKoSSw0NkTpNXM58R54BBgLp7AhiWzK15D9T-XELNSU4Wq9sEeA5T24kazcgS2MUkzELH0I9dwu7g0dwJIuIJkoJjEzg1b1Q3Ie5HKHHNbjottJn7Q5LBS-9QtQyruuwaNTgSJpCoi4PBKVIOTBYL_Nv1wecmKmfWcT0mnhQE9zjhJTbcoN9hKSvAMqsDHtxWUFZosiw3JKIY0zb59CrVGSuOhfN3qaarwN9EAlXLqc4ZyKpsTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBRk_38CqdKjPVylWUR4uuqhbFGeHTAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEATAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAFsx7FtYAzSo98T5ydNFa0ukjPZ6XCQc9zo7ldqy235P_zJAUkaNgCU4EGOzbZJDoMa8mAfhyukL_0GfPeApUaY2e44ZOzoYAkeEuDiwcs-9zoQ1fCyXhn0pCumGFXRilX9KjAPaYTzDvQMEllTy_ZViwTahuKaGtFVamZguBPdaeYC_0oybtTVNQCs8hGnffhNZOMASB-5pFs35MNxsDWTVIQksDee419jqpsbWLkh6rnanILO1O_ihwb-WpvRQByQ5NGpG1-z0MQ6nRpr9wWxUi-DsrVsD38NTMIPc2uei4Ivf6qnGRvOOj0fmsciWuTTEXMaD-5a81mGlzhZc09Q&s=FaR5pB38ysnAJ_Lgw2QF-NuHyy0wjJ7PqPPu_fjnS9gItqCKAVGZKGgbVtPpW1ARy-8IPPG99CnELPU3I5vfWIvDLmx2b8rJfwZlJAEJJmWgcJNm-xRSFvO-gffk0vKpEcLfxpAdQRYOhihNlmoV09Pi6q-1vqtP9K3vs6W97QjtiAZM25k6kmzHbOsHANLgapuKgRpvTdiKlbuJQf9wZ2nkOAujr-3iIIE9BmEHb8aseR5qnI0Tk7094M-AnKCtAl8aAtGt23JI7PyLkrZ0mujP29aktQq7bTXEpi_C5WGzPrwWrxzp3cKHqHjznSRb6hmC1Zs-dQgdx6NgPhsJhA&h=ayPSdGXoHeZvZ8N-onNMB5rOoindPNeLG8ibzCVAHAI + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1324 + uncompressed: false + body: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"BlobStorage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-rcocns/providers/Microsoft.Storage/storageAccounts/asoworkspacestorageacct","name":"asoworkspacestorageacct","type":"Microsoft.Storage/storageAccounts","location":"westus3","tags":{},"properties":{"keyCreationTime":{"key1":"2001-02-03T04:05:06Z","key2":"2001-02-03T04:05:06Z"},"allowCrossTenantReplication":false,"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2001-02-03T04:05:06Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2001-02-03T04:05:06Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2001-02-03T04:05:06Z","primaryEndpoints":{"dfs":"https://asoworkspacestorageacct.dfs.core.windows.net/","blob":"https://asoworkspacestorageacct.blob.core.windows.net/","table":"https://asoworkspacestorageacct.table.core.windows.net/"},"primaryLocation":"westus3","statusOfPrimary":"available"}}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "1324" + Content-Type: + - application/json + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 6984DC5693104EA0946DBCCA18C10576 Ref B: CO6AA3150220011 Ref C: 2024-11-05T23:58:19Z' + status: 200 OK + code: 200 + duration: 114.103498ms + - id: 23 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-rcocns/providers/Microsoft.Storage/storageAccounts/asoworkspacestorageacct?api-version=2021-04-01 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1324 + uncompressed: false + body: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"BlobStorage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-rcocns/providers/Microsoft.Storage/storageAccounts/asoworkspacestorageacct","name":"asoworkspacestorageacct","type":"Microsoft.Storage/storageAccounts","location":"westus3","tags":{},"properties":{"keyCreationTime":{"key1":"2001-02-03T04:05:06Z","key2":"2001-02-03T04:05:06Z"},"allowCrossTenantReplication":false,"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2001-02-03T04:05:06Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2001-02-03T04:05:06Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2001-02-03T04:05:06Z","primaryEndpoints":{"dfs":"https://asoworkspacestorageacct.dfs.core.windows.net/","blob":"https://asoworkspacestorageacct.blob.core.windows.net/","table":"https://asoworkspacestorageacct.table.core.windows.net/"},"primaryLocation":"westus3","statusOfPrimary":"available"}}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "1324" + Content-Type: + - application/json + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 5C3F9F2D76BA47CDB7CED96505C4F2E3 Ref B: CO6AA3150220011 Ref C: 2024-11-05T23:58:19Z' + status: 200 OK + code: 200 + duration: 84.819899ms + - id: 24 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "2" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/65dde9c2-0c3b-468e-a2d4-0b6f72574e0e?api-version=2016-03-30&t=638664478803863635&c=MIIHpTCCBo2gAwIBAgITOgM6dTLGpzYZpvPtgQAEAzp1MjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjQwNjI2MDEzMjIxWhcNMjUwNjIxMDEzMjIxWjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPPPKY5bDN03KptFFhiyLIyn86BlrXYFIZWYXA-hY7_WbLyWN0IxcLIUBW_I-9u-YsXOHk9WPMlUYHIFPgHW7A3FsSGfl9dd6YGapKoSSw0NkTpNXM58R54BBgLp7AhiWzK15D9T-XELNSU4Wq9sEeA5T24kazcgS2MUkzELH0I9dwu7g0dwJIuIJkoJjEzg1b1Q3Ie5HKHHNbjottJn7Q5LBS-9QtQyruuwaNTgSJpCoi4PBKVIOTBYL_Nv1wecmKmfWcT0mnhQE9zjhJTbcoN9hKSvAMqsDHtxWUFZosiw3JKIY0zb59CrVGSuOhfN3qaarwN9EAlXLqc4ZyKpsTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBRk_38CqdKjPVylWUR4uuqhbFGeHTAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEATAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAFsx7FtYAzSo98T5ydNFa0ukjPZ6XCQc9zo7ldqy235P_zJAUkaNgCU4EGOzbZJDoMa8mAfhyukL_0GfPeApUaY2e44ZOzoYAkeEuDiwcs-9zoQ1fCyXhn0pCumGFXRilX9KjAPaYTzDvQMEllTy_ZViwTahuKaGtFVamZguBPdaeYC_0oybtTVNQCs8hGnffhNZOMASB-5pFs35MNxsDWTVIQksDee419jqpsbWLkh6rnanILO1O_ihwb-WpvRQByQ5NGpG1-z0MQ6nRpr9wWxUi-DsrVsD38NTMIPc2uei4Ivf6qnGRvOOj0fmsciWuTTEXMaD-5a81mGlzhZc09Q&s=tRotlYbZ20w_HQmlnNxLpTbtcDCIXAqLUu8jG02I-uguyxYNgkSSqbGiHPDsPu3pVyJbuU_cc4-28D-d43C7Jh6W73dMpAaObqZjimsdqyZkRwP6sd80hDP_ktzLZ2kFQrudhvr-AzKCsZ3ugX745TQ7h-2OimkYesAubj1lif7czc10XgsP052KPtkk3-z7DZ3_kbD6xdVI3vgXmpZ9JQWBoVqd2fuNeUo4uEZjHgmjoHFpPojC6BgpDAJ0SJspSX3jP6sZWxZql130NliLHyblsyLQFr2257nd0wqdQPcBTaHt8_5nq28Yc5WrV03CGOtstx45g9F1M-VR4W_1rg&h=gU9E3ktNnvsJMTXJD5OKwi45jW9ipuzslXR3vslwV0w + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 121 + uncompressed: false + body: |- + { + "name": "65dde9c2-0c3b-468e-a2d4-0b6f72574e0e", + "status": "InProgress", + "startTime": "2001-02-03T04:05:06Z" + } + headers: + Cache-Control: + - no-cache + Content-Length: + - "121" + Content-Type: + - application/json + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 7CE7267709C8423BB70DF4ABD418A848 Ref B: CO6AA3150220011 Ref C: 2024-11-05T23:58:23Z' + status: 200 OK + code: 200 + duration: 214.172702ms + - id: 25 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "3" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/65dde9c2-0c3b-468e-a2d4-0b6f72574e0e?api-version=2016-03-30&t=638664478803863635&c=MIIHpTCCBo2gAwIBAgITOgM6dTLGpzYZpvPtgQAEAzp1MjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjQwNjI2MDEzMjIxWhcNMjUwNjIxMDEzMjIxWjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPPPKY5bDN03KptFFhiyLIyn86BlrXYFIZWYXA-hY7_WbLyWN0IxcLIUBW_I-9u-YsXOHk9WPMlUYHIFPgHW7A3FsSGfl9dd6YGapKoSSw0NkTpNXM58R54BBgLp7AhiWzK15D9T-XELNSU4Wq9sEeA5T24kazcgS2MUkzELH0I9dwu7g0dwJIuIJkoJjEzg1b1Q3Ie5HKHHNbjottJn7Q5LBS-9QtQyruuwaNTgSJpCoi4PBKVIOTBYL_Nv1wecmKmfWcT0mnhQE9zjhJTbcoN9hKSvAMqsDHtxWUFZosiw3JKIY0zb59CrVGSuOhfN3qaarwN9EAlXLqc4ZyKpsTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBRk_38CqdKjPVylWUR4uuqhbFGeHTAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEATAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAFsx7FtYAzSo98T5ydNFa0ukjPZ6XCQc9zo7ldqy235P_zJAUkaNgCU4EGOzbZJDoMa8mAfhyukL_0GfPeApUaY2e44ZOzoYAkeEuDiwcs-9zoQ1fCyXhn0pCumGFXRilX9KjAPaYTzDvQMEllTy_ZViwTahuKaGtFVamZguBPdaeYC_0oybtTVNQCs8hGnffhNZOMASB-5pFs35MNxsDWTVIQksDee419jqpsbWLkh6rnanILO1O_ihwb-WpvRQByQ5NGpG1-z0MQ6nRpr9wWxUi-DsrVsD38NTMIPc2uei4Ivf6qnGRvOOj0fmsciWuTTEXMaD-5a81mGlzhZc09Q&s=tRotlYbZ20w_HQmlnNxLpTbtcDCIXAqLUu8jG02I-uguyxYNgkSSqbGiHPDsPu3pVyJbuU_cc4-28D-d43C7Jh6W73dMpAaObqZjimsdqyZkRwP6sd80hDP_ktzLZ2kFQrudhvr-AzKCsZ3ugX745TQ7h-2OimkYesAubj1lif7czc10XgsP052KPtkk3-z7DZ3_kbD6xdVI3vgXmpZ9JQWBoVqd2fuNeUo4uEZjHgmjoHFpPojC6BgpDAJ0SJspSX3jP6sZWxZql130NliLHyblsyLQFr2257nd0wqdQPcBTaHt8_5nq28Yc5WrV03CGOtstx45g9F1M-VR4W_1rg&h=gU9E3ktNnvsJMTXJD5OKwi45jW9ipuzslXR3vslwV0w + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 121 + uncompressed: false + body: |- + { + "name": "65dde9c2-0c3b-468e-a2d4-0b6f72574e0e", + "status": "InProgress", + "startTime": "2001-02-03T04:05:06Z" + } + headers: + Cache-Control: + - no-cache + Content-Length: + - "121" + Content-Type: + - application/json + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 0BF15C0821B34A92938E4D9D398AC495 Ref B: CO6AA3150220011 Ref C: 2024-11-05T23:58:39Z' + status: 200 OK + code: 200 + duration: 250.432529ms + - id: 26 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "4" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/65dde9c2-0c3b-468e-a2d4-0b6f72574e0e?api-version=2016-03-30&t=638664478803863635&c=MIIHpTCCBo2gAwIBAgITOgM6dTLGpzYZpvPtgQAEAzp1MjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjQwNjI2MDEzMjIxWhcNMjUwNjIxMDEzMjIxWjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPPPKY5bDN03KptFFhiyLIyn86BlrXYFIZWYXA-hY7_WbLyWN0IxcLIUBW_I-9u-YsXOHk9WPMlUYHIFPgHW7A3FsSGfl9dd6YGapKoSSw0NkTpNXM58R54BBgLp7AhiWzK15D9T-XELNSU4Wq9sEeA5T24kazcgS2MUkzELH0I9dwu7g0dwJIuIJkoJjEzg1b1Q3Ie5HKHHNbjottJn7Q5LBS-9QtQyruuwaNTgSJpCoi4PBKVIOTBYL_Nv1wecmKmfWcT0mnhQE9zjhJTbcoN9hKSvAMqsDHtxWUFZosiw3JKIY0zb59CrVGSuOhfN3qaarwN9EAlXLqc4ZyKpsTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBRk_38CqdKjPVylWUR4uuqhbFGeHTAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEATAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAFsx7FtYAzSo98T5ydNFa0ukjPZ6XCQc9zo7ldqy235P_zJAUkaNgCU4EGOzbZJDoMa8mAfhyukL_0GfPeApUaY2e44ZOzoYAkeEuDiwcs-9zoQ1fCyXhn0pCumGFXRilX9KjAPaYTzDvQMEllTy_ZViwTahuKaGtFVamZguBPdaeYC_0oybtTVNQCs8hGnffhNZOMASB-5pFs35MNxsDWTVIQksDee419jqpsbWLkh6rnanILO1O_ihwb-WpvRQByQ5NGpG1-z0MQ6nRpr9wWxUi-DsrVsD38NTMIPc2uei4Ivf6qnGRvOOj0fmsciWuTTEXMaD-5a81mGlzhZc09Q&s=tRotlYbZ20w_HQmlnNxLpTbtcDCIXAqLUu8jG02I-uguyxYNgkSSqbGiHPDsPu3pVyJbuU_cc4-28D-d43C7Jh6W73dMpAaObqZjimsdqyZkRwP6sd80hDP_ktzLZ2kFQrudhvr-AzKCsZ3ugX745TQ7h-2OimkYesAubj1lif7czc10XgsP052KPtkk3-z7DZ3_kbD6xdVI3vgXmpZ9JQWBoVqd2fuNeUo4uEZjHgmjoHFpPojC6BgpDAJ0SJspSX3jP6sZWxZql130NliLHyblsyLQFr2257nd0wqdQPcBTaHt8_5nq28Yc5WrV03CGOtstx45g9F1M-VR4W_1rg&h=gU9E3ktNnvsJMTXJD5OKwi45jW9ipuzslXR3vslwV0w + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 121 + uncompressed: false + body: |- + { + "name": "65dde9c2-0c3b-468e-a2d4-0b6f72574e0e", + "status": "InProgress", + "startTime": "2001-02-03T04:05:06Z" + } + headers: + Cache-Control: + - no-cache + Content-Length: + - "121" + Content-Type: + - application/json + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 0D5055E28F96449AA0791ADFE8596AD3 Ref B: CO6AA3150220011 Ref C: 2024-11-05T23:59:13Z' + status: 200 OK + code: 200 + duration: 248.60998ms + - id: 27 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "5" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/65dde9c2-0c3b-468e-a2d4-0b6f72574e0e?api-version=2016-03-30&t=638664478803863635&c=MIIHpTCCBo2gAwIBAgITOgM6dTLGpzYZpvPtgQAEAzp1MjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjQwNjI2MDEzMjIxWhcNMjUwNjIxMDEzMjIxWjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPPPKY5bDN03KptFFhiyLIyn86BlrXYFIZWYXA-hY7_WbLyWN0IxcLIUBW_I-9u-YsXOHk9WPMlUYHIFPgHW7A3FsSGfl9dd6YGapKoSSw0NkTpNXM58R54BBgLp7AhiWzK15D9T-XELNSU4Wq9sEeA5T24kazcgS2MUkzELH0I9dwu7g0dwJIuIJkoJjEzg1b1Q3Ie5HKHHNbjottJn7Q5LBS-9QtQyruuwaNTgSJpCoi4PBKVIOTBYL_Nv1wecmKmfWcT0mnhQE9zjhJTbcoN9hKSvAMqsDHtxWUFZosiw3JKIY0zb59CrVGSuOhfN3qaarwN9EAlXLqc4ZyKpsTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBRk_38CqdKjPVylWUR4uuqhbFGeHTAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEATAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAFsx7FtYAzSo98T5ydNFa0ukjPZ6XCQc9zo7ldqy235P_zJAUkaNgCU4EGOzbZJDoMa8mAfhyukL_0GfPeApUaY2e44ZOzoYAkeEuDiwcs-9zoQ1fCyXhn0pCumGFXRilX9KjAPaYTzDvQMEllTy_ZViwTahuKaGtFVamZguBPdaeYC_0oybtTVNQCs8hGnffhNZOMASB-5pFs35MNxsDWTVIQksDee419jqpsbWLkh6rnanILO1O_ihwb-WpvRQByQ5NGpG1-z0MQ6nRpr9wWxUi-DsrVsD38NTMIPc2uei4Ivf6qnGRvOOj0fmsciWuTTEXMaD-5a81mGlzhZc09Q&s=tRotlYbZ20w_HQmlnNxLpTbtcDCIXAqLUu8jG02I-uguyxYNgkSSqbGiHPDsPu3pVyJbuU_cc4-28D-d43C7Jh6W73dMpAaObqZjimsdqyZkRwP6sd80hDP_ktzLZ2kFQrudhvr-AzKCsZ3ugX745TQ7h-2OimkYesAubj1lif7czc10XgsP052KPtkk3-z7DZ3_kbD6xdVI3vgXmpZ9JQWBoVqd2fuNeUo4uEZjHgmjoHFpPojC6BgpDAJ0SJspSX3jP6sZWxZql130NliLHyblsyLQFr2257nd0wqdQPcBTaHt8_5nq28Yc5WrV03CGOtstx45g9F1M-VR4W_1rg&h=gU9E3ktNnvsJMTXJD5OKwi45jW9ipuzslXR3vslwV0w + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 121 + uncompressed: false + body: |- + { + "name": "65dde9c2-0c3b-468e-a2d4-0b6f72574e0e", + "status": "InProgress", + "startTime": "2001-02-03T04:05:06Z" + } + headers: + Cache-Control: + - no-cache + Content-Length: + - "121" + Content-Type: + - application/json + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 2862DF2CCAF048078C951DA137485CF4 Ref B: CO6AA3150220011 Ref C: 2024-11-06T00:00:13Z' + status: 200 OK + code: 200 + duration: 244.529262ms + - id: 28 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "6" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/65dde9c2-0c3b-468e-a2d4-0b6f72574e0e?api-version=2016-03-30&t=638664478803863635&c=MIIHpTCCBo2gAwIBAgITOgM6dTLGpzYZpvPtgQAEAzp1MjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjQwNjI2MDEzMjIxWhcNMjUwNjIxMDEzMjIxWjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPPPKY5bDN03KptFFhiyLIyn86BlrXYFIZWYXA-hY7_WbLyWN0IxcLIUBW_I-9u-YsXOHk9WPMlUYHIFPgHW7A3FsSGfl9dd6YGapKoSSw0NkTpNXM58R54BBgLp7AhiWzK15D9T-XELNSU4Wq9sEeA5T24kazcgS2MUkzELH0I9dwu7g0dwJIuIJkoJjEzg1b1Q3Ie5HKHHNbjottJn7Q5LBS-9QtQyruuwaNTgSJpCoi4PBKVIOTBYL_Nv1wecmKmfWcT0mnhQE9zjhJTbcoN9hKSvAMqsDHtxWUFZosiw3JKIY0zb59CrVGSuOhfN3qaarwN9EAlXLqc4ZyKpsTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBRk_38CqdKjPVylWUR4uuqhbFGeHTAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEATAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAFsx7FtYAzSo98T5ydNFa0ukjPZ6XCQc9zo7ldqy235P_zJAUkaNgCU4EGOzbZJDoMa8mAfhyukL_0GfPeApUaY2e44ZOzoYAkeEuDiwcs-9zoQ1fCyXhn0pCumGFXRilX9KjAPaYTzDvQMEllTy_ZViwTahuKaGtFVamZguBPdaeYC_0oybtTVNQCs8hGnffhNZOMASB-5pFs35MNxsDWTVIQksDee419jqpsbWLkh6rnanILO1O_ihwb-WpvRQByQ5NGpG1-z0MQ6nRpr9wWxUi-DsrVsD38NTMIPc2uei4Ivf6qnGRvOOj0fmsciWuTTEXMaD-5a81mGlzhZc09Q&s=tRotlYbZ20w_HQmlnNxLpTbtcDCIXAqLUu8jG02I-uguyxYNgkSSqbGiHPDsPu3pVyJbuU_cc4-28D-d43C7Jh6W73dMpAaObqZjimsdqyZkRwP6sd80hDP_ktzLZ2kFQrudhvr-AzKCsZ3ugX745TQ7h-2OimkYesAubj1lif7czc10XgsP052KPtkk3-z7DZ3_kbD6xdVI3vgXmpZ9JQWBoVqd2fuNeUo4uEZjHgmjoHFpPojC6BgpDAJ0SJspSX3jP6sZWxZql130NliLHyblsyLQFr2257nd0wqdQPcBTaHt8_5nq28Yc5WrV03CGOtstx45g9F1M-VR4W_1rg&h=gU9E3ktNnvsJMTXJD5OKwi45jW9ipuzslXR3vslwV0w + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 164 + uncompressed: false + body: |- + { + "name": "65dde9c2-0c3b-468e-a2d4-0b6f72574e0e", + "status": "Succeeded", + "startTime": "2001-02-03T04:05:06Z", + "endTime": "2001-02-03T04:05:06Z" + } + headers: + Cache-Control: + - no-cache + Content-Length: + - "164" + Content-Type: + - application/json + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 7EE02E4F43C34F1FA5CB08E6B3D83A89 Ref B: CO6AA3150220011 Ref C: 2024-11-06T00:01:14Z' + status: 200 OK + code: 200 + duration: 223.644016ms + - id: 29 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "1" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-rcocns/providers/Microsoft.ContainerService/managedClusters/sample-managedcluster-20240901?api-version=2024-09-01 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 3469 + uncompressed: false + body: |- + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asotest-rg-rcocns/providers/Microsoft.ContainerService/managedClusters/sample-managedcluster-20240901", + "location": "westus3", + "name": "sample-managedcluster-20240901", + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "powerState": { + "code": "Running" + }, + "kubernetesVersion": "1.29", + "currentKubernetesVersion": "1.29.9", + "dnsPrefix": "aso", + "fqdn": "aso-ho5jltab.hcp.westus3.azmk8s.io", + "azurePortalFQDN": "aso-ho5jltab.portal.hcp.westus3.azmk8s.io", + "agentPoolProfiles": [ + { + "name": "pool1", + "count": 1, + "vmSize": "Standard_DS2_v2", + "osDiskSizeGB": 128, + "osDiskType": "Managed", + "kubeletDiskType": "OS", + "maxPods": 110, + "type": "VirtualMachineScaleSets", + "provisioningState": "Succeeded", + "powerState": { + "code": "Running" + }, + "orchestratorVersion": "1.29", + "currentOrchestratorVersion": "1.29.9", + "enableNodePublicIP": false, + "mode": "System", + "osType": "Linux", + "osSKU": "Ubuntu", + "nodeImageVersion": "AKSUbuntu-2204gen2containerd-202410.15.0", + "upgradeSettings": { + "maxSurge": "10%" + }, + "enableFIPS": false, + "securityProfile": { + "enableVTPM": false, + "enableSecureBoot": false + } + } + ], + "servicePrincipalProfile": { + "clientId": "msi" + }, + "nodeResourceGroup": "MC_asotest-rg-rcocns_sample-managedcluster-20240901_westus3", + "enableRBAC": true, + "supportPlan": "KubernetesOfficial", + "networkProfile": { + "networkPlugin": "kubenet", + "networkPolicy": "none", + "loadBalancerSku": "standard", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 1 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_asotest-rg-rcocns_sample-managedcluster-20240901_westus3/providers/Microsoft.Network/publicIPAddresses/a7712c28-4721-4c45-9ca2-d60cbd72e039" + } + ], + "backendPoolType": "nodeIPConfiguration" + }, + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ] + }, + "maxAgentPools": 100, + "identityProfile": { + "kubeletidentity": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_asotest-rg-rcocns_sample-managedcluster-20240901_westus3/providers/Microsoft.ManagedIdentity/userAssignedIdentities/sample-managedcluster-20240901-agentpool", + "clientId": "5dc56f4f-f138-48f5-901f-2e679e2196d3", + "objectId": "b6e791d8-b01c-4209-8d81-7b281cf5f6df" + } + }, + "autoUpgradeProfile": { + "nodeOSUpgradeChannel": "NodeImage" + }, + "securityProfile": {}, + "storageProfile": { + "diskCSIDriver": { + "enabled": true + }, + "fileCSIDriver": { + "enabled": true + }, + "snapshotController": { + "enabled": true + } + }, + "oidcIssuerProfile": { + "enabled": false + }, + "workloadAutoScalerProfile": {}, + "resourceUID": "672ab1076de4f60001d8fce4", + "metricsProfile": { + "costAnalysis": { + "enabled": false + } + } + }, + "identity": { + "type": "SystemAssigned", + "principalId": "495d5881-48ee-4883-9c86-b43e87b19812", + "tenantId": "00000000-0000-0000-0000-000000000000" + }, + "sku": { + "name": "Base", + "tier": "Free" + } + } + headers: + Cache-Control: + - no-cache + Content-Length: + - "3469" + Content-Type: + - application/json + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 6F56475609C34216BD58ACC25EB2F603 Ref B: CO6AA3150220011 Ref C: 2024-11-06T00:01:14Z' + status: 200 OK + code: 200 + duration: 595.429576ms + - id: 30 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "2" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-rcocns/providers/Microsoft.ContainerService/managedClusters/sample-managedcluster-20240901?api-version=2024-09-01 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 3469 + uncompressed: false + body: |- + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asotest-rg-rcocns/providers/Microsoft.ContainerService/managedClusters/sample-managedcluster-20240901", + "location": "westus3", + "name": "sample-managedcluster-20240901", + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "powerState": { + "code": "Running" + }, + "kubernetesVersion": "1.29", + "currentKubernetesVersion": "1.29.9", + "dnsPrefix": "aso", + "fqdn": "aso-ho5jltab.hcp.westus3.azmk8s.io", + "azurePortalFQDN": "aso-ho5jltab.portal.hcp.westus3.azmk8s.io", + "agentPoolProfiles": [ + { + "name": "pool1", + "count": 1, + "vmSize": "Standard_DS2_v2", + "osDiskSizeGB": 128, + "osDiskType": "Managed", + "kubeletDiskType": "OS", + "maxPods": 110, + "type": "VirtualMachineScaleSets", + "provisioningState": "Succeeded", + "powerState": { + "code": "Running" + }, + "orchestratorVersion": "1.29", + "currentOrchestratorVersion": "1.29.9", + "enableNodePublicIP": false, + "mode": "System", + "osType": "Linux", + "osSKU": "Ubuntu", + "nodeImageVersion": "AKSUbuntu-2204gen2containerd-202410.15.0", + "upgradeSettings": { + "maxSurge": "10%" + }, + "enableFIPS": false, + "securityProfile": { + "enableVTPM": false, + "enableSecureBoot": false + } + } + ], + "servicePrincipalProfile": { + "clientId": "msi" + }, + "nodeResourceGroup": "MC_asotest-rg-rcocns_sample-managedcluster-20240901_westus3", + "enableRBAC": true, + "supportPlan": "KubernetesOfficial", + "networkProfile": { + "networkPlugin": "kubenet", + "networkPolicy": "none", + "loadBalancerSku": "standard", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 1 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_asotest-rg-rcocns_sample-managedcluster-20240901_westus3/providers/Microsoft.Network/publicIPAddresses/a7712c28-4721-4c45-9ca2-d60cbd72e039" + } + ], + "backendPoolType": "nodeIPConfiguration" + }, + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ] + }, + "maxAgentPools": 100, + "identityProfile": { + "kubeletidentity": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_asotest-rg-rcocns_sample-managedcluster-20240901_westus3/providers/Microsoft.ManagedIdentity/userAssignedIdentities/sample-managedcluster-20240901-agentpool", + "clientId": "5dc56f4f-f138-48f5-901f-2e679e2196d3", + "objectId": "b6e791d8-b01c-4209-8d81-7b281cf5f6df" + } + }, + "autoUpgradeProfile": { + "nodeOSUpgradeChannel": "NodeImage" + }, + "securityProfile": {}, + "storageProfile": { + "diskCSIDriver": { + "enabled": true + }, + "fileCSIDriver": { + "enabled": true + }, + "snapshotController": { + "enabled": true + } + }, + "oidcIssuerProfile": { + "enabled": false + }, + "workloadAutoScalerProfile": {}, + "resourceUID": "672ab1076de4f60001d8fce4", + "metricsProfile": { + "costAnalysis": { + "enabled": false + } + } + }, + "identity": { + "type": "SystemAssigned", + "principalId": "495d5881-48ee-4883-9c86-b43e87b19812", + "tenantId": "00000000-0000-0000-0000-000000000000" + }, + "sku": { + "name": "Base", + "tier": "Free" + } + } + headers: + Cache-Control: + - no-cache + Content-Length: + - "3469" + Content-Type: + - application/json + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 754A475D4AC34883B9C8DA4839B13B08 Ref B: CO6AA3150220011 Ref C: 2024-11-06T00:01:16Z' + status: 200 OK + code: 200 + duration: 787.923967ms + - id: 31 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 244 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: '{"name":"aksmanagedautoupgradeschedule","properties":{"maintenanceWindow":{"durationHours":12,"notAllowedDates":null,"schedule":{"weekly":{"dayOfWeek":"Saturday","intervalWeeks":1}},"startTime":"00:00"},"notAllowedTime":null,"timeInWeek":null}}' + form: {} + headers: + Accept: + - application/json + Content-Length: + - "244" + Content-Type: + - application/json + Test-Request-Hash: + - 04ed5e10bdcad77b6708ca575b3a3bb6b770b9cb8b36d5314048d8e6eef50182 + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-rcocns/providers/Microsoft.ContainerService/managedClusters/sample-managedcluster-20240901/maintenanceConfigurations/aksmanagedautoupgradeschedule?api-version=2024-09-01 + method: PUT + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 532 + uncompressed: false + body: |- + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-rcocns/providers/Microsoft.ContainerService/managedClusters/sample-managedcluster-20240901/maintenanceConfigurations/aksmanagedautoupgradeschedule", + "name": "aksmanagedautoupgradeschedule", + "properties": { + "maintenanceWindow": { + "schedule": { + "weekly": { + "intervalWeeks": 1, + "dayOfWeek": "Saturday" + } + }, + "durationHours": 12, + "utcOffset": "+00:00", + "startDate": "2024-11-06", + "startTime": "00:00" + } + } + } + headers: + Cache-Control: + - no-cache + Content-Length: + - "532" + Content-Type: + - application/json + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Writes: + - "11999" + X-Msedge-Ref: + - 'Ref A: 6B065400A78A48F1A8472F57057D196B Ref B: CO6AA3150220011 Ref C: 2024-11-06T00:01:55Z' + status: 200 OK + code: 200 + duration: 251.556189ms + - id: 32 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-rcocns/providers/Microsoft.ContainerService/managedClusters/sample-managedcluster-20240901/agentPools/pool20240901?api-version=2024-09-01 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 386 + uncompressed: false + body: |- + { + "code": "NotFound", + "details": [ + { + "code": "Unspecified", + "message": "rpc error: code = NotFound desc = Agent Pool not found" + } + ], + "message": "Could not find the agentpool: pool20240901 in subscription: 00000000-0000-0000-0000-000000000000, resourceGroup: asotest-rg-rcocns, resourceName: sample-managedcluster-20240901.", + "subcode": "GetAgentPool_NotFound" + } + headers: + Cache-Control: + - no-cache + Content-Length: + - "386" + Content-Type: + - application/json + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 1D36EC732154489FA4635DFFB931E348 Ref B: CO6AA3150220011 Ref C: 2024-11-06T00:01:55Z' + status: 404 Not Found + code: 404 + duration: 299.261344ms + - id: 33 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 283 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: '{"name":"sample-tarb","properties":{"roles":["Microsoft.MachineLearningServices/workspaces/mlworkload"],"sourceResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-rcocns/providers/Microsoft.MachineLearningServices/workspaces/sampleworkspaces"}}' + form: {} + headers: + Accept: + - application/json + Content-Length: + - "283" + Content-Type: + - application/json + Test-Request-Hash: + - 2f3c7d69bf58cab1941bb38bf5f57100623795d52f04f6b6756e85fcf6e08ffa + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-rcocns/providers/Microsoft.ContainerService/managedClusters/sample-managedcluster-20240901/trustedAccessRoleBindings/sample-tarb?api-version=2024-09-01 + method: PUT + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 640 + uncompressed: false + body: |- + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-rcocns/providers/Microsoft.ContainerService/managedClusters/sample-managedcluster-20240901/trustedAccessRoleBindings/sample-tarb", + "name": "sample-tarb", + "type": "Microsoft.ContainerService/managedClusters/trustedAccessRoleBindings", + "properties": { + "provisioningState": "Updating", + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-rcocns/providers/Microsoft.MachineLearningServices/workspaces/sampleworkspaces", + "roles": [ + "Microsoft.MachineLearningServices/workspaces/mlworkload" + ] + } + } + headers: + Azure-Asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/2e82fdb2-dcf4-4dd0-9de2-bd55b860bf1d?api-version=2016-03-30&t=638664481158928665&c=MIIHpTCCBo2gAwIBAgITOgM6dTLGpzYZpvPtgQAEAzp1MjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjQwNjI2MDEzMjIxWhcNMjUwNjIxMDEzMjIxWjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPPPKY5bDN03KptFFhiyLIyn86BlrXYFIZWYXA-hY7_WbLyWN0IxcLIUBW_I-9u-YsXOHk9WPMlUYHIFPgHW7A3FsSGfl9dd6YGapKoSSw0NkTpNXM58R54BBgLp7AhiWzK15D9T-XELNSU4Wq9sEeA5T24kazcgS2MUkzELH0I9dwu7g0dwJIuIJkoJjEzg1b1Q3Ie5HKHHNbjottJn7Q5LBS-9QtQyruuwaNTgSJpCoi4PBKVIOTBYL_Nv1wecmKmfWcT0mnhQE9zjhJTbcoN9hKSvAMqsDHtxWUFZosiw3JKIY0zb59CrVGSuOhfN3qaarwN9EAlXLqc4ZyKpsTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBRk_38CqdKjPVylWUR4uuqhbFGeHTAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEATAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAFsx7FtYAzSo98T5ydNFa0ukjPZ6XCQc9zo7ldqy235P_zJAUkaNgCU4EGOzbZJDoMa8mAfhyukL_0GfPeApUaY2e44ZOzoYAkeEuDiwcs-9zoQ1fCyXhn0pCumGFXRilX9KjAPaYTzDvQMEllTy_ZViwTahuKaGtFVamZguBPdaeYC_0oybtTVNQCs8hGnffhNZOMASB-5pFs35MNxsDWTVIQksDee419jqpsbWLkh6rnanILO1O_ihwb-WpvRQByQ5NGpG1-z0MQ6nRpr9wWxUi-DsrVsD38NTMIPc2uei4Ivf6qnGRvOOj0fmsciWuTTEXMaD-5a81mGlzhZc09Q&s=GVc2wSU5ZjWFF2w3t6JR9YPtJ80hOlMMYOc1wHAzaDiaRQ4G1qy17ShzcdONPPRQaCD5umvZw3kScNHh0qGES3x2IDGX3P_9-EKEe5TzvIMULjyVWDAytzH9qmvY7n2aqnFyLbK40LDMu1HsYiQ0yrtqPLZygueuc0fAlaxJv3b8sWC4BFEavNEJbp3uYQU04auXoyNWFdA1ua_PVqA1iEgWSM4RDYs2UPpEg4I55_lMYyhr5q3UTxcQgPnujy3OlK__zGfisbelhr-N0K-lQWvmfyGlYctdLMzw-3i2D8H0fasxjDyN8-vVloNrv7ICneG-bzdKCKR1MFAOiQ6WLg&h=s_w53wSh6MnLGFj7nfV6Le1KZl2AElZiLE6QT0uX6BA + Cache-Control: + - no-cache + Content-Length: + - "640" + Content-Type: + - application/json + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Writes: + - "11999" + X-Msedge-Ref: + - 'Ref A: 0687AF2DDC3D40008C014CEB7E939C80 Ref B: CO6AA3150220011 Ref C: 2024-11-06T00:01:55Z' + status: 201 Created + code: 201 + duration: 458.062327ms + - id: 34 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-rcocns/providers/Microsoft.ContainerService/managedClusters/sample-managedcluster-20240901/maintenanceConfigurations/aksmanagedautoupgradeschedule?api-version=2024-09-01 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 532 + uncompressed: false + body: |- + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-rcocns/providers/Microsoft.ContainerService/managedClusters/sample-managedcluster-20240901/maintenanceConfigurations/aksmanagedautoupgradeschedule", + "name": "aksmanagedautoupgradeschedule", + "properties": { + "maintenanceWindow": { + "schedule": { + "weekly": { + "intervalWeeks": 1, + "dayOfWeek": "Saturday" + } + }, + "durationHours": 12, + "utcOffset": "+00:00", + "startDate": "2024-11-06", + "startTime": "00:00" + } + } + } + headers: + Cache-Control: + - no-cache + Content-Length: + - "532" + Content-Type: + - application/json + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 65A111A4A5F14A0FB96838BB79E1F4A3 Ref B: CO6AA3150220011 Ref C: 2024-11-06T00:01:55Z' + status: 200 OK + code: 200 + duration: 143.769265ms + - id: 35 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/2e82fdb2-dcf4-4dd0-9de2-bd55b860bf1d?api-version=2016-03-30&t=638664481158928665&c=MIIHpTCCBo2gAwIBAgITOgM6dTLGpzYZpvPtgQAEAzp1MjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjQwNjI2MDEzMjIxWhcNMjUwNjIxMDEzMjIxWjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPPPKY5bDN03KptFFhiyLIyn86BlrXYFIZWYXA-hY7_WbLyWN0IxcLIUBW_I-9u-YsXOHk9WPMlUYHIFPgHW7A3FsSGfl9dd6YGapKoSSw0NkTpNXM58R54BBgLp7AhiWzK15D9T-XELNSU4Wq9sEeA5T24kazcgS2MUkzELH0I9dwu7g0dwJIuIJkoJjEzg1b1Q3Ie5HKHHNbjottJn7Q5LBS-9QtQyruuwaNTgSJpCoi4PBKVIOTBYL_Nv1wecmKmfWcT0mnhQE9zjhJTbcoN9hKSvAMqsDHtxWUFZosiw3JKIY0zb59CrVGSuOhfN3qaarwN9EAlXLqc4ZyKpsTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBRk_38CqdKjPVylWUR4uuqhbFGeHTAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEATAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAFsx7FtYAzSo98T5ydNFa0ukjPZ6XCQc9zo7ldqy235P_zJAUkaNgCU4EGOzbZJDoMa8mAfhyukL_0GfPeApUaY2e44ZOzoYAkeEuDiwcs-9zoQ1fCyXhn0pCumGFXRilX9KjAPaYTzDvQMEllTy_ZViwTahuKaGtFVamZguBPdaeYC_0oybtTVNQCs8hGnffhNZOMASB-5pFs35MNxsDWTVIQksDee419jqpsbWLkh6rnanILO1O_ihwb-WpvRQByQ5NGpG1-z0MQ6nRpr9wWxUi-DsrVsD38NTMIPc2uei4Ivf6qnGRvOOj0fmsciWuTTEXMaD-5a81mGlzhZc09Q&s=GVc2wSU5ZjWFF2w3t6JR9YPtJ80hOlMMYOc1wHAzaDiaRQ4G1qy17ShzcdONPPRQaCD5umvZw3kScNHh0qGES3x2IDGX3P_9-EKEe5TzvIMULjyVWDAytzH9qmvY7n2aqnFyLbK40LDMu1HsYiQ0yrtqPLZygueuc0fAlaxJv3b8sWC4BFEavNEJbp3uYQU04auXoyNWFdA1ua_PVqA1iEgWSM4RDYs2UPpEg4I55_lMYyhr5q3UTxcQgPnujy3OlK__zGfisbelhr-N0K-lQWvmfyGlYctdLMzw-3i2D8H0fasxjDyN8-vVloNrv7ICneG-bzdKCKR1MFAOiQ6WLg&h=s_w53wSh6MnLGFj7nfV6Le1KZl2AElZiLE6QT0uX6BA + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 122 + uncompressed: false + body: |- + { + "name": "2e82fdb2-dcf4-4dd0-9de2-bd55b860bf1d", + "status": "InProgress", + "startTime": "2001-02-03T04:05:06Z" + } + headers: + Cache-Control: + - no-cache + Content-Length: + - "122" + Content-Type: + - application/json + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 87EEC7804A084655821AEA0EFA5F0E04 Ref B: CO6AA3150220011 Ref C: 2024-11-06T00:01:57Z' + status: 200 OK + code: 200 + duration: 139.336762ms + - id: 36 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "1" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/2e82fdb2-dcf4-4dd0-9de2-bd55b860bf1d?api-version=2016-03-30&t=638664481158928665&c=MIIHpTCCBo2gAwIBAgITOgM6dTLGpzYZpvPtgQAEAzp1MjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjQwNjI2MDEzMjIxWhcNMjUwNjIxMDEzMjIxWjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPPPKY5bDN03KptFFhiyLIyn86BlrXYFIZWYXA-hY7_WbLyWN0IxcLIUBW_I-9u-YsXOHk9WPMlUYHIFPgHW7A3FsSGfl9dd6YGapKoSSw0NkTpNXM58R54BBgLp7AhiWzK15D9T-XELNSU4Wq9sEeA5T24kazcgS2MUkzELH0I9dwu7g0dwJIuIJkoJjEzg1b1Q3Ie5HKHHNbjottJn7Q5LBS-9QtQyruuwaNTgSJpCoi4PBKVIOTBYL_Nv1wecmKmfWcT0mnhQE9zjhJTbcoN9hKSvAMqsDHtxWUFZosiw3JKIY0zb59CrVGSuOhfN3qaarwN9EAlXLqc4ZyKpsTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBRk_38CqdKjPVylWUR4uuqhbFGeHTAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEATAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAFsx7FtYAzSo98T5ydNFa0ukjPZ6XCQc9zo7ldqy235P_zJAUkaNgCU4EGOzbZJDoMa8mAfhyukL_0GfPeApUaY2e44ZOzoYAkeEuDiwcs-9zoQ1fCyXhn0pCumGFXRilX9KjAPaYTzDvQMEllTy_ZViwTahuKaGtFVamZguBPdaeYC_0oybtTVNQCs8hGnffhNZOMASB-5pFs35MNxsDWTVIQksDee419jqpsbWLkh6rnanILO1O_ihwb-WpvRQByQ5NGpG1-z0MQ6nRpr9wWxUi-DsrVsD38NTMIPc2uei4Ivf6qnGRvOOj0fmsciWuTTEXMaD-5a81mGlzhZc09Q&s=GVc2wSU5ZjWFF2w3t6JR9YPtJ80hOlMMYOc1wHAzaDiaRQ4G1qy17ShzcdONPPRQaCD5umvZw3kScNHh0qGES3x2IDGX3P_9-EKEe5TzvIMULjyVWDAytzH9qmvY7n2aqnFyLbK40LDMu1HsYiQ0yrtqPLZygueuc0fAlaxJv3b8sWC4BFEavNEJbp3uYQU04auXoyNWFdA1ua_PVqA1iEgWSM4RDYs2UPpEg4I55_lMYyhr5q3UTxcQgPnujy3OlK__zGfisbelhr-N0K-lQWvmfyGlYctdLMzw-3i2D8H0fasxjDyN8-vVloNrv7ICneG-bzdKCKR1MFAOiQ6WLg&h=s_w53wSh6MnLGFj7nfV6Le1KZl2AElZiLE6QT0uX6BA + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 122 + uncompressed: false + body: |- + { + "name": "2e82fdb2-dcf4-4dd0-9de2-bd55b860bf1d", + "status": "InProgress", + "startTime": "2001-02-03T04:05:06Z" + } + headers: + Cache-Control: + - no-cache + Content-Length: + - "122" + Content-Type: + - application/json + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 1672DA6A15694440870E5EABAFA57658 Ref B: CO6AA3150220011 Ref C: 2024-11-06T00:01:59Z' + status: 200 OK + code: 200 + duration: 206.124841ms + - id: 37 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 173 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: '{"name":"pool20240901","properties":{"availabilityZones":null,"count":1,"mode":"User","nodeLabels":{},"nodeTaints":[],"osType":"Linux","tags":{},"vmSize":"Standard_DS2_v2"}}' + form: {} + headers: + Accept: + - application/json + Content-Length: + - "173" + Content-Type: + - application/json + Test-Request-Hash: + - 808bd7a342dd32c600ceeb4ed0f84788e0708a81fedab87f00ee5b4281242a3e + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-rcocns/providers/Microsoft.ContainerService/managedClusters/sample-managedcluster-20240901/agentPools/pool20240901?api-version=2024-09-01 + method: PUT + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 967 + uncompressed: false + body: |- + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asotest-rg-rcocns/providers/Microsoft.ContainerService/managedClusters/sample-managedcluster-20240901/agentPools/pool20240901", + "name": "pool20240901", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "properties": { + "count": 1, + "vmSize": "Standard_DS2_v2", + "osDiskSizeGB": 128, + "osDiskType": "Managed", + "kubeletDiskType": "OS", + "maxPods": 110, + "type": "VirtualMachineScaleSets", + "enableAutoScaling": false, + "scaleDownMode": "Delete", + "provisioningState": "Creating", + "powerState": { + "code": "Running" + }, + "orchestratorVersion": "1.29", + "currentOrchestratorVersion": "1.29.9", + "enableNodePublicIP": false, + "mode": "User", + "osType": "Linux", + "osSKU": "Ubuntu", + "nodeImageVersion": "AKSUbuntu-2204gen2containerd-202410.15.0", + "enableFIPS": false, + "securityProfile": { + "enableVTPM": false, + "enableSecureBoot": false + } + } + } + headers: + Azure-Asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/4fb6c308-2d36-438a-b6e0-8ebca38125fe?api-version=2016-03-30&t=638664481216442791&c=MIIHhzCCBm-gAwIBAgITHgVxvH65_BmPrKxDIgAABXG8fjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDYwHhcNMjQwOTI1MTkzNzA4WhcNMjUwMzI0MTkzNzA4WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKlHcl7gn1b6aLS1hLftgvWE8n-Z9liLRsNGgjYfyY_1N6TVDEHJTtctREIaCRDPEC-hePKBe7OS45JIAD6cl5AGU_dQlGd-3bBZeVfAPJFUnC910pwhDca2OXlf4LyB1KSofXaA4xDB6G7cHXRld_URCnol2LHQEGox0vBzaPz30AUB0ZhAatZgqhXy5qnroV3zbEZC3m4qLDSnG8QNEnw8Wv5GpYH_MxK9mgDPwoIObeDBnjtQonKzvItZ8jXwF-wEmcVAnhr6Dvq3rWdBY9616kXvQ7E3eEvGqMn9W_NZTAqlaanfaACfITkIJZkgsSoJGw5USCMC-vzAb1Ms0j0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MB0GA1UdDgQWBBTELag1gS_F07Xj1us9l4ySYrHYYjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBTxRmjG8cPwKy19i2rhsvm-NfzRQTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBABJx3Gb3LtjBZ4x70SioNIk8ap3qwt2DMEu9dXEhi28jFB87BBsTCkNeuhGlLzHm7Ykx6xpUjJp4F2_qmJKrQjDH4U0VYT_yc8Ow5mxrFJcewgTXzwmwqXOodok5WWOUVP4Mmdp_O_3je1dVgw4TrdrypIZImBn2jVDrXQ79fFXTR-Td0XMOtWPDwreoMRagD769QW4hlGtVaZCqOAzyomfSc8PhDzKhllbZQrmP-UgiLU14SDsxwq6AHG413ClcJIDGfEsEKwlUyIIAKHDwSdbO41Zs7ZQG5k_eBlGTkr-5Zye8vT7OeGf1_mGZSme6otyTUL_3-6gJ282qCPXoflc&s=n3lARK6-1lbDUcXS29CNBrepnLgmgGCsNnd75X8LwEPEjyEFgXkXwVabR451zzfdPY_UsoxWZg6C_9IBtxR0_XCSCg3F6pibBkL2YFhuKqtlGAQnF6MVj3KZX0Jln6R1mDivAfWNgHcns2BzWFAsdg8sUIgiyflom-W_kg1NBh9SchwyUhNElBvXjhlqGBGdrEzncgELNCPcus72dL1coJgrwFVsstMp5ZIGG0dJvRXEdRp9oPK6yRRcBs6Mtv19ySrwx_JK6vIU_Km_3zrTSel-jnypzOvr5kn1qqE0rfTnRWfO4v98BC0HryYIFbd7Dzwi4v8YzBqza1nyUn8wpA&h=acj5VhhnZ4HTN9xFBhd51brP4CdvJseqX2AK9UsPXho + Cache-Control: + - no-cache + Content-Length: + - "967" + Content-Type: + - application/json + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Writes: + - "11999" + X-Msedge-Ref: + - 'Ref A: 2636935E3D3940359CE81F2D9D24864C Ref B: CO6AA3150220011 Ref C: 2024-11-06T00:01:56Z' + status: 201 Created + code: 201 + duration: 5.622467147s + - id: 38 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "2" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/2e82fdb2-dcf4-4dd0-9de2-bd55b860bf1d?api-version=2016-03-30&t=638664481158928665&c=MIIHpTCCBo2gAwIBAgITOgM6dTLGpzYZpvPtgQAEAzp1MjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjQwNjI2MDEzMjIxWhcNMjUwNjIxMDEzMjIxWjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPPPKY5bDN03KptFFhiyLIyn86BlrXYFIZWYXA-hY7_WbLyWN0IxcLIUBW_I-9u-YsXOHk9WPMlUYHIFPgHW7A3FsSGfl9dd6YGapKoSSw0NkTpNXM58R54BBgLp7AhiWzK15D9T-XELNSU4Wq9sEeA5T24kazcgS2MUkzELH0I9dwu7g0dwJIuIJkoJjEzg1b1Q3Ie5HKHHNbjottJn7Q5LBS-9QtQyruuwaNTgSJpCoi4PBKVIOTBYL_Nv1wecmKmfWcT0mnhQE9zjhJTbcoN9hKSvAMqsDHtxWUFZosiw3JKIY0zb59CrVGSuOhfN3qaarwN9EAlXLqc4ZyKpsTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBRk_38CqdKjPVylWUR4uuqhbFGeHTAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEATAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAFsx7FtYAzSo98T5ydNFa0ukjPZ6XCQc9zo7ldqy235P_zJAUkaNgCU4EGOzbZJDoMa8mAfhyukL_0GfPeApUaY2e44ZOzoYAkeEuDiwcs-9zoQ1fCyXhn0pCumGFXRilX9KjAPaYTzDvQMEllTy_ZViwTahuKaGtFVamZguBPdaeYC_0oybtTVNQCs8hGnffhNZOMASB-5pFs35MNxsDWTVIQksDee419jqpsbWLkh6rnanILO1O_ihwb-WpvRQByQ5NGpG1-z0MQ6nRpr9wWxUi-DsrVsD38NTMIPc2uei4Ivf6qnGRvOOj0fmsciWuTTEXMaD-5a81mGlzhZc09Q&s=GVc2wSU5ZjWFF2w3t6JR9YPtJ80hOlMMYOc1wHAzaDiaRQ4G1qy17ShzcdONPPRQaCD5umvZw3kScNHh0qGES3x2IDGX3P_9-EKEe5TzvIMULjyVWDAytzH9qmvY7n2aqnFyLbK40LDMu1HsYiQ0yrtqPLZygueuc0fAlaxJv3b8sWC4BFEavNEJbp3uYQU04auXoyNWFdA1ua_PVqA1iEgWSM4RDYs2UPpEg4I55_lMYyhr5q3UTxcQgPnujy3OlK__zGfisbelhr-N0K-lQWvmfyGlYctdLMzw-3i2D8H0fasxjDyN8-vVloNrv7ICneG-bzdKCKR1MFAOiQ6WLg&h=s_w53wSh6MnLGFj7nfV6Le1KZl2AElZiLE6QT0uX6BA + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 122 + uncompressed: false + body: |- + { + "name": "2e82fdb2-dcf4-4dd0-9de2-bd55b860bf1d", + "status": "InProgress", + "startTime": "2001-02-03T04:05:06Z" + } + headers: + Cache-Control: + - no-cache + Content-Length: + - "122" + Content-Type: + - application/json + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 9EB9988F49894E7493B0D7C75364F21A Ref B: CO6AA3150220011 Ref C: 2024-11-06T00:02:04Z' + status: 200 OK + code: 200 + duration: 124.998949ms + - id: 39 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/4fb6c308-2d36-438a-b6e0-8ebca38125fe?api-version=2016-03-30&t=638664481216442791&c=MIIHhzCCBm-gAwIBAgITHgVxvH65_BmPrKxDIgAABXG8fjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDYwHhcNMjQwOTI1MTkzNzA4WhcNMjUwMzI0MTkzNzA4WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKlHcl7gn1b6aLS1hLftgvWE8n-Z9liLRsNGgjYfyY_1N6TVDEHJTtctREIaCRDPEC-hePKBe7OS45JIAD6cl5AGU_dQlGd-3bBZeVfAPJFUnC910pwhDca2OXlf4LyB1KSofXaA4xDB6G7cHXRld_URCnol2LHQEGox0vBzaPz30AUB0ZhAatZgqhXy5qnroV3zbEZC3m4qLDSnG8QNEnw8Wv5GpYH_MxK9mgDPwoIObeDBnjtQonKzvItZ8jXwF-wEmcVAnhr6Dvq3rWdBY9616kXvQ7E3eEvGqMn9W_NZTAqlaanfaACfITkIJZkgsSoJGw5USCMC-vzAb1Ms0j0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MB0GA1UdDgQWBBTELag1gS_F07Xj1us9l4ySYrHYYjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBTxRmjG8cPwKy19i2rhsvm-NfzRQTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBABJx3Gb3LtjBZ4x70SioNIk8ap3qwt2DMEu9dXEhi28jFB87BBsTCkNeuhGlLzHm7Ykx6xpUjJp4F2_qmJKrQjDH4U0VYT_yc8Ow5mxrFJcewgTXzwmwqXOodok5WWOUVP4Mmdp_O_3je1dVgw4TrdrypIZImBn2jVDrXQ79fFXTR-Td0XMOtWPDwreoMRagD769QW4hlGtVaZCqOAzyomfSc8PhDzKhllbZQrmP-UgiLU14SDsxwq6AHG413ClcJIDGfEsEKwlUyIIAKHDwSdbO41Zs7ZQG5k_eBlGTkr-5Zye8vT7OeGf1_mGZSme6otyTUL_3-6gJ282qCPXoflc&s=n3lARK6-1lbDUcXS29CNBrepnLgmgGCsNnd75X8LwEPEjyEFgXkXwVabR451zzfdPY_UsoxWZg6C_9IBtxR0_XCSCg3F6pibBkL2YFhuKqtlGAQnF6MVj3KZX0Jln6R1mDivAfWNgHcns2BzWFAsdg8sUIgiyflom-W_kg1NBh9SchwyUhNElBvXjhlqGBGdrEzncgELNCPcus72dL1coJgrwFVsstMp5ZIGG0dJvRXEdRp9oPK6yRRcBs6Mtv19ySrwx_JK6vIU_Km_3zrTSel-jnypzOvr5kn1qqE0rfTnRWfO4v98BC0HryYIFbd7Dzwi4v8YzBqza1nyUn8wpA&h=acj5VhhnZ4HTN9xFBhd51brP4CdvJseqX2AK9UsPXho + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 122 + uncompressed: false + body: |- + { + "name": "4fb6c308-2d36-438a-b6e0-8ebca38125fe", + "status": "InProgress", + "startTime": "2001-02-03T04:05:06Z" + } + headers: + Cache-Control: + - no-cache + Content-Length: + - "122" + Content-Type: + - application/json + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 389751E756064C42A42AD98525EF83D7 Ref B: CO6AA3150220011 Ref C: 2024-11-06T00:02:08Z' + status: 200 OK + code: 200 + duration: 226.759473ms + - id: 40 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "1" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/4fb6c308-2d36-438a-b6e0-8ebca38125fe?api-version=2016-03-30&t=638664481216442791&c=MIIHhzCCBm-gAwIBAgITHgVxvH65_BmPrKxDIgAABXG8fjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDYwHhcNMjQwOTI1MTkzNzA4WhcNMjUwMzI0MTkzNzA4WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKlHcl7gn1b6aLS1hLftgvWE8n-Z9liLRsNGgjYfyY_1N6TVDEHJTtctREIaCRDPEC-hePKBe7OS45JIAD6cl5AGU_dQlGd-3bBZeVfAPJFUnC910pwhDca2OXlf4LyB1KSofXaA4xDB6G7cHXRld_URCnol2LHQEGox0vBzaPz30AUB0ZhAatZgqhXy5qnroV3zbEZC3m4qLDSnG8QNEnw8Wv5GpYH_MxK9mgDPwoIObeDBnjtQonKzvItZ8jXwF-wEmcVAnhr6Dvq3rWdBY9616kXvQ7E3eEvGqMn9W_NZTAqlaanfaACfITkIJZkgsSoJGw5USCMC-vzAb1Ms0j0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MB0GA1UdDgQWBBTELag1gS_F07Xj1us9l4ySYrHYYjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBTxRmjG8cPwKy19i2rhsvm-NfzRQTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBABJx3Gb3LtjBZ4x70SioNIk8ap3qwt2DMEu9dXEhi28jFB87BBsTCkNeuhGlLzHm7Ykx6xpUjJp4F2_qmJKrQjDH4U0VYT_yc8Ow5mxrFJcewgTXzwmwqXOodok5WWOUVP4Mmdp_O_3je1dVgw4TrdrypIZImBn2jVDrXQ79fFXTR-Td0XMOtWPDwreoMRagD769QW4hlGtVaZCqOAzyomfSc8PhDzKhllbZQrmP-UgiLU14SDsxwq6AHG413ClcJIDGfEsEKwlUyIIAKHDwSdbO41Zs7ZQG5k_eBlGTkr-5Zye8vT7OeGf1_mGZSme6otyTUL_3-6gJ282qCPXoflc&s=n3lARK6-1lbDUcXS29CNBrepnLgmgGCsNnd75X8LwEPEjyEFgXkXwVabR451zzfdPY_UsoxWZg6C_9IBtxR0_XCSCg3F6pibBkL2YFhuKqtlGAQnF6MVj3KZX0Jln6R1mDivAfWNgHcns2BzWFAsdg8sUIgiyflom-W_kg1NBh9SchwyUhNElBvXjhlqGBGdrEzncgELNCPcus72dL1coJgrwFVsstMp5ZIGG0dJvRXEdRp9oPK6yRRcBs6Mtv19ySrwx_JK6vIU_Km_3zrTSel-jnypzOvr5kn1qqE0rfTnRWfO4v98BC0HryYIFbd7Dzwi4v8YzBqza1nyUn8wpA&h=acj5VhhnZ4HTN9xFBhd51brP4CdvJseqX2AK9UsPXho + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 122 + uncompressed: false + body: |- + { + "name": "4fb6c308-2d36-438a-b6e0-8ebca38125fe", + "status": "InProgress", + "startTime": "2001-02-03T04:05:06Z" + } + headers: + Cache-Control: + - no-cache + Content-Length: + - "122" + Content-Type: + - application/json + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 50E3E79102DF4E96A19F23E101D19615 Ref B: CO6AA3150220011 Ref C: 2024-11-06T00:02:10Z' + status: 200 OK + code: 200 + duration: 193.803136ms + - id: 41 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "3" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/2e82fdb2-dcf4-4dd0-9de2-bd55b860bf1d?api-version=2016-03-30&t=638664481158928665&c=MIIHpTCCBo2gAwIBAgITOgM6dTLGpzYZpvPtgQAEAzp1MjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjQwNjI2MDEzMjIxWhcNMjUwNjIxMDEzMjIxWjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPPPKY5bDN03KptFFhiyLIyn86BlrXYFIZWYXA-hY7_WbLyWN0IxcLIUBW_I-9u-YsXOHk9WPMlUYHIFPgHW7A3FsSGfl9dd6YGapKoSSw0NkTpNXM58R54BBgLp7AhiWzK15D9T-XELNSU4Wq9sEeA5T24kazcgS2MUkzELH0I9dwu7g0dwJIuIJkoJjEzg1b1Q3Ie5HKHHNbjottJn7Q5LBS-9QtQyruuwaNTgSJpCoi4PBKVIOTBYL_Nv1wecmKmfWcT0mnhQE9zjhJTbcoN9hKSvAMqsDHtxWUFZosiw3JKIY0zb59CrVGSuOhfN3qaarwN9EAlXLqc4ZyKpsTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBRk_38CqdKjPVylWUR4uuqhbFGeHTAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEATAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAFsx7FtYAzSo98T5ydNFa0ukjPZ6XCQc9zo7ldqy235P_zJAUkaNgCU4EGOzbZJDoMa8mAfhyukL_0GfPeApUaY2e44ZOzoYAkeEuDiwcs-9zoQ1fCyXhn0pCumGFXRilX9KjAPaYTzDvQMEllTy_ZViwTahuKaGtFVamZguBPdaeYC_0oybtTVNQCs8hGnffhNZOMASB-5pFs35MNxsDWTVIQksDee419jqpsbWLkh6rnanILO1O_ihwb-WpvRQByQ5NGpG1-z0MQ6nRpr9wWxUi-DsrVsD38NTMIPc2uei4Ivf6qnGRvOOj0fmsciWuTTEXMaD-5a81mGlzhZc09Q&s=GVc2wSU5ZjWFF2w3t6JR9YPtJ80hOlMMYOc1wHAzaDiaRQ4G1qy17ShzcdONPPRQaCD5umvZw3kScNHh0qGES3x2IDGX3P_9-EKEe5TzvIMULjyVWDAytzH9qmvY7n2aqnFyLbK40LDMu1HsYiQ0yrtqPLZygueuc0fAlaxJv3b8sWC4BFEavNEJbp3uYQU04auXoyNWFdA1ua_PVqA1iEgWSM4RDYs2UPpEg4I55_lMYyhr5q3UTxcQgPnujy3OlK__zGfisbelhr-N0K-lQWvmfyGlYctdLMzw-3i2D8H0fasxjDyN8-vVloNrv7ICneG-bzdKCKR1MFAOiQ6WLg&h=s_w53wSh6MnLGFj7nfV6Le1KZl2AElZiLE6QT0uX6BA + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 165 + uncompressed: false + body: |- + { + "name": "2e82fdb2-dcf4-4dd0-9de2-bd55b860bf1d", + "status": "Succeeded", + "startTime": "2001-02-03T04:05:06Z", + "endTime": "2001-02-03T04:05:06Z" + } + headers: + Cache-Control: + - no-cache + Content-Length: + - "165" + Content-Type: + - application/json + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: AE917E877B754AF5926A36A9A0DE19DC Ref B: CO6AA3150220011 Ref C: 2024-11-06T00:02:12Z' + status: 200 OK + code: 200 + duration: 171.49871ms + - id: 42 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-rcocns/providers/Microsoft.ContainerService/managedClusters/sample-managedcluster-20240901/trustedAccessRoleBindings/sample-tarb?api-version=2024-09-01 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 641 + uncompressed: false + body: |- + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-rcocns/providers/Microsoft.ContainerService/managedClusters/sample-managedcluster-20240901/trustedAccessRoleBindings/sample-tarb", + "name": "sample-tarb", + "type": "Microsoft.ContainerService/managedClusters/trustedAccessRoleBindings", + "properties": { + "provisioningState": "Succeeded", + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-rcocns/providers/Microsoft.MachineLearningServices/workspaces/sampleworkspaces", + "roles": [ + "Microsoft.MachineLearningServices/workspaces/mlworkload" + ] + } + } + headers: + Cache-Control: + - no-cache + Content-Length: + - "641" + Content-Type: + - application/json + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: F9FD698041D44C02BEB08872782A9BF5 Ref B: CO6AA3150220011 Ref C: 2024-11-06T00:02:12Z' + status: 200 OK + code: 200 + duration: 238.959692ms + - id: 43 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "1" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-rcocns/providers/Microsoft.ContainerService/managedClusters/sample-managedcluster-20240901/trustedAccessRoleBindings/sample-tarb?api-version=2024-09-01 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 641 + uncompressed: false + body: |- + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-rcocns/providers/Microsoft.ContainerService/managedClusters/sample-managedcluster-20240901/trustedAccessRoleBindings/sample-tarb", + "name": "sample-tarb", + "type": "Microsoft.ContainerService/managedClusters/trustedAccessRoleBindings", + "properties": { + "provisioningState": "Succeeded", + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-rcocns/providers/Microsoft.MachineLearningServices/workspaces/sampleworkspaces", + "roles": [ + "Microsoft.MachineLearningServices/workspaces/mlworkload" + ] + } + } + headers: + Cache-Control: + - no-cache + Content-Length: + - "641" + Content-Type: + - application/json + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: B7E808A6E4BF4BEF93A2659DB0965F29 Ref B: CO6AA3150220011 Ref C: 2024-11-06T00:02:13Z' + status: 200 OK + code: 200 + duration: 315.110687ms + - id: 44 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "2" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/4fb6c308-2d36-438a-b6e0-8ebca38125fe?api-version=2016-03-30&t=638664481216442791&c=MIIHhzCCBm-gAwIBAgITHgVxvH65_BmPrKxDIgAABXG8fjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDYwHhcNMjQwOTI1MTkzNzA4WhcNMjUwMzI0MTkzNzA4WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKlHcl7gn1b6aLS1hLftgvWE8n-Z9liLRsNGgjYfyY_1N6TVDEHJTtctREIaCRDPEC-hePKBe7OS45JIAD6cl5AGU_dQlGd-3bBZeVfAPJFUnC910pwhDca2OXlf4LyB1KSofXaA4xDB6G7cHXRld_URCnol2LHQEGox0vBzaPz30AUB0ZhAatZgqhXy5qnroV3zbEZC3m4qLDSnG8QNEnw8Wv5GpYH_MxK9mgDPwoIObeDBnjtQonKzvItZ8jXwF-wEmcVAnhr6Dvq3rWdBY9616kXvQ7E3eEvGqMn9W_NZTAqlaanfaACfITkIJZkgsSoJGw5USCMC-vzAb1Ms0j0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MB0GA1UdDgQWBBTELag1gS_F07Xj1us9l4ySYrHYYjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBTxRmjG8cPwKy19i2rhsvm-NfzRQTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBABJx3Gb3LtjBZ4x70SioNIk8ap3qwt2DMEu9dXEhi28jFB87BBsTCkNeuhGlLzHm7Ykx6xpUjJp4F2_qmJKrQjDH4U0VYT_yc8Ow5mxrFJcewgTXzwmwqXOodok5WWOUVP4Mmdp_O_3je1dVgw4TrdrypIZImBn2jVDrXQ79fFXTR-Td0XMOtWPDwreoMRagD769QW4hlGtVaZCqOAzyomfSc8PhDzKhllbZQrmP-UgiLU14SDsxwq6AHG413ClcJIDGfEsEKwlUyIIAKHDwSdbO41Zs7ZQG5k_eBlGTkr-5Zye8vT7OeGf1_mGZSme6otyTUL_3-6gJ282qCPXoflc&s=n3lARK6-1lbDUcXS29CNBrepnLgmgGCsNnd75X8LwEPEjyEFgXkXwVabR451zzfdPY_UsoxWZg6C_9IBtxR0_XCSCg3F6pibBkL2YFhuKqtlGAQnF6MVj3KZX0Jln6R1mDivAfWNgHcns2BzWFAsdg8sUIgiyflom-W_kg1NBh9SchwyUhNElBvXjhlqGBGdrEzncgELNCPcus72dL1coJgrwFVsstMp5ZIGG0dJvRXEdRp9oPK6yRRcBs6Mtv19ySrwx_JK6vIU_Km_3zrTSel-jnypzOvr5kn1qqE0rfTnRWfO4v98BC0HryYIFbd7Dzwi4v8YzBqza1nyUn8wpA&h=acj5VhhnZ4HTN9xFBhd51brP4CdvJseqX2AK9UsPXho + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 122 + uncompressed: false + body: |- + { + "name": "4fb6c308-2d36-438a-b6e0-8ebca38125fe", + "status": "InProgress", + "startTime": "2001-02-03T04:05:06Z" + } + headers: + Cache-Control: + - no-cache + Content-Length: + - "122" + Content-Type: + - application/json + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 2FB6C91C5C1745738A3A0C0B3D25F2B1 Ref B: CO6AA3150220011 Ref C: 2024-11-06T00:02:15Z' + status: 200 OK + code: 200 + duration: 124.931555ms + - id: 45 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "3" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/4fb6c308-2d36-438a-b6e0-8ebca38125fe?api-version=2016-03-30&t=638664481216442791&c=MIIHhzCCBm-gAwIBAgITHgVxvH65_BmPrKxDIgAABXG8fjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDYwHhcNMjQwOTI1MTkzNzA4WhcNMjUwMzI0MTkzNzA4WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKlHcl7gn1b6aLS1hLftgvWE8n-Z9liLRsNGgjYfyY_1N6TVDEHJTtctREIaCRDPEC-hePKBe7OS45JIAD6cl5AGU_dQlGd-3bBZeVfAPJFUnC910pwhDca2OXlf4LyB1KSofXaA4xDB6G7cHXRld_URCnol2LHQEGox0vBzaPz30AUB0ZhAatZgqhXy5qnroV3zbEZC3m4qLDSnG8QNEnw8Wv5GpYH_MxK9mgDPwoIObeDBnjtQonKzvItZ8jXwF-wEmcVAnhr6Dvq3rWdBY9616kXvQ7E3eEvGqMn9W_NZTAqlaanfaACfITkIJZkgsSoJGw5USCMC-vzAb1Ms0j0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MB0GA1UdDgQWBBTELag1gS_F07Xj1us9l4ySYrHYYjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBTxRmjG8cPwKy19i2rhsvm-NfzRQTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBABJx3Gb3LtjBZ4x70SioNIk8ap3qwt2DMEu9dXEhi28jFB87BBsTCkNeuhGlLzHm7Ykx6xpUjJp4F2_qmJKrQjDH4U0VYT_yc8Ow5mxrFJcewgTXzwmwqXOodok5WWOUVP4Mmdp_O_3je1dVgw4TrdrypIZImBn2jVDrXQ79fFXTR-Td0XMOtWPDwreoMRagD769QW4hlGtVaZCqOAzyomfSc8PhDzKhllbZQrmP-UgiLU14SDsxwq6AHG413ClcJIDGfEsEKwlUyIIAKHDwSdbO41Zs7ZQG5k_eBlGTkr-5Zye8vT7OeGf1_mGZSme6otyTUL_3-6gJ282qCPXoflc&s=n3lARK6-1lbDUcXS29CNBrepnLgmgGCsNnd75X8LwEPEjyEFgXkXwVabR451zzfdPY_UsoxWZg6C_9IBtxR0_XCSCg3F6pibBkL2YFhuKqtlGAQnF6MVj3KZX0Jln6R1mDivAfWNgHcns2BzWFAsdg8sUIgiyflom-W_kg1NBh9SchwyUhNElBvXjhlqGBGdrEzncgELNCPcus72dL1coJgrwFVsstMp5ZIGG0dJvRXEdRp9oPK6yRRcBs6Mtv19ySrwx_JK6vIU_Km_3zrTSel-jnypzOvr5kn1qqE0rfTnRWfO4v98BC0HryYIFbd7Dzwi4v8YzBqza1nyUn8wpA&h=acj5VhhnZ4HTN9xFBhd51brP4CdvJseqX2AK9UsPXho + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 122 + uncompressed: false + body: |- + { + "name": "4fb6c308-2d36-438a-b6e0-8ebca38125fe", + "status": "InProgress", + "startTime": "2001-02-03T04:05:06Z" + } + headers: + Cache-Control: + - no-cache + Content-Length: + - "122" + Content-Type: + - application/json + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 54A7E473BF80407C86427AD3DDE4488E Ref B: CO6AA3150220011 Ref C: 2024-11-06T00:02:23Z' + status: 200 OK + code: 200 + duration: 118.44095ms + - id: 46 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "4" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/4fb6c308-2d36-438a-b6e0-8ebca38125fe?api-version=2016-03-30&t=638664481216442791&c=MIIHhzCCBm-gAwIBAgITHgVxvH65_BmPrKxDIgAABXG8fjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDYwHhcNMjQwOTI1MTkzNzA4WhcNMjUwMzI0MTkzNzA4WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKlHcl7gn1b6aLS1hLftgvWE8n-Z9liLRsNGgjYfyY_1N6TVDEHJTtctREIaCRDPEC-hePKBe7OS45JIAD6cl5AGU_dQlGd-3bBZeVfAPJFUnC910pwhDca2OXlf4LyB1KSofXaA4xDB6G7cHXRld_URCnol2LHQEGox0vBzaPz30AUB0ZhAatZgqhXy5qnroV3zbEZC3m4qLDSnG8QNEnw8Wv5GpYH_MxK9mgDPwoIObeDBnjtQonKzvItZ8jXwF-wEmcVAnhr6Dvq3rWdBY9616kXvQ7E3eEvGqMn9W_NZTAqlaanfaACfITkIJZkgsSoJGw5USCMC-vzAb1Ms0j0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MB0GA1UdDgQWBBTELag1gS_F07Xj1us9l4ySYrHYYjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBTxRmjG8cPwKy19i2rhsvm-NfzRQTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBABJx3Gb3LtjBZ4x70SioNIk8ap3qwt2DMEu9dXEhi28jFB87BBsTCkNeuhGlLzHm7Ykx6xpUjJp4F2_qmJKrQjDH4U0VYT_yc8Ow5mxrFJcewgTXzwmwqXOodok5WWOUVP4Mmdp_O_3je1dVgw4TrdrypIZImBn2jVDrXQ79fFXTR-Td0XMOtWPDwreoMRagD769QW4hlGtVaZCqOAzyomfSc8PhDzKhllbZQrmP-UgiLU14SDsxwq6AHG413ClcJIDGfEsEKwlUyIIAKHDwSdbO41Zs7ZQG5k_eBlGTkr-5Zye8vT7OeGf1_mGZSme6otyTUL_3-6gJ282qCPXoflc&s=n3lARK6-1lbDUcXS29CNBrepnLgmgGCsNnd75X8LwEPEjyEFgXkXwVabR451zzfdPY_UsoxWZg6C_9IBtxR0_XCSCg3F6pibBkL2YFhuKqtlGAQnF6MVj3KZX0Jln6R1mDivAfWNgHcns2BzWFAsdg8sUIgiyflom-W_kg1NBh9SchwyUhNElBvXjhlqGBGdrEzncgELNCPcus72dL1coJgrwFVsstMp5ZIGG0dJvRXEdRp9oPK6yRRcBs6Mtv19ySrwx_JK6vIU_Km_3zrTSel-jnypzOvr5kn1qqE0rfTnRWfO4v98BC0HryYIFbd7Dzwi4v8YzBqza1nyUn8wpA&h=acj5VhhnZ4HTN9xFBhd51brP4CdvJseqX2AK9UsPXho + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 122 + uncompressed: false + body: |- + { + "name": "4fb6c308-2d36-438a-b6e0-8ebca38125fe", + "status": "InProgress", + "startTime": "2001-02-03T04:05:06Z" + } + headers: + Cache-Control: + - no-cache + Content-Length: + - "122" + Content-Type: + - application/json + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 2607A113818343D58A4B49D8FFAB1244 Ref B: CO6AA3150220011 Ref C: 2024-11-06T00:02:39Z' + status: 200 OK + code: 200 + duration: 199.965566ms + - id: 47 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "5" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/4fb6c308-2d36-438a-b6e0-8ebca38125fe?api-version=2016-03-30&t=638664481216442791&c=MIIHhzCCBm-gAwIBAgITHgVxvH65_BmPrKxDIgAABXG8fjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDYwHhcNMjQwOTI1MTkzNzA4WhcNMjUwMzI0MTkzNzA4WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKlHcl7gn1b6aLS1hLftgvWE8n-Z9liLRsNGgjYfyY_1N6TVDEHJTtctREIaCRDPEC-hePKBe7OS45JIAD6cl5AGU_dQlGd-3bBZeVfAPJFUnC910pwhDca2OXlf4LyB1KSofXaA4xDB6G7cHXRld_URCnol2LHQEGox0vBzaPz30AUB0ZhAatZgqhXy5qnroV3zbEZC3m4qLDSnG8QNEnw8Wv5GpYH_MxK9mgDPwoIObeDBnjtQonKzvItZ8jXwF-wEmcVAnhr6Dvq3rWdBY9616kXvQ7E3eEvGqMn9W_NZTAqlaanfaACfITkIJZkgsSoJGw5USCMC-vzAb1Ms0j0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MB0GA1UdDgQWBBTELag1gS_F07Xj1us9l4ySYrHYYjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBTxRmjG8cPwKy19i2rhsvm-NfzRQTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBABJx3Gb3LtjBZ4x70SioNIk8ap3qwt2DMEu9dXEhi28jFB87BBsTCkNeuhGlLzHm7Ykx6xpUjJp4F2_qmJKrQjDH4U0VYT_yc8Ow5mxrFJcewgTXzwmwqXOodok5WWOUVP4Mmdp_O_3je1dVgw4TrdrypIZImBn2jVDrXQ79fFXTR-Td0XMOtWPDwreoMRagD769QW4hlGtVaZCqOAzyomfSc8PhDzKhllbZQrmP-UgiLU14SDsxwq6AHG413ClcJIDGfEsEKwlUyIIAKHDwSdbO41Zs7ZQG5k_eBlGTkr-5Zye8vT7OeGf1_mGZSme6otyTUL_3-6gJ282qCPXoflc&s=n3lARK6-1lbDUcXS29CNBrepnLgmgGCsNnd75X8LwEPEjyEFgXkXwVabR451zzfdPY_UsoxWZg6C_9IBtxR0_XCSCg3F6pibBkL2YFhuKqtlGAQnF6MVj3KZX0Jln6R1mDivAfWNgHcns2BzWFAsdg8sUIgiyflom-W_kg1NBh9SchwyUhNElBvXjhlqGBGdrEzncgELNCPcus72dL1coJgrwFVsstMp5ZIGG0dJvRXEdRp9oPK6yRRcBs6Mtv19ySrwx_JK6vIU_Km_3zrTSel-jnypzOvr5kn1qqE0rfTnRWfO4v98BC0HryYIFbd7Dzwi4v8YzBqza1nyUn8wpA&h=acj5VhhnZ4HTN9xFBhd51brP4CdvJseqX2AK9UsPXho + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 122 + uncompressed: false + body: |- + { + "name": "4fb6c308-2d36-438a-b6e0-8ebca38125fe", + "status": "InProgress", + "startTime": "2001-02-03T04:05:06Z" + } + headers: + Cache-Control: + - no-cache + Content-Length: + - "122" + Content-Type: + - application/json + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 3979C35D22964EFBAC83DAB7CF189862 Ref B: CO6AA3150220011 Ref C: 2024-11-06T00:03:12Z' + status: 200 OK + code: 200 + duration: 868.256168ms + - id: 48 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "6" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus3/operations/4fb6c308-2d36-438a-b6e0-8ebca38125fe?api-version=2016-03-30&t=638664481216442791&c=MIIHhzCCBm-gAwIBAgITHgVxvH65_BmPrKxDIgAABXG8fjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDYwHhcNMjQwOTI1MTkzNzA4WhcNMjUwMzI0MTkzNzA4WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKlHcl7gn1b6aLS1hLftgvWE8n-Z9liLRsNGgjYfyY_1N6TVDEHJTtctREIaCRDPEC-hePKBe7OS45JIAD6cl5AGU_dQlGd-3bBZeVfAPJFUnC910pwhDca2OXlf4LyB1KSofXaA4xDB6G7cHXRld_URCnol2LHQEGox0vBzaPz30AUB0ZhAatZgqhXy5qnroV3zbEZC3m4qLDSnG8QNEnw8Wv5GpYH_MxK9mgDPwoIObeDBnjtQonKzvItZ8jXwF-wEmcVAnhr6Dvq3rWdBY9616kXvQ7E3eEvGqMn9W_NZTAqlaanfaACfITkIJZkgsSoJGw5USCMC-vzAb1Ms0j0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MB0GA1UdDgQWBBTELag1gS_F07Xj1us9l4ySYrHYYjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBTxRmjG8cPwKy19i2rhsvm-NfzRQTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBABJx3Gb3LtjBZ4x70SioNIk8ap3qwt2DMEu9dXEhi28jFB87BBsTCkNeuhGlLzHm7Ykx6xpUjJp4F2_qmJKrQjDH4U0VYT_yc8Ow5mxrFJcewgTXzwmwqXOodok5WWOUVP4Mmdp_O_3je1dVgw4TrdrypIZImBn2jVDrXQ79fFXTR-Td0XMOtWPDwreoMRagD769QW4hlGtVaZCqOAzyomfSc8PhDzKhllbZQrmP-UgiLU14SDsxwq6AHG413ClcJIDGfEsEKwlUyIIAKHDwSdbO41Zs7ZQG5k_eBlGTkr-5Zye8vT7OeGf1_mGZSme6otyTUL_3-6gJ282qCPXoflc&s=n3lARK6-1lbDUcXS29CNBrepnLgmgGCsNnd75X8LwEPEjyEFgXkXwVabR451zzfdPY_UsoxWZg6C_9IBtxR0_XCSCg3F6pibBkL2YFhuKqtlGAQnF6MVj3KZX0Jln6R1mDivAfWNgHcns2BzWFAsdg8sUIgiyflom-W_kg1NBh9SchwyUhNElBvXjhlqGBGdrEzncgELNCPcus72dL1coJgrwFVsstMp5ZIGG0dJvRXEdRp9oPK6yRRcBs6Mtv19ySrwx_JK6vIU_Km_3zrTSel-jnypzOvr5kn1qqE0rfTnRWfO4v98BC0HryYIFbd7Dzwi4v8YzBqza1nyUn8wpA&h=acj5VhhnZ4HTN9xFBhd51brP4CdvJseqX2AK9UsPXho + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 165 + uncompressed: false + body: |- + { + "name": "4fb6c308-2d36-438a-b6e0-8ebca38125fe", + "status": "Succeeded", + "startTime": "2001-02-03T04:05:06Z", + "endTime": "2001-02-03T04:05:06Z" + } + headers: + Cache-Control: + - no-cache + Content-Length: + - "165" + Content-Type: + - application/json + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: C94AB494CD8D4563A572D660C5C84A19 Ref B: CO6AA3150220011 Ref C: 2024-11-06T00:04:13Z' + status: 200 OK + code: 200 + duration: 303.77131ms + - id: 49 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "1" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-rcocns/providers/Microsoft.ContainerService/managedClusters/sample-managedcluster-20240901/agentPools/pool20240901?api-version=2024-09-01 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 968 + uncompressed: false + body: |- + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asotest-rg-rcocns/providers/Microsoft.ContainerService/managedClusters/sample-managedcluster-20240901/agentPools/pool20240901", + "name": "pool20240901", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "properties": { + "count": 1, + "vmSize": "Standard_DS2_v2", + "osDiskSizeGB": 128, + "osDiskType": "Managed", + "kubeletDiskType": "OS", + "maxPods": 110, + "type": "VirtualMachineScaleSets", + "enableAutoScaling": false, + "scaleDownMode": "Delete", + "provisioningState": "Succeeded", + "powerState": { + "code": "Running" + }, + "orchestratorVersion": "1.29", + "currentOrchestratorVersion": "1.29.9", + "enableNodePublicIP": false, + "mode": "User", + "osType": "Linux", + "osSKU": "Ubuntu", + "nodeImageVersion": "AKSUbuntu-2204gen2containerd-202410.15.0", + "enableFIPS": false, + "securityProfile": { + "enableVTPM": false, + "enableSecureBoot": false + } + } + } + headers: + Cache-Control: + - no-cache + Content-Length: + - "968" + Content-Type: + - application/json + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: D7731323775E4CC6ACF5ACF30D2F441F Ref B: CO6AA3150220011 Ref C: 2024-11-06T00:04:14Z' + status: 200 OK + code: 200 + duration: 611.012626ms + - id: 50 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "2" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-rcocns/providers/Microsoft.ContainerService/managedClusters/sample-managedcluster-20240901/agentPools/pool20240901?api-version=2024-09-01 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 968 + uncompressed: false + body: |- + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asotest-rg-rcocns/providers/Microsoft.ContainerService/managedClusters/sample-managedcluster-20240901/agentPools/pool20240901", + "name": "pool20240901", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "properties": { + "count": 1, + "vmSize": "Standard_DS2_v2", + "osDiskSizeGB": 128, + "osDiskType": "Managed", + "kubeletDiskType": "OS", + "maxPods": 110, + "type": "VirtualMachineScaleSets", + "enableAutoScaling": false, + "scaleDownMode": "Delete", + "provisioningState": "Succeeded", + "powerState": { + "code": "Running" + }, + "orchestratorVersion": "1.29", + "currentOrchestratorVersion": "1.29.9", + "enableNodePublicIP": false, + "mode": "User", + "osType": "Linux", + "osSKU": "Ubuntu", + "nodeImageVersion": "AKSUbuntu-2204gen2containerd-202410.15.0", + "enableFIPS": false, + "securityProfile": { + "enableVTPM": false, + "enableSecureBoot": false + } + } + } + headers: + Cache-Control: + - no-cache + Content-Length: + - "968" + Content-Type: + - application/json + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 200F4EFF25964897AA3C8A014B348C37 Ref B: CO6AA3150220011 Ref C: 2024-11-06T00:04:15Z' + status: 200 OK + code: 200 + duration: 702.089083ms + - id: 51 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-rcocns?api-version=2020-06-01 + method: DELETE + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRSQ09DTlMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638664482618131001&c=MIIHpTCCBo2gAwIBAgITOgM6dTLGpzYZpvPtgQAEAzp1MjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjQwNjI2MDEzMjIxWhcNMjUwNjIxMDEzMjIxWjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPPPKY5bDN03KptFFhiyLIyn86BlrXYFIZWYXA-hY7_WbLyWN0IxcLIUBW_I-9u-YsXOHk9WPMlUYHIFPgHW7A3FsSGfl9dd6YGapKoSSw0NkTpNXM58R54BBgLp7AhiWzK15D9T-XELNSU4Wq9sEeA5T24kazcgS2MUkzELH0I9dwu7g0dwJIuIJkoJjEzg1b1Q3Ie5HKHHNbjottJn7Q5LBS-9QtQyruuwaNTgSJpCoi4PBKVIOTBYL_Nv1wecmKmfWcT0mnhQE9zjhJTbcoN9hKSvAMqsDHtxWUFZosiw3JKIY0zb59CrVGSuOhfN3qaarwN9EAlXLqc4ZyKpsTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBRk_38CqdKjPVylWUR4uuqhbFGeHTAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEATAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAFsx7FtYAzSo98T5ydNFa0ukjPZ6XCQc9zo7ldqy235P_zJAUkaNgCU4EGOzbZJDoMa8mAfhyukL_0GfPeApUaY2e44ZOzoYAkeEuDiwcs-9zoQ1fCyXhn0pCumGFXRilX9KjAPaYTzDvQMEllTy_ZViwTahuKaGtFVamZguBPdaeYC_0oybtTVNQCs8hGnffhNZOMASB-5pFs35MNxsDWTVIQksDee419jqpsbWLkh6rnanILO1O_ihwb-WpvRQByQ5NGpG1-z0MQ6nRpr9wWxUi-DsrVsD38NTMIPc2uei4Ivf6qnGRvOOj0fmsciWuTTEXMaD-5a81mGlzhZc09Q&s=MZBzsFvn0pgWdzvMcRKp6mEVaWPS92cA2pMHeYiiPT8TTrjy8IWtLCWr0FkHUi17isS9Fd6baEkfzLVNQe5Nkz264wZ0nk9iPJvmeQnDeEVNg4AidJkzFMmJA_vs6A8MRXlzu6rvdo5qytAqyKL-5MJ54ir51aSeqI0Eix4CiYY_RDuZeXe8AO9yT9cnVc2buNVxkbCSTE8ubNVp3mvqJvjFhr7o1MCn5yVt3G6hpq65Fsi3pdYcnFjmAX5K3k0E4LzOEBH8uj3-ZB4l4MzN9-cqqbaJDjms_fSjsQcAmYdqK4iVijB3v-rGH40yAuZpp1rAFsl3xm_y5a-dFWhdUA&h=mjDcrdBOGOjhYzeJPAflM86fdWlsvjr3kZrkP3R1MxE + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Deletes: + - "11999" + X-Msedge-Ref: + - 'Ref A: 6A6E5F9F59A646EBBEC4E6EAAFE04032 Ref B: CO6AA3150220011 Ref C: 2024-11-06T00:04:21Z' + status: 202 Accepted + code: 202 + duration: 154.726463ms + - id: 52 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRSQ09DTlMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638664482618131001&c=MIIHpTCCBo2gAwIBAgITOgM6dTLGpzYZpvPtgQAEAzp1MjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjQwNjI2MDEzMjIxWhcNMjUwNjIxMDEzMjIxWjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPPPKY5bDN03KptFFhiyLIyn86BlrXYFIZWYXA-hY7_WbLyWN0IxcLIUBW_I-9u-YsXOHk9WPMlUYHIFPgHW7A3FsSGfl9dd6YGapKoSSw0NkTpNXM58R54BBgLp7AhiWzK15D9T-XELNSU4Wq9sEeA5T24kazcgS2MUkzELH0I9dwu7g0dwJIuIJkoJjEzg1b1Q3Ie5HKHHNbjottJn7Q5LBS-9QtQyruuwaNTgSJpCoi4PBKVIOTBYL_Nv1wecmKmfWcT0mnhQE9zjhJTbcoN9hKSvAMqsDHtxWUFZosiw3JKIY0zb59CrVGSuOhfN3qaarwN9EAlXLqc4ZyKpsTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBRk_38CqdKjPVylWUR4uuqhbFGeHTAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEATAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAFsx7FtYAzSo98T5ydNFa0ukjPZ6XCQc9zo7ldqy235P_zJAUkaNgCU4EGOzbZJDoMa8mAfhyukL_0GfPeApUaY2e44ZOzoYAkeEuDiwcs-9zoQ1fCyXhn0pCumGFXRilX9KjAPaYTzDvQMEllTy_ZViwTahuKaGtFVamZguBPdaeYC_0oybtTVNQCs8hGnffhNZOMASB-5pFs35MNxsDWTVIQksDee419jqpsbWLkh6rnanILO1O_ihwb-WpvRQByQ5NGpG1-z0MQ6nRpr9wWxUi-DsrVsD38NTMIPc2uei4Ivf6qnGRvOOj0fmsciWuTTEXMaD-5a81mGlzhZc09Q&s=MZBzsFvn0pgWdzvMcRKp6mEVaWPS92cA2pMHeYiiPT8TTrjy8IWtLCWr0FkHUi17isS9Fd6baEkfzLVNQe5Nkz264wZ0nk9iPJvmeQnDeEVNg4AidJkzFMmJA_vs6A8MRXlzu6rvdo5qytAqyKL-5MJ54ir51aSeqI0Eix4CiYY_RDuZeXe8AO9yT9cnVc2buNVxkbCSTE8ubNVp3mvqJvjFhr7o1MCn5yVt3G6hpq65Fsi3pdYcnFjmAX5K3k0E4LzOEBH8uj3-ZB4l4MzN9-cqqbaJDjms_fSjsQcAmYdqK4iVijB3v-rGH40yAuZpp1rAFsl3xm_y5a-dFWhdUA&h=mjDcrdBOGOjhYzeJPAflM86fdWlsvjr3kZrkP3R1MxE + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRSQ09DTlMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638664482771024798&c=MIIHpTCCBo2gAwIBAgITOgM6dTLGpzYZpvPtgQAEAzp1MjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjQwNjI2MDEzMjIxWhcNMjUwNjIxMDEzMjIxWjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPPPKY5bDN03KptFFhiyLIyn86BlrXYFIZWYXA-hY7_WbLyWN0IxcLIUBW_I-9u-YsXOHk9WPMlUYHIFPgHW7A3FsSGfl9dd6YGapKoSSw0NkTpNXM58R54BBgLp7AhiWzK15D9T-XELNSU4Wq9sEeA5T24kazcgS2MUkzELH0I9dwu7g0dwJIuIJkoJjEzg1b1Q3Ie5HKHHNbjottJn7Q5LBS-9QtQyruuwaNTgSJpCoi4PBKVIOTBYL_Nv1wecmKmfWcT0mnhQE9zjhJTbcoN9hKSvAMqsDHtxWUFZosiw3JKIY0zb59CrVGSuOhfN3qaarwN9EAlXLqc4ZyKpsTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBRk_38CqdKjPVylWUR4uuqhbFGeHTAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEATAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAFsx7FtYAzSo98T5ydNFa0ukjPZ6XCQc9zo7ldqy235P_zJAUkaNgCU4EGOzbZJDoMa8mAfhyukL_0GfPeApUaY2e44ZOzoYAkeEuDiwcs-9zoQ1fCyXhn0pCumGFXRilX9KjAPaYTzDvQMEllTy_ZViwTahuKaGtFVamZguBPdaeYC_0oybtTVNQCs8hGnffhNZOMASB-5pFs35MNxsDWTVIQksDee419jqpsbWLkh6rnanILO1O_ihwb-WpvRQByQ5NGpG1-z0MQ6nRpr9wWxUi-DsrVsD38NTMIPc2uei4Ivf6qnGRvOOj0fmsciWuTTEXMaD-5a81mGlzhZc09Q&s=Aci_XeB37ds6abZe9NSDzlMRaXr4iJDaEfHcTNetgjgl4N9BtojuSbdwBBCdIkgxb6luhpAXgzTdl9JgkTEKz0zbI10cH3H0pJi_q75GfM7JqhDzCAwovPkUlPuDdtvMMlnvNk-nXCv1MaEBXdFTHzu4GzdXHE_pNO8woMpy1eNVgLzaDtIoosadtx8v1nmIm-0tS-TrcrbEIvGLc36RtivGU2vqysJbVx_b_Um-_UudYd5urcFH3FdybXkEe6U7CSAxIm_2TTN8-sOeE-msC91kZPRD0ogik3clmG2aoxDHUFUZzA39VMaJt1Z4wKJy7IAp69fT-RpFSEnNgUFadA&h=e7pdKb6fJhuoM7YFGYSIjebF9K6cEQnPU0og4SctX6o + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 90759E40654E4C7E821503334F6EAECB Ref B: CO6AA3150220011 Ref C: 2024-11-06T00:04:37Z' + status: 202 Accepted + code: 202 + duration: 97.911871ms + - id: 53 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "1" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRSQ09DTlMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638664482618131001&c=MIIHpTCCBo2gAwIBAgITOgM6dTLGpzYZpvPtgQAEAzp1MjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjQwNjI2MDEzMjIxWhcNMjUwNjIxMDEzMjIxWjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPPPKY5bDN03KptFFhiyLIyn86BlrXYFIZWYXA-hY7_WbLyWN0IxcLIUBW_I-9u-YsXOHk9WPMlUYHIFPgHW7A3FsSGfl9dd6YGapKoSSw0NkTpNXM58R54BBgLp7AhiWzK15D9T-XELNSU4Wq9sEeA5T24kazcgS2MUkzELH0I9dwu7g0dwJIuIJkoJjEzg1b1Q3Ie5HKHHNbjottJn7Q5LBS-9QtQyruuwaNTgSJpCoi4PBKVIOTBYL_Nv1wecmKmfWcT0mnhQE9zjhJTbcoN9hKSvAMqsDHtxWUFZosiw3JKIY0zb59CrVGSuOhfN3qaarwN9EAlXLqc4ZyKpsTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBRk_38CqdKjPVylWUR4uuqhbFGeHTAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEATAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAFsx7FtYAzSo98T5ydNFa0ukjPZ6XCQc9zo7ldqy235P_zJAUkaNgCU4EGOzbZJDoMa8mAfhyukL_0GfPeApUaY2e44ZOzoYAkeEuDiwcs-9zoQ1fCyXhn0pCumGFXRilX9KjAPaYTzDvQMEllTy_ZViwTahuKaGtFVamZguBPdaeYC_0oybtTVNQCs8hGnffhNZOMASB-5pFs35MNxsDWTVIQksDee419jqpsbWLkh6rnanILO1O_ihwb-WpvRQByQ5NGpG1-z0MQ6nRpr9wWxUi-DsrVsD38NTMIPc2uei4Ivf6qnGRvOOj0fmsciWuTTEXMaD-5a81mGlzhZc09Q&s=MZBzsFvn0pgWdzvMcRKp6mEVaWPS92cA2pMHeYiiPT8TTrjy8IWtLCWr0FkHUi17isS9Fd6baEkfzLVNQe5Nkz264wZ0nk9iPJvmeQnDeEVNg4AidJkzFMmJA_vs6A8MRXlzu6rvdo5qytAqyKL-5MJ54ir51aSeqI0Eix4CiYY_RDuZeXe8AO9yT9cnVc2buNVxkbCSTE8ubNVp3mvqJvjFhr7o1MCn5yVt3G6hpq65Fsi3pdYcnFjmAX5K3k0E4LzOEBH8uj3-ZB4l4MzN9-cqqbaJDjms_fSjsQcAmYdqK4iVijB3v-rGH40yAuZpp1rAFsl3xm_y5a-dFWhdUA&h=mjDcrdBOGOjhYzeJPAflM86fdWlsvjr3kZrkP3R1MxE + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRSQ09DTlMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638664482922580055&c=MIIHpTCCBo2gAwIBAgITOgM6dTLGpzYZpvPtgQAEAzp1MjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjQwNjI2MDEzMjIxWhcNMjUwNjIxMDEzMjIxWjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPPPKY5bDN03KptFFhiyLIyn86BlrXYFIZWYXA-hY7_WbLyWN0IxcLIUBW_I-9u-YsXOHk9WPMlUYHIFPgHW7A3FsSGfl9dd6YGapKoSSw0NkTpNXM58R54BBgLp7AhiWzK15D9T-XELNSU4Wq9sEeA5T24kazcgS2MUkzELH0I9dwu7g0dwJIuIJkoJjEzg1b1Q3Ie5HKHHNbjottJn7Q5LBS-9QtQyruuwaNTgSJpCoi4PBKVIOTBYL_Nv1wecmKmfWcT0mnhQE9zjhJTbcoN9hKSvAMqsDHtxWUFZosiw3JKIY0zb59CrVGSuOhfN3qaarwN9EAlXLqc4ZyKpsTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBRk_38CqdKjPVylWUR4uuqhbFGeHTAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEATAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAFsx7FtYAzSo98T5ydNFa0ukjPZ6XCQc9zo7ldqy235P_zJAUkaNgCU4EGOzbZJDoMa8mAfhyukL_0GfPeApUaY2e44ZOzoYAkeEuDiwcs-9zoQ1fCyXhn0pCumGFXRilX9KjAPaYTzDvQMEllTy_ZViwTahuKaGtFVamZguBPdaeYC_0oybtTVNQCs8hGnffhNZOMASB-5pFs35MNxsDWTVIQksDee419jqpsbWLkh6rnanILO1O_ihwb-WpvRQByQ5NGpG1-z0MQ6nRpr9wWxUi-DsrVsD38NTMIPc2uei4Ivf6qnGRvOOj0fmsciWuTTEXMaD-5a81mGlzhZc09Q&s=Uu3JoTGW2Xt28liVCjPEjRMFR9meUVVCa4B3vVtIQRa9ClSg27nGoMnKyoNHbaoIl26M7_kxBQP_BkoiSMt5H2hz3DeI45z84exkMGPligwpMdD8-U9X0Hpn6bGADe05J7PQg52O2sIrNqDRJg9y2M0c1J1UB1zY846__twsbl6Dyqzt5R_VKQqNiJSkR1Rvt3jQDOi5m9QrSUtLeYzU_UVnHJ_N3ssMEB0aK90rUkLcltiL3hg2eIpOBd2qR7-9YZGY7ZR0sNMH3RrP6ATuXOOYrRSz1ehGyvi455wAcGeHdxSYmLi1MT_wQ5ZRfKAjp2oyQi88-nKbZxoG7ojXng&h=-9jC7sdynKRBYsRtkLWsB9OQho-312QFGsZu3vCFcPo + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: F8B739705B1B4A5A8A5484F9B7826202 Ref B: CO6AA3150220011 Ref C: 2024-11-06T00:04:52Z' + status: 202 Accepted + code: 202 + duration: 41.753176ms + - id: 54 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "2" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRSQ09DTlMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638664482618131001&c=MIIHpTCCBo2gAwIBAgITOgM6dTLGpzYZpvPtgQAEAzp1MjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjQwNjI2MDEzMjIxWhcNMjUwNjIxMDEzMjIxWjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPPPKY5bDN03KptFFhiyLIyn86BlrXYFIZWYXA-hY7_WbLyWN0IxcLIUBW_I-9u-YsXOHk9WPMlUYHIFPgHW7A3FsSGfl9dd6YGapKoSSw0NkTpNXM58R54BBgLp7AhiWzK15D9T-XELNSU4Wq9sEeA5T24kazcgS2MUkzELH0I9dwu7g0dwJIuIJkoJjEzg1b1Q3Ie5HKHHNbjottJn7Q5LBS-9QtQyruuwaNTgSJpCoi4PBKVIOTBYL_Nv1wecmKmfWcT0mnhQE9zjhJTbcoN9hKSvAMqsDHtxWUFZosiw3JKIY0zb59CrVGSuOhfN3qaarwN9EAlXLqc4ZyKpsTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBRk_38CqdKjPVylWUR4uuqhbFGeHTAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEATAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAFsx7FtYAzSo98T5ydNFa0ukjPZ6XCQc9zo7ldqy235P_zJAUkaNgCU4EGOzbZJDoMa8mAfhyukL_0GfPeApUaY2e44ZOzoYAkeEuDiwcs-9zoQ1fCyXhn0pCumGFXRilX9KjAPaYTzDvQMEllTy_ZViwTahuKaGtFVamZguBPdaeYC_0oybtTVNQCs8hGnffhNZOMASB-5pFs35MNxsDWTVIQksDee419jqpsbWLkh6rnanILO1O_ihwb-WpvRQByQ5NGpG1-z0MQ6nRpr9wWxUi-DsrVsD38NTMIPc2uei4Ivf6qnGRvOOj0fmsciWuTTEXMaD-5a81mGlzhZc09Q&s=MZBzsFvn0pgWdzvMcRKp6mEVaWPS92cA2pMHeYiiPT8TTrjy8IWtLCWr0FkHUi17isS9Fd6baEkfzLVNQe5Nkz264wZ0nk9iPJvmeQnDeEVNg4AidJkzFMmJA_vs6A8MRXlzu6rvdo5qytAqyKL-5MJ54ir51aSeqI0Eix4CiYY_RDuZeXe8AO9yT9cnVc2buNVxkbCSTE8ubNVp3mvqJvjFhr7o1MCn5yVt3G6hpq65Fsi3pdYcnFjmAX5K3k0E4LzOEBH8uj3-ZB4l4MzN9-cqqbaJDjms_fSjsQcAmYdqK4iVijB3v-rGH40yAuZpp1rAFsl3xm_y5a-dFWhdUA&h=mjDcrdBOGOjhYzeJPAflM86fdWlsvjr3kZrkP3R1MxE + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRSQ09DTlMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638664483073722345&c=MIIHpTCCBo2gAwIBAgITOgM6dTLGpzYZpvPtgQAEAzp1MjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjQwNjI2MDEzMjIxWhcNMjUwNjIxMDEzMjIxWjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPPPKY5bDN03KptFFhiyLIyn86BlrXYFIZWYXA-hY7_WbLyWN0IxcLIUBW_I-9u-YsXOHk9WPMlUYHIFPgHW7A3FsSGfl9dd6YGapKoSSw0NkTpNXM58R54BBgLp7AhiWzK15D9T-XELNSU4Wq9sEeA5T24kazcgS2MUkzELH0I9dwu7g0dwJIuIJkoJjEzg1b1Q3Ie5HKHHNbjottJn7Q5LBS-9QtQyruuwaNTgSJpCoi4PBKVIOTBYL_Nv1wecmKmfWcT0mnhQE9zjhJTbcoN9hKSvAMqsDHtxWUFZosiw3JKIY0zb59CrVGSuOhfN3qaarwN9EAlXLqc4ZyKpsTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBRk_38CqdKjPVylWUR4uuqhbFGeHTAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEATAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAFsx7FtYAzSo98T5ydNFa0ukjPZ6XCQc9zo7ldqy235P_zJAUkaNgCU4EGOzbZJDoMa8mAfhyukL_0GfPeApUaY2e44ZOzoYAkeEuDiwcs-9zoQ1fCyXhn0pCumGFXRilX9KjAPaYTzDvQMEllTy_ZViwTahuKaGtFVamZguBPdaeYC_0oybtTVNQCs8hGnffhNZOMASB-5pFs35MNxsDWTVIQksDee419jqpsbWLkh6rnanILO1O_ihwb-WpvRQByQ5NGpG1-z0MQ6nRpr9wWxUi-DsrVsD38NTMIPc2uei4Ivf6qnGRvOOj0fmsciWuTTEXMaD-5a81mGlzhZc09Q&s=mD7ijNWs0c3tthQ_JZlvC3e9ol7BE9VE75pvht4lGCuJTTXZoM8PqdAgGk-vrB9mHnXwZQc_8Sg2-BqTH13j3j01v_KFh70YxIs7-x4Hw6O4JFQ1Hfqi1L2HYRAyfCK33KOKN20VFhY4drz0kQ0V43fSyu7F6LvZCyRmJ6CGiZ0IcWbLqDE_oZs4XtNhhWxHvUfJ9O_s0G7ykdTzuHeFDySzf_TfNGMajd_eql1BT5eGVxCqR6yM7fmB2sWs9EU7VD5iUtgqvBYsIXRCg1FvinM7WIWAT6JMXKP2WwG5CRr1zbN3VYjG9fdhP3-CJADkrvLWGM9qOfAb4tcTfDD_jw&h=Y-XC7e4JppO96qS349kV9dQWN0Vz6CFjt2p9f0ij9uI + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: EF1B54A511CB491C9F8B1922C6DFF182 Ref B: CO6AA3150220011 Ref C: 2024-11-06T00:05:07Z' + status: 202 Accepted + code: 202 + duration: 73.072535ms + - id: 55 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "3" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRSQ09DTlMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638664482618131001&c=MIIHpTCCBo2gAwIBAgITOgM6dTLGpzYZpvPtgQAEAzp1MjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjQwNjI2MDEzMjIxWhcNMjUwNjIxMDEzMjIxWjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPPPKY5bDN03KptFFhiyLIyn86BlrXYFIZWYXA-hY7_WbLyWN0IxcLIUBW_I-9u-YsXOHk9WPMlUYHIFPgHW7A3FsSGfl9dd6YGapKoSSw0NkTpNXM58R54BBgLp7AhiWzK15D9T-XELNSU4Wq9sEeA5T24kazcgS2MUkzELH0I9dwu7g0dwJIuIJkoJjEzg1b1Q3Ie5HKHHNbjottJn7Q5LBS-9QtQyruuwaNTgSJpCoi4PBKVIOTBYL_Nv1wecmKmfWcT0mnhQE9zjhJTbcoN9hKSvAMqsDHtxWUFZosiw3JKIY0zb59CrVGSuOhfN3qaarwN9EAlXLqc4ZyKpsTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBRk_38CqdKjPVylWUR4uuqhbFGeHTAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEATAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAFsx7FtYAzSo98T5ydNFa0ukjPZ6XCQc9zo7ldqy235P_zJAUkaNgCU4EGOzbZJDoMa8mAfhyukL_0GfPeApUaY2e44ZOzoYAkeEuDiwcs-9zoQ1fCyXhn0pCumGFXRilX9KjAPaYTzDvQMEllTy_ZViwTahuKaGtFVamZguBPdaeYC_0oybtTVNQCs8hGnffhNZOMASB-5pFs35MNxsDWTVIQksDee419jqpsbWLkh6rnanILO1O_ihwb-WpvRQByQ5NGpG1-z0MQ6nRpr9wWxUi-DsrVsD38NTMIPc2uei4Ivf6qnGRvOOj0fmsciWuTTEXMaD-5a81mGlzhZc09Q&s=MZBzsFvn0pgWdzvMcRKp6mEVaWPS92cA2pMHeYiiPT8TTrjy8IWtLCWr0FkHUi17isS9Fd6baEkfzLVNQe5Nkz264wZ0nk9iPJvmeQnDeEVNg4AidJkzFMmJA_vs6A8MRXlzu6rvdo5qytAqyKL-5MJ54ir51aSeqI0Eix4CiYY_RDuZeXe8AO9yT9cnVc2buNVxkbCSTE8ubNVp3mvqJvjFhr7o1MCn5yVt3G6hpq65Fsi3pdYcnFjmAX5K3k0E4LzOEBH8uj3-ZB4l4MzN9-cqqbaJDjms_fSjsQcAmYdqK4iVijB3v-rGH40yAuZpp1rAFsl3xm_y5a-dFWhdUA&h=mjDcrdBOGOjhYzeJPAflM86fdWlsvjr3kZrkP3R1MxE + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRSQ09DTlMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638664483225109098&c=MIIHpTCCBo2gAwIBAgITOgM6dTLGpzYZpvPtgQAEAzp1MjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjQwNjI2MDEzMjIxWhcNMjUwNjIxMDEzMjIxWjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPPPKY5bDN03KptFFhiyLIyn86BlrXYFIZWYXA-hY7_WbLyWN0IxcLIUBW_I-9u-YsXOHk9WPMlUYHIFPgHW7A3FsSGfl9dd6YGapKoSSw0NkTpNXM58R54BBgLp7AhiWzK15D9T-XELNSU4Wq9sEeA5T24kazcgS2MUkzELH0I9dwu7g0dwJIuIJkoJjEzg1b1Q3Ie5HKHHNbjottJn7Q5LBS-9QtQyruuwaNTgSJpCoi4PBKVIOTBYL_Nv1wecmKmfWcT0mnhQE9zjhJTbcoN9hKSvAMqsDHtxWUFZosiw3JKIY0zb59CrVGSuOhfN3qaarwN9EAlXLqc4ZyKpsTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBRk_38CqdKjPVylWUR4uuqhbFGeHTAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEATAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAFsx7FtYAzSo98T5ydNFa0ukjPZ6XCQc9zo7ldqy235P_zJAUkaNgCU4EGOzbZJDoMa8mAfhyukL_0GfPeApUaY2e44ZOzoYAkeEuDiwcs-9zoQ1fCyXhn0pCumGFXRilX9KjAPaYTzDvQMEllTy_ZViwTahuKaGtFVamZguBPdaeYC_0oybtTVNQCs8hGnffhNZOMASB-5pFs35MNxsDWTVIQksDee419jqpsbWLkh6rnanILO1O_ihwb-WpvRQByQ5NGpG1-z0MQ6nRpr9wWxUi-DsrVsD38NTMIPc2uei4Ivf6qnGRvOOj0fmsciWuTTEXMaD-5a81mGlzhZc09Q&s=PSrf_YWG1OuvJC08B-lhGBdwXcbG6C7PegY4g449dBG2Idwr2NkDsnL3Lg_QCcxth-iQD788DRflfy11EQdfRe9xXS3d-l8ORdUE1C7zZu4kSM0V7Vlhfk6g_oHhHw6E6Um9y43GzP5AalyLwh-cqd_bRocQeeA_3wpvbC8CFwOPVli-yWY7OjZxC6DCFFgtD-NYM-MFAwipzdhVu6rD_O-KD3Y_ben8mQGlQI1k6R6ZYCWSlXzg9bQRM7Mr5ZewyLMa4MEtJ_zAeunf3-bLAhENc_SfRcntIkxey0ii-MrQC3b6u2Fcpx0dSrWRYy5_HVTNUkK7aguBxBYL0iCtNg&h=9ja1X4GMA-fWOSHy1NckIBAJPfIJA8HcpHi-LaXF28M + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 885FEA593641486AA77850616F293347 Ref B: CO6AA3150220011 Ref C: 2024-11-06T00:05:22Z' + status: 202 Accepted + code: 202 + duration: 57.170608ms + - id: 56 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "4" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRSQ09DTlMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638664482618131001&c=MIIHpTCCBo2gAwIBAgITOgM6dTLGpzYZpvPtgQAEAzp1MjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjQwNjI2MDEzMjIxWhcNMjUwNjIxMDEzMjIxWjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPPPKY5bDN03KptFFhiyLIyn86BlrXYFIZWYXA-hY7_WbLyWN0IxcLIUBW_I-9u-YsXOHk9WPMlUYHIFPgHW7A3FsSGfl9dd6YGapKoSSw0NkTpNXM58R54BBgLp7AhiWzK15D9T-XELNSU4Wq9sEeA5T24kazcgS2MUkzELH0I9dwu7g0dwJIuIJkoJjEzg1b1Q3Ie5HKHHNbjottJn7Q5LBS-9QtQyruuwaNTgSJpCoi4PBKVIOTBYL_Nv1wecmKmfWcT0mnhQE9zjhJTbcoN9hKSvAMqsDHtxWUFZosiw3JKIY0zb59CrVGSuOhfN3qaarwN9EAlXLqc4ZyKpsTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBRk_38CqdKjPVylWUR4uuqhbFGeHTAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEATAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAFsx7FtYAzSo98T5ydNFa0ukjPZ6XCQc9zo7ldqy235P_zJAUkaNgCU4EGOzbZJDoMa8mAfhyukL_0GfPeApUaY2e44ZOzoYAkeEuDiwcs-9zoQ1fCyXhn0pCumGFXRilX9KjAPaYTzDvQMEllTy_ZViwTahuKaGtFVamZguBPdaeYC_0oybtTVNQCs8hGnffhNZOMASB-5pFs35MNxsDWTVIQksDee419jqpsbWLkh6rnanILO1O_ihwb-WpvRQByQ5NGpG1-z0MQ6nRpr9wWxUi-DsrVsD38NTMIPc2uei4Ivf6qnGRvOOj0fmsciWuTTEXMaD-5a81mGlzhZc09Q&s=MZBzsFvn0pgWdzvMcRKp6mEVaWPS92cA2pMHeYiiPT8TTrjy8IWtLCWr0FkHUi17isS9Fd6baEkfzLVNQe5Nkz264wZ0nk9iPJvmeQnDeEVNg4AidJkzFMmJA_vs6A8MRXlzu6rvdo5qytAqyKL-5MJ54ir51aSeqI0Eix4CiYY_RDuZeXe8AO9yT9cnVc2buNVxkbCSTE8ubNVp3mvqJvjFhr7o1MCn5yVt3G6hpq65Fsi3pdYcnFjmAX5K3k0E4LzOEBH8uj3-ZB4l4MzN9-cqqbaJDjms_fSjsQcAmYdqK4iVijB3v-rGH40yAuZpp1rAFsl3xm_y5a-dFWhdUA&h=mjDcrdBOGOjhYzeJPAflM86fdWlsvjr3kZrkP3R1MxE + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRSQ09DTlMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638664483376520284&c=MIIHpTCCBo2gAwIBAgITOgM6dTLGpzYZpvPtgQAEAzp1MjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjQwNjI2MDEzMjIxWhcNMjUwNjIxMDEzMjIxWjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPPPKY5bDN03KptFFhiyLIyn86BlrXYFIZWYXA-hY7_WbLyWN0IxcLIUBW_I-9u-YsXOHk9WPMlUYHIFPgHW7A3FsSGfl9dd6YGapKoSSw0NkTpNXM58R54BBgLp7AhiWzK15D9T-XELNSU4Wq9sEeA5T24kazcgS2MUkzELH0I9dwu7g0dwJIuIJkoJjEzg1b1Q3Ie5HKHHNbjottJn7Q5LBS-9QtQyruuwaNTgSJpCoi4PBKVIOTBYL_Nv1wecmKmfWcT0mnhQE9zjhJTbcoN9hKSvAMqsDHtxWUFZosiw3JKIY0zb59CrVGSuOhfN3qaarwN9EAlXLqc4ZyKpsTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBRk_38CqdKjPVylWUR4uuqhbFGeHTAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEATAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAFsx7FtYAzSo98T5ydNFa0ukjPZ6XCQc9zo7ldqy235P_zJAUkaNgCU4EGOzbZJDoMa8mAfhyukL_0GfPeApUaY2e44ZOzoYAkeEuDiwcs-9zoQ1fCyXhn0pCumGFXRilX9KjAPaYTzDvQMEllTy_ZViwTahuKaGtFVamZguBPdaeYC_0oybtTVNQCs8hGnffhNZOMASB-5pFs35MNxsDWTVIQksDee419jqpsbWLkh6rnanILO1O_ihwb-WpvRQByQ5NGpG1-z0MQ6nRpr9wWxUi-DsrVsD38NTMIPc2uei4Ivf6qnGRvOOj0fmsciWuTTEXMaD-5a81mGlzhZc09Q&s=NkWH5OWJ_yo8ieULWDIX_XF1Vmlc4w4vU9jhikGqbKbEKhC_hvnCPDEFnbKcf4ncs6Kxu6t7t3Z0l_MeHtmcS_oicZeBKghM5pypEcC-NMLg9S7jtbCyfydSdiZvpkmCYNXWNVkOcXvxKAHVBn8QKtzMQ-xJmwPzEoQn2aM9lS3NjM7-5OOLyZxdVKDVX_WzCCRixSij4R2DqUtfXc71hbsKg_Lw2eSPxD96jb_wWMdzunqBb28tJ7ZM3T_9hNQXvl4JapypWzib7w_LqaBH_8N3UxtUrK69kLdBgueX9jXJA0FjXEOkpcTxVidWjC1xZ5fkXcOXSgAOh5AoUtONFA&h=FdFczFhvN_DG9PYBvVD4lTS4ywMpVzPio3U8HwN6S8I + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 9F6102F08D0E421ABD1343E68F52509E Ref B: CO6AA3150220011 Ref C: 2024-11-06T00:05:37Z' + status: 202 Accepted + code: 202 + duration: 77.204449ms + - id: 57 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "5" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRSQ09DTlMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638664482618131001&c=MIIHpTCCBo2gAwIBAgITOgM6dTLGpzYZpvPtgQAEAzp1MjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjQwNjI2MDEzMjIxWhcNMjUwNjIxMDEzMjIxWjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPPPKY5bDN03KptFFhiyLIyn86BlrXYFIZWYXA-hY7_WbLyWN0IxcLIUBW_I-9u-YsXOHk9WPMlUYHIFPgHW7A3FsSGfl9dd6YGapKoSSw0NkTpNXM58R54BBgLp7AhiWzK15D9T-XELNSU4Wq9sEeA5T24kazcgS2MUkzELH0I9dwu7g0dwJIuIJkoJjEzg1b1Q3Ie5HKHHNbjottJn7Q5LBS-9QtQyruuwaNTgSJpCoi4PBKVIOTBYL_Nv1wecmKmfWcT0mnhQE9zjhJTbcoN9hKSvAMqsDHtxWUFZosiw3JKIY0zb59CrVGSuOhfN3qaarwN9EAlXLqc4ZyKpsTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBRk_38CqdKjPVylWUR4uuqhbFGeHTAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEATAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAFsx7FtYAzSo98T5ydNFa0ukjPZ6XCQc9zo7ldqy235P_zJAUkaNgCU4EGOzbZJDoMa8mAfhyukL_0GfPeApUaY2e44ZOzoYAkeEuDiwcs-9zoQ1fCyXhn0pCumGFXRilX9KjAPaYTzDvQMEllTy_ZViwTahuKaGtFVamZguBPdaeYC_0oybtTVNQCs8hGnffhNZOMASB-5pFs35MNxsDWTVIQksDee419jqpsbWLkh6rnanILO1O_ihwb-WpvRQByQ5NGpG1-z0MQ6nRpr9wWxUi-DsrVsD38NTMIPc2uei4Ivf6qnGRvOOj0fmsciWuTTEXMaD-5a81mGlzhZc09Q&s=MZBzsFvn0pgWdzvMcRKp6mEVaWPS92cA2pMHeYiiPT8TTrjy8IWtLCWr0FkHUi17isS9Fd6baEkfzLVNQe5Nkz264wZ0nk9iPJvmeQnDeEVNg4AidJkzFMmJA_vs6A8MRXlzu6rvdo5qytAqyKL-5MJ54ir51aSeqI0Eix4CiYY_RDuZeXe8AO9yT9cnVc2buNVxkbCSTE8ubNVp3mvqJvjFhr7o1MCn5yVt3G6hpq65Fsi3pdYcnFjmAX5K3k0E4LzOEBH8uj3-ZB4l4MzN9-cqqbaJDjms_fSjsQcAmYdqK4iVijB3v-rGH40yAuZpp1rAFsl3xm_y5a-dFWhdUA&h=mjDcrdBOGOjhYzeJPAflM86fdWlsvjr3kZrkP3R1MxE + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRSQ09DTlMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638664483528216293&c=MIIHpTCCBo2gAwIBAgITOgM6dTLGpzYZpvPtgQAEAzp1MjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjQwNjI2MDEzMjIxWhcNMjUwNjIxMDEzMjIxWjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPPPKY5bDN03KptFFhiyLIyn86BlrXYFIZWYXA-hY7_WbLyWN0IxcLIUBW_I-9u-YsXOHk9WPMlUYHIFPgHW7A3FsSGfl9dd6YGapKoSSw0NkTpNXM58R54BBgLp7AhiWzK15D9T-XELNSU4Wq9sEeA5T24kazcgS2MUkzELH0I9dwu7g0dwJIuIJkoJjEzg1b1Q3Ie5HKHHNbjottJn7Q5LBS-9QtQyruuwaNTgSJpCoi4PBKVIOTBYL_Nv1wecmKmfWcT0mnhQE9zjhJTbcoN9hKSvAMqsDHtxWUFZosiw3JKIY0zb59CrVGSuOhfN3qaarwN9EAlXLqc4ZyKpsTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBRk_38CqdKjPVylWUR4uuqhbFGeHTAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEATAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAFsx7FtYAzSo98T5ydNFa0ukjPZ6XCQc9zo7ldqy235P_zJAUkaNgCU4EGOzbZJDoMa8mAfhyukL_0GfPeApUaY2e44ZOzoYAkeEuDiwcs-9zoQ1fCyXhn0pCumGFXRilX9KjAPaYTzDvQMEllTy_ZViwTahuKaGtFVamZguBPdaeYC_0oybtTVNQCs8hGnffhNZOMASB-5pFs35MNxsDWTVIQksDee419jqpsbWLkh6rnanILO1O_ihwb-WpvRQByQ5NGpG1-z0MQ6nRpr9wWxUi-DsrVsD38NTMIPc2uei4Ivf6qnGRvOOj0fmsciWuTTEXMaD-5a81mGlzhZc09Q&s=xw-D21VXrFPqtSerY-R0Kzq6WWmcc52qon-Mpt0fB9EMzri77fomMCvAmcIG8FJSBSCgFuhGXbqxsXgE_uGkCn07vW1YKtBOTtBDi5Dp_g5x1Jz1ryx2KVQRvoeDcu3Z2q7jpiUW7ILl2wDryyltftxNapZ9u1OVQ2zO6c9OdcK4y4YiJiNwkaT4-IjuKzJcIoIP87M6orC4Il7_HzYTcFyLdCyzX8gRvPaVjDwuZ6udp5UT0ElIoXBbkHhrKhd0dv7EKXqGqx_U7GH5NcJdJVmlSU-YLw4sGjcCLpDxc9FwX91hokyIFialktNpkauErsQmzudcsGeMCjVeUM2XvQ&h=IG3YCzuyc05sLQeAtmyrXAdJXtG0E4MW3t9bpG51HnY + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 83BB3354BE2E4086996AD29EEC1FA290 Ref B: CO6AA3150220011 Ref C: 2024-11-06T00:05:52Z' + status: 202 Accepted + code: 202 + duration: 86.55667ms + - id: 58 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "6" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRSQ09DTlMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638664482618131001&c=MIIHpTCCBo2gAwIBAgITOgM6dTLGpzYZpvPtgQAEAzp1MjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjQwNjI2MDEzMjIxWhcNMjUwNjIxMDEzMjIxWjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPPPKY5bDN03KptFFhiyLIyn86BlrXYFIZWYXA-hY7_WbLyWN0IxcLIUBW_I-9u-YsXOHk9WPMlUYHIFPgHW7A3FsSGfl9dd6YGapKoSSw0NkTpNXM58R54BBgLp7AhiWzK15D9T-XELNSU4Wq9sEeA5T24kazcgS2MUkzELH0I9dwu7g0dwJIuIJkoJjEzg1b1Q3Ie5HKHHNbjottJn7Q5LBS-9QtQyruuwaNTgSJpCoi4PBKVIOTBYL_Nv1wecmKmfWcT0mnhQE9zjhJTbcoN9hKSvAMqsDHtxWUFZosiw3JKIY0zb59CrVGSuOhfN3qaarwN9EAlXLqc4ZyKpsTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBRk_38CqdKjPVylWUR4uuqhbFGeHTAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEATAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAFsx7FtYAzSo98T5ydNFa0ukjPZ6XCQc9zo7ldqy235P_zJAUkaNgCU4EGOzbZJDoMa8mAfhyukL_0GfPeApUaY2e44ZOzoYAkeEuDiwcs-9zoQ1fCyXhn0pCumGFXRilX9KjAPaYTzDvQMEllTy_ZViwTahuKaGtFVamZguBPdaeYC_0oybtTVNQCs8hGnffhNZOMASB-5pFs35MNxsDWTVIQksDee419jqpsbWLkh6rnanILO1O_ihwb-WpvRQByQ5NGpG1-z0MQ6nRpr9wWxUi-DsrVsD38NTMIPc2uei4Ivf6qnGRvOOj0fmsciWuTTEXMaD-5a81mGlzhZc09Q&s=MZBzsFvn0pgWdzvMcRKp6mEVaWPS92cA2pMHeYiiPT8TTrjy8IWtLCWr0FkHUi17isS9Fd6baEkfzLVNQe5Nkz264wZ0nk9iPJvmeQnDeEVNg4AidJkzFMmJA_vs6A8MRXlzu6rvdo5qytAqyKL-5MJ54ir51aSeqI0Eix4CiYY_RDuZeXe8AO9yT9cnVc2buNVxkbCSTE8ubNVp3mvqJvjFhr7o1MCn5yVt3G6hpq65Fsi3pdYcnFjmAX5K3k0E4LzOEBH8uj3-ZB4l4MzN9-cqqbaJDjms_fSjsQcAmYdqK4iVijB3v-rGH40yAuZpp1rAFsl3xm_y5a-dFWhdUA&h=mjDcrdBOGOjhYzeJPAflM86fdWlsvjr3kZrkP3R1MxE + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRSQ09DTlMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638664483679549086&c=MIIHpTCCBo2gAwIBAgITOgM6dTLGpzYZpvPtgQAEAzp1MjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjQwNjI2MDEzMjIxWhcNMjUwNjIxMDEzMjIxWjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPPPKY5bDN03KptFFhiyLIyn86BlrXYFIZWYXA-hY7_WbLyWN0IxcLIUBW_I-9u-YsXOHk9WPMlUYHIFPgHW7A3FsSGfl9dd6YGapKoSSw0NkTpNXM58R54BBgLp7AhiWzK15D9T-XELNSU4Wq9sEeA5T24kazcgS2MUkzELH0I9dwu7g0dwJIuIJkoJjEzg1b1Q3Ie5HKHHNbjottJn7Q5LBS-9QtQyruuwaNTgSJpCoi4PBKVIOTBYL_Nv1wecmKmfWcT0mnhQE9zjhJTbcoN9hKSvAMqsDHtxWUFZosiw3JKIY0zb59CrVGSuOhfN3qaarwN9EAlXLqc4ZyKpsTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBRk_38CqdKjPVylWUR4uuqhbFGeHTAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEATAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAFsx7FtYAzSo98T5ydNFa0ukjPZ6XCQc9zo7ldqy235P_zJAUkaNgCU4EGOzbZJDoMa8mAfhyukL_0GfPeApUaY2e44ZOzoYAkeEuDiwcs-9zoQ1fCyXhn0pCumGFXRilX9KjAPaYTzDvQMEllTy_ZViwTahuKaGtFVamZguBPdaeYC_0oybtTVNQCs8hGnffhNZOMASB-5pFs35MNxsDWTVIQksDee419jqpsbWLkh6rnanILO1O_ihwb-WpvRQByQ5NGpG1-z0MQ6nRpr9wWxUi-DsrVsD38NTMIPc2uei4Ivf6qnGRvOOj0fmsciWuTTEXMaD-5a81mGlzhZc09Q&s=ncgHsQdiGImV1mY_dguFpshSuFX5NvqySrzAz16PhEZ_oVtSyuhoy6uwJbC5Xne8JdyQ9Vq3hCyqmtaUBCdkPolPxvg0ByU0P0pHR4VCn6Ex_65QbHdR9pkpsZ115IGDJssGrO9zywoAtqPmoxoDuLDAiu36c07vHxS2vLTz6b6csuFFEYos2JvEBMDjDTQmIwHQkJd-G5vTH_laq6JKmGYykB7-Pdd3B98ZBDNqqJ3amJPDfsY4zACjWuPlacVMWaqq5PXEXUJ4qjKWDu_eA8_jfKMnoAy2oh_8YZKvLz1aUxuNPPoSeSo1D_A5GFKqQrzFE9Z5ogkbMuDt1IN71Q&h=JXyRqhsdy0uHeleuqzEWVKMbN7esQvNozPAinTFH1xE + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 16757F8C609F47DEBE7B8A6E43462C6E Ref B: CO6AA3150220011 Ref C: 2024-11-06T00:06:07Z' + status: 202 Accepted + code: 202 + duration: 32.265265ms + - id: 59 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "7" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRSQ09DTlMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638664482618131001&c=MIIHpTCCBo2gAwIBAgITOgM6dTLGpzYZpvPtgQAEAzp1MjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjQwNjI2MDEzMjIxWhcNMjUwNjIxMDEzMjIxWjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPPPKY5bDN03KptFFhiyLIyn86BlrXYFIZWYXA-hY7_WbLyWN0IxcLIUBW_I-9u-YsXOHk9WPMlUYHIFPgHW7A3FsSGfl9dd6YGapKoSSw0NkTpNXM58R54BBgLp7AhiWzK15D9T-XELNSU4Wq9sEeA5T24kazcgS2MUkzELH0I9dwu7g0dwJIuIJkoJjEzg1b1Q3Ie5HKHHNbjottJn7Q5LBS-9QtQyruuwaNTgSJpCoi4PBKVIOTBYL_Nv1wecmKmfWcT0mnhQE9zjhJTbcoN9hKSvAMqsDHtxWUFZosiw3JKIY0zb59CrVGSuOhfN3qaarwN9EAlXLqc4ZyKpsTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBRk_38CqdKjPVylWUR4uuqhbFGeHTAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEATAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAFsx7FtYAzSo98T5ydNFa0ukjPZ6XCQc9zo7ldqy235P_zJAUkaNgCU4EGOzbZJDoMa8mAfhyukL_0GfPeApUaY2e44ZOzoYAkeEuDiwcs-9zoQ1fCyXhn0pCumGFXRilX9KjAPaYTzDvQMEllTy_ZViwTahuKaGtFVamZguBPdaeYC_0oybtTVNQCs8hGnffhNZOMASB-5pFs35MNxsDWTVIQksDee419jqpsbWLkh6rnanILO1O_ihwb-WpvRQByQ5NGpG1-z0MQ6nRpr9wWxUi-DsrVsD38NTMIPc2uei4Ivf6qnGRvOOj0fmsciWuTTEXMaD-5a81mGlzhZc09Q&s=MZBzsFvn0pgWdzvMcRKp6mEVaWPS92cA2pMHeYiiPT8TTrjy8IWtLCWr0FkHUi17isS9Fd6baEkfzLVNQe5Nkz264wZ0nk9iPJvmeQnDeEVNg4AidJkzFMmJA_vs6A8MRXlzu6rvdo5qytAqyKL-5MJ54ir51aSeqI0Eix4CiYY_RDuZeXe8AO9yT9cnVc2buNVxkbCSTE8ubNVp3mvqJvjFhr7o1MCn5yVt3G6hpq65Fsi3pdYcnFjmAX5K3k0E4LzOEBH8uj3-ZB4l4MzN9-cqqbaJDjms_fSjsQcAmYdqK4iVijB3v-rGH40yAuZpp1rAFsl3xm_y5a-dFWhdUA&h=mjDcrdBOGOjhYzeJPAflM86fdWlsvjr3kZrkP3R1MxE + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRSQ09DTlMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638664483830247101&c=MIIHhzCCBm-gAwIBAgITHgVxvH65_BmPrKxDIgAABXG8fjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDYwHhcNMjQwOTI1MTkzNzA4WhcNMjUwMzI0MTkzNzA4WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKlHcl7gn1b6aLS1hLftgvWE8n-Z9liLRsNGgjYfyY_1N6TVDEHJTtctREIaCRDPEC-hePKBe7OS45JIAD6cl5AGU_dQlGd-3bBZeVfAPJFUnC910pwhDca2OXlf4LyB1KSofXaA4xDB6G7cHXRld_URCnol2LHQEGox0vBzaPz30AUB0ZhAatZgqhXy5qnroV3zbEZC3m4qLDSnG8QNEnw8Wv5GpYH_MxK9mgDPwoIObeDBnjtQonKzvItZ8jXwF-wEmcVAnhr6Dvq3rWdBY9616kXvQ7E3eEvGqMn9W_NZTAqlaanfaACfITkIJZkgsSoJGw5USCMC-vzAb1Ms0j0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MB0GA1UdDgQWBBTELag1gS_F07Xj1us9l4ySYrHYYjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBTxRmjG8cPwKy19i2rhsvm-NfzRQTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBABJx3Gb3LtjBZ4x70SioNIk8ap3qwt2DMEu9dXEhi28jFB87BBsTCkNeuhGlLzHm7Ykx6xpUjJp4F2_qmJKrQjDH4U0VYT_yc8Ow5mxrFJcewgTXzwmwqXOodok5WWOUVP4Mmdp_O_3je1dVgw4TrdrypIZImBn2jVDrXQ79fFXTR-Td0XMOtWPDwreoMRagD769QW4hlGtVaZCqOAzyomfSc8PhDzKhllbZQrmP-UgiLU14SDsxwq6AHG413ClcJIDGfEsEKwlUyIIAKHDwSdbO41Zs7ZQG5k_eBlGTkr-5Zye8vT7OeGf1_mGZSme6otyTUL_3-6gJ282qCPXoflc&s=m9CRLxBUOvFYEBo1iFU2axfRIoMCsFGO5ZfW3ns0bOZq2dFl8b-_fuZuRuc6PxNwqMadufC7Gp1cuyEA4QjRC_fsTNQTgA0GRYynlwDG2SKYduOaSozuopYcZR2EEg2by5KswCMKXm6TGl_3SKS_7qvvpKstaFwV9fRCzHDf6wcGDpvaAmGiSRTVB1gSECu8qYqgpsWVf4WdVnTwhSYB0WvxFNgev3eXK7kr3oopF6la9gBz9W4Jpfo6kOIGqTwBA3G7rErXMYvxqz-l0Gt7GQgFP2kde_FGBiPSzqjhXwwrZvN6lG24c2UuXj9GK9NmQtEb4GZGAuFtDlzlyUQAsw&h=x0iy6r_u706bSpkfmn16Lxlmm-FXP9xMWHWhwFNC3tw + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 47D40FE64487411FADD293CF29C5941E Ref B: CO6AA3150220011 Ref C: 2024-11-06T00:06:23Z' + status: 202 Accepted + code: 202 + duration: 38.402579ms + - id: 60 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "8" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRSQ09DTlMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638664482618131001&c=MIIHpTCCBo2gAwIBAgITOgM6dTLGpzYZpvPtgQAEAzp1MjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjQwNjI2MDEzMjIxWhcNMjUwNjIxMDEzMjIxWjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPPPKY5bDN03KptFFhiyLIyn86BlrXYFIZWYXA-hY7_WbLyWN0IxcLIUBW_I-9u-YsXOHk9WPMlUYHIFPgHW7A3FsSGfl9dd6YGapKoSSw0NkTpNXM58R54BBgLp7AhiWzK15D9T-XELNSU4Wq9sEeA5T24kazcgS2MUkzELH0I9dwu7g0dwJIuIJkoJjEzg1b1Q3Ie5HKHHNbjottJn7Q5LBS-9QtQyruuwaNTgSJpCoi4PBKVIOTBYL_Nv1wecmKmfWcT0mnhQE9zjhJTbcoN9hKSvAMqsDHtxWUFZosiw3JKIY0zb59CrVGSuOhfN3qaarwN9EAlXLqc4ZyKpsTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBRk_38CqdKjPVylWUR4uuqhbFGeHTAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEATAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAFsx7FtYAzSo98T5ydNFa0ukjPZ6XCQc9zo7ldqy235P_zJAUkaNgCU4EGOzbZJDoMa8mAfhyukL_0GfPeApUaY2e44ZOzoYAkeEuDiwcs-9zoQ1fCyXhn0pCumGFXRilX9KjAPaYTzDvQMEllTy_ZViwTahuKaGtFVamZguBPdaeYC_0oybtTVNQCs8hGnffhNZOMASB-5pFs35MNxsDWTVIQksDee419jqpsbWLkh6rnanILO1O_ihwb-WpvRQByQ5NGpG1-z0MQ6nRpr9wWxUi-DsrVsD38NTMIPc2uei4Ivf6qnGRvOOj0fmsciWuTTEXMaD-5a81mGlzhZc09Q&s=MZBzsFvn0pgWdzvMcRKp6mEVaWPS92cA2pMHeYiiPT8TTrjy8IWtLCWr0FkHUi17isS9Fd6baEkfzLVNQe5Nkz264wZ0nk9iPJvmeQnDeEVNg4AidJkzFMmJA_vs6A8MRXlzu6rvdo5qytAqyKL-5MJ54ir51aSeqI0Eix4CiYY_RDuZeXe8AO9yT9cnVc2buNVxkbCSTE8ubNVp3mvqJvjFhr7o1MCn5yVt3G6hpq65Fsi3pdYcnFjmAX5K3k0E4LzOEBH8uj3-ZB4l4MzN9-cqqbaJDjms_fSjsQcAmYdqK4iVijB3v-rGH40yAuZpp1rAFsl3xm_y5a-dFWhdUA&h=mjDcrdBOGOjhYzeJPAflM86fdWlsvjr3kZrkP3R1MxE + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRSQ09DTlMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638664483981806686&c=MIIHpTCCBo2gAwIBAgITOgM6dTLGpzYZpvPtgQAEAzp1MjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjQwNjI2MDEzMjIxWhcNMjUwNjIxMDEzMjIxWjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPPPKY5bDN03KptFFhiyLIyn86BlrXYFIZWYXA-hY7_WbLyWN0IxcLIUBW_I-9u-YsXOHk9WPMlUYHIFPgHW7A3FsSGfl9dd6YGapKoSSw0NkTpNXM58R54BBgLp7AhiWzK15D9T-XELNSU4Wq9sEeA5T24kazcgS2MUkzELH0I9dwu7g0dwJIuIJkoJjEzg1b1Q3Ie5HKHHNbjottJn7Q5LBS-9QtQyruuwaNTgSJpCoi4PBKVIOTBYL_Nv1wecmKmfWcT0mnhQE9zjhJTbcoN9hKSvAMqsDHtxWUFZosiw3JKIY0zb59CrVGSuOhfN3qaarwN9EAlXLqc4ZyKpsTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBRk_38CqdKjPVylWUR4uuqhbFGeHTAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEATAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAFsx7FtYAzSo98T5ydNFa0ukjPZ6XCQc9zo7ldqy235P_zJAUkaNgCU4EGOzbZJDoMa8mAfhyukL_0GfPeApUaY2e44ZOzoYAkeEuDiwcs-9zoQ1fCyXhn0pCumGFXRilX9KjAPaYTzDvQMEllTy_ZViwTahuKaGtFVamZguBPdaeYC_0oybtTVNQCs8hGnffhNZOMASB-5pFs35MNxsDWTVIQksDee419jqpsbWLkh6rnanILO1O_ihwb-WpvRQByQ5NGpG1-z0MQ6nRpr9wWxUi-DsrVsD38NTMIPc2uei4Ivf6qnGRvOOj0fmsciWuTTEXMaD-5a81mGlzhZc09Q&s=VknqpBf5r7dcSRDYKyLKjM34Rpeae__B-V_T0Stbo_QedAeAbNdR5PLL_Gg7Vv8IP817kM4HvwhXJAx4v96U4fxL7u7jv7b8JwyzkEv1TzZueCM_KGziZGLZRjPYMYJkMn7Tjb6c1PrxR4hNmIr2DnuiarWd_BU_KUDTSNiSimiAMRcAPadCStNnS8UtzVA4vACIBMCbtB_YjKMQegiMfHOgcN90GxN2aGbspWIjA2JS6PrQMkzqFAjdKAUkZIDREB6o5-iAH7lUKba6DfHf7pQwuQCQZ9zDETUP5-8HwnxFSU2GWQLr_08PeCVktFHMEZyrpl0OE63dYneG9300Sg&h=uKFj2QjN6n4HyAoGX8zQGbzswgzvzMEPC1dJSwWgFJ4 + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: D3198470933F40E09D86374FD7EF4B16 Ref B: CO6AA3150220011 Ref C: 2024-11-06T00:06:38Z' + status: 202 Accepted + code: 202 + duration: 105.663121ms + - id: 61 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "9" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRSQ09DTlMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638664482618131001&c=MIIHpTCCBo2gAwIBAgITOgM6dTLGpzYZpvPtgQAEAzp1MjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjQwNjI2MDEzMjIxWhcNMjUwNjIxMDEzMjIxWjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPPPKY5bDN03KptFFhiyLIyn86BlrXYFIZWYXA-hY7_WbLyWN0IxcLIUBW_I-9u-YsXOHk9WPMlUYHIFPgHW7A3FsSGfl9dd6YGapKoSSw0NkTpNXM58R54BBgLp7AhiWzK15D9T-XELNSU4Wq9sEeA5T24kazcgS2MUkzELH0I9dwu7g0dwJIuIJkoJjEzg1b1Q3Ie5HKHHNbjottJn7Q5LBS-9QtQyruuwaNTgSJpCoi4PBKVIOTBYL_Nv1wecmKmfWcT0mnhQE9zjhJTbcoN9hKSvAMqsDHtxWUFZosiw3JKIY0zb59CrVGSuOhfN3qaarwN9EAlXLqc4ZyKpsTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBRk_38CqdKjPVylWUR4uuqhbFGeHTAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEATAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAFsx7FtYAzSo98T5ydNFa0ukjPZ6XCQc9zo7ldqy235P_zJAUkaNgCU4EGOzbZJDoMa8mAfhyukL_0GfPeApUaY2e44ZOzoYAkeEuDiwcs-9zoQ1fCyXhn0pCumGFXRilX9KjAPaYTzDvQMEllTy_ZViwTahuKaGtFVamZguBPdaeYC_0oybtTVNQCs8hGnffhNZOMASB-5pFs35MNxsDWTVIQksDee419jqpsbWLkh6rnanILO1O_ihwb-WpvRQByQ5NGpG1-z0MQ6nRpr9wWxUi-DsrVsD38NTMIPc2uei4Ivf6qnGRvOOj0fmsciWuTTEXMaD-5a81mGlzhZc09Q&s=MZBzsFvn0pgWdzvMcRKp6mEVaWPS92cA2pMHeYiiPT8TTrjy8IWtLCWr0FkHUi17isS9Fd6baEkfzLVNQe5Nkz264wZ0nk9iPJvmeQnDeEVNg4AidJkzFMmJA_vs6A8MRXlzu6rvdo5qytAqyKL-5MJ54ir51aSeqI0Eix4CiYY_RDuZeXe8AO9yT9cnVc2buNVxkbCSTE8ubNVp3mvqJvjFhr7o1MCn5yVt3G6hpq65Fsi3pdYcnFjmAX5K3k0E4LzOEBH8uj3-ZB4l4MzN9-cqqbaJDjms_fSjsQcAmYdqK4iVijB3v-rGH40yAuZpp1rAFsl3xm_y5a-dFWhdUA&h=mjDcrdBOGOjhYzeJPAflM86fdWlsvjr3kZrkP3R1MxE + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRSQ09DTlMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638664484133390438&c=MIIHpTCCBo2gAwIBAgITOgM6dTLGpzYZpvPtgQAEAzp1MjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjQwNjI2MDEzMjIxWhcNMjUwNjIxMDEzMjIxWjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPPPKY5bDN03KptFFhiyLIyn86BlrXYFIZWYXA-hY7_WbLyWN0IxcLIUBW_I-9u-YsXOHk9WPMlUYHIFPgHW7A3FsSGfl9dd6YGapKoSSw0NkTpNXM58R54BBgLp7AhiWzK15D9T-XELNSU4Wq9sEeA5T24kazcgS2MUkzELH0I9dwu7g0dwJIuIJkoJjEzg1b1Q3Ie5HKHHNbjottJn7Q5LBS-9QtQyruuwaNTgSJpCoi4PBKVIOTBYL_Nv1wecmKmfWcT0mnhQE9zjhJTbcoN9hKSvAMqsDHtxWUFZosiw3JKIY0zb59CrVGSuOhfN3qaarwN9EAlXLqc4ZyKpsTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBRk_38CqdKjPVylWUR4uuqhbFGeHTAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEATAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAFsx7FtYAzSo98T5ydNFa0ukjPZ6XCQc9zo7ldqy235P_zJAUkaNgCU4EGOzbZJDoMa8mAfhyukL_0GfPeApUaY2e44ZOzoYAkeEuDiwcs-9zoQ1fCyXhn0pCumGFXRilX9KjAPaYTzDvQMEllTy_ZViwTahuKaGtFVamZguBPdaeYC_0oybtTVNQCs8hGnffhNZOMASB-5pFs35MNxsDWTVIQksDee419jqpsbWLkh6rnanILO1O_ihwb-WpvRQByQ5NGpG1-z0MQ6nRpr9wWxUi-DsrVsD38NTMIPc2uei4Ivf6qnGRvOOj0fmsciWuTTEXMaD-5a81mGlzhZc09Q&s=jHAvJWy-lM30owVRLlUZXME6Ss6TXu7eN2TMAuDyooL9BGIdjvZipF8Xc6uj0vkJBXeKMEaTVsX2RcDPfQkskXZpmdy1Jbqu9pOVogXdmLEvPQ93Slt2ITsaAoSx9w-kp3DBZmRl2qTmSb48_QW9ObCnur75ArvV0HpbD_1e5w2g_xsU-hSoaXhmN0b74cibSJ0cR9l9VK5Y2Gn9XAMfz2h79QTo-VOLk-5QhH8g8jtuwap07W0MG0gwEXyR0cMuNC4Ka3LjW4ursBIko_DWa8GUfESyxT0vk8JsfBOPz8leWw5g8wQHo47W4zBIjF2bsEo6Lpf2CxJqYGnR_p8y7w&h=vMS6zWSgvtvD_QmK2C5i8hEH1SBNkAwhX5jwpElKxJY + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 1160AA7ECCFC4BDA83850E1E40BBA845 Ref B: CO6AA3150220011 Ref C: 2024-11-06T00:06:53Z' + status: 202 Accepted + code: 202 + duration: 41.173888ms + - id: 62 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "10" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRSQ09DTlMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638664482618131001&c=MIIHpTCCBo2gAwIBAgITOgM6dTLGpzYZpvPtgQAEAzp1MjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjQwNjI2MDEzMjIxWhcNMjUwNjIxMDEzMjIxWjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPPPKY5bDN03KptFFhiyLIyn86BlrXYFIZWYXA-hY7_WbLyWN0IxcLIUBW_I-9u-YsXOHk9WPMlUYHIFPgHW7A3FsSGfl9dd6YGapKoSSw0NkTpNXM58R54BBgLp7AhiWzK15D9T-XELNSU4Wq9sEeA5T24kazcgS2MUkzELH0I9dwu7g0dwJIuIJkoJjEzg1b1Q3Ie5HKHHNbjottJn7Q5LBS-9QtQyruuwaNTgSJpCoi4PBKVIOTBYL_Nv1wecmKmfWcT0mnhQE9zjhJTbcoN9hKSvAMqsDHtxWUFZosiw3JKIY0zb59CrVGSuOhfN3qaarwN9EAlXLqc4ZyKpsTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBRk_38CqdKjPVylWUR4uuqhbFGeHTAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEATAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAFsx7FtYAzSo98T5ydNFa0ukjPZ6XCQc9zo7ldqy235P_zJAUkaNgCU4EGOzbZJDoMa8mAfhyukL_0GfPeApUaY2e44ZOzoYAkeEuDiwcs-9zoQ1fCyXhn0pCumGFXRilX9KjAPaYTzDvQMEllTy_ZViwTahuKaGtFVamZguBPdaeYC_0oybtTVNQCs8hGnffhNZOMASB-5pFs35MNxsDWTVIQksDee419jqpsbWLkh6rnanILO1O_ihwb-WpvRQByQ5NGpG1-z0MQ6nRpr9wWxUi-DsrVsD38NTMIPc2uei4Ivf6qnGRvOOj0fmsciWuTTEXMaD-5a81mGlzhZc09Q&s=MZBzsFvn0pgWdzvMcRKp6mEVaWPS92cA2pMHeYiiPT8TTrjy8IWtLCWr0FkHUi17isS9Fd6baEkfzLVNQe5Nkz264wZ0nk9iPJvmeQnDeEVNg4AidJkzFMmJA_vs6A8MRXlzu6rvdo5qytAqyKL-5MJ54ir51aSeqI0Eix4CiYY_RDuZeXe8AO9yT9cnVc2buNVxkbCSTE8ubNVp3mvqJvjFhr7o1MCn5yVt3G6hpq65Fsi3pdYcnFjmAX5K3k0E4LzOEBH8uj3-ZB4l4MzN9-cqqbaJDjms_fSjsQcAmYdqK4iVijB3v-rGH40yAuZpp1rAFsl3xm_y5a-dFWhdUA&h=mjDcrdBOGOjhYzeJPAflM86fdWlsvjr3kZrkP3R1MxE + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRSQ09DTlMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638664484284284252&c=MIIHpTCCBo2gAwIBAgITOgM6dTLGpzYZpvPtgQAEAzp1MjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjQwNjI2MDEzMjIxWhcNMjUwNjIxMDEzMjIxWjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPPPKY5bDN03KptFFhiyLIyn86BlrXYFIZWYXA-hY7_WbLyWN0IxcLIUBW_I-9u-YsXOHk9WPMlUYHIFPgHW7A3FsSGfl9dd6YGapKoSSw0NkTpNXM58R54BBgLp7AhiWzK15D9T-XELNSU4Wq9sEeA5T24kazcgS2MUkzELH0I9dwu7g0dwJIuIJkoJjEzg1b1Q3Ie5HKHHNbjottJn7Q5LBS-9QtQyruuwaNTgSJpCoi4PBKVIOTBYL_Nv1wecmKmfWcT0mnhQE9zjhJTbcoN9hKSvAMqsDHtxWUFZosiw3JKIY0zb59CrVGSuOhfN3qaarwN9EAlXLqc4ZyKpsTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBRk_38CqdKjPVylWUR4uuqhbFGeHTAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEATAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAFsx7FtYAzSo98T5ydNFa0ukjPZ6XCQc9zo7ldqy235P_zJAUkaNgCU4EGOzbZJDoMa8mAfhyukL_0GfPeApUaY2e44ZOzoYAkeEuDiwcs-9zoQ1fCyXhn0pCumGFXRilX9KjAPaYTzDvQMEllTy_ZViwTahuKaGtFVamZguBPdaeYC_0oybtTVNQCs8hGnffhNZOMASB-5pFs35MNxsDWTVIQksDee419jqpsbWLkh6rnanILO1O_ihwb-WpvRQByQ5NGpG1-z0MQ6nRpr9wWxUi-DsrVsD38NTMIPc2uei4Ivf6qnGRvOOj0fmsciWuTTEXMaD-5a81mGlzhZc09Q&s=SN-mIvX6bAGomxkLTWdxiCoK5KnSdkuho67pnDoQCyieXejRahHBoJ3R5DLMMzIEd8bspLyja63hh12NweeFfCXkFZOjM86u0kNZla4K0ZzO-kzecg15p81XPiufhQduYabEd0LsmjBxoMY8XXqrR9jTVpYDkW_C19u6PyzvWwqBJFsHUOcKnF1xC6bxupdZ1HSb-lC357TN0_xTUI6jarPwmrtpAHYNgb13omaTza02zbsVnT72QnwaMXIPoDQt_6smuQHk7VjGWtt7ShhkLFeMpHDhg6L35e9kHUv2U_1i9Fr1BkFCs8m_l5xvyGpOp0Kqcw-ATUeIVt_R0NK0pQ&h=hXsg_PMl3C-dImM2mAuuWc-wYlroairNPxgiPXBjiik + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 0EBF12BEA3DC43A7BF52C9DF89DB9CDE Ref B: CO6AA3150220011 Ref C: 2024-11-06T00:07:08Z' + status: 202 Accepted + code: 202 + duration: 109.899238ms + - id: 63 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "11" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRSQ09DTlMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638664482618131001&c=MIIHpTCCBo2gAwIBAgITOgM6dTLGpzYZpvPtgQAEAzp1MjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjQwNjI2MDEzMjIxWhcNMjUwNjIxMDEzMjIxWjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPPPKY5bDN03KptFFhiyLIyn86BlrXYFIZWYXA-hY7_WbLyWN0IxcLIUBW_I-9u-YsXOHk9WPMlUYHIFPgHW7A3FsSGfl9dd6YGapKoSSw0NkTpNXM58R54BBgLp7AhiWzK15D9T-XELNSU4Wq9sEeA5T24kazcgS2MUkzELH0I9dwu7g0dwJIuIJkoJjEzg1b1Q3Ie5HKHHNbjottJn7Q5LBS-9QtQyruuwaNTgSJpCoi4PBKVIOTBYL_Nv1wecmKmfWcT0mnhQE9zjhJTbcoN9hKSvAMqsDHtxWUFZosiw3JKIY0zb59CrVGSuOhfN3qaarwN9EAlXLqc4ZyKpsTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBRk_38CqdKjPVylWUR4uuqhbFGeHTAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEATAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAFsx7FtYAzSo98T5ydNFa0ukjPZ6XCQc9zo7ldqy235P_zJAUkaNgCU4EGOzbZJDoMa8mAfhyukL_0GfPeApUaY2e44ZOzoYAkeEuDiwcs-9zoQ1fCyXhn0pCumGFXRilX9KjAPaYTzDvQMEllTy_ZViwTahuKaGtFVamZguBPdaeYC_0oybtTVNQCs8hGnffhNZOMASB-5pFs35MNxsDWTVIQksDee419jqpsbWLkh6rnanILO1O_ihwb-WpvRQByQ5NGpG1-z0MQ6nRpr9wWxUi-DsrVsD38NTMIPc2uei4Ivf6qnGRvOOj0fmsciWuTTEXMaD-5a81mGlzhZc09Q&s=MZBzsFvn0pgWdzvMcRKp6mEVaWPS92cA2pMHeYiiPT8TTrjy8IWtLCWr0FkHUi17isS9Fd6baEkfzLVNQe5Nkz264wZ0nk9iPJvmeQnDeEVNg4AidJkzFMmJA_vs6A8MRXlzu6rvdo5qytAqyKL-5MJ54ir51aSeqI0Eix4CiYY_RDuZeXe8AO9yT9cnVc2buNVxkbCSTE8ubNVp3mvqJvjFhr7o1MCn5yVt3G6hpq65Fsi3pdYcnFjmAX5K3k0E4LzOEBH8uj3-ZB4l4MzN9-cqqbaJDjms_fSjsQcAmYdqK4iVijB3v-rGH40yAuZpp1rAFsl3xm_y5a-dFWhdUA&h=mjDcrdBOGOjhYzeJPAflM86fdWlsvjr3kZrkP3R1MxE + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRSQ09DTlMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638664484436564748&c=MIIHpTCCBo2gAwIBAgITOgM6dTLGpzYZpvPtgQAEAzp1MjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjQwNjI2MDEzMjIxWhcNMjUwNjIxMDEzMjIxWjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPPPKY5bDN03KptFFhiyLIyn86BlrXYFIZWYXA-hY7_WbLyWN0IxcLIUBW_I-9u-YsXOHk9WPMlUYHIFPgHW7A3FsSGfl9dd6YGapKoSSw0NkTpNXM58R54BBgLp7AhiWzK15D9T-XELNSU4Wq9sEeA5T24kazcgS2MUkzELH0I9dwu7g0dwJIuIJkoJjEzg1b1Q3Ie5HKHHNbjottJn7Q5LBS-9QtQyruuwaNTgSJpCoi4PBKVIOTBYL_Nv1wecmKmfWcT0mnhQE9zjhJTbcoN9hKSvAMqsDHtxWUFZosiw3JKIY0zb59CrVGSuOhfN3qaarwN9EAlXLqc4ZyKpsTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBRk_38CqdKjPVylWUR4uuqhbFGeHTAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEATAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAFsx7FtYAzSo98T5ydNFa0ukjPZ6XCQc9zo7ldqy235P_zJAUkaNgCU4EGOzbZJDoMa8mAfhyukL_0GfPeApUaY2e44ZOzoYAkeEuDiwcs-9zoQ1fCyXhn0pCumGFXRilX9KjAPaYTzDvQMEllTy_ZViwTahuKaGtFVamZguBPdaeYC_0oybtTVNQCs8hGnffhNZOMASB-5pFs35MNxsDWTVIQksDee419jqpsbWLkh6rnanILO1O_ihwb-WpvRQByQ5NGpG1-z0MQ6nRpr9wWxUi-DsrVsD38NTMIPc2uei4Ivf6qnGRvOOj0fmsciWuTTEXMaD-5a81mGlzhZc09Q&s=NgmpNzMIo0FCfeR-le7o3oEPy4Q3_L-WV5PFcrSwxB-CYcKIUzzLXi7aazX6c5RUoXcXQvw9worckjsn3dVuaerDYpgr9uQpKfsnhCBdL4lHMSPkC3wlXT6l6rqA8NJWnaj6CP4RLKnTzmLGrP0q8TjSHPLwHp5VZvdnv7ZY5geW832h9Krys19uUUZQRDwqkxvLRxy9NIzAVyUYgU-vV88iH1_4ZRZm_ZRZancM0YtZWiWT-Kd_Lhdjsx227gW1IYz5udSq6IOR_MVdL-qSMxyvVBcwxV8r17-X4D_lfrqMRt9ZlEUYgYMgFuLfX1MjFX4aNlqjW0rwm4gEo_Yddg&h=YEXVgZiZyYiIZrzgRJTNiGkoJVOrXKd92fXHN_6I-zs + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: CC1506D764694E74A7EE282CC9837DB0 Ref B: CO6AA3150220011 Ref C: 2024-11-06T00:07:23Z' + status: 202 Accepted + code: 202 + duration: 43.034495ms + - id: 64 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "12" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRSQ09DTlMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638664482618131001&c=MIIHpTCCBo2gAwIBAgITOgM6dTLGpzYZpvPtgQAEAzp1MjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjQwNjI2MDEzMjIxWhcNMjUwNjIxMDEzMjIxWjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPPPKY5bDN03KptFFhiyLIyn86BlrXYFIZWYXA-hY7_WbLyWN0IxcLIUBW_I-9u-YsXOHk9WPMlUYHIFPgHW7A3FsSGfl9dd6YGapKoSSw0NkTpNXM58R54BBgLp7AhiWzK15D9T-XELNSU4Wq9sEeA5T24kazcgS2MUkzELH0I9dwu7g0dwJIuIJkoJjEzg1b1Q3Ie5HKHHNbjottJn7Q5LBS-9QtQyruuwaNTgSJpCoi4PBKVIOTBYL_Nv1wecmKmfWcT0mnhQE9zjhJTbcoN9hKSvAMqsDHtxWUFZosiw3JKIY0zb59CrVGSuOhfN3qaarwN9EAlXLqc4ZyKpsTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBRk_38CqdKjPVylWUR4uuqhbFGeHTAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEATAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAFsx7FtYAzSo98T5ydNFa0ukjPZ6XCQc9zo7ldqy235P_zJAUkaNgCU4EGOzbZJDoMa8mAfhyukL_0GfPeApUaY2e44ZOzoYAkeEuDiwcs-9zoQ1fCyXhn0pCumGFXRilX9KjAPaYTzDvQMEllTy_ZViwTahuKaGtFVamZguBPdaeYC_0oybtTVNQCs8hGnffhNZOMASB-5pFs35MNxsDWTVIQksDee419jqpsbWLkh6rnanILO1O_ihwb-WpvRQByQ5NGpG1-z0MQ6nRpr9wWxUi-DsrVsD38NTMIPc2uei4Ivf6qnGRvOOj0fmsciWuTTEXMaD-5a81mGlzhZc09Q&s=MZBzsFvn0pgWdzvMcRKp6mEVaWPS92cA2pMHeYiiPT8TTrjy8IWtLCWr0FkHUi17isS9Fd6baEkfzLVNQe5Nkz264wZ0nk9iPJvmeQnDeEVNg4AidJkzFMmJA_vs6A8MRXlzu6rvdo5qytAqyKL-5MJ54ir51aSeqI0Eix4CiYY_RDuZeXe8AO9yT9cnVc2buNVxkbCSTE8ubNVp3mvqJvjFhr7o1MCn5yVt3G6hpq65Fsi3pdYcnFjmAX5K3k0E4LzOEBH8uj3-ZB4l4MzN9-cqqbaJDjms_fSjsQcAmYdqK4iVijB3v-rGH40yAuZpp1rAFsl3xm_y5a-dFWhdUA&h=mjDcrdBOGOjhYzeJPAflM86fdWlsvjr3kZrkP3R1MxE + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRSQ09DTlMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638664484587588875&c=MIIHhzCCBm-gAwIBAgITHgVxvH65_BmPrKxDIgAABXG8fjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDYwHhcNMjQwOTI1MTkzNzA4WhcNMjUwMzI0MTkzNzA4WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKlHcl7gn1b6aLS1hLftgvWE8n-Z9liLRsNGgjYfyY_1N6TVDEHJTtctREIaCRDPEC-hePKBe7OS45JIAD6cl5AGU_dQlGd-3bBZeVfAPJFUnC910pwhDca2OXlf4LyB1KSofXaA4xDB6G7cHXRld_URCnol2LHQEGox0vBzaPz30AUB0ZhAatZgqhXy5qnroV3zbEZC3m4qLDSnG8QNEnw8Wv5GpYH_MxK9mgDPwoIObeDBnjtQonKzvItZ8jXwF-wEmcVAnhr6Dvq3rWdBY9616kXvQ7E3eEvGqMn9W_NZTAqlaanfaACfITkIJZkgsSoJGw5USCMC-vzAb1Ms0j0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MB0GA1UdDgQWBBTELag1gS_F07Xj1us9l4ySYrHYYjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBTxRmjG8cPwKy19i2rhsvm-NfzRQTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBABJx3Gb3LtjBZ4x70SioNIk8ap3qwt2DMEu9dXEhi28jFB87BBsTCkNeuhGlLzHm7Ykx6xpUjJp4F2_qmJKrQjDH4U0VYT_yc8Ow5mxrFJcewgTXzwmwqXOodok5WWOUVP4Mmdp_O_3je1dVgw4TrdrypIZImBn2jVDrXQ79fFXTR-Td0XMOtWPDwreoMRagD769QW4hlGtVaZCqOAzyomfSc8PhDzKhllbZQrmP-UgiLU14SDsxwq6AHG413ClcJIDGfEsEKwlUyIIAKHDwSdbO41Zs7ZQG5k_eBlGTkr-5Zye8vT7OeGf1_mGZSme6otyTUL_3-6gJ282qCPXoflc&s=Mcvfs1iqhDBCOiKWzKbqcgPWc9AVgRpD3KY733QUuuVAKgZKmSlrfSdP_jE_Q8aAULu-GcEzI2SlKtDX9_9g9L7PJTixqH4KFRI0z-wVNd2nAc2tnl8lb3fAACWJeI_jMOTgOzvr8_CyxXtqAmxEJtTA8cK1W_hf8LSfQ71oGD9DVjeSB7pMEC7_nWN65WA1bsw5M3fsHnqMbKf4HX6TFpjds2NQPPODW3_G2kl_9BvjdWGQRt9QaP18RvIfjWxxSZuqUWluEdIcytFI2JrKRMUIWF7gK6XBO7PC2o-pTniVP8KjTQORimwP9-T0AU-RnuCvECIRNmInealV7ZGVLQ&h=CtM6O5YZduZvDTLXfi8xXQPcXCAHtZzNftvbFVrQD3M + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 9BE52829AAEA4A8AB6C5EBA8C3CE6343 Ref B: CO6AA3150220011 Ref C: 2024-11-06T00:07:38Z' + status: 202 Accepted + code: 202 + duration: 41.386792ms + - id: 65 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "13" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRSQ09DTlMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638664482618131001&c=MIIHpTCCBo2gAwIBAgITOgM6dTLGpzYZpvPtgQAEAzp1MjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjQwNjI2MDEzMjIxWhcNMjUwNjIxMDEzMjIxWjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPPPKY5bDN03KptFFhiyLIyn86BlrXYFIZWYXA-hY7_WbLyWN0IxcLIUBW_I-9u-YsXOHk9WPMlUYHIFPgHW7A3FsSGfl9dd6YGapKoSSw0NkTpNXM58R54BBgLp7AhiWzK15D9T-XELNSU4Wq9sEeA5T24kazcgS2MUkzELH0I9dwu7g0dwJIuIJkoJjEzg1b1Q3Ie5HKHHNbjottJn7Q5LBS-9QtQyruuwaNTgSJpCoi4PBKVIOTBYL_Nv1wecmKmfWcT0mnhQE9zjhJTbcoN9hKSvAMqsDHtxWUFZosiw3JKIY0zb59CrVGSuOhfN3qaarwN9EAlXLqc4ZyKpsTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBRk_38CqdKjPVylWUR4uuqhbFGeHTAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEATAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAFsx7FtYAzSo98T5ydNFa0ukjPZ6XCQc9zo7ldqy235P_zJAUkaNgCU4EGOzbZJDoMa8mAfhyukL_0GfPeApUaY2e44ZOzoYAkeEuDiwcs-9zoQ1fCyXhn0pCumGFXRilX9KjAPaYTzDvQMEllTy_ZViwTahuKaGtFVamZguBPdaeYC_0oybtTVNQCs8hGnffhNZOMASB-5pFs35MNxsDWTVIQksDee419jqpsbWLkh6rnanILO1O_ihwb-WpvRQByQ5NGpG1-z0MQ6nRpr9wWxUi-DsrVsD38NTMIPc2uei4Ivf6qnGRvOOj0fmsciWuTTEXMaD-5a81mGlzhZc09Q&s=MZBzsFvn0pgWdzvMcRKp6mEVaWPS92cA2pMHeYiiPT8TTrjy8IWtLCWr0FkHUi17isS9Fd6baEkfzLVNQe5Nkz264wZ0nk9iPJvmeQnDeEVNg4AidJkzFMmJA_vs6A8MRXlzu6rvdo5qytAqyKL-5MJ54ir51aSeqI0Eix4CiYY_RDuZeXe8AO9yT9cnVc2buNVxkbCSTE8ubNVp3mvqJvjFhr7o1MCn5yVt3G6hpq65Fsi3pdYcnFjmAX5K3k0E4LzOEBH8uj3-ZB4l4MzN9-cqqbaJDjms_fSjsQcAmYdqK4iVijB3v-rGH40yAuZpp1rAFsl3xm_y5a-dFWhdUA&h=mjDcrdBOGOjhYzeJPAflM86fdWlsvjr3kZrkP3R1MxE + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRSQ09DTlMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638664484740389945&c=MIIHpTCCBo2gAwIBAgITOgM6dTLGpzYZpvPtgQAEAzp1MjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjQwNjI2MDEzMjIxWhcNMjUwNjIxMDEzMjIxWjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPPPKY5bDN03KptFFhiyLIyn86BlrXYFIZWYXA-hY7_WbLyWN0IxcLIUBW_I-9u-YsXOHk9WPMlUYHIFPgHW7A3FsSGfl9dd6YGapKoSSw0NkTpNXM58R54BBgLp7AhiWzK15D9T-XELNSU4Wq9sEeA5T24kazcgS2MUkzELH0I9dwu7g0dwJIuIJkoJjEzg1b1Q3Ie5HKHHNbjottJn7Q5LBS-9QtQyruuwaNTgSJpCoi4PBKVIOTBYL_Nv1wecmKmfWcT0mnhQE9zjhJTbcoN9hKSvAMqsDHtxWUFZosiw3JKIY0zb59CrVGSuOhfN3qaarwN9EAlXLqc4ZyKpsTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBRk_38CqdKjPVylWUR4uuqhbFGeHTAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEATAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAFsx7FtYAzSo98T5ydNFa0ukjPZ6XCQc9zo7ldqy235P_zJAUkaNgCU4EGOzbZJDoMa8mAfhyukL_0GfPeApUaY2e44ZOzoYAkeEuDiwcs-9zoQ1fCyXhn0pCumGFXRilX9KjAPaYTzDvQMEllTy_ZViwTahuKaGtFVamZguBPdaeYC_0oybtTVNQCs8hGnffhNZOMASB-5pFs35MNxsDWTVIQksDee419jqpsbWLkh6rnanILO1O_ihwb-WpvRQByQ5NGpG1-z0MQ6nRpr9wWxUi-DsrVsD38NTMIPc2uei4Ivf6qnGRvOOj0fmsciWuTTEXMaD-5a81mGlzhZc09Q&s=rdg5aG7W7jzJ7-nyiyCFHHaL7L7FVG5Rw4oBwdld-NPg3uzIJW8nEYXkNYP1Hba5RXrS0vtdlka_ZotBhFIGSz-iEXUAXJOMZqum3UomUAInCa_p8BWMhWdRIQUB9lxcN-uKwIPJ6Z4nHESYYXn86SroibPFkmlyRzRmVD28dKy_SrR5RNiHxYjtQYVPJK2wpIFsweYa0JSYbxpT5fkQERKWYfh3Jw73ETtaWoPOcGdZoVAgX-pLwhx2PEZItLi2Qr4EGcea2zbxzJPC5k8JK_Ppg7aHPIgYOv9_chPEpqmRKC68UK1dK-ea3IhAWGuLQNZTvk11c0h6j-ia0KLVEg&h=Mt_Hssp5az9xK-TN3fXyij-5rC5xOHPbp2afmlFmPl8 + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 9060D5BA9D6F4AE5B6CCFD2CD88653C3 Ref B: CO6AA3150220011 Ref C: 2024-11-06T00:07:53Z' + status: 202 Accepted + code: 202 + duration: 273.28482ms + - id: 66 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "14" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRSQ09DTlMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638664482618131001&c=MIIHpTCCBo2gAwIBAgITOgM6dTLGpzYZpvPtgQAEAzp1MjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjQwNjI2MDEzMjIxWhcNMjUwNjIxMDEzMjIxWjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPPPKY5bDN03KptFFhiyLIyn86BlrXYFIZWYXA-hY7_WbLyWN0IxcLIUBW_I-9u-YsXOHk9WPMlUYHIFPgHW7A3FsSGfl9dd6YGapKoSSw0NkTpNXM58R54BBgLp7AhiWzK15D9T-XELNSU4Wq9sEeA5T24kazcgS2MUkzELH0I9dwu7g0dwJIuIJkoJjEzg1b1Q3Ie5HKHHNbjottJn7Q5LBS-9QtQyruuwaNTgSJpCoi4PBKVIOTBYL_Nv1wecmKmfWcT0mnhQE9zjhJTbcoN9hKSvAMqsDHtxWUFZosiw3JKIY0zb59CrVGSuOhfN3qaarwN9EAlXLqc4ZyKpsTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBRk_38CqdKjPVylWUR4uuqhbFGeHTAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEATAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAFsx7FtYAzSo98T5ydNFa0ukjPZ6XCQc9zo7ldqy235P_zJAUkaNgCU4EGOzbZJDoMa8mAfhyukL_0GfPeApUaY2e44ZOzoYAkeEuDiwcs-9zoQ1fCyXhn0pCumGFXRilX9KjAPaYTzDvQMEllTy_ZViwTahuKaGtFVamZguBPdaeYC_0oybtTVNQCs8hGnffhNZOMASB-5pFs35MNxsDWTVIQksDee419jqpsbWLkh6rnanILO1O_ihwb-WpvRQByQ5NGpG1-z0MQ6nRpr9wWxUi-DsrVsD38NTMIPc2uei4Ivf6qnGRvOOj0fmsciWuTTEXMaD-5a81mGlzhZc09Q&s=MZBzsFvn0pgWdzvMcRKp6mEVaWPS92cA2pMHeYiiPT8TTrjy8IWtLCWr0FkHUi17isS9Fd6baEkfzLVNQe5Nkz264wZ0nk9iPJvmeQnDeEVNg4AidJkzFMmJA_vs6A8MRXlzu6rvdo5qytAqyKL-5MJ54ir51aSeqI0Eix4CiYY_RDuZeXe8AO9yT9cnVc2buNVxkbCSTE8ubNVp3mvqJvjFhr7o1MCn5yVt3G6hpq65Fsi3pdYcnFjmAX5K3k0E4LzOEBH8uj3-ZB4l4MzN9-cqqbaJDjms_fSjsQcAmYdqK4iVijB3v-rGH40yAuZpp1rAFsl3xm_y5a-dFWhdUA&h=mjDcrdBOGOjhYzeJPAflM86fdWlsvjr3kZrkP3R1MxE + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRSQ09DTlMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638664484894039483&c=MIIHhzCCBm-gAwIBAgITHgVxvH65_BmPrKxDIgAABXG8fjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDYwHhcNMjQwOTI1MTkzNzA4WhcNMjUwMzI0MTkzNzA4WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKlHcl7gn1b6aLS1hLftgvWE8n-Z9liLRsNGgjYfyY_1N6TVDEHJTtctREIaCRDPEC-hePKBe7OS45JIAD6cl5AGU_dQlGd-3bBZeVfAPJFUnC910pwhDca2OXlf4LyB1KSofXaA4xDB6G7cHXRld_URCnol2LHQEGox0vBzaPz30AUB0ZhAatZgqhXy5qnroV3zbEZC3m4qLDSnG8QNEnw8Wv5GpYH_MxK9mgDPwoIObeDBnjtQonKzvItZ8jXwF-wEmcVAnhr6Dvq3rWdBY9616kXvQ7E3eEvGqMn9W_NZTAqlaanfaACfITkIJZkgsSoJGw5USCMC-vzAb1Ms0j0CAwEAAaOCBHQwggRwMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CTDJQS0lJTlRDQTAyLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA2LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQkwyUEtJSU5UQ0EwMi5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNi5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JMMlBLSUlOVENBMDIuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3J0MB0GA1UdDgQWBBTELag1gS_F07Xj1us9l4ySYrHYYjAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDYuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBTxRmjG8cPwKy19i2rhsvm-NfzRQTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBABJx3Gb3LtjBZ4x70SioNIk8ap3qwt2DMEu9dXEhi28jFB87BBsTCkNeuhGlLzHm7Ykx6xpUjJp4F2_qmJKrQjDH4U0VYT_yc8Ow5mxrFJcewgTXzwmwqXOodok5WWOUVP4Mmdp_O_3je1dVgw4TrdrypIZImBn2jVDrXQ79fFXTR-Td0XMOtWPDwreoMRagD769QW4hlGtVaZCqOAzyomfSc8PhDzKhllbZQrmP-UgiLU14SDsxwq6AHG413ClcJIDGfEsEKwlUyIIAKHDwSdbO41Zs7ZQG5k_eBlGTkr-5Zye8vT7OeGf1_mGZSme6otyTUL_3-6gJ282qCPXoflc&s=NrfzZY4Tn0Gh1EFcTSrQg6V9frirTfdVZYW6WkzUj897GRRq4R40B_c7OSz1fLxpd9vlA4V2aU9OGJ-w05vYZddrK09E2JAJGy_a5-2lOBZh0jQdeKuNwLZyF0kokfJJyLe5JwNRFE9e7MUwgxf9nuMtO1Nw46cw5JGosPiyqPyofWc8SbhgkIzT2_cKQQnIXNlERGj2VtavwZXmfmi8dpBvY4RdCzBnAmkNXTmh-wWrhFEboVF9MgxJdOehfzJpVIjMqG2a_Tt8AgdjLZVwCIOC_BIDLVZuAQaLHkSMqpOQFuAujKDvxCI9wMaZXMkr8tY-ZTMhW1ChDMaste4rFA&h=RYws2bv4iKMBhqZ7wheAlA1aUMQwFOzOQYjcdXNcqos + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: 44517C21E8874DAFA035A66AC3CCFE34 Ref B: CO6AA3150220011 Ref C: 2024-11-06T00:08:09Z' + status: 202 Accepted + code: 202 + duration: 46.022806ms + - id: 67 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "15" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRSQ09DTlMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638664482618131001&c=MIIHpTCCBo2gAwIBAgITOgM6dTLGpzYZpvPtgQAEAzp1MjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjQwNjI2MDEzMjIxWhcNMjUwNjIxMDEzMjIxWjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPPPKY5bDN03KptFFhiyLIyn86BlrXYFIZWYXA-hY7_WbLyWN0IxcLIUBW_I-9u-YsXOHk9WPMlUYHIFPgHW7A3FsSGfl9dd6YGapKoSSw0NkTpNXM58R54BBgLp7AhiWzK15D9T-XELNSU4Wq9sEeA5T24kazcgS2MUkzELH0I9dwu7g0dwJIuIJkoJjEzg1b1Q3Ie5HKHHNbjottJn7Q5LBS-9QtQyruuwaNTgSJpCoi4PBKVIOTBYL_Nv1wecmKmfWcT0mnhQE9zjhJTbcoN9hKSvAMqsDHtxWUFZosiw3JKIY0zb59CrVGSuOhfN3qaarwN9EAlXLqc4ZyKpsTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBRk_38CqdKjPVylWUR4uuqhbFGeHTAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwEwDAYKKwYBBAGCN3sEATAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAFsx7FtYAzSo98T5ydNFa0ukjPZ6XCQc9zo7ldqy235P_zJAUkaNgCU4EGOzbZJDoMa8mAfhyukL_0GfPeApUaY2e44ZOzoYAkeEuDiwcs-9zoQ1fCyXhn0pCumGFXRilX9KjAPaYTzDvQMEllTy_ZViwTahuKaGtFVamZguBPdaeYC_0oybtTVNQCs8hGnffhNZOMASB-5pFs35MNxsDWTVIQksDee419jqpsbWLkh6rnanILO1O_ihwb-WpvRQByQ5NGpG1-z0MQ6nRpr9wWxUi-DsrVsD38NTMIPc2uei4Ivf6qnGRvOOj0fmsciWuTTEXMaD-5a81mGlzhZc09Q&s=MZBzsFvn0pgWdzvMcRKp6mEVaWPS92cA2pMHeYiiPT8TTrjy8IWtLCWr0FkHUi17isS9Fd6baEkfzLVNQe5Nkz264wZ0nk9iPJvmeQnDeEVNg4AidJkzFMmJA_vs6A8MRXlzu6rvdo5qytAqyKL-5MJ54ir51aSeqI0Eix4CiYY_RDuZeXe8AO9yT9cnVc2buNVxkbCSTE8ubNVp3mvqJvjFhr7o1MCn5yVt3G6hpq65Fsi3pdYcnFjmAX5K3k0E4LzOEBH8uj3-ZB4l4MzN9-cqqbaJDjms_fSjsQcAmYdqK4iVijB3v-rGH40yAuZpp1rAFsl3xm_y5a-dFWhdUA&h=mjDcrdBOGOjhYzeJPAflM86fdWlsvjr3kZrkP3R1MxE + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Ratelimit-Remaining-Subscription-Global-Reads: + - "16499" + X-Msedge-Ref: + - 'Ref A: DCDE959A60324FFC9BDACEAC1A0274C8 Ref B: CO6AA3150220011 Ref C: 2024-11-06T00:08:24Z' + status: 200 OK + code: 200 + duration: 65.097052ms + - id: 68 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-rcocns/providers/Microsoft.MachineLearningServices/workspaces/sampleworkspaces?api-version=2021-07-01 + method: DELETE + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 109 + uncompressed: false + body: '{"error":{"code":"ResourceGroupNotFound","message":"Resource group ''asotest-rg-rcocns'' could not be found."}}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "109" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Failure-Cause: + - gateway + X-Msedge-Ref: + - 'Ref A: DDF5ACC9128C435CAA84C3DC9D60E6E4 Ref B: CO6AA3150220011 Ref C: 2024-11-06T00:08:26Z' + status: 404 Not Found + code: 404 + duration: 78.330483ms + - id: 69 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-rcocns/providers/Microsoft.ContainerService/managedClusters/sample-managedcluster-20240901?api-version=2024-09-01 + method: DELETE + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 109 + uncompressed: false + body: '{"error":{"code":"ResourceGroupNotFound","message":"Resource group ''asotest-rg-rcocns'' could not be found."}}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "109" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Failure-Cause: + - gateway + X-Msedge-Ref: + - 'Ref A: 914286AF0BC44BAD9A4A41DDF7CE8A00 Ref B: CO6AA3150220011 Ref C: 2024-11-06T00:08:27Z' + status: 404 Not Found + code: 404 + duration: 90.644812ms + - id: 70 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-rcocns/providers/Microsoft.KeyVault/vaults/aso-cs-vault?api-version=2021-04-01-preview + method: DELETE + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 109 + uncompressed: false + body: '{"error":{"code":"ResourceGroupNotFound","message":"Resource group ''asotest-rg-rcocns'' could not be found."}}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "109" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Failure-Cause: + - gateway + X-Msedge-Ref: + - 'Ref A: 4D5E333A21494EDCB0A22AE5F75A54C1 Ref B: CO6AA3150220011 Ref C: 2024-11-06T00:08:26Z' + status: 404 Not Found + code: 404 + duration: 132.736711ms + - id: 71 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-rcocns/providers/Microsoft.Storage/storageAccounts/asoworkspacestorageacct?api-version=2021-04-01 + method: DELETE + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 109 + uncompressed: false + body: '{"error":{"code":"ResourceGroupNotFound","message":"Resource group ''asotest-rg-rcocns'' could not be found."}}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "109" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Failure-Cause: + - gateway + X-Msedge-Ref: + - 'Ref A: 660FC3CC7C524FFE910A437C6F48383E Ref B: CO6AA3150220011 Ref C: 2024-11-06T00:08:26Z' + status: 404 Not Found + code: 404 + duration: 151.184254ms + - id: 72 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-rcocns/providers/Microsoft.ContainerService/managedClusters/sample-managedcluster-20240901/maintenanceConfigurations/aksmanagedautoupgradeschedule?api-version=2024-09-01 + method: DELETE + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 109 + uncompressed: false + body: '{"error":{"code":"ResourceGroupNotFound","message":"Resource group ''asotest-rg-rcocns'' could not be found."}}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "109" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Failure-Cause: + - gateway + X-Msedge-Ref: + - 'Ref A: 5598A0643EAD47F4B6DF97FC19CBFA14 Ref B: CO6AA3150220011 Ref C: 2024-11-06T00:08:32Z' + status: 404 Not Found + code: 404 + duration: 106.823451ms + - id: 73 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-rcocns/providers/Microsoft.ContainerService/managedClusters/sample-managedcluster-20240901/agentPools/pool20240901?api-version=2024-09-01 + method: DELETE + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 262 + uncompressed: false + body: '{"error":{"code":"ResourceNotFound","message":"The Resource ''Microsoft.ContainerService/managedClusters/sample-managedcluster-20240901'' under resource group ''asotest-rg-rcocns'' was not found. For more details please go to https://aka.ms/ARMResourceNotFoundFix"}}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "262" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Failure-Cause: + - gateway + X-Msedge-Ref: + - 'Ref A: 993D73486D264378A66C911A76300AC3 Ref B: CO6AA3150220011 Ref C: 2024-11-06T00:08:32Z' + status: 404 Not Found + code: 404 + duration: 113.880568ms + - id: 74 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-rcocns/providers/Microsoft.ContainerService/managedClusters/sample-managedcluster-20240901/trustedAccessRoleBindings/sample-tarb?api-version=2024-09-01 + method: DELETE + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 109 + uncompressed: false + body: '{"error":{"code":"ResourceGroupNotFound","message":"Resource group ''asotest-rg-rcocns'' could not be found."}}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "109" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Failure-Cause: + - gateway + X-Msedge-Ref: + - 'Ref A: 243D50A9A2564E2B828197FBE2F9BF9C Ref B: CO6AA3150220011 Ref C: 2024-11-06T00:08:32Z' + status: 404 Not Found + code: 404 + duration: 119.521281ms diff --git a/v2/samples/containerservice/v1api20240901/refs/v1api20210401_storageaccount.yaml b/v2/samples/containerservice/v1api20240901/refs/v1api20210401_storageaccount.yaml new file mode 100644 index 00000000000..a005d1113c4 --- /dev/null +++ b/v2/samples/containerservice/v1api20240901/refs/v1api20210401_storageaccount.yaml @@ -0,0 +1,13 @@ +apiVersion: storage.azure.com/v1api20210401 +kind: StorageAccount +metadata: + name: asoworkspacestorageacct + namespace: default +spec: + location: westus3 + kind: BlobStorage + sku: + name: Standard_LRS + owner: + name: aso-sample-rg + accessTier: Hot diff --git a/v2/samples/containerservice/v1api20240901/refs/v1api20210401preview_vault.yaml b/v2/samples/containerservice/v1api20240901/refs/v1api20210401preview_vault.yaml new file mode 100644 index 00000000000..240e6c26739 --- /dev/null +++ b/v2/samples/containerservice/v1api20240901/refs/v1api20210401preview_vault.yaml @@ -0,0 +1,28 @@ +apiVersion: keyvault.azure.com/v1api20210401preview +kind: Vault +metadata: + name: aso-cs-vault + namespace: default +spec: + location: westus3 + owner: + name: aso-sample-rg + properties: + createMode: createOrRecover + tenantId: 00000000-0000-0000-0000-000000000000 + sku: + family: A + name: standard + accessPolicies: + - applicationId: 1C793267-c310-d4ae-7BD5-5Af5BEF875D3 + objectId: 1C793267-c310-d4ae-7BD5-5Af5BEF875D3 + tenantId: 00000000-0000-0000-0000-000000000000 + permissions: + certificates: + - get + keys: + - get + secrets: + - get + storage: + - get diff --git a/v2/samples/containerservice/v1api20240901/refs/v1api20210701_workspace.yaml b/v2/samples/containerservice/v1api20240901/refs/v1api20210701_workspace.yaml new file mode 100644 index 00000000000..15a0add9349 --- /dev/null +++ b/v2/samples/containerservice/v1api20240901/refs/v1api20210701_workspace.yaml @@ -0,0 +1,23 @@ +apiVersion: machinelearningservices.azure.com/v1api20210701 +kind: Workspace +metadata: + name: sampleworkspaces + namespace: default +spec: + location: westus3 + owner: + name: aso-sample-rg + sku: + name: Standard_S1 + tier: Basic + allowPublicAccessWhenBehindVnet: false + identity: + type: SystemAssigned + storageAccountReference: + group: storage.azure.com + kind: StorageAccount + name: asoworkspacestorageacct + keyVaultReference: + group: keyvault.azure.com + kind: Vault + name: aso-cs-vault diff --git a/v2/samples/containerservice/v1api20240901/v1api20240901_maintenanceconfiguration.yaml b/v2/samples/containerservice/v1api20240901/v1api20240901_maintenanceconfiguration.yaml new file mode 100644 index 00000000000..26c8e69ec2d --- /dev/null +++ b/v2/samples/containerservice/v1api20240901/v1api20240901_maintenanceconfiguration.yaml @@ -0,0 +1,15 @@ +apiVersion: containerservice.azure.com/v1api20240901 +kind: MaintenanceConfiguration +metadata: + name: aksmanagedautoupgradeschedule + namespace: default +spec: + owner: + name: sample-managedcluster-20240901 + maintenanceWindow: + schedule: + weekly: + dayOfWeek: Saturday + intervalWeeks: 1 + durationHours: 12 + startTime: 00:00 diff --git a/v2/samples/containerservice/v1api20240901/v1api20240901_managedcluster.yaml b/v2/samples/containerservice/v1api20240901/v1api20240901_managedcluster.yaml new file mode 100644 index 00000000000..cfd8318051e --- /dev/null +++ b/v2/samples/containerservice/v1api20240901/v1api20240901_managedcluster.yaml @@ -0,0 +1,18 @@ +apiVersion: containerservice.azure.com/v1api20240901 +kind: ManagedCluster +metadata: + name: sample-managedcluster-20240901 + namespace: default +spec: + location: westus3 + owner: + name: aso-sample-rg + dnsPrefix: aso + agentPoolProfiles: + - name: pool1 + count: 1 + vmSize: Standard_DS2_v2 + osType: Linux + mode: System + identity: + type: SystemAssigned diff --git a/v2/samples/containerservice/v1api20240901/v1api20240901_managedclustersagentpool.yaml b/v2/samples/containerservice/v1api20240901/v1api20240901_managedclustersagentpool.yaml new file mode 100644 index 00000000000..9efa8731ca3 --- /dev/null +++ b/v2/samples/containerservice/v1api20240901/v1api20240901_managedclustersagentpool.yaml @@ -0,0 +1,12 @@ +apiVersion: containerservice.azure.com/v1api20240901 +kind: ManagedClustersAgentPool +metadata: + name: pool20240901 + namespace: default +spec: + owner: + name: sample-managedcluster-20240901 + count: 1 + vmSize: Standard_DS2_v2 + osType: Linux + mode: User diff --git a/v2/samples/containerservice/v1api20240901/v1api20240901_trustedaccessrolebinding.yaml b/v2/samples/containerservice/v1api20240901/v1api20240901_trustedaccessrolebinding.yaml new file mode 100644 index 00000000000..4a47361f1c1 --- /dev/null +++ b/v2/samples/containerservice/v1api20240901/v1api20240901_trustedaccessrolebinding.yaml @@ -0,0 +1,14 @@ +apiVersion: containerservice.azure.com/v1api20240901 +kind: TrustedAccessRoleBinding +metadata: + name: sample-tarb + namespace: default +spec: + owner: + name: sample-managedcluster-20240901 + roles: + - Microsoft.MachineLearningServices/workspaces/mlworkload + sourceResourceReference: + group: machinelearningservices.azure.com + kind: Workspace + name: sampleworkspaces diff --git a/v2/tools/generator/internal/codegen/code_generator.go b/v2/tools/generator/internal/codegen/code_generator.go index 03a8b8fc935..50c9a2398e3 100644 --- a/v2/tools/generator/internal/codegen/code_generator.go +++ b/v2/tools/generator/internal/codegen/code_generator.go @@ -174,6 +174,7 @@ func createAllPipelineStages( pipeline.ReplaceAnyTypeWithJSON(), pipeline.ImprovePropertyDescriptions(), + pipeline.StripDocumentation(configuration, log), pipeline.FixOptionalCollectionAliases(), diff --git a/v2/tools/generator/internal/codegen/pipeline/improve-property-descriptions.go b/v2/tools/generator/internal/codegen/pipeline/improve_property_descriptions.go similarity index 100% rename from v2/tools/generator/internal/codegen/pipeline/improve-property-descriptions.go rename to v2/tools/generator/internal/codegen/pipeline/improve_property_descriptions.go diff --git a/v2/tools/generator/internal/codegen/pipeline/repair_skipping_properties.go b/v2/tools/generator/internal/codegen/pipeline/repair_skipping_properties.go index 10300a1c52d..72952c60992 100644 --- a/v2/tools/generator/internal/codegen/pipeline/repair_skipping_properties.go +++ b/v2/tools/generator/internal/codegen/pipeline/repair_skipping_properties.go @@ -156,8 +156,14 @@ func (repairer *skippingPropertyRepairer) RepairSkippedProperties() (astmodel.Ty continue } - // If the repair added any new types (mostly it won't), include them in the result - result.AddTypes(defs) + // If the repair added any new types (mostly it won't), include them in the result. + // Duplicates are allowed as long as they are structurally identical, as the same type + // may be reached from multiple chains in a given API version. + err = result.AddTypesAllowDuplicates(defs) + if err != nil { + errs = append(errs, err) + continue + } } if len(errs) > 0 { diff --git a/v2/tools/generator/internal/codegen/pipeline/strip_descriptions.go b/v2/tools/generator/internal/codegen/pipeline/strip_descriptions.go new file mode 100644 index 00000000000..a8258717c47 --- /dev/null +++ b/v2/tools/generator/internal/codegen/pipeline/strip_descriptions.go @@ -0,0 +1,108 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT license. + */ + +package pipeline + +import ( + "context" + + "github.com/go-logr/logr" + "github.com/pkg/errors" + + "github.com/Azure/azure-service-operator/v2/tools/generator/internal/astmodel" + "github.com/Azure/azure-service-operator/v2/tools/generator/internal/config" +) + +// StripDocumentationStageId is the unique identifier for this pipeline stage +const StripDocumentationStageId = "stripDocumentation" + +// StripDocumentation strips property descriptions from certain types to +func StripDocumentation(configuration *config.Configuration, log logr.Logger) *Stage { + stage := NewStage( + StripDocumentationStageId, + "Strip descriptions for CRDs that have the $stripDocumentation flag set", + func(ctx context.Context, state *State) (*State, error) { + visitor := createPropertyDescriptionRemovalVisitor() + + walker := astmodel.NewTypeWalker[any]( + state.Definitions(), + visitor) + walker.AfterVisit = stripTypeDefinitionDescription + + // TODO: This should be used sparingly as a stop-gap if a CRD gets too large. + //typesToStrip := map[string]set.Set[string]{ + // "containerservice": set.Make[string]("ManagedCluster"), + //} + + result := make(astmodel.TypeDefinitionSet) + resources := astmodel.FindResourceDefinitions(state.Definitions()) + for _, def := range resources { + group := def.Name().InternalPackageReference().Group() + name := def.Name().Name() + + shouldStrip, ok := configuration.ObjectModelConfiguration.StripDocumentation.Lookup(def.Name()) + if !ok || !shouldStrip { + continue + } + //types, ok := typesToStrip[group] + //if !ok { + // continue + //} + // + //if !types.Contains(name) { + // continue + //} + + log.V(1).Info("Stripping property descriptions from %s.%s", group, name) + modifiedDefs, err := walker.Walk(def) + if err != nil { + return nil, err + } + result.AddTypes(modifiedDefs) + } + + err := configuration.ObjectModelConfiguration.StripDocumentation.VerifyConsumed() + if err != nil { + return nil, errors.Wrap( + err, + "Found unused $stripDocumentation configurations; these can only be specified on top-level resources.") + } + + return state.WithOverlaidDefinitions(result), nil + }) + + return stage +} + +func stripTypeDefinitionDescription(_ astmodel.TypeDefinition, updated astmodel.TypeDefinition, _ any) (astmodel.TypeDefinition, error) { + updated = updated.WithDescription("") + return updated, nil +} + +func createPropertyDescriptionRemovalVisitor() astmodel.TypeVisitor[any] { + visitor := astmodel.TypeVisitorBuilder[any]{ + VisitObjectType: func( + this *astmodel.TypeVisitor[any], + it *astmodel.ObjectType, + ctx any, + ) (astmodel.Type, error) { + result := it + for _, prop := range it.Properties().AsSlice() { + // If the property already has an empty description, we're done + if prop.Description() == "" { + continue + } + + // Set the description to empty + prop = prop.WithDescription("") + result = result.WithProperty(prop) + } + + return astmodel.OrderedIdentityVisitOfObjectType(this, result, ctx) + }, + } + + return visitor.Build() +} diff --git a/v2/tools/generator/internal/codegen/testdata/TestGolden_NewARMCodeGeneratorFromConfigCreatesRightPipeline.golden b/v2/tools/generator/internal/codegen/testdata/TestGolden_NewARMCodeGeneratorFromConfigCreatesRightPipeline.golden index ccf51fcd3b4..1f83082be28 100644 --- a/v2/tools/generator/internal/codegen/testdata/TestGolden_NewARMCodeGeneratorFromConfigCreatesRightPipeline.golden +++ b/v2/tools/generator/internal/codegen/testdata/TestGolden_NewARMCodeGeneratorFromConfigCreatesRightPipeline.golden @@ -31,6 +31,7 @@ verifyNoErroredTypes Verify there are no stripUnreferenced Strip unreferenced types replaceAnyTypeWithJSON Replace properties using interface{} with arbitrary JSON improvePropertyDescriptions Improve property descriptions by copying from the corresponding type +stripDocumentation Strip descriptions for CRDs that have the $stripDocumentation flag set fixOptionalCollectionAliases Replace types which are optional aliases to collections with just the collection alias applyCrossResourceReferencesFromConfig azure Replace cross-resource references in the config with astmodel.ARMID transformCrossResourceReferences azure Replace cross-resource references with genruntime.ResourceReference diff --git a/v2/tools/generator/internal/codegen/testdata/TestGolden_NewCrossplaneCodeGeneratorFromConfigCreatesRightPipeline.golden b/v2/tools/generator/internal/codegen/testdata/TestGolden_NewCrossplaneCodeGeneratorFromConfigCreatesRightPipeline.golden index 0d0655038ae..2c3903ed6df 100644 --- a/v2/tools/generator/internal/codegen/testdata/TestGolden_NewCrossplaneCodeGeneratorFromConfigCreatesRightPipeline.golden +++ b/v2/tools/generator/internal/codegen/testdata/TestGolden_NewCrossplaneCodeGeneratorFromConfigCreatesRightPipeline.golden @@ -30,6 +30,7 @@ verifyNoErroredTypes Verify there are no Erro stripUnreferenced Strip unreferenced types replaceAnyTypeWithJSON Replace properties using interface{} with arbitrary JSON improvePropertyDescriptions Improve property descriptions by copying from the corresponding type +stripDocumentation Strip descriptions for CRDs that have the $stripDocumentation flag set fixOptionalCollectionAliases Replace types which are optional aliases to collections with just the collection alias transformCrossResourceReferencesToString crossplane Replace cross-resource references with string addSerializationTypeTag Adds a property tag to properties with special serialization instructions to initialize empty collections when serializing the payload to Azure diff --git a/v2/tools/generator/internal/codegen/testdata/TestGolden_NewTestCodeGeneratorCreatesRightPipeline.golden b/v2/tools/generator/internal/codegen/testdata/TestGolden_NewTestCodeGeneratorCreatesRightPipeline.golden index e4441cf69c4..58864689b7f 100644 --- a/v2/tools/generator/internal/codegen/testdata/TestGolden_NewTestCodeGeneratorCreatesRightPipeline.golden +++ b/v2/tools/generator/internal/codegen/testdata/TestGolden_NewTestCodeGeneratorCreatesRightPipeline.golden @@ -28,6 +28,7 @@ verifyNoErroredTypes Verify there are no Errore stripUnused Strip unused types for test replaceAnyTypeWithJSON Replace properties using interface{} with arbitrary JSON improvePropertyDescriptions Improve property descriptions by copying from the corresponding type +stripDocumentation Strip descriptions for CRDs that have the $stripDocumentation flag set fixOptionalCollectionAliases Replace types which are optional aliases to collections with just the collection alias applyCrossResourceReferencesFromConfig azure Replace cross-resource references in the config with astmodel.ARMID addSecrets azure Replace properties flagged as secret with genruntime.SecretReference diff --git a/v2/tools/generator/internal/config/object_model_configuration.go b/v2/tools/generator/internal/config/object_model_configuration.go index 14917747293..d8c7cdd5666 100644 --- a/v2/tools/generator/internal/config/object_model_configuration.go +++ b/v2/tools/generator/internal/config/object_model_configuration.go @@ -44,6 +44,7 @@ type ObjectModelConfiguration struct { RenameTo typeAccess[string] ResourceEmbeddedInParent typeAccess[string] OperatorSpecProperties typeAccess[[]OperatorSpecPropertyConfiguration] + StripDocumentation typeAccess[bool] SupportedFrom typeAccess[string] TypeNameInNextVersion typeAccess[string] @@ -99,6 +100,8 @@ func NewObjectModelConfiguration() *ObjectModelConfiguration { result, func(c *TypeConfiguration) *configurable[string] { return &c.RenameTo }) result.ResourceEmbeddedInParent = makeTypeAccess[string]( result, func(c *TypeConfiguration) *configurable[string] { return &c.ResourceEmbeddedInParent }) + result.StripDocumentation = makeTypeAccess[bool]( + result, func(c *TypeConfiguration) *configurable[bool] { return &c.StripDocumentation }) result.SupportedFrom = makeTypeAccess[string]( result, func(c *TypeConfiguration) *configurable[string] { return &c.SupportedFrom }) result.TypeNameInNextVersion = makeTypeAccess[string]( diff --git a/v2/tools/generator/internal/config/type_configuration.go b/v2/tools/generator/internal/config/type_configuration.go index b62997737f3..c0c8e78117d 100644 --- a/v2/tools/generator/internal/config/type_configuration.go +++ b/v2/tools/generator/internal/config/type_configuration.go @@ -43,6 +43,7 @@ type TypeConfiguration struct { RenameTo configurable[string] // Give this type a different name in the generated code ResourceEmbeddedInParent configurable[string] // String specifying resource name of parent SupportedFrom configurable[string] // Label specifying the first ASO release supporting the resource + StripDocumentation configurable[bool] // Boolean directing the generator to strip documentation on the resource and all referenced objects. Only supported on resources. } const ( @@ -58,6 +59,7 @@ const ( operatorSpecPropertiesTag = "$operatorSpecProperties" // A set of additional properties to inject into the operatorSpec of a resource renameTo = "$renameTo" // String specifying the new name of a type resourceEmbeddedInParentTag = "$resourceEmbeddedInParent" // String specifying resource name of parent + stripDocumentationTag = "$stripDocumentation" // Boolean directing the generator to strip documentation on the resource and all referenced objects. Only supported on resources. supportedFromTag = "$supportedFrom" // Label specifying the first ASO release supporting the resource ) @@ -86,6 +88,7 @@ func NewTypeConfiguration(name string) *TypeConfiguration { OperatorSpecProperties: makeConfigurable[[]OperatorSpecPropertyConfiguration](operatorSpecPropertiesTag, scope), RenameTo: makeConfigurable[string](renameTo, scope), ResourceEmbeddedInParent: makeConfigurable[string](resourceEmbeddedInParentTag, scope), + StripDocumentation: makeConfigurable[bool](stripDocumentationTag, scope), SupportedFrom: makeConfigurable[string](supportedFromTag, scope), } } @@ -277,7 +280,19 @@ func (tc *TypeConfiguration) UnmarshalYAML(value *yaml.Node) error { continue } - // $SupportedFrom + // $stripDocumentation + if strings.EqualFold(lastId, stripDocumentationTag) && c.Kind == yaml.ScalarNode { + var stripDocs bool + err := c.Decode(&stripDocs) + if err != nil { + return errors.Wrapf(err, "decoding %s", stripDocumentationTag) + } + + tc.StripDocumentation.Set(stripDocs) + continue + } + + // $supportedFrom if strings.EqualFold(lastId, supportedFromTag) && c.Kind == yaml.ScalarNode { tc.SupportedFrom.Set(c.Value) continue